diff --git a/docs/src/landing/js/webflow.js b/docs/src/landing/js/webflow.js index d01f5a80e..6d359f41b 100755 --- a/docs/src/landing/js/webflow.js +++ b/docs/src/landing/js/webflow.js @@ -35,7 +35,7 @@ var i="INVALID_ARGS";function o(t){throw new Error(t)}function a(t){var e=Object * Underscore may be freely distributed under the MIT license. * @license MIT */ -t.exports=function(){var t={VERSION:"1.6.0-Webflow"},e={},n=Array.prototype,r=Object.prototype,o=Function.prototype,a=(n.push,n.slice),u=(n.concat,r.toString,r.hasOwnProperty),c=n.forEach,s=n.map,f=(n.reduce,n.reduceRight,n.filter),l=(n.every,n.some),d=n.indexOf,p=(n.lastIndexOf,Array.isArray,Object.keys),v=(o.bind,t.each=t.forEach=function(n,r,i){if(null==n)return n;if(c&&n.forEach===c)n.forEach(r,i);else if(n.length===+n.length){for(var o=0,a=n.length;o/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var E=/(.)^/,g={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},y=/\\|'|\r|\n|\u2028|\u2029/g,_=function(t){return"\\"+g[t]};return t.template=function(e,n,r){!n&&r&&(n=r),n=t.defaults({},n,t.templateSettings);var i=RegExp([(n.escape||E).source,(n.interpolate||E).source,(n.evaluate||E).source].join("|")+"|$","g"),o=0,a="__p+='";e.replace(i,function(t,n,r,i,u){return a+=e.slice(o,u).replace(y,_),o=u+t.length,n?a+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?a+="'+\n((__t=("+r+"))==null?'':__t)+\n'":i&&(a+="';\n"+i+"\n__p+='"),t}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{var u=new Function(n.variable||"obj","_",a)}catch(t){throw t.source=a,t}var c=function(e){return u.call(this,e,t)},s=n.variable||"obj";return c.source="function("+s+"){\n"+a+"}",c},t}()},function(t,e,n){t.exports={default:n(142),__esModule:!0}},function(t,e,n){n(83),n(151),t.exports=n(52).f("iterator")},function(t,e,n){var r=n(43),i=n(44);t.exports=function(t){return function(e,n){var o,a,u=String(i(e)),c=r(n),s=u.length;return c<0||c>=s?t?"":void 0:(o=u.charCodeAt(c))<55296||o>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):o:t?u.slice(c,c+2):a-56320+(o-55296<<10)+65536}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){"use strict";var r=n(89),i=n(22),o=n(50),a={};n(14)(a,n(1)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},function(t,e,n){var r=n(8),i=n(19),o=n(29);t.exports=n(9)?Object.defineProperties:function(t,e){i(t);for(var n,a=o(e),u=a.length,c=0;u>c;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(15),i=n(92),o=n(148);t.exports=function(t){return function(e,n,a){var u,c=r(e),s=i(c.length),f=o(a,s);if(t&&n!=n){for(;s>f;)if((u=c[f++])!=u)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e,n){var r=n(43),i=Math.max,o=Math.min;t.exports=function(t,e){return(t=r(t))<0?i(t+e,0):o(t,e)}},function(t,e,n){var r=n(6).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(10),i=n(51),o=n(47)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,n){n(152);for(var r=n(6),i=n(14),o=n(23),a=n(1)("toStringTag"),u="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(","),c=0;c=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){t.exports={default:n(156),__esModule:!0}},function(t,e,n){n(157),n(163),n(164),n(165),t.exports=n(7).Symbol},function(t,e,n){"use strict";var r=n(6),i=n(10),o=n(9),a=n(18),u=n(88),c=n(158).KEY,s=n(21),f=n(48),l=n(50),d=n(30),p=n(1),v=n(52),h=n(53),E=n(159),g=n(160),y=n(19),_=n(20),m=n(15),I=n(45),b=n(22),T=n(89),O=n(161),w=n(162),S=n(8),A=n(29),x=w.f,R=S.f,L=O.f,N=r.Symbol,C=r.JSON,M=C&&C.stringify,P=p("_hidden"),D=p("toPrimitive"),j={}.propertyIsEnumerable,F=f("symbol-registry"),G=f("symbols"),X=f("op-symbols"),k=Object.prototype,V="function"==typeof N,U=r.QObject,H=!U||!U.prototype||!U.prototype.findChild,B=o&&s(function(){return 7!=T(R({},"a",{get:function(){return R(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=x(k,e);r&&delete k[e],R(t,e,n),r&&t!==k&&R(k,e,r)}:R,W=function(t){var e=G[t]=T(N.prototype);return e._k=t,e},Y=V&&"symbol"==typeof N.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof N},z=function(t,e,n){return t===k&&z(X,e,n),y(t),e=I(e,!0),y(n),i(G,e)?(n.enumerable?(i(t,P)&&t[P][e]&&(t[P][e]=!1),n=T(n,{enumerable:b(0,!1)})):(i(t,P)||R(t,P,b(1,{})),t[P][e]=!0),B(t,e,n)):R(t,e,n)},K=function(t,e){y(t);for(var n,r=E(e=m(e)),i=0,o=r.length;o>i;)z(t,n=r[i++],e[n]);return t},Q=function(t){var e=j.call(this,t=I(t,!0));return!(this===k&&i(G,t)&&!i(X,t))&&(!(e||!i(this,t)||!i(G,t)||i(this,P)&&this[P][t])||e)},q=function(t,e){if(t=m(t),e=I(e,!0),t!==k||!i(G,e)||i(X,e)){var n=x(t,e);return!n||!i(G,e)||i(t,P)&&t[P][e]||(n.enumerable=!0),n}},$=function(t){for(var e,n=L(m(t)),r=[],o=0;n.length>o;)i(G,e=n[o++])||e==P||e==c||r.push(e);return r},Z=function(t){for(var e,n=t===k,r=L(n?X:m(t)),o=[],a=0;r.length>a;)!i(G,e=r[a++])||n&&!i(k,e)||o.push(G[e]);return o};V||(u((N=function(){if(this instanceof N)throw TypeError("Symbol is not a constructor!");var t=d(arguments.length>0?arguments[0]:void 0),e=function(n){this===k&&e.call(X,n),i(this,P)&&i(this[P],t)&&(this[P][t]=!1),B(this,t,b(1,n))};return o&&H&&B(k,t,{configurable:!0,set:e}),W(t)}).prototype,"toString",function(){return this._k}),w.f=q,S.f=z,n(93).f=O.f=$,n(31).f=Q,n(54).f=Z,o&&!n(28)&&u(k,"propertyIsEnumerable",Q,!0),v.f=function(t){return W(p(t))}),a(a.G+a.W+a.F*!V,{Symbol:N});for(var J="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;J.length>tt;)p(J[tt++]);for(var et=A(p.store),nt=0;et.length>nt;)h(et[nt++]);a(a.S+a.F*!V,"Symbol",{for:function(t){return i(F,t+="")?F[t]:F[t]=N(t)},keyFor:function(t){if(!Y(t))throw TypeError(t+" is not a symbol!");for(var e in F)if(F[e]===t)return e},useSetter:function(){H=!0},useSimple:function(){H=!1}}),a(a.S+a.F*!V,"Object",{create:function(t,e){return void 0===e?T(t):K(T(t),e)},defineProperty:z,defineProperties:K,getOwnPropertyDescriptor:q,getOwnPropertyNames:$,getOwnPropertySymbols:Z}),C&&a(a.S+a.F*(!V||s(function(){var t=N();return"[null]"!=M([t])||"{}"!=M({a:t})||"{}"!=M(Object(t))})),"JSON",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(_(e)||void 0!==t)&&!Y(t))return g(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!Y(e))return e}),r[1]=e,M.apply(C,r)}}),N.prototype[D]||n(14)(N.prototype,D,N.prototype.valueOf),l(N,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},function(t,e,n){var r=n(30)("meta"),i=n(20),o=n(10),a=n(8).f,u=0,c=Object.isExtensible||function(){return!0},s=!n(21)(function(){return c(Object.preventExtensions({}))}),f=function(t){a(t,r,{value:{i:"O"+ ++u,w:{}}})},l=t.exports={KEY:r,NEED:!1,fastKey:function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,r)){if(!c(t))return"F";if(!e)return"E";f(t)}return t[r].i},getWeak:function(t,e){if(!o(t,r)){if(!c(t))return!0;if(!e)return!1;f(t)}return t[r].w},onFreeze:function(t){return s&&l.NEED&&c(t)&&!o(t,r)&&f(t),t}}},function(t,e,n){var r=n(29),i=n(54),o=n(31);t.exports=function(t){var e=r(t),n=i.f;if(n)for(var a,u=n(t),c=o.f,s=0;u.length>s;)c.call(t,a=u[s++])&&e.push(a);return e}},function(t,e,n){var r=n(46);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(15),i=n(93).f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(t){return a.slice()}}(t):i(r(t))}},function(t,e,n){var r=n(31),i=n(22),o=n(15),a=n(45),u=n(10),c=n(86),s=Object.getOwnPropertyDescriptor;e.f=n(9)?s:function(t,e){if(t=o(t),e=a(e,!0),c)try{return s(t,e)}catch(t){}if(u(t,e))return i(!r.f.call(t,e),t[e])}},function(t,e){},function(t,e,n){n(53)("asyncIterator")},function(t,e,n){n(53)("observable")},function(t,e,n){"use strict";var r=window.jQuery,i={},o=[],a={reset:function(t,e){e.__wf_intro=null},intro:function(t,e){e.__wf_intro||(e.__wf_intro=!0,r(e).triggerHandler(i.types.INTRO))},outro:function(t,e){e.__wf_intro&&(e.__wf_intro=null,r(e).triggerHandler(i.types.OUTRO))}};i.triggers={},i.types={INTRO:"w-ix-intro.w-ix",OUTRO:"w-ix-outro.w-ix"},i.init=function(){for(var t=o.length,e=0;e0&&void 0!==arguments[0]?arguments[0]:Object.freeze({}),e=arguments[1];switch(e.type){case r:return e.payload.ixData||Object.freeze({});default:return t}}},function(t,e,n){var r=n(183),i=n(235),o=n(117);t.exports=function(t){var e=i(t);return 1==e.length&&e[0][2]?o(e[0][0],e[0][1]):function(n){return n===t||r(n,t,e)}}},function(t,e,n){var r=n(103),i=n(107),o=1,a=2;t.exports=function(t,e,n,u){var c=n.length,s=c,f=!u;if(null==t)return!s;for(t=Object(t);c--;){var l=n[c];if(f&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++c-1}},function(t,e,n){var r=n(33);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},function(t,e,n){var r=n(32);t.exports=function(){this.__data__=new r,this.size=0}},function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},function(t,e){t.exports=function(t){return this.__data__.get(t)}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e,n){var r=n(32),i=n(61),o=n(62),a=200;t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var u=n.__data__;if(!i||u.length=r?function(t,e,r,i){for(var o=0;o0?n=c:e=c}while(Math.abs(u)>i&&++s0&&void 0!==arguments[0]?arguments[0]:a,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};switch(e.type){case o.IX2_SESSION_STOPPED:return a;case o.IX2_INSTANCE_ADDED:var n=e.payload,i=n.elementId,u=n.element,f=n.origin,l=n.actionItem,d=n.refType,p=l.actionTypeId,v=t;return(0,r.getIn)(v,[i,u])!==u&&(v=c(v,u,d,i,l)),s(v,i,p,f,l);case o.IX2_ELEMENT_STATE_CHANGED:var h=e.payload;return s(t,h.elementId,h.actionTypeId,h.current,h.actionItem);default:return t}};function c(t,e,n,o,a){var u=n===i.PLAIN_OBJECT?(0,r.getIn)(a,["config","target","objectId"]):null;return(0,r.mergeIn)(t,[o],{id:o,ref:e,refId:u,refType:n})}function s(t,e,n,i,o){var a=function(t){var e=t.config;return f.reduce(function(t,n){var r=n[0],i=n[1],o=e[r],a=e[i];return null!=o&&null!=a&&(t[i]=a),t},{})}(o),c=[e,u,n];return(0,r.mergeIn)(t,c,i,a)}var f=[[i.CONFIG_X_VALUE,i.CONFIG_X_UNIT],[i.CONFIG_Y_VALUE,i.CONFIG_Y_UNIT],[i.CONFIG_Z_VALUE,i.CONFIG_Z_UNIT],[i.CONFIG_VALUE,i.CONFIG_UNIT]]},function(t,e,n){t.exports={default:n(250),__esModule:!0}},function(t,e,n){n(251);var r=n(7).Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},function(t,e,n){var r=n(18);r(r.S+r.F*!n(9),"Object",{defineProperty:n(8).f})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.getPluginConfig=function(t){return t.frameValue},e.getPluginOrigin=function(t){return{value:t.currentRawFrame}},e.getPluginDestination=function(t){return{value:t.frameValue}},e.createPluginInstance=function(t){var e=window.Webflow.require("lottie").createInstance(t);return e.pause(),e.setSubframe(!0),e},e.renderPlugin=function(t,e,n){t.setCurrentRawFrameValue(e[n.actionTypeId].value)},e.cleanupPlugin=function(){}},function(t,e,n){"use strict";var r,i,o,a=c(n(27)),u=c(n(41));function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.getItemConfigByKey=void 0,e.getInstanceId=function(){return"i"+S++},e.getElementId=function(t,e){for(var n in t){var r=t[n];if(r&&r.ref===e)return r.id}return"e"+A++},e.reifyState=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.events,n=t.actionLists,r=t.site,i=(0,f.default)(e,function(t,e){var n=e.eventTypeId;return t[n]||(t[n]={}),t[n][e.id]=e,t},{}),o=r&&r.mediaQueries,a=[];o?a=o.map(function(t){return t.key}):(o=[],console.warn("IX2 missing mediaQueries in site data"));return{ixData:{events:e,actionLists:n,eventTypeMap:i,mediaQueries:o,mediaQueryKeys:a}}},e.observeStore=function(t){var e=t.store,n=t.select,r=t.onChange,i=t.comparator,o=void 0===i?x:i,a=e.getState,u=(0,e.subscribe)(function(){var t=n(a());if(null==t)return void u();o(t,c)||r(c=t,e)}),c=n(a());return u},e.getAffectedElements=L,e.getComputedStyle=function(t){var e=t.element,n=t.actionItem;if(!m.IS_BROWSER_ENV)return{};switch(n.actionTypeId){case _.STYLE_SIZE:case _.STYLE_BACKGROUND_COLOR:case _.STYLE_BORDER:case _.STYLE_TEXT_COLOR:case _.GENERAL_DISPLAY:return window.getComputedStyle(e);default:return{}}},e.getInstanceOrigin=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments[3],i=arguments[4],o=arguments[5],a=i.getStyle,u=r.actionTypeId,c=r.config;if((0,E.isPluginType)(u))return(0,E.getPluginOrigin)(u)(o,r);switch(u){case _.TRANSFORM_MOVE:case _.TRANSFORM_SCALE:case _.TRANSFORM_ROTATE:case _.TRANSFORM_SKEW:return e[u]||D[u];case _.STYLE_FILTER:return C(e[u],r.config.filters);case _.STYLE_OPACITY:return{value:(0,s.default)(parseFloat(a(t,g.OPACITY)),1)};case _.STYLE_SIZE:var f=a(t,g.WIDTH),l=a(t,g.HEIGHT),d=void 0,p=void 0;return d=c.widthUnit===g.AUTO?N.test(f)?parseFloat(f):parseFloat(n.width):(0,s.default)(parseFloat(f),parseFloat(n.width)),p=c.heightUnit===g.AUTO?N.test(l)?parseFloat(l):parseFloat(n.height):(0,s.default)(parseFloat(l),parseFloat(n.height)),{widthValue:d,heightValue:p};case _.STYLE_BACKGROUND_COLOR:case _.STYLE_BORDER:case _.STYLE_TEXT_COLOR:return function(t){var e=t.element,n=t.actionTypeId,r=t.computedStyle,i=t.getStyle,o=T[n],a=i(e,o),u=X.test(a)?a:r[o],c=function(t,e){var n=t.exec(e);return n?n[1]:""}(k,u).split(g.COMMA_DELIMITER);return{rValue:(0,s.default)(parseInt(c[0],10),255),gValue:(0,s.default)(parseInt(c[1],10),255),bValue:(0,s.default)(parseInt(c[2],10),255),aValue:(0,s.default)(parseFloat(c[3]),1)}}({element:t,actionTypeId:u,computedStyle:n,getStyle:a});case _.GENERAL_DISPLAY:return{value:(0,s.default)(a(t,g.DISPLAY),n.display)};case _.OBJECT_VALUE:return e[u]||{value:0};default:return}},e.getDestinationValues=function(t){var e=t.element,n=t.actionItem,r=t.elementApi,i=n.actionTypeId;if((0,E.isPluginType)(i))return(0,E.getPluginDestination)(i)(n.config);switch(i){case _.TRANSFORM_MOVE:case _.TRANSFORM_SCALE:case _.TRANSFORM_ROTATE:case _.TRANSFORM_SKEW:var o=n.config,a=o.xValue,u=o.yValue,c=o.zValue;return{xValue:a,yValue:u,zValue:c};case _.STYLE_SIZE:var s=r.getStyle,f=r.setStyle,l=r.getProperty,d=n.config,p=d.widthUnit,v=d.heightUnit,h=n.config,y=h.widthValue,I=h.heightValue;if(!m.IS_BROWSER_ENV)return{widthValue:y,heightValue:I};if(p===g.AUTO){var b=s(e,g.WIDTH);f(e,g.WIDTH,""),y=l(e,"offsetWidth"),f(e,g.WIDTH,b)}if(v===g.AUTO){var T=s(e,g.HEIGHT);f(e,g.HEIGHT,""),I=l(e,"offsetHeight"),f(e,g.HEIGHT,T)}return{widthValue:y,heightValue:I};case _.STYLE_BACKGROUND_COLOR:case _.STYLE_BORDER:case _.STYLE_TEXT_COLOR:var O=n.config,w=O.rValue,S=O.gValue,A=O.bValue,x=O.aValue;return{rValue:w,gValue:S,bValue:A,aValue:x};case _.STYLE_FILTER:return n.config.filters.reduce(M,{});default:var R=n.config.value;return{value:R}}},e.getRenderType=P,e.getStyleProp=function(t,e){return t===g.RENDER_STYLE?e.replace("STYLE_","").toLowerCase():null},e.renderHTMLElement=function(t,e,n,r,i,o,a,u,c){switch(u){case g.RENDER_TRANSFORM:return function(t,e,n,r,i){var o=G.map(function(t){var n=D[t],r=e[t]||{},i=r.xValue,o=void 0===i?n.xValue:i,a=r.yValue,u=void 0===a?n.yValue:a,c=r.zValue,s=void 0===c?n.zValue:c,f=r.xUnit,l=void 0===f?"":f,d=r.yUnit,p=void 0===d?"":d,v=r.zUnit,h=void 0===v?"":v;switch(t){case _.TRANSFORM_MOVE:return g.TRANSLATE_3D+"("+o+l+", "+u+p+", "+s+h+")";case _.TRANSFORM_SCALE:return g.SCALE_3D+"("+o+l+", "+u+p+", "+s+h+")";case _.TRANSFORM_ROTATE:return g.ROTATE_X+"("+o+l+") "+g.ROTATE_Y+"("+u+p+") "+g.ROTATE_Z+"("+s+h+")";case _.TRANSFORM_SKEW:return g.SKEW+"("+o+l+", "+u+p+")";default:return""}}).join(" "),a=i.setStyle;V(t,m.TRANSFORM_PREFIXED,i),a(t,m.TRANSFORM_PREFIXED,o),u=r,c=n,s=u.actionTypeId,f=c.xValue,l=c.yValue,d=c.zValue,(s===_.TRANSFORM_MOVE&&void 0!==d||s===_.TRANSFORM_SCALE&&void 0!==d||s===_.TRANSFORM_ROTATE&&(void 0!==f||void 0!==l))&&a(t,m.TRANSFORM_STYLE_PREFIXED,g.PRESERVE_3D);var u,c,s,f,l,d}(t,e,n,i,a);case g.RENDER_STYLE:return function(t,e,n,r,i,o){var a=o.setStyle,u=r.actionTypeId,c=r.config;switch(u){case _.STYLE_SIZE:var s=r.config,l=s.widthUnit,d=void 0===l?"":l,p=s.heightUnit,v=void 0===p?"":p,h=n.widthValue,E=n.heightValue;void 0!==h&&(d===g.AUTO&&(d="px"),V(t,g.WIDTH,o),a(t,g.WIDTH,h+d)),void 0!==E&&(v===g.AUTO&&(v="px"),V(t,g.HEIGHT,o),a(t,g.HEIGHT,E+v));break;case _.STYLE_FILTER:!function(t,e,n,r){var i=(0,f.default)(e,function(t,e,r){return t+" "+r+"("+e+F(r,n)+")"},""),o=r.setStyle;V(t,g.FILTER,r),o(t,g.FILTER,i)}(t,n,c,o);break;case _.STYLE_BACKGROUND_COLOR:case _.STYLE_BORDER:case _.STYLE_TEXT_COLOR:var y=T[u],m=Math.round(n.rValue),I=Math.round(n.gValue),b=Math.round(n.bValue),O=n.aValue;V(t,y,o),a(t,y,O>=1?"rgb("+m+","+I+","+b+")":"rgba("+m+","+I+","+b+","+O+")");break;default:var w=c.unit,S=void 0===w?"":w;V(t,i,o),a(t,i,n.value+S)}}(t,0,n,i,o,a);case g.RENDER_GENERAL:return function(t,e,n){var r=n.setStyle;switch(e.actionTypeId){case _.GENERAL_DISPLAY:var i=e.config.value;return void(i===g.FLEX&&m.IS_BROWSER_ENV?r(t,g.DISPLAY,m.FLEX_PREFIXED):r(t,g.DISPLAY,i))}}(t,i,a);case g.RENDER_PLUGIN:var s=i.actionTypeId;if((0,E.isPluginType)(s))return(0,E.renderPlugin)(s)(c,e,i)}},e.clearAllStyles=function(t){var e=t.store,n=t.elementApi,r=e.getState().ixData,i=r.events,o=void 0===i?{}:i,a=r.actionLists,u=void 0===a?{}:a;Object.keys(o).forEach(function(t){var e=o[t],r=e.action.config,i=r.actionListId,a=u[i];a&&H({actionList:a,event:e,elementApi:n})}),Object.keys(u).forEach(function(t){H({actionList:u[t],elementApi:n})})},e.cleanupHTMLElement=function(t,e,n){var r=n.setStyle,i=n.getStyle,o=e.actionTypeId;if((0,E.isPluginType)(o))return(0,E.cleanupPlugin)(o)(t,e);if(o===_.STYLE_SIZE){var a=e.config;a.widthUnit===g.AUTO&&r(t,g.WIDTH,""),a.heightUnit===g.AUTO&&r(t,g.HEIGHT,"")}i(t,g.WILL_CHANGE)&&W({effect:U,actionTypeId:o,elementApi:n})(t)},e.getMaxDurationItemIndex=z,e.getActionListProgress=function(t,e){var n=t.actionItemGroups,r=t.useFirstGroupAsInitialState,i=e.actionItem,o=e.verboseTimeElapsed,a=void 0===o?0:o,u=0,c=0;return n.forEach(function(t,e){if(!r||0!==e){var n=t.actionItems,o=n[z(n)],s=o.config,f=o.actionTypeId;i.id===o.id&&(c=u+a);var l=P(f)===g.RENDER_GENERAL?0:s.duration;u+=s.delay+l}}),u>0?(0,h.optimizeFloat)(c/u):0},e.reduceListToGroup=function(t){var e=t.actionListId,n=t.actionItemId,r=t.rawData,i=r.actionLists[e],o=i.actionItemGroups,a=i.continuousParameterGroups,c=[],s=function(t){return c.push((0,p.mergeIn)(t,["config"],{delay:0,duration:0})),t.id===n};return o&&o.some(function(t){return t.actionItems.some(s)}),a&&a.some(function(t){return t.continuousActionGroups.some(function(t){return t.actionItems.some(s)})}),(0,p.setIn)(r,["actionLists"],(0,u.default)({},e,{id:e,actionItemGroups:[{actionItems:c}]}))},e.shouldNamespaceEventParameter=function(t,e){var n=e.basedOn;return t===y.SCROLLING_IN_VIEW&&(n===y.ELEMENT||null==n)||t===y.MOUSE_MOVE&&n===y.ELEMENT},e.getNamespacedParameterId=function(t,e){return t+g.COLON_DELIMITER+e},e.shouldAllowMediaQuery=function(t,e){if(null==e)return!0;return-1!==t.indexOf(e)},e.mediaQueriesEqual=function(t,e){return(0,v.default)(t&&t.sort(),e&&e.sort())},e.stringifyTarget=function(t){if("string"==typeof t)return t;var e=t.id,n=void 0===e?"":e,r=t.selector,i=void 0===r?"":r,o=t.useEventTarget,a=void 0===o?"":o;return n+g.BAR_DELIMITER+i+g.BAR_DELIMITER+a};var s=I(n(254)),f=I(n(255)),l=I(n(261)),d=I(n(38)),p=n(26),v=I(n(130)),h=n(124),E=n(127),g=n(77),y=n(126),_=n(76),m=n(59);function I(t){return t&&t.__esModule?t:{default:t}}var b=function(t){return t.trim()},T=Object.freeze((r={},(0,u.default)(r,_.STYLE_BACKGROUND_COLOR,g.BACKGROUND_COLOR),(0,u.default)(r,_.STYLE_BORDER,g.BORDER_COLOR),(0,u.default)(r,_.STYLE_TEXT_COLOR,g.COLOR),r)),O=Object.freeze((i={},(0,u.default)(i,m.TRANSFORM_PREFIXED,g.TRANSFORM),(0,u.default)(i,g.BACKGROUND_COLOR,g.BACKGROUND),(0,u.default)(i,g.OPACITY,g.OPACITY),(0,u.default)(i,g.FILTER,g.FILTER),(0,u.default)(i,g.WIDTH,g.WIDTH),(0,u.default)(i,g.HEIGHT,g.HEIGHT),i)),w={},S=1;var A=1;var x=function(t,e){return t===e};function R(t){var e=void 0===t?"undefined":(0,a.default)(t);return"string"===e?{id:t}:null!=t&&"object"===e?{id:t.id,objectId:t.objectId,selector:t.selector,selectorGuids:t.selectorGuids,appliesTo:t.appliesTo,useEventTarget:t.useEventTarget}:{}}function L(t){var e=t.config,n=t.event,r=t.eventTarget,i=t.elementRoot,o=t.elementApi;if(!o)throw new Error("IX2 missing elementApi");var a=o.getValidDocument,u=o.getQuerySelector,c=o.queryDocument,s=o.getChildElements,f=o.getSiblingElements,l=o.matchSelector,p=o.elementContains,v=o.isSiblingNode,h=e.target;if(!h)return[];var E=R(h),_=E.id,I=E.objectId,b=E.selector,T=E.selectorGuids,O=E.appliesTo,S=E.useEventTarget;if(I)return[w[I]||(w[I]={})];if(O===y.PAGE){var A=a(_);return A?[A]:[]}var x=(0,d.default)(n,"action.config.affectedElements",{})[_||b]||{},L=Boolean(x.id||x.selector),N=void 0,C=void 0,M=void 0,P=n&&u(R(n.target));if(L?(N=x.limitAffectedElements,C=P,M=u(x)):C=M=u({id:_,selector:b,selectorGuids:T}),n&&S){var D=r&&(M||!0===S)?[r]:c(P);if(M){if(S===g.PARENT)return c(M).filter(function(t){return D.some(function(e){return p(t,e)})});if(S===g.CHILDREN)return c(M).filter(function(t){return D.some(function(e){return p(e,t)})});if(S===g.SIBLINGS)return c(M).filter(function(t){return D.some(function(e){return v(e,t)})})}return D}return null==C||null==M?[]:m.IS_BROWSER_ENV&&i?c(M).filter(function(t){return i.contains(t)}):N===g.CHILDREN?c(C,M):N===g.IMMEDIATE_CHILDREN?s(c(C)).filter(l(M)):N===g.SIBLINGS?f(c(C)).filter(l(M)):c(M)}var N=/px/,C=function(t,e){return e.reduce(function(t,e){return null==t[e.type]&&(t[e.type]=j[e.type]),t},t||{})};var M=function(t,e){return e&&(t[e.type]=e.value||0),t};e.getItemConfigByKey=function(t,e,n){if((0,E.isPluginType)(t))return(0,E.getPluginConfig)(t)(n,e);switch(t){case _.STYLE_FILTER:var r=(0,l.default)(n.filters,function(t){return t.type===e});return r?r.value:0;default:return n[e]}};function P(t){return/^TRANSFORM_/.test(t)?g.RENDER_TRANSFORM:/^STYLE_/.test(t)?g.RENDER_STYLE:/^GENERAL_/.test(t)?g.RENDER_GENERAL:/^PLUGIN_/.test(t)?g.RENDER_PLUGIN:void 0}var D=(o={},(0,u.default)(o,_.TRANSFORM_MOVE,Object.freeze({xValue:0,yValue:0,zValue:0})),(0,u.default)(o,_.TRANSFORM_SCALE,Object.freeze({xValue:1,yValue:1,zValue:1})),(0,u.default)(o,_.TRANSFORM_ROTATE,Object.freeze({xValue:0,yValue:0,zValue:0})),(0,u.default)(o,_.TRANSFORM_SKEW,Object.freeze({xValue:0,yValue:0})),o),j=Object.freeze({blur:0,"hue-rotate":0,invert:0,grayscale:0,saturate:100,sepia:0,contrast:100,brightness:100}),F=function(t,e){var n=(0,l.default)(e.filters,function(e){return e.type===t});if(n&&n.unit)return n.unit;switch(t){case"blur":return"px";case"hue-rotate":return"deg";default:return"%"}},G=Object.keys(D);var X=/^rgb/,k=RegExp("rgba?\\(([^)]+)\\)");function V(t,e,n){if(m.IS_BROWSER_ENV){var r=O[e];if(r){var i=n.getStyle,o=n.setStyle,a=i(t,g.WILL_CHANGE);if(a){var u=a.split(g.COMMA_DELIMITER).map(b);-1===u.indexOf(r)&&o(t,g.WILL_CHANGE,u.concat(r).join(g.COMMA_DELIMITER))}else o(t,g.WILL_CHANGE,r)}}}function U(t,e,n){if(m.IS_BROWSER_ENV){var r=O[e];if(r){var i=n.getStyle,o=n.setStyle,a=i(t,g.WILL_CHANGE);a&&-1!==a.indexOf(r)&&o(t,g.WILL_CHANGE,a.split(g.COMMA_DELIMITER).map(b).filter(function(t){return t!==r}).join(g.COMMA_DELIMITER))}}}function H(t){var e=t.actionList,n=void 0===e?{}:e,r=t.event,i=t.elementApi,o=n.actionItemGroups,a=n.continuousParameterGroups;o&&o.forEach(function(t){B({actionGroup:t,event:r,elementApi:i})}),a&&a.forEach(function(t){t.continuousActionGroups.forEach(function(t){B({actionGroup:t,event:r,elementApi:i})})})}function B(t){var e=t.actionGroup,n=t.event,r=t.elementApi;e.actionItems.forEach(function(t){var e=t.actionTypeId,i=t.config,o=W({effect:Y,actionTypeId:e,elementApi:r});L({config:i,event:n,elementApi:r}).forEach(o)})}var W=function(t){var e=t.effect,n=t.actionTypeId,r=t.elementApi;return function(t){switch(n){case _.TRANSFORM_MOVE:case _.TRANSFORM_SCALE:case _.TRANSFORM_ROTATE:case _.TRANSFORM_SKEW:e(t,m.TRANSFORM_PREFIXED,r);break;case _.STYLE_FILTER:e(t,g.FILTER,r);break;case _.STYLE_OPACITY:e(t,g.OPACITY,r);break;case _.STYLE_SIZE:e(t,g.WIDTH,r),e(t,g.HEIGHT,r);break;case _.STYLE_BACKGROUND_COLOR:case _.STYLE_BORDER:case _.STYLE_TEXT_COLOR:e(t,T[n],r);break;case _.GENERAL_DISPLAY:e(t,g.DISPLAY,r)}}};function Y(t,e,n){var r=n.setStyle;U(t,e,n),r(t,e,""),e===m.TRANSFORM_PREFIXED&&r(t,m.TRANSFORM_STYLE_PREFIXED,"")}function z(t){var e=0,n=0;return t.forEach(function(t,r){var i=t.config,o=i.delay+i.duration;o>=e&&(e=o,n=r)}),n}},function(t,e){t.exports=function(t,e){return null==t||t!=t?e:t}},function(t,e,n){var r=n(256),i=n(128),o=n(11),a=n(260),u=n(0);t.exports=function(t,e,n){var c=u(t)?r:a,s=arguments.length<3;return c(t,o(e,4),n,s,i)}},function(t,e){t.exports=function(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i0&&void 0!==arguments[0]?arguments[0]:h,e=arguments[1];if(e.type in E){var n=[E[e.type]];return(0,s.setIn)(t,[n],(0,u.default)({},e.payload))}return t}},function(t,e,n){t.exports={default:n(266),__esModule:!0}},function(t,e,n){n(267),t.exports=n(7).Object.assign},function(t,e,n){var r=n(18);r(r.S+r.F,"Object",{assign:n(268)})},function(t,e,n){"use strict";var r=n(29),i=n(54),o=n(31),a=n(51),u=n(91),c=Object.assign;t.exports=!c||n(21)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=r})?function(t,e){for(var n=a(t),c=arguments.length,s=1,f=i.f,l=o.f;c>s;)for(var d,p=u(arguments[s++]),v=f?r(p).concat(f(p)):r(p),h=v.length,E=0;h>E;)l.call(p,d=v[E++])&&(n[d]=p[d]);return n}:c},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ixSession=void 0;var r=n(2),i=n(26),o=r.IX2EngineActionTypes,a=o.IX2_SESSION_INITIALIZED,u=o.IX2_SESSION_STARTED,c=o.IX2_SESSION_STOPPED,s=o.IX2_EVENT_LISTENER_ADDED,f=o.IX2_EVENT_STATE_CHANGED,l=o.IX2_ACTION_LIST_PLAYBACK_CHANGED,d=o.IX2_VIEWPORT_WIDTH_CHANGED,p=o.IX2_MEDIA_QUERIES_DEFINED,v={active:!1,eventListeners:[],eventState:{},playbackState:{},viewportWidth:0,mediaQueryKey:null,hasBoundaryNodes:!1,hasDefinedMediaQueries:!1};e.ixSession=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v,e=arguments[1];switch(e.type){case a:var n=e.payload.hasBoundaryNodes;return(0,i.set)(t,"hasBoundaryNodes",n);case u:return(0,i.set)(t,"active",!0);case c:return v;case s:var r=(0,i.addLast)(t.eventListeners,e.payload);return(0,i.set)(t,"eventListeners",r);case f:var o=e.payload,h=o.stateKey,E=o.newState;return(0,i.setIn)(t,["eventState",h],E);case l:var g=e.payload,y=g.actionListId,_=g.isPlaying;return(0,i.setIn)(t,["playbackState",y],_);case d:for(var m=e.payload,I=m.width,b=m.mediaQueries,T=b.length,O=null,w=0;w=x&&I<=R){O=A;break}}return(0,i.merge)(t,{viewportWidth:I,mediaQueryKey:O});case p:return(0,i.set)(t,"hasDefinedMediaQueries",!0);default:return t}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ixInstances=void 0;var r=n(2),i=n(26),o=r.IX2EngineActionTypes,a=o.IX2_RAW_DATA_IMPORTED,u=o.IX2_SESSION_STOPPED,c=o.IX2_INSTANCE_ADDED,s=o.IX2_INSTANCE_STARTED,f=o.IX2_INSTANCE_REMOVED,l=o.IX2_ANIMATION_FRAME_CHANGED,d=r.IX2EasingUtils,p=d.optimizeFloat,v=d.applyEasing,h=r.IX2EngineConstants.RENDER_GENERAL,E=r.IX2VanillaUtils,g=E.getItemConfigByKey,y=E.getRenderType,_=E.getStyleProp,m=function(t,e){var n=t.position,r=t.parameterId,o=t.actionGroups,a=t.destinationKeys,u=t.smoothing,c=t.restingValue,s=t.actionTypeId,f=e.payload.parameters,l=Math.max(1-u,.01),d=f[r];null==d&&(l=1,d=c);var h=Math.max(d,0)||0,E=p(h-n),y=p(n+E*l),_=100*y;if(y===n&&t.current)return t;for(var m=void 0,I=void 0,b=void 0,T=void 0,O=0,w=o.length;O=A){m=x[0];var R=o[O+1],L=R&&_!==A;I=L?R.actionItems[0]:null,L&&(b=A/100,T=(R.keyframe-A)/100)}}var N={};if(m&&!I)for(var C=0,M=a.length;C0&&void 0!==arguments[0]?arguments[0]:Object.freeze({}),e=arguments[1];switch(e.type){case a:return e.payload.ixInstances||Object.freeze({});case u:return Object.freeze({});case c:var n=e.payload,r=n.instanceId,o=n.elementId,d=n.actionItem,p=n.eventId,v=n.eventTarget,h=n.eventStateKey,E=n.actionListId,g=n.groupIndex,b=n.isCarrier,T=n.origin,O=n.destination,w=n.immediate,S=n.verbose,A=n.continuous,x=n.parameterId,R=n.actionGroups,L=n.smoothing,N=n.restingValue,C=n.pluginInstance,M=d.actionTypeId,P=y(M),D=_(P,M),j=Object.keys(O).filter(function(t){return null!=O[t]});return(0,i.set)(t,r,{id:r,elementId:o,active:!1,position:0,start:0,origin:T,destination:O,destinationKeys:j,immediate:w,verbose:S,current:null,actionItem:d,actionTypeId:M,eventId:p,eventTarget:v,eventStateKey:h,actionListId:E,groupIndex:g,renderType:P,isCarrier:b,styleProp:D,continuous:A,parameterId:x,actionGroups:R,smoothing:L,restingValue:N,pluginInstance:C});case s:var F=e.payload.instanceId;return(0,i.mergeIn)(t,[F],{active:!0,complete:!1,start:window.performance.now()});case f:var G=e.payload.instanceId;if(!t[G])return t;for(var X={},k=Object.keys(t),V=k.length,U=0;U0&&void 0!==arguments[0]?arguments[0]:{},e=arguments[1];switch(e.type){case i:return e.payload.ixParameters||{};case o:return{};case a:var n=e.payload,r=n.key,u=n.value;return t[r]=u,t;default:return t}}},function(t,e,n){"use strict";e.__esModule=!0;var r,i=n(273),o=(r=i)&&r.__esModule?r:{default:r};e.default=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e1?arguments[1]:void 0,E=void 0!==h,g=0,y=f(d);if(E&&(h=r(h,v>2?arguments[2]:void 0,2)),null==y||p==Array&&u(y))for(n=new p(e=c(d.length));e>g;g++)s(n,g,E?h(d[g],g):d[g]);else for(l=y.call(d),n=new p;!(i=l.next()).done;g++)s(n,g,E?a(l,h,[i.value,g],!0):i.value);return n.length=g,n}})},function(t,e,n){var r=n(19);t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&r(o.call(t)),e}}},function(t,e,n){var r=n(23),i=n(1)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},function(t,e,n){"use strict";var r=n(8),i=n(22);t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},function(t,e,n){var r=n(280),i=n(1)("iterator"),o=n(23);t.exports=n(7).getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[r(t)]}},function(t,e,n){var r=n(46),i=n(1)("toStringTag"),o="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?n:o?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){var r=n(1)("iterator"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:n=!0}},o[r]=function(){return a},t(o)}catch(t){}return n}},function(t,e,n){"use strict";e.__esModule=!0,e.default=function(t,e){var n={};for(var r in t)e.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}},function(t,e,n){var r=n(68),i=n(70),o=n(17),a=n(284),u=n(285),c="[object Map]",s="[object Set]";t.exports=function(t){if(null==t)return 0;if(o(t))return a(t)?u(t):t.length;var e=i(t);return e==c||e==s?t.size:r(t).length}},function(t,e,n){var r=n(16),i=n(0),o=n(13),a="[object String]";t.exports=function(t){return"string"==typeof t||!i(t)&&o(t)&&r(t)==a}},function(t,e,n){var r=n(286),i=n(287),o=n(288);t.exports=function(t){return i(t)?o(t):r(t)}},function(t,e,n){var r=n(121)("length");t.exports=r},function(t,e){var n=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function(t){return n.test(t)}},function(t,e){var n="[\\ud800-\\udfff]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",o="[^\\ud800-\\udfff]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",u="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+r+"|"+i+")"+"?",s="[\\ufe0e\\ufe0f]?"+c+("(?:\\u200d(?:"+[o,a,u].join("|")+")[\\ufe0e\\ufe0f]?"+c+")*"),f="(?:"+[o+r+"?",r,a,u,n].join("|")+")",l=RegExp(i+"(?="+i+")|"+f+s,"g");t.exports=function(t){for(var e=l.lastIndex=0;l.test(t);)++e;return e}},function(t,e,n){var r=n(11),i=n(290),o=n(291);t.exports=function(t,e){return o(t,i(r(e)))}},function(t,e){var n="Expected a function";t.exports=function(t){if("function"!=typeof t)throw new TypeError(n);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}},function(t,e,n){var r=n(120),i=n(11),o=n(292),a=n(295);t.exports=function(t,e){if(null==t)return{};var n=r(a(t),function(t){return[t]});return e=i(e),o(t,n,function(t,n){return e(t,n[0])})}},function(t,e,n){var r=n(71),i=n(293),o=n(39);t.exports=function(t,e,n){for(var a=-1,u=e.length,c={};++a=0&&t.slice(n,c)==e}},function(t,e,n){var r=n(308),i=n(4),o="Expected a function";t.exports=function(t,e,n){var a=!0,u=!0;if("function"!=typeof t)throw new TypeError(o);return i(n)&&(a="leading"in n?!!n.leading:a,u="trailing"in n?!!n.trailing:u),r(t,e,{leading:a,maxWait:e,trailing:u})}},function(t,e,n){var r=n(4),i=n(309),o=n(75),a="Expected a function",u=Math.max,c=Math.min;t.exports=function(t,e,n){var s,f,l,d,p,v,h=0,E=!1,g=!1,y=!0;if("function"!=typeof t)throw new TypeError(a);function _(e){var n=s,r=f;return s=f=void 0,h=e,d=t.apply(r,n)}function m(t){var n=t-v;return void 0===v||n>=e||n<0||g&&t-h>=l}function I(){var t=i();if(m(t))return b(t);p=setTimeout(I,function(t){var n=e-(t-v);return g?c(n,l-(t-h)):n}(t))}function b(t){return p=void 0,y&&s?_(t):(s=f=void 0,d)}function T(){var t=i(),n=m(t);if(s=arguments,f=this,v=t,n){if(void 0===p)return function(t){return h=t,p=setTimeout(I,e),E?_(t):d}(v);if(g)return p=setTimeout(I,e),_(v)}return void 0===p&&(p=setTimeout(I,e)),d}return e=o(e)||0,r(n)&&(E=!!n.leading,l=(g="maxWait"in n)?u(o(n.maxWait)||0,e):l,y="trailing"in n?!!n.trailing:y),T.cancel=function(){void 0!==p&&clearTimeout(p),h=0,s=v=f=p=void 0},T.flush=function(){return void 0===p?d:b(i())},T}},function(t,e,n){var r=n(3);t.exports=function(){return r.Date.now()}},function(t,e,n){"use strict";var r,i=n(27),o=(r=i)&&r.__esModule?r:{default:r};Object.defineProperty(e,"__esModule",{value:!0}),e.getClosestElement=void 0,e.setStyle=function(t,e,n){t.style[e]=n},e.getStyle=function(t,e){return t.style[e]},e.getProperty=function(t,e){return t[e]},e.matchSelector=function(t){return function(e){return e[u](t)}},e.getQuerySelector=function(t){var e=t.id,n=t.selector;if(e){var r=e;if(-1!==e.indexOf(s)){var i=e.split(s),o=i[0];if(r=i[1],o!==document.documentElement.getAttribute(d))return null}return'[data-w-id^="'+r+'"]'}return n},e.getValidDocument=function(t){if(null==t||t===document.documentElement.getAttribute(d))return document;return null},e.queryDocument=function(t,e){return Array.prototype.slice.call(document.querySelectorAll(e?t+" "+e:t))},e.elementContains=function(t,e){return t.contains(e)},e.isSiblingNode=function(t,e){return t!==e&&t.parentNode===e.parentNode},e.getChildElements=function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=[],n=0,r=t.length;n0&&void 0!==arguments[0]?arguments[0]:[],e=[],n=[],r=0,i=t.length;rn.right||e.rightn.bottom||e.bottom1&&void 0!==arguments[1]?arguments[1]:{},r=st(),i=r.stiffScrollTop,o=r.scrollHeight,a=r.innerHeight,c=e.event,s=c.config,f=c.eventTypeId,l=s.scrollOffsetValue,d="PX"===s.scrollOffsetUnit,p=o-a,v=Number((i/p).toFixed(2));if(n&&n.percentTop===v)return n;var h=(d?l:a*(l||0)/100)/p,E=void 0,g=void 0,y=0;n&&(E=v>n.percentTop,y=(g=n.scrollingDown!==E)?v:n.anchorTop);var _=f===P?v>=y+h:v<=y-h,m=(0,u.default)({},n,{percentTop:v,inBounds:_,anchorTop:y,scrollingDown:E});return n&&_&&(g||m.inBounds!==n.inBounds)&&t(e,m)||m}},ht=function(t){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{clickCount:0},r={clickCount:n.clickCount%2+1};return r.clickCount!==n.clickCount&&t(e,r)||r}},Et=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return(0,u.default)({},ot,{handler:rt(t?tt:Z,dt(function(t,e){return e.isActive?it.handler(t,e):e}))})},gt=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return(0,u.default)({},ot,{handler:rt(t?tt:Z,dt(function(t,e){return e.isActive?e:it.handler(t,e)}))})},yt=(0,u.default)({},ut,{handler:(g=function(t,e){var n=e.elementVisible,r=t.event;return!t.store.getState().ixData.events[r.action.config.autoStopEventId]&&e.triggered?e:r.eventTypeId===D===n?(nt(t),(0,u.default)({},e,{triggered:!0})):e},function(t,e){var n=(0,u.default)({},e,{elementVisible:lt(t)});return(e?n.elementVisible!==e.elementVisible:n.elementVisible)&&g(t,n)||n})});e.default=(r={},(0,i.default)(r,A,Et()),(0,i.default)(r,x,gt()),(0,i.default)(r,S,Et()),(0,i.default)(r,w,gt()),(0,i.default)(r,C,Et(!1)),(0,i.default)(r,N,gt(!1)),(0,i.default)(r,R,Et()),(0,i.default)(r,L,gt()),(0,i.default)(r,H,{types:"ecommerce-cart-open",handler:rt(tt,nt)}),(0,i.default)(r,U,{types:"ecommerce-cart-close",handler:rt(tt,nt)}),(0,i.default)(r,_,{types:"click",handler:rt(tt,ht(function(t,e){var n,r,i,o=e.clickCount;r=(n=t).store,i=n.event.action.config.autoStopEventId,Boolean(et(r,i))?1===o&&nt(t):nt(t)}))}),(0,i.default)(r,m,{types:"click",handler:rt(tt,ht(function(t,e){2===e.clickCount&&nt(t)}))}),(0,i.default)(r,I,(0,u.default)({},it,{types:"mousedown"})),(0,i.default)(r,b,(0,u.default)({},it,{types:"mouseup"})),(0,i.default)(r,T,{types:"mouseover mouseout",handler:rt(tt,pt(function(t,e){e.elementHovered&&nt(t)}))}),(0,i.default)(r,O,{types:"mouseover mouseout",handler:rt(tt,pt(function(t,e){e.elementHovered||nt(t)}))}),(0,i.default)(r,M,{types:"mousemove mouseout scroll",handler:function(t){var e=t.store,n=t.element,r=t.eventConfig,i=t.nativeEvent,o=t.eventStateKey,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{clientX:0,clientY:0,pageX:0,pageY:0},u=r.basedOn,c=r.selectedAxis,s=r.continuousParameterGroupId,f=r.reverse,l=r.restingState,p=void 0===l?0:l,v=i.clientX,h=void 0===v?a.clientX:v,E=i.clientY,g=void 0===E?a.clientY:E,y=i.pageX,_=void 0===y?a.pageX:y,m=i.pageY,I=void 0===m?a.pageY:m,b="X_AXIS"===c,T="mouseout"===i.type,O=p/100,w=s,S=!1;switch(u){case z:O=b?Math.min(h,window.innerWidth)/window.innerWidth:Math.min(g,window.innerHeight)/window.innerHeight;break;case K:var A=st(),x=A.scrollLeft,R=A.scrollTop,L=A.scrollWidth,N=A.scrollHeight;O=b?Math.min(x+_,L)/L:Math.min(R+I,N)/N;break;case Y:default:w=q(o,s);var C=0===i.type.indexOf("mouse");if(C&&!0!==tt({element:n,nativeEvent:i}))break;var M=n.getBoundingClientRect(),P=M.left,D=M.top,j=M.width,F=M.height;if(!C&&!function(t,e){return t.left>e.left&&t.lefte.top&&t.top.95||O<.05)&&(O=Math.round(O)),(u!==Y||S||S!==a.elementHovered)&&(O=f?1-O:O,e.dispatch((0,d.parameterChanged)(w,O))),{elementHovered:S,clientX:h,clientY:g,pageX:_,pageY:I}}}),(0,i.default)(r,W,{types:at,handler:function(t){var e=t.store,n=t.eventConfig,r=n.continuousParameterGroupId,i=n.reverse,o=st(),a=o.scrollTop/(o.scrollHeight-o.clientHeight);a=i?1-a:a,e.dispatch((0,d.parameterChanged)(r,a))}}),(0,i.default)(r,k,{types:at,handler:function(t){var e=t.element,n=t.store,r=t.eventConfig,i=t.eventStateKey,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{scrollPercent:0},a=st(),u=a.scrollLeft,c=a.scrollTop,s=a.scrollWidth,f=a.scrollHeight,l=a.clientHeight,p=r.basedOn,v=r.selectedAxis,h=r.continuousParameterGroupId,E=r.startsEntering,g=r.startsExiting,y=r.addEndOffset,_=r.addStartOffset,m=r.addOffsetValue,I=void 0===m?0:m,b=r.endOffsetValue,T=void 0===b?0:b;if(p===z){var O="X_AXIS"===v?u/s:c/f;return O!==o.scrollPercent&&n.dispatch((0,d.parameterChanged)(h,O)),{scrollPercent:O}}var w=q(i,h),S=e.getBoundingClientRect(),A=(_?I:0)/100,x=(y?T:0)/100;A=E?A:1-A,x=g?x:1-x;var R=S.top+Math.min(S.height*A,l),L=S.top+S.height*x-R,N=Math.min(l+L,f),C=Math.min(Math.max(0,l-R),N)/N;return C!==o.scrollPercent&&n.dispatch((0,d.parameterChanged)(w,C)),{scrollPercent:C}}}),(0,i.default)(r,D,yt),(0,i.default)(r,G,yt),(0,i.default)(r,P,(0,u.default)({},ut,{handler:vt(function(t,e){e.scrollingDown&&nt(t)})})),(0,i.default)(r,X,(0,u.default)({},ut,{handler:vt(function(t,e){e.scrollingDown||nt(t)})})),(0,i.default)(r,V,{types:"readystatechange IX2_PAGE_UPDATE",handler:rt(Z,function(t){return function(e,n){var r={finished:"complete"===document.readyState};return!r.finished||n&&n.finshed||t(e),r}}(nt))}),(0,i.default)(r,B,{types:"readystatechange IX2_PAGE_UPDATE",handler:rt(Z,function(t){return function(e,n){return n||t(e),{started:!0}}}(nt))}),r)},function(t,e,n){var r=n(313)();t.exports=r},function(t,e,n){var r=n(79),i=n(314),o=n(136),a=n(137),u=n(0),c=n(327),s="Expected a function",f=8,l=32,d=128,p=256;t.exports=function(t){return i(function(e){var n=e.length,i=n,v=r.prototype.thru;for(t&&e.reverse();i--;){var h=e[i];if("function"!=typeof h)throw new TypeError(s);if(v&&!E&&"wrapper"==a(h))var E=new r([],!0)}for(i=E?i:n;++i0&&o(f)?n>1?t(f,n-1,o,a,u):r(u,f):a||(u[u.length]=f)}return u}},function(t,e,n){var r=n(24),i=n(37),o=n(0),a=r?r.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||i(t)||!!(a&&t&&t[a])}},function(t,e,n){var r=n(319),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,u=i(o.length-e,0),c=Array(u);++a0){if(++e>=n)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},function(t,e,n){var r=n(115),i=r&&new r;t.exports=i},function(t,e){t.exports=function(){}},function(t,e){t.exports={}},function(t,e,n){var r=n(81),i=n(136),o=n(137),a=n(328);t.exports=function(t){var e=o(t),n=a[e];if("function"!=typeof n||!(e in r.prototype))return!1;if(t===n)return!0;var u=i(n);return!!u&&t===u[0]}},function(t,e,n){var r=n(81),i=n(79),o=n(80),a=n(0),u=n(13),c=n(329),s=Object.prototype.hasOwnProperty;function f(t){if(u(t)&&!a(t)&&!(t instanceof r)){if(t instanceof i)return t;if(s.call(t,"__wrapped__"))return c(t)}return new i(t)}f.prototype=o.prototype,f.prototype.constructor=f,t.exports=f},function(t,e,n){var r=n(81),i=n(79),o=n(330);t.exports=function(t){if(t instanceof r)return t.clone();var e=new i(t.__wrapped__,t.__chain__);return e.__actions__=o(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}},function(t,e){t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n=0)){var a=t(e);if(f.hash.length>1&&f.host+f.pathname===s.host+s.pathname){if(!/^#[a-zA-Z0-9\-\_]+$/.test(f.hash))return;var u=t(f.hash);u.length&&i.push({link:a,sec:u,active:!1})}else if("#"!==r&&""!==r){var c=f.href===s.href||r===o||d.test(r)&&p.test(o);E(a,l,c)}}}function h(){var t=u.scrollTop(),n=u.height();e.each(i,function(e){var r=e.link,i=e.sec,o=i.offset().top,a=i.outerHeight(),u=.5*n,c=i.is(":visible")&&o+a-u>=t&&o+u<=t+n;e.active!==c&&(e.active=c,E(r,l,c))})}function E(t,e,n){var r=t.hasClass(e);n&&r||(n||r)&&(n?t.addClass(e):t.removeClass(e))}return a.ready=a.design=a.preview=function(){n=c&&r.env("design"),o=r.env("slug")||s.pathname||"",r.scroll.off(h),i=[];for(var t=document.links,e=0;e .header, "+f+" > .w-nav:not([data-no-scroll])"),d="fixed"===l.css("position")?l.outerHeight():0;n.setTimeout(function(){!function(e,r){var i=t(n).scrollTop(),o=e.offset().top-r;if("mid"===e.data("scroll")){var a=t(n).height()-r,u=e.outerHeight();u0)&&(c=e)}),Date.now||(Date.now=function(){return(new Date).getTime()});var s=Date.now(),f=n.requestAnimationFrame||n.mozRequestAnimationFrame||n.webkitRequestAnimationFrame||function(t){n.setTimeout(t,15)},l=(472.143*Math.log(Math.abs(i-o)+125)-2e3)*c;!function t(){var e=Date.now()-s;n.scroll(0,function(t,e,n,r){return n>r?e:t+(e-t)*((i=n/r)<.5?4*i*i*i:(i-1)*(2*i-2)*(2*i-2)+1);var i}(i,o,e,l)),e<=l&&f(t)}()}(c,d)},u?0:300)}}}(s,e)}else e.preventDefault()})}}})},function(t,e,n){"use strict";n(5).define("touch",t.exports=function(t){var e={},n=!document.addEventListener,r=window.getSelection;function i(t){var e,n,i,a=!1,u=!1,c=!1,s=Math.min(Math.round(.04*window.innerWidth),40);function f(t){var r=t.touches;r&&r.length>1||(a=!0,u=!1,r?(c=!0,e=r[0].clientX,n=r[0].clientY):(e=t.clientX,n=t.clientY),i=e)}function l(t){if(a){if(c&&"mousemove"===t.type)return t.preventDefault(),void t.stopPropagation();var f=t.touches,l=f?f[0].clientX:t.clientX,d=f?f[0].clientY:t.clientY,v=l-i;i=l,Math.abs(v)>s&&r&&""===String(r())&&(o("swipe",t,{direction:v>0?"right":"left"}),p()),(Math.abs(l-e)>10||Math.abs(d-n)>10)&&(u=!0)}}function d(t){if(a){if(a=!1,c&&"mouseup"===t.type)return t.preventDefault(),t.stopPropagation(),void(c=!1);u||o("tap",t)}}function p(){a=!1}t.addEventListener("touchstart",f,!1),t.addEventListener("touchmove",l,!1),t.addEventListener("touchend",d,!1),t.addEventListener("touchcancel",p,!1),t.addEventListener("mousedown",f,!1),t.addEventListener("mousemove",l,!1),t.addEventListener("mouseup",d,!1),t.addEventListener("mouseout",p,!1),this.destroy=function(){t.removeEventListener("touchstart",f,!1),t.removeEventListener("touchmove",l,!1),t.removeEventListener("touchend",d,!1),t.removeEventListener("touchcancel",p,!1),t.removeEventListener("mousedown",f,!1),t.removeEventListener("mousemove",l,!1),t.removeEventListener("mouseup",d,!1),t.removeEventListener("mouseout",p,!1),t=null}}function o(e,n,r){var i=t.Event(e,{originalEvent:n});t(n.target).trigger(i,r)}return n&&(t.event.special.tap={bindType:"click",delegateType:"click"}),e.init=function(e){return n?null:(e="string"==typeof e?t(e).get(0):e)?new i(e):null},e.instance=e.init(document),e})},function(t,e,n){"use strict";var r=n(5);r.define("forms",t.exports=function(t,e){var n,i,o,a,u,c={},s=t(document),f=window.location,l=window.XDomainRequest&&!window.atob,d=".w-form",p=/e(-)?mail/i,v=/^\S+@\S+$/,h=window.alert,E=r.env(),g=/list-manage[1-9]?.com/i,y=e.debounce(function(){h("Oops! This page has improperly configured forms. Please contact your website administrator to fix this issue.")},100);function _(e,n){var r=t(n),o=t.data(n,d);o||(o=t.data(n,d,{form:r})),m(o);var a=r.closest("div.w-form");o.done=a.find("> .w-form-done"),o.fail=a.find("> .w-form-fail"),o.fileUploads=a.find(".w-file-upload"),o.fileUploads.each(function(e){!function(e,n){if(!n.fileUploads||!n.fileUploads[e])return;var r,i=t(n.fileUploads[e]),o=i.find("> .w-file-upload-default"),a=i.find("> .w-file-upload-uploading"),c=i.find("> .w-file-upload-success"),s=i.find("> .w-file-upload-error"),f=o.find(".w-file-upload-input"),l=o.find(".w-file-upload-label"),d=l.children(),p=s.find(".w-file-upload-error-msg"),v=c.find(".w-file-upload-file"),h=c.find(".w-file-remove-link"),g=v.find(".w-file-upload-file-name"),y=p.attr("data-w-size-error"),_=p.attr("data-w-type-error"),b=p.attr("data-w-generic-error");if(E)f.on("click",function(t){t.preventDefault()}),l.on("click",function(t){t.preventDefault()}),d.on("click",function(t){t.preventDefault()});else{h.on("click",function(){f.removeAttr("data-value"),f.val(""),g.html(""),o.toggle(!0),c.toggle(!1)}),f.on("change",function(i){(r=i.target&&i.target.files&&i.target.files[0])&&(o.toggle(!1),s.toggle(!1),a.toggle(!0),g.text(r.name),A()||I(n),n.fileUploads[e].uploading=!0,function(e,n){var r={name:e.name,size:e.size};t.ajax({type:"POST",url:u,data:r,dataType:"json",crossDomain:!0}).done(function(t){n(null,t)}).fail(function(t){n(t)})}(r,w))});var T=l.outerHeight();f.height(T),f.width(1)}function O(t){var r=t.responseJSON&&t.responseJSON.msg,i=b;"string"==typeof r&&0===r.indexOf("InvalidFileTypeError")?i=_:"string"==typeof r&&0===r.indexOf("MaxFileSizeError")&&(i=y),p.text(i),f.removeAttr("data-value"),f.val(""),a.toggle(!1),o.toggle(!0),s.toggle(!0),n.fileUploads[e].uploading=!1,A()||m(n)}function w(e,n){if(e)return O(e);var i=n.fileName,o=n.postData,a=n.fileId,u=n.s3Url;f.attr("data-value",a),function(e,n,r,i,o){var a=new FormData;for(var u in n)a.append(u,n[u]);a.append("file",r,i),t.ajax({type:"POST",url:e,data:a,processData:!1,contentType:!1}).done(function(){o(null)}).fail(function(t){o(t)})}(u,o,r,i,S)}function S(t){if(t)return O(t);a.toggle(!1),c.css("display","inline-block"),n.fileUploads[e].uploading=!1,A()||m(n)}function A(){var t=n.fileUploads&&n.fileUploads.toArray()||[];return t.some(function(t){return t.uploading})}}(e,o)});var c=o.action=r.attr("action");o.handler=null,o.redirect=r.attr("data-redirect"),g.test(c)?o.handler=O:c||(i?o.handler="function"==typeof hostedSubmitWebflow?hostedSubmitWebflow:T:y())}function m(t){var e=t.btn=t.form.find(':input[type="submit"]');t.wait=t.btn.attr("data-wait")||null,t.success=!1,e.prop("disabled",!1),t.label&&e.val(t.label)}function I(t){var e=t.btn,n=t.wait;e.prop("disabled",!0),n&&(t.label=e.val(),e.val(n))}function b(e,n){var r=null;return n=n||{},e.find(':input:not([type="submit"]):not([type="file"])').each(function(i,o){var a=t(o),u=a.attr("type"),c=a.attr("data-name")||a.attr("name")||"Field "+(i+1),s=a.val();if("checkbox"===u)s=a.is(":checked");else if("radio"===u){if(null===n[c]||"string"==typeof n[c])return;s=e.find('input[name="'+a.attr("name")+'"]:checked').val()||null}"string"==typeof s&&(s=t.trim(s)),n[c]=s,r=r||function(t,e,n,r){var i=null;"password"===e?i="Passwords cannot be submitted.":t.attr("required")?r?p.test(t.attr("type"))&&(v.test(r)||(i="Please enter a valid email address for: "+n)):i="Please fill out the required field: "+n:"g-recaptcha-response"!==n||r||(i="Please confirm you’re not a robot.");return i}(a,u,c,s)}),r}function T(t){S(t),w(t)}function O(n){m(n);var r=n.form,i={};if(!/^https/.test(f.href)||/^https/.test(n.action)){S(n);var o,a=b(r,i);if(a)return h(a);I(n),e.each(i,function(t,e){p.test(e)&&(i.EMAIL=t),/^((full[ _-]?)?name)$/i.test(e)&&(o=t),/^(first[ _-]?name)$/i.test(e)&&(i.FNAME=t),/^(last[ _-]?name)$/i.test(e)&&(i.LNAME=t)}),o&&!i.FNAME&&(o=o.split(" "),i.FNAME=o[0],i.LNAME=i.LNAME||o[1]);var u=n.action.replace("/post?","/post-json?")+"&c=?",c=u.indexOf("u=")+2;c=u.substring(c,u.indexOf("&",c));var s=u.indexOf("id=")+3;s=u.substring(s,u.indexOf("&",s)),i["b_"+c+"_"+s]="",t.ajax({url:u,data:i,dataType:"jsonp"}).done(function(t){n.success="success"===t.result||/already/.test(t.msg),n.success||console.info("MailChimp error: "+t.msg),w(n)}).fail(function(){w(n)})}else r.attr("method","post")}function w(t){var e=t.form,n=t.redirect,i=t.success;i&&n?r.location(n):(t.done.toggle(i),t.fail.toggle(!i),e.toggle(!i),m(t))}function S(t){t.evt&&t.evt.preventDefault(),t.evt=null}return c.ready=c.design=c.preview=function(){!function(){i=t("html").attr("data-wf-site"),a="https://webflow.com/api/v1/form/"+i,l&&a.indexOf("https://webflow.com")>=0&&(a=a.replace("https://webflow.com","http://formdata.webflow.com"));if(u=a+"/signFile",!(n=t(d+" form")).length)return;n.each(_)}(),E||o||(o=!0,s.on("submit",d+" form",function(e){var n=t.data(this,d);n.handler&&(n.evt=e,n.handler(n))}))},c})},function(t,e,n){"use strict";var r=n(5),i=n(55);r.define("navbar",t.exports=function(t,e){var n,o,a,u,c={},s=t.tram,f=t(window),l=t(document),d=r.env(),p='
',v=".w-nav",h="w--open",E="w--nav-menu-open",g="w--nav-link-open",y=i.triggers,_=t();function m(){r.resize.off(I)}function I(){o.each(x)}function b(n,i){var o=t(i),c=t.data(i,v);c||(c=t.data(i,v,{open:!1,el:o,config:{}})),c.menu=o.find(".w-nav-menu"),c.links=c.menu.find(".w-nav-link"),c.dropdowns=c.menu.find(".w-dropdown"),c.button=o.find(".w-nav-button"),c.container=o.find(".w-container"),c.outside=function(e){e.outside&&l.off("tap"+v,e.outside);return function(n){var r=t(n.target);u&&r.closest(".w-editor-bem-EditorOverlay").length||A(e,r)}}(c),c.el.off(v),c.button.off(v),c.menu.off(v),w(c),a?(O(c),c.el.on("setting"+v,function(t){return function(n,r){r=r||{};var i=f.width();w(t),!0===r.open&&L(t,!0),!1===r.open&&C(t,!0),t.open&&e.defer(function(){i!==f.width()&&S(t)})}}(c))):(!function(e){if(e.overlay)return;e.overlay=t(p).appendTo(e.el),e.parent=e.menu.parent(),C(e,!0)}(c),c.button.on("tap"+v,function(t){return e.debounce(function(){t.open?C(t):L(t)})}(c)),c.menu.on("click"+v,"a",function(e){return function(n){var i=t(this),o=i.attr("href");r.validClick(n.currentTarget)?o&&0===o.indexOf("#")&&e.open&&C(e):n.preventDefault()}}(c))),x(n,i)}function T(e,n){var r=t.data(n,v);r&&(O(r),t.removeData(n,v))}function O(t){t.overlay&&(C(t,!0),t.overlay.remove(),t.overlay=null)}function w(t){var n={},r=t.config||{},i=n.animation=t.el.attr("data-animation")||"default";n.animOver=/^over/.test(i),n.animDirect=/left$/.test(i)?-1:1,r.animation!==i&&t.open&&e.defer(S,t),n.easing=t.el.attr("data-easing")||"ease",n.easing2=t.el.attr("data-easing2")||"ease";var o=t.el.attr("data-duration");n.duration=null!=o?Number(o):400,n.docHeight=t.el.attr("data-doc-height"),t.config=n}function S(t){t.open&&(C(t,!0),L(t,!0))}c.ready=c.design=c.preview=function(){if(a=d&&r.env("design"),u=r.env("editor"),n=t(document.body),!(o=l.find(v)).length)return;o.each(b),m(),r.resize.on(I)},c.destroy=function(){_=t(),m(),o&&o.length&&o.each(T)};var A=e.debounce(function(t,e){if(t.open){var n=e.closest(".w-nav-menu");t.menu.is(n)||C(t)}});function x(e,n){var r=t.data(n,v),i=r.collapsed="none"!==r.button.css("display");if(!r.open||i||a||C(r,!0),r.container.length){var o=function(e){var n=e.container.css(R);"none"===n&&(n="");return function(e,r){(r=t(r)).css(R,""),"none"===r.css(R)&&r.css(R,n)}}(r);r.links.each(o),r.dropdowns.each(o)}r.open&&N(r)}var R="max-width";function L(t,e){if(!t.open){t.open=!0,t.menu.addClass(E),t.links.addClass(g),t.button.addClass(h);var n=t.config;"none"!==n.animation&&s.support.transform||(e=!0);var i=N(t),o=t.menu.outerHeight(!0),u=t.menu.outerWidth(!0),c=t.el.height(),f=t.el[0];if(x(0,f),y.intro(0,f),r.redraw.up(),a||l.on("tap"+v,t.outside),!e){var d="transform "+n.duration+"ms "+n.easing;if(t.overlay&&(_=t.menu.prev(),t.overlay.show().append(t.menu)),n.animOver)return s(t.menu).add(d).set({x:n.animDirect*u,height:i}).start({x:0}),void(t.overlay&&t.overlay.width(u));var p=c+o;s(t.menu).add(d).set({y:-p}).start({y:0})}}}function N(t){var e=t.config,r=e.docHeight?l.height():n.height();return e.animOver?t.menu.height(r):"fixed"!==t.el.css("position")&&(r-=t.el.height()),t.overlay&&t.overlay.height(r),r}function C(t,e){if(t.open){t.open=!1,t.button.removeClass(h);var n=t.config;if(("none"===n.animation||!s.support.transform||n.duration<=0)&&(e=!0),y.outro(0,t.el[0]),l.off("tap"+v,t.outside),e)return s(t.menu).stop(),void c();var r="transform "+n.duration+"ms "+n.easing2,i=t.menu.outerHeight(!0),o=t.menu.outerWidth(!0),a=t.el.height();if(n.animOver)s(t.menu).add(r).start({x:o*n.animDirect}).then(c);else{var u=a+i;s(t.menu).add(r).start({y:-u}).then(c)}}function c(){t.menu.height(""),s(t.menu).set({x:0,y:0}),t.menu.removeClass(E),t.links.removeClass(g),t.overlay&&t.overlay.children().length&&(_.length?t.menu.insertAfter(_):t.menu.prependTo(t.parent),t.overlay.attr("style","").hide()),t.el.triggerHandler("w-close")}}return c})},function(t,e,n){"use strict";var r=n(5),i=n(55);r.define("slider",t.exports=function(t,e){var n,o,a,u,c={},s=t.tram,f=t(document),l=r.env(),d=".w-slider",p='
',v=i.triggers;function h(){(n=f.find(d)).length&&(n.filter(":visible").each(y),u=null,a||(E(),r.resize.on(g),r.redraw.on(c.redraw)))}function E(){r.resize.off(g),r.redraw.off(c.redraw)}function g(){n.filter(":visible").each(S)}function y(e,n){var r=t(n),i=t.data(n,d);if(i||(i=t.data(n,d,{index:0,depth:1,el:r,config:{}})),i.mask=r.children(".w-slider-mask"),i.left=r.children(".w-slider-arrow-left"),i.right=r.children(".w-slider-arrow-right"),i.nav=r.children(".w-slider-nav"),i.slides=i.mask.children(".w-slide"),i.slides.each(v.reset),u&&(i.maskWidth=0),!s.support.transform)return i.left.hide(),i.right.hide(),i.nav.hide(),void(a=!0);i.el.off(d),i.left.off(d),i.right.off(d),i.nav.off(d),_(i),o?(i.el.on("setting"+d,O(i)),T(i),i.hasTimer=!1):(i.el.on("swipe"+d,O(i)),i.left.on("tap"+d,I(i)),i.right.on("tap"+d,b(i)),i.config.autoplay&&!i.hasTimer&&(i.hasTimer=!0,i.timerCount=1,function t(e){T(e);var n=e.config;var r=n.timerMax;if(r&&e.timerCount++>r)return;e.timerId=window.setTimeout(function(){null==e.timerId||o||(b(e)(),t(e))},n.delay)}(i))),i.nav.on("tap"+d,"> div",O(i)),l||i.mask.contents().filter(function(){return 3===this.nodeType}).remove(),S(e,n)}function _(t){var e={crossOver:0};e.animation=t.el.attr("data-animation")||"slide","outin"===e.animation&&(e.animation="cross",e.crossOver=.5),e.easing=t.el.attr("data-easing")||"ease";var n=t.el.attr("data-duration");if(e.duration=null!=n?parseInt(n,10):500,m(t.el.attr("data-infinite"))&&(e.infinite=!0),m(t.el.attr("data-disable-swipe"))&&(e.disableSwipe=!0),m(t.el.attr("data-hide-arrows"))?e.hideArrows=!0:t.config.hideArrows&&(t.left.show(),t.right.show()),m(t.el.attr("data-autoplay"))){e.autoplay=!0,e.delay=parseInt(t.el.attr("data-delay"),10)||2e3,e.timerMax=parseInt(t.el.attr("data-autoplay-limit"),10);var r="mousedown"+d+" touchstart"+d;o||t.el.off(r).one(r,function(){T(t)})}var i=t.right.width();e.edge=i?i+40:100,t.config=e}function m(t){return"1"===t||"true"===t}function I(t){return function(){w(t,{index:t.index-1,vector:-1})}}function b(t){return function(){w(t,{index:t.index+1,vector:1})}}function T(t){window.clearTimeout(t.timerId),t.timerId=null}function O(n){return function(i,a){a=a||{};var u=n.config;if(o&&"setting"===i.type){if("prev"===a.select)return I(n)();if("next"===a.select)return b(n)();if(_(n),A(n),null==a.select)return;!function(n,r){var i=null;r===n.slides.length&&(h(),A(n)),e.each(n.anchors,function(e,n){t(e.els).each(function(e,o){t(o).index()===r&&(i=n)})}),null!=i&&w(n,{index:i,immediate:!0})}(n,a.select)}else{if("swipe"===i.type){if(u.disableSwipe)return;if(r.env("editor"))return;return"left"===a.direction?b(n)():"right"===a.direction?I(n)():void 0}n.nav.has(i.target).length&&w(n,{index:t(i.target).index()})}}}function w(e,n){n=n||{};var r=e.config,i=e.anchors;e.previous=e.index;var a=n.index,c={};a<0?(a=i.length-1,r.infinite&&(c.x=-e.endX,c.from=0,c.to=i[0].width)):a>=i.length&&(a=0,r.infinite&&(c.x=i[i.length-1].width,c.from=-i[i.length-1].x,c.to=c.from-c.x)),e.index=a;var f=e.nav.children().eq(e.index).addClass("w-active");e.nav.children().not(f).removeClass("w-active"),r.hideArrows&&(e.index===i.length-1?e.right.hide():e.right.show(),0===e.index?e.left.hide():e.left.show());var l=e.offsetX||0,d=e.offsetX=-i[e.index].x,p={x:d,opacity:1,visibility:""},h=t(i[e.index].els),E=t(i[e.previous]&&i[e.previous].els),g=e.slides.not(h),y=r.animation,_=r.easing,m=Math.round(r.duration),I=n.vector||(e.index>e.previous?1:-1),b="opacity "+m+"ms "+_,T="transform "+m+"ms "+_;if(o||(h.each(v.intro),g.each(v.outro)),n.immediate&&!u)return s(h).set(p),void S();if(e.index!==e.previous){if("cross"===y){var O=Math.round(m-m*r.crossOver),w=Math.round(m-O);return b="opacity "+O+"ms "+_,s(E).set({visibility:""}).add(b).start({opacity:0}),void s(h).set({visibility:"",x:d,opacity:0,zIndex:e.depth++}).add(b).wait(w).then({opacity:1}).then(S)}if("fade"===y)return s(E).set({visibility:""}).stop(),void s(h).set({visibility:"",x:d,opacity:0,zIndex:e.depth++}).add(b).start({opacity:1}).then(S);if("over"===y)return p={x:e.endX},s(E).set({visibility:""}).stop(),void s(h).set({visibility:"",zIndex:e.depth++,x:d+i[e.index].width*I}).add(T).start({x:d}).then(S);r.infinite&&c.x?(s(e.slides.not(E)).set({visibility:"",x:c.x}).add(T).start({x:d}),s(E).set({visibility:"",x:c.from}).add(T).start({x:c.to}),e.shifted=E):(r.infinite&&e.shifted&&(s(e.shifted).set({visibility:"",x:l}),e.shifted=null),s(e.slides).set({visibility:""}).add(T).start({x:d}))}function S(){h=t(i[e.index].els),g=e.slides.not(h),"slide"!==y&&(p.visibility="hidden"),s(g).set(p)}}function S(e,n){var r=t.data(n,d);if(r)return function(t){var e=t.mask.width();if(t.maskWidth!==e)return t.maskWidth=e,!0;return!1}(r)?A(r):void(o&&function(e){var n=0;if(e.slides.each(function(e,r){n+=t(r).outerWidth(!0)}),e.slidesWidth!==n)return e.slidesWidth=n,!0;return!1}(r)&&A(r))}function A(e){var n=1,r=0,i=0,a=0,u=e.maskWidth,c=u-e.config.edge;c<0&&(c=0),e.anchors=[{els:[],x:0,width:0}],e.slides.each(function(o,s){i-r>c&&(n++,r+=u,e.anchors[n-1]={els:[],x:i,width:0}),a=t(s).outerWidth(!0),i+=a,e.anchors[n-1].width+=a,e.anchors[n-1].els.push(s)}),e.endX=i,o&&(e.pages=null),e.nav.length&&e.pages!==n&&(e.pages=n,function(e){var n,r=[],i=e.el.attr("data-nav-spacing");i&&(i=parseFloat(i)+"px");for(var o=0;o=n&&(s=n-1),w(e,{immediate:!0,index:s})}return c.ready=function(){o=r.env("design"),h()},c.design=function(){o=!0,h()},c.preview=function(){o=!1,h()},c.redraw=function(){u=!0,h()},c.destroy=E,c})}]);/** +t.exports=function(){var t={VERSION:"1.6.0-Webflow"},e={},n=Array.prototype,r=Object.prototype,o=Function.prototype,a=(n.push,n.slice),u=(n.concat,r.toString,r.hasOwnProperty),c=n.forEach,s=n.map,f=(n.reduce,n.reduceRight,n.filter),l=(n.every,n.some),d=n.indexOf,p=(n.lastIndexOf,Array.isArray,Object.keys),v=(o.bind,t.each=t.forEach=function(n,r,i){if(null==n)return n;if(c&&n.forEach===c)n.forEach(r,i);else if(n.length===+n.length){for(var o=0,a=n.length;o/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var E=/(.)^/,g={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},y=/\\|'|\r|\n|\u2028|\u2029/g,_=function(t){return"\\"+g[t]};return t.template=function(e,n,r){!n&&r&&(n=r),n=t.defaults({},n,t.templateSettings);var i=RegExp([(n.escape||E).source,(n.interpolate||E).source,(n.evaluate||E).source].join("|")+"|$","g"),o=0,a="__p+='";e.replace(i,function(t,n,r,i,u){return a+=e.slice(o,u).replace(y,_),o=u+t.length,n?a+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?a+="'+\n((__t=("+r+"))==null?'':__t)+\n'":i&&(a+="';\n"+i+"\n__p+='"),t}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{var u=new Function(n.variable||"obj","_",a)}catch(t){throw t.source=a,t}var c=function(e){return u.call(this,e,t)},s=n.variable||"obj";return c.source="function("+s+"){\n"+a+"}",c},t}()},function(t,e,n){t.exports={default:n(142),__esModule:!0}},function(t,e,n){n(83),n(151),t.exports=n(52).f("iterator")},function(t,e,n){var r=n(43),i=n(44);t.exports=function(t){return function(e,n){var o,a,u=String(i(e)),c=r(n),s=u.length;return c<0||c>=s?t?"":void 0:(o=u.charCodeAt(c))<55296||o>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):o:t?u.slice(c,c+2):a-56320+(o-55296<<10)+65536}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){"use strict";var r=n(89),i=n(22),o=n(50),a={};n(14)(a,n(1)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},function(t,e,n){var r=n(8),i=n(19),o=n(29);t.exports=n(9)?Object.defineProperties:function(t,e){i(t);for(var n,a=o(e),u=a.length,c=0;u>c;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(15),i=n(92),o=n(148);t.exports=function(t){return function(e,n,a){var u,c=r(e),s=i(c.length),f=o(a,s);if(t&&n!=n){for(;s>f;)if((u=c[f++])!=u)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e,n){var r=n(43),i=Math.max,o=Math.min;t.exports=function(t,e){return(t=r(t))<0?i(t+e,0):o(t,e)}},function(t,e,n){var r=n(6).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(10),i=n(51),o=n(47)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,n){n(152);for(var r=n(6),i=n(14),o=n(23),a=n(1)("toStringTag"),u="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(","),c=0;c=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){t.exports={default:n(156),__esModule:!0}},function(t,e,n){n(157),n(163),n(164),n(165),t.exports=n(7).Symbol},function(t,e,n){"use strict";var r=n(6),i=n(10),o=n(9),a=n(18),u=n(88),c=n(158).KEY,s=n(21),f=n(48),l=n(50),d=n(30),p=n(1),v=n(52),h=n(53),E=n(159),g=n(160),y=n(19),_=n(20),m=n(15),I=n(45),b=n(22),T=n(89),O=n(161),w=n(162),S=n(8),A=n(29),x=w.f,R=S.f,L=O.f,N=r.Symbol,C=r.JSON,M=C&&C.stringify,P=p("_hidden"),D=p("toPrimitive"),j={}.propertyIsEnumerable,F=f("symbol-registry"),G=f("symbols"),X=f("op-symbols"),k=Object.prototype,V="function"==typeof N,U=r.QObject,H=!U||!U.prototype||!U.prototype.findChild,B=o&&s(function(){return 7!=T(R({},"a",{get:function(){return R(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=x(k,e);r&&delete k[e],R(t,e,n),r&&t!==k&&R(k,e,r)}:R,W=function(t){var e=G[t]=T(N.prototype);return e._k=t,e},Y=V&&"symbol"==typeof N.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof N},z=function(t,e,n){return t===k&&z(X,e,n),y(t),e=I(e,!0),y(n),i(G,e)?(n.enumerable?(i(t,P)&&t[P][e]&&(t[P][e]=!1),n=T(n,{enumerable:b(0,!1)})):(i(t,P)||R(t,P,b(1,{})),t[P][e]=!0),B(t,e,n)):R(t,e,n)},K=function(t,e){y(t);for(var n,r=E(e=m(e)),i=0,o=r.length;o>i;)z(t,n=r[i++],e[n]);return t},Q=function(t){var e=j.call(this,t=I(t,!0));return!(this===k&&i(G,t)&&!i(X,t))&&(!(e||!i(this,t)||!i(G,t)||i(this,P)&&this[P][t])||e)},q=function(t,e){if(t=m(t),e=I(e,!0),t!==k||!i(G,e)||i(X,e)){var n=x(t,e);return!n||!i(G,e)||i(t,P)&&t[P][e]||(n.enumerable=!0),n}},$=function(t){for(var e,n=L(m(t)),r=[],o=0;n.length>o;)i(G,e=n[o++])||e==P||e==c||r.push(e);return r},Z=function(t){for(var e,n=t===k,r=L(n?X:m(t)),o=[],a=0;r.length>a;)!i(G,e=r[a++])||n&&!i(k,e)||o.push(G[e]);return o};V||(u((N=function(){if(this instanceof N)throw TypeError("Symbol is not a constructor!");var t=d(arguments.length>0?arguments[0]:void 0),e=function(n){this===k&&e.call(X,n),i(this,P)&&i(this[P],t)&&(this[P][t]=!1),B(this,t,b(1,n))};return o&&H&&B(k,t,{configurable:!0,set:e}),W(t)}).prototype,"toString",function(){return this._k}),w.f=q,S.f=z,n(93).f=O.f=$,n(31).f=Q,n(54).f=Z,o&&!n(28)&&u(k,"propertyIsEnumerable",Q,!0),v.f=function(t){return W(p(t))}),a(a.G+a.W+a.F*!V,{Symbol:N});for(var J="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;J.length>tt;)p(J[tt++]);for(var et=A(p.store),nt=0;et.length>nt;)h(et[nt++]);a(a.S+a.F*!V,"Symbol",{for:function(t){return i(F,t+="")?F[t]:F[t]=N(t)},keyFor:function(t){if(!Y(t))throw TypeError(t+" is not a symbol!");for(var e in F)if(F[e]===t)return e},useSetter:function(){H=!0},useSimple:function(){H=!1}}),a(a.S+a.F*!V,"Object",{create:function(t,e){return void 0===e?T(t):K(T(t),e)},defineProperty:z,defineProperties:K,getOwnPropertyDescriptor:q,getOwnPropertyNames:$,getOwnPropertySymbols:Z}),C&&a(a.S+a.F*(!V||s(function(){var t=N();return"[null]"!=M([t])||"{}"!=M({a:t})||"{}"!=M(Object(t))})),"JSON",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(_(e)||void 0!==t)&&!Y(t))return g(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!Y(e))return e}),r[1]=e,M.apply(C,r)}}),N.prototype[D]||n(14)(N.prototype,D,N.prototype.valueOf),l(N,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},function(t,e,n){var r=n(30)("meta"),i=n(20),o=n(10),a=n(8).f,u=0,c=Object.isExtensible||function(){return!0},s=!n(21)(function(){return c(Object.preventExtensions({}))}),f=function(t){a(t,r,{value:{i:"O"+ ++u,w:{}}})},l=t.exports={KEY:r,NEED:!1,fastKey:function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,r)){if(!c(t))return"F";if(!e)return"E";f(t)}return t[r].i},getWeak:function(t,e){if(!o(t,r)){if(!c(t))return!0;if(!e)return!1;f(t)}return t[r].w},onFreeze:function(t){return s&&l.NEED&&c(t)&&!o(t,r)&&f(t),t}}},function(t,e,n){var r=n(29),i=n(54),o=n(31);t.exports=function(t){var e=r(t),n=i.f;if(n)for(var a,u=n(t),c=o.f,s=0;u.length>s;)c.call(t,a=u[s++])&&e.push(a);return e}},function(t,e,n){var r=n(46);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(15),i=n(93).f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(t){return a.slice()}}(t):i(r(t))}},function(t,e,n){var r=n(31),i=n(22),o=n(15),a=n(45),u=n(10),c=n(86),s=Object.getOwnPropertyDescriptor;e.f=n(9)?s:function(t,e){if(t=o(t),e=a(e,!0),c)try{return s(t,e)}catch(t){}if(u(t,e))return i(!r.f.call(t,e),t[e])}},function(t,e){},function(t,e,n){n(53)("asyncIterator")},function(t,e,n){n(53)("observable")},function(t,e,n){"use strict";var r=window.jQuery,i={},o=[],a={reset:function(t,e){e.__wf_intro=null},intro:function(t,e){e.__wf_intro||(e.__wf_intro=!0,r(e).triggerHandler(i.types.INTRO))},outro:function(t,e){e.__wf_intro&&(e.__wf_intro=null,r(e).triggerHandler(i.types.OUTRO))}};i.triggers={},i.types={INTRO:"w-ix-intro.w-ix",OUTRO:"w-ix-outro.w-ix"},i.init=function(){for(var t=o.length,e=0;e0&&void 0!==arguments[0]?arguments[0]:Object.freeze({}),e=arguments[1];switch(e.type){case r:return e.payload.ixData||Object.freeze({});default:return t}}},function(t,e,n){var r=n(183),i=n(235),o=n(117);t.exports=function(t){var e=i(t);return 1==e.length&&e[0][2]?o(e[0][0],e[0][1]):function(n){return n===t||r(n,t,e)}}},function(t,e,n){var r=n(103),i=n(107),o=1,a=2;t.exports=function(t,e,n,u){var c=n.length,s=c,f=!u;if(null==t)return!s;for(t=Object(t);c--;){var l=n[c];if(f&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++c-1}},function(t,e,n){var r=n(33);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},function(t,e,n){var r=n(32);t.exports=function(){this.__data__=new r,this.size=0}},function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},function(t,e){t.exports=function(t){return this.__data__.get(t)}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e,n){var r=n(32),i=n(61),o=n(62),a=200;t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var u=n.__data__;if(!i||u.length=r?function(t,e,r,i){for(var o=0;o0?n=c:e=c}while(Math.abs(u)>i&&++s0&&void 0!==arguments[0]?arguments[0]:a,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};switch(e.type){case o.IX2_SESSION_STOPPED:return a;case o.IX2_INSTANCE_ADDED:var n=e.payload,i=n.elementId,u=n.element,f=n.origin,l=n.actionItem,d=n.refType,p=l.actionTypeId,v=t;return(0,r.getIn)(v,[i,u])!==u&&(v=c(v,u,d,i,l)),s(v,i,p,f,l);case o.IX2_ELEMENT_STATE_CHANGED:var h=e.payload;return s(t,h.elementId,h.actionTypeId,h.current,h.actionItem);default:return t}};function c(t,e,n,o,a){var u=n===i.PLAIN_OBJECT?(0,r.getIn)(a,["config","target","objectId"]):null;return(0,r.mergeIn)(t,[o],{id:o,ref:e,refId:u,refType:n})}function s(t,e,n,i,o){var a=function(t){var e=t.config;return f.reduce(function(t,n){var r=n[0],i=n[1],o=e[r],a=e[i];return null!=o&&null!=a&&(t[i]=a),t},{})}(o),c=[e,u,n];return(0,r.mergeIn)(t,c,i,a)}var f=[[i.CONFIG_X_VALUE,i.CONFIG_X_UNIT],[i.CONFIG_Y_VALUE,i.CONFIG_Y_UNIT],[i.CONFIG_Z_VALUE,i.CONFIG_Z_UNIT],[i.CONFIG_VALUE,i.CONFIG_UNIT]]},function(t,e,n){t.exports={default:n(250),__esModule:!0}},function(t,e,n){n(251);var r=n(7).Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},function(t,e,n){var r=n(18);r(r.S+r.F*!n(9),"Object",{defineProperty:n(8).f})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.getPluginConfig=function(t){return t.frameValue},e.getPluginOrigin=function(t){return{value:t.currentRawFrame}},e.getPluginDestination=function(t){return{value:t.frameValue}},e.createPluginInstance=function(t){var e=window.Webflow.require("lottie").createInstance(t);return e.pause(),e.setSubframe(!0),e},e.renderPlugin=function(t,e,n){t.setCurrentRawFrameValue(e[n.actionTypeId].value)},e.cleanupPlugin=function(){}},function(t,e,n){"use strict";var r,i,o,a=c(n(27)),u=c(n(41));function c(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.getItemConfigByKey=void 0,e.getInstanceId=function(){return"i"+S++},e.getElementId=function(t,e){for(var n in t){var r=t[n];if(r&&r.ref===e)return r.id}return"e"+A++},e.reifyState=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.events,n=t.actionLists,r=t.site,i=(0,f.default)(e,function(t,e){var n=e.eventTypeId;return t[n]||(t[n]={}),t[n][e.id]=e,t},{}),o=r&&r.mediaQueries,a=[];o?a=o.map(function(t){return t.key}):(o=[],console.warn("IX2 missing mediaQueries in site data"));return{ixData:{events:e,actionLists:n,eventTypeMap:i,mediaQueries:o,mediaQueryKeys:a}}},e.observeStore=function(t){var e=t.store,n=t.select,r=t.onChange,i=t.comparator,o=void 0===i?x:i,a=e.getState,u=(0,e.subscribe)(function(){var t=n(a());if(null==t)return void u();o(t,c)||r(c=t,e)}),c=n(a());return u},e.getAffectedElements=L,e.getComputedStyle=function(t){var e=t.element,n=t.actionItem;if(!m.IS_BROWSER_ENV)return{};switch(n.actionTypeId){case _.STYLE_SIZE:case _.STYLE_BACKGROUND_COLOR:case _.STYLE_BORDER:case _.STYLE_TEXT_COLOR:case _.GENERAL_DISPLAY:return window.getComputedStyle(e);default:return{}}},e.getInstanceOrigin=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments[3],i=arguments[4],o=arguments[5],a=i.getStyle,u=r.actionTypeId,c=r.config;if((0,E.isPluginType)(u))return(0,E.getPluginOrigin)(u)(o,r);switch(u){case _.TRANSFORM_MOVE:case _.TRANSFORM_SCALE:case _.TRANSFORM_ROTATE:case _.TRANSFORM_SKEW:return e[u]||D[u];case _.STYLE_FILTER:return C(e[u],r.config.filters);case _.STYLE_OPACITY:return{value:(0,s.default)(parseFloat(a(t,g.OPACITY)),1)};case _.STYLE_SIZE:var f=a(t,g.WIDTH),l=a(t,g.HEIGHT),d=void 0,p=void 0;return d=c.widthUnit===g.AUTO?N.test(f)?parseFloat(f):parseFloat(n.width):(0,s.default)(parseFloat(f),parseFloat(n.width)),p=c.heightUnit===g.AUTO?N.test(l)?parseFloat(l):parseFloat(n.height):(0,s.default)(parseFloat(l),parseFloat(n.height)),{widthValue:d,heightValue:p};case _.STYLE_BACKGROUND_COLOR:case _.STYLE_BORDER:case _.STYLE_TEXT_COLOR:return function(t){var e=t.element,n=t.actionTypeId,r=t.computedStyle,i=t.getStyle,o=T[n],a=i(e,o),u=X.test(a)?a:r[o],c=function(t,e){var n=t.exec(e);return n?n[1]:""}(k,u).split(g.COMMA_DELIMITER);return{rValue:(0,s.default)(parseInt(c[0],10),255),gValue:(0,s.default)(parseInt(c[1],10),255),bValue:(0,s.default)(parseInt(c[2],10),255),aValue:(0,s.default)(parseFloat(c[3]),1)}}({element:t,actionTypeId:u,computedStyle:n,getStyle:a});case _.GENERAL_DISPLAY:return{value:(0,s.default)(a(t,g.DISPLAY),n.display)};case _.OBJECT_VALUE:return e[u]||{value:0};default:return}},e.getDestinationValues=function(t){var e=t.element,n=t.actionItem,r=t.elementApi,i=n.actionTypeId;if((0,E.isPluginType)(i))return(0,E.getPluginDestination)(i)(n.config);switch(i){case _.TRANSFORM_MOVE:case _.TRANSFORM_SCALE:case _.TRANSFORM_ROTATE:case _.TRANSFORM_SKEW:var o=n.config,a=o.xValue,u=o.yValue,c=o.zValue;return{xValue:a,yValue:u,zValue:c};case _.STYLE_SIZE:var s=r.getStyle,f=r.setStyle,l=r.getProperty,d=n.config,p=d.widthUnit,v=d.heightUnit,h=n.config,y=h.widthValue,I=h.heightValue;if(!m.IS_BROWSER_ENV)return{widthValue:y,heightValue:I};if(p===g.AUTO){var b=s(e,g.WIDTH);f(e,g.WIDTH,""),y=l(e,"offsetWidth"),f(e,g.WIDTH,b)}if(v===g.AUTO){var T=s(e,g.HEIGHT);f(e,g.HEIGHT,""),I=l(e,"offsetHeight"),f(e,g.HEIGHT,T)}return{widthValue:y,heightValue:I};case _.STYLE_BACKGROUND_COLOR:case _.STYLE_BORDER:case _.STYLE_TEXT_COLOR:var O=n.config,w=O.rValue,S=O.gValue,A=O.bValue,x=O.aValue;return{rValue:w,gValue:S,bValue:A,aValue:x};case _.STYLE_FILTER:return n.config.filters.reduce(M,{});default:var R=n.config.value;return{value:R}}},e.getRenderType=P,e.getStyleProp=function(t,e){return t===g.RENDER_STYLE?e.replace("STYLE_","").toLowerCase():null},e.renderHTMLElement=function(t,e,n,r,i,o,a,u,c){switch(u){case g.RENDER_TRANSFORM:return function(t,e,n,r,i){var o=G.map(function(t){var n=D[t],r=e[t]||{},i=r.xValue,o=void 0===i?n.xValue:i,a=r.yValue,u=void 0===a?n.yValue:a,c=r.zValue,s=void 0===c?n.zValue:c,f=r.xUnit,l=void 0===f?"":f,d=r.yUnit,p=void 0===d?"":d,v=r.zUnit,h=void 0===v?"":v;switch(t){case _.TRANSFORM_MOVE:return g.TRANSLATE_3D+"("+o+l+", "+u+p+", "+s+h+")";case _.TRANSFORM_SCALE:return g.SCALE_3D+"("+o+l+", "+u+p+", "+s+h+")";case _.TRANSFORM_ROTATE:return g.ROTATE_X+"("+o+l+") "+g.ROTATE_Y+"("+u+p+") "+g.ROTATE_Z+"("+s+h+")";case _.TRANSFORM_SKEW:return g.SKEW+"("+o+l+", "+u+p+")";default:return""}}).join(" "),a=i.setStyle;V(t,m.TRANSFORM_PREFIXED,i),a(t,m.TRANSFORM_PREFIXED,o),u=r,c=n,s=u.actionTypeId,f=c.xValue,l=c.yValue,d=c.zValue,(s===_.TRANSFORM_MOVE&&void 0!==d||s===_.TRANSFORM_SCALE&&void 0!==d||s===_.TRANSFORM_ROTATE&&(void 0!==f||void 0!==l))&&a(t,m.TRANSFORM_STYLE_PREFIXED,g.PRESERVE_3D);var u,c,s,f,l,d}(t,e,n,i,a);case g.RENDER_STYLE:return function(t,e,n,r,i,o){var a=o.setStyle,u=r.actionTypeId,c=r.config;switch(u){case _.STYLE_SIZE:var s=r.config,l=s.widthUnit,d=void 0===l?"":l,p=s.heightUnit,v=void 0===p?"":p,h=n.widthValue,E=n.heightValue;void 0!==h&&(d===g.AUTO&&(d="px"),V(t,g.WIDTH,o),a(t,g.WIDTH,h+d)),void 0!==E&&(v===g.AUTO&&(v="px"),V(t,g.HEIGHT,o),a(t,g.HEIGHT,E+v));break;case _.STYLE_FILTER:!function(t,e,n,r){var i=(0,f.default)(e,function(t,e,r){return t+" "+r+"("+e+F(r,n)+")"},""),o=r.setStyle;V(t,g.FILTER,r),o(t,g.FILTER,i)}(t,n,c,o);break;case _.STYLE_BACKGROUND_COLOR:case _.STYLE_BORDER:case _.STYLE_TEXT_COLOR:var y=T[u],m=Math.round(n.rValue),I=Math.round(n.gValue),b=Math.round(n.bValue),O=n.aValue;V(t,y,o),a(t,y,O>=1?"rgb("+m+","+I+","+b+")":"rgba("+m+","+I+","+b+","+O+")");break;default:var w=c.unit,S=void 0===w?"":w;V(t,i,o),a(t,i,n.value+S)}}(t,0,n,i,o,a);case g.RENDER_GENERAL:return function(t,e,n){var r=n.setStyle;switch(e.actionTypeId){case _.GENERAL_DISPLAY:var i=e.config.value;return void(i===g.FLEX&&m.IS_BROWSER_ENV?r(t,g.DISPLAY,m.FLEX_PREFIXED):r(t,g.DISPLAY,i))}}(t,i,a);case g.RENDER_PLUGIN:var s=i.actionTypeId;if((0,E.isPluginType)(s))return(0,E.renderPlugin)(s)(c,e,i)}},e.clearAllStyles=function(t){var e=t.store,n=t.elementApi,r=e.getState().ixData,i=r.events,o=void 0===i?{}:i,a=r.actionLists,u=void 0===a?{}:a;Object.keys(o).forEach(function(t){var e=o[t],r=e.action.config,i=r.actionListId,a=u[i];a&&H({actionList:a,event:e,elementApi:n})}),Object.keys(u).forEach(function(t){H({actionList:u[t],elementApi:n})})},e.cleanupHTMLElement=function(t,e,n){var r=n.setStyle,i=n.getStyle,o=e.actionTypeId;if((0,E.isPluginType)(o))return(0,E.cleanupPlugin)(o)(t,e);if(o===_.STYLE_SIZE){var a=e.config;a.widthUnit===g.AUTO&&r(t,g.WIDTH,""),a.heightUnit===g.AUTO&&r(t,g.HEIGHT,"")}i(t,g.WILL_CHANGE)&&W({effect:U,actionTypeId:o,elementApi:n})(t)},e.getMaxDurationItemIndex=z,e.getActionListProgress=function(t,e){var n=t.actionItemGroups,r=t.useFirstGroupAsInitialState,i=e.actionItem,o=e.verboseTimeElapsed,a=void 0===o?0:o,u=0,c=0;return n.forEach(function(t,e){if(!r||0!==e){var n=t.actionItems,o=n[z(n)],s=o.config,f=o.actionTypeId;i.id===o.id&&(c=u+a);var l=P(f)===g.RENDER_GENERAL?0:s.duration;u+=s.delay+l}}),u>0?(0,h.optimizeFloat)(c/u):0},e.reduceListToGroup=function(t){var e=t.actionListId,n=t.actionItemId,r=t.rawData,i=r.actionLists[e],o=i.actionItemGroups,a=i.continuousParameterGroups,c=[],s=function(t){return c.push((0,p.mergeIn)(t,["config"],{delay:0,duration:0})),t.id===n};return o&&o.some(function(t){return t.actionItems.some(s)}),a&&a.some(function(t){return t.continuousActionGroups.some(function(t){return t.actionItems.some(s)})}),(0,p.setIn)(r,["actionLists"],(0,u.default)({},e,{id:e,actionItemGroups:[{actionItems:c}]}))},e.shouldNamespaceEventParameter=function(t,e){var n=e.basedOn;return t===y.SCROLLING_IN_VIEW&&(n===y.ELEMENT||null==n)||t===y.MOUSE_MOVE&&n===y.ELEMENT},e.getNamespacedParameterId=function(t,e){return t+g.COLON_DELIMITER+e},e.shouldAllowMediaQuery=function(t,e){if(null==e)return!0;return-1!==t.indexOf(e)},e.mediaQueriesEqual=function(t,e){return(0,v.default)(t&&t.sort(),e&&e.sort())},e.stringifyTarget=function(t){if("string"==typeof t)return t;var e=t.id,n=void 0===e?"":e,r=t.selector,i=void 0===r?"":r,o=t.useEventTarget,a=void 0===o?"":o;return n+g.BAR_DELIMITER+i+g.BAR_DELIMITER+a};var s=I(n(254)),f=I(n(255)),l=I(n(261)),d=I(n(38)),p=n(26),v=I(n(130)),h=n(124),E=n(127),g=n(77),y=n(126),_=n(76),m=n(59);function I(t){return t&&t.__esModule?t:{default:t}}var b=function(t){return t.trim()},T=Object.freeze((r={},(0,u.default)(r,_.STYLE_BACKGROUND_COLOR,g.BACKGROUND_COLOR),(0,u.default)(r,_.STYLE_BORDER,g.BORDER_COLOR),(0,u.default)(r,_.STYLE_TEXT_COLOR,g.COLOR),r)),O=Object.freeze((i={},(0,u.default)(i,m.TRANSFORM_PREFIXED,g.TRANSFORM),(0,u.default)(i,g.BACKGROUND_COLOR,g.BACKGROUND),(0,u.default)(i,g.OPACITY,g.OPACITY),(0,u.default)(i,g.FILTER,g.FILTER),(0,u.default)(i,g.WIDTH,g.WIDTH),(0,u.default)(i,g.HEIGHT,g.HEIGHT),i)),w={},S=1;var A=1;var x=function(t,e){return t===e};function R(t){var e=void 0===t?"undefined":(0,a.default)(t);return"string"===e?{id:t}:null!=t&&"object"===e?{id:t.id,objectId:t.objectId,selector:t.selector,selectorGuids:t.selectorGuids,appliesTo:t.appliesTo,useEventTarget:t.useEventTarget}:{}}function L(t){var e=t.config,n=t.event,r=t.eventTarget,i=t.elementRoot,o=t.elementApi;if(!o)throw new Error("IX2 missing elementApi");var a=o.getValidDocument,u=o.getQuerySelector,c=o.queryDocument,s=o.getChildElements,f=o.getSiblingElements,l=o.matchSelector,p=o.elementContains,v=o.isSiblingNode,h=e.target;if(!h)return[];var E=R(h),_=E.id,I=E.objectId,b=E.selector,T=E.selectorGuids,O=E.appliesTo,S=E.useEventTarget;if(I)return[w[I]||(w[I]={})];if(O===y.PAGE){var A=a(_);return A?[A]:[]}var x=(0,d.default)(n,"action.config.affectedElements",{})[_||b]||{},L=Boolean(x.id||x.selector),N=void 0,C=void 0,M=void 0,P=n&&u(R(n.target));if(L?(N=x.limitAffectedElements,C=P,M=u(x)):C=M=u({id:_,selector:b,selectorGuids:T}),n&&S){var D=r&&(M||!0===S)?[r]:c(P);if(M){if(S===g.PARENT)return c(M).filter(function(t){return D.some(function(e){return p(t,e)})});if(S===g.CHILDREN)return c(M).filter(function(t){return D.some(function(e){return p(e,t)})});if(S===g.SIBLINGS)return c(M).filter(function(t){return D.some(function(e){return v(e,t)})})}return D}return null==C||null==M?[]:m.IS_BROWSER_ENV&&i?c(M).filter(function(t){return i.contains(t)}):N===g.CHILDREN?c(C,M):N===g.IMMEDIATE_CHILDREN?s(c(C)).filter(l(M)):N===g.SIBLINGS?f(c(C)).filter(l(M)):c(M)}var N=/px/,C=function(t,e){return e.reduce(function(t,e){return null==t[e.type]&&(t[e.type]=j[e.type]),t},t||{})};var M=function(t,e){return e&&(t[e.type]=e.value||0),t};e.getItemConfigByKey=function(t,e,n){if((0,E.isPluginType)(t))return(0,E.getPluginConfig)(t)(n,e);switch(t){case _.STYLE_FILTER:var r=(0,l.default)(n.filters,function(t){return t.type===e});return r?r.value:0;default:return n[e]}};function P(t){return/^TRANSFORM_/.test(t)?g.RENDER_TRANSFORM:/^STYLE_/.test(t)?g.RENDER_STYLE:/^GENERAL_/.test(t)?g.RENDER_GENERAL:/^PLUGIN_/.test(t)?g.RENDER_PLUGIN:void 0}var D=(o={},(0,u.default)(o,_.TRANSFORM_MOVE,Object.freeze({xValue:0,yValue:0,zValue:0})),(0,u.default)(o,_.TRANSFORM_SCALE,Object.freeze({xValue:1,yValue:1,zValue:1})),(0,u.default)(o,_.TRANSFORM_ROTATE,Object.freeze({xValue:0,yValue:0,zValue:0})),(0,u.default)(o,_.TRANSFORM_SKEW,Object.freeze({xValue:0,yValue:0})),o),j=Object.freeze({blur:0,"hue-rotate":0,invert:0,grayscale:0,saturate:100,sepia:0,contrast:100,brightness:100}),F=function(t,e){var n=(0,l.default)(e.filters,function(e){return e.type===t});if(n&&n.unit)return n.unit;switch(t){case"blur":return"px";case"hue-rotate":return"deg";default:return"%"}},G=Object.keys(D);var X=/^rgb/,k=RegExp("rgba?\\(([^)]+)\\)");function V(t,e,n){if(m.IS_BROWSER_ENV){var r=O[e];if(r){var i=n.getStyle,o=n.setStyle,a=i(t,g.WILL_CHANGE);if(a){var u=a.split(g.COMMA_DELIMITER).map(b);-1===u.indexOf(r)&&o(t,g.WILL_CHANGE,u.concat(r).join(g.COMMA_DELIMITER))}else o(t,g.WILL_CHANGE,r)}}}function U(t,e,n){if(m.IS_BROWSER_ENV){var r=O[e];if(r){var i=n.getStyle,o=n.setStyle,a=i(t,g.WILL_CHANGE);a&&-1!==a.indexOf(r)&&o(t,g.WILL_CHANGE,a.split(g.COMMA_DELIMITER).map(b).filter(function(t){return t!==r}).join(g.COMMA_DELIMITER))}}}function H(t){var e=t.actionList,n=void 0===e?{}:e,r=t.event,i=t.elementApi,o=n.actionItemGroups,a=n.continuousParameterGroups;o&&o.forEach(function(t){B({actionGroup:t,event:r,elementApi:i})}),a&&a.forEach(function(t){t.continuousActionGroups.forEach(function(t){B({actionGroup:t,event:r,elementApi:i})})})}function B(t){var e=t.actionGroup,n=t.event,r=t.elementApi;e.actionItems.forEach(function(t){var e=t.actionTypeId,i=t.config,o=W({effect:Y,actionTypeId:e,elementApi:r});L({config:i,event:n,elementApi:r}).forEach(o)})}var W=function(t){var e=t.effect,n=t.actionTypeId,r=t.elementApi;return function(t){switch(n){case _.TRANSFORM_MOVE:case _.TRANSFORM_SCALE:case _.TRANSFORM_ROTATE:case _.TRANSFORM_SKEW:e(t,m.TRANSFORM_PREFIXED,r);break;case _.STYLE_FILTER:e(t,g.FILTER,r);break;case _.STYLE_OPACITY:e(t,g.OPACITY,r);break;case _.STYLE_SIZE:e(t,g.WIDTH,r),e(t,g.HEIGHT,r);break;case _.STYLE_BACKGROUND_COLOR:case _.STYLE_BORDER:case _.STYLE_TEXT_COLOR:e(t,T[n],r);break;case _.GENERAL_DISPLAY:e(t,g.DISPLAY,r)}}};function Y(t,e,n){var r=n.setStyle;U(t,e,n),r(t,e,""),e===m.TRANSFORM_PREFIXED&&r(t,m.TRANSFORM_STYLE_PREFIXED,"")}function z(t){var e=0,n=0;return t.forEach(function(t,r){var i=t.config,o=i.delay+i.duration;o>=e&&(e=o,n=r)}),n}},function(t,e){t.exports=function(t,e){return null==t||t!=t?e:t}},function(t,e,n){var r=n(256),i=n(128),o=n(11),a=n(260),u=n(0);t.exports=function(t,e,n){var c=u(t)?r:a,s=arguments.length<3;return c(t,o(e,4),n,s,i)}},function(t,e){t.exports=function(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i0&&void 0!==arguments[0]?arguments[0]:h,e=arguments[1];if(e.type in E){var n=[E[e.type]];return(0,s.setIn)(t,[n],(0,u.default)({},e.payload))}return t}},function(t,e,n){t.exports={default:n(266),__esModule:!0}},function(t,e,n){n(267),t.exports=n(7).Object.assign},function(t,e,n){var r=n(18);r(r.S+r.F,"Object",{assign:n(268)})},function(t,e,n){"use strict";var r=n(29),i=n(54),o=n(31),a=n(51),u=n(91),c=Object.assign;t.exports=!c||n(21)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=r})?function(t,e){for(var n=a(t),c=arguments.length,s=1,f=i.f,l=o.f;c>s;)for(var d,p=u(arguments[s++]),v=f?r(p).concat(f(p)):r(p),h=v.length,E=0;h>E;)l.call(p,d=v[E++])&&(n[d]=p[d]);return n}:c},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ixSession=void 0;var r=n(2),i=n(26),o=r.IX2EngineActionTypes,a=o.IX2_SESSION_INITIALIZED,u=o.IX2_SESSION_STARTED,c=o.IX2_SESSION_STOPPED,s=o.IX2_EVENT_LISTENER_ADDED,f=o.IX2_EVENT_STATE_CHANGED,l=o.IX2_ACTION_LIST_PLAYBACK_CHANGED,d=o.IX2_VIEWPORT_WIDTH_CHANGED,p=o.IX2_MEDIA_QUERIES_DEFINED,v={active:!1,eventListeners:[],eventState:{},playbackState:{},viewportWidth:0,mediaQueryKey:null,hasBoundaryNodes:!1,hasDefinedMediaQueries:!1};e.ixSession=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v,e=arguments[1];switch(e.type){case a:var n=e.payload.hasBoundaryNodes;return(0,i.set)(t,"hasBoundaryNodes",n);case u:return(0,i.set)(t,"active",!0);case c:return v;case s:var r=(0,i.addLast)(t.eventListeners,e.payload);return(0,i.set)(t,"eventListeners",r);case f:var o=e.payload,h=o.stateKey,E=o.newState;return(0,i.setIn)(t,["eventState",h],E);case l:var g=e.payload,y=g.actionListId,_=g.isPlaying;return(0,i.setIn)(t,["playbackState",y],_);case d:for(var m=e.payload,I=m.width,b=m.mediaQueries,T=b.length,O=null,w=0;w=x&&I<=R){O=A;break}}return(0,i.merge)(t,{viewportWidth:I,mediaQueryKey:O});case p:return(0,i.set)(t,"hasDefinedMediaQueries",!0);default:return t}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ixInstances=void 0;var r=n(2),i=n(26),o=r.IX2EngineActionTypes,a=o.IX2_RAW_DATA_IMPORTED,u=o.IX2_SESSION_STOPPED,c=o.IX2_INSTANCE_ADDED,s=o.IX2_INSTANCE_STARTED,f=o.IX2_INSTANCE_REMOVED,l=o.IX2_ANIMATION_FRAME_CHANGED,d=r.IX2EasingUtils,p=d.optimizeFloat,v=d.applyEasing,h=r.IX2EngineConstants.RENDER_GENERAL,E=r.IX2VanillaUtils,g=E.getItemConfigByKey,y=E.getRenderType,_=E.getStyleProp,m=function(t,e){var n=t.position,r=t.parameterId,o=t.actionGroups,a=t.destinationKeys,u=t.smoothing,c=t.restingValue,s=t.actionTypeId,f=e.payload.parameters,l=Math.max(1-u,.01),d=f[r];null==d&&(l=1,d=c);var h=Math.max(d,0)||0,E=p(h-n),y=p(n+E*l),_=100*y;if(y===n&&t.current)return t;for(var m=void 0,I=void 0,b=void 0,T=void 0,O=0,w=o.length;O=A){m=x[0];var R=o[O+1],L=R&&_!==A;I=L?R.actionItems[0]:null,L&&(b=A/100,T=(R.keyframe-A)/100)}}var N={};if(m&&!I)for(var C=0,M=a.length;C0&&void 0!==arguments[0]?arguments[0]:Object.freeze({}),e=arguments[1];switch(e.type){case a:return e.payload.ixInstances||Object.freeze({});case u:return Object.freeze({});case c:var n=e.payload,r=n.instanceId,o=n.elementId,d=n.actionItem,p=n.eventId,v=n.eventTarget,h=n.eventStateKey,E=n.actionListId,g=n.groupIndex,b=n.isCarrier,T=n.origin,O=n.destination,w=n.immediate,S=n.verbose,A=n.continuous,x=n.parameterId,R=n.actionGroups,L=n.smoothing,N=n.restingValue,C=n.pluginInstance,M=d.actionTypeId,P=y(M),D=_(P,M),j=Object.keys(O).filter(function(t){return null!=O[t]});return(0,i.set)(t,r,{id:r,elementId:o,active:!1,position:0,start:0,origin:T,destination:O,destinationKeys:j,immediate:w,verbose:S,current:null,actionItem:d,actionTypeId:M,eventId:p,eventTarget:v,eventStateKey:h,actionListId:E,groupIndex:g,renderType:P,isCarrier:b,styleProp:D,continuous:A,parameterId:x,actionGroups:R,smoothing:L,restingValue:N,pluginInstance:C});case s:var F=e.payload.instanceId;return(0,i.mergeIn)(t,[F],{active:!0,complete:!1,start:window.performance.now()});case f:var G=e.payload.instanceId;if(!t[G])return t;for(var X={},k=Object.keys(t),V=k.length,U=0;U0&&void 0!==arguments[0]?arguments[0]:{},e=arguments[1];switch(e.type){case i:return e.payload.ixParameters||{};case o:return{};case a:var n=e.payload,r=n.key,u=n.value;return t[r]=u,t;default:return t}}},function(t,e,n){"use strict";e.__esModule=!0;var r,i=n(273),o=(r=i)&&r.__esModule?r:{default:r};e.default=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e1?arguments[1]:void 0,E=void 0!==h,g=0,y=f(d);if(E&&(h=r(h,v>2?arguments[2]:void 0,2)),null==y||p==Array&&u(y))for(n=new p(e=c(d.length));e>g;g++)s(n,g,E?h(d[g],g):d[g]);else for(l=y.call(d),n=new p;!(i=l.next()).done;g++)s(n,g,E?a(l,h,[i.value,g],!0):i.value);return n.length=g,n}})},function(t,e,n){var r=n(19);t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&r(o.call(t)),e}}},function(t,e,n){var r=n(23),i=n(1)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},function(t,e,n){"use strict";var r=n(8),i=n(22);t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},function(t,e,n){var r=n(280),i=n(1)("iterator"),o=n(23);t.exports=n(7).getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[r(t)]}},function(t,e,n){var r=n(46),i=n(1)("toStringTag"),o="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?n:o?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){var r=n(1)("iterator"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:n=!0}},o[r]=function(){return a},t(o)}catch(t){}return n}},function(t,e,n){"use strict";e.__esModule=!0,e.default=function(t,e){var n={};for(var r in t)e.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}},function(t,e,n){var r=n(68),i=n(70),o=n(17),a=n(284),u=n(285),c="[object Map]",s="[object Set]";t.exports=function(t){if(null==t)return 0;if(o(t))return a(t)?u(t):t.length;var e=i(t);return e==c||e==s?t.size:r(t).length}},function(t,e,n){var r=n(16),i=n(0),o=n(13),a="[object String]";t.exports=function(t){return"string"==typeof t||!i(t)&&o(t)&&r(t)==a}},function(t,e,n){var r=n(286),i=n(287),o=n(288);t.exports=function(t){return i(t)?o(t):r(t)}},function(t,e,n){var r=n(121)("length");t.exports=r},function(t,e){var n=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function(t){return n.test(t)}},function(t,e){var n="[\\ud800-\\udfff]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",o="[^\\ud800-\\udfff]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",u="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+r+"|"+i+")"+"?",s="[\\ufe0e\\ufe0f]?"+c+("(?:\\u200d(?:"+[o,a,u].join("|")+")[\\ufe0e\\ufe0f]?"+c+")*"),f="(?:"+[o+r+"?",r,a,u,n].join("|")+")",l=RegExp(i+"(?="+i+")|"+f+s,"g");t.exports=function(t){for(var e=l.lastIndex=0;l.test(t);)++e;return e}},function(t,e,n){var r=n(11),i=n(290),o=n(291);t.exports=function(t,e){return o(t,i(r(e)))}},function(t,e){var n="Expected a function";t.exports=function(t){if("function"!=typeof t)throw new TypeError(n);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}},function(t,e,n){var r=n(120),i=n(11),o=n(292),a=n(295);t.exports=function(t,e){if(null==t)return{};var n=r(a(t),function(t){return[t]});return e=i(e),o(t,n,function(t,n){return e(t,n[0])})}},function(t,e,n){var r=n(71),i=n(293),o=n(39);t.exports=function(t,e,n){for(var a=-1,u=e.length,c={};++a=0&&t.slice(n,c)==e}},function(t,e,n){var r=n(308),i=n(4),o="Expected a function";t.exports=function(t,e,n){var a=!0,u=!0;if("function"!=typeof t)throw new TypeError(o);return i(n)&&(a="leading"in n?!!n.leading:a,u="trailing"in n?!!n.trailing:u),r(t,e,{leading:a,maxWait:e,trailing:u})}},function(t,e,n){var r=n(4),i=n(309),o=n(75),a="Expected a function",u=Math.max,c=Math.min;t.exports=function(t,e,n){var s,f,l,d,p,v,h=0,E=!1,g=!1,y=!0;if("function"!=typeof t)throw new TypeError(a);function _(e){var n=s,r=f;return s=f=void 0,h=e,d=t.apply(r,n)}function m(t){var n=t-v;return void 0===v||n>=e||n<0||g&&t-h>=l}function I(){var t=i();if(m(t))return b(t);p=setTimeout(I,function(t){var n=e-(t-v);return g?c(n,l-(t-h)):n}(t))}function b(t){return p=void 0,y&&s?_(t):(s=f=void 0,d)}function T(){var t=i(),n=m(t);if(s=arguments,f=this,v=t,n){if(void 0===p)return function(t){return h=t,p=setTimeout(I,e),E?_(t):d}(v);if(g)return p=setTimeout(I,e),_(v)}return void 0===p&&(p=setTimeout(I,e)),d}return e=o(e)||0,r(n)&&(E=!!n.leading,l=(g="maxWait"in n)?u(o(n.maxWait)||0,e):l,y="trailing"in n?!!n.trailing:y),T.cancel=function(){void 0!==p&&clearTimeout(p),h=0,s=v=f=p=void 0},T.flush=function(){return void 0===p?d:b(i())},T}},function(t,e,n){var r=n(3);t.exports=function(){return r.Date.now()}},function(t,e,n){"use strict";var r,i=n(27),o=(r=i)&&r.__esModule?r:{default:r};Object.defineProperty(e,"__esModule",{value:!0}),e.getClosestElement=void 0,e.setStyle=function(t,e,n){t.style[e]=n},e.getStyle=function(t,e){return t.style[e]},e.getProperty=function(t,e){return t[e]},e.matchSelector=function(t){return function(e){return e[u](t)}},e.getQuerySelector=function(t){var e=t.id,n=t.selector;if(e){var r=e;if(-1!==e.indexOf(s)){var i=e.split(s),o=i[0];if(r=i[1],o!==document.documentElement.getAttribute(d))return null}return'[data-w-id^="'+r+'"]'}return n},e.getValidDocument=function(t){if(null==t||t===document.documentElement.getAttribute(d))return document;return null},e.queryDocument=function(t,e){return Array.prototype.slice.call(document.querySelectorAll(e?t+" "+e:t))},e.elementContains=function(t,e){return t.contains(e)},e.isSiblingNode=function(t,e){return t!==e&&t.parentNode===e.parentNode},e.getChildElements=function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=[],n=0,r=t.length;n0&&void 0!==arguments[0]?arguments[0]:[],e=[],n=[],r=0,i=t.length;rn.right||e.rightn.bottom||e.bottom1&&void 0!==arguments[1]?arguments[1]:{},r=st(),i=r.stiffScrollTop,o=r.scrollHeight,a=r.innerHeight,c=e.event,s=c.config,f=c.eventTypeId,l=s.scrollOffsetValue,d="PX"===s.scrollOffsetUnit,p=o-a,v=Number((i/p).toFixed(2));if(n&&n.percentTop===v)return n;var h=(d?l:a*(l||0)/100)/p,E=void 0,g=void 0,y=0;n&&(E=v>n.percentTop,y=(g=n.scrollingDown!==E)?v:n.anchorTop);var _=f===P?v>=y+h:v<=y-h,m=(0,u.default)({},n,{percentTop:v,inBounds:_,anchorTop:y,scrollingDown:E});return n&&_&&(g||m.inBounds!==n.inBounds)&&t(e,m)||m}},ht=function(t){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{clickCount:0},r={clickCount:n.clickCount%2+1};return r.clickCount!==n.clickCount&&t(e,r)||r}},Et=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return(0,u.default)({},ot,{handler:rt(t?tt:Z,dt(function(t,e){return e.isActive?it.handler(t,e):e}))})},gt=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return(0,u.default)({},ot,{handler:rt(t?tt:Z,dt(function(t,e){return e.isActive?e:it.handler(t,e)}))})},yt=(0,u.default)({},ut,{handler:(g=function(t,e){var n=e.elementVisible,r=t.event;return!t.store.getState().ixData.events[r.action.config.autoStopEventId]&&e.triggered?e:r.eventTypeId===D===n?(nt(t),(0,u.default)({},e,{triggered:!0})):e},function(t,e){var n=(0,u.default)({},e,{elementVisible:lt(t)});return(e?n.elementVisible!==e.elementVisible:n.elementVisible)&&g(t,n)||n})});e.default=(r={},(0,i.default)(r,A,Et()),(0,i.default)(r,x,gt()),(0,i.default)(r,S,Et()),(0,i.default)(r,w,gt()),(0,i.default)(r,C,Et(!1)),(0,i.default)(r,N,gt(!1)),(0,i.default)(r,R,Et()),(0,i.default)(r,L,gt()),(0,i.default)(r,H,{types:"ecommerce-cart-open",handler:rt(tt,nt)}),(0,i.default)(r,U,{types:"ecommerce-cart-close",handler:rt(tt,nt)}),(0,i.default)(r,_,{types:"click",handler:rt(tt,ht(function(t,e){var n,r,i,o=e.clickCount;r=(n=t).store,i=n.event.action.config.autoStopEventId,Boolean(et(r,i))?1===o&&nt(t):nt(t)}))}),(0,i.default)(r,m,{types:"click",handler:rt(tt,ht(function(t,e){2===e.clickCount&&nt(t)}))}),(0,i.default)(r,I,(0,u.default)({},it,{types:"mousedown"})),(0,i.default)(r,b,(0,u.default)({},it,{types:"mouseup"})),(0,i.default)(r,T,{types:"mouseover mouseout",handler:rt(tt,pt(function(t,e){e.elementHovered&&nt(t)}))}),(0,i.default)(r,O,{types:"mouseover mouseout",handler:rt(tt,pt(function(t,e){e.elementHovered||nt(t)}))}),(0,i.default)(r,M,{types:"mousemove mouseout scroll",handler:function(t){var e=t.store,n=t.element,r=t.eventConfig,i=t.nativeEvent,o=t.eventStateKey,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{clientX:0,clientY:0,pageX:0,pageY:0},u=r.basedOn,c=r.selectedAxis,s=r.continuousParameterGroupId,f=r.reverse,l=r.restingState,p=void 0===l?0:l,v=i.clientX,h=void 0===v?a.clientX:v,E=i.clientY,g=void 0===E?a.clientY:E,y=i.pageX,_=void 0===y?a.pageX:y,m=i.pageY,I=void 0===m?a.pageY:m,b="X_AXIS"===c,T="mouseout"===i.type,O=p/100,w=s,S=!1;switch(u){case z:O=b?Math.min(h,window.innerWidth)/window.innerWidth:Math.min(g,window.innerHeight)/window.innerHeight;break;case K:var A=st(),x=A.scrollLeft,R=A.scrollTop,L=A.scrollWidth,N=A.scrollHeight;O=b?Math.min(x+_,L)/L:Math.min(R+I,N)/N;break;case Y:default:w=q(o,s);var C=0===i.type.indexOf("mouse");if(C&&!0!==tt({element:n,nativeEvent:i}))break;var M=n.getBoundingClientRect(),P=M.left,D=M.top,j=M.width,F=M.height;if(!C&&!function(t,e){return t.left>e.left&&t.lefte.top&&t.top.95||O<.05)&&(O=Math.round(O)),(u!==Y||S||S!==a.elementHovered)&&(O=f?1-O:O,e.dispatch((0,d.parameterChanged)(w,O))),{elementHovered:S,clientX:h,clientY:g,pageX:_,pageY:I}}}),(0,i.default)(r,W,{types:at,handler:function(t){var e=t.store,n=t.eventConfig,r=n.continuousParameterGroupId,i=n.reverse,o=st(),a=o.scrollTop/(o.scrollHeight-o.clientHeight);a=i?1-a:a,e.dispatch((0,d.parameterChanged)(r,a))}}),(0,i.default)(r,k,{types:at,handler:function(t){var e=t.element,n=t.store,r=t.eventConfig,i=t.eventStateKey,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{scrollPercent:0},a=st(),u=a.scrollLeft,c=a.scrollTop,s=a.scrollWidth,f=a.scrollHeight,l=a.clientHeight,p=r.basedOn,v=r.selectedAxis,h=r.continuousParameterGroupId,E=r.startsEntering,g=r.startsExiting,y=r.addEndOffset,_=r.addStartOffset,m=r.addOffsetValue,I=void 0===m?0:m,b=r.endOffsetValue,T=void 0===b?0:b;if(p===z){var O="X_AXIS"===v?u/s:c/f;return O!==o.scrollPercent&&n.dispatch((0,d.parameterChanged)(h,O)),{scrollPercent:O}}var w=q(i,h),S=e.getBoundingClientRect(),A=(_?I:0)/100,x=(y?T:0)/100;A=E?A:1-A,x=g?x:1-x;var R=S.top+Math.min(S.height*A,l),L=S.top+S.height*x-R,N=Math.min(l+L,f),C=Math.min(Math.max(0,l-R),N)/N;return C!==o.scrollPercent&&n.dispatch((0,d.parameterChanged)(w,C)),{scrollPercent:C}}}),(0,i.default)(r,D,yt),(0,i.default)(r,G,yt),(0,i.default)(r,P,(0,u.default)({},ut,{handler:vt(function(t,e){e.scrollingDown&&nt(t)})})),(0,i.default)(r,X,(0,u.default)({},ut,{handler:vt(function(t,e){e.scrollingDown||nt(t)})})),(0,i.default)(r,V,{types:"readystatechange IX2_PAGE_UPDATE",handler:rt(Z,function(t){return function(e,n){var r={finished:"complete"===document.readyState};return!r.finished||n&&n.finshed||t(e),r}}(nt))}),(0,i.default)(r,B,{types:"readystatechange IX2_PAGE_UPDATE",handler:rt(Z,function(t){return function(e,n){return n||t(e),{started:!0}}}(nt))}),r)},function(t,e,n){var r=n(313)();t.exports=r},function(t,e,n){var r=n(79),i=n(314),o=n(136),a=n(137),u=n(0),c=n(327),s="Expected a function",f=8,l=32,d=128,p=256;t.exports=function(t){return i(function(e){var n=e.length,i=n,v=r.prototype.thru;for(t&&e.reverse();i--;){var h=e[i];if("function"!=typeof h)throw new TypeError(s);if(v&&!E&&"wrapper"==a(h))var E=new r([],!0)}for(i=E?i:n;++i0&&o(f)?n>1?t(f,n-1,o,a,u):r(u,f):a||(u[u.length]=f)}return u}},function(t,e,n){var r=n(24),i=n(37),o=n(0),a=r?r.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||i(t)||!!(a&&t&&t[a])}},function(t,e,n){var r=n(319),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,u=i(o.length-e,0),c=Array(u);++a0){if(++e>=n)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},function(t,e,n){var r=n(115),i=r&&new r;t.exports=i},function(t,e){t.exports=function(){}},function(t,e){t.exports={}},function(t,e,n){var r=n(81),i=n(136),o=n(137),a=n(328);t.exports=function(t){var e=o(t),n=a[e];if("function"!=typeof n||!(e in r.prototype))return!1;if(t===n)return!0;var u=i(n);return!!u&&t===u[0]}},function(t,e,n){var r=n(81),i=n(79),o=n(80),a=n(0),u=n(13),c=n(329),s=Object.prototype.hasOwnProperty;function f(t){if(u(t)&&!a(t)&&!(t instanceof r)){if(t instanceof i)return t;if(s.call(t,"__wrapped__"))return c(t)}return new i(t)}f.prototype=o.prototype,f.prototype.constructor=f,t.exports=f},function(t,e,n){var r=n(81),i=n(79),o=n(330);t.exports=function(t){if(t instanceof r)return t.clone();var e=new i(t.__wrapped__,t.__chain__);return e.__actions__=o(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}},function(t,e){t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n=0)){var a=t(e);if(f.hash.length>1&&f.host+f.pathname===s.host+s.pathname){if(!/^#[a-zA-Z0-9\-\_]+$/.test(f.hash))return;var u=t(f.hash);u.length&&i.push({link:a,sec:u,active:!1})}else if("#"!==r&&""!==r){var c=f.href===s.href||r===o||d.test(r)&&p.test(o);E(a,l,c)}}}function h(){var t=u.scrollTop(),n=u.height();e.each(i,function(e){var r=e.link,i=e.sec,o=i.offset().top,a=i.outerHeight(),u=.5*n,c=i.is(":visible")&&o+a-u>=t&&o+u<=t+n;e.active!==c&&(e.active=c,E(r,l,c))})}function E(t,e,n){var r=t.hasClass(e);n&&r||(n||r)&&(n?t.addClass(e):t.removeClass(e))}return a.ready=a.design=a.preview=function(){n=c&&r.env("design"),o=r.env("slug")||s.pathname||"",r.scroll.off(h),i=[];for(var t=document.links,e=0;e .header, "+f+" > .w-nav:not([data-no-scroll])"),d="fixed"===l.css("position")?l.outerHeight():0;n.setTimeout(function(){!function(e,r){var i=t(n).scrollTop(),o=e.offset().top-r;if("mid"===e.data("scroll")){var a=t(n).height()-r,u=e.outerHeight();u0)&&(c=e)}),Date.now||(Date.now=function(){return(new Date).getTime()});var s=Date.now(),f=n.requestAnimationFrame||n.mozRequestAnimationFrame||n.webkitRequestAnimationFrame||function(t){n.setTimeout(t,15)},l=(472.143*Math.log(Math.abs(i-o)+125)-2e3)*c;!function t(){var e=Date.now()-s;n.scroll(0,function(t,e,n,r){return n>r?e:t+(e-t)*((i=n/r)<.5?4*i*i*i:(i-1)*(2*i-2)*(2*i-2)+1);var i}(i,o,e,l)),e<=l&&f(t)}()}(c,d)},u?0:300)}}}(s,e)}else e.preventDefault()})}}})},function(t,e,n){"use strict";n(5).define("touch",t.exports=function(t){var e={},n=!document.addEventListener,r=window.getSelection;function i(t){var e,n,i,a=!1,u=!1,c=!1,s=Math.min(Math.round(.04*window.innerWidth),40);function f(t){var r=t.touches;r&&r.length>1||(a=!0,u=!1,r?(c=!0,e=r[0].clientX,n=r[0].clientY):(e=t.clientX,n=t.clientY),i=e)}function l(t){if(a){if(c&&"mousemove"===t.type)return t.preventDefault(),void t.stopPropagation();var f=t.touches,l=f?f[0].clientX:t.clientX,d=f?f[0].clientY:t.clientY,v=l-i;i=l,Math.abs(v)>s&&r&&""===String(r())&&(o("swipe",t,{direction:v>0?"right":"left"}),p()),(Math.abs(l-e)>10||Math.abs(d-n)>10)&&(u=!0)}}function d(t){if(a){if(a=!1,c&&"mouseup"===t.type)return t.preventDefault(),t.stopPropagation(),void(c=!1);u||o("tap",t)}}function p(){a=!1}t.addEventListener("touchstart",f,!1),t.addEventListener("touchmove",l,!1),t.addEventListener("touchend",d,!1),t.addEventListener("touchcancel",p,!1),t.addEventListener("mousedown",f,!1),t.addEventListener("mousemove",l,!1),t.addEventListener("mouseup",d,!1),t.addEventListener("mouseout",p,!1),this.destroy=function(){t.removeEventListener("touchstart",f,!1),t.removeEventListener("touchmove",l,!1),t.removeEventListener("touchend",d,!1),t.removeEventListener("touchcancel",p,!1),t.removeEventListener("mousedown",f,!1),t.removeEventListener("mousemove",l,!1),t.removeEventListener("mouseup",d,!1),t.removeEventListener("mouseout",p,!1),t=null}}function o(e,n,r){var i=t.Event(e,{originalEvent:n});t(n.target).trigger(i,r)}return n&&(t.event.special.tap={bindType:"click",delegateType:"click"}),e.init=function(e){return n?null:(e="string"==typeof e?t(e).get(0):e)?new i(e):null},e.instance=e.init(document),e})},function(t,e,n){"use strict";var r=n(5);r.define("forms",t.exports=function(t,e){var n,i,o,a,u,c={},s=t(document),f=window.location,l=window.XDomainRequest&&!window.atob,d=".w-form",p=/e(-)?mail/i,v=/^\S+@\S+$/,h=window.alert,E=r.env(),g=/list-manage[1-9]?.com/i,y=e.debounce(function(){h("Oops! This page has improperly configured forms. Please contact your website administrator to fix this issue.")},100);function _(e,n){var r=t(n),o=t.data(n,d);o||(o=t.data(n,d,{form:r})),m(o);var a=r.closest("div.w-form");o.done=a.find("> .w-form-done"),o.fail=a.find("> .w-form-fail"),o.fileUploads=a.find(".w-file-upload"),o.fileUploads.each(function(e){!function(e,n){if(!n.fileUploads||!n.fileUploads[e])return;var r,i=t(n.fileUploads[e]),o=i.find("> .w-file-upload-default"),a=i.find("> .w-file-upload-uploading"),c=i.find("> .w-file-upload-success"),s=i.find("> .w-file-upload-error"),f=o.find(".w-file-upload-input"),l=o.find(".w-file-upload-label"),d=l.children(),p=s.find(".w-file-upload-error-msg"),v=c.find(".w-file-upload-file"),h=c.find(".w-file-remove-link"),g=v.find(".w-file-upload-file-name"),y=p.attr("data-w-size-error"),_=p.attr("data-w-type-error"),b=p.attr("data-w-generic-error");if(E)f.on("click",function(t){t.preventDefault()}),l.on("click",function(t){t.preventDefault()}),d.on("click",function(t){t.preventDefault()});else{h.on("click",function(){f.removeAttr("data-value"),f.val(""),g.html(""),o.toggle(!0),c.toggle(!1)}),f.on("change",function(i){(r=i.target&&i.target.files&&i.target.files[0])&&(o.toggle(!1),s.toggle(!1),a.toggle(!0),g.text(r.name),A()||I(n),n.fileUploads[e].uploading=!0,function(e,n){var r={name:e.name,size:e.size};t.ajax({type:"POST",url:u,data:r,dataType:"json",crossDomain:!0}).done(function(t){n(null,t)}).fail(function(t){n(t)})}(r,w))});var T=l.outerHeight();f.height(T),f.width(1)}function O(t){var r=t.responseJSON&&t.responseJSON.msg,i=b;"string"==typeof r&&0===r.indexOf("InvalidFileTypeError")?i=_:"string"==typeof r&&0===r.indexOf("MaxFileSizeError")&&(i=y),p.text(i),f.removeAttr("data-value"),f.val(""),a.toggle(!1),o.toggle(!0),s.toggle(!0),n.fileUploads[e].uploading=!1,A()||m(n)}function w(e,n){if(e)return O(e);var i=n.fileName,o=n.postData,a=n.fileId,u=n.s3Url;f.attr("data-value",a),function(e,n,r,i,o){var a=new FormData;for(var u in n)a.append(u,n[u]);a.append("file",r,i),t.ajax({type:"POST",url:e,data:a,processData:!1,contentType:!1}).done(function(){o(null)}).fail(function(t){o(t)})}(u,o,r,i,S)}function S(t){if(t)return O(t);a.toggle(!1),c.css("display","inline-block"),n.fileUploads[e].uploading=!1,A()||m(n)}function A(){var t=n.fileUploads&&n.fileUploads.toArray()||[];return t.some(function(t){return t.uploading})}}(e,o)});var c=o.action=r.attr("action");o.handler=null,o.redirect=r.attr("data-redirect"),g.test(c)?o.handler=O:c||(i?o.handler="function"==typeof hostedSubmitWebflow?hostedSubmitWebflow:T:y())}function m(t){var e=t.btn=t.form.find(':input[type="submit"]');t.wait=t.btn.attr("data-wait")||null,t.success=!1,e.prop("disabled",!1),t.label&&e.val(t.label)}function I(t){var e=t.btn,n=t.wait;e.prop("disabled",!0),n&&(t.label=e.val(),e.val(n))}function b(e,n){var r=null;return n=n||{},e.find(':input:not([type="submit"]):not([type="file"])').each(function(i,o){var a=t(o),u=a.attr("type"),c=a.attr("data-name")||a.attr("name")||"Field "+(i+1),s=a.val();if("checkbox"===u)s=a.is(":checked");else if("radio"===u){if(null===n[c]||"string"==typeof n[c])return;s=e.find('input[name="'+a.attr("name")+'"]:checked').val()||null}"string"==typeof s&&(s=t.trim(s)),n[c]=s,r=r||function(t,e,n,r){var i=null;"password"===e?i="Passwords cannot be submitted.":t.attr("required")?r?p.test(t.attr("type"))&&(v.test(r)||(i="Please enter a valid email address for: "+n)):i="Please fill out the required field: "+n:"g-recaptcha-response"!==n||r||(i="Please confirm you’re not a robot.");return i}(a,u,c,s)}),r}function T(t){S(t),w(t)}function O(n){m(n);var r=n.form,i={};if(!/^https/.test(f.href)||/^https/.test(n.action)){S(n);var o,a=b(r,i);if(a)return h(a);I(n),e.each(i,function(t,e){p.test(e)&&(i.EMAIL=t),/^((full[ _-]?)?name)$/i.test(e)&&(o=t),/^(first[ _-]?name)$/i.test(e)&&(i.FNAME=t),/^(last[ _-]?name)$/i.test(e)&&(i.LNAME=t)}),o&&!i.FNAME&&(o=o.split(" "),i.FNAME=o[0],i.LNAME=i.LNAME||o[1]);var u=n.action.replace("/post?","/post-json?")+"&c=?",c=u.indexOf("u=")+2;c=u.substring(c,u.indexOf("&",c));var s=u.indexOf("id=")+3;s=u.substring(s,u.indexOf("&",s)),i["b_"+c+"_"+s]="",t.ajax({url:u,data:i,dataType:"jsonp"}).done(function(t){n.success="success"===t.result||/already/.test(t.msg),n.success||console.info("MailChimp error: "+t.msg),w(n)}).fail(function(){w(n)})}else r.attr("method","post")}function w(t){var e=t.form,n=t.redirect,i=t.success;i&&n?r.location(n):(t.done.toggle(i),t.fail.toggle(!i),e.toggle(!i),m(t))}function S(t){t.evt&&t.evt.preventDefault(),t.evt=null}return c.ready=c.design=c.preview=function(){!function(){i=t("html").attr("data-wf-site"),a="https://webflow.com/api/v1/form/"+i,l&&a.indexOf("https://webflow.com")>=0&&(a=a.replace("https://webflow.com","http://formdata.webflow.com"));if(u=a+"/signFile",!(n=t(d+" form")).length)return;n.each(_)}(),E||o||(o=!0,s.on("submit",d+" form",function(e){var n=t.data(this,d);n.handler&&(n.evt=e,n.handler(n))}))},c})},function(t,e,n){"use strict";var r=n(5),i=n(55);r.define("navbar",t.exports=function(t,e){var n,o,a,u,c={},s=t.tram,f=t(window),l=t(document),d=r.env(),p='
',v=".w-nav",h="w--open",E="w--nav-menu-open",g="w--nav-link-open",y=i.triggers,_=t();function m(){r.resize.off(I)}function I(){o.each(x)}function b(n,i){var o=t(i),c=t.data(i,v);c||(c=t.data(i,v,{open:!1,el:o,config:{}})),c.menu=o.find(".w-nav-menu"),c.links=c.menu.find(".w-nav-link"),c.dropdowns=c.menu.find(".w-select"),c.button=o.find(".w-nav-button"),c.container=o.find(".w-container"),c.outside=function(e){e.outside&&l.off("tap"+v,e.outside);return function(n){var r=t(n.target);u&&r.closest(".w-editor-bem-EditorOverlay").length||A(e,r)}}(c),c.el.off(v),c.button.off(v),c.menu.off(v),w(c),a?(O(c),c.el.on("setting"+v,function(t){return function(n,r){r=r||{};var i=f.width();w(t),!0===r.open&&L(t,!0),!1===r.open&&C(t,!0),t.open&&e.defer(function(){i!==f.width()&&S(t)})}}(c))):(!function(e){if(e.overlay)return;e.overlay=t(p).appendTo(e.el),e.parent=e.menu.parent(),C(e,!0)}(c),c.button.on("tap"+v,function(t){return e.debounce(function(){t.open?C(t):L(t)})}(c)),c.menu.on("click"+v,"a",function(e){return function(n){var i=t(this),o=i.attr("href");r.validClick(n.currentTarget)?o&&0===o.indexOf("#")&&e.open&&C(e):n.preventDefault()}}(c))),x(n,i)}function T(e,n){var r=t.data(n,v);r&&(O(r),t.removeData(n,v))}function O(t){t.overlay&&(C(t,!0),t.overlay.remove(),t.overlay=null)}function w(t){var n={},r=t.config||{},i=n.animation=t.el.attr("data-animation")||"default";n.animOver=/^over/.test(i),n.animDirect=/left$/.test(i)?-1:1,r.animation!==i&&t.open&&e.defer(S,t),n.easing=t.el.attr("data-easing")||"ease",n.easing2=t.el.attr("data-easing2")||"ease";var o=t.el.attr("data-duration");n.duration=null!=o?Number(o):400,n.docHeight=t.el.attr("data-doc-height"),t.config=n}function S(t){t.open&&(C(t,!0),L(t,!0))}c.ready=c.design=c.preview=function(){if(a=d&&r.env("design"),u=r.env("editor"),n=t(document.body),!(o=l.find(v)).length)return;o.each(b),m(),r.resize.on(I)},c.destroy=function(){_=t(),m(),o&&o.length&&o.each(T)};var A=e.debounce(function(t,e){if(t.open){var n=e.closest(".w-nav-menu");t.menu.is(n)||C(t)}});function x(e,n){var r=t.data(n,v),i=r.collapsed="none"!==r.button.css("display");if(!r.open||i||a||C(r,!0),r.container.length){var o=function(e){var n=e.container.css(R);"none"===n&&(n="");return function(e,r){(r=t(r)).css(R,""),"none"===r.css(R)&&r.css(R,n)}}(r);r.links.each(o),r.dropdowns.each(o)}r.open&&N(r)}var R="max-width";function L(t,e){if(!t.open){t.open=!0,t.menu.addClass(E),t.links.addClass(g),t.button.addClass(h);var n=t.config;"none"!==n.animation&&s.support.transform||(e=!0);var i=N(t),o=t.menu.outerHeight(!0),u=t.menu.outerWidth(!0),c=t.el.height(),f=t.el[0];if(x(0,f),y.intro(0,f),r.redraw.up(),a||l.on("tap"+v,t.outside),!e){var d="transform "+n.duration+"ms "+n.easing;if(t.overlay&&(_=t.menu.prev(),t.overlay.show().append(t.menu)),n.animOver)return s(t.menu).add(d).set({x:n.animDirect*u,height:i}).start({x:0}),void(t.overlay&&t.overlay.width(u));var p=c+o;s(t.menu).add(d).set({y:-p}).start({y:0})}}}function N(t){var e=t.config,r=e.docHeight?l.height():n.height();return e.animOver?t.menu.height(r):"fixed"!==t.el.css("position")&&(r-=t.el.height()),t.overlay&&t.overlay.height(r),r}function C(t,e){if(t.open){t.open=!1,t.button.removeClass(h);var n=t.config;if(("none"===n.animation||!s.support.transform||n.duration<=0)&&(e=!0),y.outro(0,t.el[0]),l.off("tap"+v,t.outside),e)return s(t.menu).stop(),void c();var r="transform "+n.duration+"ms "+n.easing2,i=t.menu.outerHeight(!0),o=t.menu.outerWidth(!0),a=t.el.height();if(n.animOver)s(t.menu).add(r).start({x:o*n.animDirect}).then(c);else{var u=a+i;s(t.menu).add(r).start({y:-u}).then(c)}}function c(){t.menu.height(""),s(t.menu).set({x:0,y:0}),t.menu.removeClass(E),t.links.removeClass(g),t.overlay&&t.overlay.children().length&&(_.length?t.menu.insertAfter(_):t.menu.prependTo(t.parent),t.overlay.attr("style","").hide()),t.el.triggerHandler("w-close")}}return c})},function(t,e,n){"use strict";var r=n(5),i=n(55);r.define("slider",t.exports=function(t,e){var n,o,a,u,c={},s=t.tram,f=t(document),l=r.env(),d=".w-slider",p='
',v=i.triggers;function h(){(n=f.find(d)).length&&(n.filter(":visible").each(y),u=null,a||(E(),r.resize.on(g),r.redraw.on(c.redraw)))}function E(){r.resize.off(g),r.redraw.off(c.redraw)}function g(){n.filter(":visible").each(S)}function y(e,n){var r=t(n),i=t.data(n,d);if(i||(i=t.data(n,d,{index:0,depth:1,el:r,config:{}})),i.mask=r.children(".w-slider-mask"),i.left=r.children(".w-slider-arrow-left"),i.right=r.children(".w-slider-arrow-right"),i.nav=r.children(".w-slider-nav"),i.slides=i.mask.children(".w-slide"),i.slides.each(v.reset),u&&(i.maskWidth=0),!s.support.transform)return i.left.hide(),i.right.hide(),i.nav.hide(),void(a=!0);i.el.off(d),i.left.off(d),i.right.off(d),i.nav.off(d),_(i),o?(i.el.on("setting"+d,O(i)),T(i),i.hasTimer=!1):(i.el.on("swipe"+d,O(i)),i.left.on("tap"+d,I(i)),i.right.on("tap"+d,b(i)),i.config.autoplay&&!i.hasTimer&&(i.hasTimer=!0,i.timerCount=1,function t(e){T(e);var n=e.config;var r=n.timerMax;if(r&&e.timerCount++>r)return;e.timerId=window.setTimeout(function(){null==e.timerId||o||(b(e)(),t(e))},n.delay)}(i))),i.nav.on("tap"+d,"> div",O(i)),l||i.mask.contents().filter(function(){return 3===this.nodeType}).remove(),S(e,n)}function _(t){var e={crossOver:0};e.animation=t.el.attr("data-animation")||"slide","outin"===e.animation&&(e.animation="cross",e.crossOver=.5),e.easing=t.el.attr("data-easing")||"ease";var n=t.el.attr("data-duration");if(e.duration=null!=n?parseInt(n,10):500,m(t.el.attr("data-infinite"))&&(e.infinite=!0),m(t.el.attr("data-disable-swipe"))&&(e.disableSwipe=!0),m(t.el.attr("data-hide-arrows"))?e.hideArrows=!0:t.config.hideArrows&&(t.left.show(),t.right.show()),m(t.el.attr("data-autoplay"))){e.autoplay=!0,e.delay=parseInt(t.el.attr("data-delay"),10)||2e3,e.timerMax=parseInt(t.el.attr("data-autoplay-limit"),10);var r="mousedown"+d+" touchstart"+d;o||t.el.off(r).one(r,function(){T(t)})}var i=t.right.width();e.edge=i?i+40:100,t.config=e}function m(t){return"1"===t||"true"===t}function I(t){return function(){w(t,{index:t.index-1,vector:-1})}}function b(t){return function(){w(t,{index:t.index+1,vector:1})}}function T(t){window.clearTimeout(t.timerId),t.timerId=null}function O(n){return function(i,a){a=a||{};var u=n.config;if(o&&"setting"===i.type){if("prev"===a.select)return I(n)();if("next"===a.select)return b(n)();if(_(n),A(n),null==a.select)return;!function(n,r){var i=null;r===n.slides.length&&(h(),A(n)),e.each(n.anchors,function(e,n){t(e.els).each(function(e,o){t(o).index()===r&&(i=n)})}),null!=i&&w(n,{index:i,immediate:!0})}(n,a.select)}else{if("swipe"===i.type){if(u.disableSwipe)return;if(r.env("editor"))return;return"left"===a.direction?b(n)():"right"===a.direction?I(n)():void 0}n.nav.has(i.target).length&&w(n,{index:t(i.target).index()})}}}function w(e,n){n=n||{};var r=e.config,i=e.anchors;e.previous=e.index;var a=n.index,c={};a<0?(a=i.length-1,r.infinite&&(c.x=-e.endX,c.from=0,c.to=i[0].width)):a>=i.length&&(a=0,r.infinite&&(c.x=i[i.length-1].width,c.from=-i[i.length-1].x,c.to=c.from-c.x)),e.index=a;var f=e.nav.children().eq(e.index).addClass("w-active");e.nav.children().not(f).removeClass("w-active"),r.hideArrows&&(e.index===i.length-1?e.right.hide():e.right.show(),0===e.index?e.left.hide():e.left.show());var l=e.offsetX||0,d=e.offsetX=-i[e.index].x,p={x:d,opacity:1,visibility:""},h=t(i[e.index].els),E=t(i[e.previous]&&i[e.previous].els),g=e.slides.not(h),y=r.animation,_=r.easing,m=Math.round(r.duration),I=n.vector||(e.index>e.previous?1:-1),b="opacity "+m+"ms "+_,T="transform "+m+"ms "+_;if(o||(h.each(v.intro),g.each(v.outro)),n.immediate&&!u)return s(h).set(p),void S();if(e.index!==e.previous){if("cross"===y){var O=Math.round(m-m*r.crossOver),w=Math.round(m-O);return b="opacity "+O+"ms "+_,s(E).set({visibility:""}).add(b).start({opacity:0}),void s(h).set({visibility:"",x:d,opacity:0,zIndex:e.depth++}).add(b).wait(w).then({opacity:1}).then(S)}if("fade"===y)return s(E).set({visibility:""}).stop(),void s(h).set({visibility:"",x:d,opacity:0,zIndex:e.depth++}).add(b).start({opacity:1}).then(S);if("over"===y)return p={x:e.endX},s(E).set({visibility:""}).stop(),void s(h).set({visibility:"",zIndex:e.depth++,x:d+i[e.index].width*I}).add(T).start({x:d}).then(S);r.infinite&&c.x?(s(e.slides.not(E)).set({visibility:"",x:c.x}).add(T).start({x:d}),s(E).set({visibility:"",x:c.from}).add(T).start({x:c.to}),e.shifted=E):(r.infinite&&e.shifted&&(s(e.shifted).set({visibility:"",x:l}),e.shifted=null),s(e.slides).set({visibility:""}).add(T).start({x:d}))}function S(){h=t(i[e.index].els),g=e.slides.not(h),"slide"!==y&&(p.visibility="hidden"),s(g).set(p)}}function S(e,n){var r=t.data(n,d);if(r)return function(t){var e=t.mask.width();if(t.maskWidth!==e)return t.maskWidth=e,!0;return!1}(r)?A(r):void(o&&function(e){var n=0;if(e.slides.each(function(e,r){n+=t(r).outerWidth(!0)}),e.slidesWidth!==n)return e.slidesWidth=n,!0;return!1}(r)&&A(r))}function A(e){var n=1,r=0,i=0,a=0,u=e.maskWidth,c=u-e.config.edge;c<0&&(c=0),e.anchors=[{els:[],x:0,width:0}],e.slides.each(function(o,s){i-r>c&&(n++,r+=u,e.anchors[n-1]={els:[],x:i,width:0}),a=t(s).outerWidth(!0),i+=a,e.anchors[n-1].width+=a,e.anchors[n-1].els.push(s)}),e.endX=i,o&&(e.pages=null),e.nav.length&&e.pages!==n&&(e.pages=n,function(e){var n,r=[],i=e.el.attr("data-nav-spacing");i&&(i=parseFloat(i)+"px");for(var o=0;o=n&&(s=n-1),w(e,{immediate:!0,index:s})}return c.ready=function(){o=r.env("design"),h()},c.design=function(){o=!0,h()},c.preview=function(){o=!1,h()},c.redraw=function(){u=!0,h()},c.destroy=E,c})}]);/** * ---------------------------------------------------------------------- * Webflow: Interactions 2.0: Init */ diff --git a/docs/src/structure.ts b/docs/src/structure.ts index 298469fef..56d497456 100644 --- a/docs/src/structure.ts +++ b/docs/src/structure.ts @@ -344,6 +344,15 @@ export const structure = [ }, ], }, + { + type: 'tabs', + name: 'Menu', + icon: 'menu.svg', + source: [ + 'Menu', + 'MenuItem', + ], + }, { type: 'group', name: 'Forms', diff --git a/scripts/build/compile-ts.sh b/scripts/build/compile-ts.sh index 7ba4d5716..2cea4f356 100755 --- a/scripts/build/compile-ts.sh +++ b/scripts/build/compile-ts.sh @@ -4,4 +4,4 @@ # because it should not contain module aliases env=${1} -tscpaths -p ./tsconfig.${env}.json -s ./src/framework -o ./dist/tsc-out/framework +tsc -p ./tsconfig.${env}.json diff --git a/src/framework/ui/divider/divider.component.tsx b/src/framework/ui/divider/divider.component.tsx new file mode 100644 index 000000000..c54ba3bd7 --- /dev/null +++ b/src/framework/ui/divider/divider.component.tsx @@ -0,0 +1,36 @@ +/** + * @license + * Copyright Akveo. All Rights Reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + */ + +import React from 'react'; +import { + View, + ViewProps, +} from 'react-native'; +import { + styled, + StyledComponentProps, +} from '@kitten/theme'; + +export type DividerProps = StyledComponentProps & ViewProps; +export type DividerElement = React.ReactElement; + +class DividerComponent extends React.Component { + + static styledComponentName: string = 'Divider'; + + public render(): DividerElement { + const { style, themedStyle, ...restProps } = this.props; + + return ( + + ); + } +} + +export const Divider = styled(DividerComponent); diff --git a/src/framework/ui/index.ts b/src/framework/ui/index.ts index 1c90e85da..1c7b0a156 100644 --- a/src/framework/ui/index.ts +++ b/src/framework/ui/index.ts @@ -72,6 +72,22 @@ export { ListItemProps, ListItemElement, } from './list/listItem.component'; +export { + Menu, + MenuProps, + MenuElement, +} from './menu/menu.component'; +export { + MenuItem, + MenuItemProps, + MenuItemElement, + MenuItemType, +} from './menu/menuItem.component'; +export { + SubMenu, + SubMenuElement, + SubMenuProps, +} from './menu/subMenu.component'; export { Modal, ModalProps, @@ -103,6 +119,11 @@ export { RadioGroupProps, RadioGroupElement, } from './radioGroup/radioGroup.component'; +export { + Divider, + DividerElement, + DividerProps, +} from './divider/divider.component'; export { Spinner, SpinnerProps, diff --git a/src/framework/ui/list/listItem.component.tsx b/src/framework/ui/list/listItem.component.tsx index 269881f31..4dbce3e31 100644 --- a/src/framework/ui/list/listItem.component.tsx +++ b/src/framework/ui/list/listItem.component.tsx @@ -375,7 +375,6 @@ export class ListItemComponent extends React.Component { const styles = StyleSheet.create({ container: { flexDirection: 'row', - justifyContent: 'center', alignItems: 'center', }, contentContainer: { diff --git a/src/framework/ui/menu/menu.component.tsx b/src/framework/ui/menu/menu.component.tsx new file mode 100644 index 000000000..1879e66bb --- /dev/null +++ b/src/framework/ui/menu/menu.component.tsx @@ -0,0 +1,403 @@ +/** + * @license + * Copyright Akveo. All Rights Reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + */ + +import React from 'react'; +import { + ListRenderItemInfo, + GestureResponderEvent, +} from 'react-native'; +import { + styled, + StyledComponentProps, +} from '@kitten/theme'; +import { + List, + ListProps, +} from '../list/list.component'; +import { + Divider, + DividerElement, +} from '../divider/divider.component'; +import { + MenuItem, + MenuItemType, + MenuItemElement, + MenuItemProps, +} from './menuItem.component'; +import { SubMenu } from './subMenu.component'; +import { MenuService } from './menu.service'; + +interface ComponentProps { + selectedIndex?: number; + onSelect: (index: number, event?: GestureResponderEvent) => void; +} + +export type MenuProps = StyledComponentProps & ComponentProps & Omit; +export type MenuElement = React.ReactElement; + +/** + * `Menu` renders vertical list of `MenuItems`. + * + * @extends React.Component + * + * @property {string} appearance - Determines the appearance of the component. + * Can be `default` or `noDivider`. + * Default is `default`. + * + * @property {MenuItemType[]} data - Determines menu items. + * + * @property {number} selectedIndex - The index of selected item. + * + * @property {(index: number, event?: GestureResponderEvent) => void} onSelect - Fires when + * selected item is changed. + * + * @property Omit + * + * @property StyledComponentProps + * + * @overview-example Simple Usage + * + * ``` + * import React from 'react'; + * import { + * Menu, + * MenuItemType, + * } from 'react-native-ui-kitten'; + * + * interface State { + * selectedIndex: number; + * } + * + * export class MenuShowcase extends React.Component { + * + * public state: State = { + * selectedIndex: null, + * }; + * + * private data: MenuItemType[] = [ + * { title: 'Item 1' }, + * { title: 'Item 2' }, + * { title: 'Item 3' }, + * ]; + * + * private onSelect = (selectedIndex: number): void => { + * this.setState({ selectedIndex }); + * }; + * + * public render(): React.ReactNode { + * return ( + * + * ); + * } + * } + * ``` + * + * @overview-example Eva Styling + * + * ``` + * import React from 'react'; + * import { + * Menu, + * MenuItemType, + * } from 'react-native-ui-kitten'; + * + * interface State { + * selectedIndex: number; + * } + * + * export class MenuShowcase extends React.Component { + * + * public state: State = { + * selectedIndex: null, + * }; + * + * private data: MenuItemType[] = [ + * { title: 'Item 1' }, + * { title: 'Item 2' }, + * { title: 'Item 3' }, + * ]; + * + * private onSelect = (selectedIndex: number): void => { + * this.setState({ selectedIndex }); + * }; + * + * public render(): React.ReactNode { + * return ( + * + * ); + * } + * } + * ``` + * + * @example Disabled Item + * + * ``` + * import React from 'react'; + * import { + * Menu, + * MenuItemType, + * } from 'react-native-ui-kitten'; + * + * interface State { + * selectedIndex: number; + * } + * + * export class MenuShowcase extends React.Component { + * + * public state: State = { + * selectedIndex: null, + * }; + * + * private data: MenuItemType[] = [ + * { title: 'Item 1', disabled: true }, + * { title: 'Item 2' }, + * { title: 'Item 3' }, + * ]; + * + * private onSelect = (selectedIndex: number): void => { + * this.setState({ selectedIndex }); + * }; + * + * public render(): React.ReactNode { + * return ( + * + * ); + * } + * } + * ``` + * + * @example With Icons + * + * ``` + * import React from 'react'; + * import { + * Menu, + * MenuItemType, + * } from 'react-native-ui-kitten'; + * + * interface State { + * selectedIndex: number; + * } + * + * export class MenuShowcase extends React.Component { + * + * public state: State = { + * selectedIndex: null, + * }; + * + * private data: MenuItemType[] = [ + * { + * title: 'Item 1', + * icon: this.Icon, + * }, + * { + * title: 'Item 2', + * icon: this.Icon, + * }, + * { + * title: 'Item 3', + * icon: this.Icon, + * }, + * ]; + * + * private Icon = (style: StyleType): React.ReactElement => ( + * + * ); + * + * private onSelect = (selectedIndex: number): void => { + * this.setState({ selectedIndex }); + * }; + * + * public render(): React.ReactNode { + * return ( + * + * ); + * } + * } + * ``` + * + * @example With Items Groups + * + * ``` + * import React from 'react'; + * import { + * Menu, + * MenuItemType, + * } from 'react-native-ui-kitten'; + * + * interface State { + * selectedIndex: number; + * } + * + * export class MenuShowcase extends React.Component { + * + * public state: State = { + * selectedIndex: null, + * }; + * + * private data: MenuItemType[] = [ + * { title: 'Item 1' }, + * { + * title: 'Item 2', + * subItems: [ + * { title: 'Item 21' }, + * { title: 'Item 22' }, + * { title: 'Item 23' }, + * ], + * }, + * { title: 'Item 3' }, + * ]; + * + * private onSelect = (selectedIndex: number): void => { + * this.setState({ selectedIndex }); + * }; + * + * public render(): React.ReactNode { + * return ( + * + * ); + * } + * } + * ``` + * + * @example Inline Styling + * + * ``` + * import React from 'react'; + * import { + * Menu, + * MenuItemType, + * } from 'react-native-ui-kitten'; + * + * interface State { + * selectedIndex: number; + * } + * + * export class MenuShowcase extends React.Component { + * + * public state: State = { + * selectedIndex: null, + * }; + * + * private data: MenuItemType[] = [ + * { title: 'Item 1', titleStyle: { color: 'red', fontSize: 18 } }, + * { title: 'Item 2' }, + * { title: 'Item 3' }, + * ]; + * + * private onSelect = (selectedIndex: number): void => { + * this.setState({ selectedIndex }); + * }; + * + * public render(): React.ReactNode { + * return ( + * + * ); + * } + * } + * ``` + */ + +class MenuComponent extends React.Component { + + static styledComponentName: string = 'Menu'; + + private service: MenuService = new MenuService(); + + private onSelect = (selectedIndex: number, event: GestureResponderEvent): void => { + const { onSelect } = this.props; + + if (onSelect) { + onSelect(selectedIndex, event); + } + }; + + private isDividerAbsent = (): boolean => { + const { appearance } = this.props; + + return appearance !== 'noDivider'; + }; + + private areThereSubItems = (item: MenuItemProps): boolean => { + return item.subItems && item.subItems.length !== 0; + }; + + private getIsSelected = (item: MenuItemType): boolean => { + const { selectedIndex } = this.props; + + return selectedIndex === item.menuIndex; + }; + + private renderMenuItem = (info: ListRenderItemInfo): MenuItemElement => { + const { selectedIndex } = this.props; + const isSelected: boolean = this.getIsSelected(info.item); + + return this.areThereSubItems(info.item) ? ( + + ) : ( + + ); + }; + + private renderDivider = (): DividerElement => { + return this.isDividerAbsent() && ( + + ); + }; + + public render(): React.ReactNode { + const { appearance, data, ...restProps } = this.props; + const items: MenuItemType[] = this.service.setIndexes(data); + + return ( + + ); + } +} + +export const Menu = styled(MenuComponent); diff --git a/src/framework/ui/menu/menu.service.ts b/src/framework/ui/menu/menu.service.ts new file mode 100644 index 000000000..7f2156562 --- /dev/null +++ b/src/framework/ui/menu/menu.service.ts @@ -0,0 +1,37 @@ +/** + * @license + * Copyright Akveo. All Rights Reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + */ + +import { MenuItemType } from './menuItem.component'; + +/** + * Support service for the menu component. Can be expanded. + */ + +export class MenuService { + + /** + * Makes custom indexes for the MenuItems array for proper handling group items. + * + * @param {ReadonlyArray} data + * @returns {MenuItemType[]} pack by name + */ + public setIndexes(data: ReadonlyArray): MenuItemType[] { + let tempIndex: number = 0; + return data.map((item: MenuItemType) => { + if (!item.subItems || item.subItems.length === 0) { + item.menuIndex = tempIndex; + tempIndex = tempIndex + 1; + } else { + item.subItems = item.subItems.map((sub: MenuItemType) => { + sub.menuIndex = tempIndex; + tempIndex = tempIndex + 1; + return sub; + }); + } + return item; + }); + } +} diff --git a/src/framework/ui/menu/menu.spec.tsx b/src/framework/ui/menu/menu.spec.tsx new file mode 100644 index 000000000..3d88451be --- /dev/null +++ b/src/framework/ui/menu/menu.spec.tsx @@ -0,0 +1,264 @@ +import React from 'react'; +import { + Image, + ImageProps, +} from 'react-native'; +import { + render, + fireEvent, + RenderAPI, +} from 'react-native-testing-library'; +import { + ApplicationProvider, + StyleType, +} from '@kitten/theme'; +import { Menu } from './menu.component'; +import { + MenuItemType, + MenuItem, +} from './menuItem.component'; +import { MenuService } from './menu.service'; +import { + mapping, + theme, +} from '../support/tests'; + +jest.useFakeTimers(); + +const Icon = (style: StyleType): React.ReactElement => ( + +); + +const data: MenuItemType[] = [ + { title: 'Option 1', icon: Icon }, + { title: 'Option 2', disabled: true }, + { + title: 'Option 3', + subItems: [ + { title: 'Option 31', disabled: true }, + { title: 'Option 32' }, + { title: 'Option 33' }, + ], + }, + { title: 'Option 4', icon: Icon }, + { title: 'Option 5' }, + { title: 'Option 6' }, + { title: 'Option 8' }, + { title: 'Option 9' }, +]; + +interface State { + selectedIndex: number; +} + +class TestApplication extends React.Component { + + public state: State = { + selectedIndex: null, + }; + + private onSelect = (selectedIndex: number): void => { + this.setState({ selectedIndex }); + }; + + public render(): React.ReactNode { + return ( + + + + ); + } +} + +describe('@ menu component checks', () => { + + it('* menu item onPress prop checks', () => { + const onPress = jest.fn(); + const title: string = 'Option'; + + const menuItem: RenderAPI = render( + + + , + ); + + fireEvent(menuItem.getAllByText(title)[0], 'press'); + + expect(onPress).toHaveBeenCalled(); + }); + + it('* menu item onPressIn prop checks', () => { + const onPressIn = jest.fn(); + const title: string = 'Option'; + + const menuItem: RenderAPI = render( + + + , + ); + + fireEvent(menuItem.getAllByText(title)[0], 'pressIn'); + + expect(onPressIn).toHaveBeenCalled(); + }); + + it('* menu item onPressOut prop checks', () => { + const onPressOut = jest.fn(); + const title: string = 'Option'; + + const menuItem: RenderAPI = render( + + + , + ); + + fireEvent(menuItem.getAllByText(title)[0], 'pressOut'); + + expect(onPressOut).toHaveBeenCalled(); + }); + + it('* menu item onLongPress prop checks', () => { + const onLongPress = jest.fn(); + const title: string = 'Option'; + + const menuItem: RenderAPI = render( + + + , + ); + + fireEvent(menuItem.getAllByText(title)[0], 'press'); + fireEvent(menuItem.getAllByText(title)[0], 'pressIn'); + fireEvent(menuItem.getAllByText(title)[0], 'pressOut'); + fireEvent(menuItem.getAllByText(title)[0], 'longPress'); + + expect(onLongPress).toHaveBeenCalled(); + }); + + it('* menu onSelect works properly', () => { + const application: RenderAPI = render( + , + ); + + fireEvent.press(application.getAllByText('Option 1')[0]); + + const { selectedIndex } = application.getByType(Menu).props; + + expect(selectedIndex).toBe(0); + }); + + it('* menu-item text renders properly', () => { + const item: MenuItemType = { title: 'Option 1' }; + const application: RenderAPI = render( + , + ); + + const { children } = application.getAllByText(item.title)[0].props; + + expect(children).toBe(item.title); + }); + + it('* menu-item icon renders properly', () => { + const expectedUri: string = 'https://akveo.github.io/eva-icons/fill/png/128/star.png'; + const application: RenderAPI = render( + , + ); + + const { source } = application.getAllByType(Image)[0].props; + + expect(source.uri).toBe(expectedUri); + }); + + it('* group menu works properly', () => { + const expectedSelectedItem: MenuItemType = { title: 'Option 32' }; + const application: RenderAPI = render( + , + ); + + fireEvent.press(application.getAllByText('Option 3')[0]); + const { selectedIndex: selectedIndex1 } = application.getByType(Menu).props; + expect(selectedIndex1).toBeNull(); + + fireEvent.press(application.getAllByText('Option 32')[0]); + const { selectedIndex: selectedIndex2 } = application.getByType(Menu).props; + expect(selectedIndex2).toBe(3); + }); + +}); + +describe('@ menu-service checks', () => { + + const stringify = (obj: any): string => JSON.stringify(obj); + + const menuData: MenuItemType[] = [ + { title: 'Item 1' }, + { + title: 'Item 2', + subItems: [ + { title: 'Item 21' }, + { title: 'Item 22' }, + { title: 'Item 23' }, + ], + }, + { title: 'Item 3' }, + ]; + + it('* setIndexes method', () => { + const expectedMenuItems: MenuItemType[] = [ + { + title: 'Item 1', + menuIndex: 0, + }, + { + title: 'Item 2', + subItems: [ + { + title: 'Item 21', + menuIndex: 1, + }, + { + title: 'Item 22', + menuIndex: 2, + }, + { + title: 'Item 23', + menuIndex: 3, + }, + ], + }, + { + title: 'Item 3', + menuIndex: 4, + }, + ]; + const service: MenuService = new MenuService(); + const result: MenuItemType[] = service.setIndexes(menuData); + + expect(stringify(result)).toBe(stringify(expectedMenuItems)); + }); + +}); + + + diff --git a/src/framework/ui/menu/menuItem.component.tsx b/src/framework/ui/menu/menuItem.component.tsx new file mode 100644 index 000000000..a9d9ce6b4 --- /dev/null +++ b/src/framework/ui/menu/menuItem.component.tsx @@ -0,0 +1,220 @@ +/** + * @license + * Copyright Akveo. All Rights Reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + */ + +import React from 'react'; +import { + StyleSheet, + View, + ImageProps, + TouchableOpacity, + GestureResponderEvent, + StyleProp, + TextStyle, +} from 'react-native'; +import { + Interaction, + styled, + StyledComponentProps, + StyleType, +} from '@kitten/theme'; +import { + Text, + TextElement, +} from '../text/text.component'; +import { TouchableIndexedProps } from '../support/typings/type'; +import { allWithPrefix } from '../support/services'; + +type IconElement = React.ReactElement; + +export interface MenuItemType { + title: string; + disabled?: boolean; + subItems?: MenuItemType[]; + titleStyle?: StyleProp; + menuIndex?: number; + icon?: (style: StyleType) => IconElement; + accessory?: (style: StyleType) => IconElement; +} + +interface ComponentProps extends MenuItemType { + selected?: boolean; +} + +export type MenuItemProps = StyledComponentProps & ComponentProps & TouchableIndexedProps; +export type MenuItemElement = React.ReactElement; + +/** + * `MenuItem` is a support component for `Menu`. + * + * @extends React.Component + * + * @property {string} title - Determines the title of the ListItem. + * + * @property {StyleProp} titleStyle - Customizes title style. + * + * @property {(style: StyleType) => React.ReactElement} accessory - Determines the accessory of the + * component. + * + * @property {(style: StyleType) => React.ReactElement} icon - Determines the icon of the component. + * + * @property {MenuItemType[]} subItems - Determines the sub-items of the MenuItem. + * + * @property {(index: number, event: GestureResponderEvent) => void} onPress - Emits when component is pressed. + * + * @property StyledComponentProps + * + * @property TouchableTypeReturningProps + * */ + +class MenuItemComponent extends React.Component { + + static styledComponentName: string = 'MenuItem'; + + private onPress = (event: GestureResponderEvent) => { + const { onPress, menuIndex } = this.props; + + if (onPress) { + onPress(menuIndex, event); + } + }; + + private onPressIn = (event: GestureResponderEvent) => { + const { onPressIn, menuIndex, dispatch } = this.props; + + dispatch([Interaction.ACTIVE]); + + if (onPressIn) { + onPressIn(menuIndex, event); + } + }; + + private onPressOut = (event: GestureResponderEvent) => { + const { onPressOut, menuIndex, dispatch } = this.props; + + dispatch([]); + + if (onPressOut) { + onPressOut(menuIndex, event); + } + }; + + private onLongPress = (event: GestureResponderEvent) => { + const { onLongPress, menuIndex } = this.props; + + if (onLongPress) { + onLongPress(menuIndex, event); + } + }; + + private getComponentStyles = (style: StyleType): StyleType => { + const { + paddingHorizontal, + paddingVertical, + backgroundColor, + } = style; + const titleStyles: StyleType = allWithPrefix(style, 'title'); + const indicatorStyles: StyleType = allWithPrefix(style, 'indicator'); + const iconStyles: StyleType = allWithPrefix(style, 'icon'); + const accessoryStyle: StyleType = allWithPrefix(style, 'accessory'); + + return { + container: { + paddingHorizontal: paddingHorizontal, + paddingVertical: paddingVertical, + backgroundColor: backgroundColor, + }, + title: { + marginHorizontal: titleStyles.titleMarginHorizontal, + fontSize: titleStyles.titleFontSize, + fontWeight: titleStyles.titleFontWeight, + lineHeight: titleStyles.titleLineHeight, + color: titleStyles.titleColor, + }, + indicator: { + width: indicatorStyles.indicatorWidth, + backgroundColor: indicatorStyles.indicatorBackgroundColor, + }, + icon: { + width: iconStyles.iconWidth, + height: iconStyles.iconHeight, + marginHorizontal: iconStyles.iconMarginHorizontal, + tintColor: iconStyles.iconTintColor, + }, + }; + }; + + private renderIcon = (style: StyleType): IconElement => { + const { icon } = this.props; + + return icon(style); + }; + + private renderTitle = (style: StyleType): TextElement => { + const { title, titleStyle } = this.props; + + return ( + {title} + ); + }; + + private renderAccessory = (style: StyleType): IconElement => { + const { accessory } = this.props; + + return accessory(style); + }; + + private renderComponentChildren = (style: StyleType): [IconElement, TextElement, IconElement] => { + const { title, icon, accessory } = this.props; + + return [ + icon && this.renderIcon(style.icon), + title && this.renderTitle(style.title), + accessory && this.renderAccessory(style.icon), + ]; + }; + + public render(): React.ReactNode { + const { themedStyle, style, ...restProps } = this.props; + const { container, indicator, ...restStyles } = this.getComponentStyles(themedStyle); + const [iconElement, textElement, accessoryElement] = this.renderComponentChildren(restStyles); + + return ( + + + + {iconElement} + {textElement} + + {accessoryElement} + + ); + } +} + +const styles = StyleSheet.create({ + container: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-between', + }, + subContainer: { + flexDirection: 'row', + alignItems: 'center', + }, + indicator: { + ...StyleSheet.absoluteFillObject, + zIndex: 2, + }, +}); + +export const MenuItem = styled(MenuItemComponent); diff --git a/src/framework/ui/menu/subMenu.component.tsx b/src/framework/ui/menu/subMenu.component.tsx new file mode 100644 index 000000000..809e879b9 --- /dev/null +++ b/src/framework/ui/menu/subMenu.component.tsx @@ -0,0 +1,255 @@ +/** + * @license + * Copyright Akveo. All Rights Reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + */ + +import React from 'react'; +import { + TouchableOpacityProps, + GestureResponderEvent, + View, + Animated, + StyleSheet, + ImageProps, +} from 'react-native'; +import { + styled, + StyledComponentProps, + StyleType, +} from '@kitten/theme'; +import { + MenuItem, + MenuItemType, + MenuItemElement, +} from './menuItem.component'; +import { + MeasureNode, + MeasureResult, + MeasureNodeProps, + MeasuringElementProps, +} from '../popover/measure.component'; +import { Chevron } from '../support/components'; +import { DividerElement } from '../divider/divider.component'; + +interface ComponentProps { + item: MenuItemType; + selectedIndex: number; + divider?: DividerElement; + onSelect?: (index: number, event?: GestureResponderEvent) => void; +} + +interface ComponentState { + subItemsVisible: boolean; + subItemsHeight: number; +} + +export type SubMenuProps = ComponentProps & StyledComponentProps & TouchableOpacityProps; +export type SubMenuElement = React.ReactElement; +type OnPressHandler = (index: number, event?: GestureResponderEvent) => void; +type IconElement = React.ReactElement; + +const MAIN_ITEM_KEY: string = 'Main Item'; +const DIVIDER_ELEMENT_KEY: string = 'Divider'; +const SUB_ITEMS_MEASURE_TAG: string = 'Sub Items'; + +class SubMenuComponent extends React.Component { + + static styledComponentName: string = 'SubMenu'; + + public state: ComponentState = { + subItemsVisible: false, + subItemsHeight: 0, + }; + + private subItemsAnimation: Animated.Value = new Animated.Value(0); + private iconAnimation: Animated.Value = new Animated.Value(-180); + + public componentDidUpdate(prevProps: SubMenuProps, prevState: ComponentState): void { + if (prevState.subItemsVisible !== this.state.subItemsVisible) { + if (this.state.subItemsVisible) { + this.subItemsExpandAnimate(this.state.subItemsHeight); + this.animateIcon(0); + } else { + this.subItemsExpandAnimate(0); + this.animateIcon(-180); + } + } + } + + private subItemsExpandAnimate = (toValue: number): void => { + Animated.spring(this.subItemsAnimation, { + toValue: toValue, + }).start(); + }; + + private animateIcon = (toValue: number): void => { + Animated.timing(this.iconAnimation, { + toValue: toValue, + duration: 200, + }).start(); + }; + + private onMainItemPress = (): void => { + const subItemsVisible: boolean = !this.state.subItemsVisible; + + this.setState({ subItemsVisible }); + }; + + private onSubItemPress = (index: number, event: GestureResponderEvent): void => { + if (this.props.onSelect) { + this.props.onSelect(index, event); + } + }; + + private getComponentStyles = (style: StyleType): StyleType => { + return { + subContainer: { + paddingHorizontal: style.subItemsPaddingHorizontal, + }, + }; + }; + + private onSubMenuMeasure = (result: MeasureResult): void => { + const subItemsHeight: number = result[SUB_ITEMS_MEASURE_TAG].size.height; + + this.setState({ subItemsHeight }); + }; + + private getIsSelected = (item: MenuItemType): boolean => { + const { selectedIndex } = this.props; + + return selectedIndex === item.menuIndex; + }; + + private isMainItemDividerExist = (): boolean => { + const { divider } = this.props; + const { subItemsVisible } = this.state; + + return subItemsVisible && divider !== null; + }; + + private isSubItemDividerExist = (item: MenuItemType, index: number): boolean => { + const { divider } = this.props; + + return (index !== item.subItems.length - 1) && (divider !== null); + }; + + private renderDivider = (): DividerElement => { + const { divider } = this.props; + + return divider && React.cloneElement(divider, { + key: DIVIDER_ELEMENT_KEY, + }); + }; + + private renderMainItemAccessory = (style: StyleType): IconElement => { + const rotateInterpolate = this.iconAnimation.interpolate({ + inputRange: [-180, 0], + outputRange: ['-180deg', '0deg'], + }); + const animatedStyle: StyleType = { transform: [{ rotate: rotateInterpolate }] }; + + return ( + + ); + }; + + private renderMenuItem = (item: MenuItemType, + isMainItem: boolean, + index: number | string): MenuItemElement => { + + const onPressHandler: OnPressHandler = isMainItem ? this.onMainItemPress : this.onSubItemPress; + const mainMenuItemAccessory = isMainItem ? this.renderMainItemAccessory : null; + + return ( + + ); + }; + + private renderSubItemsInvisible = (subItems: React.ReactNode): React.ReactElement => { + const measuringProps: MeasuringElementProps = { tag: SUB_ITEMS_MEASURE_TAG }; + + return ( + + {[ + + {subItems} + , + ]} + + ); + }; + + private renderSubItems = (): React.ReactNode => { + const { item, themedStyle, divider } = this.props; + + return item.subItems.map((sub: MenuItemType, index: number) => { + const { subContainer } = this.getComponentStyles(themedStyle); + const isSelected: boolean = this.getIsSelected(sub); + + const element: MenuItemElement = React.cloneElement(this.renderMenuItem(sub, false, index), { + style: subContainer, + selected: isSelected, + }); + const dividerElement: DividerElement = this.isSubItemDividerExist(item, index) ? + this.renderDivider() : null; + + return ( + + {element} + {dividerElement} + + ); + }); + }; + + private renderComponentChildren = (): React.ReactNodeArray => { + const { item } = this.props; + + return [ + this.renderMenuItem(item, true, MAIN_ITEM_KEY), + this.renderSubItems(), + this.isMainItemDividerExist() ? this.renderDivider() : null, + ]; + }; + + public render(): React.ReactNode { + const { subItemsVisible } = this.state; + const [mainItem, subItems, divider] = this.renderComponentChildren(); + const invisibleSubs: React.ReactElement = this.renderSubItemsInvisible(subItems); + + const animatedStyle: StyleType = { height: this.subItemsAnimation }; + + return ( + + {mainItem} + {divider} + + {subItemsVisible && subItems} + + {invisibleSubs} + + ); + } +} + +const styles = StyleSheet.create({ + invisibleMenu: { + opacity: 0, + position: 'absolute', + }, +}); + +export const SubMenu = styled(SubMenuComponent); diff --git a/src/framework/ui/select/select.component.tsx b/src/framework/ui/select/select.component.tsx index 29c8b1bf8..d13f75fbb 100644 --- a/src/framework/ui/select/select.component.tsx +++ b/src/framework/ui/select/select.component.tsx @@ -609,9 +609,8 @@ class SelectComponent extends React.Component { return ( ); }; diff --git a/src/framework/ui/support/components/chevron/chevron.component.tsx b/src/framework/ui/support/components/chevron/chevron.component.tsx index a6a332837..7f91517f9 100644 --- a/src/framework/ui/support/components/chevron/chevron.component.tsx +++ b/src/framework/ui/support/components/chevron/chevron.component.tsx @@ -12,7 +12,6 @@ export type ChevronDirection = 'top' | 'bottom' | 'left' | 'right'; interface ComponentProps { isAnimated?: boolean; direction?: ChevronDirection; - animationStyle?: StyleType; } export type ChevronProps = ViewProps & ComponentProps; @@ -77,14 +76,14 @@ export class Chevron extends React.Component { }; public render(): React.ReactNode { - const { style, isAnimated, animationStyle } = this.props; + const { style, isAnimated } = this.props; const { container, shape, left, right } = this.getComponentStyle(StyleSheet.flatten(style)); const directionStyle: StyleType = this.getDirectionStyle(); const Component = isAnimated ? Animated.View : View; return ( - + diff --git a/src/framework/ui/support/tests/mapping.json b/src/framework/ui/support/tests/mapping.json index 409f5f5ea..682b5ab39 100644 --- a/src/framework/ui/support/tests/mapping.json +++ b/src/framework/ui/support/tests/mapping.json @@ -1144,6 +1144,34 @@ } } }, + "Divider": { + "meta": { + "scope": "all", + "parameters": { + "backgroundColor": { + "type": "string" + }, + "height": { + "type": "number" + } + }, + "appearances": { + "default": { + "default": true + } + }, + "variantGroups": {}, + "states": {} + }, + "appearances": { + "default": { + "mapping": { + "height": 1, + "backgroundColor": "background-basic-color-3" + } + } + } + }, "Input": { "meta": { "scope": "all", @@ -1584,6 +1612,162 @@ } } }, + "Menu": { + "meta": { + "scope": "all", + "parameters": {}, + "appearances": { + "default": { + "default": true + }, + "noDivider": { + "default": false + } + }, + "variantGroups": {}, + "states": {} + }, + "appearances": { + "default": { + "mapping": {} + }, + "noDivider": { + "mapping": {} + } + } + }, + "SubMenu": { + "meta": { + "scope": "all", + "parameters": { + "subItemsPaddingHorizontal": { + "type": "string" + } + }, + "appearances": { + "default": { + "default": true + } + }, + "variantGroups": {}, + "states": {} + }, + "appearances": { + "default": { + "mapping": { + "subItemsPaddingHorizontal": 16 + } + } + } + }, + "MenuItem": { + "meta": { + "scope": "all", + "parameters": { + "indicatorWidth": { + "type": "number" + }, + "indicatorBackgroundColor": { + "type": "string" + }, + "paddingVertical": { + "type": "number" + }, + "paddingHorizontal": { + "type": "number" + }, + "backgroundColor": { + "type": "string" + }, + "iconWidth": { + "type": "number" + }, + "iconHeight": { + "type": "number" + }, + "iconMarginHorizontal": { + "type": "number" + }, + "iconTintColor": { + "type": "string" + }, + "titleMarginHorizontal": { + "type": "number" + }, + "titleFontSize": { + "type": "number" + }, + "titleLineHeight": { + "type": "number" + }, + "titleFontWeight": { + "type": "string" + }, + "titleColor": { + "type": "string" + } + }, + "appearances": { + "default": { + "default": true + } + }, + "variantGroups": {}, + "states": { + "disabled": { + "default": false, + "priority": 0, + "scope": "all" + }, + "selected": { + "default": false, + "priority": 1, + "scope": "all" + }, + "active": { + "default": false, + "priority": 2, + "scope": "all" + } + } + }, + "appearances": { + "default": { + "mapping": { + "paddingHorizontal": 8, + "paddingVertical": 12, + "backgroundColor": "background-basic-color-1", + "iconWidth": 20, + "iconHeight": 20, + "iconMarginHorizontal": 8, + "iconTintColor": "text-hint-color", + "titleMarginHorizontal": 8, + "titleFontSize": "text-subtitle-2-font-size", + "titleFontWeight": "text-subtitle-2-font-weight", + "titleLineHeight": "text-subtitle-2-line-height", + "titleColor": "text-basic-color", + "indicatorWidth": 0, + "indicatorBackgroundColor": "transparent", + "state": { + "active": { + "backgroundColor": "background-basic-color-3" + }, + "selected": { + "indicatorWidth": 4, + "indicatorBackgroundColor": "color-primary-default", + "backgroundColor": "rgba(51, 102, 255, 0.08)", + "titleColor": "color-primary-default", + "iconTintColor": "color-primary-default" + }, + "disabled": { + "titleColor": "text-disabled-color", + "iconTintColor": "icon-disabled-color" + } + } + } + } + } + }, "OverflowMenu": { "meta": { "scope": "all", diff --git a/src/playground/src/navigation/navigation.component.tsx b/src/playground/src/navigation/navigation.component.tsx index 049c54c2b..300f5f469 100644 --- a/src/playground/src/navigation/navigation.component.tsx +++ b/src/playground/src/navigation/navigation.component.tsx @@ -27,6 +27,7 @@ import { SelectContainer, SpinnerContainer, IconContainer, + MenuContainer, } from '../ui/screen'; export interface RouteType { @@ -44,6 +45,8 @@ const AppNavigator = createStackNavigator({ ['Input']: InputContainer, ['Layout']: LayoutContainer, ['List']: ListContainer, + ['Menu']: MenuContainer, + ['Modal']: ModalContainer, ['Popover']: PopoverContainer, ['Radio']: RadioContainer, ['Radio Group']: RadioGroupContainer, @@ -56,7 +59,6 @@ const AppNavigator = createStackNavigator({ ['Overflow Menu']: OverflowMenuContainer, ['Sample']: SampleContainer, ['Select']: SelectContainer, - ['Modal']: ModalContainer, }, { initialRouteName: 'Home', headerMode: 'screen', diff --git a/src/playground/src/ui/screen/home.component.tsx b/src/playground/src/ui/screen/home.component.tsx index 630c5bc32..134521daa 100644 --- a/src/playground/src/ui/screen/home.component.tsx +++ b/src/playground/src/ui/screen/home.component.tsx @@ -25,6 +25,7 @@ export const routes: RouteType[] = [ { name: 'Input' }, { name: 'Layout' }, { name: 'List' }, + { name: 'Menu' }, { name: 'Modal' }, { name: 'Popover' }, { name: 'Radio' }, diff --git a/src/playground/src/ui/screen/index.ts b/src/playground/src/ui/screen/index.ts index e2f4677e3..77be11826 100644 --- a/src/playground/src/ui/screen/index.ts +++ b/src/playground/src/ui/screen/index.ts @@ -7,6 +7,7 @@ export { IconContainer } from './icon/icon.container'; export { InputContainer } from './input/input.container'; export { LayoutContainer } from './layout/layout.container'; export { ListContainer } from './list/list.container'; +export { MenuContainer } from './menu/menu.container'; export { PopoverContainer } from './popover/popover.container'; export { RadioContainer } from './radio/radio.container'; export { RadioGroupContainer } from './radioGroup/radioGroup.container'; diff --git a/src/playground/src/ui/screen/menu/menu.container.tsx b/src/playground/src/ui/screen/menu/menu.container.tsx new file mode 100644 index 000000000..18b0f26b6 --- /dev/null +++ b/src/playground/src/ui/screen/menu/menu.container.tsx @@ -0,0 +1,30 @@ +import React from 'react'; +import { + MenuProps, + MenuElement, +} from '@kitten/ui'; +import { ShowcaseContainer } from '../common/showcase.container'; +import { MenuShowcase } from './menuShowcase.component'; +import { + menuShowcase, + menuSettings, +} from './type'; + +export class MenuContainer extends React.Component { + + private renderItem = (props: MenuProps): MenuElement => { + return ( + + ); + }; + + public render(): React.ReactNode { + return ( + + + ); + } +} diff --git a/src/playground/src/ui/screen/menu/menuShowcase.component.tsx b/src/playground/src/ui/screen/menu/menuShowcase.component.tsx new file mode 100644 index 000000000..e2266fc79 --- /dev/null +++ b/src/playground/src/ui/screen/menu/menuShowcase.component.tsx @@ -0,0 +1,31 @@ +import React from 'react'; +import { + Menu, + MenuProps, + MenuElement, +} from '@kitten/ui'; + +interface State { + selectedIndex: number; +} + +export class MenuShowcase extends React.Component { + + public state: State = { + selectedIndex: null, + }; + + private onSelect = (selectedIndex: number): void => { + this.setState({ selectedIndex }); + }; + + public render(): MenuElement { + return ( + + ); + } +} diff --git a/src/playground/src/ui/screen/menu/type.tsx b/src/playground/src/ui/screen/menu/type.tsx new file mode 100644 index 000000000..45c5a21f7 --- /dev/null +++ b/src/playground/src/ui/screen/menu/type.tsx @@ -0,0 +1,149 @@ +import React from 'react'; +import { + Image, + ImageProps, +} from 'react-native'; +import { MenuItemType } from '@kitten/ui'; +import { + ComponentShowcase, + ComponentShowcaseItem, + ComponentShowcaseSection, + ComponentShowcaseSetting, +} from '../common/type'; +import { StyleType } from '@kitten/theme'; + +const Icon = (style: StyleType): React.ReactElement => ( + +); + +const defaultMenuItems: MenuItemType[] = [ + { title: 'Item 1' }, + { title: 'Item 2' }, + { title: 'Item 3' }, +]; + +const withIconMenuItems: MenuItemType[] = [ + { + title: 'Item 1', + icon: Icon, + }, + { + title: 'Item 2', + icon: Icon, + }, + { + title: 'Item 3', + icon: Icon, + }, +]; + +const withDisabledItemMenuItems: MenuItemType[] = [ + { + title: 'Item 1', + icon: Icon, + }, + { + title: 'Item 2', + icon: Icon, + disabled: true, + }, + { + title: 'Item 3', + icon: Icon, + }, +]; + +const withGroupsMenuItems: MenuItemType[] = [ + { + title: 'Item 1', + icon: Icon, + }, + { + title: 'Item 2', + icon: Icon, + subItems: [ + { + title: 'Item 21', + icon: Icon, + disabled: true, + }, + { + title: 'Item 22', + icon: Icon, + }, + { + title: 'Item 23', + icon: Icon, + }, + ], + }, + { + title: 'Item 3', + icon: Icon, + }, +]; + +const defaultMenu: ComponentShowcaseItem = { + title: 'Default', + props: { + data: defaultMenuItems, + }, +}; + +const withIconsMenu: ComponentShowcaseItem = { + title: 'Icon', + props: { + data: withIconMenuItems, + }, +}; + +const withDisabledItemMenu: ComponentShowcaseItem = { + title: 'Disabled Item', + props: { + data: withDisabledItemMenuItems, + }, +}; + +const defaultSection: ComponentShowcaseSection = { + title: 'Default', + items: [ + defaultMenu, + withIconsMenu, + withDisabledItemMenu, + ], +}; + +const withGroupsMenu: ComponentShowcaseItem = { + title: 'Groups', + props: { + data: withGroupsMenuItems, + }, +}; + +const withGroupsSection: ComponentShowcaseSection = { + title: 'With Groups', + items: [ + withGroupsMenu, + ], +}; + +export const menuShowcase: ComponentShowcase = { + sections: [ + defaultSection, + withGroupsSection, + ], +}; + +export const menuSettings: ComponentShowcaseSetting[] = [ + { + propertyName: 'appearance', + value: 'default', + }, + { + propertyName: 'appearance', + value: 'noDivider', + }, +];