uniform-ui 2.3.4 → 2.4.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4ab4a5b8a88a633bba55ad05e1b3562d461804eba19102908d714a11ebcf6fb1
4
- data.tar.gz: 43c4254fbda2fd42726e97948110c13c12f0ff4a22ab0ac8dcd3a30e3bf2ee78
3
+ metadata.gz: 9566ad08a43ed0204e254e42b65c8a76a4dd1058236afce3a93b1f884eacde6a
4
+ data.tar.gz: 0257d025d1e28a83a3bacbabde35026f1157673b0dc68d4c9da4cbfba81a6791
5
5
  SHA512:
6
- metadata.gz: adf61b597ef08a5256527f87d6fbf276436b19f3f56729b740710cdbe40ca1709a3dd6b04bfbfccb4275206f6dabfa733f7658c8be6d6f608255eb38fd2f6df6
7
- data.tar.gz: af125dc3b04a13f7cac1cedf6f3ba9388d6dceaeb9b9cb79c88d1a0e6eb7f6cfe568494bc36ec1b668b40aae6db2c678e606752abbd2b3b9d7fdb1b15af1ac56
6
+ metadata.gz: 361a95d852b66e3cf378b5273f9a077a3277de187027b9d36f11148f0b3d1e58b45e5058054819c4d036385352ba73b7165768a0a6cfb26ba3cf320da7d74523
7
+ data.tar.gz: 073ffe49aa8b44bb2fa6eba2605b7bc0ba2673239098cab22db37e1d9827a72003170577a344a0f3ba03863c2fee74274bb87b6ad5549b7838221107402fef21
@@ -1 +1 @@
1
- !function(){"use strict";function t(t,e){return t(e={exports:{}},e.exports),e.exports}var y=t(function(t){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)}),v=t(function(t){var e=t.exports={version:"2.5.7"};"number"==typeof __e&&(__e=e)}),m=(v.version,function(i,o,t){if(function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!")}(i),void 0===o)return i;switch(t){case 1:return function(t){return i.call(o,t)};case 2:return function(t,e){return i.call(o,t,e)};case 3:return function(t,e,n){return i.call(o,t,e,n)}}return function(){return i.apply(o,arguments)}}),c=function(t){return"object"==typeof t?null!==t:"function"==typeof t},r=function(t){if(!c(t))throw TypeError(t+" is not an object!");return t},a=function(t){try{return!!t()}catch(t){return!0}},i=!a(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),e=y.document,n=c(e)&&c(e.createElement),o=function(t){return n?e.createElement(t):{}},s=!i&&!a(function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}),l=function(t,e){if(!c(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!c(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!c(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!c(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")},u=Object.defineProperty,h={f:i?Object.defineProperty:function(t,e,n){if(r(t),e=l(e,!0),r(n),s)try{return u(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},x=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},S=i?function(t,e,n){return h.f(t,e,x(1,n))}:function(t,e,n){return t[e]=n,t},f={}.hasOwnProperty,g=function(t,e){return f.call(t,e)},b="prototype",w=function(t,e,n){var i,o,s,r=t&w.F,l=t&w.G,c=t&w.S,a=t&w.P,u=t&w.B,h=t&w.W,f=l?v:v[e]||(v[e]={}),p=f[b],d=l?y:c?y[e]:(y[e]||{})[b];for(i in l&&(n=e),n)(o=!r&&d&&void 0!==d[i])&&g(f,i)||(s=o?d[i]:n[i],f[i]=l&&"function"!=typeof d[i]?n[i]:u&&o?m(s,y):h&&d[i]==s?function(i){var t=function(t,e,n){if(this instanceof i){switch(arguments.length){case 0:return new i;case 1:return new i(t);case 2:return new i(t,e)}return new i(t,e,n)}return i.apply(this,arguments)};return t[b]=i[b],t}(s):a&&"function"==typeof s?m(Function.call,s):s,a&&((f.virtual||(f.virtual={}))[i]=s,t&w.R&&p&&!p[i]&&S(p,i,s)))};w.F=1,w.G=2,w.S=4,w.P=8,w.B=16,w.W=32,w.U=64,w.R=128;var p,_=w,d={}.toString,k=function(t){return d.call(t).slice(8,-1)},O=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==k(t)?t.split(""):Object(t)},T=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},E=function(t){return O(T(t))},P=Math.ceil,j=Math.floor,C=function(t){return isNaN(t=+t)?0:(0o;)g(i,n=e[o++])&&(~R(s,n)||s.push(n));return s},B="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),G=Object.keys||function(t){return D(t,B)},Y={f:Object.getOwnPropertySymbols},V={f:{}.propertyIsEnumerable},K=function(t){return Object(T(t))},J=Object.assign,U=!J||a(function(){var t={},e={},n=Symbol(),i="abcdefghijklmnopqrst";return t[n]=7,i.split("").forEach(function(t){e[t]=t}),7!=J({},t)[n]||Object.keys(J({},e)).join("")!=i})?function(t,e){for(var n=K(t),i=arguments.length,o=1,s=Y.f,r=V.f;o>>0||(lt.test(n)?16:10))}:st;_(_.G+_.F*(parseInt!=ct),{parseInt:ct});var at=v.parseInt,ut=Array.isArray||function(t){return"Array"==k(t)};_(_.S,"Array",{isArray:ut});var ht=v.Array.isArray;var ft=function(t){if(ht(t))return t},pt=function(t,e){return{value:e,done:!!t}},dt={},yt=S,vt=i?Object.defineProperties:function(t,e){r(t);for(var n,i=G(e),o=i.length,s=0;sdocument.F=Object<\/script>"),t.close(),xt=t.F;n--;)delete xt[kt][B[n]];return xt()},St=Object.create||function(t,e){var n;return null!==t?(wt[kt]=r(t),n=new wt,wt[kt]=null,n[bt]=t):n=xt(),void 0===e?n:vt(n,e)},_t=t(function(t){var e=A("wks"),n=y.Symbol,i="function"==typeof n;(t.exports=function(t){return e[t]||(e[t]=i&&n[t]||(i?n:I)("Symbol."+t))}).store=e}),Ot=h.f,Tt=_t("toStringTag"),Et=function(t,e,n){t&&!g(t=n?t:t.prototype,Tt)&&Ot(t,Tt,{configurable:!0,value:e})},Pt={};S(Pt,_t("iterator"),function(){return this});var jt=q("IE_PROTO"),Ct=Object.prototype,Lt=Object.getPrototypeOf||function(t){return t=K(t),g(t,jt)?t[jt]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?Ct:null},zt=_t("iterator"),Mt=!([].keys&&"next"in[].keys()),At="values",Nt=function(){return this},Ht=function(t,e,n,i,o,s,r){var l,c,a;c=e,a=i,(l=n).prototype=St(Pt,{next:x(1,a)}),Et(l,c+" Iterator");var u,h,f,p=function(t){if(!Mt&&t in m)return m[t];switch(t){case"keys":case At:return function(){return new n(this,t)}}return function(){return new n(this,t)}},d=e+" Iterator",y=o==At,v=!1,m=t.prototype,g=m[zt]||m["@@iterator"]||o&&m[o],b=g||p(o),w=o?y?p("entries"):b:void 0,k="Array"==e&&m.entries||g;if(k&&(f=Lt(k.call(new t)))!==Object.prototype&&f.next&&Et(f,d,!0),y&&g&&g.name!==At&&(v=!0,b=function(){return g.call(this)}),r&&(Mt||v||!m[zt])&&S(m,zt,b),dt[e]=b,dt[d]=Nt,o)if(u={values:y?b:p(At),keys:s?b:p("keys"),entries:w},r)for(h in u)h in m||yt(m,h,u[h]);else _(_.P+_.F*(Mt||v),e,u);return u};Ht(Array,"Array",function(t,e){this._t=E(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,pt(1)):pt(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values");dt.Arguments=dt.Array;for(var It=_t("toStringTag"),Ft="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),qt=0;qt=e.length?{value:void 0,done:!0}:(t=Bt(e,n),this._i+=t.length,{value:t,done:!1})});var Gt=_t("toStringTag"),Yt="Arguments"==k(function(){return arguments}()),Vt=_t("iterator"),Kt=v.getIteratorMethod=function(t){if(null!=t)return t[Vt]||t["@@iterator"]||dt[(e=t,void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(t,e){try{return t[e]}catch(t){}}(n=Object(e),Gt))?i:Yt?k(n):"Object"==(o=k(n))&&"function"==typeof n.callee?"Arguments":o)];var e,n,i,o},Jt=v.getIterator=function(t){var e=Kt(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return r(e.call(t))};var Ut=function(t,e){var n=[],i=!0,o=!1,s=void 0;try{for(var r,l=Jt(t);!(i=(r=l.next()).done)&&(n.push(r.value),!e||n.length!==e);i=!0);}catch(t){o=!0,s=t}finally{try{i||null==l.return||l.return()}finally{if(o)throw s}}return n};var Xt=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")};var Qt=function(t,e){return ft(t)||Ut(t,e)||Xt()},Zt=function(t,e){var n=(v.Object||{})[t]||Object[t],i={};i[t]=e(n),_(_.S+_.F*a(function(){n(1)}),"Object",i)};Zt("keys",function(){return function(t){return G(K(t))}});var te=v.Object.keys;var ee=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};_(_.S+_.F*!i,"Object",{defineProperty:h.f});var ne=v.Object,ie=function(t,e,n){return ne.defineProperty(t,e,n)};function oe(t,e){for(var n=0;nr;)s.call(t,i=o[r++])&&e.push(i);return e}(e=E(e)),o=0,s=i.length;oo;)g(Le,e=n[o++])||e==Ee||e==be||i.push(e);return i},Ge=function(t){for(var e,n=t===Me,i=xe(n?ze:E(t)),o=[],s=0;i.length>s;)!g(Le,e=i[s++])||n&&!g(Me,e)||o.push(Le[e]);return o};Ae||(yt((Se=function(){if(this instanceof Se)throw TypeError("Symbol is not a constructor!");var e=I(0Ve;)_t(Ye[Ve++]);for(var Ke=G(_t.store),Je=0;Ke.length>Je;)ue(Ke[Je++]);_(_.S+_.F*!Ae,"Symbol",{for:function(t){return g(Ce,t+="")?Ce[t]:Ce[t]=Se(t)},keyFor:function(t){if(!qe(t))throw TypeError(t+" is not a symbol!");for(var e in Ce)if(Ce[e]===t)return e},useSetter:function(){He=!0},useSimple:function(){He=!1}}),_(_.S+_.F*!Ae,"Object",{create:function(t,e){return void 0===e?St(t):$e(St(t),e)},defineProperty:Re,defineProperties:$e,getOwnPropertyDescriptor:De,getOwnPropertyNames:Be,getOwnPropertySymbols:Ge}),_e&&_(_.S+_.F*(!Ae||a(function(){var t=Se();return"[null]"!=Oe([t])||"{}"!=Oe({a:t})||"{}"!=Oe(Object(t))})),"JSON",{stringify:function(t){for(var e,n,i=[t],o=1;arguments.length>o;)i.push(arguments[o++]);if(n=e=i[1],(c(e)||void 0!==t)&&!qe(t))return ut(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!qe(e))return e}),i[1]=e,Oe.apply(_e,i)}}),Se[Te][Pe]||S(Se[Te],Pe,Se[Te].valueOf),Et(Se,"Symbol"),Et(Math,"Math",!0),Et(y.JSON,"JSON",!0),ue("asyncIterator"),ue("observable");var Ue=v.Symbol,Xe=t(function(e){function n(t){return(n="function"==typeof Ue&&"symbol"==typeof le?function(t){return typeof t}:function(t){return t&&"function"==typeof Ue&&t.constructor===Ue&&t!==Ue.prototype?"symbol":typeof t})(t)}function i(t){return"function"==typeof Ue&&"symbol"===n(le)?e.exports=i=function(t){return n(t)}:e.exports=i=function(t){return t&&"function"==typeof Ue&&t.constructor===Ue&&t!==Ue.prototype?"symbol":n(t)},i(t)}e.exports=i});var Qe=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t};var Ze=function(t,e){return!e||"object"!==Xe(e)&&"function"!=typeof e?Qe(t):e};Zt("getPrototypeOf",function(){return function(t){return Lt(K(t))}});var tn=v.Object.getPrototypeOf,en=function(t,e){if(r(t),!c(e)&&null!==e)throw TypeError(e+": can't set as prototype!")},nn={set:Object.setPrototypeOf||("__proto__"in{}?function(t,n,i){try{(i=m(Function.call,ge.f(Object.prototype,"__proto__").set,2))(t,[]),n=!(t instanceof Array)}catch(t){n=!0}return function(t,e){return en(t,e),n?t.__proto__=e:i(t,e),t}}({},!1):void 0),check:en};_(_.S,"Object",{setPrototypeOf:nn.set});var on=v.Object.setPrototypeOf,sn=t(function(e){function n(t){return e.exports=n=on?tn:function(t){return t.__proto__||tn(t)},n(t)}e.exports=n});_(_.S,"Object",{create:St});var rn=v.Object,ln=function(t,e){return rn.create(t,e)},cn=t(function(n){function i(t,e){return n.exports=i=on||function(t,e){return t.__proto__=e,t},i(t,e)}n.exports=i});var an=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=ln(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&cn(t,e)};function un(t,e){return t.classList?t.classList.contains(e):new RegExp("(^| )"+e+"( |$)","gi").test(t.className)}function hn(e,t){e.classList?yn(t.split(" "),function(t){e.classList.add(t)}):e.className+=" "+t}function fn(t,n){var e=function(e){e.classList?n.split(" ").forEach(function(t){return e.classList.remove(t)}):e.className=e.className.replace(new RegExp("(^|\\b)"+n.split(" ").join("|")+"(\\b|$)","gi")," ")};NodeList.prototype.isPrototypeOf(t)?yn(t,e):e(t)}function pn(t,e,n){if(t.classList)t.classList.toggle(e,n);else{var i=t.className.split(" "),o=i.indexOf(e);!1===n||!0!==n&&0<=o?i.splice(o,1):i.push(e),t.className=i.join(" ")}}function dn(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!1),t.dispatchEvent(n)}function yn(t,e){for(var n=0;nMath.max(document.body.offsetHeight,window.innerHeight)&&(t[1]="top",e=!0),wn(this.dropdown).top<0&&(t[1]="bottom",e=!0),wn(this.dropdown).left<0&&(t[0]="right",e=!0),wn(this.dropdown).left+xn(this.dropdown)>document.body.offsetWidth&&(t[0]="left",e=!0),e&&this.setPosition(t.join(" "))}},{key:"setPosition",value:function(t){var e=(t=t||this.options.align).split(" "),n=Qt(e,2),i=n[0],o=n[1];i=i||"bottom",o=o||"bottom";var s=wn(this.el),r=this.options.container;"static"==getComputedStyle(r).position&&(r=r.offsetParent),r||(r=document.body);var l=wn(r);s={top:s.top-l.top,left:s.left-l.left};var c={};"left"==i?c.right=xn(r)-s.left:"center"==i?c.left=s.left+xn(this.el)/2-xn(this.dropdown)/2:"right"==i?c.left=s.left+xn(this.el):i.includes("%")?c.left=s.left+xn(this.el)*at(i)/100:i.includes("px")&&(c.left=s.left+xn(this.el)+at(i)),"top"==o?c.top=s.top-kn(this.dropdown):"center"==o?c.top=s.top+kn(this.el)/2-kn(this.dropdown)/2:"bottom"==o?c.top=s.top+kn(this.el):o.includes("%")?c.top=s.top+kn(this.el)*at(o)/100:o.includes("px")&&(c.top=s.top+kn(this.el)+at(o)),this.options.offset.left&&(c.left+=at(this.options.offset.left)),this.options.offset.top&&(c.top+=at(this.options.offset.top)),this.options.offset.left&&(c.right-=at(this.options.offset.left)),this.dropdown.style.left="auto",this.dropdown.style.right="auto",fn(this.dropdown,"popover-left popover-right popover-center popover-top popover-bottom"),hn(this.dropdown,"popover-"+o),hn(this.dropdown,"popover-"+i),te(c).forEach(function(t){this.dropdown.style[t]=c[t]+"px"},this)}},{key:"remove",value:function(){Sn.prototype.remove.apply(this,arguments),this.dropdown.parentNode&&this.dropdown.parentNode.removeChild(this.dropdown),delete this.dropdown}},{key:"toggle",value:function(t){un(this.el,"active")&&"click"==t.type?this.hide():this.show()}},{key:"show",value:function(t){t||(t={}),this.options.hide_sm&&window.innerWidth<720||(this.dropdown||this.render(),this.dropdown.style.display="block",hn(this.el,"active"),this.resize(),this.overlay=document.createElement("div"),hn(this.overlay,"uniformOverlay"),document.body.appendChild(this.overlay),window.innerWidth<720&&(this.lastScrollPosition=window.scrollY,hn(document.body,"uniformModal-hideBody")),this.listenTo(this.overlay,"click",this.hide),t.silent||this.trigger("shown"))}},{key:"hide",value:function(t){t||(t={}),this.dropdown&&un(this.el,"active")&&(this.dropdown.style.display="none",fn(this.el,"active"),this.overlay&&this.overlay.parentNode&&this.overlay.parentNode.removeChild(this.overlay),window.innerWidth<720&&(fn(document.body,"uniformModal-hideBody"),window.scrollTo(0,this.lastScrollPosition)),t.silent||this.trigger("hidden"))}},{key:"outsideClick",value:function(t){this.dropdown&&null!==this.dropdown.offsetParent&&t.target!==this.el&&t.target!==this.overlay&&(this.el.contains(t.target)||this.dropdown.contains(t.target)||this.hide())}},{key:"keyup",value:function(t){27==t.which&&this.hide()}}]),e}(),Sn,"Dropdown"),On=function(t,e,n){if(n&&Object.defineProperty(t,"name",{value:n,configurable:!0}),"extended"in e){if("function"!=typeof e.extended)throw new TypeError("Attempted to call extended, but it was not a function");var i=e.extended(t);void 0!==i&&(n&&"function"==typeof i&&i.name!==n&&Object.defineProperty(i,"name",{value:n,configurable:!0}),t=i)}return t}(function(t){function e(){return ee(this,e),Ze(this,sn(e).apply(this,arguments))}return an(e,Sn),se(e,[{key:"initialize",value:function(t){this.listenTo(this.el,"change",this.change)}},{key:"render",value:function(){var t=un(this.el,"uniformRadio")?"uniformRadio":"uniformCheckbox";return this.checkbox=document.createElement("div"),hn(this.checkbox,"".concat(t,"-indicator")),this.el.className&&""!=this.el.className.replace(t,"")&&hn(this.checkbox,this.el.className.replace(t,"")),pn(this.checkbox,"checked",this.el.checked),this.el.parentNode.insertBefore(this.checkbox,this.el.nextSibling),this.listenTo(this.checkbox,"click",this.click),this}},{key:"click",value:function(t){this.el.disabled||(this.el.checked=!this.el.checked,dn(this.el,"change"),t.preventDefault())}},{key:"change",value:function(){pn(this.checkbox,"checked",this.el.checked)}}]),e}(),Sn,"Checkbox"),Tn=function(t,e,n){if(n&&Object.defineProperty(t,"name",{value:n,configurable:!0}),"extended"in e){if("function"!=typeof e.extended)throw new TypeError("Attempted to call extended, but it was not a function");var i=e.extended(t);void 0!==i&&(n&&"function"==typeof i&&i.name!==n&&Object.defineProperty(i,"name",{value:n,configurable:!0}),t=i)}return t}(function(t){function e(){return ee(this,e),Ze(this,sn(e).apply(this,arguments))}return an(e,Sn),se(e,[{key:"initialize",value:function(t){this.options={},this.options.klass=t.klass||!1,this.content=t.content,hn(this.el,"uniformModal"),this.listenTo(document,"keyup",this.keyup),this.listenTo(this.el,"click",this.checkCloseButton)}},{key:"keyup",value:function(t){27==t.which&&this.close()}},{key:"render",value:function(){var t="function"==typeof this.content?this.content():this.content;this.highest_z_index=0,this.overlay=document.createElement("div"),hn(this.overlay,"uniformModal-overlay"),this.blur=document.createElement("div"),hn(this.blur,"uniformModal-blur"),this.original_scroll=window.scrollY,this.blur.style.top=0-this.original_scroll+"px",0').concat(Pn,"")),this.container.appendChild(this.edit_button),this.el.name&&hn(this.container,this.el.name.toLowerCase().replace(/[^a-z0-9\-_]+/g,"-")),this.el.style.display="none",this.el.insertAdjacentElement("beforebegin",this.container),this.updateSelect(),this.resize(),this.listenTo(this.edit_button,"click",this.showOptions),this.listenTo(this.edit_button,"click",".uniformSelect-remove",this.removeSelection)}},{key:"resize",value:function(){for(var t=[],e=this.edit_button.children.length,n=0;n"),this.options.label&&this.select_options.append('
'.concat(this.options.label,"
")),this.el.name&&hn(this.select_options,this.el.name.toLowerCase().replace(/[^a-z0-9\-_]+/g,"-")),this.select_options.style.fontSize=vn(this.el,"font-size"),this.select_options.style.display="none",this.options.container.appendChild(this.select_options),yn(this.el.querySelectorAll("option"),function(t,e){var n=gn("");this.listenTo(e,"click",function(t){dn(this.el,"show_all"),this.options.showAll&&this.options.showAll(this.select_options),t.preventDefault(),t.stopPropagation()}),t.appendChild(e)}if(this.el.multiple){var n=gn("");this.listenTo(n,"click",this.hideOptions),t.appendChild(n)}""!==t.innerHTML&&this.select_options.appendChild(t),dn(this.el,"rendered")}},{key:"hideOptions",value:function(){void 0!==this.select_options&&(this.showing=!1,this.select_options.style.display="none",fn(this.select_options,"fixed"),fn(this.edit_button,"active"),fn(document.body,"uniformModal-hideBody"),this.lastScrollPosition&&window.innerWidth<720&&window.scrollTo(0,this.lastScrollPosition),dn(this.el,"hidden:options"))}},{key:"showOptions",value:function(){if(this.showing)return this.hideOptions(),!1;this.showing=!0,this.select_options||this.renderOptions(),this.resize(),this.select_options.style.display="block",hn(this.edit_button,"active"),this.lastScrollPosition=window.scrollY,this.updatePosition(),hn(document.body,"uniformModal-hideBody"),this.options.container==document.body&&fn(document.body,"uniformModal-hideBody")}},{key:"selectOption",value:function(t){this.el.multiple||(yn(bn(this.el.querySelectorAll("option"),function(t){return t.selected}),function(t){t.selected=!1}),yn(this.select_options.querySelectorAll(".uniformSelect-option.active .uniformSelect-option-icon"),mn),fn(this.select_options.querySelectorAll(".uniformSelect-option.active"),"active")),pn(t.currentTarget,"active"),t.currentTarget.option.selected=un(t.currentTarget,"active"),this.updateOptions(),dn(this.el,"change")}},{key:"updateSelect",value:function(){this.el.multiple||this.hideOptions();var t=function(t,e){for(var n=[],i=0;i'.concat(t.textContent,'
'):t.textContent}.bind(this)).join(" ");""==t&&(t=" "),this.edit_button.querySelector(".text-js").innerHTML=t}},{key:"updateOptions",value:function(){yn(this.select_options.querySelectorAll("button"),function(t){t.option&&(pn(t,"active",t.option.selected),un(t,"active")?t.append(this.activeIcon.cloneNode(!0)):yn(t.querySelectorAll(".uniformSelect-option-icon"),mn))}.bind(this))}},{key:"updatePosition",value:function(){if(this.select_options){var t=bn(function(t){var e=[];for(t=t.parentElement;t;)e.push(t),t=t.parentElement;return e}(this.container),function(t){return"fixed"==vn(t,"position")});un(this.select_options,"fixed")?0==t.length&&(this.select_options.style.position="absolute",this.select_options.style.top=wn(this.container).top+this.container.offsetHeight+"px",fn(this.select_options,"fixed")):0e.bottom){var n=e.bottom-t.bottom;null!=this.el.style.top&&(this.el.style.top=at(this.el.style.top)-n+"px"),null!=this.el.style.bottom&&(this.el.style.bottom=at(this.el.style.bottom)+n+"px")}if(t.tope.right){var s=e.right-t.right;null!=this.el.style.left&&(this.el.style.left=at(this.el.style.left)+s+"px"),null!=this.el.style.right&&(this.el.style.right=at(this.el.style.right)-s+"px")}}},{key:"setPosition",value:function(t){var e=(t=t||this.options.align).split(" "),n=Qt(e,2),i=n[0],o=n[1];i=i||"bottom";var s=wn(this.options.anchor),r=this.options.container;"static"==getComputedStyle(r).position&&(r=r.offsetParent),r||(r=document.body);var l=wn(r);s={top:s.top-l.top,left:s.left-l.left};var c={};if("left"==i?c.right=xn(r)-s.left:"center"==i?c.left=s.left+xn(this.options.anchor)/2-xn(this.el)/2:"right"==i?c.left=s.left+xn(this.options.anchor):i.includes("px")&&(c.left=s.left+xn(this.options.anchor)+at(i)),"top"==o){var a=kn(r);r==document.body&&"static"==getComputedStyle(r).position?a=window.innerHeight:r==document.body&&(a=Math.max(a,document.body.clientHeight)),c.bottom=a-s.top}else"center"==o?(c.top=s.top+kn(this.options.anchor)/2,c.transform="translateY(-50%)"):"bottom"==o?c.top=s.top+kn(this.options.anchor):o.includes("px")&&(c.top=s.top+kn(this.options.anchor)+at(o));this.options.offset.left&&(c.left+=at(this.options.offset.left)),this.options.offset.left&&(c.right-=at(this.options.offset.left)),this.options.offset.top&&(c.top+=at(this.options.offset.top)),this.options.offset.top&&(c.bottom-=at(this.options.offset.top)),this.el.style.left=null,this.el.style.right=null,this.el.style.top=null,this.el.style.bottom=null,this.el.style.transform=null,fn(this.el,"popover-left popover-right popover-center popover-top popover-bottom"),hn(this.el,"popover-"+o),hn(this.el,"popover-"+i),te(c).forEach(function(t){this.el.style[t]=c[t]+("transform"!=t?"px":"")},this)}},{key:"checkFocus",value:function(t){t.defaultPrevented||this.showing&&t.target!==this.el&&t.target!=this.options.anchor&&(this.el.contains(t.target)||this.options.anchor.contains(t.target)||this.hide())}},{key:"checkEscape",value:function(t){27==t.which&&this.hide()}},{key:"isHidden",value:function(){return!this.showing}},{key:"hide",value:function(t){t=t||{},this.showing&&(this.el.style.display="none",!(this.showing=!1)!==t.silent&&this.trigger("hidden"))}},{key:"show",value:function(){this.showing||(this.el.style.display="block",this.showing=!0,this.trigger("shown"))}},{key:"toggle",value:function(t){(t=t||this.showing)?this.hide():this.show()}}]),e}(),Sn,"Popover"),Mn=function(t,e,n){if(n&&Object.defineProperty(t,"name",{value:n,configurable:!0}),"extended"in e){if("function"!=typeof e.extended)throw new TypeError("Attempted to call extended, but it was not a function");var i=e.extended(t);void 0!==i&&(n&&"function"==typeof i&&i.name!==n&&Object.defineProperty(i,"name",{value:n,configurable:!0}),t=i)}return t}(function(t){function e(){return ee(this,e),Ze(this,sn(e).apply(this,arguments))}return an(e,Sn),se(e,[{key:"initialize",value:function(t){t=t||{},this.options={align:"top",container:!1},X(this.options,this.pick(t,te(this.options))),this.enabled=!0,this.message=t.message,(t.el.tooltip=this).listenTo(this.el,"mouseenter",this.show),this.listenTo(this.el,"mouseleave",this.hide)}},{key:"render",value:function(){return this}},{key:"show",value:function(){this.enabled&&(clearTimeout(this.hide_timeout),this.popup?this.popup.show():this.popup=new zn({content:"
\n
\n ".concat(this.message,"\n
"),anchor:this.el,align:"top"==this.options.align?"center top":"center 100%",offset:{top:-7},container:this.options.container||document.body}).render())}},{key:"hide",value:function(){var t=this;this.hide_timeout=setTimeout(function(){t.popup.remove(),delete t.popup},300)}},{key:"disable",value:function(){this.enabled=!1}},{key:"enabled",value:function(){this.enabled=!0}}]),e}(),Sn,"Tooltip"),An=Object.freeze({Dropdown:_n,Checkbox:On,Modal:Tn,Select:jn,FloatingLabel:Cn,Resizer:Ln,Tooltip:Mn,Popover:zn});window.Uniform=An,$&&($.fn.uniformDropdown=function(){return this.each(function(){var n=$(this),t={el:this};void 0!==n.data("dropdown-align")&&(t.align=n.data("dropdown-align")),void 0!==n.data("dropdown-trigger")&&(t.trigger=n.data("dropdown-trigger")),void 0!==n.data("dropdown-show_arrow")&&(t.show_arrow=n.data("dropdown-show_arrow")),void 0!==n.data("dropdown-square")&&(t.square=n.data("dropdown-square")),void 0!==n.data("dropdown-hide_sm")&&(t.hide_sm=n.data("dropdown-hide_sm")),void 0!==n.data("dropdown-content")&&(t.content="
".concat(n.data("dropdown-content"),"
")),void 0!==n.data("dropdown-target")&&(t.content=$(n.data("dropdown-target"))[0]);var e=new _n(t);e.on("*",function(t,e){n.trigger("dropdown-"+t,e)}),e.render()})},$.fn.uniformCheckbox=function(){return this.each(function(){$(this);new On({el:this}).render()})},$.fn.uniformRadio=$.fn.uniformCheckbox,$.fn.uniformFloatingLabel=function(){return this.each(function(){new Cn({el:this}).render()})},$.fn.uniformModal=function(){return this.click(function(){var n=$(this),t={klass:n.data("modal-klass"),content:n.data("modal-content")};if(n.data("modal-target")){var e=$(n.data("modal-target")).clone();e.removeClass("hidden"),t.content=e[0]}new Tn(t).render().on("*",function(t,e){n.trigger("modal-"+t,e)})})},$.fn.uniformResizer=function(){return this.each(function(){new Ln({el:this})})},$.fn.uniformSelect=function(){return this.each(function(){var t={el:this};X(t,$(this).data()),new jn(t).render()})},$.fn.uniformTooltip=function(){return this.each(function(){var n=$(this),t=new Mn({message:n.data("tooltip-message"),container:n.data("tooltip-container"),el:this});t.on("*",function(t,e){n.trigger("tooltip-"+t,e)}),t.render()})},$.fn.uniformTristate=function(){return this.each(function(){var i=$(this);function e(t){if(0==t.length)i.addClass("-null"),$(i.find("input")[1]).prop("checked",!0);else{var e=t.index(),n=0==e?"-true":1==e?"-null":"-false";i.removeClass("-true -null -false"),i.addClass(n)}}i.on("change","input",function(t){e($(t.currentTarget))}),e(i.find("input:checked")),i.on("blur","input",function(t){i.removeClass("-focus")}),i.on("focus","input",function(t){i.addClass("-focus")})})})}();
1
+ !function(){"use strict";function t(t,e){return t(e={exports:{}},e.exports),e.exports}var v=t(function(t){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)}),y=t(function(t){var e=t.exports={version:"2.5.7"};"number"==typeof __e&&(__e=e)}),m=(y.version,function(i,o,t){if(function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!")}(i),void 0===o)return i;switch(t){case 1:return function(t){return i.call(o,t)};case 2:return function(t,e){return i.call(o,t,e)};case 3:return function(t,e,n){return i.call(o,t,e,n)}}return function(){return i.apply(o,arguments)}}),u=function(t){return"object"==typeof t?null!==t:"function"==typeof t},s=function(t){if(!u(t))throw TypeError(t+" is not an object!");return t},c=function(t){try{return!!t()}catch(t){return!0}},i=!c(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),e=v.document,n=u(e)&&u(e.createElement),o=function(t){return n?e.createElement(t):{}},r=!i&&!c(function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}),l=function(t,e){if(!u(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!u(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!u(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!u(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")},a=Object.defineProperty,h={f:i?Object.defineProperty:function(t,e,n){if(s(t),e=l(e,!0),s(n),r)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},_=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},x=i?function(t,e,n){return h.f(t,e,_(1,n))}:function(t,e,n){return t[e]=n,t},f={}.hasOwnProperty,b=function(t,e){return f.call(t,e)},g="prototype",w=function(t,e,n){var i,o,r,s=t&w.F,l=t&w.G,u=t&w.S,c=t&w.P,a=t&w.B,h=t&w.W,f=l?y:y[e]||(y[e]={}),p=f[g],d=l?v:u?v[e]:(v[e]||{})[g];for(i in l&&(n=e),n)(o=!s&&d&&void 0!==d[i])&&b(f,i)||(r=o?d[i]:n[i],f[i]=l&&"function"!=typeof d[i]?n[i]:a&&o?m(r,v):h&&d[i]==r?function(i){var t=function(t,e,n){if(this instanceof i){switch(arguments.length){case 0:return new i;case 1:return new i(t);case 2:return new i(t,e)}return new i(t,e,n)}return i.apply(this,arguments)};return t[g]=i[g],t}(r):c&&"function"==typeof r?m(Function.call,r):r,c&&((f.virtual||(f.virtual={}))[i]=r,t&w.R&&p&&!p[i]&&x(p,i,r)))};w.F=1,w.G=2,w.S=4,w.P=8,w.B=16,w.W=32,w.U=64,w.R=128;var p,S=w,d={}.toString,k=function(t){return d.call(t).slice(8,-1)},O=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==k(t)?t.split(""):Object(t)},T=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},j=function(t){return O(T(t))},E=Math.ceil,C=Math.floor,L=function(t){return isNaN(t=+t)?0:(0o;)b(i,n=e[o++])&&(~D(r,n)||r.push(n));return r},G="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),Y=Object.keys||function(t){return B(t,G)},V={f:Object.getOwnPropertySymbols},K={f:{}.propertyIsEnumerable},J=function(t){return Object(T(t))},U=Object.assign,X=!U||c(function(){var t={},e={},n=Symbol(),i="abcdefghijklmnopqrst";return t[n]=7,i.split("").forEach(function(t){e[t]=t}),7!=U({},t)[n]||Object.keys(U({},e)).join("")!=i})?function(t,e){for(var n=J(t),i=arguments.length,o=1,r=V.f,s=K.f;o>>0||(ut.test(n)?16:10))}:st;S(S.G+S.F*(parseInt!=ct),{parseInt:ct});var at=y.parseInt,ht=Array.isArray||function(t){return"Array"==k(t)};S(S.S,"Array",{isArray:ht});var ft=y.Array.isArray;var pt=function(t){if(ft(t))return t},dt=function(t,e){return{value:e,done:!!t}},vt={},yt=x,mt=i?Object.defineProperties:function(t,e){s(t);for(var n,i=Y(e),o=i.length,r=0;rdocument.F=Object<\/script>"),t.close(),xt=t.F;n--;)delete xt[_t][G[n]];return xt()},St=Object.create||function(t,e){var n;return null!==t?(kt[_t]=s(t),n=new kt,kt[_t]=null,n[wt]=t):n=xt(),void 0===e?n:mt(n,e)},Ot=t(function(t){var e=N("wks"),n=v.Symbol,i="function"==typeof n;(t.exports=function(t){return e[t]||(e[t]=i&&n[t]||(i?n:q)("Symbol."+t))}).store=e}),Tt=h.f,jt=Ot("toStringTag"),Et=function(t,e,n){t&&!b(t=n?t:t.prototype,jt)&&Tt(t,jt,{configurable:!0,value:e})},Ct={};x(Ct,Ot("iterator"),function(){return this});var Lt=R("IE_PROTO"),Pt=Object.prototype,zt=Object.getPrototypeOf||function(t){return t=J(t),b(t,Lt)?t[Lt]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?Pt:null},At=Ot("iterator"),Mt=!([].keys&&"next"in[].keys()),Nt="values",It=function(){return this},Ht=function(t,e,n,i,o,r,s){var l,u,c;u=e,c=i,(l=n).prototype=St(Ct,{next:_(1,c)}),Et(l,u+" Iterator");var a,h,f,p=function(t){if(!Mt&&t in m)return m[t];switch(t){case"keys":case Nt:return function(){return new n(this,t)}}return function(){return new n(this,t)}},d=e+" Iterator",v=o==Nt,y=!1,m=t.prototype,b=m[At]||m["@@iterator"]||o&&m[o],g=b||p(o),w=o?v?p("entries"):g:void 0,k="Array"==e&&m.entries||b;if(k&&(f=zt(k.call(new t)))!==Object.prototype&&f.next&&Et(f,d,!0),v&&b&&b.name!==Nt&&(y=!0,g=function(){return b.call(this)}),s&&(Mt||y||!m[At])&&x(m,At,g),vt[e]=g,vt[d]=It,o)if(a={values:v?g:p(Nt),keys:r?g:p("keys"),entries:w},s)for(h in a)h in m||yt(m,h,a[h]);else S(S.P+S.F*(Mt||y),e,a);return a};Ht(Array,"Array",function(t,e){this._t=j(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,dt(1)):dt(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values");vt.Arguments=vt.Array;for(var qt=Ot("toStringTag"),Ft="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),Rt=0;Rt=e.length?{value:void 0,done:!0}:(t=Gt(e,n),this._i+=t.length,{value:t,done:!1})});var Yt=Ot("toStringTag"),Vt="Arguments"==k(function(){return arguments}()),Kt=function(t){var e,n,i;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Yt))?n:Vt?k(e):"Object"==(i=k(e))&&"function"==typeof e.callee?"Arguments":i},Jt=Ot("iterator"),Ut=y.getIteratorMethod=function(t){if(null!=t)return t[Jt]||t["@@iterator"]||vt[Kt(t)]},Xt=y.getIterator=function(t){var e=Ut(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return s(e.call(t))};var Qt=function(t,e){var n=[],i=!0,o=!1,r=void 0;try{for(var s,l=Xt(t);!(i=(s=l.next()).done)&&(n.push(s.value),!e||n.length!==e);i=!0);}catch(t){o=!0,r=t}finally{try{i||null==l.return||l.return()}finally{if(o)throw r}}return n};var Zt=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")};var te=function(t,e){return pt(t)||Qt(t,e)||Zt()},ee=function(t,e){var n=(y.Object||{})[t]||Object[t],i={};i[t]=e(n),S(S.S+S.F*c(function(){n(1)}),"Object",i)};ee("keys",function(){return function(t){return Y(J(t))}});var ne=y.Object.keys;var ie=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};S(S.S+S.F*!i,"Object",{defineProperty:h.f});var oe=y.Object,re=function(t,e,n){return oe.defineProperty(t,e,n)};function se(t,e){for(var n=0;ns;)r.call(t,i=o[s++])&&e.push(i);return e}(e=j(e)),o=0,r=i.length;oo;)b(Ae,e=n[o++])||e==Ce||e==ke||i.push(e);return i},Ve=function(t){for(var e,n=t===Ne,i=Se(n?Me:j(t)),o=[],r=0;i.length>r;)!b(Ae,e=i[r++])||n&&!b(Ne,e)||o.push(Ae[e]);return o};Ie||(yt((Oe=function(){if(this instanceof Oe)throw TypeError("Symbol is not a constructor!");var e=q(0Je;)Ot(Ke[Je++]);for(var Ue=Y(Ot.store),Xe=0;Ue.length>Xe;)fe(Ue[Xe++]);S(S.S+S.F*!Ie,"Symbol",{for:function(t){return b(ze,t+="")?ze[t]:ze[t]=Oe(t)},keyFor:function(t){if(!$e(t))throw TypeError(t+" is not a symbol!");for(var e in ze)if(ze[e]===t)return e},useSetter:function(){qe=!0},useSimple:function(){qe=!1}}),S(S.S+S.F*!Ie,"Object",{create:function(t,e){return void 0===e?St(t):We(St(t),e)},defineProperty:De,defineProperties:We,getOwnPropertyDescriptor:Ge,getOwnPropertyNames:Ye,getOwnPropertySymbols:Ve}),Te&&S(S.S+S.F*(!Ie||c(function(){var t=Oe();return"[null]"!=je([t])||"{}"!=je({a:t})||"{}"!=je(Object(t))})),"JSON",{stringify:function(t){for(var e,n,i=[t],o=1;arguments.length>o;)i.push(arguments[o++]);if(n=e=i[1],(u(e)||void 0!==t)&&!$e(t))return ht(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!$e(e))return e}),i[1]=e,je.apply(Te,i)}}),Oe[Ee][Le]||x(Oe[Ee],Le,Oe[Ee].valueOf),Et(Oe,"Symbol"),Et(Math,"Math",!0),Et(v.JSON,"JSON",!0),fe("asyncIterator"),fe("observable");var Qe=y.Symbol,Ze=t(function(e){function n(t){return(n="function"==typeof Qe&&"symbol"==typeof ce?function(t){return typeof t}:function(t){return t&&"function"==typeof Qe&&t.constructor===Qe&&t!==Qe.prototype?"symbol":typeof t})(t)}function i(t){return"function"==typeof Qe&&"symbol"===n(ce)?e.exports=i=function(t){return n(t)}:e.exports=i=function(t){return t&&"function"==typeof Qe&&t.constructor===Qe&&t!==Qe.prototype?"symbol":n(t)},i(t)}e.exports=i});var tn=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t};var en=function(t,e){return!e||"object"!==Ze(e)&&"function"!=typeof e?tn(t):e};ee("getPrototypeOf",function(){return function(t){return zt(J(t))}});var nn=y.Object.getPrototypeOf,on=function(t,e){if(s(t),!u(e)&&null!==e)throw TypeError(e+": can't set as prototype!")},rn={set:Object.setPrototypeOf||("__proto__"in{}?function(t,n,i){try{(i=m(Function.call,we.f(Object.prototype,"__proto__").set,2))(t,[]),n=!(t instanceof Array)}catch(t){n=!0}return function(t,e){return on(t,e),n?t.__proto__=e:i(t,e),t}}({},!1):void 0),check:on};S(S.S,"Object",{setPrototypeOf:rn.set});var sn=y.Object.setPrototypeOf,ln=t(function(e){function n(t){return e.exports=n=sn?nn:function(t){return t.__proto__||nn(t)},n(t)}e.exports=n});S(S.S,"Object",{create:St});var un=y.Object,cn=function(t,e){return un.create(t,e)},an=t(function(n){function i(t,e){return n.exports=i=sn||function(t,e){return t.__proto__=e,t},i(t,e)}n.exports=i});var hn=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=cn(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&an(t,e)};function fn(t,e){return t.classList?t.classList.contains(e):new RegExp("(^| )"+e+"( |$)","gi").test(t.className)}function pn(e,t){e.classList?mn(t.split(" "),function(t){e.classList.add(t)}):e.className+=" "+t}function dn(t,n){var e=function(e){e.classList?n.split(" ").forEach(function(t){return e.classList.remove(t)}):e.className=e.className.replace(new RegExp("(^|\\b)"+n.split(" ").join("|")+"(\\b|$)","gi")," ")};NodeList.prototype.isPrototypeOf(t)?mn(t,e):e(t)}function vn(t,e,n){if(t.classList)t.classList.toggle(e,n);else{var i=t.className.split(" "),o=i.indexOf(e);!1===n||!0!==n&&0<=o?i.splice(o,1):i.push(e),t.className=i.join(" ")}}function yn(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!1),t.dispatchEvent(n)}function mn(t,e){for(var n=0;nMath.max(document.body.offsetHeight,window.innerHeight)&&(t[1]="top",e=!0),_n(this.dropdown).top<0&&(t[1]="bottom",e=!0),_n(this.dropdown).left<0&&(t[0]="right",e=!0),_n(this.dropdown).left+Sn(this.dropdown)>document.body.offsetWidth&&(t[0]="left",e=!0),e&&this.setPosition(t.join(" "))}},{key:"setPosition",value:function(t){var e=(t=t||this.options.align).split(" "),n=te(e,2),i=n[0],o=n[1];i=i||"bottom",o=o||"bottom";var r=_n(this.el),s=this.options.container;"static"==getComputedStyle(s).position&&(s=s.offsetParent),s||(s=document.body);var l=_n(s);r={top:r.top-l.top,left:r.left-l.left};var u={};"left"==i?u.right=Sn(s)-r.left:"center"==i?u.left=r.left+Sn(this.el)/2-Sn(this.dropdown)/2:"right"==i?u.left=r.left+Sn(this.el):i.includes("%")?u.left=r.left+Sn(this.el)*at(i)/100:i.includes("px")&&(u.left=r.left+Sn(this.el)+at(i)),"top"==o?u.top=r.top-xn(this.dropdown):"center"==o?u.top=r.top+xn(this.el)/2-xn(this.dropdown)/2:"bottom"==o?u.top=r.top+xn(this.el):o.includes("%")?u.top=r.top+xn(this.el)*at(o)/100:o.includes("px")&&(u.top=r.top+xn(this.el)+at(o)),this.options.offset.left&&(u.left+=at(this.options.offset.left)),this.options.offset.top&&(u.top+=at(this.options.offset.top)),this.options.offset.left&&(u.right-=at(this.options.offset.left)),this.dropdown.style.left="auto",this.dropdown.style.right="auto",dn(this.dropdown,"popover-left popover-right popover-center popover-top popover-bottom"),pn(this.dropdown,"popover-"+o),pn(this.dropdown,"popover-"+i),ne(u).forEach(function(t){this.dropdown.style[t]=u[t]+"px"},this)}},{key:"remove",value:function(){On.prototype.remove.apply(this,arguments),this.dropdown.parentNode&&this.dropdown.parentNode.removeChild(this.dropdown),delete this.dropdown}},{key:"toggle",value:function(t){fn(this.el,"active")&&"click"==t.type?this.hide():this.show()}},{key:"show",value:function(t){t||(t={}),this.options.hide_sm&&window.innerWidth<720||(this.dropdown||this.render(),this.dropdown.style.display="block",pn(this.el,"active"),this.resize(),this.overlay=document.createElement("div"),pn(this.overlay,"uniformOverlay"),document.body.appendChild(this.overlay),window.innerWidth<720&&(this.lastScrollPosition=window.scrollY,pn(document.body,"uniformModal-hideBody")),this.listenTo(this.overlay,"click",this.hide),t.silent||this.trigger("shown"))}},{key:"hide",value:function(t){t||(t={}),this.dropdown&&fn(this.el,"active")&&(this.dropdown.style.display="none",dn(this.el,"active"),this.overlay&&this.overlay.parentNode&&this.overlay.parentNode.removeChild(this.overlay),window.innerWidth<720&&(dn(document.body,"uniformModal-hideBody"),window.scrollTo(0,this.lastScrollPosition)),t.silent||this.trigger("hidden"))}},{key:"outsideClick",value:function(t){this.dropdown&&null!==this.dropdown.offsetParent&&t.target!==this.el&&t.target!==this.overlay&&(this.el.contains(t.target)||this.dropdown.contains(t.target)||this.hide())}},{key:"keyup",value:function(t){27==t.which&&this.hide()}}]),e}(),On,"Dropdown"),jn=function(t,e,n){if(n&&Object.defineProperty(t,"name",{value:n,configurable:!0}),"extended"in e){if("function"!=typeof e.extended)throw new TypeError("Attempted to call extended, but it was not a function");var i=e.extended(t);void 0!==i&&(n&&"function"==typeof i&&i.name!==n&&Object.defineProperty(i,"name",{value:n,configurable:!0}),t=i)}return t}(function(t){function e(){return ie(this,e),en(this,ln(e).apply(this,arguments))}return hn(e,On),le(e,[{key:"initialize",value:function(t){this.listenTo(this.el,"change",this.change)}},{key:"render",value:function(){var t=fn(this.el,"uniformRadio")?"uniformRadio":"uniformCheckbox";return this.checkbox=document.createElement("div"),pn(this.checkbox,"".concat(t,"-indicator")),this.el.className&&""!=this.el.className.replace(t,"")&&pn(this.checkbox,this.el.className.replace(t,"")),vn(this.checkbox,"checked",this.el.checked),this.el.parentNode.insertBefore(this.checkbox,this.el.nextSibling),this.listenTo(this.checkbox,"click",this.click),this}},{key:"click",value:function(t){this.el.disabled||(this.el.checked=!this.el.checked,yn(this.el,"change"),t.preventDefault())}},{key:"change",value:function(){vn(this.checkbox,"checked",this.el.checked)}}]),e}(),On,"Checkbox"),En=function(t,e,n){if(n&&Object.defineProperty(t,"name",{value:n,configurable:!0}),"extended"in e){if("function"!=typeof e.extended)throw new TypeError("Attempted to call extended, but it was not a function");var i=e.extended(t);void 0!==i&&(n&&"function"==typeof i&&i.name!==n&&Object.defineProperty(i,"name",{value:n,configurable:!0}),t=i)}return t}(function(t){function e(){return ie(this,e),en(this,ln(e).apply(this,arguments))}return hn(e,On),le(e,[{key:"initialize",value:function(t){this.options={},this.options.klass=t.klass||!1,this.content=t.content,pn(this.el,"uniformModal"),this.listenTo(document,"keyup",this.keyup),this.listenTo(this.el,"click",this.checkCloseButton)}},{key:"keyup",value:function(t){27==t.which&&this.close()}},{key:"render",value:function(){var t="function"==typeof this.content?this.content():this.content;this.highest_z_index=0,this.overlay=document.createElement("div"),pn(this.overlay,"uniformModal-overlay"),this.blur=document.createElement("div"),pn(this.blur,"uniformModal-blur"),this.original_scroll=window.scrollY,this.blur.style.top=0-this.original_scroll+"px",0Math.max(e.bottom,n.bottom)){var i=this.options.align.split(" "),o=te(i,2),r=o[0];o[1],this.setPosition("".concat(r," top"))}if(t.tope.right){var u=e.right-t.right;null!=this.el.style.left&&(this.el.style.left=at(this.el.style.left)+u+"px"),null!=this.el.style.right&&(this.el.style.right=at(this.el.style.right)-u+"px")}}},{key:"setPosition",value:function(t){var e=(t=t||this.options.align).split(" "),n=te(e,2),i=n[0],o=n[1];i=i||"bottom";var r=_n(this.options.anchor),s=this.options.container;"static"==getComputedStyle(s).position&&(s=s.offsetParent),s||(s=document.body);var l=_n(s);r={top:r.top-l.top,left:r.left-l.left};var u={};if("left"==i?u.right=Sn(s)-r.left:"center"==i?u.left=r.left+Sn(this.options.anchor)/2-Sn(this.el)/2:"right"==i?u.left=r.left+Sn(this.options.anchor):i.includes("px")&&(u.left=r.left+at(i)),"top"==o){var c=xn(s);s==document.body&&"static"==getComputedStyle(s).position?c=window.innerHeight:s==document.body&&(c=Math.max(c,document.body.clientHeight)),u.bottom=c-r.top}else"center"==o?(u.top=r.top+xn(this.options.anchor)/2,u.transform="translateY(-50%)"):"bottom"==o?u.top=r.top+xn(this.options.anchor):o.includes("px")&&(u.top=r.top+at(o));this.options.offset.left&&(u.left+=at(this.options.offset.left)),this.options.offset.left&&(u.right-=at(this.options.offset.left)),this.options.offset.top&&(u.top+=at(this.options.offset.top)),this.options.offset.top&&(u.bottom-=at(this.options.offset.top)),this.el.style.left=null,this.el.style.right=null,this.el.style.top=null,this.el.style.bottom=null,this.el.style.transform=null,dn(this.el,"popover-left popover-right popover-center popover-top popover-bottom"),pn(this.el,"popover-"+o),pn(this.el,"popover-"+i),ne(u).forEach(function(t){this.el.style[t]=u[t]+("transform"!=t?"px":"")},this)}},{key:"checkFocus",value:function(t){t.defaultPrevented||this.showing&&t.target!==this.el&&t.target!=this.options.anchor&&(this.el.contains(t.target)||this.options.anchor.contains(t.target)||this.hide())}},{key:"checkEscape",value:function(t){27==t.which&&this.hide()}},{key:"isHidden",value:function(){return!this.showing}},{key:"hide",value:function(t){t=t||{},this.showing&&(this.el.style.display="none",!(this.showing=!1)!==t.silent&&this.trigger("hidden"))}},{key:"show",value:function(){this.showing||(this.el.style.display="block",this.showing=!0,this.trigger("shown"))}},{key:"toggle",value:function(t){(t=t||this.showing)?this.hide():this.show()}}]),e}(),On,"Popover"),Wn='\n\n\n\n'.trim(),Bn='\n\n\n\n'.trim(),Gn=function(t,e,n){if(n&&Object.defineProperty(t,"name",{value:n,configurable:!0}),"extended"in e){if("function"!=typeof e.extended)throw new TypeError("Attempted to call extended, but it was not a function");var i=e.extended(t);void 0!==i&&(n&&"function"==typeof i&&i.name!==n&&Object.defineProperty(i,"name",{value:n,configurable:!0}),t=i)}return t}(function(t){function e(){return ie(this,e),en(this,ln(e).apply(this,arguments))}return hn(e,On),le(e,[{key:"initialize",value:function(){var t=0\n \n ').concat(Bn,"\n \n ")),this.el.name&&pn(this.edit_button,this.el.name.toLowerCase().replace(/[^a-z0-9\-_]+/g,"-")),this.el.style.display="none",this.el.insertAdjacentElement("beforebegin",this.edit_button),this.options.container||(this.options.container=this.edit_button.parentElement);var t=$n(this.el.querySelectorAll("option")).sort(function(t,e){return t.textContent.length>e.textContent.length}).reverse()[0];this.edit_button.querySelector(".text-js").style.opacity=0,this.edit_button.querySelector(".text-js").innerHTML=t.textContent;var e=this.edit_button.querySelector(".text-js").offsetWidth;return this.edit_button.style.minWidth=e+"px",this.edit_button.querySelector(".text-js").innerHTML="",this.edit_button.querySelector(".text-js").style.opacity=null,this.renderSelected(),this.listenTo(this.edit_button,"click",this.showOptions),this.listenTo(this.edit_button,"click",".uniformSelect-remove",this.removeSelection),this}},{key:"renderOptions",value:function(){this.button_options=wn("
"),this.el.name&&pn(this.button_options,this.el.name.toLowerCase().replace(/[^a-z0-9\-_]+/g,"-")),this.button_options.style.fontSize=bn(this.el,"font-size"),mn(this.el.querySelectorAll("option"),function(t,e){var n=wn("");this.listenTo(e,"click",function(t){yn(this.el,"show_all"),this.options.showAll&&this.options.showAll(this.button_options),t.preventDefault(),t.stopPropagation()}),t.appendChild(e)}if(this.el.multiple){var n=wn("");this.listenTo(n,"click",this.hideOptions),t.appendChild(n)}""!==t.innerHTML&&this.button_options.appendChild(t)}},{key:"renderSelected",value:function(){var t=function(t,e){for(var n=[],i=0;i'.concat(t.textContent,''):t.textContent}.bind(this)).join(" ");this.edit_button.querySelector(".text-js").innerHTML=""==t?" ":t,this.button_options&&mn(this.button_options.querySelectorAll(".uniformSelect-option"),function(t){t.option.selected?(pn(t,"active"),t.append(this.activeIcon.cloneNode(!0))):(dn(t,"active"),mn(t.querySelectorAll(".uniformSelect-option-icon"),gn))}.bind(this))}},{key:"hideOptions",value:function(){this.button_options&&(this.button_options_modal&&this.button_options_modal.close(),this.button_options_popover&&(this.button_options_popover.remove(),delete this.button_options_popover),dn(this.edit_button,"active"))}},{key:"showOptions",value:function(t){var e=this;if(!fn(t.target,"uniformSelect-remove")){if(this.button_options_modal)return this.hideOptions();if(this.button_options_popover)return this.hideOptions();if(this.button_options||this.renderOptions(),pn(this.edit_button,"active"),window.innerWidth<720){var n=wn('
');n.append(this.button_options),this.options.label&&n.append('
'.concat(this.options.label,"
")),this.button_options_modal=new En({content:n,klass:"-reset"}).render(),this.button_options_modal.on("closed",function(){dn(e.edit_button,"active"),delete e.button_options_modal}),this.listenTo(n,"click",function(t){t.target==n&&this.button_options_modal.close()})}else this.button_options.style.minWidth=this.edit_button.offsetWidth+"px",this.button_options_popover=new Dn({offset:{top:1},anchor:this.edit_button,align:"0px bottom",content:this.button_options,container:this.options.container}).render(),this.button_options_popover.on("hidden",function(){dn(e.edit_button,"active"),e.button_options_popover.remove(),delete e.button_options_popover})}}},{key:"selectOption",value:function(t){t.target,this.el.multiple||(mn(this.button_options.querySelectorAll(".uniformSelect-option.active .uniformSelect-option-icon"),gn),dn(this.button_options.querySelectorAll(".uniformSelect-option.active"),"active")),vn(t.target,"active"),t.target.option.selected=fn(t.target,"active"),fn(t.target,"active")?t.target.append(this.activeIcon.cloneNode(!0)):mn(t.target.querySelectorAll(".uniformSelect-option-icon"),gn),this.el.multiple||this.hideOptions(),yn(this.el,"change")}},{key:"removeSelection",value:function(e){e.preventDefault();var t=kn(this.el.querySelectorAll("option"),function(t){return t.innerText.trim()==e.target.parentNode.innerText.trim()})[0];t&&(t.selected=!1,yn(this.el,"change"))}}]),e}(),On,"Select"),Yn=function(t,e,n){if(n&&Object.defineProperty(t,"name",{value:n,configurable:!0}),"extended"in e){if("function"!=typeof e.extended)throw new TypeError("Attempted to call extended, but it was not a function");var i=e.extended(t);void 0!==i&&(n&&"function"==typeof i&&i.name!==n&&Object.defineProperty(i,"name",{value:n,configurable:!0}),t=i)}return t}(function(t){function e(){return ie(this,e),en(this,ln(e).apply(this,arguments))}return hn(e,On),le(e,[{key:"initialize",value:function(){this.label=this.el.querySelector("label"),this.input=this.el.querySelector("#"+this.label.getAttribute("for")),this.startingHeight,this.listenTo(this.input,"focus",this.activate),this.listenTo(this.input,"blur",this.deactivate),this.listenTo(this.input,"revealed",this.render)}},{key:"render",value:function(){if(null!==this.input.offsetParent&&!fn(this.el,"enabled")){var t,e=at(bn(this.input,"paddingBottom"));this.startingHeight=this.input.offsetHeight,pn(this.el,"enabled"),pn(this.el,"inactive"),this.input.style.paddingTop=e+e/2+"px",this.input.style.paddingBottom=e-e/2-2+"px",this.label.style.position="absolute",this.label.style.top=0,this.label.style.left=this.label.offsetLeft,this.label.style.paddingLeft=bn(this.input,"paddingLeft"),this.label.style.height=this.startingHeight,this.label.style.lineHeight=this.startingHeight+"px",t=this.input,document.activeElement===t&&this.activate(),void 0!==this.input.value&&""!=this.input.value&&this.activate()}}},{key:"activate",value:function(t){void 0!==t&&pn(this.el,"active"),fn(this.el,"float")||(pn(this.el,"float"),dn(this.el,"inactive"),this.label.style.lineHeight=this.startingHeight/2+"px")}},{key:"deactivate",value:function(t){void 0!==t&&dn(this.el,"active"),""==this.input.value&&(dn(this.el,"float"),pn(this.el,"inactive"),this.label.style.lineHeight=this.startingHeight+"px")}}]),e}(),On,"FloatingLabel"),Vn=function(t,e,n){if(n&&Object.defineProperty(t,"name",{value:n,configurable:!0}),"extended"in e){if("function"!=typeof e.extended)throw new TypeError("Attempted to call extended, but it was not a function");var i=e.extended(t);void 0!==i&&(n&&"function"==typeof i&&i.name!==n&&Object.defineProperty(i,"name",{value:n,configurable:!0}),t=i)}return t}(function(t){function e(){return ie(this,e),en(this,ln(e).apply(this,arguments))}return hn(e,On),le(e,[{key:"initialize",value:function(){this.listenTo(window,"resize",this.resize),yn(window,"resize")}},{key:"resize",value:function(){var t=this.el.offsetWidth;720\n
\n ".concat(this.message,"\n
"),anchor:this.el,align:"top"==this.options.align?"center top":"center 100%",offset:{top:-7},container:this.options.container||document.body}).render())}},{key:"hide",value:function(){var t=this;this.hide_timeout=setTimeout(function(){t.popup.remove(),delete t.popup},300)}},{key:"disable",value:function(){this.enabled=!1}},{key:"enabled",value:function(){this.enabled=!0}}]),e}(),On,"Tooltip"),Jn=Object.freeze({Dropdown:Tn,Checkbox:jn,Modal:En,Select:Gn,FloatingLabel:Yn,Resizer:Vn,Tooltip:Kn,Popover:Dn});window.Uniform=Jn,$&&($.fn.uniformDropdown=function(){return this.each(function(){var n=$(this),t={el:this};void 0!==n.data("dropdown-align")&&(t.align=n.data("dropdown-align")),void 0!==n.data("dropdown-trigger")&&(t.trigger=n.data("dropdown-trigger")),void 0!==n.data("dropdown-show_arrow")&&(t.show_arrow=n.data("dropdown-show_arrow")),void 0!==n.data("dropdown-square")&&(t.square=n.data("dropdown-square")),void 0!==n.data("dropdown-hide_sm")&&(t.hide_sm=n.data("dropdown-hide_sm")),void 0!==n.data("dropdown-content")&&(t.content="
".concat(n.data("dropdown-content"),"
")),void 0!==n.data("dropdown-target")&&(t.content=$(n.data("dropdown-target"))[0]);var e=new Tn(t);e.on("*",function(t,e){n.trigger("dropdown-"+t,e)}),e.render()})},$.fn.uniformCheckbox=function(){return this.each(function(){$(this);new jn({el:this}).render()})},$.fn.uniformRadio=$.fn.uniformCheckbox,$.fn.uniformFloatingLabel=function(){return this.each(function(){new Yn({el:this}).render()})},$.fn.uniformModal=function(){return this.click(function(){var n=$(this),t={klass:n.data("modal-klass"),content:n.data("modal-content")};if(n.data("modal-target")){var e=$(n.data("modal-target")).clone();e.removeClass("hidden"),t.content=e[0]}new En(t).render().on("*",function(t,e){n.trigger("modal-"+t,e)})})},$.fn.uniformResizer=function(){return this.each(function(){new Vn({el:this})})},$.fn.uniformSelect=function(){return this.each(function(){var t={el:this};Q(t,$(this).data()),new Gn(t).render()})},$.fn.uniformTooltip=function(){return this.each(function(){var n=$(this),t=new Kn({message:n.data("tooltip-message"),container:n.data("tooltip-container"),el:this});t.on("*",function(t,e){n.trigger("tooltip-"+t,e)}),t.render()})},$.fn.uniformTristate=function(){return this.each(function(){var i=$(this);function e(t){if(0==t.length)i.addClass("-null"),$(i.find("input")[1]).prop("checked",!0);else{var e=t.index(),n=0==e?"-true":1==e?"-null":"-false";i.removeClass("-true -null -false"),i.addClass(n)}}i.on("change","input",function(t){e($(t.currentTarget))}),e(i.find("input:checked")),i.on("blur","input",function(t){i.removeClass("-focus")}),i.on("focus","input",function(t){i.addClass("-focus")})})})}();
@@ -1,11 +1,11 @@
1
- import Dropdown from 'uniform/dropdown';
2
- import Checkbox from 'uniform/checkbox';
3
- import Modal from 'uniform/modal';
4
- import Select from 'uniform/select';
5
- import FloatingLabel from 'uniform/floating-label';
6
- import Resizer from 'uniform/resizer';
7
- import Tooltip from 'uniform/tooltip';
8
- import Popover from 'uniform/popover';
1
+ import Dropdown from './uniform/dropdown';
2
+ import Checkbox from './uniform/checkbox';
3
+ import Modal from './uniform/modal';
4
+ import Select from './uniform/select';
5
+ import FloatingLabel from './uniform/floating-label';
6
+ import Resizer from './uniform/resizer';
7
+ import Tooltip from './uniform/tooltip';
8
+ import Popover from './uniform/popover';
9
9
 
10
10
  export {
11
11
  Dropdown,
@@ -14,7 +14,7 @@ export default class FloatingLabel extends Component {
14
14
  }
15
15
 
16
16
  render () {
17
- if(!Helpers.is_visible(this.input)) return;
17
+ // if(!Helpers.is_visible(this.input)) return;
18
18
  if(Helpers.hasClass(this.el, 'enabled')) return;
19
19
 
20
20
  var padding = parseInt(Helpers.css(this.input, 'paddingBottom'));
@@ -31,7 +31,7 @@ export default class FloatingLabel extends Component {
31
31
  this.label.style.paddingLeft = Helpers.css(this.input, 'paddingLeft');
32
32
  this.label.style.height = this.startingHeight;
33
33
  this.label.style.lineHeight = this.startingHeight + "px";
34
-
34
+
35
35
  if (Helpers.is_focus(this.input)) this.activate();
36
36
  if (typeof this.input.value !== "undefined" && this.input.value != "") this.activate();
37
37
  }
@@ -71,7 +71,7 @@ export default class Modal extends Component {
71
71
 
72
72
  var closeButton = document.createElement('div');
73
73
  Helpers.addClass(closeButton, 'uniformModal-close');
74
- container.appendChild(closeButton);
74
+ this.el.appendChild(closeButton);
75
75
 
76
76
  this.el.style.top = window.scrollY;
77
77
  this.listenTo(this.overlay, 'click', this.close);
@@ -90,6 +90,7 @@ export default class Modal extends Component {
90
90
  }
91
91
 
92
92
  close () {
93
+ console.log('close');
93
94
  Helpers.removeClass(document.querySelectorAll('uniformModal-active'), 'uniformModal-active');
94
95
  var elements = this.blur.children;
95
96
  var elementCount = elements.length
@@ -18,7 +18,7 @@ export default class Popover extends Component {
18
18
  this.showing = false;
19
19
  options = options || {};
20
20
  this.options = {
21
- zIndex: 2,
21
+ zIndex: 3,
22
22
  container: document.body,
23
23
  align: 'center bottom',
24
24
  anchor: document.body,
@@ -61,13 +61,17 @@ export default class Popover extends Component {
61
61
  this.setPosition();
62
62
  const bounds = this.el.getBoundingClientRect();
63
63
  const body_bounds = document.body.getBoundingClientRect();
64
+ const window_bounds = {
65
+ top: 0,
66
+ bottom: window.innerHeight,
67
+ left: 0,
68
+ right: window.innerWidth
69
+ };
64
70
 
65
- var align = this.options.align.split(" ");
66
71
  var reposition = false;
67
- if (bounds.bottom > body_bounds.bottom) {
68
- const difference = body_bounds.bottom - bounds.bottom
69
- if(this.el.style.top != null) this.el.style.top = parseInt(this.el.style.top) - difference + "px"
70
- if(this.el.style.bottom != null) this.el.style.bottom = parseInt(this.el.style.bottom) + difference + "px"
72
+ if (bounds.bottom > Math.max(body_bounds.bottom, window_bounds.bottom)) {
73
+ var [leftAlign, topAlign] = this.options.align.split(" ");
74
+ this.setPosition(`${leftAlign} top`);
71
75
  }
72
76
  if (bounds.top < body_bounds.top) {
73
77
  const difference = body_bounds.top - bounds.top
@@ -110,7 +114,7 @@ export default class Popover extends Component {
110
114
  } else if (leftAlign == 'right'){
111
115
  position.left = offset.left + Helpers.outerWidth(this.options.anchor);
112
116
  } else if (leftAlign.includes("px")){
113
- position.left = offset.left + Helpers.outerWidth(this.options.anchor) + parseInt(leftAlign);
117
+ position.left = offset.left + parseInt(leftAlign);
114
118
  }
115
119
 
116
120
  if(topAlign == 'top'){
@@ -127,7 +131,7 @@ export default class Popover extends Component {
127
131
  } else if (topAlign == 'bottom'){
128
132
  position.top = offset.top + Helpers.outerHeight(this.options.anchor);
129
133
  } else if (topAlign.includes("px")){
130
- position.top = offset.top + Helpers.outerHeight(this.options.anchor) + parseInt(topAlign);
134
+ position.top = offset.top + parseInt(topAlign);
131
135
  }
132
136
 
133
137
  if(this.options.offset.left) position.left += parseInt(this.options.offset.left);
@@ -155,11 +159,13 @@ export default class Popover extends Component {
155
159
  if (e.target == this.options.anchor) return;
156
160
  if (this.el.contains(e.target)) return;
157
161
  if (this.options.anchor.contains(e.target)) return;
162
+ if (this.persisting) return;
158
163
  this.hide();
159
164
  }
160
165
 
161
166
  checkEscape (e) {
162
167
  if(e.which != 27) return;
168
+ if (this.persisting) return;
163
169
  this.hide();
164
170
  }
165
171
 
@@ -188,4 +194,12 @@ export default class Popover extends Component {
188
194
  flag = flag || this.showing;
189
195
  if(flag) this.hide(); else this.show();
190
196
  }
197
+
198
+ persist() {
199
+ this.persisting = true;
200
+ }
201
+
202
+ unpersist() {
203
+ this.persisting = false;
204
+ }
191
205
  }
@@ -1,4 +1,6 @@
1
1
  import Component from './component';
2
+ import Popover from './popover';
3
+ import Modal from './modal';
2
4
  import { check as checkIcon, arrow_down as arrowIcon } from './icons';
3
5
  import * as Helpers from './dom-helpers';
4
6
 
@@ -6,7 +8,7 @@ import * as Helpers from './dom-helpers';
6
8
  options
7
9
  class: String, appended to uniformSelect-edit button as class
8
10
  limit: int | false - number of options to limit to, or false to not limit
9
- showAll: function(select_options) to run if/when "Show All" is clicked
11
+ showAll: function(button_options) to run if/when "Show All" is clicked
10
12
  label: string, used for mobile menu
11
13
  container: selector for where to render dropdown
12
14
  */
@@ -16,105 +18,89 @@ export default class Select extends Component {
16
18
  this.options = {
17
19
  label: false,
18
20
  class: "",
19
- showAll: function (select_options){
20
- Helpers.removeClass(select_options.querySelectorAll('button.hide'), 'hide');
21
- var button = select_options.querySelector('.uniformSelect-show-all');
21
+ showAll: function (button_options){
22
+ Helpers.removeClass(button_options.querySelectorAll('button.hide'), 'hide');
23
+ var button = button_options.querySelector('.uniformSelect-show-all');
22
24
  button.parentNode.removeChild(button);
23
25
 
24
26
  return false;
25
27
  },
26
28
  limit: 8,
27
- container: document.body
29
+ container: false
28
30
  }
29
31
 
30
32
  Object.assign(this.options, this.pick(options, Object.keys(this.options)));
31
33
 
32
- var showing, lastScrollPosition, select_options;
33
-
34
- this.listenTo(this.el, 'change', this.updateSelect);
34
+ this.listenTo(this.el, 'change', this.renderSelected);
35
35
  this.listenTo(this.el, 'close', this.hideOptions);
36
- this.listenTo(this.el, 'revealed', this.resize);
37
36
  this.el.uniformSelect = this;
38
37
 
39
- this.listenTo(window, 'resize', this.resize);
40
- this.listenTo(window, 'scroll', this.updatePosition);
41
- this.listenTo(document, 'click', this.outsideClick);
42
- this.listenTo(document, 'keyup', this.keyup);
43
-
44
38
  this.activeIcon = document.createElement('span');
45
- Helpers.addClass(this.activeIcon, 'uniformSelect-option-icon');
46
39
  this.activeIcon.innerHTML = checkIcon;
40
+ Helpers.addClass(this.activeIcon, 'uniformSelect-option-icon');
47
41
  }
48
-
49
- outsideClick (e) {
50
- if (!this.showing) return;
51
- if (e.target === this.select_options) return;
52
- if (this.container.contains(e.target)) return;
53
- if (this.select_options.contains(e.target)) return;
54
- this.hideOptions();
55
- }
56
-
57
- keyup (e) {
58
- if(e.which === 27) this.hideOptions();
42
+
43
+ remove () {
44
+ Component.prototype.remove.apply(this, arguments);
45
+ this.edit_button.parentNode.removeChild(this.edit_button);
46
+ delete this.this.edit_button;
47
+
48
+ this.activeIcon.parentNode.removeChild(this.activeIcon);
49
+ delete this.activeIcon;
50
+
51
+ if(this.button_options_popover) this.button_options_popover.remove();
52
+ if(this.button_options_modal) this.button_options_modal.remove();
53
+
54
+ if(this.button_options) {
55
+ this.button_options.parentNode.removeChild(this.button_options);
56
+ delete this.button_options;
57
+ }
59
58
  }
60
59
 
61
60
  render () {
62
- this.container = document.createElement('div');
63
- Helpers.addClass(this.container, 'uniformSelect-container');
64
-
65
- this.edit_button = Helpers.createElement(`<button type='button' class='uniformSelect-edit uniformInput outline block ${this.options.class}'><span class="text-js"></span><span class="uniformSelect-edit-icon">${arrowIcon}</span></button>`);
66
- this.container.appendChild(this.edit_button);
61
+ this.edit_button = Helpers.createElement(`
62
+ <button type='button' class='uniformSelect-edit uniformInput outline block ${this.options.class}'>
63
+ <span class="text-js"></span>
64
+ <span class="uniformSelect-edit-icon">${arrowIcon}</span>
65
+ </button>
66
+ `);
67
67
 
68
68
  if (this.el.name) {
69
- Helpers.addClass(this.container, this.el.name.toLowerCase().replace(/[^a-z0-9\-_]+/g, '-'));
69
+ Helpers.addClass(this.edit_button, this.el.name.toLowerCase().replace(/[^a-z0-9\-_]+/g, '-'));
70
70
  }
71
71
  this.el.style.display = "none";
72
- this.el.insertAdjacentElement('beforebegin', this.container);
73
- this.updateSelect();
74
- this.resize();
72
+ this.el.insertAdjacentElement('beforebegin', this.edit_button);
75
73
 
76
- this.listenTo(this.edit_button, 'click', this.showOptions);
77
- this.listenTo(this.edit_button, 'click', '.uniformSelect-remove', this.removeSelection);
78
- }
79
-
80
- resize () {
81
- // to keep button from extending beyond available width
82
- var children = [];
83
- var childrenCount = this.edit_button.children.length;
84
- for(var i = 0; i < childrenCount; i++){
85
- children.push(this.edit_button.children[0]);
86
- this.edit_button.children[0].parentNode.removeChild(this.edit_button.children[0]);
74
+ if(!this.options.container) {
75
+ this.options.container = this.edit_button.parentElement
87
76
  }
88
77
 
89
- this.edit_button.innerHTML = '';
90
- this.edit_button.style.width = "auto";
91
- this.edit_button.style.maxWidth = "100%";
92
- this.edit_button.style.minWidth = this.container.offsetWidth + "px";
78
+ // Set Min-Width for when empty
93
79
 
94
- Helpers.each(children, function(child){
95
- this.edit_button.appendChild(child);
96
- }.bind(this));
97
-
98
- if(typeof this.select_options === "undefined") return;
99
- if(window.innerWidth < 720) return;
100
-
101
- this.select_options.style.position = 'absolute';
102
- this.select_options.style.top = Helpers.offset(this.container).top + this.container.offsetHeight + "px";
103
- this.select_options.style.left = Helpers.offset(this.container).left + 1 + "px";
104
- this.select_options.style.minWidth = this.container.offsetWidth - 1 + "px";
80
+ const option = [...this.el.querySelectorAll("option")].sort((a, b) => {
81
+ return a.textContent.length > b.textContent.length
82
+ }).reverse()[0];
83
+ this.edit_button.querySelector('.text-js').style.opacity = 0;
84
+ this.edit_button.querySelector('.text-js').innerHTML = option.textContent;
85
+ const min_width = this.edit_button.querySelector('.text-js').offsetWidth;
86
+ this.edit_button.style.minWidth = min_width + "px";
87
+ this.edit_button.querySelector('.text-js').innerHTML = "";
88
+ this.edit_button.querySelector('.text-js').style.opacity = null;
89
+
90
+ this.renderSelected();
91
+
92
+ this.listenTo(this.edit_button, 'click', this.showOptions);
93
+ this.listenTo(this.edit_button, 'click', '.uniformSelect-remove', this.removeSelection);
94
+
95
+ return this;
105
96
  }
106
97
 
107
98
  renderOptions () {
108
- this.select_options = Helpers.createElement("<div class='uniformSelect-options'>");
109
- if (this.options.label) {
110
- this.select_options.append(`<div class="uniformSelect-label hide show-sm margin-bottom text-bold">${this.options.label}</div>`)
111
- }
99
+ this.button_options = Helpers.createElement("<div class='uniformSelect-options'>");
112
100
  if (this.el.name) {
113
- Helpers.addClass(this.select_options, this.el.name.toLowerCase().replace(/[^a-z0-9\-_]+/g, '-'));
101
+ Helpers.addClass(this.button_options, this.el.name.toLowerCase().replace(/[^a-z0-9\-_]+/g, '-'));
114
102
  }
115
- this.select_options.style.fontSize = Helpers.css(this.el, 'font-size');
116
- this.select_options.style.display = 'none';
117
- this.options.container.appendChild(this.select_options);
103
+ this.button_options.style.fontSize = Helpers.css(this.el, 'font-size');
118
104
 
119
105
  Helpers.each(this.el.querySelectorAll('option'), function(el, index){
120
106
  var button = Helpers.createElement("<button type='button' class='uniformSelect-option block outline text-left'>");
@@ -128,16 +114,17 @@ export default class Select extends Component {
128
114
  } else if (this.options.limit && index > this.options.limit) {
129
115
  Helpers.addClass(button, 'hide');
130
116
  }
131
- this.select_options.append(button);
132
- this.listenTo(button, 'click', this.selectOption);
117
+ this.button_options.append(button);
133
118
  }.bind(this));
134
119
 
135
- var actions_el = Helpers.createElement('<div class="uniformSelect-options-actions"></div>');
120
+ this.listenTo(this.button_options, 'click', '.uniformSelect-option', this.selectOption);
121
+
122
+ const actions_el = Helpers.createElement('<div class="uniformSelect-options-actions"></div>');
136
123
  if (this.options.limit && this.el.querySelectorAll('option').length > this.options.limit) {
137
- var show_all_button = Helpers.createElement("<button type='button' class='uniformSelect-show-all outline blue' style='display: block; border: none'>Show All</button>");
124
+ const show_all_button = Helpers.createElement("<button type='button' class='uniformSelect-show-all outline blue' style='display: block; border: none'>Show All</button>");
138
125
  this.listenTo(show_all_button, 'click', function(e){
139
126
  Helpers.trigger(this.el, 'show_all');
140
- if (this.options.showAll) this.options.showAll(this.select_options);
127
+ if (this.options.showAll) this.options.showAll(this.button_options);
141
128
  e.preventDefault();
142
129
  e.stopPropagation();
143
130
  })
@@ -149,104 +136,108 @@ export default class Select extends Component {
149
136
  actions_el.appendChild(done_button);
150
137
  }
151
138
  if (!Helpers.is_empty(actions_el)) {
152
- this.select_options.appendChild(actions_el);
139
+ this.button_options.appendChild(actions_el);
153
140
  }
141
+ }
154
142
 
155
- Helpers.trigger(this.el, 'rendered');
143
+ renderSelected () {
144
+ const selected_options = Helpers.filter(this.el.querySelectorAll("option"), function(el){
145
+ return el.selected;
146
+ });
147
+ const html = Helpers.map(selected_options, function(el){
148
+ return this.el.multiple ? `<span class="uniformSelect-selection">${el.textContent}<span class="uniformSelect-remove"></span></span>` : el.textContent;
149
+ }.bind(this)).join(" ");
150
+
151
+ if (html == "") {
152
+ this.edit_button.querySelector('.text-js').innerHTML = "&nbsp;"
153
+ } else {
154
+ this.edit_button.querySelector('.text-js').innerHTML = html;
155
+ }
156
+
157
+ if(this.button_options) {
158
+ Helpers.each(this.button_options.querySelectorAll('.uniformSelect-option'), function(el) {
159
+ if(el.option.selected){
160
+ Helpers.addClass(el, 'active');
161
+ el.append(this.activeIcon.cloneNode(true));
162
+ } else {
163
+ Helpers.removeClass(el, 'active');
164
+ Helpers.each(el.querySelectorAll('.uniformSelect-option-icon'), Helpers.remove);
165
+ }
166
+ }.bind(this))
167
+ }
156
168
  }
157
169
 
158
170
  hideOptions () {
159
- if(typeof this.select_options === "undefined") return;
160
- this.showing = false;
161
- this.select_options.style.display = "none";
162
- Helpers.removeClass(this.select_options, 'fixed');
171
+ if(!this.button_options) return;
172
+ if(this.button_options_modal) this.button_options_modal.close();
173
+ if(this.button_options_popover) {
174
+ this.button_options_popover.remove();
175
+ delete this.button_options_popover;
176
+ }
163
177
  Helpers.removeClass(this.edit_button, 'active');
164
- Helpers.removeClass(document.body, 'uniformModal-hideBody');
165
-
166
- if(this.lastScrollPosition && window.innerWidth < 720) window.scrollTo(0, this.lastScrollPosition);
167
- Helpers.trigger(this.el, 'hidden:options');
168
178
  }
169
179
 
170
- showOptions() {
171
- if (this.showing){
172
- this.hideOptions();
173
- return false;
174
- }
175
- this.showing = true;
176
- if(!this.select_options) this.renderOptions();
177
- this.resize();
178
- this.select_options.style.display = "block";
180
+ showOptions(e) {
181
+ if(Helpers.hasClass(e.target, 'uniformSelect-remove')) return;
182
+ if(this.button_options_modal) return this.hideOptions();
183
+ if(this.button_options_popover) return this.hideOptions();
184
+ if(!this.button_options) this.renderOptions();
179
185
  Helpers.addClass(this.edit_button, 'active');
180
- this.lastScrollPosition = window.scrollY;
181
- this.updatePosition();
182
- Helpers.addClass(document.body, 'uniformModal-hideBody');
183
- if (this.options.container == document.body) {
184
- Helpers.removeClass(document.body, 'uniformModal-hideBody');
186
+ // For Mobile: Render Full Screen
187
+ if(window.innerWidth < 720) {
188
+ const content = Helpers.createElement('<div class="uniformSelect-modal">');
189
+ content.append(this.button_options);
190
+ if (this.options.label) {
191
+ content.append(`<div class="uniformSelect-label margin-bottom text-bold">${this.options.label}</div>`);
192
+ }
193
+ this.button_options_modal = new Modal({
194
+ content: content,
195
+ klass: '-reset'
196
+ }).render();
197
+ this.button_options_modal.on('closed', () => {
198
+ Helpers.removeClass(this.edit_button, 'active');
199
+ delete this.button_options_modal;
200
+ });
201
+ this.listenTo(content, 'click', function(e){
202
+ if(e.target == content) {
203
+ this.button_options_modal.close()
204
+ }
205
+ });
206
+ // For Larger: Render Popover
207
+ } else {
208
+ this.button_options.style.minWidth = this.edit_button.offsetWidth + "px";
209
+ this.button_options_popover = new Popover({
210
+ offset: {top: 1},
211
+ anchor: this.edit_button,
212
+ align: '0px bottom',
213
+ content: this.button_options,
214
+ container: this.options.container
215
+ }).render()
216
+ this.button_options_popover.on('hidden', () => {
217
+ Helpers.removeClass(this.edit_button, 'active');
218
+ this.button_options_popover.remove();
219
+ delete this.button_options_popover;
220
+ })
185
221
  }
186
222
  }
187
223
 
188
224
  selectOption(e) {
225
+ const button = e.target;
189
226
  if (!this.el.multiple) {
190
- Helpers.each(Helpers.filter(this.el.querySelectorAll("option"), function(el){
191
- return el.selected;
192
- }), function (child) {
193
- child.selected = false;
194
- });
195
- Helpers.each(this.select_options.querySelectorAll('.uniformSelect-option.active .uniformSelect-option-icon'), Helpers.remove);
196
- Helpers.removeClass(this.select_options.querySelectorAll('.uniformSelect-option.active'), 'active');
227
+ Helpers.each(this.button_options.querySelectorAll('.uniformSelect-option.active .uniformSelect-option-icon'), Helpers.remove);
228
+ Helpers.removeClass(this.button_options.querySelectorAll('.uniformSelect-option.active'), 'active');
197
229
  }
198
- Helpers.toggleClass(e.currentTarget, 'active');
199
- e.currentTarget.option.selected = Helpers.hasClass(e.currentTarget, 'active');
200
- this.updateOptions();
201
- Helpers.trigger(this.el, 'change');
202
- }
203
-
204
- updateSelect () {
205
- if (!this.el.multiple) this.hideOptions();
206
- var value = Helpers.map(Helpers.filter(this.el.querySelectorAll("option"), function(el){
207
- return el.selected;
208
- }), function(el){
209
- return this.el.multiple ? `<span class="uniformSelect-selection">${el.textContent}<span class="uniformSelect-remove"></span></span>` : el.textContent;
210
- }.bind(this)).join(" ");
211
-
212
- if (value == "") value = "&nbsp;";
213
- this.edit_button.querySelector('.text-js').innerHTML = value;
214
- }
215
-
216
- updateOptions () {
217
- Helpers.each(this.select_options.querySelectorAll("button"), function(button) {
218
- if(!button.option) return;
219
- Helpers.toggleClass(button, 'active', button.option.selected);
220
- if (Helpers.hasClass(button, 'active')) {
221
- button.append(this.activeIcon.cloneNode(true));
222
- } else {
223
- Helpers.each(button.querySelectorAll('.uniformSelect-option-icon'), Helpers.remove);
224
- }
225
- }.bind(this))
226
- }
227
-
228
- updatePosition () {
229
- if(!this.select_options) return;
230
-
231
- var fixedParents = Helpers.filter(Helpers.ancestors(this.container), function (el){
232
- return Helpers.css(el, 'position') == 'fixed';
233
- });
234
-
235
- if (Helpers.hasClass(this.select_options, 'fixed')) {
236
- if (fixedParents.length == 0) {
237
- this.select_options.style.position = 'absolute';
238
- this.select_options.style.top = Helpers.offset(this.container).top + this.container.offsetHeight + "px";
239
- Helpers.removeClass(this.select_options, 'fixed');
240
- }
241
- } else if(fixedParents.length > 0) {
242
- if (window.innerWidth > 720) {
243
- this.lastScrollPosition = false;
244
- }
245
- this.select_options.style.position = 'fixed';
246
- this.select_options.style.top = Helpers.offset(this.container).top + this.container.offsetHeight + "px";
247
- this.select_options.style.left = Helpers.offset(this.container).left + "px";
248
- Helpers.addClass(this.select_options, 'fixed');
230
+ Helpers.toggleClass(e.target, 'active');
231
+ e.target.option.selected = Helpers.hasClass(e.target, 'active');
232
+ if (Helpers.hasClass(e.target, 'active')) {
233
+ e.target.append(this.activeIcon.cloneNode(true));
234
+ } else {
235
+ Helpers.each(e.target.querySelectorAll('.uniformSelect-option-icon'), Helpers.remove);
249
236
  }
237
+ if (!this.el.multiple) {
238
+ this.hideOptions();
239
+ }
240
+ Helpers.trigger(this.el, 'change');
250
241
  }
251
242
 
252
243
  removeSelection(e) {
@@ -256,7 +247,6 @@ export default class Select extends Component {
256
247
  })[0];
257
248
  if(!target) return;
258
249
  target.selected = false;
259
- this.updatePosition();
260
250
  Helpers.trigger(this.el, 'change');
261
251
  }
262
252
  }
@@ -29,13 +29,22 @@
29
29
  &.-fill{
30
30
  width: 90%;
31
31
  }
32
+ &.-reset{
33
+ margin: -2em;
34
+ max-width: none;
35
+ border-radius: 0;
36
+ &.-fill{
37
+ width: 100%;
38
+ }
39
+ }
32
40
  }
33
41
 
34
42
  .uniformModal-close{
43
+ z-index: 2;
35
44
  position: absolute;
36
45
  padding: 0.3em;
37
- top: -2rem;
38
- right: -2rem;
46
+ top: 0;
47
+ right: 0;
39
48
  font-size:1.5em;
40
49
  color: white;
41
50
  opacity: 0.5;
@@ -8,7 +8,6 @@ select.uniformSelect{
8
8
  text-align: left;
9
9
  padding-right: 1.8em;
10
10
  &.active{
11
- z-index: 10000;
12
11
  .uniformSelect-edit-icon{
13
12
  svg{
14
13
  transform: rotate(180deg);
@@ -76,11 +75,9 @@ select.uniformSelect{
76
75
  }
77
76
 
78
77
  .uniformSelect-options{
79
- @include text-overflow;
80
- position: absolute;
81
- background: white;
82
- z-index: 9999;
78
+
83
79
  box-shadow: 0 0 15px 1px rgba(black, 0.2), 0 0 2px 1px rgba(black, 0.1) ;
80
+ background: white;
84
81
  button{
85
82
  appearance: none;
86
83
  outline: none;
@@ -133,27 +130,18 @@ select.uniformSelect{
133
130
  }
134
131
  }
135
132
 
136
- @include size-rule('sm'){
137
- .uniformSelect-options{
138
- top: 0 !important;
139
- left: 0 !important;
140
- min-height: 100vh;
141
- width: 100vw;
142
- padding: 1em;
143
- button{
144
- margin-bottom: 0.5em;
145
- border: 1px solid color('gray');
146
- &.uniformSelect-done{
147
- margin-bottom: 0;
148
- }
149
- }
150
- .uniformSelect-options-actions{
151
- margin: 0 -1em;
133
+ .uniformSelect-modal{
134
+ width: 100vw;
135
+ min-height: 100vh;
136
+ padding: 1em;
137
+ button{
138
+ margin-bottom: 0.5em;
139
+ border: 1px solid color('gray');
140
+ &.uniformSelect-done{
141
+ margin-bottom: 0;
152
142
  }
153
143
  }
154
- body.uniformModal-hideBody{
155
- & > *:not(.uniformSelect-options):not(.uniformDropdown-dropdown) {
156
- position: fixed;
157
- }
144
+ .uniformSelect-options-actions{
145
+ margin: 0 -1em;
158
146
  }
159
147
  }
@@ -1,3 +1,3 @@
1
1
  module Uniform
2
- VERSION = "2.3.4"
2
+ VERSION = "2.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uniform-ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.4
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Ehmke
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-14 00:00:00.000000000 Z
11
+ date: 2020-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sass
@@ -118,7 +118,7 @@ homepage: http://bemky.github.io/uniform/
118
118
  licenses:
119
119
  - MIT
120
120
  metadata: {}
121
- post_install_message:
121
+ post_install_message:
122
122
  rdoc_options: []
123
123
  require_paths:
124
124
  - lib
@@ -134,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
134
  version: '0'
135
135
  requirements: []
136
136
  rubygems_version: 3.1.2
137
- signing_key:
137
+ signing_key:
138
138
  specification_version: 4
139
139
  summary: Sass UI
140
140
  test_files: []