{"version":3,"file":"@surveyjs-w3nposk8.js","sources":["../../../node_modules/react/cjs/react.production.min.js","../../../node_modules/react/index.js","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/scheduler/index.js","../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/react-dom/index.js","../../../node_modules/react-dom/client.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../../../app/javascript/components/First.jsx","../../../app/javascript/controllers/react_controller.js","../../../node_modules/survey-core/survey.core.js","../../../node_modules/survey-react-ui/survey-react-ui.js","../../../node_modules/survey-core/i18n/french.js","../../../node_modules/survey-core/i18n/english.js","../../../node_modules/survey-core/i18n/portuguese.js","../../../node_modules/survey-core/i18n/dutch.js","../../../node_modules/nouislider/dist/nouislider.mjs","../../../node_modules/survey-creator-core/survey-creator-core.js","../../../node_modules/survey-creator-react/survey-creator-react.js","../../../node_modules/survey-creator-core/i18n/french.js","../../../node_modules/survey-creator-core/i18n/english.js","../../../node_modules/survey-creator-core/i18n/dutch.js","../../../node_modules/survey-creator-core/i18n/portuguese.js"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3 \n Hello !\n \n);","import { Controller }from \"@hotwired/stimulus\"\nimport ReactDOM from \"react-dom/client\";\nimport First from \"../components/First\";\n\n// Example of a React Controller. \n\nexport default class extends Controller {\n\n connect() {\n\n console.log(\"React controller connected !\")\n let root = ReactDOM.createRoot(this.element);\n root.render(First);\n }\n}\n","/*!\n * surveyjs - Survey JavaScript library v1.9.122\n * Copyright (c) 2015-2023 Devsoft Baltic OÜ - http://surveyjs.io/\n * License: MIT (http://www.opensource.org/licenses/mit-license.php)\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"survey-core\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"survey-core\"] = factory();\n\telse\n\t\troot[\"Survey\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/entries/core.ts\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/signature_pad/dist/signature_pad.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/signature_pad/dist/signature_pad.js ***!\n \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SignaturePad; });\n/*!\n * Signature Pad v4.1.7 | https://github.com/szimek/signature_pad\n * (c) 2023 Szymon Nowak | Released under the MIT license\n */\n\nclass Point {\n constructor(x, y, pressure, time) {\n if (isNaN(x) || isNaN(y)) {\n throw new Error(`Point is invalid: (${x}, ${y})`);\n }\n this.x = +x;\n this.y = +y;\n this.pressure = pressure || 0;\n this.time = time || Date.now();\n }\n distanceTo(start) {\n return Math.sqrt(Math.pow(this.x - start.x, 2) + Math.pow(this.y - start.y, 2));\n }\n equals(other) {\n return (this.x === other.x &&\n this.y === other.y &&\n this.pressure === other.pressure &&\n this.time === other.time);\n }\n velocityFrom(start) {\n return this.time !== start.time\n ? this.distanceTo(start) / (this.time - start.time)\n : 0;\n }\n}\n\nclass Bezier {\n static fromPoints(points, widths) {\n const c2 = this.calculateControlPoints(points[0], points[1], points[2]).c2;\n const c3 = this.calculateControlPoints(points[1], points[2], points[3]).c1;\n return new Bezier(points[1], c2, c3, points[2], widths.start, widths.end);\n }\n static calculateControlPoints(s1, s2, s3) {\n const dx1 = s1.x - s2.x;\n const dy1 = s1.y - s2.y;\n const dx2 = s2.x - s3.x;\n const dy2 = s2.y - s3.y;\n const m1 = { x: (s1.x + s2.x) / 2.0, y: (s1.y + s2.y) / 2.0 };\n const m2 = { x: (s2.x + s3.x) / 2.0, y: (s2.y + s3.y) / 2.0 };\n const l1 = Math.sqrt(dx1 * dx1 + dy1 * dy1);\n const l2 = Math.sqrt(dx2 * dx2 + dy2 * dy2);\n const dxm = m1.x - m2.x;\n const dym = m1.y - m2.y;\n const k = l2 / (l1 + l2);\n const cm = { x: m2.x + dxm * k, y: m2.y + dym * k };\n const tx = s2.x - cm.x;\n const ty = s2.y - cm.y;\n return {\n c1: new Point(m1.x + tx, m1.y + ty),\n c2: new Point(m2.x + tx, m2.y + ty),\n };\n }\n constructor(startPoint, control2, control1, endPoint, startWidth, endWidth) {\n this.startPoint = startPoint;\n this.control2 = control2;\n this.control1 = control1;\n this.endPoint = endPoint;\n this.startWidth = startWidth;\n this.endWidth = endWidth;\n }\n length() {\n const steps = 10;\n let length = 0;\n let px;\n let py;\n for (let i = 0; i <= steps; i += 1) {\n const t = i / steps;\n const cx = this.point(t, this.startPoint.x, this.control1.x, this.control2.x, this.endPoint.x);\n const cy = this.point(t, this.startPoint.y, this.control1.y, this.control2.y, this.endPoint.y);\n if (i > 0) {\n const xdiff = cx - px;\n const ydiff = cy - py;\n length += Math.sqrt(xdiff * xdiff + ydiff * ydiff);\n }\n px = cx;\n py = cy;\n }\n return length;\n }\n point(t, start, c1, c2, end) {\n return (start * (1.0 - t) * (1.0 - t) * (1.0 - t))\n + (3.0 * c1 * (1.0 - t) * (1.0 - t) * t)\n + (3.0 * c2 * (1.0 - t) * t * t)\n + (end * t * t * t);\n }\n}\n\nclass SignatureEventTarget {\n constructor() {\n try {\n this._et = new EventTarget();\n }\n catch (error) {\n this._et = document;\n }\n }\n addEventListener(type, listener, options) {\n this._et.addEventListener(type, listener, options);\n }\n dispatchEvent(event) {\n return this._et.dispatchEvent(event);\n }\n removeEventListener(type, callback, options) {\n this._et.removeEventListener(type, callback, options);\n }\n}\n\nfunction throttle(fn, wait = 250) {\n let previous = 0;\n let timeout = null;\n let result;\n let storedContext;\n let storedArgs;\n const later = () => {\n previous = Date.now();\n timeout = null;\n result = fn.apply(storedContext, storedArgs);\n if (!timeout) {\n storedContext = null;\n storedArgs = [];\n }\n };\n return function wrapper(...args) {\n const now = Date.now();\n const remaining = wait - (now - previous);\n storedContext = this;\n storedArgs = args;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = fn.apply(storedContext, storedArgs);\n if (!timeout) {\n storedContext = null;\n storedArgs = [];\n }\n }\n else if (!timeout) {\n timeout = window.setTimeout(later, remaining);\n }\n return result;\n };\n}\n\nclass SignaturePad extends SignatureEventTarget {\n constructor(canvas, options = {}) {\n super();\n this.canvas = canvas;\n this._drawingStroke = false;\n this._isEmpty = true;\n this._lastPoints = [];\n this._data = [];\n this._lastVelocity = 0;\n this._lastWidth = 0;\n this._handleMouseDown = (event) => {\n if (event.buttons === 1) {\n this._strokeBegin(event);\n }\n };\n this._handleMouseMove = (event) => {\n this._strokeMoveUpdate(event);\n };\n this._handleMouseUp = (event) => {\n if (event.buttons === 1) {\n this._strokeEnd(event);\n }\n };\n this._handleTouchStart = (event) => {\n if (event.cancelable) {\n event.preventDefault();\n }\n if (event.targetTouches.length === 1) {\n const touch = event.changedTouches[0];\n this._strokeBegin(touch);\n }\n };\n this._handleTouchMove = (event) => {\n if (event.cancelable) {\n event.preventDefault();\n }\n const touch = event.targetTouches[0];\n this._strokeMoveUpdate(touch);\n };\n this._handleTouchEnd = (event) => {\n const wasCanvasTouched = event.target === this.canvas;\n if (wasCanvasTouched) {\n if (event.cancelable) {\n event.preventDefault();\n }\n const touch = event.changedTouches[0];\n this._strokeEnd(touch);\n }\n };\n this._handlePointerStart = (event) => {\n event.preventDefault();\n this._strokeBegin(event);\n };\n this._handlePointerMove = (event) => {\n this._strokeMoveUpdate(event);\n };\n this._handlePointerEnd = (event) => {\n if (this._drawingStroke) {\n event.preventDefault();\n this._strokeEnd(event);\n }\n };\n this.velocityFilterWeight = options.velocityFilterWeight || 0.7;\n this.minWidth = options.minWidth || 0.5;\n this.maxWidth = options.maxWidth || 2.5;\n this.throttle = ('throttle' in options ? options.throttle : 16);\n this.minDistance = ('minDistance' in options ? options.minDistance : 5);\n this.dotSize = options.dotSize || 0;\n this.penColor = options.penColor || 'black';\n this.backgroundColor = options.backgroundColor || 'rgba(0,0,0,0)';\n this.compositeOperation = options.compositeOperation || 'source-over';\n this._strokeMoveUpdate = this.throttle\n ? throttle(SignaturePad.prototype._strokeUpdate, this.throttle)\n : SignaturePad.prototype._strokeUpdate;\n this._ctx = canvas.getContext('2d');\n this.clear();\n this.on();\n }\n clear() {\n const { _ctx: ctx, canvas } = this;\n ctx.fillStyle = this.backgroundColor;\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n this._data = [];\n this._reset(this._getPointGroupOptions());\n this._isEmpty = true;\n }\n fromDataURL(dataUrl, options = {}) {\n return new Promise((resolve, reject) => {\n const image = new Image();\n const ratio = options.ratio || window.devicePixelRatio || 1;\n const width = options.width || this.canvas.width / ratio;\n const height = options.height || this.canvas.height / ratio;\n const xOffset = options.xOffset || 0;\n const yOffset = options.yOffset || 0;\n this._reset(this._getPointGroupOptions());\n image.onload = () => {\n this._ctx.drawImage(image, xOffset, yOffset, width, height);\n resolve();\n };\n image.onerror = (error) => {\n reject(error);\n };\n image.crossOrigin = 'anonymous';\n image.src = dataUrl;\n this._isEmpty = false;\n });\n }\n toDataURL(type = 'image/png', encoderOptions) {\n switch (type) {\n case 'image/svg+xml':\n if (typeof encoderOptions !== 'object') {\n encoderOptions = undefined;\n }\n return `data:image/svg+xml;base64,${btoa(this.toSVG(encoderOptions))}`;\n default:\n if (typeof encoderOptions !== 'number') {\n encoderOptions = undefined;\n }\n return this.canvas.toDataURL(type, encoderOptions);\n }\n }\n on() {\n this.canvas.style.touchAction = 'none';\n this.canvas.style.msTouchAction = 'none';\n this.canvas.style.userSelect = 'none';\n const isIOS = /Macintosh/.test(navigator.userAgent) && 'ontouchstart' in document;\n if (window.PointerEvent && !isIOS) {\n this._handlePointerEvents();\n }\n else {\n this._handleMouseEvents();\n if ('ontouchstart' in window) {\n this._handleTouchEvents();\n }\n }\n }\n off() {\n this.canvas.style.touchAction = 'auto';\n this.canvas.style.msTouchAction = 'auto';\n this.canvas.style.userSelect = 'auto';\n this.canvas.removeEventListener('pointerdown', this._handlePointerStart);\n this.canvas.removeEventListener('pointermove', this._handlePointerMove);\n this.canvas.ownerDocument.removeEventListener('pointerup', this._handlePointerEnd);\n this.canvas.removeEventListener('mousedown', this._handleMouseDown);\n this.canvas.removeEventListener('mousemove', this._handleMouseMove);\n this.canvas.ownerDocument.removeEventListener('mouseup', this._handleMouseUp);\n this.canvas.removeEventListener('touchstart', this._handleTouchStart);\n this.canvas.removeEventListener('touchmove', this._handleTouchMove);\n this.canvas.removeEventListener('touchend', this._handleTouchEnd);\n }\n isEmpty() {\n return this._isEmpty;\n }\n fromData(pointGroups, { clear = true } = {}) {\n if (clear) {\n this.clear();\n }\n this._fromData(pointGroups, this._drawCurve.bind(this), this._drawDot.bind(this));\n this._data = this._data.concat(pointGroups);\n }\n toData() {\n return this._data;\n }\n _getPointGroupOptions(group) {\n return {\n penColor: group && 'penColor' in group ? group.penColor : this.penColor,\n dotSize: group && 'dotSize' in group ? group.dotSize : this.dotSize,\n minWidth: group && 'minWidth' in group ? group.minWidth : this.minWidth,\n maxWidth: group && 'maxWidth' in group ? group.maxWidth : this.maxWidth,\n velocityFilterWeight: group && 'velocityFilterWeight' in group\n ? group.velocityFilterWeight\n : this.velocityFilterWeight,\n compositeOperation: group && 'compositeOperation' in group\n ? group.compositeOperation\n : this.compositeOperation,\n };\n }\n _strokeBegin(event) {\n const cancelled = !this.dispatchEvent(new CustomEvent('beginStroke', { detail: event, cancelable: true }));\n if (cancelled) {\n return;\n }\n this._drawingStroke = true;\n const pointGroupOptions = this._getPointGroupOptions();\n const newPointGroup = Object.assign(Object.assign({}, pointGroupOptions), { points: [] });\n this._data.push(newPointGroup);\n this._reset(pointGroupOptions);\n this._strokeUpdate(event);\n }\n _strokeUpdate(event) {\n if (!this._drawingStroke) {\n return;\n }\n if (this._data.length === 0) {\n this._strokeBegin(event);\n return;\n }\n this.dispatchEvent(new CustomEvent('beforeUpdateStroke', { detail: event }));\n const x = event.clientX;\n const y = event.clientY;\n const pressure = event.pressure !== undefined\n ? event.pressure\n : event.force !== undefined\n ? event.force\n : 0;\n const point = this._createPoint(x, y, pressure);\n const lastPointGroup = this._data[this._data.length - 1];\n const lastPoints = lastPointGroup.points;\n const lastPoint = lastPoints.length > 0 && lastPoints[lastPoints.length - 1];\n const isLastPointTooClose = lastPoint\n ? point.distanceTo(lastPoint) <= this.minDistance\n : false;\n const pointGroupOptions = this._getPointGroupOptions(lastPointGroup);\n if (!lastPoint || !(lastPoint && isLastPointTooClose)) {\n const curve = this._addPoint(point, pointGroupOptions);\n if (!lastPoint) {\n this._drawDot(point, pointGroupOptions);\n }\n else if (curve) {\n this._drawCurve(curve, pointGroupOptions);\n }\n lastPoints.push({\n time: point.time,\n x: point.x,\n y: point.y,\n pressure: point.pressure,\n });\n }\n this.dispatchEvent(new CustomEvent('afterUpdateStroke', { detail: event }));\n }\n _strokeEnd(event) {\n if (!this._drawingStroke) {\n return;\n }\n this._strokeUpdate(event);\n this._drawingStroke = false;\n this.dispatchEvent(new CustomEvent('endStroke', { detail: event }));\n }\n _handlePointerEvents() {\n this._drawingStroke = false;\n this.canvas.addEventListener('pointerdown', this._handlePointerStart);\n this.canvas.addEventListener('pointermove', this._handlePointerMove);\n this.canvas.ownerDocument.addEventListener('pointerup', this._handlePointerEnd);\n }\n _handleMouseEvents() {\n this._drawingStroke = false;\n this.canvas.addEventListener('mousedown', this._handleMouseDown);\n this.canvas.addEventListener('mousemove', this._handleMouseMove);\n this.canvas.ownerDocument.addEventListener('mouseup', this._handleMouseUp);\n }\n _handleTouchEvents() {\n this.canvas.addEventListener('touchstart', this._handleTouchStart);\n this.canvas.addEventListener('touchmove', this._handleTouchMove);\n this.canvas.addEventListener('touchend', this._handleTouchEnd);\n }\n _reset(options) {\n this._lastPoints = [];\n this._lastVelocity = 0;\n this._lastWidth = (options.minWidth + options.maxWidth) / 2;\n this._ctx.fillStyle = options.penColor;\n this._ctx.globalCompositeOperation = options.compositeOperation;\n }\n _createPoint(x, y, pressure) {\n const rect = this.canvas.getBoundingClientRect();\n return new Point(x - rect.left, y - rect.top, pressure, new Date().getTime());\n }\n _addPoint(point, options) {\n const { _lastPoints } = this;\n _lastPoints.push(point);\n if (_lastPoints.length > 2) {\n if (_lastPoints.length === 3) {\n _lastPoints.unshift(_lastPoints[0]);\n }\n const widths = this._calculateCurveWidths(_lastPoints[1], _lastPoints[2], options);\n const curve = Bezier.fromPoints(_lastPoints, widths);\n _lastPoints.shift();\n return curve;\n }\n return null;\n }\n _calculateCurveWidths(startPoint, endPoint, options) {\n const velocity = options.velocityFilterWeight * endPoint.velocityFrom(startPoint) +\n (1 - options.velocityFilterWeight) * this._lastVelocity;\n const newWidth = this._strokeWidth(velocity, options);\n const widths = {\n end: newWidth,\n start: this._lastWidth,\n };\n this._lastVelocity = velocity;\n this._lastWidth = newWidth;\n return widths;\n }\n _strokeWidth(velocity, options) {\n return Math.max(options.maxWidth / (velocity + 1), options.minWidth);\n }\n _drawCurveSegment(x, y, width) {\n const ctx = this._ctx;\n ctx.moveTo(x, y);\n ctx.arc(x, y, width, 0, 2 * Math.PI, false);\n this._isEmpty = false;\n }\n _drawCurve(curve, options) {\n const ctx = this._ctx;\n const widthDelta = curve.endWidth - curve.startWidth;\n const drawSteps = Math.ceil(curve.length()) * 2;\n ctx.beginPath();\n ctx.fillStyle = options.penColor;\n for (let i = 0; i < drawSteps; i += 1) {\n const t = i / drawSteps;\n const tt = t * t;\n const ttt = tt * t;\n const u = 1 - t;\n const uu = u * u;\n const uuu = uu * u;\n let x = uuu * curve.startPoint.x;\n x += 3 * uu * t * curve.control1.x;\n x += 3 * u * tt * curve.control2.x;\n x += ttt * curve.endPoint.x;\n let y = uuu * curve.startPoint.y;\n y += 3 * uu * t * curve.control1.y;\n y += 3 * u * tt * curve.control2.y;\n y += ttt * curve.endPoint.y;\n const width = Math.min(curve.startWidth + ttt * widthDelta, options.maxWidth);\n this._drawCurveSegment(x, y, width);\n }\n ctx.closePath();\n ctx.fill();\n }\n _drawDot(point, options) {\n const ctx = this._ctx;\n const width = options.dotSize > 0\n ? options.dotSize\n : (options.minWidth + options.maxWidth) / 2;\n ctx.beginPath();\n this._drawCurveSegment(point.x, point.y, width);\n ctx.closePath();\n ctx.fillStyle = options.penColor;\n ctx.fill();\n }\n _fromData(pointGroups, drawCurve, drawDot) {\n for (const group of pointGroups) {\n const { points } = group;\n const pointGroupOptions = this._getPointGroupOptions(group);\n if (points.length > 1) {\n for (let j = 0; j < points.length; j += 1) {\n const basicPoint = points[j];\n const point = new Point(basicPoint.x, basicPoint.y, basicPoint.pressure, basicPoint.time);\n if (j === 0) {\n this._reset(pointGroupOptions);\n }\n const curve = this._addPoint(point, pointGroupOptions);\n if (curve) {\n drawCurve(curve, pointGroupOptions);\n }\n }\n }\n else {\n this._reset(pointGroupOptions);\n drawDot(points[0], pointGroupOptions);\n }\n }\n }\n toSVG({ includeBackgroundColor = false } = {}) {\n const pointGroups = this._data;\n const ratio = Math.max(window.devicePixelRatio || 1, 1);\n const minX = 0;\n const minY = 0;\n const maxX = this.canvas.width / ratio;\n const maxY = this.canvas.height / ratio;\n const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svg.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');\n svg.setAttribute('viewBox', `${minX} ${minY} ${maxX} ${maxY}`);\n svg.setAttribute('width', maxX.toString());\n svg.setAttribute('height', maxY.toString());\n if (includeBackgroundColor && this.backgroundColor) {\n const rect = document.createElement('rect');\n rect.setAttribute('width', '100%');\n rect.setAttribute('height', '100%');\n rect.setAttribute('fill', this.backgroundColor);\n svg.appendChild(rect);\n }\n this._fromData(pointGroups, (curve, { penColor }) => {\n const path = document.createElement('path');\n if (!isNaN(curve.control1.x) &&\n !isNaN(curve.control1.y) &&\n !isNaN(curve.control2.x) &&\n !isNaN(curve.control2.y)) {\n const attr = `M ${curve.startPoint.x.toFixed(3)},${curve.startPoint.y.toFixed(3)} ` +\n `C ${curve.control1.x.toFixed(3)},${curve.control1.y.toFixed(3)} ` +\n `${curve.control2.x.toFixed(3)},${curve.control2.y.toFixed(3)} ` +\n `${curve.endPoint.x.toFixed(3)},${curve.endPoint.y.toFixed(3)}`;\n path.setAttribute('d', attr);\n path.setAttribute('stroke-width', (curve.endWidth * 2.25).toFixed(3));\n path.setAttribute('stroke', penColor);\n path.setAttribute('fill', 'none');\n path.setAttribute('stroke-linecap', 'round');\n svg.appendChild(path);\n }\n }, (point, { penColor, dotSize, minWidth, maxWidth }) => {\n const circle = document.createElement('circle');\n const size = dotSize > 0 ? dotSize : (minWidth + maxWidth) / 2;\n circle.setAttribute('r', size.toString());\n circle.setAttribute('cx', point.x.toString());\n circle.setAttribute('cy', point.y.toString());\n circle.setAttribute('fill', penColor);\n svg.appendChild(circle);\n });\n return svg.outerHTML;\n }\n}\n\n\n//# sourceMappingURL=signature_pad.js.map\n\n\n/***/ }),\n\n/***/ \"./src/actions/action.ts\":\n/*!*******************************!*\\\n !*** ./src/actions/action.ts ***!\n \\*******************************/\n/*! exports provided: createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createDropdownActionModel\", function() { return createDropdownActionModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createDropdownActionModelAdvanced\", function() { return createDropdownActionModelAdvanced; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getActionDropdownButtonTarget\", function() { return getActionDropdownButtonTarget; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BaseAction\", function() { return BaseAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Action\", function() { return Action; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ActionDropdownViewModel\", function() { return ActionDropdownViewModel; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../base */ \"./src/base.ts\");\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../surveyStrings */ \"./src/surveyStrings.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../list */ \"./src/list.ts\");\n/* harmony import */ var _popup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../popup */ \"./src/popup.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./container */ \"./src/actions/container.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\nfunction createDropdownActionModel(actionOptions, dropdownOptions, locOwner) {\n return createDropdownActionModelAdvanced(actionOptions, dropdownOptions, dropdownOptions, locOwner);\n}\nfunction createDropdownActionModelAdvanced(actionOptions, listOptions, popupOptions, locOwner) {\n var listModel = new _list__WEBPACK_IMPORTED_MODULE_3__[\"ListModel\"](listOptions.items, function (item) {\n if (newAction.hasTitle) {\n newAction.title = item.title;\n }\n listOptions.onSelectionChanged(item);\n innerPopupModel.toggleVisibility();\n }, listOptions.allowSelection, listOptions.selectedItem, listOptions.onFilterStringChangedCallback);\n listModel.locOwner = locOwner;\n var innerPopupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__[\"PopupModel\"](\"sv-list\", { model: listModel }, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.verticalPosition, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.horizontalPosition, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.showPointer, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.isModal, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onCancel, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onApply, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onHide, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.onShow, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.cssClass, popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.title, function () {\n listModel.dispose();\n });\n innerPopupModel.displayMode = popupOptions === null || popupOptions === void 0 ? void 0 : popupOptions.displayMode;\n var newActionOptions = Object.assign({}, actionOptions, {\n component: \"sv-action-bar-item-dropdown\",\n popupModel: innerPopupModel,\n action: function (action, isUserAction) {\n !!(actionOptions.action) && actionOptions.action();\n innerPopupModel.isFocusedContent = !isUserAction || listModel.showFilter;\n innerPopupModel.toggleVisibility();\n listModel.scrollToSelectedItem();\n },\n });\n var newAction = new Action(newActionOptions);\n newAction.data = listModel;\n return newAction;\n}\nfunction getActionDropdownButtonTarget(container) {\n return container === null || container === void 0 ? void 0 : container.previousElementSibling;\n}\nvar BaseAction = /** @class */ (function (_super) {\n __extends(BaseAction, _super);\n function BaseAction() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.iconSize = 24;\n return _this;\n }\n Object.defineProperty(BaseAction.prototype, \"visible\", {\n get: function () {\n return this.getVisible();\n },\n set: function (val) {\n this.setVisible(val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"enabled\", {\n get: function () {\n return this.getEnabled();\n },\n set: function (val) {\n this.setEnabled(val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"component\", {\n get: function () {\n return this.getComponent();\n },\n set: function (val) {\n this.setComponent(val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"locTitle\", {\n get: function () {\n return this.getLocTitle();\n },\n set: function (val) {\n this.setLocTitle(val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"title\", {\n get: function () {\n return this.getTitle();\n },\n set: function (val) {\n this.setTitle(val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"cssClasses\", {\n get: function () {\n return this.cssClassesValue || _container__WEBPACK_IMPORTED_MODULE_6__[\"defaultActionBarCss\"];\n },\n set: function (val) {\n this.cssClassesValue = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"isVisible\", {\n get: function () {\n return this.visible && this.mode !== \"popup\" && this.mode !== \"removed\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"disabled\", {\n get: function () {\n return this.enabled !== undefined && !this.enabled;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"canShrink\", {\n get: function () {\n return !!this.iconName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseAction.prototype, \"hasTitle\", {\n get: function () {\n return (((this.mode != \"small\" &&\n (this.showTitle || this.showTitle === undefined)) ||\n !this.iconName) &&\n !!this.title);\n },\n enumerable: false,\n configurable: true\n });\n BaseAction.prototype.getActionBarItemTitleCss = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__[\"CssClassBuilder\"]()\n .append(this.cssClasses.itemTitle)\n .append(this.cssClasses.itemTitleWithIcon, !!this.iconName)\n .toString();\n };\n BaseAction.prototype.getActionBarItemCss = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__[\"CssClassBuilder\"]()\n .append(this.cssClasses.item)\n .append(this.cssClasses.itemWithTitle, this.hasTitle)\n .append(this.cssClasses.itemAsIcon, !this.hasTitle)\n .append(this.cssClasses.itemActive, !!this.active)\n .append(this.cssClasses.itemPressed, !!this.pressed)\n .append(this.innerCss)\n .toString();\n };\n BaseAction.prototype.getActionRootCss = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__[\"CssClassBuilder\"]()\n .append(\"sv-action\")\n .append(this.css)\n .append(\"sv-action--space\", this.needSpace)\n .append(\"sv-action--hidden\", !this.isVisible)\n .toString();\n };\n BaseAction.prototype.getTooltip = function () {\n return this.tooltip || this.title;\n };\n BaseAction.prototype.getIsTrusted = function (args) {\n if (!!args.originalEvent) {\n return args.originalEvent.isTrusted;\n }\n return args.isTrusted;\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"tooltip\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"showTitle\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"innerCss\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"active\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"pressed\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"data\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"popupModel\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"needSeparator\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"template\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: \"large\" })\n ], BaseAction.prototype, \"mode\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"visibleIndex\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"disableTabStop\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"disableShrink\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"disableHide\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: false })\n ], BaseAction.prototype, \"needSpace\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"ariaChecked\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"ariaExpanded\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: \"button\" })\n ], BaseAction.prototype, \"ariaRole\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"iconName\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"iconSize\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], BaseAction.prototype, \"css\", void 0);\n return BaseAction;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\nvar Action = /** @class */ (function (_super) {\n __extends(Action, _super);\n function Action(innerItem) {\n var _this = _super.call(this) || this;\n _this.innerItem = innerItem;\n _this.locTitleChanged = function () {\n var val = _this.locTitle.renderedHtml;\n _this.setPropertyValue(\"_title\", !!val ? val : undefined);\n };\n _this.locTitle = !!innerItem ? innerItem[\"locTitle\"] : null;\n //Object.assign(this, item) to support IE11\n if (!!innerItem) {\n for (var key in innerItem) {\n if (key !== \"locTitle\") {\n _this[key] = innerItem[key];\n }\n }\n }\n if (!!_this.locTitleName) {\n _this.locTitleChanged();\n }\n _this.registerFunctionOnPropertyValueChanged(\"_title\", function () {\n _this.raiseUpdate(true);\n });\n _this.locStrChangedInPopupModel();\n return _this;\n }\n Action.prototype.raiseUpdate = function (isResetInitialized) {\n if (isResetInitialized === void 0) { isResetInitialized = false; }\n this.updateCallback && this.updateCallback(isResetInitialized);\n };\n Action.prototype.createLocTitle = function () {\n return this.createLocalizableString(\"title\", this, true);\n };\n Action.prototype.getLocTitle = function () {\n return this.locTitleValue;\n };\n Action.prototype.setLocTitle = function (val) {\n if (!val && !this.locTitleValue) {\n val = this.createLocTitle();\n }\n if (!!this.locTitleValue) {\n this.locTitleValue.onStringChanged.remove(this.locTitleChanged);\n }\n this.locTitleValue = val;\n this.locTitleValue.onStringChanged.add(this.locTitleChanged);\n this.locTitleChanged();\n };\n Action.prototype.getTitle = function () {\n return this._title;\n };\n Action.prototype.setTitle = function (val) {\n this._title = val;\n };\n Object.defineProperty(Action.prototype, \"locTitleName\", {\n get: function () {\n return this.locTitle.localizationName;\n },\n set: function (val) {\n this.locTitle.localizationName = val;\n },\n enumerable: false,\n configurable: true\n });\n Action.prototype.locStrsChanged = function () {\n _super.prototype.locStrsChanged.call(this);\n this.locTooltipChanged();\n this.locStrChangedInPopupModel();\n };\n Action.prototype.locStrChangedInPopupModel = function () {\n if (!this.popupModel || !this.popupModel.contentComponentData || !this.popupModel.contentComponentData.model)\n return;\n var model = this.popupModel.contentComponentData.model;\n if (Array.isArray(model.actions)) {\n var actions = model.actions;\n actions.forEach(function (item) {\n if (!!item.locStrsChanged) {\n item.locStrsChanged();\n }\n });\n }\n };\n Action.prototype.locTooltipChanged = function () {\n if (!this.locTooltipName)\n return;\n this.tooltip = _surveyStrings__WEBPACK_IMPORTED_MODULE_1__[\"surveyLocalization\"].getString(this.locTooltipName, this.locTitle.locale);\n };\n //ILocalizableOwner\n Action.prototype.getLocale = function () { return this.owner ? this.owner.getLocale() : \"\"; };\n Action.prototype.getMarkdownHtml = function (text, name) { return this.owner ? this.owner.getMarkdownHtml(text, name) : undefined; };\n Action.prototype.getProcessedText = function (text) { return this.owner ? this.owner.getProcessedText(text) : text; };\n Action.prototype.getRenderer = function (name) { return this.owner ? this.owner.getRenderer(name) : null; };\n Action.prototype.getRendererContext = function (locStr) { return this.owner ? this.owner.getRendererContext(locStr) : locStr; };\n Action.prototype.setVisible = function (val) {\n this._visible = val;\n };\n Action.prototype.getVisible = function () {\n return this._visible;\n };\n Action.prototype.setEnabled = function (val) {\n this._enabled = val;\n };\n Action.prototype.getEnabled = function () {\n if (this.enabledIf)\n return this.enabledIf();\n return this._enabled;\n };\n Action.prototype.setComponent = function (val) {\n this._component = val;\n };\n Action.prototype.getComponent = function () {\n return this._component;\n };\n Action.prototype.dispose = function () {\n this.action = undefined;\n _super.prototype.dispose.call(this);\n if (this.popupModel) {\n this.popupModel.dispose();\n }\n if (!!this.locTitleValue) {\n this.locTitleValue.onStringChanged.remove(this.locTitleChanged);\n this.locTitleChanged = undefined;\n }\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], Action.prototype, \"id\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({\n defaultValue: true,\n onSet: function (_, target) {\n target.raiseUpdate();\n }\n })\n ], Action.prototype, \"_visible\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({\n onSet: function (_, target) {\n target.locTooltipChanged();\n }\n })\n ], Action.prototype, \"locTooltipName\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], Action.prototype, \"_enabled\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], Action.prototype, \"action\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], Action.prototype, \"_component\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], Action.prototype, \"items\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({\n onSet: function (val, target) {\n if (target.locTitleValue.text === val)\n return;\n target.locTitleValue.text = val;\n }\n })\n ], Action.prototype, \"_title\", void 0);\n return Action;\n}(BaseAction));\n\nvar ActionDropdownViewModel = /** @class */ (function () {\n function ActionDropdownViewModel(item) {\n this.item = item;\n this.funcKey = \"sv-dropdown-action\";\n this.setupPopupCallbacks();\n }\n ActionDropdownViewModel.prototype.setupPopupCallbacks = function () {\n var _this = this;\n var popupModel = this.popupModel = this.item.popupModel;\n if (!popupModel)\n return;\n popupModel.registerPropertyChangedHandlers([\"isVisible\"], function () {\n if (!popupModel.isVisible) {\n _this.item.pressed = false;\n }\n else {\n _this.item.pressed = true;\n }\n }, this.funcKey);\n };\n ActionDropdownViewModel.prototype.removePopupCallbacks = function () {\n if (!!this.popupModel) {\n this.popupModel.unregisterPropertyChangedHandlers([\"isVisible\"], this.funcKey);\n }\n };\n ActionDropdownViewModel.prototype.dispose = function () {\n this.removePopupCallbacks();\n };\n return ActionDropdownViewModel;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/actions/adaptive-container.ts\":\n/*!*******************************************!*\\\n !*** ./src/actions/adaptive-container.ts ***!\n \\*******************************************/\n/*! exports provided: AdaptiveActionContainer */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AdaptiveActionContainer\", function() { return AdaptiveActionContainer; });\n/* harmony import */ var _utils_responsivity_manager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/responsivity-manager */ \"./src/utils/responsivity-manager.ts\");\n/* harmony import */ var _action__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./action */ \"./src/actions/action.ts\");\n/* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./container */ \"./src/actions/container.ts\");\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../surveyStrings */ \"./src/surveyStrings.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\nvar AdaptiveActionContainer = /** @class */ (function (_super) {\n __extends(AdaptiveActionContainer, _super);\n function AdaptiveActionContainer() {\n var _this = _super.call(this) || this;\n _this.minVisibleItemsCount = 0;\n _this.isResponsivenessDisabled = false;\n _this.dotsItem = Object(_action__WEBPACK_IMPORTED_MODULE_1__[\"createDropdownActionModelAdvanced\"])({\n id: \"dotsItem-id\" + AdaptiveActionContainer.ContainerID++,\n css: \"sv-dots\",\n innerCss: \"sv-dots__item\",\n iconName: \"icon-more\",\n visible: false,\n tooltip: _surveyStrings__WEBPACK_IMPORTED_MODULE_3__[\"surveyLocalization\"].getString(\"more\"),\n }, {\n items: [],\n onSelectionChanged: function (item) {\n _this.hiddenItemSelected(item);\n },\n allowSelection: false\n });\n return _this;\n }\n AdaptiveActionContainer.prototype.hideItemsGreaterN = function (visibleItemsCount) {\n var actionsToHide = this.getActionsToHide();\n visibleItemsCount = Math.max(visibleItemsCount, this.minVisibleItemsCount - (this.visibleActions.length - actionsToHide.length));\n var hiddenItems = [];\n actionsToHide.forEach(function (item) {\n if (visibleItemsCount <= 0) {\n if (item.removePriority) {\n item.mode = \"removed\";\n }\n else {\n item.mode = \"popup\";\n hiddenItems.push(item.innerItem);\n }\n }\n visibleItemsCount--;\n });\n this.hiddenItemsListModel.setItems(hiddenItems);\n };\n AdaptiveActionContainer.prototype.getActionsToHide = function () {\n return this.visibleActions.filter(function (action) { return !action.disableHide; }).sort(function (a, b) { return a.removePriority || 0 - b.removePriority || 0; });\n };\n AdaptiveActionContainer.prototype.getVisibleItemsCount = function (availableSize) {\n this.visibleActions.filter(function (action) { return action.disableHide; }).forEach(function (action) { return availableSize -= action.minDimension; });\n var itemsSizes = this.getActionsToHide().map(function (item) { return item.minDimension; });\n var currSize = 0;\n for (var i = 0; i < itemsSizes.length; i++) {\n currSize += itemsSizes[i];\n if (currSize > availableSize)\n return i;\n }\n return i;\n };\n AdaptiveActionContainer.prototype.updateItemMode = function (availableSize, itemsSize) {\n var items = this.visibleActions;\n for (var index = items.length - 1; index >= 0; index--) {\n if (itemsSize > availableSize && !items[index].disableShrink) {\n itemsSize -= items[index].maxDimension - items[index].minDimension;\n items[index].mode = \"small\";\n }\n else {\n items[index].mode = \"large\";\n }\n }\n if (itemsSize > availableSize) {\n var hidableItems = this.visibleActions.filter(function (a) { return a.removePriority; });\n hidableItems.sort(function (a, b) { return a.removePriority - b.removePriority; });\n for (var index = 0; index < hidableItems.length; index++) {\n if (itemsSize > availableSize) {\n itemsSize -= items[index].disableShrink ? hidableItems[index].maxDimension : hidableItems[index].minDimension;\n hidableItems[index].mode = \"removed\";\n }\n }\n }\n };\n Object.defineProperty(AdaptiveActionContainer.prototype, \"hiddenItemsListModel\", {\n get: function () {\n return this.dotsItem.data;\n },\n enumerable: false,\n configurable: true\n });\n AdaptiveActionContainer.prototype.hiddenItemSelected = function (item) {\n if (!!item && typeof item.action === \"function\") {\n item.action();\n }\n };\n AdaptiveActionContainer.prototype.onSet = function () {\n var _this = this;\n this.actions.forEach(function (action) { return action.updateCallback = function (isResetInitialized) { return _this.raiseUpdate(isResetInitialized); }; });\n _super.prototype.onSet.call(this);\n };\n AdaptiveActionContainer.prototype.onPush = function (item) {\n var _this = this;\n item.updateCallback = function (isResetInitialized) { return _this.raiseUpdate(isResetInitialized); };\n _super.prototype.onPush.call(this, item);\n };\n AdaptiveActionContainer.prototype.getRenderedActions = function () {\n if (this.actions.length === 1 && !!this.actions[0].iconName)\n return this.actions;\n return this.actions.concat([this.dotsItem]);\n };\n AdaptiveActionContainer.prototype.raiseUpdate = function (isResetInitialized) {\n if (!this.isResponsivenessDisabled) {\n _super.prototype.raiseUpdate.call(this, isResetInitialized);\n }\n };\n AdaptiveActionContainer.prototype.fit = function (dimension, dotsItemSize) {\n if (dimension <= 0)\n return;\n this.dotsItem.visible = false;\n var minSize = 0;\n var maxSize = 0;\n var items = this.visibleActions;\n items.forEach(function (item) {\n minSize += item.minDimension;\n maxSize += item.maxDimension;\n });\n if (dimension >= maxSize) {\n this.setActionsMode(\"large\");\n }\n else if (dimension < minSize) {\n this.setActionsMode(\"small\");\n this.hideItemsGreaterN(this.getVisibleItemsCount(dimension - dotsItemSize));\n this.dotsItem.visible = !!this.hiddenItemsListModel.actions.length;\n }\n else {\n this.updateItemMode(dimension, maxSize);\n }\n };\n AdaptiveActionContainer.prototype.initResponsivityManager = function (container, delayedUpdateFunction) {\n this.responsivityManager = new _utils_responsivity_manager__WEBPACK_IMPORTED_MODULE_0__[\"ResponsivityManager\"](container, this, \":scope > .sv-action:not(.sv-dots) > .sv-action__content\", null, delayedUpdateFunction);\n };\n AdaptiveActionContainer.prototype.resetResponsivityManager = function () {\n if (!!this.responsivityManager) {\n this.responsivityManager.dispose();\n this.responsivityManager = undefined;\n }\n };\n AdaptiveActionContainer.prototype.setActionsMode = function (mode) {\n this.actions.forEach(function (action) {\n if (mode == \"small\" && action.disableShrink)\n return;\n action.mode = mode;\n });\n };\n AdaptiveActionContainer.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n this.dotsItem.data.dispose();\n this.dotsItem.dispose();\n this.resetResponsivityManager();\n };\n AdaptiveActionContainer.ContainerID = 1;\n return AdaptiveActionContainer;\n}(_container__WEBPACK_IMPORTED_MODULE_2__[\"ActionContainer\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/actions/container.ts\":\n/*!**********************************!*\\\n !*** ./src/actions/container.ts ***!\n \\**********************************/\n/*! exports provided: defaultActionBarCss, ActionContainer */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultActionBarCss\", function() { return defaultActionBarCss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ActionContainer\", function() { return ActionContainer; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../base */ \"./src/base.ts\");\n/* harmony import */ var _action__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./action */ \"./src/actions/action.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/utils */ \"./src/utils/utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\nvar defaultActionBarCss = {\n root: \"sv-action-bar\",\n defaultSizeMode: \"sv-action-bar--default-size-mode\",\n smallSizeMode: \"sv-action-bar--small-size-mode\",\n item: \"sv-action-bar-item\",\n itemWithTitle: \"\",\n itemAsIcon: \"sv-action-bar-item--icon\",\n itemActive: \"sv-action-bar-item--active\",\n itemPressed: \"sv-action-bar-item--pressed\",\n itemIcon: \"sv-action-bar-item__icon\",\n itemTitle: \"sv-action-bar-item__title\",\n itemTitleWithIcon: \"sv-action-bar-item__title--with-icon\",\n};\nvar ActionContainer = /** @class */ (function (_super) {\n __extends(ActionContainer, _super);\n function ActionContainer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.sizeMode = \"default\";\n return _this;\n }\n ActionContainer.prototype.getMarkdownHtml = function (text, name) {\n return !!this.locOwner ? this.locOwner.getMarkdownHtml(text, name) : undefined;\n };\n ActionContainer.prototype.getRenderer = function (name) {\n return !!this.locOwner ? this.locOwner.getRenderer(name) : null;\n };\n ActionContainer.prototype.getRendererContext = function (locStr) {\n return !!this.locOwner ? this.locOwner.getRendererContext(locStr) : locStr;\n };\n ActionContainer.prototype.getProcessedText = function (text) {\n return this.locOwner ? this.locOwner.getProcessedText(text) : text;\n };\n ActionContainer.prototype.getLocale = function () {\n return !!this.locOwner ? this.locOwner.getLocale() : \"\";\n };\n ActionContainer.prototype.getRenderedActions = function () {\n return this.actions;\n };\n ActionContainer.prototype.locStrsChanged = function () {\n _super.prototype.locStrsChanged.call(this);\n this.actions.forEach(function (item) {\n if (item.locTitle)\n item.locTitle.strChanged();\n item.locStrsChanged();\n });\n };\n ActionContainer.prototype.raiseUpdate = function (isResetInitialized) {\n this.isEmpty = !this.actions.some(function (action) { return action.visible; });\n this.updateCallback && this.updateCallback(isResetInitialized);\n };\n ActionContainer.prototype.onSet = function () {\n var _this = this;\n this.actions.forEach(function (item) { _this.setActionCssClasses(item); });\n this.raiseUpdate(true);\n };\n ActionContainer.prototype.onPush = function (item) {\n this.setActionCssClasses(item);\n item.owner = this;\n this.raiseUpdate(true);\n };\n ActionContainer.prototype.onRemove = function (item) {\n item.owner = null;\n this.raiseUpdate(true);\n };\n ActionContainer.prototype.setActionCssClasses = function (item) {\n item.cssClasses = this.cssClasses;\n };\n Object.defineProperty(ActionContainer.prototype, \"hasActions\", {\n get: function () {\n return (this.actions || []).length > 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ActionContainer.prototype, \"renderedActions\", {\n get: function () {\n return this.getRenderedActions();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ActionContainer.prototype, \"visibleActions\", {\n get: function () {\n return this.actions.filter(function (action) { return action.visible !== false; });\n },\n enumerable: false,\n configurable: true\n });\n ActionContainer.prototype.getRootCss = function () {\n var sizeModeClass = this.sizeMode === \"small\" ? this.cssClasses.smallSizeMode : this.cssClasses.defaultSizeMode;\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__[\"CssClassBuilder\"]().append(this.cssClasses.root + (!!sizeModeClass ? \" \" + sizeModeClass : \"\") + (!!this.containerCss ? \" \" + this.containerCss : \"\"))\n .append(this.cssClasses.root + \"--empty\", this.isEmpty)\n .toString();\n };\n ActionContainer.prototype.getDefaultCssClasses = function () {\n return defaultActionBarCss;\n };\n Object.defineProperty(ActionContainer.prototype, \"cssClasses\", {\n get: function () {\n if (!this.cssClassesValue) {\n this.cssClassesValue = this.getDefaultCssClasses();\n }\n return this.cssClassesValue;\n },\n set: function (val) {\n var _this = this;\n this.cssClassesValue = {};\n this.copyCssClasses(this.cssClassesValue, this.getDefaultCssClasses());\n Object(_utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"mergeValues\"])(val, this.cssClasses);\n this.actions.forEach(function (action) {\n _this.setActionCssClasses(action);\n });\n },\n enumerable: false,\n configurable: true\n });\n ActionContainer.prototype.createAction = function (item) {\n return (item instanceof _action__WEBPACK_IMPORTED_MODULE_2__[\"BaseAction\"] ? item : new _action__WEBPACK_IMPORTED_MODULE_2__[\"Action\"](item));\n };\n ActionContainer.prototype.addAction = function (val, sortByVisibleIndex) {\n if (sortByVisibleIndex === void 0) { sortByVisibleIndex = true; }\n var res = this.createAction(val);\n this.actions.push(res);\n this.sortItems();\n return res;\n };\n ActionContainer.prototype.sortItems = function () {\n this.actions = []\n .concat(this.actions.filter(function (item) { return item.visibleIndex === undefined || item.visibleIndex >= 0; }))\n .sort(function (firstItem, secondItem) {\n return firstItem.visibleIndex - secondItem.visibleIndex;\n });\n };\n ActionContainer.prototype.setItems = function (items, sortByVisibleIndex) {\n var _this = this;\n if (sortByVisibleIndex === void 0) { sortByVisibleIndex = true; }\n this.actions = items.map(function (item) { return _this.createAction(item); });\n if (sortByVisibleIndex) {\n this.sortItems();\n }\n };\n ActionContainer.prototype.initResponsivityManager = function (container, delayedUpdateFunction) {\n return;\n };\n ActionContainer.prototype.resetResponsivityManager = function () { };\n ActionContainer.prototype.getActionById = function (id) {\n for (var i = 0; i < this.actions.length; i++) {\n if (this.actions[i].id === id)\n return this.actions[i];\n }\n return null;\n };\n ActionContainer.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n this.actions.forEach(function (action) { return action.dispose(); });\n this.actions.length = 0;\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"propertyArray\"])({\n onSet: function (_, target) {\n target.onSet();\n },\n onPush: function (item, i, target) {\n target.onPush(item);\n },\n onRemove: function (item, i, target) {\n target.onRemove(item);\n }\n })\n ], ActionContainer.prototype, \"actions\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({})\n ], ActionContainer.prototype, \"containerCss\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: false })\n ], ActionContainer.prototype, \"isEmpty\", void 0);\n return ActionContainer;\n}(_base__WEBPACK_IMPORTED_MODULE_1__[\"Base\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/base.ts\":\n/*!*********************!*\\\n !*** ./src/base.ts ***!\n \\*********************/\n/*! exports provided: Bindings, Dependencies, ComputedUpdater, Base, ArrayChanges, Event, EventBase */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Bindings\", function() { return Bindings; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Dependencies\", function() { return Dependencies; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ComputedUpdater\", function() { return ComputedUpdater; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Base\", function() { return Base; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ArrayChanges\", function() { return ArrayChanges; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Event\", function() { return Event; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EventBase\", function() { return EventBase; });\n/* harmony import */ var _localizablestring__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./localizablestring */ \"./src/localizablestring.ts\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./conditions */ \"./src/conditions.ts\");\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./surveyStrings */ \"./src/surveyStrings.ts\");\n/* harmony import */ var _console_warnings__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./console-warnings */ \"./src/console-warnings.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\n\n\n\n\n\n\n\nvar Bindings = /** @class */ (function () {\n function Bindings(obj) {\n this.obj = obj;\n this.properties = null;\n this.values = null;\n }\n Bindings.prototype.getType = function () {\n return \"bindings\";\n };\n Bindings.prototype.getNames = function () {\n var res = [];\n this.fillProperties();\n for (var i = 0; i < this.properties.length; i++) {\n if (this.properties[i].isVisible(\"\", this.obj)) {\n res.push(this.properties[i].name);\n }\n }\n return res;\n };\n Bindings.prototype.getProperties = function () {\n var res = [];\n this.fillProperties();\n for (var i = 0; i < this.properties.length; i++) {\n res.push(this.properties[i]);\n }\n return res;\n };\n Bindings.prototype.setBinding = function (propertyName, valueName) {\n if (!this.values)\n this.values = {};\n var oldValue = this.getJson();\n if (oldValue === valueName)\n return;\n if (!!valueName) {\n this.values[propertyName] = valueName;\n }\n else {\n delete this.values[propertyName];\n if (Object.keys(this.values).length == 0) {\n this.values = null;\n }\n }\n this.onChangedJSON(oldValue);\n };\n Bindings.prototype.clearBinding = function (propertyName) {\n this.setBinding(propertyName, \"\");\n };\n Bindings.prototype.isEmpty = function () {\n if (!this.values)\n return true;\n for (var key in this.values)\n return false;\n return true;\n };\n Bindings.prototype.getValueNameByPropertyName = function (propertyName) {\n if (!this.values)\n return undefined;\n return this.values[propertyName];\n };\n Bindings.prototype.getPropertiesByValueName = function (valueName) {\n if (!this.values)\n return [];\n var res = [];\n for (var key in this.values) {\n if (this.values[key] == valueName) {\n res.push(key);\n }\n }\n return res;\n };\n Bindings.prototype.getJson = function () {\n if (this.isEmpty())\n return undefined;\n var res = {};\n for (var key in this.values) {\n res[key] = this.values[key];\n }\n return res;\n };\n Bindings.prototype.setJson = function (value) {\n var oldValue = this.getJson();\n this.values = null;\n if (!!value) {\n this.values = {};\n for (var key in value) {\n this.values[key] = value[key];\n }\n }\n this.onChangedJSON(oldValue);\n };\n Bindings.prototype.fillProperties = function () {\n if (this.properties !== null)\n return;\n this.properties = [];\n var objProperties = _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].getPropertiesByObj(this.obj);\n for (var i = 0; i < objProperties.length; i++) {\n if (objProperties[i].isBindable) {\n this.properties.push(objProperties[i]);\n }\n }\n };\n Bindings.prototype.onChangedJSON = function (oldValue) {\n if (this.obj) {\n this.obj.onBindingChanged(oldValue, this.getJson());\n }\n };\n return Bindings;\n}());\n\nvar Dependencies = /** @class */ (function () {\n function Dependencies(currentDependency, target, property) {\n this.currentDependency = currentDependency;\n this.target = target;\n this.property = property;\n this.dependencies = [];\n this.id = \"\" + (++Dependencies.DependenciesCount);\n }\n Dependencies.prototype.addDependency = function (target, property) {\n if (this.target === target && this.property === property)\n return;\n if (this.dependencies.some(function (dependency) { return dependency.obj === target && dependency.prop === property; }))\n return;\n this.dependencies.push({\n obj: target,\n prop: property,\n id: this.id\n });\n target.registerPropertyChangedHandlers([property], this.currentDependency, this.id);\n };\n Dependencies.prototype.dispose = function () {\n this.dependencies.forEach(function (dependency) {\n dependency.obj.unregisterPropertyChangedHandlers([dependency.prop], dependency.id);\n });\n // this.currentDependency = undefined;\n };\n Dependencies.DependenciesCount = 0;\n return Dependencies;\n}());\n\nvar ComputedUpdater = /** @class */ (function () {\n function ComputedUpdater(_updater) {\n this._updater = _updater;\n this.dependencies = undefined;\n this.type = ComputedUpdater.ComputedUpdaterType;\n }\n Object.defineProperty(ComputedUpdater.prototype, \"updater\", {\n get: function () {\n return this._updater;\n },\n enumerable: false,\n configurable: true\n });\n ComputedUpdater.prototype.setDependencies = function (dependencies) {\n this.clearDependencies();\n this.dependencies = dependencies;\n };\n ComputedUpdater.prototype.getDependencies = function () {\n return this.dependencies;\n };\n ComputedUpdater.prototype.clearDependencies = function () {\n if (this.dependencies) {\n this.dependencies.dispose();\n this.dependencies = undefined;\n }\n };\n ComputedUpdater.prototype.dispose = function () {\n this.clearDependencies();\n };\n ComputedUpdater.ComputedUpdaterType = \"__dependency_computed\";\n return ComputedUpdater;\n}());\n\n/**\n * A base class for all SurveyJS objects.\n */\nvar Base = /** @class */ (function () {\n function Base() {\n this.dependencies = {};\n this.propertyHash = Base.createPropertiesHash();\n this.eventList = [];\n this.isLoadingFromJsonValue = false;\n this.loadingOwner = null;\n /**\n * An event that is raised when a property of this SurveyJS object has changed.\n *\n * Parameters:\n *\n * - `sender`: `this`\\\n * A SurveyJS object whose property has changed.\n * - `options.name`: `string`\\\n * The name of the changed property.\n * - `options.newValue`: `any`\\\n * A new value for the property.\n * - `options.oldValue`: `any`\\\n * An old value of the property. If the property is an array, `oldValue` contains the same array as `newValue` does.\n */\n this.onPropertyChanged = this.addEvent();\n /**\n * An event that is raised when an [`ItemValue`](https://surveyjs.io/form-library/documentation/itemvalue) property is changed.\n *\n * Parameters:\n *\n * - `sender`: `this`\\\n * A SurveyJS object whose property contains an array of `ItemValue` objects.\n * - `options.obj`: [`ItemValue`](https://surveyjs.io/form-library/documentation/itemvalue)\\\n * An `ItemValue` object.\n * - `options.propertyName`: `string`\\\n * The name of the property to which an array of `ItemValue` objects is assigned (for example, `\"choices\"` or `\"rows\"`).\n * - `options.name`: `\"text\"` | `\"value\"`\\\n * The name of the changed property.\n * - `options.newValue`: `any`\\\n * A new value for the property.\n */\n this.onItemValuePropertyChanged = this.addEvent();\n this.isCreating = true;\n this.bindingsValue = new Bindings(this);\n _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"CustomPropertiesCollection\"].createProperties(this);\n this.onBaseCreating();\n this.isCreating = false;\n }\n Base.finishCollectDependencies = function () {\n var deps = Base.currentDependencis;\n Base.currentDependencis = undefined;\n return deps;\n };\n Base.startCollectDependencies = function (updater, target, property) {\n if (Base.currentDependencis !== undefined) {\n throw new Error(\"Attempt to collect nested dependencies. Nested dependencies are not supported.\");\n }\n Base.currentDependencis = new Dependencies(updater, target, property);\n };\n Base.collectDependency = function (target, property) {\n if (Base.currentDependencis === undefined)\n return;\n Base.currentDependencis.addDependency(target, property);\n };\n Object.defineProperty(Base, \"commentSuffix\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_3__[\"settings\"].commentSuffix;\n },\n set: function (val) {\n _settings__WEBPACK_IMPORTED_MODULE_3__[\"settings\"].commentSuffix = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Base, \"commentPrefix\", {\n get: function () {\n return Base.commentSuffix;\n },\n set: function (val) {\n Base.commentSuffix = val;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns `true` if a passed `value` is an empty string, array, or object or if it equals to `undefined` or `null`.\n *\n * @param value A value to be checked.\n * @param trimString *(Optional)* When this parameter is `true`, the method ignores whitespace characters at the beginning and end of a string value. Pass `false` to disable this functionality.\n */\n Base.prototype.isValueEmpty = function (value, trimString) {\n if (trimString === void 0) { trimString = true; }\n if (trimString) {\n value = this.trimValue(value);\n }\n return _helpers__WEBPACK_IMPORTED_MODULE_1__[\"Helpers\"].isValueEmpty(value);\n };\n Base.prototype.trimValue = function (value) {\n if (!!value && (typeof value === \"string\" || value instanceof String))\n return value.trim();\n return value;\n };\n Base.prototype.isPropertyEmpty = function (value) {\n return value !== \"\" && this.isValueEmpty(value);\n };\n Base.createPropertiesHash = function () {\n return {};\n };\n Base.prototype.dispose = function () {\n var _this = this;\n for (var i = 0; i < this.eventList.length; i++) {\n this.eventList[i].clear();\n }\n this.onPropertyValueChangedCallback = undefined;\n this.isDisposedValue = true;\n Object.keys(this.dependencies).forEach(function (key) { return _this.dependencies[key].dispose(); });\n };\n Object.defineProperty(Base.prototype, \"isDisposed\", {\n get: function () {\n return this.isDisposedValue === true;\n },\n enumerable: false,\n configurable: true\n });\n Base.prototype.addEvent = function () {\n var res = new EventBase();\n this.eventList.push(res);\n return res;\n };\n Base.prototype.onBaseCreating = function () { };\n /**\n * Returns the object type as it is used in the JSON schema.\n */\n Base.prototype.getType = function () {\n return \"base\";\n };\n /**\n * Use this method to find out if the current object is of a given `typeName` or inherited from it.\n *\n * @param typeName One of the values listed in the [getType()](https://surveyjs.io/form-library/documentation/question#getType) description.\n * @returns `true` if the current object is of a given `typeName` or inherited from it.\n * @see getType\n */\n Base.prototype.isDescendantOf = function (typeName) {\n return _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].isDescendantOf(this.getType(), typeName);\n };\n Base.prototype.getSurvey = function (isLive) {\n if (isLive === void 0) { isLive = false; }\n return null;\n };\n Object.defineProperty(Base.prototype, \"isDesignMode\", {\n /**\n * Returns `true` if the survey is being designed in Survey Creator.\n */\n get: function () {\n var survey = this.getSurvey();\n return !!survey && survey.isDesignMode;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Base.prototype, \"inSurvey\", {\n /**\n * Returns `true` if the object is included in a survey.\n *\n * This property may return `false`, for example, when you [create a survey model dynamically](https://surveyjs.io/form-library/documentation/design-survey-create-a-simple-survey#create-or-change-a-survey-model-dynamically).\n */\n get: function () {\n return !!this.getSurvey(true);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Base.prototype, \"bindings\", {\n get: function () {\n return this.bindingsValue;\n },\n enumerable: false,\n configurable: true\n });\n Base.prototype.checkBindings = function (valueName, value) { };\n Base.prototype.updateBindings = function (propertyName, value) {\n var valueName = this.bindings.getValueNameByPropertyName(propertyName);\n if (!!valueName) {\n this.updateBindingValue(valueName, value);\n }\n };\n Base.prototype.updateBindingValue = function (valueName, value) { };\n Base.prototype.getTemplate = function () {\n return this.getType();\n };\n Object.defineProperty(Base.prototype, \"isLoadingFromJson\", {\n /**\n * Returns `true` if the object configuration is being loaded from JSON.\n */\n get: function () {\n return this.isLoadingFromJsonValue || this.getIsLoadingFromJson();\n },\n enumerable: false,\n configurable: true\n });\n Base.prototype.getIsLoadingFromJson = function () {\n if (!!this.loadingOwner && this.loadingOwner.isLoadingFromJson)\n return true;\n return this.isLoadingFromJsonValue;\n };\n Base.prototype.startLoadingFromJson = function (json) {\n this.isLoadingFromJsonValue = true;\n this.jsonObj = json;\n };\n Base.prototype.endLoadingFromJson = function () {\n this.isLoadingFromJsonValue = false;\n };\n /**\n * Returns a JSON object that corresponds to the current SurveyJS object.\n * @see fromJSON\n */\n Base.prototype.toJSON = function () {\n return new _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"JsonObject\"]().toJsonObject(this);\n };\n /**\n * Assigns a new configuration to the current SurveyJS object. This configuration is taken from a passed JSON object.\n *\n * The JSON object should contain only serializable properties of this SurveyJS object. Event handlers and properties that do not belong to the SurveyJS object are ignored.\n *\n * @param json A JSON object with properties that you want to apply to the current SurveyJS object.\n * @see toJSON\n */\n Base.prototype.fromJSON = function (json) {\n new _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"JsonObject\"]().toObject(json, this);\n this.onSurveyLoad();\n };\n Base.prototype.onSurveyLoad = function () { };\n /**\n * Creates a new object that has the same type and properties as the current SurveyJS object.\n */\n Base.prototype.clone = function () {\n var clonedObj = _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].createClass(this.getType());\n clonedObj.fromJSON(this.toJSON());\n return clonedObj;\n };\n /**\n * Returns a `JsonObjectProperty` object with metadata about a serializable property that belongs to the current SurveyJS object.\n *\n * If the property is not found, this method returns `null`.\n * @param propName A property name.\n */\n Base.prototype.getPropertyByName = function (propName) {\n var type = this.getType();\n if (!this.classMetaData || this.classMetaData.name !== type) {\n this.classMetaData = _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].findClass(type);\n }\n return !!this.classMetaData ? this.classMetaData.findProperty(propName) : null;\n };\n Base.prototype.isPropertyVisible = function (propName) {\n var prop = this.getPropertyByName(propName);\n return !!prop ? prop.isVisible(\"\", this) : false;\n };\n Base.createProgressInfo = function () {\n return {\n questionCount: 0,\n answeredQuestionCount: 0,\n requiredQuestionCount: 0,\n requiredAnsweredQuestionCount: 0,\n };\n };\n Base.prototype.getProgressInfo = function () {\n return Base.createProgressInfo();\n };\n Base.prototype.localeChanged = function () { };\n Base.prototype.locStrsChanged = function () {\n if (!!this.arraysInfo) {\n for (var key in this.arraysInfo) {\n var item = this.arraysInfo[key];\n if (item && item.isItemValues) {\n var arr = this.getPropertyValue(key);\n if (arr && !!Base.itemValueLocStrChanged)\n Base.itemValueLocStrChanged(arr);\n }\n }\n }\n if (!!this.localizableStrings) {\n for (var key in this.localizableStrings) {\n var item = this.getLocalizableString(key);\n if (item)\n item.strChanged();\n }\n }\n };\n /**\n * Returns the value of a property with a specified name.\n *\n * If the property is not found or does not have a value, this method returns either `undefined`, `defaultValue` specified in the property configuration, or a value passed as the `defaultValue` parameter.\n *\n * @param name A property name.\n * @param defaultValue *(Optional)* A value to return if the property is not found or does not have a value.\n */\n Base.prototype.getPropertyValue = function (name, defaultValue) {\n if (defaultValue === void 0) { defaultValue = null; }\n var res = this.getPropertyValueWithoutDefault(name);\n if (this.isPropertyEmpty(res)) {\n var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;\n if (locStr)\n return locStr.text;\n if (defaultValue !== null && defaultValue !== undefined)\n return defaultValue;\n var propDefaultValue = this.getDefaultPropertyValue(name);\n if (propDefaultValue !== undefined)\n return propDefaultValue;\n }\n return res;\n };\n Base.prototype.getDefaultPropertyValue = function (name) {\n var prop = this.getPropertyByName(name);\n if (!prop || prop.isCustom && this.isCreating)\n return undefined;\n var dValue = prop.defaultValue;\n if (!this.isPropertyEmpty(dValue) && !Array.isArray(dValue))\n return dValue;\n var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;\n if (locStr && locStr.localizationName)\n return this.getLocalizationString(locStr.localizationName);\n if (prop.type == \"boolean\" || prop.type == \"switch\")\n return false;\n if (prop.isCustom && !!prop.onGetValue)\n return prop.onGetValue(this);\n return undefined;\n };\n Base.prototype.hasDefaultPropertyValue = function (name) {\n return this.getDefaultPropertyValue(name) !== undefined;\n };\n Base.prototype.resetPropertyValue = function (name) {\n var locStr = this.localizableStrings ? this.localizableStrings[name] : undefined;\n if (locStr) {\n locStr.clear();\n }\n else {\n this.setPropertyValue(name, undefined);\n }\n };\n Base.prototype.getPropertyValueWithoutDefault = function (name) {\n return this.getPropertyValueCore(this.propertyHash, name);\n };\n Base.prototype.getPropertyValueCore = function (propertiesHash, name) {\n if (!this.isLoadingFromJson) {\n Base.collectDependency(this, name);\n }\n if (this.getPropertyValueCoreHandler)\n return this.getPropertyValueCoreHandler(propertiesHash, name);\n else\n return propertiesHash[name];\n };\n Base.prototype.geValueFromHash = function () {\n return this.propertyHash[\"value\"];\n };\n Base.prototype.setPropertyValueCore = function (propertiesHash, name, val) {\n if (this.setPropertyValueCoreHandler) {\n if (!this.isDisposedValue) {\n this.setPropertyValueCoreHandler(propertiesHash, name, val);\n }\n else {\n _console_warnings__WEBPACK_IMPORTED_MODULE_6__[\"ConsoleWarnings\"].disposedObjectChangedProperty(name, this.getType());\n }\n }\n else\n propertiesHash[name] = val;\n };\n Object.defineProperty(Base.prototype, \"isEditingSurveyElement\", {\n get: function () {\n var survey = this.getSurvey();\n return !!survey && survey.isEditingSurveyElement;\n },\n enumerable: false,\n configurable: true\n });\n Base.prototype.iteratePropertiesHash = function (func) {\n var _this = this;\n var keys = [];\n for (var key in this.propertyHash) {\n if (key === \"value\" &&\n this.isEditingSurveyElement &&\n Array.isArray(this.value))\n continue;\n keys.push(key);\n }\n keys.forEach(function (key) { return func(_this.propertyHash, key); });\n };\n /**\n * Assigns a new value to a specified property.\n * @param name A property name.\n * @param val A new value for the property.\n */\n Base.prototype.setPropertyValue = function (name, val) {\n if (!this.isLoadingFromJson) {\n var prop = this.getPropertyByName(name);\n if (!!prop) {\n val = prop.settingValue(this, val);\n }\n }\n var oldValue = this.getPropertyValue(name);\n if (oldValue &&\n Array.isArray(oldValue) &&\n !!this.arraysInfo &&\n (!val || Array.isArray(val))) {\n if (!this.isTwoValueEquals(oldValue, val)) {\n this.setArrayPropertyDirectly(name, val);\n }\n }\n else {\n this.setPropertyValueDirectly(name, val);\n if (!this.isDisposedValue && !this.isTwoValueEquals(oldValue, val)) {\n this.propertyValueChanged(name, oldValue, val);\n }\n }\n };\n Base.prototype.setArrayPropertyDirectly = function (name, val, sendNotification) {\n if (sendNotification === void 0) { sendNotification = true; }\n var arrayInfo = this.arraysInfo[name];\n this.setArray(name, this.getPropertyValue(name), val, arrayInfo ? arrayInfo.isItemValues : false, arrayInfo ? sendNotification && arrayInfo.onPush : null);\n };\n Base.prototype.setPropertyValueDirectly = function (name, val) {\n this.setPropertyValueCore(this.propertyHash, name, val);\n };\n Base.prototype.clearPropertyValue = function (name) {\n this.setPropertyValueCore(this.propertyHash, name, null);\n delete this.propertyHash[name];\n };\n Base.prototype.onPropertyValueChangedCallback = function (name, oldValue, newValue, sender, arrayChanges) { };\n Base.prototype.itemValuePropertyChanged = function (item, name, oldValue, newValue) {\n this.onItemValuePropertyChanged.fire(this, {\n obj: item,\n name: name,\n oldValue: oldValue,\n newValue: newValue,\n propertyName: item.ownerPropertyName,\n });\n };\n Base.prototype.onPropertyValueChanged = function (name, oldValue, newValue) { };\n Base.prototype.propertyValueChanged = function (name, oldValue, newValue, arrayChanges, target) {\n if (this.isLoadingFromJson)\n return;\n this.updateBindings(name, newValue);\n this.onPropertyValueChanged(name, oldValue, newValue);\n this.onPropertyChanged.fire(this, {\n name: name,\n oldValue: oldValue,\n newValue: newValue,\n });\n this.doPropertyValueChangedCallback(name, oldValue, newValue, arrayChanges, this);\n this.checkConditionPropertyChanged(name);\n if (!this.onPropChangeFunctions)\n return;\n for (var i = 0; i < this.onPropChangeFunctions.length; i++) {\n if (this.onPropChangeFunctions[i].name == name)\n this.onPropChangeFunctions[i].func(newValue);\n }\n };\n Base.prototype.onBindingChanged = function (oldValue, newValue) {\n if (this.isLoadingFromJson)\n return;\n this.doPropertyValueChangedCallback(\"bindings\", oldValue, newValue);\n };\n Object.defineProperty(Base.prototype, \"isInternal\", {\n get: function () {\n return false;\n },\n enumerable: false,\n configurable: true\n });\n Base.prototype.doPropertyValueChangedCallback = function (name, oldValue, newValue, arrayChanges, target) {\n if (this.isInternal)\n return;\n if (!target)\n target = this;\n var notifier = this.getSurvey();\n if (!notifier)\n notifier = this;\n if (!!notifier.onPropertyValueChangedCallback) {\n notifier.onPropertyValueChangedCallback(name, oldValue, newValue, target, arrayChanges);\n }\n if (notifier !== this && !!this.onPropertyValueChangedCallback) {\n this.onPropertyValueChangedCallback(name, oldValue, newValue, target, arrayChanges);\n }\n };\n Base.prototype.addExpressionProperty = function (name, onExecute, canRun) {\n if (!this.expressionInfo) {\n this.expressionInfo = {};\n }\n this.expressionInfo[name] = { onExecute: onExecute, canRun: canRun };\n };\n Base.prototype.getDataFilteredValues = function () {\n return {};\n };\n Base.prototype.getDataFilteredProperties = function () {\n return {};\n };\n Base.prototype.runConditionCore = function (values, properties) {\n if (!this.expressionInfo)\n return;\n for (var key in this.expressionInfo) {\n this.runConditionItemCore(key, values, properties);\n }\n };\n Base.prototype.canRunConditions = function () {\n return !this.isDesignMode;\n };\n Base.prototype.checkConditionPropertyChanged = function (propName) {\n if (!this.expressionInfo || !this.expressionInfo[propName])\n return;\n if (!this.canRunConditions())\n return;\n this.runConditionItemCore(propName, this.getDataFilteredValues(), this.getDataFilteredProperties());\n };\n Base.prototype.runConditionItemCore = function (propName, values, properties) {\n var _this = this;\n var info = this.expressionInfo[propName];\n var expression = this.getPropertyValue(propName);\n if (!expression)\n return;\n if (!!info.canRun && !info.canRun(this))\n return;\n if (!info.runner) {\n info.runner = this.createExpressionRunner(expression);\n info.runner.onRunComplete = function (res) {\n info.onExecute(_this, res);\n };\n }\n info.runner.expression = expression;\n info.runner.run(values, properties);\n };\n Base.prototype.doBeforeAsynRun = function (id) {\n if (!this.asynExpressionHash)\n this.asynExpressionHash = [];\n var isChanged = !this.isAsyncExpressionRunning;\n this.asynExpressionHash[id] = true;\n if (isChanged) {\n this.onAsyncRunningChanged();\n }\n };\n Base.prototype.doAfterAsynRun = function (id) {\n if (!!this.asynExpressionHash) {\n delete this.asynExpressionHash[id];\n if (!this.isAsyncExpressionRunning) {\n this.onAsyncRunningChanged();\n }\n }\n };\n Base.prototype.onAsyncRunningChanged = function () { };\n Object.defineProperty(Base.prototype, \"isAsyncExpressionRunning\", {\n get: function () {\n return !!this.asynExpressionHash && Object.keys(this.asynExpressionHash).length > 0;\n },\n enumerable: false,\n configurable: true\n });\n Base.prototype.createExpressionRunner = function (expression) {\n var _this = this;\n var res = new _conditions__WEBPACK_IMPORTED_MODULE_4__[\"ExpressionRunner\"](expression);\n res.onBeforeAsyncRun = function (id) { _this.doBeforeAsynRun(id); };\n res.onAfterAsyncRun = function (id) { _this.doAfterAsynRun(id); };\n return res;\n };\n /**\n * Registers a function to call when a property value changes.\n * @param propertyNames An array of one or multiple property names.\n * @param handler A function to call when one of the listed properties change.\n * @param key *(Optional)* A key that identifies the current registration. If a function for one of the properties is already registered with the same key, the function will be overwritten. You can also use the key to subsequently unregister handlers.\n * @see unregisterPropertyChangedHandlers\n */\n Base.prototype.registerPropertyChangedHandlers = function (propertyNames, handler, key) {\n if (key === void 0) { key = null; }\n for (var i = 0; i < propertyNames.length; i++) {\n this.registerFunctionOnPropertyValueChanged(propertyNames[i], handler, key);\n }\n };\n /**\n * Unregisters value change event handlers for the specified properties.\n * @param propertyNames An array of one or multiple property names.\n * @param key *(Optional)* A key of the registration that you want to cancel.\n * @see registerPropertyChangedHandlers\n */\n Base.prototype.unregisterPropertyChangedHandlers = function (propertyNames, key) {\n if (key === void 0) { key = null; }\n for (var i = 0; i < propertyNames.length; i++) {\n this.unRegisterFunctionOnPropertyValueChanged(propertyNames[i], key);\n }\n };\n Base.prototype.registerFunctionOnPropertyValueChanged = function (name, func, key) {\n if (key === void 0) { key = null; }\n if (!this.onPropChangeFunctions) {\n this.onPropChangeFunctions = [];\n }\n if (key) {\n for (var i = 0; i < this.onPropChangeFunctions.length; i++) {\n var item = this.onPropChangeFunctions[i];\n if (item.name == name && item.key == key) {\n item.func = func;\n return;\n }\n }\n }\n this.onPropChangeFunctions.push({ name: name, func: func, key: key });\n };\n Base.prototype.registerFunctionOnPropertiesValueChanged = function (names, func, key) {\n if (key === void 0) { key = null; }\n this.registerPropertyChangedHandlers(names, func, key);\n };\n Base.prototype.unRegisterFunctionOnPropertyValueChanged = function (name, key) {\n if (key === void 0) { key = null; }\n if (!this.onPropChangeFunctions)\n return;\n for (var i = 0; i < this.onPropChangeFunctions.length; i++) {\n var item = this.onPropChangeFunctions[i];\n if (item.name == name && item.key == key) {\n this.onPropChangeFunctions.splice(i, 1);\n return;\n }\n }\n };\n Base.prototype.unRegisterFunctionOnPropertiesValueChanged = function (names, key) {\n if (key === void 0) { key = null; }\n this.unregisterPropertyChangedHandlers(names, key);\n };\n Base.prototype.createCustomLocalizableObj = function (name) {\n var locStr = this.getLocalizableString(name);\n if (locStr)\n return;\n this.createLocalizableString(name, this, false, true);\n };\n Base.prototype.getLocale = function () {\n var locOwner = this.getSurvey();\n return !!locOwner ? locOwner.getLocale() : \"\";\n };\n Base.prototype.getLocalizationString = function (strName) {\n return _surveyStrings__WEBPACK_IMPORTED_MODULE_5__[\"surveyLocalization\"].getString(strName, this.getLocale());\n };\n Base.prototype.getLocalizationFormatString = function (strName) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var str = this.getLocalizationString(strName);\n if (!str || !str.format)\n return \"\";\n return str.format.apply(str, args);\n };\n Base.prototype.createLocalizableString = function (name, owner, useMarkDown, defaultStr) {\n var _this = this;\n if (useMarkDown === void 0) { useMarkDown = false; }\n if (defaultStr === void 0) { defaultStr = false; }\n var locStr = new _localizablestring__WEBPACK_IMPORTED_MODULE_0__[\"LocalizableString\"](owner, useMarkDown, name);\n if (defaultStr) {\n locStr.localizationName = defaultStr === true ? name : defaultStr;\n }\n locStr.onStrChanged = function (oldValue, newValue) {\n _this.propertyValueChanged(name, oldValue, newValue);\n };\n if (!this.localizableStrings) {\n this.localizableStrings = {};\n }\n this.localizableStrings[name] = locStr;\n var prop = this.getPropertyByName(name);\n locStr.disableLocalization = prop && prop.isLocalizable === false;\n return locStr;\n };\n Base.prototype.getLocalizableString = function (name) {\n return !!this.localizableStrings ? this.localizableStrings[name] : null;\n };\n Base.prototype.getLocalizableStringText = function (name, defaultStr) {\n if (defaultStr === void 0) { defaultStr = \"\"; }\n Base.collectDependency(this, name);\n var locStr = this.getLocalizableString(name);\n if (!locStr)\n return \"\";\n var res = locStr.text;\n return res ? res : defaultStr;\n };\n Base.prototype.setLocalizableStringText = function (name, value) {\n var locStr = this.getLocalizableString(name);\n if (!locStr)\n return;\n var oldValue = locStr.text;\n if (oldValue != value) {\n locStr.text = value;\n // this.propertyValueChanged(name, oldValue, value);\n }\n };\n Base.prototype.addUsedLocales = function (locales) {\n if (!!this.localizableStrings) {\n for (var key in this.localizableStrings) {\n var item = this.getLocalizableString(key);\n if (item)\n this.AddLocStringToUsedLocales(item, locales);\n }\n }\n if (!!this.arraysInfo) {\n for (var key in this.arraysInfo) {\n var items = this.getPropertyValue(key);\n if (!items || !items.length)\n continue;\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n if (item && item.addUsedLocales) {\n item.addUsedLocales(locales);\n }\n }\n }\n }\n };\n Base.prototype.searchText = function (text, founded) {\n var strs = [];\n this.getSearchableLocalizedStrings(strs);\n for (var i = 0; i < strs.length; i++) {\n if (strs[i].setFindText(text)) {\n founded.push({ element: this, str: strs[i] });\n }\n }\n };\n Base.prototype.getSearchableLocalizedStrings = function (arr) {\n if (!!this.localizableStrings) {\n var keys_1 = [];\n this.getSearchableLocKeys(keys_1);\n for (var i = 0; i < keys_1.length; i++) {\n var item = this.getLocalizableString(keys_1[i]);\n if (item)\n arr.push(item);\n }\n }\n if (!this.arraysInfo)\n return;\n var keys = [];\n this.getSearchableItemValueKeys(keys);\n for (var i = 0; i < keys.length; i++) {\n var items = this.getPropertyValue(keys[i]);\n if (!items)\n continue;\n for (var j = 0; j < items.length; j++) {\n arr.push(items[j].locText);\n }\n }\n };\n Base.prototype.getSearchableLocKeys = function (keys) { };\n Base.prototype.getSearchableItemValueKeys = function (keys) { };\n Base.prototype.AddLocStringToUsedLocales = function (locStr, locales) {\n var locs = locStr.getLocales();\n for (var i = 0; i < locs.length; i++) {\n if (locales.indexOf(locs[i]) < 0) {\n locales.push(locs[i]);\n }\n }\n };\n Base.prototype.createItemValues = function (name) {\n var self = this;\n var result = this.createNewArray(name, function (item) {\n item.locOwner = self;\n item.ownerPropertyName = name;\n if (typeof item.getSurvey == \"function\") {\n var survey = item.getSurvey();\n if (!!survey && typeof survey.makeReactive == \"function\") {\n survey.makeReactive(item);\n }\n }\n });\n this.arraysInfo[name].isItemValues = true;\n return result;\n };\n Base.prototype.notifyArrayChanged = function (ar, arrayChanges) {\n !!ar.onArrayChanged && ar.onArrayChanged(arrayChanges);\n };\n Base.prototype.createNewArrayCore = function (name) {\n var res = null;\n if (!!this.createArrayCoreHandler) {\n res = this.createArrayCoreHandler(this.propertyHash, name);\n }\n if (!res) {\n res = new Array();\n this.setPropertyValueCore(this.propertyHash, name, res);\n }\n return res;\n };\n Base.prototype.ensureArray = function (name, onPush, onRemove) {\n if (onPush === void 0) { onPush = null; }\n if (onRemove === void 0) { onRemove = null; }\n if (this.arraysInfo && this.arraysInfo[name]) {\n return;\n }\n return this.createNewArray(name, onPush, onRemove);\n };\n Base.prototype.createNewArray = function (name, onPush, onRemove) {\n if (onPush === void 0) { onPush = null; }\n if (onRemove === void 0) { onRemove = null; }\n var newArray = this.createNewArrayCore(name);\n if (!this.arraysInfo) {\n this.arraysInfo = {};\n }\n this.arraysInfo[name] = { onPush: onPush, isItemValues: false };\n var self = this;\n newArray.push = function (value) {\n var result = Object.getPrototypeOf(newArray).push.call(newArray, value);\n if (!self.isDisposedValue) {\n if (onPush)\n onPush(value, newArray.length - 1);\n var arrayChanges = new ArrayChanges(newArray.length - 1, 0, [value], []);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.shift = function () {\n var result = Object.getPrototypeOf(newArray).shift.call(newArray);\n if (!self.isDisposedValue && result) {\n if (onRemove)\n onRemove(result);\n var arrayChanges = new ArrayChanges(newArray.length - 1, 1, [], []);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.unshift = function (value) {\n var result = Object.getPrototypeOf(newArray).unshift.call(newArray, value);\n if (!self.isDisposedValue) {\n if (onPush)\n onPush(value, newArray.length - 1);\n var arrayChanges = new ArrayChanges(0, 0, [value], []);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.pop = function () {\n var result = Object.getPrototypeOf(newArray).pop.call(newArray);\n if (!self.isDisposedValue) {\n if (onRemove)\n onRemove(result);\n var arrayChanges = new ArrayChanges(newArray.length - 1, 1, [], []);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n newArray.splice = function (start, deleteCount) {\n var _a;\n var items = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n items[_i - 2] = arguments[_i];\n }\n if (!start)\n start = 0;\n if (!deleteCount)\n deleteCount = 0;\n var result = (_a = Object.getPrototypeOf(newArray).splice).call.apply(_a, __spreadArray([newArray,\n start,\n deleteCount], items));\n if (!items)\n items = [];\n if (!self.isDisposedValue) {\n if (onRemove && result) {\n for (var i = 0; i < result.length; i++) {\n onRemove(result[i]);\n }\n }\n if (onPush) {\n for (var i = 0; i < items.length; i++) {\n onPush(items[i], start + i);\n }\n }\n var arrayChanges = new ArrayChanges(start, deleteCount, items, result);\n self.propertyValueChanged(name, newArray, newArray, arrayChanges);\n self.notifyArrayChanged(newArray, arrayChanges);\n }\n return result;\n };\n return newArray;\n };\n Base.prototype.getItemValueType = function () {\n return undefined;\n };\n Base.prototype.setArray = function (name, src, dest, isItemValues, onPush) {\n var deletedItems = [].concat(src);\n Object.getPrototypeOf(src).splice.call(src, 0, src.length);\n if (!!dest) {\n for (var i = 0; i < dest.length; i++) {\n var item = dest[i];\n if (isItemValues) {\n if (!!Base.createItemValue) {\n item = Base.createItemValue(item, this.getItemValueType());\n }\n }\n Object.getPrototypeOf(src).push.call(src, item);\n if (onPush)\n onPush(src[i]);\n }\n }\n var arrayChanges = new ArrayChanges(0, deletedItems.length, src, deletedItems);\n this.propertyValueChanged(name, deletedItems, src, arrayChanges);\n this.notifyArrayChanged(src, arrayChanges);\n };\n Base.prototype.isTwoValueEquals = function (x, y, caseInSensitive, trimString) {\n if (caseInSensitive === void 0) { caseInSensitive = false; }\n if (trimString === void 0) { trimString = false; }\n return _helpers__WEBPACK_IMPORTED_MODULE_1__[\"Helpers\"].isTwoValueEquals(x, y, false, !caseInSensitive, trimString);\n };\n Base.copyObject = function (dst, src) {\n for (var key in src) {\n var source = src[key];\n if (typeof source === \"object\") {\n source = {};\n this.copyObject(source, src[key]);\n }\n dst[key] = source;\n }\n };\n Base.prototype.copyCssClasses = function (dest, source) {\n if (!source)\n return;\n if (typeof source === \"string\" || source instanceof String) {\n dest[\"root\"] = source;\n }\n else {\n Base.copyObject(dest, source);\n }\n };\n Base.prototype.getValueInLowCase = function (val) {\n if (!!val && typeof val == \"string\")\n return val.toLowerCase();\n return val;\n };\n Base.prototype.getElementsInDesign = function (includeHidden) {\n if (includeHidden === void 0) { includeHidden = false; }\n return [];\n };\n Base.currentDependencis = undefined;\n return Base;\n}());\n\nvar ArrayChanges = /** @class */ (function () {\n function ArrayChanges(index, deleteCount, itemsToAdd, deletedItems) {\n this.index = index;\n this.deleteCount = deleteCount;\n this.itemsToAdd = itemsToAdd;\n this.deletedItems = deletedItems;\n }\n return ArrayChanges;\n}());\n\nvar Event = /** @class */ (function () {\n function Event() {\n }\n Object.defineProperty(Event.prototype, \"isEmpty\", {\n get: function () {\n return this.length === 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Event.prototype, \"length\", {\n get: function () {\n return !!this.callbacks ? this.callbacks.length : 0;\n },\n enumerable: false,\n configurable: true\n });\n Event.prototype.fireByCreatingOptions = function (sender, createOptions) {\n if (!this.callbacks)\n return;\n for (var i = 0; i < this.callbacks.length; i++) {\n this.callbacks[i](sender, createOptions());\n if (!this.callbacks)\n return;\n }\n };\n Event.prototype.fire = function (sender, options) {\n if (!this.callbacks)\n return;\n for (var i = 0; i < this.callbacks.length; i++) {\n this.callbacks[i](sender, options);\n if (!this.callbacks)\n return;\n }\n };\n Event.prototype.clear = function () {\n this.callbacks = undefined;\n };\n Event.prototype.add = function (func) {\n if (this.hasFunc(func))\n return;\n if (!this.callbacks) {\n this.callbacks = new Array();\n }\n this.callbacks.push(func);\n this.fireCallbackChanged();\n };\n Event.prototype.remove = function (func) {\n if (this.hasFunc(func)) {\n var index = this.callbacks.indexOf(func, 0);\n this.callbacks.splice(index, 1);\n this.fireCallbackChanged();\n }\n };\n Event.prototype.hasFunc = function (func) {\n if (this.callbacks == null)\n return false;\n return this.callbacks.indexOf(func, 0) > -1;\n };\n Event.prototype.fireCallbackChanged = function () {\n if (!!this.onCallbacksChanged) {\n this.onCallbacksChanged();\n }\n };\n return Event;\n}());\n\nvar EventBase = /** @class */ (function (_super) {\n __extends(EventBase, _super);\n function EventBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return EventBase;\n}(Event));\n\n\n\n/***/ }),\n\n/***/ \"./src/calculatedValue.ts\":\n/*!********************************!*\\\n !*** ./src/calculatedValue.ts ***!\n \\********************************/\n/*! exports provided: CalculatedValue */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CalculatedValue\", function() { return CalculatedValue; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./conditions */ \"./src/conditions.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n/**\n * The calculated value is a way to define the variable in Survey Creator.\n * It has two main properties: name and expression. Based on expression the value read-only property is automatically calculated.\n * The name property should be unique though all calculated values.\n * It uses survey.getVariable/seruvey.setVariable functions to get/set its value. The class do not store its value internally.\n * You may set includeIntoResult property to true to store this calculated value into survey result.\n */\nvar CalculatedValue = /** @class */ (function (_super) {\n __extends(CalculatedValue, _super);\n function CalculatedValue(name, expression) {\n if (name === void 0) { name = null; }\n if (expression === void 0) { expression = null; }\n var _this = _super.call(this) || this;\n _this.expressionIsRunning = false;\n _this.isCalculated = false;\n if (!!name) {\n _this.name = name;\n }\n if (!!expression) {\n _this.expression = expression;\n }\n return _this;\n }\n CalculatedValue.prototype.setOwner = function (data) {\n this.data = data;\n this.rerunExpression();\n };\n CalculatedValue.prototype.getType = function () {\n return \"calculatedvalue\";\n };\n CalculatedValue.prototype.getSurvey = function (live) {\n if (live === void 0) { live = false; }\n return !!this.data && !!this.data[\"getSurvey\"]\n ? this.data.getSurvey()\n : null;\n };\n Object.defineProperty(CalculatedValue.prototype, \"owner\", {\n get: function () {\n return this.data;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CalculatedValue.prototype, \"name\", {\n /**\n * The calculated value name. It should be non empty and unique.\n */\n get: function () {\n return this.getPropertyValue(\"name\") || \"\";\n },\n set: function (val) {\n this.setPropertyValue(\"name\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CalculatedValue.prototype, \"includeIntoResult\", {\n /**\n * Set this property to true to include the non-empty calculated value into survey result, survey.data property.\n */\n get: function () {\n return this.getPropertyValue(\"includeIntoResult\");\n },\n set: function (val) {\n this.setPropertyValue(\"includeIntoResult\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CalculatedValue.prototype, \"expression\", {\n /**\n * The Expression that used to calculate the value. You may use standard operators like +, -, * and /, squares (). Here is the example of accessing the question value {questionname}.\n * Example: \"({quantity} * {price}) * (100 - {discount}) / 100\"\n */\n get: function () {\n return this.getPropertyValue(\"expression\") || \"\";\n },\n set: function (val) {\n this.setPropertyValue(\"expression\", val);\n this.rerunExpression();\n },\n enumerable: false,\n configurable: true\n });\n CalculatedValue.prototype.locCalculation = function () {\n this.expressionIsRunning = true;\n };\n CalculatedValue.prototype.unlocCalculation = function () {\n this.expressionIsRunning = false;\n };\n CalculatedValue.prototype.resetCalculation = function () {\n this.isCalculated = false;\n };\n CalculatedValue.prototype.doCalculation = function (calculatedValues, values, properties) {\n if (this.isCalculated)\n return;\n this.runExpressionCore(calculatedValues, values, properties);\n this.isCalculated = true;\n };\n CalculatedValue.prototype.runExpression = function (values, properties) {\n this.runExpressionCore(null, values, properties);\n };\n Object.defineProperty(CalculatedValue.prototype, \"value\", {\n get: function () {\n if (!this.data)\n return undefined;\n return this.data.getVariable(this.name);\n },\n enumerable: false,\n configurable: true\n });\n CalculatedValue.prototype.setValue = function (val) {\n if (!this.data)\n return;\n this.data.setVariable(this.name, val);\n };\n Object.defineProperty(CalculatedValue.prototype, \"canRunExpression\", {\n get: function () {\n return (!!this.data &&\n !this.isLoadingFromJson &&\n !!this.expression &&\n !this.expressionIsRunning &&\n !!this.name);\n },\n enumerable: false,\n configurable: true\n });\n CalculatedValue.prototype.rerunExpression = function () {\n if (!this.canRunExpression)\n return;\n this.runExpression(this.data.getFilteredValues(), this.data.getFilteredProperties());\n };\n CalculatedValue.prototype.runExpressionCore = function (calculatedValues, values, properties) {\n if (!this.canRunExpression)\n return;\n this.ensureExpression(values);\n this.locCalculation();\n if (!!calculatedValues) {\n this.runDependentExpressions(calculatedValues, values, properties);\n }\n this.expressionRunner.run(values, properties);\n };\n CalculatedValue.prototype.runDependentExpressions = function (calculatedValues, values, properties) {\n var variables = this.expressionRunner.getVariables();\n if (!variables)\n return;\n for (var i = 0; i < calculatedValues.length; i++) {\n var calcItem = calculatedValues[i];\n if (calcItem === this || variables.indexOf(calcItem.name) < 0)\n continue;\n calcItem.doCalculation(calculatedValues, values, properties);\n values[calcItem.name] = calcItem.value;\n }\n };\n CalculatedValue.prototype.ensureExpression = function (values) {\n var _this = this;\n if (!!this.expressionRunner)\n return;\n this.expressionRunner = new _conditions__WEBPACK_IMPORTED_MODULE_2__[\"ExpressionRunner\"](this.expression);\n this.expressionRunner.onRunComplete = function (newValue) {\n if (!_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isTwoValueEquals(newValue, _this.value, false, true, false)) {\n _this.setValue(newValue);\n }\n _this.unlocCalculation();\n };\n };\n return CalculatedValue;\n}(_base__WEBPACK_IMPORTED_MODULE_1__[\"Base\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_3__[\"Serializer\"].addClass(\"calculatedvalue\", [\n { name: \"!name\", isUnique: true },\n \"expression:expression\",\n \"includeIntoResult:boolean\",\n], function () {\n return new CalculatedValue();\n}, \"base\");\n\n\n/***/ }),\n\n/***/ \"./src/choicesRestful.ts\":\n/*!*******************************!*\\\n !*** ./src/choicesRestful.ts ***!\n \\*******************************/\n/*! exports provided: ChoicesRestful, ChoicesRestfull */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestful\", function() { return ChoicesRestful; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestfull\", function() { return ChoicesRestfull; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _itemvalue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./itemvalue */ \"./src/itemvalue.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./error */ \"./src/error.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\nvar XmlParser = /** @class */ (function () {\n function XmlParser() {\n this.parser = new DOMParser();\n }\n XmlParser.prototype.assignValue = function (target, name, value) {\n if (Array.isArray(target[name])) {\n target[name].push(value);\n }\n else if (target[name] !== undefined) {\n target[name] = [target[name]].concat(value);\n }\n else if (typeof value === \"object\" &&\n Object.keys(value).length === 1 &&\n Object.keys(value)[0] === name) {\n target[name] = value[name];\n }\n else {\n target[name] = value;\n }\n };\n XmlParser.prototype.xml2Json = function (xmlNode, result) {\n if (xmlNode.children && xmlNode.children.length > 0) {\n for (var i = 0; i < xmlNode.children.length; i++) {\n var childNode = xmlNode.children[i];\n var childObject = {};\n this.xml2Json(childNode, childObject);\n this.assignValue(result, childNode.nodeName, childObject);\n }\n }\n else {\n this.assignValue(result, xmlNode.nodeName, xmlNode.textContent);\n }\n };\n XmlParser.prototype.parseXmlString = function (xmlString) {\n var xmlRoot = this.parser.parseFromString(xmlString, \"text/xml\");\n var json = {};\n this.xml2Json(xmlRoot, json);\n return json;\n };\n return XmlParser;\n}());\n/**\n * Configures access to a RESTful service that returns choices for [Checkbox](https://surveyjs.io/Examples/Library?id=questiontype-checkbox), [Dropdown](https://surveyjs.io/Examples/Library?id=questiontype-dropdown), [Radiogroup](https://surveyjs.io/Examples/Library?id=questiontype-radiogroup), and other multiple-choice question types.\n *\n * Use the following properties to configure this object:\n *\n * ```js\n * {\n * url: \"http://...\", // A RESTful service's URL.\n * valueName: \"value\", // Specifies which field contains choice values.\n * titleName: \"title\", // Specifies which field contains display texts for choice values.\n * imageLinkName: \"imageUrl\", // Specifies which field contains image URLs. Used in Image Picker questions.\n * // Path to the array of choices. Specify `path` only if the array of choices is nested within the object returned by the service.\n * // The following path separators are allowed: semicolon `;`, comma `,`.\n * path: \"myNestedArray\"\n * }\n * ```\n *\n * Typically, you should assign this object to a question's [`choicesByUrl`](https://surveyjs.io/Documentation/Library?id=QuestionSelectBase#choicesByUrl) property.\n */\nvar ChoicesRestful = /** @class */ (function (_super) {\n __extends(ChoicesRestful, _super);\n function ChoicesRestful() {\n var _this = _super.call(this) || this;\n _this.lastObjHash = \"\";\n _this.isRunningValue = false;\n _this.processedUrl = \"\";\n _this.processedPath = \"\";\n _this.isUsingCacheFromUrl = undefined;\n _this.error = null;\n _this.createItemValue = function (value) {\n return new _itemvalue__WEBPACK_IMPORTED_MODULE_1__[\"ItemValue\"](value);\n };\n return _this;\n }\n Object.defineProperty(ChoicesRestful, \"EncodeParameters\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.encodeUrlParams;\n },\n set: function (val) {\n _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.encodeUrlParams = val;\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestful.clearCache = function () {\n ChoicesRestful.itemsResult = {};\n ChoicesRestful.sendingSameRequests = {};\n };\n ChoicesRestful.addSameRequest = function (obj) {\n if (!obj.isUsingCache)\n return false;\n var hash = obj.objHash;\n var res = ChoicesRestful.sendingSameRequests[hash];\n if (!res) {\n ChoicesRestful.sendingSameRequests[obj.objHash] = [];\n return false;\n }\n res.push(obj);\n obj.isRunningValue = true;\n return true;\n };\n ChoicesRestful.unregisterSameRequests = function (obj, items) {\n if (!obj.isUsingCache)\n return;\n var res = ChoicesRestful.sendingSameRequests[obj.objHash];\n delete ChoicesRestful.sendingSameRequests[obj.objHash];\n if (!res)\n return;\n for (var i = 0; i < res.length; i++) {\n res[i].isRunningValue = false;\n if (!!res[i].getResultCallback) {\n res[i].getResultCallback(items);\n }\n }\n };\n ChoicesRestful.getCachedItemsResult = function (obj) {\n var hash = obj.objHash;\n var res = ChoicesRestful.itemsResult[hash];\n if (!res)\n return false;\n if (obj.getResultCallback) {\n obj.getResultCallback(res);\n }\n return true;\n };\n ChoicesRestful.prototype.getSurvey = function (live) {\n if (live === void 0) { live = false; }\n return !!this.owner ? this.owner.survey : null;\n };\n ChoicesRestful.prototype.run = function (textProcessor) {\n if (textProcessor === void 0) { textProcessor = null; }\n if (!this.url || !this.getResultCallback)\n return;\n this.processedText(textProcessor);\n if (!this.processedUrl) {\n this.doEmptyResultCallback({});\n this.lastObjHash = this.objHash;\n return;\n }\n if (this.lastObjHash === this.objHash)\n return;\n this.lastObjHash = this.objHash;\n this.error = null;\n if (this.useChangedItemsResults())\n return;\n if (ChoicesRestful.addSameRequest(this))\n return;\n this.sendRequest();\n };\n Object.defineProperty(ChoicesRestful.prototype, \"isUsingCache\", {\n get: function () {\n if (this.isUsingCacheFromUrl === true)\n return true;\n if (this.isUsingCacheFromUrl === false)\n return false;\n return _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.cacheLoadedChoices;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"isRunning\", {\n get: function () {\n return this.getIsRunning();\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestful.prototype.getIsRunning = function () {\n return this.isRunningValue;\n };\n Object.defineProperty(ChoicesRestful.prototype, \"isWaitingForParameters\", {\n get: function () {\n return this.url && !this.processedUrl;\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestful.prototype.useChangedItemsResults = function () {\n return ChoicesRestful.getCachedItemsResult(this);\n };\n ChoicesRestful.prototype.doEmptyResultCallback = function (serverResult) {\n var items = [];\n if (this.updateResultCallback) {\n items = this.updateResultCallback(items, serverResult);\n }\n this.getResultCallback(items);\n };\n ChoicesRestful.prototype.processedText = function (textProcessor) {\n var urlText = this.url;\n if (!!urlText) {\n urlText = urlText\n .replace(ChoicesRestful.cacheText, \"\")\n .replace(ChoicesRestful.noCacheText, \"\");\n }\n if (textProcessor) {\n var pUrl = textProcessor.processTextEx(urlText, false, _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.encodeUrlParams);\n var pPath = textProcessor.processTextEx(this.path, false, _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].web.encodeUrlParams);\n if (!pUrl.hasAllValuesOnLastRun || !pPath.hasAllValuesOnLastRun) {\n this.processedUrl = \"\";\n this.processedPath = \"\";\n }\n else {\n this.processedUrl = pUrl.text;\n this.processedPath = pPath.text;\n }\n }\n else {\n this.processedUrl = urlText;\n this.processedPath = this.path;\n }\n if (this.onProcessedUrlCallback) {\n this.onProcessedUrlCallback(this.processedUrl, this.processedPath);\n }\n };\n ChoicesRestful.prototype.parseResponse = function (response) {\n var parsedResponse;\n if (!!response &&\n typeof response.indexOf === \"function\" &&\n response.indexOf(\"<\") === 0) {\n var parser = new XmlParser();\n parsedResponse = parser.parseXmlString(response);\n }\n else {\n try {\n parsedResponse = JSON.parse(response);\n }\n catch (_a) {\n parsedResponse = (response || \"\")\n .split(\"\\n\")\n .map(function (s) { return s.trim(\" \"); })\n .filter(function (s) { return !!s; });\n }\n }\n return parsedResponse;\n };\n ChoicesRestful.prototype.sendRequest = function () {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", this.processedUrl);\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n var self = this;\n var loadingObjHash = this.objHash;\n xhr.onload = function () {\n self.beforeLoadRequest();\n if (xhr.status === 200) {\n self.onLoad(self.parseResponse(xhr.response), loadingObjHash);\n }\n else {\n self.onError(xhr.statusText, xhr.responseText);\n }\n };\n var options = { request: xhr };\n if (!!ChoicesRestful.onBeforeSendRequest) {\n ChoicesRestful.onBeforeSendRequest(this, options);\n }\n this.beforeSendRequest();\n options.request.send();\n };\n ChoicesRestful.prototype.getType = function () {\n return \"choicesByUrl\";\n };\n Object.defineProperty(ChoicesRestful.prototype, \"isEmpty\", {\n get: function () {\n return !this.url && !this.path;\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestful.prototype.getCustomPropertiesNames = function () {\n var properties = this.getCustomProperties();\n var res = new Array();\n for (var i = 0; i < properties.length; i++) {\n res.push(this.getCustomPropertyName(properties[i].name));\n }\n return res;\n };\n ChoicesRestful.prototype.getCustomPropertyName = function (propertyName) {\n return propertyName + \"Name\";\n };\n ChoicesRestful.prototype.getCustomProperties = function () {\n var properties = _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].getProperties(this.itemValueType);\n var res = [];\n for (var i = 0; i < properties.length; i++) {\n if (properties[i].name === \"value\" ||\n properties[i].name === \"text\" ||\n properties[i].name === \"visibleIf\" ||\n properties[i].name === \"enableIf\")\n continue;\n res.push(properties[i]);\n }\n return res;\n };\n ChoicesRestful.prototype.setData = function (json) {\n this.clear();\n if (json.url)\n this.url = json.url;\n if (json.path)\n this.path = json.path;\n if (json.valueName)\n this.valueName = json.valueName;\n if (json.titleName)\n this.titleName = json.titleName;\n if (json.imageLinkName)\n this.imageLinkName = json.imageLinkName;\n if (json.allowEmptyResponse !== undefined)\n this.allowEmptyResponse = json.allowEmptyResponse;\n if (json.attachOriginalItems !== undefined)\n this.attachOriginalItems = json.attachOriginalItems;\n var properties = this.getCustomPropertiesNames();\n for (var i = 0; i < properties.length; i++) {\n if (json[properties[i]])\n this[properties[i]] = json[properties[i]];\n }\n };\n ChoicesRestful.prototype.getData = function () {\n if (this.isEmpty)\n return null;\n var res = {};\n if (this.url)\n res[\"url\"] = this.url;\n if (this.path)\n res[\"path\"] = this.path;\n if (this.valueName)\n res[\"valueName\"] = this.valueName;\n if (this.titleName)\n res[\"titleName\"] = this.titleName;\n if (this.imageLinkName)\n res[\"imageLinkName\"] = this.imageLinkName;\n if (this.allowEmptyResponse)\n res[\"allowEmptyResponse\"] = this.allowEmptyResponse;\n if (this.attachOriginalItems)\n res[\"attachOriginalItems\"] = this.attachOriginalItems;\n var properties = this.getCustomPropertiesNames();\n for (var i = 0; i < properties.length; i++) {\n if (this[properties[i]])\n res[properties[i]] = this[properties[i]];\n }\n return res;\n };\n Object.defineProperty(ChoicesRestful.prototype, \"url\", {\n /**\n * A RESTful service's URL.\n *\n * This property supports [dynamic URLs](https://surveyjs.io/Documentation/Library?id=design-survey-conditional-logic#dynamic-texts). For example, the URL below depends on the `region` question's value. When the value changes, the survey automatically loads a new dataset that corresponds to the selected region.\n *\n * ```js\n * url: \"https://surveyjs.io/api/CountriesExample?region={region}\"\n * ```\n *\n * [View Demo](https://surveyjs.io/Examples/Library/?id=questiontype-dropdownrestfull (linkStyle))\n * @see path\n * @see valueName\n * @see titleName\n */\n get: function () {\n return this.getPropertyValue(\"url\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"url\", val);\n this.isUsingCacheFromUrl = undefined;\n if (!val)\n return;\n if (val.indexOf(ChoicesRestful.cacheText) > -1) {\n this.isUsingCacheFromUrl = true;\n }\n else {\n if (val.indexOf(ChoicesRestful.noCacheText) > -1) {\n this.isUsingCacheFromUrl = false;\n }\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"path\", {\n /**\n * Path to the array of choices. The following path separators are allowed: semicolon `;`, comma `,`.\n *\n * Specify this property only if the array of choices is nested within the object returned by the service. For example, the service returns the following object:\n *\n * ```js\n * {\n * countries: [ ... ],\n * capitals: [ ... ]\n * }\n * ```\n *\n * To populate choices with values from the `countries` array, set the `path` property to `\"countries\"`. To use the `capitals` array, set this property to `\"capitals\"`.\n * @see url\n * @see valueName\n * @see titleName\n */\n get: function () {\n var res = this.getPropertyValue(\"path\");\n return !!res ? res : \"\";\n },\n set: function (val) {\n this.setPropertyValue(\"path\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"valueName\", {\n /**\n * Specifies which property in the obtained data object contains choice values.\n *\n * [View Demo](https://surveyjs.io/Examples/Library/?id=questiontype-dropdownrestfull (linkStyle))\n *\n * @see url\n * @see path\n * @see titleName\n */\n get: function () {\n return this.getPropertyValue(\"valueName\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"valueName\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"titleName\", {\n /**\n * Specifies which property in the obtained data object contains display texts for choices.\n *\n * @see url\n * @see path\n * @see valueName\n */\n get: function () {\n return this.getPropertyValue(\"titleName\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"titleName\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"imageLinkName\", {\n /**\n * Specifies which property in the obtained data object contains image URLs. Used only in [Image Picker](https://surveyjs.io/Examples/Library?id=questiontype-imagepicker) questions.\n *\n * @see url\n * @see path\n * @see valueName\n */\n get: function () {\n return this.getPropertyValue(\"imageLinkName\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"imageLinkName\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"allowEmptyResponse\", {\n get: function () {\n return this.getPropertyValue(\"allowEmptyResponse\");\n },\n set: function (val) {\n this.setPropertyValue(\"allowEmptyResponse\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"attachOriginalItems\", {\n get: function () {\n return this.getPropertyValue(\"attachOriginalItems\");\n },\n set: function (val) {\n this.setPropertyValue(\"attachOriginalItems\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ChoicesRestful.prototype, \"itemValueType\", {\n get: function () {\n if (!this.owner)\n return \"itemvalue\";\n var prop = _jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].findProperty(this.owner.getType(), \"choices\");\n if (!prop)\n return \"itemvalue\";\n if (prop.type == \"itemvalue[]\")\n return \"itemvalue\";\n return prop.type;\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestful.prototype.clear = function () {\n this.url = undefined;\n this.path = undefined;\n this.valueName = undefined;\n this.titleName = undefined;\n this.imageLinkName = undefined;\n var properties = this.getCustomPropertiesNames();\n for (var i = 0; i < properties.length; i++) {\n if (this[properties[i]])\n this[properties[i]] = \"\";\n }\n };\n ChoicesRestful.prototype.beforeSendRequest = function () {\n this.isRunningValue = true;\n if (!!this.beforeSendRequestCallback) {\n this.beforeSendRequestCallback();\n }\n };\n ChoicesRestful.prototype.beforeLoadRequest = function () {\n this.isRunningValue = false;\n };\n ChoicesRestful.prototype.onLoad = function (result, loadingObjHash) {\n if (loadingObjHash === void 0) { loadingObjHash = null; }\n if (!loadingObjHash) {\n loadingObjHash = this.objHash;\n }\n var items = new Array();\n var updatedResult = this.getResultAfterPath(result);\n if (updatedResult && updatedResult[\"length\"]) {\n for (var i = 0; i < updatedResult.length; i++) {\n var itemValue = updatedResult[i];\n if (!itemValue)\n continue;\n var value = !!this.getItemValueCallback\n ? this.getItemValueCallback(itemValue)\n : this.getValue(itemValue);\n var item = this.createItemValue(value);\n this.setTitle(item, itemValue);\n this.setCustomProperties(item, itemValue);\n if (this.attachOriginalItems) {\n item.originalItem = itemValue;\n }\n var imageLink = this.getImageLink(itemValue);\n if (!!imageLink) {\n item.imageLink = imageLink;\n }\n items.push(item);\n }\n }\n else {\n if (!this.allowEmptyResponse) {\n this.error = new _error__WEBPACK_IMPORTED_MODULE_3__[\"WebRequestEmptyError\"](null, this.owner);\n }\n }\n if (this.updateResultCallback) {\n items = this.updateResultCallback(items, result);\n }\n if (this.isUsingCache) {\n ChoicesRestful.itemsResult[loadingObjHash] = items;\n }\n this.callResultCallback(items, loadingObjHash);\n ChoicesRestful.unregisterSameRequests(this, items);\n };\n ChoicesRestful.prototype.callResultCallback = function (items, loadingObjHash) {\n if (loadingObjHash != this.objHash)\n return;\n this.getResultCallback(items);\n };\n ChoicesRestful.prototype.setCustomProperties = function (item, itemValue) {\n var properties = this.getCustomProperties();\n for (var i = 0; i < properties.length; i++) {\n var prop = properties[i];\n var val = this.getValueCore(itemValue, this.getPropertyBinding(prop.name));\n if (!this.isValueEmpty(val)) {\n item[prop.name] = val;\n }\n }\n };\n ChoicesRestful.prototype.getPropertyBinding = function (propertyName) {\n if (this[this.getCustomPropertyName(propertyName)])\n return this[this.getCustomPropertyName(propertyName)];\n if (this[propertyName])\n return this[propertyName];\n return propertyName;\n };\n ChoicesRestful.prototype.onError = function (status, response) {\n this.error = new _error__WEBPACK_IMPORTED_MODULE_3__[\"WebRequestError\"](status, response, this.owner);\n this.doEmptyResultCallback(response);\n ChoicesRestful.unregisterSameRequests(this, []);\n };\n ChoicesRestful.prototype.getResultAfterPath = function (result) {\n if (!result)\n return result;\n if (!this.processedPath)\n return result;\n var pathes = this.getPathes();\n for (var i = 0; i < pathes.length; i++) {\n result = result[pathes[i]];\n if (!result)\n return null;\n }\n return result;\n };\n ChoicesRestful.prototype.getPathes = function () {\n var pathes = [];\n if (this.processedPath.indexOf(\";\") > -1) {\n pathes = this.path.split(\";\");\n }\n else {\n pathes = this.processedPath.split(\",\");\n }\n if (pathes.length == 0)\n pathes.push(this.processedPath);\n return pathes;\n };\n ChoicesRestful.prototype.getValue = function (item) {\n if (!item)\n return null;\n if (this.valueName)\n return this.getValueCore(item, this.valueName);\n if (!(item instanceof Object))\n return item;\n var len = Object.keys(item).length;\n if (len < 1)\n return null;\n return item[Object.keys(item)[0]];\n };\n ChoicesRestful.prototype.setTitle = function (item, itemValue) {\n var title = this.titleName ? this.titleName : \"title\";\n var val = this.getValueCore(itemValue, title);\n if (!val)\n return;\n if (typeof val === \"string\") {\n item.text = val;\n }\n else {\n item.locText.setJson(val);\n }\n };\n ChoicesRestful.prototype.getImageLink = function (item) {\n var imageLink = this.imageLinkName ? this.imageLinkName : \"imageLink\";\n return this.getValueCore(item, imageLink);\n };\n ChoicesRestful.prototype.getValueCore = function (item, property) {\n if (!item)\n return null;\n if (property.indexOf(\".\") < 0)\n return item[property];\n var properties = property.split(\".\");\n for (var i = 0; i < properties.length; i++) {\n item = item[properties[i]];\n if (!item)\n return null;\n }\n return item;\n };\n Object.defineProperty(ChoicesRestful.prototype, \"objHash\", {\n get: function () {\n return (this.processedUrl +\n \";\" +\n this.processedPath +\n \";\" +\n this.valueName +\n \";\" +\n this.titleName +\n \";\" +\n this.imageLinkName);\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestful.cacheText = \"{CACHE}\";\n ChoicesRestful.noCacheText = \"{NOCACHE}\";\n ChoicesRestful.itemsResult = {};\n ChoicesRestful.sendingSameRequests = {};\n return ChoicesRestful;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\n/**\n * Obsolete, please use ChoicesRestful\n */\nvar ChoicesRestfull = /** @class */ (function (_super) {\n __extends(ChoicesRestfull, _super);\n function ChoicesRestfull() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(ChoicesRestfull, \"EncodeParameters\", {\n get: function () {\n return ChoicesRestful.EncodeParameters;\n },\n set: function (val) {\n ChoicesRestful.EncodeParameters = val;\n },\n enumerable: false,\n configurable: true\n });\n ChoicesRestfull.clearCache = function () {\n ChoicesRestful.clearCache();\n };\n Object.defineProperty(ChoicesRestfull, \"onBeforeSendRequest\", {\n get: function () {\n return ChoicesRestful.onBeforeSendRequest;\n },\n set: function (val) {\n ChoicesRestful.onBeforeSendRequest = val;\n },\n enumerable: false,\n configurable: true\n });\n return ChoicesRestfull;\n}(ChoicesRestful));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].addClass(\"choicesByUrl\", [\n \"url\",\n \"path\",\n \"valueName\",\n \"titleName\",\n {\n name: \"imageLinkName\",\n visibleIf: function (obj) {\n return !!obj && !!obj.owner && obj.owner.getType() == \"imagepicker\";\n },\n },\n { name: \"allowEmptyResponse:boolean\" },\n { name: \"attachOriginalItems:boolean\", visible: false },\n], function () {\n return new ChoicesRestful();\n});\n\n\n/***/ }),\n\n/***/ \"./src/conditionProcessValue.ts\":\n/*!**************************************!*\\\n !*** ./src/conditionProcessValue.ts ***!\n \\**************************************/\n/*! exports provided: ProcessValue */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ProcessValue\", function() { return ProcessValue; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n\nvar surveyBuiltInVarible = \"@survey\";\nvar ProcessValue = /** @class */ (function () {\n function ProcessValue() {\n this.values = null;\n this.properties = null;\n }\n ProcessValue.prototype.getFirstName = function (text, obj) {\n if (obj === void 0) { obj = null; }\n if (!text)\n return text;\n var res = \"\";\n if (!!obj) {\n res = this.getFirstPropertyName(text, obj);\n if (!!res)\n return res;\n }\n for (var i = 0; i < text.length; i++) {\n var ch = text[i];\n if (ch == \".\" || ch == \"[\")\n break;\n res += ch;\n }\n return res;\n };\n ProcessValue.prototype.hasValue = function (text, values) {\n if (values === void 0) { values = null; }\n if (!values)\n values = this.values;\n var res = this.getValueCore(text, values);\n return res.hasValue;\n };\n ProcessValue.prototype.getValue = function (text, values) {\n if (values === void 0) { values = null; }\n if (!values)\n values = this.values;\n var res = this.getValueCore(text, values);\n return res.value;\n };\n ProcessValue.prototype.setValue = function (obj, text, value) {\n if (!text)\n return;\n var nonNestedObj = this.getNonNestedObject(obj, text, true);\n if (!nonNestedObj)\n return;\n obj = nonNestedObj.value;\n text = nonNestedObj.text;\n if (!!obj && !!text) {\n obj[text] = value;\n }\n };\n ProcessValue.prototype.getValueInfo = function (valueInfo) {\n if (!!valueInfo.path) {\n valueInfo.value = this.getValueFromPath(valueInfo.path, this.values);\n valueInfo.hasValue =\n valueInfo.value !== null && !_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(valueInfo.value);\n if (!valueInfo.hasValue &&\n valueInfo.path.length > 1 &&\n valueInfo.path[valueInfo.path.length - 1] == \"length\") {\n valueInfo.hasValue = true;\n valueInfo.value = 0;\n }\n return;\n }\n var res = this.getValueCore(valueInfo.name, this.values);\n valueInfo.value = res.value;\n valueInfo.hasValue = res.hasValue;\n valueInfo.path = res.hasValue ? res.path : null;\n valueInfo.sctrictCompare = res.sctrictCompare;\n };\n ProcessValue.prototype.isAnyKeyChanged = function (keys, usedNames) {\n for (var i = 0; i < usedNames.length; i++) {\n var name = usedNames[i];\n if (keys.hasOwnProperty(name))\n return true;\n var firstName = this.getFirstName(name);\n if (!keys.hasOwnProperty(firstName))\n continue;\n if (name === firstName)\n return true;\n var keyValue = keys[firstName];\n if (keyValue == undefined)\n continue;\n if (!keyValue.hasOwnProperty(\"oldValue\") ||\n !keyValue.hasOwnProperty(\"newValue\"))\n return true;\n var v = {};\n v[firstName] = keyValue[\"oldValue\"];\n var oldValue = this.getValue(name, v);\n v[firstName] = keyValue[\"newValue\"];\n var newValue = this.getValue(name, v);\n if (!_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isTwoValueEquals(oldValue, newValue, false, false, false))\n return true;\n }\n return false;\n };\n ProcessValue.prototype.getValueFromPath = function (path, values) {\n if (path.length === 2 && path[0] === surveyBuiltInVarible) {\n return this.getValueFromSurvey(path[1]);\n }\n var index = 0;\n while (!!values && index < path.length) {\n var ind_name = path[index];\n if (_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isNumber(ind_name) &&\n Array.isArray(values) &&\n ind_name >= values.length)\n return null;\n values = values[ind_name];\n index++;\n }\n return values;\n };\n ProcessValue.prototype.getValueCore = function (text, values) {\n var question = this.getQuestionDirectly(text);\n if (question) {\n return { hasValue: true, value: question.value, path: [text], sctrictCompare: question.requireStrictCompare };\n }\n var res = this.getValueFromValues(text, values);\n if (!!text && !res.hasValue) {\n var val = this.getValueFromSurvey(text);\n if (val !== undefined) {\n res.hasValue = true;\n res.value = val;\n res.path = [surveyBuiltInVarible, text];\n }\n }\n return res;\n };\n ProcessValue.prototype.getQuestionDirectly = function (name) {\n if (!!this.properties && !!this.properties.survey)\n return this.properties.survey.getQuestionByValueName(name);\n return undefined;\n };\n ProcessValue.prototype.getValueFromSurvey = function (name) {\n if (!!this.properties && !!this.properties.survey)\n return this.properties.survey.getBuiltInVariableValue(name.toLocaleLowerCase());\n return undefined;\n };\n ProcessValue.prototype.getValueFromValues = function (text, values) {\n var res = { hasValue: false, value: null, path: null };\n var curValue = values;\n if (!curValue && curValue !== 0 && curValue !== false)\n return res;\n if (text &&\n text.lastIndexOf(\".length\") > -1 &&\n text.lastIndexOf(\".length\") === text.length - \".length\".length) {\n res.value = 0;\n res.hasValue = true;\n }\n var nonNestedObj = this.getNonNestedObject(curValue, text, false);\n if (!nonNestedObj)\n return res;\n res.path = nonNestedObj.path;\n res.value = !!nonNestedObj.text\n ? this.getObjectValue(nonNestedObj.value, nonNestedObj.text)\n : nonNestedObj.value;\n res.hasValue = !_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(res.value);\n return res;\n };\n ProcessValue.prototype.getNonNestedObject = function (obj, text, createPath) {\n var checkedKeys = new Array();\n var len = 0;\n var res = this.getNonNestedObjectCore(obj, text, createPath, checkedKeys);\n while (!res && len < checkedKeys.length) {\n len = checkedKeys.length;\n res = this.getNonNestedObjectCore(obj, text, createPath, checkedKeys);\n }\n return res;\n };\n ProcessValue.prototype.getNonNestedObjectCore = function (obj, text, createPath, checkedKeys) {\n var curName = this.getFirstPropertyName(text, obj, createPath, checkedKeys);\n if (!!curName) {\n checkedKeys.push(curName);\n }\n var path = !!curName ? [curName] : null;\n while (text != curName && !!obj) {\n var isArray = text[0] == \"[\";\n if (!isArray) {\n if (!curName && text == this.getFirstName(text))\n return { value: obj, text: text, path: path };\n obj = this.getObjectValue(obj, curName);\n if (_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(obj) && !createPath)\n return null;\n text = text.substring(curName.length);\n }\n else {\n var objInArray = this.getObjInArray(obj, text);\n if (!objInArray)\n return null;\n obj = objInArray.value;\n text = objInArray.text;\n path.push(objInArray.index);\n }\n if (!!text && text[0] == \".\") {\n text = text.substring(1);\n }\n curName = this.getFirstPropertyName(text, obj, createPath, checkedKeys);\n if (!!curName) {\n path.push(curName);\n }\n }\n return { value: obj, text: text, path: path };\n };\n ProcessValue.prototype.getObjInArray = function (curValue, text) {\n if (!Array.isArray(curValue))\n return null;\n var index = 1;\n var str = \"\";\n while (index < text.length && text[index] != \"]\") {\n str += text[index];\n index++;\n }\n text = index < text.length ? text.substring(index + 1) : \"\";\n index = this.getIntValue(str);\n if (index < 0 || index >= curValue.length)\n return null;\n return { value: curValue[index], text: text, index: index };\n };\n ProcessValue.prototype.getFirstPropertyName = function (name, obj, createProp, checkedKeys) {\n if (createProp === void 0) { createProp = false; }\n if (checkedKeys === void 0) { checkedKeys = undefined; }\n if (!name)\n return name;\n if (!obj)\n obj = {};\n if (obj.hasOwnProperty(name))\n return name;\n var nameInLow = name.toLowerCase();\n var A = nameInLow[0];\n var a = A.toUpperCase();\n for (var key in obj) {\n if (Array.isArray(checkedKeys) && checkedKeys.indexOf(key) > -1)\n continue;\n var first = key[0];\n if (first === a || first === A) {\n var keyName = key.toLowerCase();\n if (keyName == nameInLow)\n return key;\n if (nameInLow.length <= keyName.length)\n continue;\n var ch = nameInLow[keyName.length];\n if (ch != \".\" && ch != \"[\")\n continue;\n if (keyName == nameInLow.substring(0, keyName.length))\n return key;\n }\n }\n if (createProp && name[0] !== \"[\") {\n var ind = name.indexOf(\".\");\n if (ind > -1) {\n name = name.substring(0, ind);\n obj[name] = {};\n }\n return name;\n }\n return \"\";\n };\n ProcessValue.prototype.getObjectValue = function (obj, name) {\n if (!name)\n return null;\n return obj[name];\n };\n ProcessValue.prototype.getIntValue = function (str) {\n if (str == \"0\" || ((str | 0) > 0 && str % 1 == 0))\n return Number(str);\n return -1;\n };\n return ProcessValue;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/conditions.ts\":\n/*!***************************!*\\\n !*** ./src/conditions.ts ***!\n \\***************************/\n/*! exports provided: ExpressionExecutor, ExpressionRunnerBase, ConditionRunner, ExpressionRunner */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExpressionExecutor\", function() { return ExpressionExecutor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExpressionRunnerBase\", function() { return ExpressionRunnerBase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ConditionRunner\", function() { return ConditionRunner; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExpressionRunner\", function() { return ExpressionRunner; });\n/* harmony import */ var _conditionProcessValue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./conditionProcessValue */ \"./src/conditionProcessValue.ts\");\n/* harmony import */ var _console_warnings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./console-warnings */ \"./src/console-warnings.ts\");\n/* harmony import */ var _conditionsParser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./conditionsParser */ \"./src/conditionsParser.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\nvar ExpressionExecutor = /** @class */ (function () {\n function ExpressionExecutor(expression) {\n this.processValue = new _conditionProcessValue__WEBPACK_IMPORTED_MODULE_0__[\"ProcessValue\"]();\n this.parser = new _conditionsParser__WEBPACK_IMPORTED_MODULE_2__[\"ConditionsParser\"]();\n this.isAsyncValue = false;\n this.hasFunctionValue = false;\n this.setExpression(expression);\n }\n Object.defineProperty(ExpressionExecutor.prototype, \"expression\", {\n get: function () {\n return this.expressionValue;\n },\n enumerable: false,\n configurable: true\n });\n ExpressionExecutor.prototype.setExpression = function (value) {\n if (this.expression === value)\n return;\n this.expressionValue = value;\n this.operand = this.parser.parseExpression(value);\n this.hasFunctionValue = this.canRun() ? this.operand.hasFunction() : false;\n this.isAsyncValue = this.hasFunction()\n ? this.operand.hasAsyncFunction()\n : false;\n };\n ExpressionExecutor.prototype.getVariables = function () {\n if (!this.operand)\n return [];\n var variables = [];\n this.operand.setVariables(variables);\n return variables;\n };\n ExpressionExecutor.prototype.hasFunction = function () {\n return this.hasFunctionValue;\n };\n Object.defineProperty(ExpressionExecutor.prototype, \"isAsync\", {\n get: function () {\n return this.isAsyncValue;\n },\n enumerable: false,\n configurable: true\n });\n ExpressionExecutor.prototype.canRun = function () {\n return !!this.operand;\n };\n ExpressionExecutor.prototype.run = function (values, properties) {\n var _this = this;\n if (properties === void 0) { properties = null; }\n if (!this.operand) {\n if (!!this.expression) {\n _console_warnings__WEBPACK_IMPORTED_MODULE_1__[\"ConsoleWarnings\"].warn(\"Invalid expression: \" + this.expression);\n }\n return null;\n }\n this.processValue.values = values;\n this.processValue.properties = properties;\n if (!this.isAsync)\n return this.runValues();\n this.asyncFuncList = [];\n this.operand.addToAsyncList(this.asyncFuncList);\n for (var i = 0; i < this.asyncFuncList.length; i++) {\n this.asyncFuncList[i].onAsyncReady = function () {\n _this.doAsyncFunctionReady();\n };\n }\n for (var i = 0; i < this.asyncFuncList.length; i++) {\n this.asyncFuncList[i].evaluateAsync(this.processValue);\n }\n return false;\n };\n ExpressionExecutor.prototype.doAsyncFunctionReady = function () {\n for (var i = 0; i < this.asyncFuncList.length; i++) {\n if (!this.asyncFuncList[i].isReady)\n return;\n }\n this.runValues();\n };\n ExpressionExecutor.prototype.runValues = function () {\n var res = this.operand.evaluate(this.processValue);\n if (!!this.onComplete) {\n this.onComplete(res);\n }\n return res;\n };\n ExpressionExecutor.createExpressionExecutor = function (expression) { return new ExpressionExecutor(expression); };\n return ExpressionExecutor;\n}());\n\nvar ExpressionRunnerBase = /** @class */ (function () {\n function ExpressionRunnerBase(expression) {\n this._id = ExpressionRunnerBase.IdCounter++;\n this.expression = expression;\n }\n Object.defineProperty(ExpressionRunnerBase.prototype, \"id\", {\n get: function () { return this._id; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ExpressionRunnerBase.prototype, \"expression\", {\n get: function () {\n return !!this.expressionExecutor ? this.expressionExecutor.expression : \"\";\n },\n set: function (value) {\n var _this = this;\n if (!!this.expressionExecutor && value === this.expression)\n return;\n this.expressionExecutor = ExpressionExecutor.createExpressionExecutor(value);\n this.expressionExecutor.onComplete = function (res) { _this.doOnComplete(res); };\n this.variables = undefined;\n this.containsFunc = undefined;\n },\n enumerable: false,\n configurable: true\n });\n ExpressionRunnerBase.prototype.getVariables = function () {\n if (this.variables === undefined) {\n this.variables = this.expressionExecutor.getVariables();\n }\n return this.variables;\n };\n ExpressionRunnerBase.prototype.hasFunction = function () {\n if (this.containsFunc === undefined) {\n this.containsFunc = this.expressionExecutor.hasFunction();\n }\n return this.containsFunc;\n };\n Object.defineProperty(ExpressionRunnerBase.prototype, \"isAsync\", {\n get: function () {\n return this.expressionExecutor.isAsync;\n },\n enumerable: false,\n configurable: true\n });\n ExpressionRunnerBase.prototype.canRun = function () {\n return this.expressionExecutor.canRun();\n };\n ExpressionRunnerBase.prototype.runCore = function (values, properties) {\n if (properties === void 0) { properties = null; }\n if (this.onBeforeAsyncRun && this.isAsync) {\n this.onBeforeAsyncRun(this.id);\n }\n return this.expressionExecutor.run(values, properties);\n };\n ExpressionRunnerBase.prototype.doOnComplete = function (res) {\n if (this.onAfterAsyncRun && this.isAsync) {\n this.onAfterAsyncRun(this.id);\n }\n };\n ExpressionRunnerBase.IdCounter = 1;\n return ExpressionRunnerBase;\n}());\n\nvar ConditionRunner = /** @class */ (function (_super) {\n __extends(ConditionRunner, _super);\n function ConditionRunner() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ConditionRunner.prototype.run = function (values, properties) {\n if (properties === void 0) { properties = null; }\n return this.runCore(values, properties) == true;\n };\n ConditionRunner.prototype.doOnComplete = function (res) {\n if (!!this.onRunComplete)\n this.onRunComplete(res == true);\n _super.prototype.doOnComplete.call(this, res);\n };\n return ConditionRunner;\n}(ExpressionRunnerBase));\n\nvar ExpressionRunner = /** @class */ (function (_super) {\n __extends(ExpressionRunner, _super);\n function ExpressionRunner() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ExpressionRunner.prototype.run = function (values, properties) {\n if (properties === void 0) { properties = null; }\n return this.runCore(values, properties);\n };\n ExpressionRunner.prototype.doOnComplete = function (res) {\n if (!!this.onRunComplete)\n this.onRunComplete(res);\n _super.prototype.doOnComplete.call(this, res);\n };\n return ExpressionRunner;\n}(ExpressionRunnerBase));\n\n\n\n/***/ }),\n\n/***/ \"./src/conditionsParser.ts\":\n/*!*********************************!*\\\n !*** ./src/conditionsParser.ts ***!\n \\*********************************/\n/*! exports provided: ConditionsParserError, ConditionsParser */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ConditionsParserError\", function() { return ConditionsParserError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ConditionsParser\", function() { return ConditionsParser; });\n/* harmony import */ var _expressions_expressionParser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./expressions/expressionParser */ \"./src/expressions/expressionParser.ts\");\n\nvar ConditionsParserError = /** @class */ (function () {\n function ConditionsParserError(at, code) {\n this.at = at;\n this.code = code;\n }\n return ConditionsParserError;\n}());\n\nvar ConditionsParser = /** @class */ (function () {\n function ConditionsParser() {\n }\n ConditionsParser.prototype.patchExpression = function (text) {\n return text\n .replace(/=>/g, \">=\")\n .replace(/=/g, \"!=\")\n .replace(/equals/g, \"equal \")\n .replace(/notequals/g, \"notequal \");\n };\n ConditionsParser.prototype.createCondition = function (text) {\n return this.parseExpression(text);\n };\n ConditionsParser.prototype.parseExpression = function (text) {\n try {\n var result = ConditionsParser.parserCache[text];\n if (result === undefined) {\n result = Object(_expressions_expressionParser__WEBPACK_IMPORTED_MODULE_0__[\"parse\"])(this.patchExpression(text));\n if (!result.hasAsyncFunction()) {\n ConditionsParser.parserCache[text] = result;\n }\n }\n return result;\n }\n catch (e) {\n if (e instanceof _expressions_expressionParser__WEBPACK_IMPORTED_MODULE_0__[\"SyntaxError\"]) {\n this.conditionError = new ConditionsParserError(e.location.start.offset, e.message);\n }\n }\n };\n Object.defineProperty(ConditionsParser.prototype, \"error\", {\n get: function () {\n return this.conditionError;\n },\n enumerable: false,\n configurable: true\n });\n ConditionsParser.parserCache = {};\n return ConditionsParser;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/console-warnings.ts\":\n/*!*********************************!*\\\n !*** ./src/console-warnings.ts ***!\n \\*********************************/\n/*! exports provided: ConsoleWarnings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ConsoleWarnings\", function() { return ConsoleWarnings; });\nvar ConsoleWarnings = /** @class */ (function () {\n function ConsoleWarnings() {\n }\n ConsoleWarnings.disposedObjectChangedProperty = function (propName, objType) {\n ConsoleWarnings.warn(\"An attempt to set a property \\\"\" + propName + \"\\\" of a disposed object \\\"\" + objType + \"\\\"\");\n };\n ConsoleWarnings.inCorrectQuestionValue = function (questionName, val) {\n var valStr = JSON.stringify(val, null, 3);\n ConsoleWarnings.warn(\"An attempt to assign an incorrect value\" + valStr + \" to the following question: \\\"\" + questionName + \"\\\"\");\n };\n ConsoleWarnings.warn = function (text) {\n // eslint-disable-next-line no-console\n console.warn(text);\n };\n ConsoleWarnings.error = function (text) {\n // eslint-disable-next-line no-console\n console.error(text);\n };\n return ConsoleWarnings;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/defaultCss/cssmodern.ts\":\n/*!*************************************!*\\\n !*** ./src/defaultCss/cssmodern.ts ***!\n \\*************************************/\n/*! exports provided: modernCss */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modernCss\", function() { return modernCss; });\n/* harmony import */ var _defaultV2Css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaultV2Css */ \"./src/defaultCss/defaultV2Css.ts\");\n\nvar modernCss = {\n root: \"sv-root-modern\",\n timerRoot: \"sv-body__timer\",\n container: \"sv-container-modern\",\n header: \"sv-title sv-container-modern__title\",\n headerClose: \"sv-container-modern__close\",\n bodyContainer: \"sv-components-row\",\n body: \"sv-body\",\n bodyEmpty: \"sv-body sv-body--empty\",\n footer: \"sv-footer sv-body__footer sv-clearfix\",\n title: \"\",\n description: \"\",\n logo: \"sv-logo\",\n logoImage: \"sv-logo__image\",\n headerText: \"sv-header__text\",\n navigationButton: \"sv-btn sv-btn--navigation\",\n completedPage: \"sv-completedpage\",\n navigation: {\n complete: \"sv-footer__complete-btn\",\n prev: \"sv-footer__prev-btn\",\n next: \"sv-footer__next-btn\",\n start: \"sv-footer__start-btn\",\n preview: \"sv-footer__preview-btn\",\n edit: \"sv-footer__edit-btn\",\n },\n panel: {\n title: \"sv-title sv-panel__title\",\n titleExpandable: \"sv-panel__title--expandable\",\n titleExpanded: \"sv-panel__title--expanded\",\n titleCollapsed: \"sv-panel__title--collapsed\",\n titleOnError: \"sv-panel__title--error\",\n description: \"sv-description sv-panel__description\",\n container: \"sv-panel sv-row__panel\",\n content: \"sv-panel__content\",\n icon: \"sv-panel__icon\",\n iconExpanded: \"sv-panel__icon--expanded\",\n footer: \"sv-panel__footer\",\n requiredText: \"sv-panel__required-text\",\n number: \"sv-question__num\",\n },\n paneldynamic: {\n root: \"sv-paneldynamic\",\n navigation: \"sv-paneldynamic__navigation\",\n title: \"sv-title sv-question__title\",\n button: \"sv-btn\",\n buttonRemove: \"sv-paneldynamic__remove-btn\",\n buttonRemoveRight: \"sv-paneldynamic__remove-btn--right\",\n buttonAdd: \"sv-paneldynamic__add-btn\",\n progressTop: \"sv-paneldynamic__progress sv-paneldynamic__progress--top\",\n progressBottom: \"sv-paneldynamic__progress sv-paneldynamic__progress--bottom\",\n buttonPrev: \"sv-paneldynamic__prev-btn\",\n buttonNext: \"sv-paneldynamic__next-btn\",\n buttonPrevDisabled: \"sv-paneldynamic__prev-btn--disabled\",\n buttonNextDisabled: \"sv-paneldynamic__next-btn--disabled\",\n progressContainer: \"sv-paneldynamic__progress-container\",\n progress: \"sv-progress\",\n progressBar: \"sv-progress__bar\",\n progressText: \"sv-paneldynamic__progress-text\",\n separator: \"sv-paneldynamic__separator\",\n panelWrapper: \"sv-paneldynamic__panel-wrapper\",\n panelWrapperInRow: \"sv-paneldynamic__panel-wrapper--in-row\",\n progressBtnIcon: \"icon-progressbutton\",\n footer: \"\"\n },\n progress: \"sv-progress sv-body__progress\",\n progressBar: \"sv-progress__bar\",\n progressText: \"sv-progress__text\",\n progressTextInBar: \"sv-hidden\",\n progressButtonsContainerCenter: \"sv_progress-buttons__container-center\",\n progressButtonsContainer: \"sv_progress-buttons__container\",\n progressButtonsImageButtonLeft: \"sv_progress-buttons__image-button-left\",\n progressButtonsImageButtonRight: \"sv_progress-buttons__image-button-right\",\n progressButtonsImageButtonHidden: \"sv_progress-buttons__image-button--hidden\",\n progressButtonsListContainer: \"sv_progress-buttons__list-container\",\n progressButtonsList: \"sv_progress-buttons__list\",\n progressButtonsListElementPassed: \"sv_progress-buttons__list-element--passed\",\n progressButtonsListElementCurrent: \"sv_progress-buttons__list-element--current\",\n progressButtonsListElementNonClickable: \"sv_progress-buttons__list-element--nonclickable\",\n progressButtonsPageTitle: \"sv_progress-buttons__page-title\",\n progressButtonsPageDescription: \"sv_progress-buttons__page-description\",\n page: {\n root: \"sv-page sv-body__page\",\n title: \"sv-title sv-page__title\",\n description: \"sv-description sv-page__description\",\n },\n pageTitle: \"sv-title sv-page__title\",\n pageDescription: \"sv-description sv-page__description\",\n row: \"sv-row sv-clearfix\",\n question: {\n mainRoot: \"sv-question sv-row__question\",\n flowRoot: \"sv-question sv-row__question sv-row__question--flow\",\n asCell: \"sv-table__cell\",\n header: \"sv-question__header\",\n headerLeft: \"sv-question__header--location--left\",\n headerTop: \"sv-question__header--location--top\",\n headerBottom: \"sv-question__header--location--bottom\",\n content: \"sv-question__content\",\n contentLeft: \"sv-question__content--left\",\n titleLeftRoot: \"\",\n answered: \"sv-question--answered\",\n titleOnAnswer: \"sv-question__title--answer\",\n titleOnError: \"sv-question__title--error\",\n title: \"sv-title sv-question__title\",\n titleExpandable: \"sv-question__title--expandable\",\n titleExpanded: \"sv-question__title--expanded\",\n titleCollapsed: \"sv-question__title--collapsed\",\n icon: \"sv-question__icon\",\n iconExpanded: \"sv-question__icon--expanded\",\n requiredText: \"sv-question__required-text\",\n number: \"sv-question__num\",\n description: \"sv-description sv-question__description\",\n descriptionUnderInput: \"sv-description sv-question__description\",\n comment: \"sv-comment\",\n required: \"sv-question--required\",\n titleRequired: \"sv-question__title--required\",\n indent: 20,\n footer: \"sv-question__footer\",\n formGroup: \"sv-question__form-group\",\n hasError: \"\",\n disabled: \"sv-question--disabled\",\n },\n image: { root: \"sv-image\", image: \"sv_image_image\" },\n error: {\n root: \"sv-question__erbox\",\n icon: \"\",\n item: \"\",\n locationTop: \"sv-question__erbox--location--top\",\n locationBottom: \"sv-question__erbox--location--bottom\",\n },\n checkbox: {\n root: \"sv-selectbase\",\n item: \"sv-item sv-checkbox sv-selectbase__item\",\n itemSelectAll: \"sv-checkbox--selectall\",\n itemNone: \"sv-checkbox--none\",\n itemDisabled: \"sv-item--disabled sv-checkbox--disabled\",\n itemChecked: \"sv-checkbox--checked\",\n itemHover: \"sv-checkbox--allowhover\",\n itemInline: \"sv-selectbase__item--inline\",\n label: \"sv-selectbase__label\",\n labelChecked: \"\",\n itemControl: \"sv-visuallyhidden sv-item__control\",\n itemDecorator: \"sv-item__svg sv-checkbox__svg\",\n itemSvgIconId: \"#icon-moderncheck\",\n controlLabel: \"sv-item__control-label\",\n materialDecorator: \"sv-item__decorator sv-selectbase__decorator sv-checkbox__decorator\",\n other: \"sv-comment sv-question__other\",\n column: \"sv-selectbase__column\",\n },\n ranking: {\n root: \"sv-ranking\",\n rootMobileMod: \"sv-ranking--mobile\",\n rootDragMod: \"sv-ranking--drag\",\n rootDisabled: \"sv-ranking--disabled\",\n rootDragHandleAreaIcon: \"sv-ranking--drag-handle-area-icon\",\n rootSelectToRankMod: \"sv-ranking--select-to-rank\",\n rootSelectToRankAlignVertical: \"sv-ranking--select-to-rank-vertical\",\n rootSelectToRankAlignHorizontal: \"sv-ranking--select-to-rank-horizontal\",\n item: \"sv-ranking-item\",\n itemContent: \"sv-ranking-item__content\",\n itemIndex: \"sv-ranking-item__index\",\n itemIndexEmptyMode: \"sv-ranking-item__index--empty\",\n // itemText: \"sv-ranking-item__text\",\n controlLabel: \"sv-ranking-item__text\",\n itemGhostNode: \"sv-ranking-item__ghost\",\n itemIconContainer: \"sv-ranking-item__icon-container\",\n itemIcon: \"sv-ranking-item__icon\",\n itemIconHoverMod: \"sv-ranking-item__icon--hover\",\n itemIconFocusMod: \"sv-ranking-item__icon--focus\",\n itemGhostMod: \"sv-ranking-item--ghost\",\n itemDragMod: \"sv-ranking-item--drag\",\n container: \"sv-ranking__container\",\n containerEmptyMode: \"sv-ranking__container--empty\",\n containerFromMode: \"sv-ranking__container--from\",\n containerToMode: \"sv-ranking__container--to\",\n containerPlaceholder: \"sv-ranking__container-placeholder\",\n containersDivider: \"sv-ranking__containers-divider\",\n },\n radiogroup: {\n root: \"sv-selectbase\",\n item: \"sv-item sv-radio sv-selectbase__item\",\n itemInline: \"sv-selectbase__item--inline\",\n label: \"sv-selectbase__label\",\n labelChecked: \"\",\n itemDisabled: \"sv-item--disabled sv-radio--disabled\",\n itemChecked: \"sv-radio--checked\",\n itemHover: \"sv-radio--allowhover\",\n itemControl: \"sv-visuallyhidden sv-item__control\",\n itemDecorator: \"sv-item__svg sv-radio__svg\",\n itemSvgIconId: \"#icon-modernradio\",\n controlLabel: \"sv-item__control-label\",\n materialDecorator: \"sv-item__decorator sv-selectbase__decorator sv-radio__decorator\",\n other: \"sv-comment sv-question__other\",\n clearButton: \"sv-btn sv-selectbase__clear-btn\",\n column: \"sv-selectbase__column\",\n },\n buttongroup: {\n root: \"sv-button-group\",\n item: \"sv-button-group__item\",\n itemIcon: \"sv-button-group__item-icon\",\n itemDecorator: \"sv-button-group__item-decorator\",\n itemCaption: \"sv-button-group__item-caption\",\n itemSelected: \"sv-button-group__item--selected\",\n itemHover: \"sv-button-group__item--hover\",\n itemDisabled: \"sv-button-group__item--disabled\",\n itemControl: \"sv-visuallyhidden\",\n },\n boolean: {\n root: \"sv_qbln\",\n rootRadio: \"sv_qbln\",\n small: \"sv-row__question--small\",\n item: \"sv-boolean sv-item\",\n control: \"sv-visuallyhidden\",\n itemChecked: \"sv-boolean--checked\",\n itemIndeterminate: \"sv-boolean--indeterminate\",\n itemDisabled: \"sv-item--disabled sv-boolean--disabled\",\n switch: \"sv-boolean__switch\",\n slider: \"sv-boolean__slider\",\n label: \"sv-boolean__label\",\n disabledLabel: \"sv-boolean__label--disabled\",\n sliderGhost: \"sv-boolean__thumb-ghost\",\n //checkbox\n rootCheckbox: \"sv_qbln\",\n checkboxItem: \"sv-boolean sv-item\",\n checkboxItemChecked: \"sv-boolean--checked\",\n controlCheckbox: \"sv-visuallyhidden\",\n checkboxControlLabel: \"sv-boolean__label\",\n checkboxItemIndeterminate: \"sv-boolean--indeterminate\",\n checkboxItemDisabled: \"sv-item--disabled sv-boolean--disabled\",\n checkboxMaterialDecorator: \"sv-item__decorator sv-boolean__decorator \",\n checkboxItemDecorator: \"sv-item__svg sv-boolean__svg\",\n indeterminatePath: \"sv-boolean__indeterminate-path\",\n svgIconCheckedId: \"#icon-modernbooleancheckchecked\",\n svgIconUncheckedId: \"#icon-modernbooleancheckunchecked\",\n svgIconIndId: \"#icon-modernbooleancheckind\",\n },\n text: {\n root: \"sv-text\",\n small: \"sv-row__question--small\",\n remainingCharacterCounter: \"sv-remaining-character-counter\",\n onError: \"sv-text--error\",\n },\n multipletext: {\n root: \"sv-multipletext\",\n item: \"sv-multipletext__item\",\n itemLabel: \"sv-multipletext__item-label\",\n itemTitle: \"sv-multipletext__item-title\",\n row: \"sv-multipletext__row\",\n cell: \"sv-multipletext__cell\",\n },\n dropdown: {\n root: \"\",\n popup: \"sv-dropdown-popup\",\n small: \"sv-row__question--small\",\n control: \"sv-dropdown\",\n selectWrapper: \"\",\n other: \"sv-comment sv-question__other\",\n onError: \"sv-dropdown--error\",\n cleanButton: \"sv-dropdown_clean-button\",\n cleanButtonSvg: \"sv-dropdown_clean-button-svg\",\n cleanButtonIconId: \"icon-clear_16x16\",\n filterStringInput: \"sv-dropdown__filter-string-input\",\n controlValue: \"sv-dropdown__value\",\n controlInputFieldComponent: \"sv_dropdown_control__input-field-component\",\n hintPrefix: \"sv-dropdown__hint-prefix\",\n hintSuffix: \"sv-dropdown__hint-suffix\"\n },\n tagbox: {\n root: \"\",\n popup: \"sv-dropdown-popup\",\n small: \"sv-row__question--small\",\n selectWrapper: \"sv_select_wrapper sv-tagbox_wrapper\",\n other: \"sv-input sv-comment sv-selectbase__other\",\n cleanButton: \"sv-tagbox_clean-button sv-dropdown_clean-button\",\n cleanButtonSvg: \"sv-tagbox_clean-button-svg sv-dropdown_clean-button-svg\",\n cleanButtonIconId: \"icon-clear_16x16\",\n cleanItemButton: \"sv-tagbox__item_clean-button\",\n cleanItemButtonSvg: \"sv-tagbox__item_clean-button-svg\",\n cleanItemButtonIconId: \"icon-clear_16x16\",\n control: \"sv-input sv-tagbox sv-dropdown\",\n controlValue: \"sv-tagbox__value sv-dropdown__value\",\n controlEmpty: \"sv-dropdown--empty sv-tagbox--empty\",\n placeholderInput: \"sv-tagbox__placeholder\",\n filterStringInput: \"sv-tagbox__filter-string-input sv-dropdown__filter-string-input\"\n },\n imagepicker: {\n root: \"sv-selectbase sv-imagepicker\",\n column: \"sv-selectbase__column\",\n item: \"sv-imagepicker__item\",\n itemInline: \"sv-imagepicker__item--inline\",\n itemChecked: \"sv-imagepicker__item--checked\",\n itemDisabled: \"sv-imagepicker__item--disabled\",\n itemHover: \"sv-imagepicker__item--allowhover\",\n label: \"sv-imagepicker__label\",\n itemControl: \"sv-imagepicker__control sv-visuallyhidden\",\n image: \"sv-imagepicker__image\",\n itemText: \"sv-imagepicker__text\",\n clearButton: \"sv-btn\",\n other: \"sv-comment sv-question__other\",\n },\n matrix: {\n tableWrapper: \"sv-matrix\",\n root: \"sv-table sv-matrix-root\",\n rowError: \"sv-matrix__row--error\",\n cell: \"sv-table__cell sv-matrix__cell\",\n headerCell: \"sv-table__cell sv-table__cell--header\",\n label: \"sv-item sv-radio sv-matrix__label\",\n itemValue: \"sv-visuallyhidden sv-item__control sv-radio__control\",\n itemChecked: \"sv-radio--checked\",\n itemDisabled: \"sv-item--disabled sv-radio--disabled\",\n itemHover: \"sv-radio--allowhover\",\n materialDecorator: \"sv-item__decorator sv-radio__decorator\",\n itemDecorator: \"sv-item__svg sv-radio__svg\",\n cellText: \"sv-matrix__text\",\n cellTextSelected: \"sv-matrix__text--checked\",\n cellTextDisabled: \"sv-matrix__text--disabled\",\n cellResponsiveTitle: \"sv-hidden\",\n itemSvgIconId: \"#icon-modernradio\",\n },\n matrixdropdown: {\n root: \"sv-table sv-matrixdropdown\",\n cell: \"sv-table__cell\",\n headerCell: \"sv-table__cell sv-table__cell--header\",\n row: \"sv-table__row\",\n rowAdditional: \"sv-table__row--additional\",\n detailRow: \"sv-table__row--detail\",\n detailRowText: \"sv-table__cell--detail-rowtext\",\n detailCell: \"sv-table__cell--detail\",\n choiceCell: \"sv-table__cell--choice\",\n detailButton: \"sv-table__cell--detail-button\",\n detailButtonExpanded: \"sv-table__cell--detail-button--expanded\",\n detailIcon: \"sv-detail-panel__icon\",\n detailIconExpanded: \"sv-detail-panel__icon--expanded\",\n detailPanelCell: \"sv-table__cell--detail-panel\",\n actionsCell: \"sv-table__cell sv-table__cell--actions\",\n },\n matrixdynamic: {\n root: \"sv-table sv-matrixdynamic\",\n cell: \"sv-table__cell\",\n headerCell: \"sv-table__cell sv-table__cell--header\",\n button: \"sv-btn\",\n buttonAdd: \"sv-matrixdynamic__add-btn\",\n buttonRemove: \"sv-matrixdynamic__remove-btn\",\n iconAdd: \"\",\n iconRemove: \"\",\n iconDrag: \"sv-matrixdynamic__drag-icon\",\n row: \"sv-table__row\",\n detailRow: \"sv-table__row--detail\",\n detailCell: \"sv-table__cell--detail\",\n choiceCell: \"sv-table__cell--choice\",\n detailButton: \"sv-table__cell--detail-button\",\n detailButtonExpanded: \"sv-table__cell--detail-button--expanded\",\n detailIcon: \"sv-detail-panel__icon\",\n detailIconExpanded: \"sv-detail-panel__icon--expanded\",\n detailPanelCell: \"sv-table__cell--detail-panel\",\n actionsCell: \"sv-table__cell sv-table__cell--actions\",\n emptyRowsSection: \"sv-table__empty--rows--section\",\n emptyRowsText: \"sv-table__empty--rows--text\",\n emptyRowsButton: \"\",\n ghostRow: \"sv-matrix-row--drag-drop-ghost-mod\"\n },\n rating: {\n root: \"sv-rating\",\n item: \"sv-rating__item\",\n selected: \"sv-rating__item--selected\",\n minText: \"sv-rating__min-text\",\n itemText: \"sv-rating__item-text\",\n maxText: \"sv-rating__max-text\",\n itemDisabled: \"sv-rating--disabled\",\n filterStringInput: \"sv-dropdown__filter-string-input\",\n control: \"sv-dropdown\",\n cleanButton: \"sv-dropdown_clean-button\",\n cleanButtonSvg: \"sv-dropdown_clean-button-svg\",\n cleanButtonIconId: \"icon-clear_16x16\",\n controlValue: \"sv-dropdown__value\",\n controlInputFieldComponent: \"sv_dropdown_control__input-field-component\",\n itemSmiley: \"sv-rating__item-smiley\",\n itemStar: \"sv-rating__item-star\",\n itemSmileySelected: \"sv-rating__item-smiley--selected\",\n itemStarSelected: \"sv-rating__item-star--selected\"\n },\n comment: {\n root: \"sv-comment\",\n small: \"sv-row__question--small\",\n remainingCharacterCounter: \"sv-remaining-character-counter\",\n },\n expression: \"\",\n file: {\n root: \"sv-file\",\n other: \"sv-comment sv-question__other\",\n placeholderInput: \"sv-visuallyhidden\",\n preview: \"sv-file__preview\",\n fileSignBottom: \"sv-file__sign\",\n fileDecorator: \"sv-file__decorator\",\n fileInput: \"sv-visuallyhidden\",\n noFileChosen: \"sv-description sv-file__no-file-chosen\",\n chooseFile: \"sv-btn sv-file__choose-btn\",\n controlDisabled: \"sv-file__choose-btn--disabled\",\n removeButton: \"sv-hidden\",\n removeButtonBottom: \"sv-btn sv-file__clean-btn\",\n removeFile: \"sv-hidden\",\n removeFileSvg: \"sv-file__remove-svg\",\n removeFileSvgIconId: \"icon-removefile\",\n wrapper: \"sv-file__wrapper\",\n dragAreaPlaceholder: \"sv-hidden\",\n fileList: \"\",\n },\n signaturepad: {\n root: \"sv-signaturepad sjs_sp_container\",\n small: \"sv-row__question--small\",\n controls: \"sjs_sp_controls\",\n placeholder: \"sjs_sp_placeholder\",\n canvas: \"sjs_sp_canvas\",\n backgroundImage: \"sjs_sp__background-image\",\n clearButton: \"sjs_sp_clear\",\n },\n saveData: {\n root: \"sv-save-data_root\",\n rootWithButtons: \"sv-save-data_root--with-buttons\",\n info: \"sv-save-data_info\",\n error: \"sv-save-data_error\",\n success: \"sv-save-data_success\",\n button: \"sv-save-data_button\",\n shown: \"sv-save-data_root--shown\"\n },\n window: {\n root: \"sv_window\",\n body: \"sv_window_content\",\n header: {\n root: \"sv_window_title\",\n title: \"\",\n button: \"\",\n buttonExpanded: \"\",\n buttonCollapsed: \"\",\n },\n },\n variables: {\n mobileWidth: \"--sv-mobile-width\",\n themeMark: \"--sv-modern-mark\"\n }\n};\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"modern\"] = modernCss;\n\n\n/***/ }),\n\n/***/ \"./src/defaultCss/cssstandard.ts\":\n/*!***************************************!*\\\n !*** ./src/defaultCss/cssstandard.ts ***!\n \\***************************************/\n/*! exports provided: defaultStandardCss */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultStandardCss\", function() { return defaultStandardCss; });\n/* harmony import */ var _defaultV2Css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaultV2Css */ \"./src/defaultCss/defaultV2Css.ts\");\n\nvar defaultStandardCss = {\n root: \"sv_main sv_default_css\",\n container: \"sv_container\",\n header: \"sv_header\",\n bodyContainer: \"sv-components-row\",\n body: \"sv_body\",\n bodyEmpty: \"sv_body sv_body_empty\",\n footer: \"sv_nav\",\n title: \"\",\n description: \"\",\n logo: \"sv_logo\",\n logoImage: \"sv_logo__image\",\n headerText: \"sv_header__text\",\n navigationButton: \"sv_nav_btn\",\n completedPage: \"sv_completed_page\",\n navigation: {\n complete: \"sv_complete_btn\",\n prev: \"sv_prev_btn\",\n next: \"sv_next_btn\",\n start: \"sv_start_btn\",\n preview: \"sv_preview_btn\",\n edit: \"sv_edit_btn\",\n },\n progress: \"sv_progress\",\n progressBar: \"sv_progress_bar\",\n progressTextInBar: \"sv-hidden\",\n progressButtonsContainerCenter: \"sv_progress-buttons__container-center\",\n progressButtonsContainer: \"sv_progress-buttons__container\",\n progressButtonsImageButtonLeft: \"sv_progress-buttons__image-button-left\",\n progressButtonsImageButtonRight: \"sv_progress-buttons__image-button-right\",\n progressButtonsImageButtonHidden: \"sv_progress-buttons__image-button--hidden\",\n progressButtonsListContainer: \"sv_progress-buttons__list-container\",\n progressButtonsList: \"sv_progress-buttons__list\",\n progressButtonsListElementPassed: \"sv_progress-buttons__list-element--passed\",\n progressButtonsListElementCurrent: \"sv_progress-buttons__list-element--current\",\n progressButtonsListElementNonClickable: \"sv_progress-buttons__list-element--nonclickable\",\n progressButtonsPageTitle: \"sv_progress-buttons__page-title\",\n progressButtonsPageDescription: \"sv_progress-buttons__page-description\",\n page: {\n root: \"sv_p_root\",\n title: \"sv_page_title\",\n description: \"\",\n },\n // TODO: move to the page object\n pageTitle: \"sv_page_title\",\n pageDescription: \"\",\n row: \"sv_row\",\n question: {\n mainRoot: \"sv_q sv_qstn\",\n flowRoot: \"sv_q_flow sv_qstn\",\n header: \"\",\n headerLeft: \"title-left\",\n content: \"\",\n contentLeft: \"content-left\",\n titleLeftRoot: \"sv_qstn_left\",\n requiredText: \"sv_q_required_text\",\n title: \"sv_q_title\",\n titleExpandable: \"sv_q_title_expandable\",\n titleExpanded: \"sv_q_title_expanded\",\n titleCollapsed: \"sv_q_title_collapsed\",\n number: \"sv_q_num\",\n description: \"sv_q_description\",\n comment: \"\",\n required: \"\",\n titleRequired: \"\",\n hasError: \"\",\n indent: 20,\n footer: \"sv_q_footer\",\n formGroup: \"form-group\",\n asCell: \"sv_matrix_cell\",\n icon: \"sv_question_icon\",\n iconExpanded: \"sv_expanded\",\n disabled: \"sv_q--disabled\",\n },\n panel: {\n title: \"sv_p_title\",\n titleExpandable: \"sv_p_title_expandable\",\n titleExpanded: \"sv_p_title_expanded\",\n titleCollapsed: \"sv_p_title_collapsed\",\n titleOnError: \"\",\n icon: \"sv_panel_icon\",\n iconExpanded: \"sv_expanded\",\n description: \"sv_p_description\",\n container: \"sv_p_container\",\n footer: \"sv_p_footer\",\n number: \"sv_q_num\",\n requiredText: \"sv_q_required_text\",\n },\n error: {\n root: \"sv_q_erbox\",\n icon: \"\",\n item: \"\",\n locationTop: \"sv_qstn_error_top\",\n locationBottom: \"sv_qstn_error_bottom\",\n },\n boolean: {\n root: \"sv_qcbc sv_qbln\",\n rootRadio: \"sv_qcbc sv_qbln\",\n item: \"sv-boolean\",\n control: \"sv-visuallyhidden\",\n itemChecked: \"sv-boolean--checked checked\",\n itemIndeterminate: \"sv-boolean--indeterminate\",\n itemDisabled: \"sv-boolean--disabled\",\n switch: \"sv-boolean__switch\",\n slider: \"sv-boolean__slider\",\n label: \"sv-boolean__label \",\n disabledLabel: \"sv-boolean__label--disabled\",\n sliderGhost: \"sv-boolean__thumb-ghost\",\n //checkbox\n rootCheckbox: \"sv_qcbc sv_qbln\",\n checkboxItem: \"sv-boolean\",\n checkboxItemChecked: \"sv-boolean--checked\",\n controlCheckbox: \"sv-visuallyvisible\",\n checkboxControlLabel: \"sv-boolean__label\",\n checkboxItemIndeterminate: \"sv-boolean--indeterminate\",\n checkboxItemDisabled: \"sv-item--disabled sv-boolean--disabled\",\n checkboxMaterialDecorator: \"sv-item__decorator sv-boolean__decorator\",\n checkboxItemDecorator: \"sv-item__svg sv-boolean__svg\",\n },\n checkbox: {\n root: \"sv_qcbc sv_qcbx\",\n item: \"sv_q_checkbox\",\n itemSelectAll: \"sv_q_checkbox_selectall\",\n itemNone: \"sv_q_checkbox_none\",\n itemChecked: \"checked\",\n itemInline: \"sv_q_checkbox_inline\",\n label: \"sv_q_checkbox_label\",\n labelChecked: \"\",\n itemControl: \"sv_q_checkbox_control_item\",\n itemDecorator: \"sv-hidden\",\n controlLabel: \"sv_q_checkbox_control_label\",\n other: \"sv_q_other sv_q_checkbox_other\",\n column: \"sv_q_select_column\",\n },\n ranking: {\n root: \"sv-ranking\",\n rootMobileMod: \"sv-ranking--mobile\",\n rootDragMod: \"sv-ranking--drag\",\n rootDisabled: \"sv-ranking--disabled\",\n rootDragHandleAreaIcon: \"sv-ranking--drag-handle-area-icon\",\n rootSelectToRankMod: \"sv-ranking--select-to-rank\",\n rootSelectToRankAlignVertical: \"sv-ranking--select-to-rank-vertical\",\n rootSelectToRankAlignHorizontal: \"sv-ranking--select-to-rank-horizontal\",\n item: \"sv-ranking-item\",\n itemContent: \"sv-ranking-item__content\",\n itemIndex: \"sv-ranking-item__index\",\n itemIndexEmptyMode: \"sv-ranking-item__index--empty\",\n // itemText: \"sv-ranking-item__text\",\n controlLabel: \"sv-ranking-item__text\",\n itemGhostNode: \"sv-ranking-item__ghost\",\n itemIconContainer: \"sv-ranking-item__icon-container\",\n itemIcon: \"sv-ranking-item__icon\",\n itemIconHoverMod: \"sv-ranking-item__icon--hover\",\n itemIconFocusMod: \"sv-ranking-item__icon--focus\",\n itemGhostMod: \"sv-ranking-item--ghost\",\n itemDragMod: \"sv-ranking-item--drag\",\n container: \"sv-ranking__container\",\n containerEmptyMode: \"sv-ranking__container--empty\",\n containerFromMode: \"sv-ranking__container--from\",\n containerToMode: \"sv-ranking__container--to\",\n containerPlaceholder: \"sv-ranking__container-placeholder\",\n containersDivider: \"sv-ranking__containers-divider\",\n },\n comment: {\n remainingCharacterCounter: \"sv-remaining-character-counter\",\n },\n dropdown: {\n root: \"\",\n popup: \"sv-dropdown-popup\",\n control: \"sv_q_dropdown_control\",\n controlInputFieldComponent: \"sv_q_dropdown_control__input-field-component\",\n selectWrapper: \"sv_select_wrapper\",\n other: \"sv_q_dd_other\",\n cleanButton: \"sv_q_dropdown_clean-button\",\n cleanButtonSvg: \"sv_q_dropdown_clean-button-svg\",\n cleanButtonIconId: \"icon-clear_16x16\",\n controlValue: \"sv_q_dropdown__value\",\n filterStringInput: \"sv_q_dropdown__filter-string-input\",\n hintPrefix: \"sv_q_dropdown__hint-prefix\",\n hintSuffix: \"sv_q_dropdown__hint-suffix\"\n },\n html: { root: \"\" },\n image: {\n root: \"sv_q_image\",\n image: \"sv_image_image\",\n noImage: \"sv-image__no-image\",\n noImageSvgIconId: \"icon-no-image\",\n },\n matrix: {\n root: \"sv_q_matrix\",\n label: \"sv_q_m_label\",\n itemChecked: \"checked\",\n itemDecorator: \"sv-hidden\",\n cell: \"sv_q_m_cell\",\n cellText: \"sv_q_m_cell_text\",\n cellTextSelected: \"sv_q_m_cell_selected\",\n cellLabel: \"sv_q_m_cell_label\",\n cellResponsiveTitle: \"sv-hidden\"\n },\n matrixdropdown: {\n root: \"sv_q_matrix_dropdown\",\n cell: \"sv_matrix_cell\",\n headerCell: \"sv_matrix_cell_header\",\n row: \"sv_matrix_row\",\n rowAdditional: \"sv-matrix__row--additional\",\n detailRow: \"sv_matrix_detail_row\",\n detailRowText: \"sv_matrix_cell_detail_rowtext\",\n detailCell: \"sv_matrix_cell_detail\",\n choiceCell: \"sv-table__cell--choice\",\n detailButton: \"sv_matrix_cell_detail_button\",\n detailButtonExpanded: \"sv_matrix_cell_detail_button_expanded\",\n detailIcon: \"sv_detail_panel_icon\",\n detailIconExpanded: \"sv_detail_expanded\",\n detailPanelCell: \"sv_matrix_cell_detail_panel\",\n actionsCell: \"sv_matrix_cell sv_matrix_cell_actions\",\n },\n matrixdynamic: {\n root: \"sv_q_matrix_dynamic\",\n button: \"sv_matrix_dynamic_button\",\n buttonAdd: \"\",\n buttonRemove: \"\",\n iconAdd: \"\",\n iconRemove: \"\",\n iconDrag: \"sv-matrixdynamic__drag-icon\",\n cell: \"sv_matrix_cell\",\n headerCell: \"sv_matrix_cell_header\",\n row: \"sv_matrix_row\",\n detailRow: \"sv_matrix_detail_row\",\n detailCell: \"sv_matrix_cell_detail\",\n choiceCell: \"sv-table__cell--choice\",\n detailButton: \"sv_matrix_cell_detail_button\",\n detailButtonExpanded: \"sv_matrix_cell_detail_button_expanded\",\n detailIcon: \"sv_detail_panel_icon\",\n detailIconExpanded: \"sv_detail_expanded\",\n detailPanelCell: \"sv_matrix_cell_detail_panel\",\n actionsCell: \"sv_matrix_cell sv_matrix_cell_actions\",\n emptyRowsSection: \"sv_matrix_empty_rows_section\",\n emptyRowsText: \"sv_matrix_empty_rows_text\",\n emptyRowsButton: \"\",\n ghostRow: \"sv-matrix-row--drag-drop-ghost-mod\"\n },\n paneldynamic: {\n root: \"sv_panel_dynamic\",\n title: \"sv_p_title\",\n header: \"sv-paneldynamic__header sv_header\",\n headerTab: \"sv-paneldynamic__header-tab\",\n button: \"\",\n buttonAdd: \"sv-paneldynamic__add-btn\",\n buttonRemove: \"sv_p_remove_btn\",\n buttonRemoveRight: \"sv_p_remove_btn_right\",\n buttonPrev: \"sv-paneldynamic__prev-btn\",\n buttonPrevDisabled: \"sv-paneldynamic__prev-btn--disabled\",\n buttonNextDisabled: \"sv-paneldynamic__next-btn--disabled\",\n buttonNext: \"sv-paneldynamic__next-btn\",\n progressContainer: \"sv-paneldynamic__progress-container\",\n progress: \"sv-progress\",\n progressBar: \"sv-progress__bar\",\n progressText: \"sv-paneldynamic__progress-text\",\n panelWrapper: \"sv_p_wrapper\",\n panelWrapperInRow: \"sv_p_wrapper_in_row\",\n footer: \"\",\n progressBtnIcon: \"icon-progressbutton\"\n },\n multipletext: {\n root: \"sv_q_mt\",\n itemTitle: \"sv_q_mt_title\",\n item: \"sv_q_mt_item\",\n row: \"sv_q_mt_row\",\n itemLabel: \"sv_q_mt_label\",\n itemValue: \"sv_q_mt_item_value sv_q_text_root\",\n },\n radiogroup: {\n root: \"sv_qcbc\",\n item: \"sv_q_radiogroup\",\n itemChecked: \"checked\",\n itemInline: \"sv_q_radiogroup_inline\",\n itemDecorator: \"sv-hidden\",\n label: \"sv_q_radiogroup_label\",\n labelChecked: \"\",\n itemControl: \"sv_q_radiogroup_control_item\",\n controlLabel: \"\",\n other: \"sv_q_other sv_q_radiogroup_other\",\n clearButton: \"sv_q_radiogroup_clear\",\n column: \"sv_q_select_column\",\n },\n buttongroup: {\n root: \"sv-button-group\",\n item: \"sv-button-group__item\",\n itemIcon: \"sv-button-group__item-icon\",\n itemDecorator: \"sv-button-group__item-decorator\",\n itemCaption: \"sv-button-group__item-caption\",\n itemHover: \"sv-button-group__item--hover\",\n itemSelected: \"sv-button-group__item--selected\",\n itemDisabled: \"sv-button-group__item--disabled\",\n itemControl: \"sv-visuallyhidden\",\n },\n imagepicker: {\n root: \"sv_imgsel\",\n item: \"sv_q_imgsel\",\n itemChecked: \"checked\",\n label: \"sv_q_imgsel_label\",\n itemControl: \"sv_q_imgsel_control_item\",\n image: \"sv_q_imgsel_image\",\n itemInline: \"sv_q_imagepicker_inline\",\n itemText: \"sv_q_imgsel_text\",\n clearButton: \"sv_q_radiogroup_clear\",\n column: \"sv_q_select_column\",\n itemNoImage: \"sv_q_imgsel__no-image\",\n itemNoImageSvgIcon: \"sv_q_imgsel__no-image-svg\",\n itemNoImageSvgIconId: \"icon-no-image\",\n },\n rating: {\n root: \"sv_q_rating\",\n item: \"sv_q_rating_item\",\n itemFixedSize: \"sv_q_rating_item_fixed\",\n selected: \"active\",\n minText: \"sv_q_rating_min_text\",\n itemText: \"sv_q_rating_item_text\",\n maxText: \"sv_q_rating_max_text\",\n itemStar: \"sv_q_rating__item-star\",\n itemStarSelected: \"sv_q_rating__item-star--selected\",\n itemSmiley: \"sv_q_rating__item-smiley\",\n itemSmileySelected: \"sv_q_rating__item-smiley--selected\",\n },\n text: {\n root: \"sv_q_text_root\",\n remainingCharacterCounter: \"sv-remaining-character-counter\",\n },\n expression: \"\",\n file: {\n root: \"sv_q_file\",\n placeholderInput: \"sv-visuallyhidden\",\n preview: \"sv_q_file_preview\",\n removeButton: \"sv_q_file_remove_button\",\n fileInput: \"sv-visuallyhidden\",\n removeFile: \"sv_q_file_remove\",\n fileDecorator: \"sv-file__decorator\",\n fileSign: \"sv_q_file_sign\",\n chooseFile: \"sv_q_file_choose_button\",\n noFileChosen: \"sv_q_file_placeholder\",\n dragAreaPlaceholder: \"sv-hidden\",\n fileList: \"\",\n },\n signaturepad: {\n root: \"sv_q_signaturepad sjs_sp_container\",\n controls: \"sjs_sp_controls\",\n placeholder: \"sjs_sp_placeholder\",\n canvas: \"sjs_sp_canvas\",\n backgroundImage: \"sjs_sp__background-image\",\n clearButton: \"sjs_sp_clear\",\n },\n saveData: {\n root: \"sv-save-data_root\",\n rootWithButtons: \"sv-save-data_root--with-buttons\",\n info: \"sv-save-data_info\",\n error: \"sv-save-data_error\",\n success: \"sv-save-data_success\",\n button: \"sv-save-data_button\",\n shown: \"sv-save-data_root--shown\"\n },\n window: {\n root: \"sv_window\",\n body: \"sv_window_content\",\n header: {\n root: \"sv_window_title\",\n title: \"\",\n button: \"\",\n buttonExpanded: \"\",\n buttonCollapsed: \"\",\n },\n },\n variables: {\n mobileWidth: \"--sv-mobile-width\",\n themeMark: \"--sv-default-mark\"\n },\n tagbox: {\n root: \"\",\n popup: \"sv-dropdown-popup\",\n small: \"sv_q_row__question--small\",\n selectWrapper: \"sv_select_wrapper sv_q_tagbox_wrapper\",\n other: \"sv_q_input sv_q_comment sv_q_selectbase__other\",\n cleanButton: \"sv_q_tagbox_clean-button sv_q_dropdown_clean-button\",\n cleanButtonSvg: \"sv_q_tagbox_clean-button-svg sv_q_dropdown_clean-button-svg\",\n cleanButtonIconId: \"icon-clear_16x16\",\n cleanItemButton: \"sv_q_tagbox-item_clean-button\",\n cleanItemButtonSvg: \"sv_q_tagbox-item_clean-button-svg\",\n cleanItemButtonIconId: \"icon-clear_16x16\",\n control: \"sv_q_input sv_q_tagbox sv_q_dropdown_control\",\n controlValue: \"sv_q_tagbox__value sv_q_dropdown__value\",\n controlEmpty: \"sv_q_dropdown--empty sv_q_tagbox--empty\",\n placeholderInput: \"sv_q_tagbox__placeholder\",\n filterStringInput: \"sv_q_tagbox__filter-string-input sv_q_dropdown__filter-string-input\",\n hint: \"sv_q_tagbox__hint\",\n hintPrefix: \"sv_q_dropdown__hint-prefix sv_q_tagbox__hint-prefix\",\n hintSuffix: \"sv_q_dropdown__hint-suffix sv_q_tagbox__hint-suffix\",\n hintSuffixWrapper: \"sv_q_tagbox__hint-suffix-wrapper\"\n },\n};\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"default\"] = defaultStandardCss;\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"orange\"] = defaultStandardCss;\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"darkblue\"] = defaultStandardCss;\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"darkrose\"] = defaultStandardCss;\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"stone\"] = defaultStandardCss;\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"winter\"] = defaultStandardCss;\n_defaultV2Css__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"][\"winterstone\"] = defaultStandardCss;\n\n\n/***/ }),\n\n/***/ \"./src/defaultCss/defaultV2Css.ts\":\n/*!****************************************!*\\\n !*** ./src/defaultCss/defaultV2Css.ts ***!\n \\****************************************/\n/*! exports provided: surveyCss, defaultV2Css, defaultV2ThemeName */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"surveyCss\", function() { return surveyCss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultV2Css\", function() { return defaultV2Css; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultV2ThemeName\", function() { return defaultV2ThemeName; });\nvar surveyCss = {\n currentType: \"\",\n getCss: function () {\n var loc = this.currentType ? this[this.currentType] : defaultV2Css;\n if (!loc)\n loc = defaultV2Css;\n return loc;\n },\n getAvailableThemes: function () {\n return Object.keys(this).filter(function (propertyName) { return [\"currentType\", \"getCss\", \"getAvailableThemes\"].indexOf(propertyName) === -1; });\n }\n};\nvar defaultV2Css = {\n root: \"sd-root-modern\",\n rootMobile: \"sd-root-modern--mobile\",\n rootReadOnly: \"sd-root--readonly\",\n rootCompact: \"sd-root--compact\",\n rootFitToContainer: \"sd-root-modern--full-container\",\n rootWrapper: \"sd-root-modern__wrapper\",\n rootWrapperFixed: \"sd-root-modern__wrapper--fixed\",\n rootBackgroundImage: \"sd-root_background-image\",\n container: \"sd-container-modern\",\n header: \"sd-title sd-container-modern__title\",\n bodyContainer: \"sv-components-row\",\n body: \"sd-body\",\n bodyWithTimer: \"sd-body--with-timer\",\n clockTimerRoot: \"sd-timer\",\n clockTimerRootTop: \"sd-timer--top\",\n clockTimerRootBottom: \"sd-timer--bottom\",\n clockTimerProgress: \"sd-timer__progress\",\n clockTimerProgressAnimation: \"sd-timer__progress--animation\",\n clockTimerTextContainer: \"sd-timer__text-container\",\n clockTimerMinorText: \"sd-timer__text--minor\",\n clockTimerMajorText: \"sd-timer__text--major\",\n bodyEmpty: \"sd-body sd-body--empty\",\n bodyLoading: \"sd-body--loading\",\n footer: \"sd-footer sd-body__navigation sd-clearfix\",\n title: \"sd-title\",\n description: \"sd-description\",\n logo: \"sd-logo\",\n logoImage: \"sd-logo__image\",\n headerText: \"sd-header__text\",\n headerClose: \"sd-hidden\",\n navigationButton: \"\",\n bodyNavigationButton: \"sd-btn\",\n completedPage: \"sd-completedpage\",\n completedBeforePage: \"sd-completed-before-page\",\n timerRoot: \"sd-body__timer\",\n navigation: {\n complete: \"sd-btn--action sd-navigation__complete-btn\",\n prev: \"sd-navigation__prev-btn\",\n next: \"sd-navigation__next-btn\",\n start: \"sd-navigation__start-btn\",\n preview: \"sd-navigation__preview-btn\",\n edit: \"\",\n },\n panel: {\n asPage: \"sd-panel--as-page\",\n number: \"sd-element__num\",\n title: \"sd-title sd-element__title sd-panel__title\",\n titleExpandable: \"sd-element__title--expandable\",\n titleNumInline: \"sd-element__title--num-inline\",\n titleExpanded: \"sd-element__title--expanded\",\n titleCollapsed: \"sd-element__title--collapsed\",\n titleDisabled: \"sd-element__title--disabled\",\n titleOnExpand: \"sd-panel__title--expanded\",\n titleOnError: \"sd-panel__title--error\",\n titleBar: \"sd-action-title-bar\",\n description: \"sd-description sd-panel__description\",\n container: \"sd-element sd-element--complex sd-panel sd-row__panel\",\n withFrame: \"sd-element--with-frame\",\n content: \"sd-panel__content\",\n icon: \"sd-panel__icon\",\n iconExpanded: \"sd-panel__icon--expanded\",\n footer: \"sd-panel__footer\",\n requiredText: \"sd-panel__required-text\",\n header: \"sd-panel__header sd-element__header sd-element__header--location-top\",\n collapsed: \"sd-element--collapsed\",\n expanded: \"sd-element--expanded\",\n nested: \"sd-element--nested sd-element--nested-with-borders\",\n invisible: \"sd-element--invisible\",\n navigationButton: \"\",\n compact: \"sd-element--with-frame sd-element--compact\",\n errorsContainer: \"sd-panel__errbox sd-element__erbox sd-element__erbox--above-element\"\n },\n paneldynamic: {\n mainRoot: \"sd-element sd-question sd-question--paneldynamic sd-element--complex sd-question--complex sd-row__question\",\n empty: \"sd-question--empty\",\n root: \"sd-paneldynamic\",\n iconRemove: \"sd-hidden\",\n navigation: \"sd-paneldynamic__navigation\",\n title: \"sd-title sd-element__title sd-question__title\",\n header: \"sd-paneldynamic__header sd-element__header\",\n headerTab: \"sd-paneldynamic__header-tab\",\n button: \"sd-action sd-paneldynamic__btn\",\n buttonRemove: \"sd-action--negative sd-paneldynamic__remove-btn\",\n buttonAdd: \"sd-paneldynamic__add-btn\",\n buttonPrev: \"sd-paneldynamic__prev-btn sd-action--icon sd-action\",\n buttonPrevDisabled: \"sd-action--disabled\",\n buttonNextDisabled: \"sd-action--disabled\",\n buttonNext: \"sd-paneldynamic__next-btn sd-action--icon sd-action\",\n progressContainer: \"sd-paneldynamic__progress-container\",\n progress: \"sd-progress\",\n progressBar: \"sd-progress__bar\",\n nested: \"sd-element--nested sd-element--nested-with-borders\",\n progressText: \"sd-paneldynamic__progress-text\",\n separator: \"sd-paneldynamic__separator\",\n panelWrapper: \"sd-paneldynamic__panel-wrapper\",\n footer: \"sd-paneldynamic__footer\",\n panelFooter: \"sd-paneldynamic__panel-footer\",\n footerButtonsContainer: \"sd-paneldynamic__buttons-container\",\n panelWrapperInRow: \"sd-paneldynamic__panel-wrapper--in-row\",\n progressBtnIcon: \"icon-progressbuttonv2\",\n noEntriesPlaceholder: \"sd-paneldynamic__placeholder sd-question__placeholder\",\n compact: \"sd-element--with-frame sd-element--compact\",\n tabsRoot: \"sd-tabs-toolbar\",\n tabsLeft: \"sd-tabs-toolbar--left\",\n tabsRight: \"sd-tabs-toolbar--right\",\n tabsCenter: \"sd-tabs-toolbar--center\",\n tabs: {\n item: \"sd-tab-item\",\n itemPressed: \"sd-tab-item--pressed\",\n itemAsIcon: \"sd-tab-item--icon\",\n itemIcon: \"sd-tab-item__icon\",\n itemTitle: \"sd-tab-item__title\"\n }\n },\n progress: \"sd-progress sd-body__progress\",\n progressTop: \"sd-body__progress--top\",\n progressBottom: \"sd-body__progress--bottom\",\n progressBar: \"sd-progress__bar\",\n progressText: \"sd-progress__text\",\n progressButtonsContainerCenter: \"sd-progress-buttons__container-center\",\n progressButtonsContainer: \"sd-progress-buttons__container\",\n progressButtonsImageButtonLeft: \"sd-progress-buttons__image-button-left\",\n progressButtonsImageButtonRight: \"sd-progress-buttons__image-button-right\",\n progressButtonsImageButtonHidden: \"sd-progress-buttons__image-button--hidden\",\n progressButtonsListContainer: \"sd-progress-buttons__list-container\",\n progressButtonsList: \"sd-progress-buttons__list\",\n progressButtonsListElementPassed: \"sd-progress-buttons__list-element--passed\",\n progressButtonsListElementCurrent: \"sd-progress-buttons__list-element--current\",\n progressButtonsListElementNonClickable: \"sd-progress-buttons__list-element--nonclickable\",\n progressButtonsPageTitle: \"sd-progress-buttons__page-title\",\n progressButtonsPageDescription: \"sd-progress-buttons__page-description\",\n progressTextInBar: \"sd-hidden\",\n page: {\n root: \"sd-page sd-body__page\",\n emptyHeaderRoot: \"sd-page__empty-header\",\n title: \"sd-title sd-page__title\",\n description: \"sd-description sd-page__description\",\n errorsContainer: \"sd-page__errbox\"\n },\n pageTitle: \"sd-title sd-page__title\",\n pageDescription: \"sd-description sd-page__description\",\n row: \"sd-row sd-clearfix\",\n rowMultiple: \"sd-row--multiple\",\n rowCompact: \"sd-row--compact\",\n pageRow: \"sd-page__row\",\n question: {\n mainRoot: \"sd-element sd-question sd-row__question\",\n flowRoot: \"sd-element sd-question sd-row__question sd-row__question--flow\",\n withFrame: \"sd-element--with-frame\",\n asCell: \"sd-table__cell\",\n answered: \"sd-question--answered\",\n header: \"sd-question__header sd-element__header\",\n headerLeft: \"sd-question__header--location--left\",\n headerTop: \"sd-question__header--location-top sd-element__header--location-top\",\n headerBottom: \"sd-question__header--location--bottom\",\n content: \"sd-question__content\",\n contentLeft: \"sd-question__content--left\",\n titleNumInline: \"sd-element__title--num-inline\",\n titleLeftRoot: \"sd-question--left\",\n titleTopRoot: \"sd-question--title-top\",\n descriptionUnderInputRoot: \"sd-question--description-under-input\",\n titleBottomRoot: \"sd-question--title-bottom\",\n titleOnAnswer: \"sd-question__title--answer\",\n titleEmpty: \"sd-question__title--empty\",\n titleOnError: \"sd-question__title--error\",\n title: \"sd-title sd-element__title sd-question__title\",\n titleExpandable: \"sd-element__title--expandable\",\n titleExpanded: \"sd-element__title--expanded\",\n titleCollapsed: \"sd-element__title--collapsed\",\n titleDisabled: \"sd-element__title--disabled\",\n titleBar: \"sd-action-title-bar\",\n requiredText: \"sd-question__required-text\",\n number: \"sd-element__num\",\n description: \"sd-description sd-question__description\",\n descriptionUnderInput: \"sd-description sd-question__description sd-question__description--under-input\",\n comment: \"sd-input sd-comment\",\n other: \"sd-input sd-comment\",\n required: \"sd-question--required\",\n titleRequired: \"sd-question__title--required\",\n indent: 20,\n footer: \"sd-question__footer\",\n commentArea: \"sd-question__comment-area\",\n formGroup: \"sd-question__form-group\",\n hasError: \"sd-question--error\",\n hasErrorTop: \"sd-question--error-top\",\n hasErrorBottom: \"sd-question--error-bottom\",\n collapsed: \"sd-element--collapsed\",\n expanded: \"sd-element--expanded\",\n nested: \"sd-element--nested\",\n invisible: \"sd-element--invisible\",\n composite: \"sd-element--complex\",\n disabled: \"sd-question--disabled\",\n errorsContainer: \"sd-element__erbox sd-question__erbox\",\n errorsContainerTop: \"sd-element__erbox--above-element sd-question__erbox--above-question\",\n errorsContainerBottom: \"sd-question__erbox--below-question\"\n },\n image: {\n mainRoot: \"sd-question sd-question--image\",\n root: \"sd-image\",\n image: \"sd-image__image\",\n adaptive: \"sd-image__image--adaptive\",\n noImage: \"sd-image__no-image\",\n noImageSvgIconId: \"icon-no-image\",\n withFrame: \"\"\n },\n html: {\n mainRoot: \"sd-question sd-row__question sd-question--html\",\n root: \"sd-html\",\n withFrame: \"\"\n },\n error: {\n root: \"sd-error\",\n icon: \"\",\n item: \"\",\n locationTop: \"\",\n locationBottom: \"\"\n },\n checkbox: {\n root: \"sd-selectbase\",\n rootMobile: \"sd-selectbase--mobile\",\n rootRow: \"sd-selectbase--row\",\n rootMultiColumn: \"sd-selectbase--multi-column\",\n item: \"sd-item sd-checkbox sd-selectbase__item\",\n itemOnError: \"sd-item--error\",\n itemSelectAll: \"sd-checkbox--selectall\",\n itemNone: \"sd-checkbox--none\",\n itemDisabled: \"sd-item--disabled sd-checkbox--disabled\",\n itemChecked: \"sd-item--checked sd-checkbox--checked\",\n itemHover: \"sd-item--allowhover sd-checkbox--allowhover\",\n itemInline: \"sd-selectbase__item--inline\",\n label: \"sd-selectbase__label\",\n labelChecked: \"\",\n itemControl: \"sd-visuallyhidden sd-item__control sd-checkbox__control\",\n itemDecorator: \"sd-item__svg sd-checkbox__svg\",\n itemSvgIconId: \"#icon-v2check\",\n controlLabel: \"sd-item__control-label\",\n materialDecorator: \"sd-item__decorator sd-checkbox__decorator\",\n other: \"sd-input sd-comment sd-selectbase__other\",\n column: \"sd-selectbase__column\",\n },\n radiogroup: {\n root: \"sd-selectbase\",\n rootMobile: \"sd-selectbase--mobile\",\n rootRow: \"sd-selectbase--row\",\n rootMultiColumn: \"sd-selectbase--multi-column\",\n item: \"sd-item sd-radio sd-selectbase__item\",\n itemOnError: \"sd-item--error\",\n itemInline: \"sd-selectbase__item--inline\",\n label: \"sd-selectbase__label\",\n labelChecked: \"\",\n itemDisabled: \"sd-item--disabled sd-radio--disabled\",\n itemChecked: \"sd-item--checked sd-radio--checked\",\n itemHover: \"sd-item--allowhover sd-radio--allowhover\",\n itemControl: \"sd-visuallyhidden sd-item__control sd-radio__control\",\n itemDecorator: \"sd-item__svg sd-radio__svg\",\n controlLabel: \"sd-item__control-label\",\n materialDecorator: \"sd-item__decorator sd-radio__decorator\",\n other: \"sd-input sd-comment sd-selectbase__other\",\n clearButton: \"\",\n column: \"sd-selectbase__column\"\n },\n boolean: {\n mainRoot: \"sd-element sd-question sd-row__question sd-question--boolean\",\n root: \"sv_qcbc sv_qbln sd-scrollable-container sd-boolean-root\",\n rootRadio: \"sv_qcbc sv_qbln sd-scrollable-container sd-scrollable-container--compact\",\n item: \"sd-boolean\",\n itemOnError: \"sd-boolean--error\",\n control: \"sd-boolean__control sd-visuallyhidden\",\n itemChecked: \"sd-boolean--checked\",\n itemIndeterminate: \"sd-boolean--indeterminate\",\n itemDisabled: \"sd-boolean--disabled\",\n itemHover: \"sd-boolean--allowhover\",\n label: \"sd-boolean__label\",\n labelTrue: \"sd-boolean__label--true\",\n labelFalse: \"sd-boolean__label--false\",\n switch: \"sd-boolean__switch\",\n disabledLabel: \"sd-checkbox__label--disabled\",\n sliderText: \"sd-boolean__thumb-text\",\n slider: \"sd-boolean__thumb\",\n sliderGhost: \"sd-boolean__thumb-ghost\",\n //radio\n radioItem: \"sd-item\",\n radioItemChecked: \"sd-item--checked sd-radio--checked\",\n radioLabel: \"sd-selectbase__label\",\n radioControlLabel: \"sd-item__control-label\",\n radioFieldset: \"sd-selectbase\",\n itemRadioDecorator: \"sd-item__svg sd-radio__svg\",\n materialRadioDecorator: \"sd-item__decorator sd-radio__decorator\",\n itemRadioControl: \"sd-visuallyhidden sd-item__control sd-radio__control\",\n //end radio\n //checkbox\n rootCheckbox: \"sd-selectbase\",\n checkboxItem: \"sd-item sd-selectbase__item sd-checkbox\",\n checkboxLabel: \"sd-selectbase__label\",\n checkboxItemOnError: \"sd-item--error\",\n checkboxItemIndeterminate: \"sd-checkbox--intermediate\",\n checkboxItemChecked: \"sd-item--checked sd-checkbox--checked\",\n checkboxItemDecorator: \"sd-item__svg sd-checkbox__svg\",\n checkboxItemDisabled: \"sd-item--disabled sd-checkbox--disabled\",\n controlCheckbox: \"sd-visuallyhidden sd-item__control sd-checkbox__control\",\n checkboxMaterialDecorator: \"sd-item__decorator sd-checkbox__decorator\",\n checkboxControlLabel: \"sd-item__control-label\",\n svgIconCheckedId: \"#icon-v2check\",\n },\n text: {\n root: \"sd-input sd-text\",\n small: \"sd-row__question--small\",\n controlDisabled: \"sd-input--disabled\",\n constrolWithCharacterCounter: \"sd-text__character-counter\",\n content: \"sd-text__content sd-question__content\",\n remainingCharacterCounter: \"sd-remaining-character-counter\",\n onError: \"sd-input--error\"\n },\n multipletext: {\n root: \"sd-multipletext\",\n rootMobile: \"sd-multipletext--mobile\",\n itemLabel: \"sd-multipletext__item-container sd-input\",\n itemLabelOnError: \"sd-multipletext__item-container--error\",\n itemLabelAllowFocus: \"sd-multipletext__item-container--allow-focus\",\n itemLabelAnswered: \"sd-multipletext__item-container--answered\",\n itemWithCharacterCounter: \"sd-multipletext-item__character-counter\",\n item: \"sd-multipletext__item\",\n itemTitle: \"sd-multipletext__item-title\",\n content: \"sd-multipletext__content sd-question__content\",\n row: \"sd-multipletext__row\",\n cell: \"sd-multipletext__cell\",\n cellError: \"sd-multipletext__cell--error\",\n cellErrorTop: \"sd-multipletext__cell--error-top\",\n cellErrorBottom: \"sd-multipletext__cell--error-bottom\"\n },\n dropdown: {\n root: \"sd-selectbase\",\n popup: \"sv-dropdown-popup\",\n small: \"sd-row__question--small\",\n selectWrapper: \"sv-dropdown_select-wrapper\",\n other: \"sd-input sd-comment sd-selectbase__other\",\n onError: \"sd-input--error\",\n label: \"sd-selectbase__label\",\n item: \"sd-item sd-radio sd-selectbase__item\",\n itemDisabled: \"sd-item--disabled sd-radio--disabled\",\n itemChecked: \"sd-item--checked sd-radio--checked\",\n itemHover: \"sd-item--allowhover sd-radio--allowhover\",\n itemControl: \"sd-visuallyhidden sd-item__control sd-radio__control\",\n itemDecorator: \"sd-item__svg sd-radio__svg\",\n cleanButton: \"sd-dropdown_clean-button\",\n cleanButtonSvg: \"sd-dropdown_clean-button-svg\",\n cleanButtonIconId: \"icon-clear\",\n chevronButton: \"sd-dropdown_chevron-button\",\n chevronButtonSvg: \"sd-dropdown_chevron-button-svg\",\n chevronButtonIconId: \"icon-chevron\",\n control: \"sd-input sd-dropdown\",\n controlInputFieldComponent: \"sd-dropdown__input-field-component\",\n controlValue: \"sd-dropdown__value\",\n controlDisabled: \"sd-input--disabled\",\n controlEmpty: \"sd-dropdown--empty\",\n controlLabel: \"sd-item__control-label\",\n filterStringInput: \"sd-dropdown__filter-string-input\",\n materialDecorator: \"sd-item__decorator sd-radio__decorator\",\n hintPrefix: \"sd-dropdown__hint-prefix\",\n hintSuffix: \"sd-dropdown__hint-suffix\"\n },\n imagepicker: {\n mainRoot: \"sd-element sd-question sd-row__question\",\n root: \"sd-selectbase sd-imagepicker\",\n rootColumn: \"sd-imagepicker--column\",\n item: \"sd-imagepicker__item\",\n itemOnError: \"sd-imagepicker__item--error\",\n itemInline: \"sd-imagepicker__item--inline\",\n itemChecked: \"sd-imagepicker__item--checked\",\n itemDisabled: \"sd-imagepicker__item--disabled\",\n itemHover: \"sd-imagepicker__item--allowhover\",\n label: \"sd-imagepicker__label\",\n itemDecorator: \"sd-imagepicker__item-decorator\",\n imageContainer: \"sd-imagepicker__image-container\",\n itemControl: \"sd-imagepicker__control sd-visuallyhidden\",\n image: \"sd-imagepicker__image\",\n itemText: \"sd-imagepicker__text\",\n other: \"sd-input sd-comment\",\n itemNoImage: \"sd-imagepicker__no-image\",\n itemNoImageSvgIcon: \"sd-imagepicker__no-image-svg\",\n itemNoImageSvgIconId: \"icon-no-image\",\n column: \"sd-selectbase__column sd-imagepicker__column\",\n checkedItemDecorator: \"sd-imagepicker__check-decorator\",\n checkedItemSvgIcon: \"sd-imagepicker__check-icon\",\n checkedItemSvgIconId: \"icon-v2check_24x24\",\n },\n matrix: {\n mainRoot: \"sd-element sd-question sd-row__question sd-element--complex sd-question--complex sd-question--table\",\n tableWrapper: \"sd-matrix sd-table-wrapper\",\n root: \"sd-table sd-matrix__table\",\n noHeader: \"sd-table--no-header\",\n rootVerticalAlignTop: \"sd-table--align-top\",\n rootVerticalAlignMiddle: \"sd-table--align-middle\",\n rootAlternateRows: \"sd-table--alternate-rows\",\n rowError: \"sd-matrix__row--error\",\n cell: \"sd-table__cell sd-matrix__cell\",\n row: \"sd-table__row\",\n headerCell: \"sd-table__cell sd-table__cell--header\",\n rowTextCell: \"sd-table__cell sd-matrix__cell sd-table__cell--row-text\",\n label: \"sd-item sd-radio sd-matrix__label\",\n itemOnError: \"sd-item--error\",\n itemValue: \"sd-visuallyhidden sd-item__control sd-radio__control\",\n itemChecked: \"sd-item--checked sd-radio--checked\",\n itemDisabled: \"sd-item--disabled sd-radio--disabled\",\n itemHover: \"sd-radio--allowhover\",\n materialDecorator: \"sd-item__decorator sd-radio__decorator\",\n itemDecorator: \"sd-item__svg sd-radio__svg\",\n cellText: \"sd-matrix__text\",\n cellTextSelected: \"sd-matrix__text--checked\",\n cellTextDisabled: \"sd-matrix__text--disabled\",\n cellResponsiveTitle: \"sd-matrix__responsive-title\",\n compact: \"sd-element--with-frame sd-element--compact\"\n },\n matrixdropdown: {\n mainRoot: \"sd-element sd-question sd-row__question sd-element--complex sd-question--complex sd-question--table\",\n rootScroll: \"sd-question--scroll\",\n root: \"sd-table sd-matrixdropdown\",\n noHeader: \"sd-table--no-header\",\n hasFooter: \"sd-table--has-footer\",\n rootVerticalAlignTop: \"sd-table--align-top\",\n rootVerticalAlignMiddle: \"sd-table--align-middle\",\n tableWrapper: \"sd-table-wrapper\",\n rootAlternateRows: \"sd-table--alternate-rows\",\n cell: \"sd-table__cell\",\n errorsCell: \"sd-table__cell--error\",\n errorsCellTop: \"sd-table__cell--error-top\",\n errorsCellBottom: \"sd-table__cell--error-bottom\",\n itemCell: \"sd-table__cell--item\",\n row: \"sd-table__row\",\n expandedRow: \"sd-table__row--expanded\",\n rowHasPanel: \"sd-table__row--has-panel\",\n rowHasEndActions: \"sd-table__row--has-end-actions\",\n headerCell: \"sd-table__cell sd-table__cell--header\",\n rowTextCell: \"sd-table__cell sd-table__cell--row-text\",\n footerCell: \"sd-table__cell sd-table__cell--footer\",\n footerTotalCell: \"sd-table__cell sd-table__cell--footer-total\",\n columnTitleCell: \"sd-table__cell--column-title\",\n cellRequiredText: \"sd-question__required-text\",\n detailButton: \"sd-table__cell--detail-button\",\n detailButtonExpanded: \"sd-table__cell--detail-button--expanded\",\n detailIcon: \"sd-detail-panel__icon\",\n detailIconExpanded: \"sd-detail-panel__icon--expanded\",\n detailIconId: \"icon-expanddetail\",\n detailIconExpandedId: \"icon-collapsedetail\",\n detailPanelCell: \"sd-table__cell--detail-panel\",\n detailRowCell: \"sd-table__cell--detail\",\n actionsCellPrefix: \"sd-table__cell-action\",\n actionsCell: \"sd-table__cell sd-table__cell--actions\",\n actionsCellDrag: \"sd-table__cell--drag\",\n emptyCell: \"sd-table__cell--empty\",\n verticalCell: \"sd-table__cell--vertical\",\n cellQuestionWrapper: \"sd-table__question-wrapper\",\n compact: \"sd-element--with-frame sd-element--compact\"\n },\n matrixdynamic: {\n mainRoot: \"sd-element sd-question sd-row__question sd-element--complex sd-question--complex sd-question--table\",\n rootScroll: \"sd-question--scroll\",\n empty: \"sd-question--empty\",\n root: \"sd-table sd-matrixdynamic\",\n noHeader: \"sd-table--no-header\",\n hasFooter: \"sd-table--has-footer\",\n tableWrapper: \"sd-table-wrapper\",\n content: \"sd-matrixdynamic__content sd-question__content\",\n cell: \"sd-table__cell\",\n row: \"sd-table__row\",\n rowHasPanel: \"sd-table__row--has-panel\",\n rowHasEndActions: \"sd-table__row--has-end-actions\",\n expandedRow: \"sd-table__row--expanded\",\n itemCell: \"sd-table__cell--item\",\n headerCell: \"sd-table__cell sd-table__cell--header\",\n rowTextCell: \"sd-table__cell sd-table__cell--row-text\",\n footerCell: \"sd-table__cell sd-table__cell--footer\",\n columnTitleCell: \"sd-table__cell--column-title\",\n cellRequiredText: \"sd-question__required-text\",\n button: \"sd-action sd-matrixdynamic__btn\",\n detailRow: \"sd-table__row sd-table__row--detail\",\n detailButton: \"sd-table__cell--detail-button\",\n detailButtonExpanded: \"sd-table__cell--detail-button--expanded\",\n detailIcon: \"sd-detail-panel__icon\",\n detailIconExpanded: \"sd-detail-panel__icon--expanded\",\n detailIconId: \"icon-expanddetail\",\n detailIconExpandedId: \"icon-collapsedetail\",\n detailPanelCell: \"sd-table__cell--detail-panel\",\n detailRowCell: \"sd-table__cell--detail\",\n actionsCellPrefix: \"sd-table__cell-action\",\n actionsCell: \"sd-table__cell sd-table__cell--actions\",\n actionsCellDrag: \"sd-table__cell--drag\",\n buttonAdd: \"sd-matrixdynamic__add-btn\",\n buttonRemove: \"sd-action--negative sd-matrixdynamic__remove-btn\",\n iconAdd: \"sd-hidden\",\n iconRemove: \"\",\n dragElementDecorator: \"sd-drag-element__svg\",\n iconDragElement: \"#icon-v2dragelement_16x16\",\n footer: \"sd-matrixdynamic__footer\",\n emptyRowsSection: \"sd-matrixdynamic__placeholder sd-question__placeholder\",\n iconDrag: \"sv-matrixdynamic__drag-icon\",\n ghostRow: \"sv-matrix-row--drag-drop-ghost-mod\",\n emptyCell: \"sd-table__cell--empty\",\n verticalCell: \"sd-table__cell--vertical\",\n cellQuestionWrapper: \"sd-table__question-wrapper\",\n errorsCell: \"sd-table__cell--error\",\n errorsCellTop: \"sd-table__cell--error-top\",\n errorsCellBottom: \"sd-table__cell--error-bottom\",\n compact: \"sd-element--with-frame sd-element--compact\",\n },\n rating: {\n rootDropdown: \"sd-scrollable-container sd-scrollable-container--compact sd-selectbase\",\n root: \"sd-scrollable-container sd-rating\",\n rootWrappable: \"sd-scrollable-container sd-rating sd-rating--wrappable\",\n rootLabelsTop: \"sd-rating--labels-top\",\n rootLabelsBottom: \"sd-rating--labels-bottom\",\n rootLabelsDiagonal: \"sd-rating--labels-diagonal\",\n item: \"sd-rating__item\",\n itemOnError: \"sd-rating__item--error\",\n itemHover: \"sd-rating__item--allowhover\",\n selected: \"sd-rating__item--selected\",\n itemStar: \"sd-rating__item-star\",\n itemStarOnError: \"sd-rating__item-star--error\",\n itemStarHover: \"sd-rating__item-star--allowhover\",\n itemStarSelected: \"sd-rating__item-star--selected\",\n itemStarDisabled: \"sd-rating__item-star--disabled\",\n itemStarHighlighted: \"sd-rating__item-star--highlighted\",\n itemStarUnhighlighted: \"sd-rating__item-star--unhighlighted\",\n itemStarSmall: \"sd-rating__item-star--small\",\n itemSmiley: \"sd-rating__item-smiley\",\n itemSmileyOnError: \"sd-rating__item-smiley--error\",\n itemSmileyHover: \"sd-rating__item-smiley--allowhover\",\n itemSmileySelected: \"sd-rating__item-smiley--selected\",\n itemSmileyDisabled: \"sd-rating__item-smiley--disabled\",\n itemSmileyHighlighted: \"sd-rating__item-star--highlighted\",\n itemSmileyScaleColored: \"sd-rating__item-smiley--scale-colored\",\n itemSmileyRateColored: \"sd-rating__item-smiley--rate-colored\",\n itemSmileySmall: \"sd-rating__item-smiley--small\",\n minText: \"sd-rating__item-text sd-rating__min-text\",\n itemText: \"sd-rating__item-text\",\n maxText: \"sd-rating__item-text sd-rating__max-text\",\n itemDisabled: \"sd-rating__item--disabled\",\n itemFixedSize: \"sd-rating__item--fixed-size\",\n control: \"sd-input sd-dropdown\",\n itemSmall: \"sd-rating--small\",\n selectWrapper: \"sv-dropdown_select-wrapper\",\n controlValue: \"sd-dropdown__value\",\n controlDisabled: \"sd-input--disabled\",\n controlEmpty: \"sd-dropdown--empty\",\n filterStringInput: \"sd-dropdown__filter-string-input\",\n chevronButton: \"sd-dropdown_chevron-button\",\n chevronButtonSvg: \"sd-dropdown_chevron-button-svg\",\n chevronButtonIconId: \"icon-chevron\",\n popup: \"sv-dropdown-popup\",\n onError: \"sd-input--error\",\n },\n comment: {\n root: \"sd-input sd-comment\",\n small: \"sd-row__question--small\",\n controlDisabled: \"sd-input--disabled\",\n content: \"sd-comment__content sd-question__content\",\n remainingCharacterCounter: \"sd-remaining-character-counter\",\n onError: \"sd-input--error\"\n },\n expression: \"sd-expression\",\n file: {\n root: \"sd-file\",\n rootDragging: \"sd-file--dragging\",\n rootAnswered: \"sd-file--answered\",\n other: \"sd-input sd-comment\",\n placeholderInput: \"sd-visuallyhidden\",\n preview: \"sd-file__preview\",\n fileSign: \"\",\n fileList: \"sd-file__list\",\n fileSignBottom: \"sd-file__sign\",\n dragArea: \"sd-file__drag-area\",\n dragAreaActive: \"sd-file__drag-area--active\",\n fileDecorator: \"sd-file__decorator\",\n onError: \"sd-file__decorator--error\",\n fileDecoratorDrag: \"sd-file__decorator--drag\",\n fileInput: \"sd-visuallyhidden\",\n noFileChosen: \"sd-description sd-file__no-file-chosen\",\n chooseFile: \"sd-file__choose-btn\",\n chooseFileAsText: \"sd-action sd-file__choose-btn--text\",\n chooseFileAsTextDisabled: \"sd-action--disabled\",\n chooseFileAsIcon: \"sd-file__choose-btn--icon\",\n chooseFileIconId: \"icon-choosefile\",\n disabled: \"sd-file__choose-btn--disabled\",\n //todo: remove it in v2\n removeButton: \"sd-context-btn--negative\",\n removeButtonBottom: \"\",\n //\n removeButtonIconId: \"icon-clear\",\n removeFile: \"sd-hidden\",\n removeFileSvg: \"\",\n removeFileSvgIconId: \"icon-delete\",\n wrapper: \"sd-file__wrapper\",\n defaultImage: \"sd-file__default-image\",\n defaultImageIconId: \"icon-defaultfile\",\n leftIconId: \"icon-arrowleft\",\n rightIconId: \"icon-arrowright\",\n removeFileButton: \"sd-context-btn--negative sd-file__remove-file-button\",\n dragAreaPlaceholder: \"sd-file__drag-area-placeholder\",\n imageWrapper: \"sd-file__image-wrapper\",\n imageWrapperDefaultImage: \"sd-file__image-wrapper--default-image\",\n single: \"sd-file--single\",\n singleImage: \"sd-file--single-image\",\n mobile: \"sd-file--mobile\",\n videoContainer: \"sd-file__video-container\",\n contextButton: \"sd-context-btn\",\n video: \"sd-file__video\",\n actionsContainer: \"sd-file__actions-container\",\n closeCameraButton: \"sd-file__close-camera-button\",\n changeCameraButton: \"sd-file__change-camera-button\",\n takePictureButton: \"sd-file__take-picture-button\",\n loadingIndicator: \"sd-file__loading-indicator\",\n },\n signaturepad: {\n mainRoot: \"sd-element sd-question sd-question--signature sd-row__question\",\n root: \"sd-signaturepad sjs_sp_container\",\n small: \"sd-row__question--small\",\n controls: \"sjs_sp_controls sd-signaturepad__controls\",\n placeholder: \"sjs_sp_placeholder\",\n canvas: \"sjs_sp_canvas sd-signaturepad__canvas\",\n backgroundImage: \"sjs_sp__background-image sd-signaturepad__background-image\",\n clearButton: \"sjs_sp_clear sd-context-btn sd-context-btn--negative sd-signaturepad__clear\",\n clearButtonIconId: \"icon-clear\",\n loadingIndicator: \"sd-signaturepad__loading-indicator\"\n },\n saveData: {\n root: \"sv-save-data_root\",\n rootWithButtons: \"sv-save-data_root--with-buttons\",\n info: \"sv-save-data_info\",\n error: \"sv-save-data_error\",\n success: \"sv-save-data_success\",\n button: \"sv-save-data_button\",\n shown: \"sv-save-data_root--shown\"\n },\n window: {\n root: \"sv_window\",\n body: \"sv_window_content\",\n header: {\n root: \"sv_window_title\",\n title: \"\",\n button: \"sv_window_button\",\n buttonExpanded: \"\",\n buttonCollapsed: \"\"\n }\n },\n ranking: {\n root: \"sv-ranking\",\n rootMobileMod: \"sv-ranking--mobile\",\n rootDragMod: \"sv-ranking--drag\",\n rootDisabled: \"sd-ranking--disabled\",\n rootDesignMode: \"sv-ranking--design-mode\",\n rootDragHandleAreaIcon: \"sv-ranking--drag-handle-area-icon\",\n rootSelectToRankMod: \"sv-ranking--select-to-rank\",\n rootSelectToRankAlignVertical: \"sv-ranking--select-to-rank-vertical\",\n rootSelectToRankAlignHorizontal: \"sv-ranking--select-to-rank-horizontal\",\n item: \"sv-ranking-item\",\n itemContent: \"sv-ranking-item__content sd-ranking-item__content\",\n itemIndex: \"sv-ranking-item__index sd-ranking-item__index\",\n itemIndexEmptyMode: \"sv-ranking-item__index--empty sd-ranking-item__index--empty\",\n // itemText: \"sv-ranking-item__text\",\n itemDisabled: \"sv-ranking-item--disabled\",\n controlLabel: \"sv-ranking-item__text\",\n itemGhostNode: \"sv-ranking-item__ghost\",\n itemIconContainer: \"sv-ranking-item__icon-container\",\n itemIcon: \"sv-ranking-item__icon\",\n itemIconHoverMod: \"sv-ranking-item__icon--hover\",\n itemIconFocusMod: \"sv-ranking-item__icon--focus\",\n itemGhostMod: \"sv-ranking-item--ghost\",\n itemDragMod: \"sv-ranking--drag\",\n itemOnError: \"sv-ranking-item--error\",\n container: \"sv-ranking__container\",\n containerEmptyMode: \"sv-ranking__container--empty\",\n containerFromMode: \"sv-ranking__container--from\",\n containerToMode: \"sv-ranking__container--to\",\n containerPlaceholder: \"sv-ranking__container-placeholder\",\n containersDivider: \"sv-ranking__containers-divider\",\n },\n buttongroup: {\n root: \"sv-button-group\",\n item: \"sv-button-group__item\",\n itemIcon: \"sv-button-group__item-icon\",\n itemDecorator: \"sv-button-group__item-decorator\",\n itemCaption: \"sv-button-group__item-caption\",\n itemHover: \"sv-button-group__item--hover\",\n itemSelected: \"sv-button-group__item--selected\",\n itemDisabled: \"sv-button-group__item--disabled\",\n itemControl: \"sv-visuallyhidden\",\n },\n list: {\n root: \"sv-list__container sd-list\",\n item: \"sv-list__item sd-list__item\",\n itemBody: \"sv-list__item-body sd-list__item-body\",\n itemSelected: \"sv-list__item--selected sd-list__item--selected\",\n itemFocused: \"sv-list__item--focused sd-list__item--focused\",\n },\n actionBar: {\n root: \"sd-action-bar\",\n item: \"sd-action\",\n defaultSizeMode: \"\",\n smallSizeMode: \"\",\n itemPressed: \"sd-action--pressed\",\n itemAsIcon: \"sd-action--icon\",\n itemIcon: \"sd-action__icon\",\n itemTitle: \"sd-action__title\",\n },\n variables: {\n mobileWidth: \"--sd-mobile-width\",\n themeMark: \"--sv-defaultV2-mark\"\n },\n tagbox: {\n root: \"sd-selectbase\",\n popup: \"sv-dropdown-popup\",\n small: \"sd-row__question--small\",\n selectWrapper: \"sv-dropdown_select-wrapper\",\n other: \"sd-input sd-comment sd-selectbase__other\",\n onError: \"sd-input--error\",\n label: \"sd-selectbase__label\",\n itemSvgIconId: \"#icon-v2check\",\n item: \"sd-item sd-checkbox sd-selectbase__item\",\n itemDisabled: \"sd-item--disabled sd-checkbox--disabled\",\n itemChecked: \"sd-item--checked sd-checkbox--checked\",\n itemHover: \"sd-item--allowhover sd-checkbox--allowhover\",\n itemControl: \"sd-visuallyhidden sd-item__control sd-checkbox__control\",\n itemDecorator: \"sd-item__svg sd-checkbox__svg\",\n cleanButton: \"sd-tagbox_clean-button sd-dropdown_clean-button\",\n cleanButtonSvg: \"sd-tagbox_clean-button-svg sd-dropdown_clean-button-svg\",\n cleanButtonIconId: \"icon-clear\",\n cleanItemButton: \"sd-tagbox-item_clean-button\",\n cleanItemButtonSvg: \"sd-tagbox-item_clean-button-svg\",\n cleanItemButtonIconId: \"icon-clear_16x16\",\n chevronButton: \"sd-dropdown_chevron-button\",\n chevronButtonSvg: \"sd-dropdown_chevron-button-svg\",\n chevronButtonIconId: \"icon-chevron\",\n control: \"sd-input sd-tagbox sd-dropdown\",\n controlValue: \"sd-tagbox__value sd-dropdown__value\",\n controlValueItems: \"sd-tagbox__value-items\",\n placeholderInput: \"sd-tagbox__placeholder\",\n controlDisabled: \"sd-input--disabled\",\n controlEmpty: \"sd-dropdown--empty sd-tagbox--empty\",\n controlLabel: \"sd-item__control-label\",\n filterStringInput: \"sd-tagbox__filter-string-input sd-dropdown__filter-string-input\",\n materialDecorator: \"sd-item__decorator sd-checkbox__decorator\",\n hint: \"sd-tagbox__hint\",\n hintPrefix: \"sd-dropdown__hint-prefix sd-tagbox__hint-prefix\",\n hintSuffix: \"sd-dropdown__hint-suffix sd-tagbox__hint-suffix\",\n hintSuffixWrapper: \"sd-tagbox__hint-suffix-wrapper\"\n },\n};\nvar defaultV2ThemeName = \"defaultV2\";\nsurveyCss[defaultV2ThemeName] = defaultV2Css;\n\n\n/***/ }),\n\n/***/ \"./src/defaultTitle.ts\":\n/*!*****************************!*\\\n !*** ./src/defaultTitle.ts ***!\n \\*****************************/\n/*! exports provided: DefaultTitleModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DefaultTitleModel\", function() { return DefaultTitleModel; });\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n\nvar DefaultTitleModel = /** @class */ (function () {\n function DefaultTitleModel() {\n }\n DefaultTitleModel.getIconCss = function (cssClasses, isCollapsed) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_0__[\"CssClassBuilder\"]()\n .append(cssClasses.icon)\n .append(cssClasses.iconExpanded, !isCollapsed)\n .toString();\n };\n return DefaultTitleModel;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/drag-drop-helper-v1.ts\":\n/*!************************************!*\\\n !*** ./src/drag-drop-helper-v1.ts ***!\n \\************************************/\n/*! exports provided: DragDropInfo */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropInfo\", function() { return DragDropInfo; });\nvar DragDropInfo = /** @class */ (function () {\n function DragDropInfo(source, target, nestedPanelDepth) {\n if (nestedPanelDepth === void 0) { nestedPanelDepth = -1; }\n this.source = source;\n this.target = target;\n this.nestedPanelDepth = nestedPanelDepth;\n }\n return DragDropInfo;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/drag-drop-page-helper-v1.ts\":\n/*!*****************************************!*\\\n !*** ./src/drag-drop-page-helper-v1.ts ***!\n \\*****************************************/\n/*! exports provided: DragDropPageHelperV1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropPageHelperV1\", function() { return DragDropPageHelperV1; });\n/* harmony import */ var _drag_drop_helper_v1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./drag-drop-helper-v1 */ \"./src/drag-drop-helper-v1.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n\n\nvar DragDropPageHelperV1 = /** @class */ (function () {\n function DragDropPageHelperV1(page) {\n this.page = page;\n }\n DragDropPageHelperV1.prototype.getDragDropInfo = function () { return this.dragDropInfo; };\n DragDropPageHelperV1.prototype.dragDropStart = function (src, target, nestedPanelDepth) {\n if (nestedPanelDepth === void 0) { nestedPanelDepth = -1; }\n this.dragDropInfo = new _drag_drop_helper_v1__WEBPACK_IMPORTED_MODULE_0__[\"DragDropInfo\"](src, target, nestedPanelDepth);\n };\n DragDropPageHelperV1.prototype.dragDropMoveTo = function (destination, isBottom, isEdge) {\n if (isBottom === void 0) { isBottom = false; }\n if (isEdge === void 0) { isEdge = false; }\n if (!this.dragDropInfo)\n return false;\n this.dragDropInfo.destination = destination;\n this.dragDropInfo.isBottom = isBottom;\n this.dragDropInfo.isEdge = isEdge;\n this.correctDragDropInfo(this.dragDropInfo);\n if (!this.dragDropCanDropTagert())\n return false;\n if (!this.dragDropCanDropSource() || !this.dragDropAllowFromSurvey()) {\n if (!!this.dragDropInfo.source) {\n var row = this.page.dragDropFindRow(this.dragDropInfo.target);\n this.page.updateRowsRemoveElementFromRow(this.dragDropInfo.target, row);\n }\n return false;\n }\n this.page.dragDropAddTarget(this.dragDropInfo);\n return true;\n };\n DragDropPageHelperV1.prototype.correctDragDropInfo = function (dragDropInfo) {\n if (!dragDropInfo.destination)\n return;\n var panel = dragDropInfo.destination.isPanel\n ? dragDropInfo.destination\n : null;\n if (!panel)\n return;\n if (!dragDropInfo.target.isLayoutTypeSupported(panel.getChildrenLayoutType())) {\n dragDropInfo.isEdge = true;\n }\n };\n DragDropPageHelperV1.prototype.dragDropAllowFromSurvey = function () {\n var dest = this.dragDropInfo.destination;\n if (!dest || !this.page.survey)\n return true;\n var insertBefore = null;\n var insertAfter = null;\n var parent = dest.isPage || (!this.dragDropInfo.isEdge && dest.isPanel)\n ? dest\n : dest.parent;\n if (!dest.isPage) {\n var container = dest.parent;\n if (!!container) {\n var elements = container.elements;\n var index = elements.indexOf(dest);\n if (index > -1) {\n insertBefore = dest;\n insertAfter = dest;\n if (this.dragDropInfo.isBottom) {\n insertBefore =\n index < elements.length - 1 ? elements[index + 1] : null;\n }\n else {\n insertAfter = index > 0 ? elements[index - 1] : null;\n }\n }\n }\n }\n var options = {\n allow: true,\n target: this.dragDropInfo.target,\n source: this.dragDropInfo.source,\n toElement: this.dragDropInfo.target,\n draggedElement: this.dragDropInfo.source,\n parent: parent,\n fromElement: this.dragDropInfo.source ? this.dragDropInfo.source.parent : null,\n insertAfter: insertAfter,\n insertBefore: insertBefore,\n };\n return this.page.survey.dragAndDropAllow(options);\n };\n DragDropPageHelperV1.prototype.dragDropFinish = function (isCancel) {\n if (isCancel === void 0) { isCancel = false; }\n if (!this.dragDropInfo)\n return;\n var target = this.dragDropInfo.target;\n var src = this.dragDropInfo.source;\n var dest = this.dragDropInfo.destination;\n var row = this.page.dragDropFindRow(target);\n var targetIndex = this.dragDropGetElementIndex(target, row);\n this.page.updateRowsRemoveElementFromRow(target, row);\n var elementsToSetSWNL = [];\n var elementsToResetSWNL = [];\n if (!isCancel && !!row) {\n var isSamePanel = false;\n if (this.page.isDesignMode && _settings__WEBPACK_IMPORTED_MODULE_1__[\"settings\"].supportCreatorV2) {\n var srcRow = src && src.parent && src.parent.dragDropFindRow(src);\n if (row.panel.elements[targetIndex] && row.panel.elements[targetIndex].startWithNewLine && row.elements.length > 1 && row.panel.elements[targetIndex] === dest) {\n elementsToSetSWNL.push(target);\n elementsToResetSWNL.push(row.panel.elements[targetIndex]);\n }\n if (target.startWithNewLine && row.elements.length > 1 && (!row.panel.elements[targetIndex] || !row.panel.elements[targetIndex].startWithNewLine)) {\n elementsToResetSWNL.push(target);\n }\n if (srcRow && srcRow.elements[0] === src && srcRow.elements[1]) {\n elementsToSetSWNL.push(srcRow.elements[1]);\n }\n if (row.elements.length <= 1) {\n elementsToSetSWNL.push(target);\n }\n if (target.startWithNewLine && row.elements.length > 1 && row.elements[0] !== dest) {\n elementsToResetSWNL.push(target);\n }\n }\n if (!!src && !!src.parent) {\n this.page.survey.startMovingQuestion();\n isSamePanel = row.panel == src.parent;\n if (isSamePanel) {\n row.panel.dragDropMoveElement(src, target, targetIndex);\n targetIndex = -1;\n }\n else {\n src.parent.removeElement(src);\n }\n }\n if (targetIndex > -1) {\n row.panel.addElement(target, targetIndex);\n }\n this.page.survey.stopMovingQuestion();\n }\n elementsToSetSWNL.map(function (e) { e.startWithNewLine = true; });\n elementsToResetSWNL.map(function (e) { e.startWithNewLine = false; });\n this.dragDropInfo = null;\n return !isCancel ? target : null;\n };\n DragDropPageHelperV1.prototype.dragDropGetElementIndex = function (target, row) {\n if (!row)\n return -1;\n var index = row.elements.indexOf(target);\n if (row.index == 0)\n return index;\n var prevRow = row.panel.rows[row.index - 1];\n var prevElement = prevRow.elements[prevRow.elements.length - 1];\n return index + row.panel.elements.indexOf(prevElement) + 1;\n };\n DragDropPageHelperV1.prototype.dragDropCanDropTagert = function () {\n var destination = this.dragDropInfo.destination;\n if (!destination || destination.isPage)\n return true;\n return this.dragDropCanDropCore(this.dragDropInfo.target, destination);\n };\n DragDropPageHelperV1.prototype.dragDropCanDropSource = function () {\n var source = this.dragDropInfo.source;\n if (!source)\n return true;\n var destination = this.dragDropInfo.destination;\n if (!this.dragDropCanDropCore(source, destination))\n return false;\n if (this.page.isDesignMode && _settings__WEBPACK_IMPORTED_MODULE_1__[\"settings\"].supportCreatorV2) {\n var rowSource = this.page.dragDropFindRow(source);\n var rowDestination = this.page.dragDropFindRow(destination);\n if (rowSource !== rowDestination) {\n if (!source.startWithNewLine && destination.startWithNewLine)\n return true;\n if (source.startWithNewLine && !destination.startWithNewLine) {\n return true;\n }\n }\n var row = this.page.dragDropFindRow(destination);\n if (row && row.elements.length == 1)\n return true;\n }\n return this.dragDropCanDropNotNext(source, destination, this.dragDropInfo.isEdge, this.dragDropInfo.isBottom);\n };\n DragDropPageHelperV1.prototype.dragDropCanDropCore = function (target, destination) {\n if (!destination)\n return true;\n if (this.dragDropIsSameElement(destination, target))\n return false;\n if (target.isPanel) {\n var pnl = target;\n if (pnl.containsElement(destination) ||\n !!pnl.getElementByName(destination.name))\n return false;\n }\n return true;\n };\n DragDropPageHelperV1.prototype.dragDropCanDropNotNext = function (source, destination, isEdge, isBottom) {\n if (!destination || (destination.isPanel && !isEdge))\n return true;\n if (typeof source.parent === \"undefined\" || source.parent !== destination.parent)\n return true;\n var pnl = source.parent;\n var srcIndex = pnl.elements.indexOf(source);\n var destIndex = pnl.elements.indexOf(destination);\n if (destIndex < srcIndex && !isBottom)\n destIndex--;\n if (isBottom)\n destIndex++;\n return srcIndex < destIndex\n ? destIndex - srcIndex > 1\n : srcIndex - destIndex > 0;\n };\n DragDropPageHelperV1.prototype.dragDropIsSameElement = function (el1, el2) {\n return el1 == el2 || el1.name == el2.name;\n };\n return DragDropPageHelperV1;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/drag-drop-panel-helper-v1.ts\":\n/*!******************************************!*\\\n !*** ./src/drag-drop-panel-helper-v1.ts ***!\n \\******************************************/\n/*! exports provided: DragDropPanelHelperV1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropPanelHelperV1\", function() { return DragDropPanelHelperV1; });\n/* harmony import */ var _drag_drop_helper_v1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./drag-drop-helper-v1 */ \"./src/drag-drop-helper-v1.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n\n\nvar DragDropPanelHelperV1 = /** @class */ (function () {\n function DragDropPanelHelperV1(panel) {\n this.panel = panel;\n }\n DragDropPanelHelperV1.prototype.dragDropAddTarget = function (dragDropInfo) {\n var prevRow = this.dragDropFindRow(dragDropInfo.target);\n if (this.dragDropAddTargetToRow(dragDropInfo, prevRow)) {\n this.panel.updateRowsRemoveElementFromRow(dragDropInfo.target, prevRow);\n }\n };\n DragDropPanelHelperV1.prototype.dragDropFindRow = function (findElement) {\n if (!findElement || findElement.isPage)\n return null;\n var element = findElement;\n var rows = this.panel.rows;\n for (var i = 0; i < rows.length; i++) {\n if (rows[i].elements.indexOf(element) > -1)\n return rows[i];\n }\n for (var i = 0; i < this.panel.elements.length; i++) {\n var pnl = this.panel.elements[i].getPanel();\n if (!pnl)\n continue;\n var row = pnl.dragDropFindRow(element);\n if (!!row)\n return row;\n }\n return null;\n };\n DragDropPanelHelperV1.prototype.dragDropMoveElement = function (src, target, targetIndex) {\n var srcIndex = src.parent.elements.indexOf(src);\n if (targetIndex > srcIndex) {\n targetIndex--;\n }\n this.panel.removeElement(src);\n this.panel.addElement(target, targetIndex);\n };\n DragDropPanelHelperV1.prototype.updateRowsOnElementAdded = function (element, index, dragDropInfo, thisElement) {\n if (!dragDropInfo) {\n dragDropInfo = new _drag_drop_helper_v1__WEBPACK_IMPORTED_MODULE_0__[\"DragDropInfo\"](null, element);\n dragDropInfo.target = element;\n dragDropInfo.isEdge = this.panel.elements.length > 1;\n if (this.panel.elements.length < 2) {\n dragDropInfo.destination = thisElement;\n }\n else {\n dragDropInfo.isBottom = index > 0;\n if (index == 0) {\n dragDropInfo.destination = this.panel.elements[1];\n }\n else {\n dragDropInfo.destination = this.panel.elements[index - 1];\n }\n }\n }\n this.dragDropAddTargetToRow(dragDropInfo, null);\n };\n DragDropPanelHelperV1.prototype.dragDropAddTargetToRow = function (dragDropInfo, prevRow) {\n if (!dragDropInfo.destination)\n return true;\n if (this.dragDropAddTargetToEmptyPanel(dragDropInfo))\n return true;\n var dest = dragDropInfo.destination;\n var destRow = this.dragDropFindRow(dest);\n if (!destRow)\n return true;\n // if (settings.supportCreatorV2 && this.panel.isDesignMode) {\n // if (destRow.elements.length > 1)\n // return this.dragDropAddTargetToExistingRow(\n // dragDropInfo,\n // destRow,\n // prevRow\n // );\n // else\n // return this.dragDropAddTargetToNewRow(dragDropInfo, destRow, prevRow);\n // }\n if (!dragDropInfo.target.startWithNewLine)\n return this.dragDropAddTargetToExistingRow(dragDropInfo, destRow, prevRow);\n return this.dragDropAddTargetToNewRow(dragDropInfo, destRow, prevRow);\n };\n DragDropPanelHelperV1.prototype.dragDropAddTargetToEmptyPanel = function (dragDropInfo) {\n if (dragDropInfo.destination.isPage) {\n this.dragDropAddTargetToEmptyPanelCore(this.panel.root, dragDropInfo.target, dragDropInfo.isBottom);\n return true;\n }\n var dest = dragDropInfo.destination;\n if (dest.isPanel && !dragDropInfo.isEdge) {\n var panel = dest;\n if (dragDropInfo.target[\"template\"] === dest) {\n return false;\n }\n if (dragDropInfo.nestedPanelDepth < 0 ||\n dragDropInfo.nestedPanelDepth >= panel.depth) {\n this.dragDropAddTargetToEmptyPanelCore(dest, dragDropInfo.target, dragDropInfo.isBottom);\n return true;\n }\n }\n return false;\n };\n DragDropPanelHelperV1.prototype.dragDropAddTargetToExistingRow = function (dragDropInfo, destRow, prevRow) {\n var index = destRow.elements.indexOf(dragDropInfo.destination);\n if (index == 0 &&\n !dragDropInfo.isBottom) {\n if (this.panel.isDesignMode && _settings__WEBPACK_IMPORTED_MODULE_1__[\"settings\"].supportCreatorV2) {\n }\n else if (destRow.elements[0].startWithNewLine) {\n if (destRow.index > 0) {\n dragDropInfo.isBottom = true;\n destRow = destRow.panel.rows[destRow.index - 1];\n dragDropInfo.destination =\n destRow.elements[destRow.elements.length - 1];\n return this.dragDropAddTargetToExistingRow(dragDropInfo, destRow, prevRow);\n }\n else {\n return this.dragDropAddTargetToNewRow(dragDropInfo, destRow, prevRow);\n }\n }\n }\n var prevRowIndex = -1;\n if (prevRow == destRow) {\n prevRowIndex = destRow.elements.indexOf(dragDropInfo.target);\n }\n if (dragDropInfo.isBottom)\n index++;\n var srcRow = this.panel.findRowByElement(dragDropInfo.source);\n if (srcRow == destRow &&\n srcRow.elements.indexOf(dragDropInfo.source) == index)\n return false;\n if (index == prevRowIndex)\n return false;\n if (prevRowIndex > -1) {\n destRow.elements.splice(prevRowIndex, 1);\n if (prevRowIndex < index)\n index--;\n }\n destRow.elements.splice(index, 0, dragDropInfo.target);\n destRow.updateVisible();\n return prevRowIndex < 0;\n };\n DragDropPanelHelperV1.prototype.dragDropAddTargetToNewRow = function (dragDropInfo, destRow, prevRow) {\n var targetRow = destRow.panel.createRowAndSetLazy(destRow.panel.rows.length);\n if (this.panel.isDesignMode && _settings__WEBPACK_IMPORTED_MODULE_1__[\"settings\"].supportCreatorV2) {\n targetRow.setIsLazyRendering(false);\n }\n targetRow.addElement(dragDropInfo.target);\n var index = destRow.index;\n if (dragDropInfo.isBottom) {\n index++;\n }\n //same row\n if (!!prevRow && prevRow.panel == targetRow.panel && prevRow.index == index)\n return false;\n var srcRow = this.panel.findRowByElement(dragDropInfo.source);\n if (!!srcRow &&\n srcRow.panel == targetRow.panel &&\n srcRow.elements.length == 1 &&\n srcRow.index == index)\n return false;\n destRow.panel.rows.splice(index, 0, targetRow);\n return true;\n };\n DragDropPanelHelperV1.prototype.dragDropAddTargetToEmptyPanelCore = function (panel, target, isBottom) {\n var targetRow = panel.createRow();\n targetRow.addElement(target);\n if (panel.elements.length == 0 || isBottom) {\n panel.rows.push(targetRow);\n }\n else {\n panel.rows.splice(0, 0, targetRow);\n }\n };\n return DragDropPanelHelperV1;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/dragdrop/choices.ts\":\n/*!*********************************!*\\\n !*** ./src/dragdrop/choices.ts ***!\n \\*********************************/\n/*! exports provided: DragDropChoices */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropChoices\", function() { return DragDropChoices; });\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core */ \"./src/dragdrop/core.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\nvar DragDropChoices = /** @class */ (function (_super) {\n __extends(DragDropChoices, _super);\n function DragDropChoices() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.doDragOver = function () {\n if (_this.parentElement.getType() === \"imagepicker\")\n return;\n var node = _this.domAdapter.draggedElementShortcut.querySelector(\".svc-item-value-controls__button\");\n node.style.cursor = \"grabbing\";\n };\n _this.doBanDropHere = function () {\n if (_this.parentElement.getType() === \"imagepicker\")\n return;\n var node = _this.domAdapter.draggedElementShortcut.querySelector(\".svc-item-value-controls__button\");\n node.style.cursor = \"not-allowed\";\n };\n return _this;\n }\n Object.defineProperty(DragDropChoices.prototype, \"draggedElementType\", {\n get: function () {\n return \"item-value\";\n },\n enumerable: false,\n configurable: true\n });\n DragDropChoices.prototype.createDraggedElementShortcut = function (text, draggedElementNode, event) {\n if (this.parentElement.getType() === \"imagepicker\") {\n return this.createImagePickerShortcut(this.draggedElement, text, draggedElementNode, event);\n }\n var draggedElementShortcut = document.createElement(\"div\");\n // draggedElementShortcut.innerText = text;\n draggedElementShortcut.style.cssText = \" \\n cursor: grabbing;\\n position: absolute;\\n z-index: 10000;\\n font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));\\n \";\n var isDeepClone = true;\n var clone = (draggedElementNode\n .closest(\"[data-sv-drop-target-item-value]\")\n .cloneNode(isDeepClone));\n clone.style.cssText = \"\\n min-width: 100px;\\n box-shadow: var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));\\n background-color: var(--sjs-general-backcolor, var(--background, #fff));\\n border-radius: calc(4.5 * var(--sjs-base-unit, var(--base-unit, 8px)));\\n padding-right: calc(2* var(--sjs-base-unit, var(--base-unit, 8px)));\\n margin-left: 0;\\n \";\n var dragIcon = clone.querySelector(\".svc-item-value-controls__drag-icon\");\n dragIcon.style.visibility = \"visible\";\n var removeIcon = clone.querySelector(\".svc-item-value-controls__remove\");\n removeIcon.style.backgroundColor = \"transparent\";\n clone.classList.remove(\"svc-item-value--moveup\");\n clone.classList.remove(\"svc-item-value--movedown\");\n this.draggedElement.isDragDropMoveDown = false;\n this.draggedElement.isDragDropMoveUp = false;\n draggedElementShortcut.appendChild(clone);\n var rect = draggedElementNode.getBoundingClientRect();\n draggedElementShortcut.shortcutXOffset = event.clientX - rect.x;\n draggedElementShortcut.shortcutYOffset = event.clientY - rect.y;\n this.isBottom = null;\n return draggedElementShortcut;\n };\n DragDropChoices.prototype.createImagePickerShortcut = function (item, text, draggedElementNode, event) {\n var draggedElementShortcut = document.createElement(\"div\");\n draggedElementShortcut.style.cssText = \" \\n cursor: grabbing;\\n position: absolute;\\n z-index: 10000;\\n box-shadow: var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));\\n background-color: var(--sjs-general-backcolor, var(--background, #fff));\\n padding: calc(0.5 * var(--sjs-base-unit, var(--base-unit, 8px)));\\n border-radius: calc(0.5 * var(--sjs-base-unit, var(--base-unit, 8px)));\\n \";\n var itemValueNode = draggedElementNode.closest(\"[data-sv-drop-target-item-value]\");\n this.imagepickerControlsNode = itemValueNode.querySelector(\".svc-image-item-value-controls\");\n var imageContainerNode = itemValueNode.querySelector(\".sd-imagepicker__image-container\");\n var imageNode = itemValueNode.querySelector(item.imageLink ? \"img\" : \".sd-imagepicker__no-image\").cloneNode(true);\n if (!!this.imagepickerControlsNode) {\n this.imagepickerControlsNode.style.display = \"none\";\n }\n imageContainerNode.style.width = imageNode.width + \"px\";\n imageContainerNode.style.height = imageNode.height + \"px\";\n imageNode.style.objectFit = \"cover\";\n imageNode.style.borderRadius = \"4px\";\n draggedElementShortcut.appendChild(imageNode);\n return draggedElementShortcut;\n };\n DragDropChoices.prototype.getDropTargetByDataAttributeValue = function (dataAttributeValue) {\n var dragOverChoice;\n dragOverChoice = this.parentElement.choices.filter(function (choice) { return \"\" + choice.value == dataAttributeValue; })[0];\n return dragOverChoice;\n };\n DragDropChoices.prototype.getVisibleChoices = function () {\n var parent = this.parentElement;\n if (parent.getType() === \"ranking\") {\n if (parent.selectToRankEnabled) {\n return parent.visibleChoices;\n }\n else {\n return parent.rankingChoices;\n }\n }\n return parent.visibleChoices;\n };\n DragDropChoices.prototype.isDropTargetValid = function (dropTarget, dropTargetNode) {\n var choices = this.getVisibleChoices();\n if (this.parentElement.getType() !== \"imagepicker\") {\n var dropTargetIndex = choices.indexOf(this.dropTarget);\n var draggedElementIndex = choices.indexOf(this.draggedElement);\n if (draggedElementIndex > dropTargetIndex && this.dropTarget.isDragDropMoveUp) {\n this.dropTarget.isDragDropMoveUp = false;\n return false;\n }\n if (draggedElementIndex < dropTargetIndex && this.dropTarget.isDragDropMoveDown) {\n this.dropTarget.isDragDropMoveDown = false;\n return false;\n }\n }\n // shouldn't allow to drop on \"adorners\" (selectall, none, other)\n if (choices.indexOf(dropTarget) === -1)\n return false;\n return true;\n };\n DragDropChoices.prototype.calculateIsBottom = function (clientY) {\n var choices = this.getVisibleChoices();\n return (choices.indexOf(this.dropTarget) - choices.indexOf(this.draggedElement) >\n 0);\n };\n DragDropChoices.prototype.afterDragOver = function (dropTargetNode) {\n if (this.isDropTargetDoesntChanged(this.isBottom))\n return;\n if (this.dropTarget === this.draggedElement)\n return;\n var choices = this.getVisibleChoices();\n var dropTargetIndex = choices.indexOf(this.dropTarget);\n var draggedElementIndex = choices.indexOf(this.draggedElement);\n choices.splice(draggedElementIndex, 1);\n choices.splice(dropTargetIndex, 0, this.draggedElement);\n if (this.parentElement.getType() === \"imagepicker\")\n return;\n if (draggedElementIndex !== dropTargetIndex) {\n dropTargetNode.classList.remove(\"svc-item-value--moveup\");\n dropTargetNode.classList.remove(\"svc-item-value--movedown\");\n this.dropTarget.isDragDropMoveDown = false;\n this.dropTarget.isDragDropMoveUp = false;\n }\n if (draggedElementIndex > dropTargetIndex) {\n this.dropTarget.isDragDropMoveDown = true;\n }\n if (draggedElementIndex < dropTargetIndex) {\n this.dropTarget.isDragDropMoveUp = true;\n }\n _super.prototype.ghostPositionChanged.call(this);\n };\n DragDropChoices.prototype.doDrop = function () {\n var choices = this.parentElement.choices;\n var filteredChoices = this.getVisibleChoices().filter(function (item) {\n return choices.indexOf(item) !== -1;\n });\n var oldIndex = choices.indexOf(this.draggedElement);\n var newIndex = filteredChoices.indexOf(this.draggedElement);\n choices.splice(oldIndex, 1);\n choices.splice(newIndex, 0, this.draggedElement);\n return this.parentElement;\n };\n DragDropChoices.prototype.clear = function () {\n if (!!this.parentElement) {\n this.updateVisibleChoices(this.parentElement);\n }\n if (!!this.imagepickerControlsNode) {\n this.imagepickerControlsNode.style.display = \"flex\";\n this.imagepickerControlsNode = null;\n }\n _super.prototype.clear.call(this);\n };\n DragDropChoices.prototype.updateVisibleChoices = function (parent) {\n parent.getType() === \"ranking\" ?\n parent.updateRankingChoices() :\n parent[\"updateVisibleChoices\"]();\n };\n return DragDropChoices;\n}(_core__WEBPACK_IMPORTED_MODULE_0__[\"DragDropCore\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/dragdrop/core.ts\":\n/*!******************************!*\\\n !*** ./src/dragdrop/core.ts ***!\n \\******************************/\n/*! exports provided: DragDropCore */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropCore\", function() { return DragDropCore; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../base */ \"./src/base.ts\");\n/* harmony import */ var _dom_adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dom-adapter */ \"./src/dragdrop/dom-adapter.ts\");\n\n\nvar DragDropCore = /** @class */ (function () {\n function DragDropCore(surveyValue, creator, longTap, domAdapter) {\n var _this = this;\n this.surveyValue = surveyValue;\n this.creator = creator;\n this._isBottom = null;\n this.onGhostPositionChanged = new _base__WEBPACK_IMPORTED_MODULE_0__[\"EventBase\"]();\n this.onDragStart = new _base__WEBPACK_IMPORTED_MODULE_0__[\"EventBase\"]();\n this.onDragEnd = new _base__WEBPACK_IMPORTED_MODULE_0__[\"EventBase\"]();\n this.onBeforeDrop = this.onDragStart;\n this.onAfterDrop = this.onDragEnd;\n this.draggedElement = null;\n this.dropTarget = null;\n this.prevDropTarget = null;\n this.allowDropHere = false;\n this.banDropHere = function () {\n _this.allowDropHere = false;\n _this.doBanDropHere();\n _this.dropTarget = null;\n _this.domAdapter.draggedElementShortcut.style.cursor = \"not-allowed\";\n _this.isBottom = null;\n };\n this.doBanDropHere = function () { };\n this.domAdapter = domAdapter || new _dom_adapter__WEBPACK_IMPORTED_MODULE_1__[\"DragDropDOMAdapter\"](this, longTap);\n }\n Object.defineProperty(DragDropCore.prototype, \"isBottom\", {\n get: function () {\n return !!this._isBottom;\n },\n set: function (val) {\n this._isBottom = val;\n this.ghostPositionChanged();\n },\n enumerable: false,\n configurable: true\n });\n DragDropCore.prototype.ghostPositionChanged = function () {\n this.onGhostPositionChanged.fire({}, {});\n };\n Object.defineProperty(DragDropCore.prototype, \"dropTargetDataAttributeName\", {\n get: function () {\n return \"[data-sv-drop-target-\" + this.draggedElementType + \"]\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DragDropCore.prototype, \"survey\", {\n get: function () {\n return this.surveyValue || this.creator.survey;\n },\n enumerable: false,\n configurable: true\n });\n DragDropCore.prototype.startDrag = function (event, draggedElement, parentElement, draggedElementNode, preventSaveTargetNode) {\n var _a;\n if (preventSaveTargetNode === void 0) { preventSaveTargetNode = false; }\n this.domAdapter.rootContainer = (_a = this.survey) === null || _a === void 0 ? void 0 : _a.rootElement;\n this.domAdapter.startDrag(event, draggedElement, parentElement, draggedElementNode, preventSaveTargetNode);\n };\n DragDropCore.prototype.dragInit = function (event, draggedElement, parentElement, draggedElementNode) {\n this.draggedElement = draggedElement;\n this.parentElement = parentElement;\n var shortcutText = this.getShortcutText(this.draggedElement);\n this.domAdapter.draggedElementShortcut = this.createDraggedElementShortcut(shortcutText, draggedElementNode, event);\n this.onStartDrag(event);\n };\n DragDropCore.prototype.onStartDrag = function (event) {\n };\n DragDropCore.prototype.isDropTargetDoesntChanged = function (newIsBottom) {\n return (this.dropTarget === this.prevDropTarget && newIsBottom === this.isBottom);\n };\n DragDropCore.prototype.getShortcutText = function (draggedElement) {\n return draggedElement.shortcutText;\n };\n DragDropCore.prototype.createDraggedElementShortcut = function (text, draggedElementNode, event) {\n var draggedElementShortcut = document.createElement(\"div\");\n draggedElementShortcut.innerText = text;\n draggedElementShortcut.className = this.getDraggedElementClass();\n return draggedElementShortcut;\n };\n DragDropCore.prototype.getDraggedElementClass = function () {\n return \"sv-dragged-element-shortcut\";\n };\n DragDropCore.prototype.doDragOver = function () { };\n DragDropCore.prototype.afterDragOver = function (dropTargetNode) { };\n DragDropCore.prototype.findDropTargetNodeFromPoint = function (clientX, clientY) {\n var displayProp = this.domAdapter.draggedElementShortcut.style.display;\n //this.domAdapter.draggedElementShortcut.hidden = true;\n this.domAdapter.draggedElementShortcut.style.display = \"none\";\n var dragOverNode = document.elementFromPoint(clientX, clientY);\n // this.domAdapter.draggedElementShortcut.hidden = false;\n this.domAdapter.draggedElementShortcut.style.display = displayProp || \"block\";\n if (!dragOverNode)\n return null;\n return this.findDropTargetNodeByDragOverNode(dragOverNode);\n };\n DragDropCore.prototype.getDataAttributeValueByNode = function (node) {\n var _this = this;\n var datasetName = \"svDropTarget\";\n var words = this.draggedElementType.split(\"-\");\n words.forEach(function (word) {\n datasetName += _this.capitalizeFirstLetter(word);\n });\n return node.dataset[datasetName];\n };\n DragDropCore.prototype.getDropTargetByNode = function (dropTargetNode, event) {\n var dataAttributeValue = this.getDataAttributeValueByNode(dropTargetNode);\n return this.getDropTargetByDataAttributeValue(dataAttributeValue, dropTargetNode, event);\n };\n DragDropCore.prototype.capitalizeFirstLetter = function (string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n };\n DragDropCore.prototype.calculateVerticalMiddleOfHTMLElement = function (HTMLElement) {\n var rect = HTMLElement.getBoundingClientRect();\n return rect.y + rect.height / 2;\n };\n DragDropCore.prototype.calculateHorizontalMiddleOfHTMLElement = function (HTMLElement) {\n var rect = HTMLElement.getBoundingClientRect();\n return rect.x + rect.width / 2;\n };\n DragDropCore.prototype.calculateIsBottom = function (clientY, dropTargetNode) {\n return false;\n };\n DragDropCore.prototype.findDropTargetNodeByDragOverNode = function (dragOverNode) {\n var dropTargetNode = dragOverNode.closest(this.dropTargetDataAttributeName);\n return dropTargetNode;\n };\n DragDropCore.prototype.dragOver = function (event) {\n var dropTargetNode = this.findDropTargetNodeFromPoint(event.clientX, event.clientY);\n if (!dropTargetNode) {\n this.banDropHere();\n return;\n }\n this.dropTarget = this.getDropTargetByNode(dropTargetNode, event);\n var isDropTargetValid = this.isDropTargetValid(this.dropTarget, dropTargetNode);\n this.doDragOver();\n if (!isDropTargetValid) {\n this.banDropHere();\n return;\n }\n var isBottom = this.calculateIsBottom(event.clientY, dropTargetNode);\n this.allowDropHere = true;\n if (this.isDropTargetDoesntChanged(isBottom))\n return;\n this.isBottom = null; //TODO need for property change trigger with guarantee but it would be better not to watch on isBottom property but have some event like onValidTargetDragOver\n this.isBottom = isBottom;\n this.afterDragOver(dropTargetNode);\n this.prevDropTarget = this.dropTarget;\n };\n DragDropCore.prototype.drop = function () {\n if (this.allowDropHere) {\n var fromElement = this.draggedElement.parent;\n this.onDragStart.fire(this, { fromElement: fromElement, draggedElement: this.draggedElement });\n var newElement = this.doDrop();\n this.onDragEnd.fire(this, { fromElement: fromElement, draggedElement: newElement, toElement: this.dropTarget });\n }\n };\n DragDropCore.prototype.clear = function () {\n this.dropTarget = null;\n this.prevDropTarget = null;\n this.draggedElement = null;\n this.isBottom = null;\n this.parentElement = null;\n };\n return DragDropCore;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/dragdrop/dom-adapter.ts\":\n/*!*************************************!*\\\n !*** ./src/dragdrop/dom-adapter.ts ***!\n \\*************************************/\n/*! exports provided: DragDropDOMAdapter */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropDOMAdapter\", function() { return DragDropDOMAdapter; });\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/utils */ \"./src/utils/utils.ts\");\n/* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/devices */ \"./src/utils/devices.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../settings */ \"./src/settings.ts\");\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\n\n\n\n// WebKit requires cancelable `touchmove` events to be added as early as possible\n// see https://bugs.webkit.org/show_bug.cgi?id=184250\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"touchmove\", function (event) {\n if (!DragDropDOMAdapter.PreventScrolling) {\n return;\n }\n // Prevent scrolling\n event.preventDefault();\n }, { passive: false });\n}\nvar DragDropDOMAdapter = /** @class */ (function () {\n function DragDropDOMAdapter(dd, longTap) {\n var _this = this;\n if (longTap === void 0) { longTap = true; }\n this.dd = dd;\n this.longTap = longTap;\n this.scrollIntervalId = null;\n this.stopLongTapIfMoveEnough = function (pointerMoveEvent) {\n pointerMoveEvent.preventDefault();\n _this.currentX = pointerMoveEvent.pageX;\n _this.currentY = pointerMoveEvent.pageY;\n if (_this.isMicroMovement)\n return;\n _this.returnUserSelectBack();\n _this.stopLongTap();\n };\n this.stopLongTap = function (e) {\n clearTimeout(_this.timeoutID);\n _this.timeoutID = null;\n document.removeEventListener(\"pointerup\", _this.stopLongTap);\n document.removeEventListener(\"pointermove\", _this.stopLongTapIfMoveEnough);\n };\n this.handlePointerCancel = function (event) {\n _this.clear();\n };\n this.handleEscapeButton = function (event) {\n if (event.keyCode == 27) {\n _this.clear();\n }\n };\n this.onContextMenu = function (event) {\n event.preventDefault();\n event.stopPropagation();\n };\n this.dragOver = function (event) {\n _this.moveShortcutElement(event);\n _this.draggedElementShortcut.style.cursor = \"grabbing\";\n _this.dd.dragOver(event);\n };\n this.clear = function () {\n cancelAnimationFrame(_this.scrollIntervalId);\n document.removeEventListener(\"pointermove\", _this.dragOver);\n document.removeEventListener(\"pointercancel\", _this.handlePointerCancel);\n document.removeEventListener(\"keydown\", _this.handleEscapeButton);\n document.removeEventListener(\"pointerup\", _this.drop);\n _this.draggedElementShortcut.removeEventListener(\"pointerup\", _this.drop);\n if (_utils_devices__WEBPACK_IMPORTED_MODULE_1__[\"IsTouch\"]) {\n _this.draggedElementShortcut.removeEventListener(\"contextmenu\", _this.onContextMenu);\n }\n _this.draggedElementShortcut.parentElement.removeChild(_this.draggedElementShortcut);\n _this.dd.clear();\n _this.draggedElementShortcut = null;\n _this.scrollIntervalId = null;\n if (_utils_devices__WEBPACK_IMPORTED_MODULE_1__[\"IsTouch\"]) {\n _this.savedTargetNode.style.cssText = null;\n _this.savedTargetNode && _this.savedTargetNode.parentElement.removeChild(_this.savedTargetNode);\n _this.insertNodeToParentAtIndex(_this.savedTargetNodeParent, _this.savedTargetNode, _this.savedTargetNodeIndex);\n DragDropDOMAdapter.PreventScrolling = false;\n }\n _this.savedTargetNode = null;\n _this.savedTargetNodeParent = null;\n _this.savedTargetNodeIndex = null;\n _this.returnUserSelectBack();\n };\n this.drop = function () {\n _this.dd.drop();\n _this.clear();\n };\n this.draggedElementShortcut = null;\n }\n Object.defineProperty(DragDropDOMAdapter.prototype, \"rootElement\", {\n get: function () {\n if (Object(_utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"isShadowDOM\"])(_settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].environment.root)) {\n return _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].environment.root.host;\n }\n else {\n return this.rootContainer || _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].environment.root.documentElement || document.body;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DragDropDOMAdapter.prototype, \"isMicroMovement\", {\n // see https://stackoverflow.com/questions/6042202/how-to-distinguish-mouse-click-and-drag\n get: function () {\n var delta = 5;\n var diffX = Math.abs(this.currentX - this.startX);\n var diffY = Math.abs(this.currentY - this.startY);\n return diffX < delta && diffY < delta;\n },\n enumerable: false,\n configurable: true\n });\n DragDropDOMAdapter.prototype.startLongTapProcessing = function (event, draggedElement, parentElement, draggedElementNode, preventSaveTargetNode) {\n var _this = this;\n if (preventSaveTargetNode === void 0) { preventSaveTargetNode = false; }\n this.startX = event.pageX;\n this.startY = event.pageY;\n document.body.style.setProperty(\"touch-action\", \"none\", \"important\");\n //document.body.style.setProperty(\"-webkit-touch-callout\", \"none\", \"important\");\n this.timeoutID = setTimeout(function () {\n _this.doStartDrag(event, draggedElement, parentElement, draggedElementNode);\n if (!preventSaveTargetNode) {\n _this.savedTargetNode = event.target;\n _this.savedTargetNode.style.cssText =\n \"\\n position: absolute;\\n height: 1px!important;\\n width: 1px!important;\\n overflow: hidden;\\n clip: rect(1px 1px 1px 1px);\\n clip: rect(1px, 1px, 1px, 1px);\\n \";\n _this.savedTargetNodeParent = _this.savedTargetNode.parentElement;\n _this.savedTargetNodeIndex = _this.getNodeIndexInParent(_this.savedTargetNode);\n _this.rootElement.appendChild(_this.savedTargetNode);\n }\n _this.stopLongTap();\n }, this.longTap ? 500 : 0);\n document.addEventListener(\"pointerup\", this.stopLongTap);\n document.addEventListener(\"pointermove\", this.stopLongTapIfMoveEnough);\n };\n DragDropDOMAdapter.prototype.moveShortcutElement = function (event) {\n var rootElementX = this.rootElement.getBoundingClientRect().x;\n var rootElementY = this.rootElement.getBoundingClientRect().y;\n this.doScroll(event.clientY, event.clientX);\n var shortcutHeight = this.draggedElementShortcut.offsetHeight;\n var shortcutWidth = this.draggedElementShortcut.offsetWidth;\n var shortcutXOffset = this.draggedElementShortcut.shortcutXOffset || shortcutWidth / 2;\n var shortcutYOffset = this.draggedElementShortcut.shortcutYOffset || shortcutHeight / 2;\n // TODO this is hot fix for RTL support. Probably we need better global strategy for it. https://github.com/surveyjs/survey-library/issues/4554\n if (document.querySelectorAll(\"[dir='rtl']\").length !== 0) {\n shortcutXOffset = shortcutWidth / 2;\n shortcutYOffset = shortcutHeight / 2;\n }\n var documentBottom = document.documentElement.clientHeight;\n var documentRight = document.documentElement.clientWidth;\n var pageX = event.pageX;\n var pageY = event.pageY;\n var clientX = event.clientX;\n var clientY = event.clientY;\n var shortcutBottomCoordinate = this.getShortcutBottomCoordinate(clientY, shortcutHeight, shortcutYOffset);\n var shortcutRightCoordinate = this.getShortcutRightCoordinate(clientX, shortcutWidth, shortcutXOffset);\n if (shortcutRightCoordinate >= documentRight) { // right boundary\n this.draggedElementShortcut.style.left =\n // pageX -\n // clientX +\n documentRight -\n shortcutWidth -\n rootElementX +\n \"px\";\n this.draggedElementShortcut.style.top =\n /*pageY*/ clientY - shortcutYOffset - rootElementY + \"px\";\n return;\n }\n if (clientX - shortcutXOffset <= 0) { // left boundary\n this.draggedElementShortcut.style.left =\n pageX - clientX - rootElementX + \"px\";\n this.draggedElementShortcut.style.top =\n /*pageY*/ clientY - rootElementY - shortcutYOffset + \"px\";\n return;\n }\n if (shortcutBottomCoordinate >= documentBottom) { // bottom boundary\n this.draggedElementShortcut.style.left =\n /*pageX*/ clientX - shortcutXOffset - rootElementX + \"px\";\n this.draggedElementShortcut.style.top =\n // pageY -\n // clientY +\n documentBottom -\n shortcutHeight -\n rootElementY +\n \"px\";\n return;\n }\n if (clientY - shortcutYOffset <= 0) { // top boundary\n this.draggedElementShortcut.style.left =\n clientX - shortcutXOffset - rootElementX + \"px\";\n this.draggedElementShortcut.style.top =\n pageY - clientY - rootElementY + \"px\";\n return;\n }\n this.draggedElementShortcut.style.left =\n clientX - rootElementX - shortcutXOffset + \"px\";\n this.draggedElementShortcut.style.top =\n clientY - rootElementY - shortcutYOffset + \"px\";\n };\n DragDropDOMAdapter.prototype.getShortcutBottomCoordinate = function (currentY, shortcutHeight, shortcutYOffset) {\n return currentY + shortcutHeight - shortcutYOffset;\n };\n DragDropDOMAdapter.prototype.getShortcutRightCoordinate = function (currentX, shortcutWidth, shortcutXOffset) {\n return currentX + shortcutWidth - shortcutXOffset;\n };\n DragDropDOMAdapter.prototype.doScroll = function (clientY, clientX) {\n var _this = this;\n cancelAnimationFrame(this.scrollIntervalId);\n var startScrollBoundary = 100;\n var displayProp = this.draggedElementShortcut.style.display;\n //this.draggedElementShortcut.hidden = true;\n this.draggedElementShortcut.style.display = \"none\";\n var dragOverNode = document.elementFromPoint(clientX, clientY);\n //this.draggedElementShortcut.hidden = false;\n this.draggedElementShortcut.style.display = displayProp || \"block\";\n var scrollableParentNode = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"findScrollableParent\"])(dragOverNode);\n var top;\n var bottom;\n var left;\n var right;\n if (scrollableParentNode.tagName === \"HTML\") {\n top = 0;\n bottom = document.documentElement.clientHeight;\n left = 0;\n right = document.documentElement.clientWidth;\n }\n else {\n top = scrollableParentNode.getBoundingClientRect().top;\n bottom = scrollableParentNode.getBoundingClientRect().bottom;\n left = scrollableParentNode.getBoundingClientRect().left;\n right = scrollableParentNode.getBoundingClientRect().right;\n }\n var repeat = function () {\n if (clientY - top <= startScrollBoundary) {\n scrollableParentNode.scrollTop -= 15;\n }\n else if (bottom - clientY <= startScrollBoundary) {\n scrollableParentNode.scrollTop += 15;\n }\n else if (right - clientX <= startScrollBoundary) {\n scrollableParentNode.scrollLeft += 15;\n }\n else if (clientX - left <= startScrollBoundary) {\n scrollableParentNode.scrollLeft -= 15;\n }\n _this.scrollIntervalId = requestAnimationFrame(repeat);\n };\n this.scrollIntervalId = requestAnimationFrame(repeat);\n };\n DragDropDOMAdapter.prototype.doStartDrag = function (event, draggedElement, parentElement, draggedElementNode) {\n if (_utils_devices__WEBPACK_IMPORTED_MODULE_1__[\"IsTouch\"]) {\n DragDropDOMAdapter.PreventScrolling = true;\n }\n if (event.which === 3)\n return; //right mouse btn\n this.dd.dragInit(event, draggedElement, parentElement, draggedElementNode);\n this.rootElement.append(this.draggedElementShortcut);\n this.moveShortcutElement(event);\n document.addEventListener(\"pointermove\", this.dragOver);\n document.addEventListener(\"pointercancel\", this.handlePointerCancel);\n document.addEventListener(\"keydown\", this.handleEscapeButton);\n document.addEventListener(\"pointerup\", this.drop);\n if (!_utils_devices__WEBPACK_IMPORTED_MODULE_1__[\"IsTouch\"]) {\n this.draggedElementShortcut.addEventListener(\"pointerup\", this.drop);\n }\n else {\n this.draggedElementShortcut.addEventListener(\"contextmenu\", this.onContextMenu);\n }\n };\n DragDropDOMAdapter.prototype.returnUserSelectBack = function () {\n document.body.style.setProperty(\"touch-action\", \"auto\");\n document.body.style.setProperty(\"user-select\", \"auto\");\n document.body.style.setProperty(\"-webkit-user-select\", \"auto\");\n //document.body.style.setProperty(\"-webkit-touch-callout\", \"default\");\n };\n DragDropDOMAdapter.prototype.startDrag = function (event, draggedElement, parentElement, draggedElementNode, preventSaveTargetNode) {\n if (preventSaveTargetNode === void 0) { preventSaveTargetNode = false; }\n document.body.style.setProperty(\"user-select\", \"none\", \"important\");\n document.body.style.setProperty(\"-webkit-user-select\", \"none\", \"important\");\n if (_utils_devices__WEBPACK_IMPORTED_MODULE_1__[\"IsTouch\"]) {\n this.startLongTapProcessing(event, draggedElement, parentElement, draggedElementNode, preventSaveTargetNode);\n return;\n }\n this.doStartDrag(event, draggedElement, parentElement, draggedElementNode);\n };\n DragDropDOMAdapter.prototype.getNodeIndexInParent = function (node) {\n return __spreadArray([], node.parentElement.childNodes).indexOf(node);\n };\n DragDropDOMAdapter.prototype.insertNodeToParentAtIndex = function (parent, node, index) {\n parent.insertBefore(node, parent.childNodes[index]);\n };\n DragDropDOMAdapter.PreventScrolling = false;\n return DragDropDOMAdapter;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/dragdrop/matrix-rows.ts\":\n/*!*************************************!*\\\n !*** ./src/dragdrop/matrix-rows.ts ***!\n \\*************************************/\n/*! exports provided: DragDropMatrixRows */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropMatrixRows\", function() { return DragDropMatrixRows; });\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core */ \"./src/dragdrop/core.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\nvar DragDropMatrixRows = /** @class */ (function (_super) {\n __extends(DragDropMatrixRows, _super);\n function DragDropMatrixRows() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.fromIndex = null;\n _this.toIndex = null;\n _this.doDrop = function () {\n _this.parentElement.moveRowByIndex(_this.fromIndex, _this.toIndex);\n return _this.parentElement;\n };\n return _this;\n }\n Object.defineProperty(DragDropMatrixRows.prototype, \"draggedElementType\", {\n get: function () {\n return \"matrix-row\";\n },\n enumerable: false,\n configurable: true\n });\n DragDropMatrixRows.prototype.onStartDrag = function () {\n this.restoreUserSelectValue = document.body.style.userSelect;\n document.body.style.userSelect = \"none\";\n };\n DragDropMatrixRows.prototype.createDraggedElementShortcut = function (text, draggedElementNode, event) {\n var _this = this;\n var draggedElementShortcut = document.createElement(\"div\");\n // draggedElementShortcut.innerText = text;\n draggedElementShortcut.style.cssText = \" \\n cursor: grabbing;\\n position: absolute;\\n z-index: 10000;\\n font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));\\n \";\n var isDeepClone = true;\n if (!!draggedElementNode) {\n var row = (draggedElementNode\n .closest(\"[data-sv-drop-target-matrix-row]\"));\n var clone = (row.cloneNode(isDeepClone));\n clone.style.cssText = \"\\n box-shadow: var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));\\n background-color: var(--sjs-general-backcolor, var(--background, #fff));\\n display: flex;\\n flex-grow: 0;\\n flex-shrink: 0;\\n align-items: center;\\n line-height: 0;\\n width: \" + row.offsetWidth + \"px;\\n \";\n clone.classList.remove(\"sv-matrix__drag-drop--moveup\");\n clone.classList.remove(\"sv-matrix__drag-drop--movedown\");\n this.draggedElement.isDragDropMoveDown = false;\n this.draggedElement.isDragDropMoveUp = false;\n draggedElementShortcut.appendChild(clone);\n var rect = draggedElementNode.getBoundingClientRect();\n draggedElementShortcut.shortcutXOffset = event.clientX - rect.x;\n draggedElementShortcut.shortcutYOffset = event.clientY - rect.y;\n }\n //this.isBottom = null;\n var renderedRows = this.parentElement.renderedTable.rows;\n renderedRows.forEach(function (renderedRow, index) {\n if (renderedRow.row === _this.draggedElement) {\n renderedRow.isGhostRow = true;\n }\n });\n this.fromIndex = this.parentElement.visibleRows.indexOf(this.draggedElement);\n return draggedElementShortcut;\n };\n // protected ghostPositionChanged(): void {\n // let ghostPosition;\n // this.parentElement.renderedTable.rows.forEach(\n // (renderedRow: QuestionMatrixDropdownRenderedRow) => {\n // ghostPosition = this.getGhostPosition(\n // renderedRow.row\n // );\n // renderedRow.isGhostRow = !ghostPosition;\n // }\n // );\n // super.ghostPositionChanged();\n // }\n DragDropMatrixRows.prototype.getDropTargetByDataAttributeValue = function (dataAttributeValue) {\n var matrix = this.parentElement;\n var dropTargetRenderedRow;\n dropTargetRenderedRow = matrix.renderedTable.rows.filter(function (renderedRow) { return renderedRow.row && renderedRow.row.id === dataAttributeValue; })[0];\n return dropTargetRenderedRow.row;\n };\n DragDropMatrixRows.prototype.isDropTargetValid = function (dropTarget, dropTargetNode) {\n return true;\n };\n DragDropMatrixRows.prototype.calculateIsBottom = function (clientY) {\n var rendreredRows = this.parentElement.renderedTable.rows;\n var rows = rendreredRows.map(function (rendredRow) { return rendredRow.row; });\n return (rows.indexOf(this.dropTarget) - rows.indexOf(this.draggedElement) > 0);\n };\n DragDropMatrixRows.prototype.afterDragOver = function (dropTargetNode) {\n var _this = this;\n if (this.isDropTargetDoesntChanged(this.isBottom))\n return;\n if (this.dropTarget === this.draggedElement)\n return;\n var dropTargetIndex;\n var draggedElementIndex;\n var draggedRenderedRow;\n var renderedRows = this.parentElement.renderedTable.rows;\n renderedRows.forEach(function (renderedRow, index) {\n if (renderedRow.row === _this.dropTarget) {\n // renderedRow.isGhostRow = true;\n dropTargetIndex = index;\n }\n if (renderedRow.row === _this.draggedElement) {\n draggedRenderedRow = renderedRow;\n draggedElementIndex = index;\n draggedRenderedRow.isGhostRow = true;\n }\n });\n renderedRows.splice(draggedElementIndex, 1);\n renderedRows.splice(dropTargetIndex, 0, draggedRenderedRow);\n this.toIndex = this.parentElement.visibleRows.indexOf(this.dropTarget);\n // const matrix = this.parentElement;\n // const fromIndex = matrix.visibleRows.indexOf(this.draggedElement);\n // const toIndex = matrix.visibleRows.indexOf(this.dropTarget);\n // matrix.moveRowByIndex(fromIndex, toIndex);\n // if (draggedElementIndex !== dropTargetIndex) {\n // dropTargetNode.classList.remove(\"sv-matrix__drag-drop--moveup\");\n // dropTargetNode.classList.remove(\"sv-matrix__drag-drop--movedown\");\n // this.dropTarget.isDragDropMoveDown = false;\n // this.dropTarget.isDragDropMoveUp = false;\n // }\n // if (draggedElementIndex > dropTargetIndex) {\n // this.dropTarget.isDragDropMoveDown = true;\n // }\n // if (draggedElementIndex < dropTargetIndex) {\n // this.dropTarget.isDragDropMoveUp = true;\n // }\n _super.prototype.ghostPositionChanged.call(this);\n };\n DragDropMatrixRows.prototype.clear = function () {\n var renderedRows = this.parentElement.renderedTable.rows;\n renderedRows.forEach(function (renderedRow) {\n renderedRow.isGhostRow = false;\n });\n this.parentElement.clearOnDrop();\n this.fromIndex = null;\n this.toIndex = null;\n document.body.style.userSelect = this.restoreUserSelectValue || \"initial\";\n _super.prototype.clear.call(this);\n };\n return DragDropMatrixRows;\n}(_core__WEBPACK_IMPORTED_MODULE_0__[\"DragDropCore\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/dragdrop/ranking-choices.ts\":\n/*!*****************************************!*\\\n !*** ./src/dragdrop/ranking-choices.ts ***!\n \\*****************************************/\n/*! exports provided: DragDropRankingChoices */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropRankingChoices\", function() { return DragDropRankingChoices; });\n/* harmony import */ var _choices__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./choices */ \"./src/dragdrop/choices.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/devices */ \"./src/utils/devices.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\nvar DragDropRankingChoices = /** @class */ (function (_super) {\n __extends(DragDropRankingChoices, _super);\n function DragDropRankingChoices() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.isDragOverRootNode = false;\n _this.doDragOver = function () {\n var node = _this.domAdapter.draggedElementShortcut.querySelector(\".sv-ranking-item\");\n node.style.cursor = \"grabbing\";\n };\n _this.doBanDropHere = function () {\n if (_this.isDragOverRootNode) {\n _this.allowDropHere = true;\n return;\n }\n var node = _this.domAdapter.draggedElementShortcut.querySelector(\".sv-ranking-item\");\n node.style.cursor = \"not-allowed\";\n };\n _this.doDrop = function () {\n _this.parentElement.setValue();\n return _this.parentElement;\n };\n return _this;\n }\n Object.defineProperty(DragDropRankingChoices.prototype, \"draggedElementType\", {\n get: function () {\n return \"ranking-item\";\n },\n enumerable: false,\n configurable: true\n });\n DragDropRankingChoices.prototype.createDraggedElementShortcut = function (text, draggedElementNode, event) {\n var draggedElementShortcut = document.createElement(\"div\");\n draggedElementShortcut.className = this.shortcutClass + \" sv-ranking-shortcut\";\n draggedElementShortcut.style.cssText = \" \\n cursor: grabbing;\\n position: absolute;\\n z-index: 10000;\\n border-radius: calc(12.5 * var(--sjs-base-unit, var(--base-unit, 8px)));\\n min-width: 100px;\\n max-width: 400px;\\n box-shadow: var(--sjs-shadow-medium, 0px 2px 6px 0px rgba(0, 0, 0, 0.1)), var(--sjs-shadow-large, 0px 8px 16px 0px rgba(0, 0, 0, 0.1));\\n background-color: var(--sjs-general-backcolor, var(--background, #fff));\\n font-family: var(--sjs-font-family, var(--font-family, var(--sjs-default-font-family)));\\n \";\n var isDeepClone = true;\n var clone = draggedElementNode.cloneNode(isDeepClone);\n draggedElementShortcut.appendChild(clone);\n var rect = draggedElementNode.getBoundingClientRect();\n draggedElementShortcut.shortcutXOffset = event.clientX - rect.x;\n draggedElementShortcut.shortcutYOffset = event.clientY - rect.y;\n if (this.parentElement && this.parentElement.useFullItemSizeForShortcut) {\n draggedElementShortcut.style.width = draggedElementNode.offsetWidth + \"px\";\n draggedElementShortcut.style.height = draggedElementNode.offsetHeight + \"px\";\n }\n return draggedElementShortcut;\n };\n Object.defineProperty(DragDropRankingChoices.prototype, \"shortcutClass\", {\n get: function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_1__[\"CssClassBuilder\"]()\n .append(this.parentElement.cssClasses.root)\n .append(this.parentElement.cssClasses.rootMobileMod, _utils_devices__WEBPACK_IMPORTED_MODULE_2__[\"IsMobile\"])\n .toString();\n },\n enumerable: false,\n configurable: true\n });\n DragDropRankingChoices.prototype.getDropTargetByDataAttributeValue = function (dataAttributeValue) {\n return this.parentElement.rankingChoices[dataAttributeValue];\n };\n DragDropRankingChoices.prototype.findDropTargetNodeByDragOverNode = function (dragOverNode) {\n this.isDragOverRootNode = this.getIsDragOverRootNode(dragOverNode);\n return _super.prototype.findDropTargetNodeByDragOverNode.call(this, dragOverNode);\n };\n DragDropRankingChoices.prototype.getIsDragOverRootNode = function (dragOverNode) {\n // dragOverNode might be for example and the className prop is obj\n return typeof dragOverNode.className === \"string\" &&\n dragOverNode.className.indexOf(\"sv-ranking\") !== -1;\n };\n DragDropRankingChoices.prototype.isDropTargetValid = function (dropTarget, dropTargetNode) {\n var choices = this.parentElement.rankingChoices;\n var dropTargetIndex = choices.indexOf(this.dropTarget);\n var draggedElementIndex = choices.indexOf(this.draggedElement);\n if (draggedElementIndex > dropTargetIndex && dropTargetNode.classList.contains(\"sv-dragdrop-moveup\")) {\n this.parentElement.dropTargetNodeMove = null;\n return false;\n }\n if (draggedElementIndex < dropTargetIndex && dropTargetNode.classList.contains(\"sv-dragdrop-movedown\")) {\n this.parentElement.dropTargetNodeMove = null;\n return false;\n }\n if (choices.indexOf(dropTarget) === -1)\n // shouldn't allow to drop on \"adorners\" (selectall, none, other)\n return false;\n return true;\n };\n DragDropRankingChoices.prototype.calculateIsBottom = function (clientY) {\n var choices = this.parentElement.rankingChoices;\n return (choices.indexOf(this.dropTarget) - choices.indexOf(this.draggedElement) >\n 0);\n };\n DragDropRankingChoices.prototype.afterDragOver = function (dropTargetNode) {\n var choices = this.parentElement.rankingChoices;\n var dropTargetIndex = choices.indexOf(this.dropTarget);\n var draggedElementIndex = choices.indexOf(this.draggedElement);\n choices.splice(draggedElementIndex, 1);\n choices.splice(dropTargetIndex, 0, this.draggedElement);\n this.parentElement.setPropertyValue(\"rankingChoices\", choices);\n //return;\n this.updateDraggedElementShortcut(dropTargetIndex + 1);\n if (draggedElementIndex !== dropTargetIndex) {\n dropTargetNode.classList.remove(\"sv-dragdrop-moveup\");\n dropTargetNode.classList.remove(\"sv-dragdrop-movedown\");\n this.parentElement.dropTargetNodeMove = null;\n }\n if (draggedElementIndex > dropTargetIndex) {\n this.parentElement.dropTargetNodeMove = \"down\";\n }\n if (draggedElementIndex < dropTargetIndex) {\n this.parentElement.dropTargetNodeMove = \"up\";\n }\n };\n DragDropRankingChoices.prototype.updateDraggedElementShortcut = function (newIndex) {\n var newIndexText = newIndex !== null ? newIndex + \"\" : \"\";\n // TODO should avoid direct DOM manipulation, do through the frameworks instead\n var indexNode = this.domAdapter.draggedElementShortcut.querySelector(\".sv-ranking-item__index\");\n indexNode.innerText = newIndexText;\n };\n DragDropRankingChoices.prototype.ghostPositionChanged = function () {\n this.parentElement.currentDropTarget = this.draggedElement;\n _super.prototype.ghostPositionChanged.call(this);\n };\n DragDropRankingChoices.prototype.clear = function () {\n if (!!this.parentElement) {\n this.parentElement.dropTargetNodeMove = null;\n this.parentElement.updateRankingChoices(true);\n }\n _super.prototype.clear.call(this);\n };\n return DragDropRankingChoices;\n}(_choices__WEBPACK_IMPORTED_MODULE_0__[\"DragDropChoices\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/dragdrop/ranking-select-to-rank.ts\":\n/*!************************************************!*\\\n !*** ./src/dragdrop/ranking-select-to-rank.ts ***!\n \\************************************************/\n/*! exports provided: DragDropRankingSelectToRank */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DragDropRankingSelectToRank\", function() { return DragDropRankingSelectToRank; });\n/* harmony import */ var _ranking_choices__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ranking-choices */ \"./src/dragdrop/ranking-choices.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\nvar DragDropRankingSelectToRank = /** @class */ (function (_super) {\n __extends(DragDropRankingSelectToRank, _super);\n function DragDropRankingSelectToRank() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DragDropRankingSelectToRank.prototype.findDropTargetNodeByDragOverNode = function (dragOverNode) {\n if (dragOverNode.dataset.ranking === \"from-container\" || dragOverNode.dataset.ranking === \"to-container\") {\n return dragOverNode;\n }\n if (this.parentElement.isEmpty()) {\n var toContainer = dragOverNode.closest(\"[data-ranking='to-container']\");\n var fromContainer = dragOverNode.closest(\"[data-ranking='from-container']\");\n if (!!toContainer)\n return toContainer;\n if (!!fromContainer)\n return fromContainer;\n return null;\n }\n return _super.prototype.findDropTargetNodeByDragOverNode.call(this, dragOverNode);\n };\n DragDropRankingSelectToRank.prototype.getDropTargetByDataAttributeValue = function (dataAttributeValue) {\n return this.parentElement.rankingChoices[dataAttributeValue] || this.parentElement.unRankingChoices[dataAttributeValue];\n };\n DragDropRankingSelectToRank.prototype.getDropTargetByNode = function (dropTargetNode, event) {\n if (dropTargetNode.dataset.ranking === \"to-container\") {\n return \"to-container\";\n }\n if (dropTargetNode.dataset.ranking === \"from-container\" || dropTargetNode.closest(\"[data-ranking='from-container']\")) {\n return \"from-container\";\n }\n return _super.prototype.getDropTargetByNode.call(this, dropTargetNode, event);\n };\n DragDropRankingSelectToRank.prototype.isDropTargetValid = function (dropTarget, dropTargetNode) {\n if (dropTarget === \"to-container\" || dropTarget === \"from-container\") {\n return true;\n }\n else {\n return _super.prototype.isDropTargetValid.call(this, dropTarget, dropTargetNode);\n }\n };\n DragDropRankingSelectToRank.prototype.afterDragOver = function (dropTargetNode) {\n var questionModel = this.parentElement;\n var rankingChoices = questionModel.rankingChoices;\n var unRankingChoices = questionModel.unRankingChoices;\n if (this.isDraggedElementUnranked && this.isDropTargetRanked) {\n this.doRankBetween(dropTargetNode, unRankingChoices, rankingChoices, this.selectToRank);\n return;\n }\n if (this.isDraggedElementRanked && this.isDropTargetRanked) {\n this.doRankBetween(dropTargetNode, rankingChoices, rankingChoices, this.reorderRankedItem);\n return;\n }\n if (this.isDraggedElementRanked && !this.isDropTargetRanked) {\n this.doRankBetween(dropTargetNode, rankingChoices, unRankingChoices, this.unselectFromRank);\n return;\n }\n };\n DragDropRankingSelectToRank.prototype.doRankBetween = function (dropTargetNode, fromChoicesArray, toChoicesArray, rankFunction) {\n var questionModel = this.parentElement;\n var _a = this.getIndixies(questionModel, fromChoicesArray, toChoicesArray), fromIndex = _a.fromIndex, toIndex = _a.toIndex;\n rankFunction(questionModel, fromIndex, toIndex);\n this.doUIEffects(dropTargetNode, fromIndex, toIndex);\n };\n DragDropRankingSelectToRank.prototype.getIndixies = function (model, fromChoicesArray, toChoicesArray) {\n var fromIndex = fromChoicesArray.indexOf(this.draggedElement);\n var toIndex = toChoicesArray.indexOf(this.dropTarget);\n if (toIndex === -1)\n toIndex = model.value.length;\n return { fromIndex: fromIndex, toIndex: toIndex };\n };\n DragDropRankingSelectToRank.prototype.doUIEffects = function (dropTargetNode, fromIndex, toIndex) {\n var questionModel = this.parentElement;\n var isDropToEmptyRankedContainer = this.dropTarget === \"to-container\" && questionModel.isEmpty();\n var isNeedToShowIndexAtShortcut = !this.isDropTargetUnranked || isDropToEmptyRankedContainer;\n var shortcutIndex = isNeedToShowIndexAtShortcut ? toIndex + 1 : null;\n this.updateDraggedElementShortcut(shortcutIndex);\n if (fromIndex !== toIndex) {\n dropTargetNode.classList.remove(\"sv-dragdrop-moveup\");\n dropTargetNode.classList.remove(\"sv-dragdrop-movedown\");\n questionModel.dropTargetNodeMove = null;\n }\n if (fromIndex > toIndex) {\n questionModel.dropTargetNodeMove = \"down\";\n }\n if (fromIndex < toIndex) {\n questionModel.dropTargetNodeMove = \"up\";\n }\n };\n Object.defineProperty(DragDropRankingSelectToRank.prototype, \"isDraggedElementRanked\", {\n get: function () {\n return this.parentElement.rankingChoices.indexOf(this.draggedElement) !== -1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DragDropRankingSelectToRank.prototype, \"isDropTargetRanked\", {\n get: function () {\n if (this.dropTarget === \"to-container\")\n return true;\n return this.parentElement.rankingChoices.indexOf(this.dropTarget) !== -1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DragDropRankingSelectToRank.prototype, \"isDraggedElementUnranked\", {\n get: function () {\n return !this.isDraggedElementRanked;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DragDropRankingSelectToRank.prototype, \"isDropTargetUnranked\", {\n get: function () {\n return !this.isDropTargetRanked;\n },\n enumerable: false,\n configurable: true\n });\n DragDropRankingSelectToRank.prototype.selectToRank = function (questionModel, fromIndex, toIndex) {\n var rankingChoices = questionModel.rankingChoices;\n var unRankingChoices = questionModel.unRankingChoices;\n var item = unRankingChoices[fromIndex];\n rankingChoices.splice(toIndex, 0, item);\n questionModel.setPropertyValue(\"rankingChoices\", rankingChoices);\n };\n DragDropRankingSelectToRank.prototype.unselectFromRank = function (questionModel, fromIndex, toIndex) {\n var rankingChoices = questionModel.rankingChoices;\n rankingChoices.splice(fromIndex, 1);\n questionModel.setPropertyValue(\"rankingChoices\", rankingChoices);\n };\n DragDropRankingSelectToRank.prototype.reorderRankedItem = function (questionModel, fromIndex, toIndex) {\n var rankingChoices = questionModel.rankingChoices;\n var item = rankingChoices[fromIndex];\n rankingChoices.splice(fromIndex, 1);\n rankingChoices.splice(toIndex, 0, item);\n questionModel.setPropertyValue(\"rankingChoices\", rankingChoices);\n };\n return DragDropRankingSelectToRank;\n}(_ranking_choices__WEBPACK_IMPORTED_MODULE_0__[\"DragDropRankingChoices\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/dropdownListModel.ts\":\n/*!**********************************!*\\\n !*** ./src/dropdownListModel.ts ***!\n \\**********************************/\n/*! exports provided: DropdownListModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DropdownListModel\", function() { return DropdownListModel; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _itemvalue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./itemvalue */ \"./src/itemvalue.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./list */ \"./src/list.ts\");\n/* harmony import */ var _popup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./popup */ \"./src/popup.ts\");\n/* harmony import */ var _question_dropdown__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./question_dropdown */ \"./src/question_dropdown.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/devices */ \"./src/utils/devices.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\nvar DropdownListModel = /** @class */ (function (_super) {\n __extends(DropdownListModel, _super);\n function DropdownListModel(question, onSelectionChanged) {\n var _this = _super.call(this) || this;\n _this.question = question;\n _this.onSelectionChanged = onSelectionChanged;\n _this.minPageSize = 25;\n _this.loadingItemHeight = 40;\n _this._markdownMode = false;\n _this.selectedItemSelector = \".sv-list__item--selected\";\n _this.itemSelector = \".sv-list__item\";\n _this.itemsSettings = { skip: 0, take: 0, totalCount: 0, items: [] };\n _this.isRunningLoadQuestionChoices = false;\n _this.popupCssClasses = \"sv-single-select-list\";\n _this.listModelFilterStringChanged = function (newValue) {\n if (_this.filterString !== newValue) {\n _this.filterString = newValue;\n }\n };\n _this.qustionPropertyChangedHandler = function (sender, options) {\n _this.onPropertyChangedHandler(sender, options);\n };\n question.onPropertyChanged.add(_this.qustionPropertyChangedHandler);\n _this.showInputFieldComponent = _this.question.showInputFieldComponent;\n _this.listModel = _this.createListModel();\n _this.updateAfterListModelCreated(_this.listModel);\n _this.setSearchEnabled(_this.question.searchEnabled);\n _this.createPopup();\n _this.resetItemsSettings();\n return _this;\n }\n Object.defineProperty(DropdownListModel.prototype, \"focusFirstInputSelector\", {\n get: function () {\n return this.getFocusFirstInputSelector();\n },\n enumerable: false,\n configurable: true\n });\n DropdownListModel.prototype.getFocusFirstInputSelector = function () {\n if (_utils_devices__WEBPACK_IMPORTED_MODULE_7__[\"IsTouch\"]) {\n return this.isValueEmpty(this.question.value) ? this.itemSelector : this.selectedItemSelector;\n }\n else {\n return (!this.listModel.showFilter && !!this.question.value) ? this.selectedItemSelector : \"\";\n }\n };\n DropdownListModel.prototype.resetItemsSettings = function () {\n this.itemsSettings.skip = 0;\n this.itemsSettings.take = Math.max(this.minPageSize, this.question.choicesLazyLoadPageSize);\n this.itemsSettings.totalCount = 0;\n this.itemsSettings.items = [];\n };\n DropdownListModel.prototype.setItems = function (items, totalCount) {\n this.itemsSettings.items = [].concat(this.itemsSettings.items, items);\n this.itemsSettings.totalCount = totalCount;\n this.listModel.isAllDataLoaded = this.question.choicesLazyLoadEnabled && this.itemsSettings.items.length == this.itemsSettings.totalCount;\n this.question.choices = this.itemsSettings.items;\n };\n DropdownListModel.prototype.updateQuestionChoices = function (callbackAfterItemsLoaded) {\n var _this = this;\n if (this.isRunningLoadQuestionChoices)\n return;\n var isUpdate = (this.itemsSettings.skip + 1) < this.itemsSettings.totalCount;\n if (!this.itemsSettings.skip || isUpdate) {\n this.isRunningLoadQuestionChoices = true;\n this.question.survey.loadQuestionChoices({\n question: this.question,\n filter: this.filterString,\n skip: this.itemsSettings.skip,\n take: this.itemsSettings.take,\n setItems: function (items, totalCount) {\n _this.isRunningLoadQuestionChoices = false;\n _this.setItems(items || [], totalCount || 0);\n _this.popupRecalculatePosition(_this.itemsSettings.skip === _this.itemsSettings.take);\n if (!!callbackAfterItemsLoaded) {\n callbackAfterItemsLoaded();\n }\n }\n });\n this.itemsSettings.skip += this.itemsSettings.take;\n }\n };\n DropdownListModel.prototype.updatePopupFocusFirstInputSelector = function () {\n this._popupModel.focusFirstInputSelector = this.focusFirstInputSelector;\n };\n DropdownListModel.prototype.createPopup = function () {\n var _this = this;\n this._popupModel = new _popup__WEBPACK_IMPORTED_MODULE_4__[\"PopupModel\"](\"sv-list\", { model: this.listModel }, \"bottom\", \"center\", false);\n this._popupModel.displayMode = _utils_devices__WEBPACK_IMPORTED_MODULE_7__[\"IsTouch\"] ? \"overlay\" : \"popup\";\n this._popupModel.positionMode = \"fixed\";\n this._popupModel.isFocusedContainer = false;\n this._popupModel.isFocusedContent = _utils_devices__WEBPACK_IMPORTED_MODULE_7__[\"IsTouch\"];\n this._popupModel.setWidthByTarget = !_utils_devices__WEBPACK_IMPORTED_MODULE_7__[\"IsTouch\"];\n this.updatePopupFocusFirstInputSelector();\n this.listModel.registerPropertyChangedHandlers([\"showFilter\"], function () {\n _this.updatePopupFocusFirstInputSelector();\n });\n this._popupModel.cssClass = this.popupCssClasses;\n this._popupModel.onVisibilityChanged.add(function (_, option) {\n if (option.isVisible) {\n _this.listModel.renderElements = true;\n }\n if (option.isVisible && _this.question.choicesLazyLoadEnabled) {\n _this.listModel.actions = [];\n _this.updateQuestionChoices();\n }\n if (option.isVisible && !!_this.question.onOpenedCallBack) {\n _this.updatePopupFocusFirstInputSelector();\n _this.question.onOpenedCallBack();\n }\n if (!option.isVisible) {\n _this.onHidePopup();\n if (_this.question.choicesLazyLoadEnabled) {\n _this.resetItemsSettings();\n }\n }\n _this.question.processPopupVisiblilityChanged(_this.popupModel, option.isVisible);\n });\n };\n DropdownListModel.prototype.setFilterStringToListModel = function (newValue) {\n var _this = this;\n this.listModel.filterString = newValue;\n this.listModel.resetFocusedItem();\n if (this.question.selectedItem && this.question.selectedItem.text.indexOf(newValue) >= 0) {\n this.listModel.focusedItem = this.getAvailableItems().filter(function (item) { return item.id == _this.question.selectedItem.value; })[0];\n if (this.listModel.filterString) {\n this.listModel.actions.map(function (a) { return a.selectedValue = false; });\n }\n return;\n }\n if (!this.listModel.focusedItem || !this.listModel.isItemVisible(this.listModel.focusedItem)) {\n this.listModel.focusFirstVisibleItem();\n }\n };\n DropdownListModel.prototype.popupRecalculatePosition = function (isResetHeight) {\n var _this = this;\n setTimeout(function () {\n _this.popupModel.recalculatePosition(isResetHeight);\n }, 1);\n };\n DropdownListModel.prototype.onHidePopup = function () {\n this.resetFilterString();\n this.question.suggestedItem = null;\n this.listModel.refresh();\n };\n DropdownListModel.prototype.getAvailableItems = function () {\n return this.question.visibleChoices;\n };\n DropdownListModel.prototype.createListModel = function () {\n var _this = this;\n var visibleItems = this.getAvailableItems();\n var _onSelectionChanged = this.onSelectionChanged;\n if (!_onSelectionChanged) {\n _onSelectionChanged = function (item) {\n _this.question.value = item.id;\n if (_this.question.searchEnabled)\n _this.applyInputString(item);\n _this._popupModel.toggleVisibility();\n };\n }\n var res = new _list__WEBPACK_IMPORTED_MODULE_3__[\"ListModel\"](visibleItems, _onSelectionChanged, false, undefined, this.question.choicesLazyLoadEnabled ? this.listModelFilterStringChanged : undefined, this.listElementId);\n res.renderElements = false;\n res.forceShowFilter = true;\n res.areSameItemsCallback = function (item1, item2) {\n return item1 === item2;\n };\n return res;\n };\n DropdownListModel.prototype.updateAfterListModelCreated = function (model) {\n var _this = this;\n model.isItemSelected = function (action) { return !!action.selected; };\n model.locOwner = this.question;\n model.onPropertyChanged.add(function (sender, options) {\n if (options.name == \"hasVerticalScroller\") {\n _this.hasScroll = options.newValue;\n }\n });\n model.isAllDataLoaded = !this.question.choicesLazyLoadEnabled;\n };\n DropdownListModel.prototype.updateCssClasses = function (popupCssClass, listCssClasses) {\n this.popupModel.cssClass = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_6__[\"CssClassBuilder\"]().append(popupCssClass).append(this.popupCssClasses).toString();\n this.listModel.cssClasses = listCssClasses;\n };\n DropdownListModel.prototype.resetFilterString = function () {\n if (!!this.filterString) {\n this.filterString = undefined;\n }\n };\n DropdownListModel.prototype.clear = function () {\n this.inputString = null;\n this.hintString = \"\";\n this.resetFilterString();\n };\n DropdownListModel.prototype.onSetFilterString = function () {\n var _this = this;\n if (!this.filterString && !this.popupModel.isVisible)\n return;\n if (!!this.filterString && !this.popupModel.isVisible) {\n this.popupModel.isVisible = true;\n }\n var updateAfterFilterStringChanged = function () {\n _this.setFilterStringToListModel(_this.filterString);\n _this.popupRecalculatePosition(true);\n };\n if (this.question.choicesLazyLoadEnabled) {\n this.resetItemsSettings();\n this.updateQuestionChoices(updateAfterFilterStringChanged);\n }\n else {\n updateAfterFilterStringChanged();\n }\n };\n Object.defineProperty(DropdownListModel.prototype, \"isAllDataLoaded\", {\n get: function () {\n return !!this.itemsSettings.totalCount && this.itemsSettings.items.length == this.itemsSettings.totalCount;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"canShowSelectedItem\", {\n get: function () {\n return !this.focused || this._markdownMode || !this.searchEnabled;\n },\n enumerable: false,\n configurable: true\n });\n DropdownListModel.prototype.applyInputString = function (item) {\n var hasHtml = item === null || item === void 0 ? void 0 : item.locText.hasHtml;\n if (hasHtml || this.question.inputFieldComponentName) {\n this._markdownMode = true;\n this.inputString = \"\";\n this.hintString = \"\";\n }\n else {\n this.inputString = item === null || item === void 0 ? void 0 : item.title;\n this.hintString = item === null || item === void 0 ? void 0 : item.title;\n }\n };\n DropdownListModel.prototype.fixInputCase = function () {\n var hintStringMiddle = this.hintStringMiddle;\n if (hintStringMiddle && this.inputString != hintStringMiddle)\n this.inputString = hintStringMiddle;\n };\n DropdownListModel.prototype.applyHintString = function (item) {\n var hasHtml = item === null || item === void 0 ? void 0 : item.locText.hasHtml;\n if (hasHtml || this.question.inputFieldComponentName) {\n this._markdownMode = true;\n this.hintString = \"\";\n }\n else {\n this.hintString = item === null || item === void 0 ? void 0 : item.title;\n }\n };\n Object.defineProperty(DropdownListModel.prototype, \"inputStringRendered\", {\n get: function () {\n return this.inputString || \"\";\n },\n set: function (val) {\n this.inputString = val;\n this.filterString = val;\n if (!val) {\n this.hintString = \"\";\n }\n else {\n this.applyHintString(this.listModel.focusedItem || this.question.selectedItem);\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"placeholderRendered\", {\n get: function () {\n return this.hintString ? \"\" : this.question.readOnlyText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"listElementId\", {\n get: function () {\n return this.question.inputId + \"_list\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"hintStringLC\", {\n get: function () {\n var _a;\n return ((_a = this.hintString) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"inputStringLC\", {\n get: function () {\n var _a;\n return ((_a = this.inputString) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"showHintPrefix\", {\n get: function () {\n return !!this.inputString && this.hintStringLC.indexOf(this.inputStringLC) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"hintStringPrefix\", {\n get: function () {\n if (!this.inputString)\n return null;\n return this.hintString.substring(0, this.hintStringLC.indexOf(this.inputStringLC));\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"showHintString\", {\n get: function () {\n return !!this.question.searchEnabled && this.hintStringLC && this.hintStringLC.indexOf(this.inputStringLC) >= 0 ||\n !this.question.searchEnabled && this.hintStringLC && this.question.isEmpty();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"hintStringSuffix\", {\n get: function () {\n return this.hintString.substring(this.hintStringLC.indexOf(this.inputStringLC) + this.inputStringLC.length);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"hintStringMiddle\", {\n get: function () {\n var start = this.hintStringLC.indexOf(this.inputStringLC);\n if (start == -1)\n return null;\n return this.hintString.substring(start, start + this.inputStringLC.length);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"popupModel\", {\n get: function () {\n return this._popupModel;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"noTabIndex\", {\n get: function () {\n return this.question.isInputReadOnly || this.searchEnabled;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"filterReadOnly\", {\n get: function () {\n return this.question.isInputReadOnly || !this.searchEnabled || !this.focused;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"filterStringEnabled\", {\n get: function () {\n return !this.question.isInputReadOnly && this.searchEnabled;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownListModel.prototype, \"inputMode\", {\n get: function () {\n return _utils_devices__WEBPACK_IMPORTED_MODULE_7__[\"IsTouch\"] ? \"none\" : \"text\";\n },\n enumerable: false,\n configurable: true\n });\n DropdownListModel.prototype.setSearchEnabled = function (newValue) {\n this.listModel.searchEnabled = _utils_devices__WEBPACK_IMPORTED_MODULE_7__[\"IsTouch\"];\n this.listModel.showSearchClearButton = _utils_devices__WEBPACK_IMPORTED_MODULE_7__[\"IsTouch\"];\n this.searchEnabled = newValue;\n };\n DropdownListModel.prototype.updateItems = function () {\n this.listModel.setItems(this.getAvailableItems());\n };\n DropdownListModel.prototype.onClick = function (event) {\n if (this.question.readOnly || this.question.isDesignMode)\n return;\n this._popupModel.toggleVisibility();\n this.focusItemOnClickAndPopup();\n this.question.focus();\n };\n DropdownListModel.prototype.chevronPointerDown = function (event) {\n if (this._popupModel.isVisible) {\n event.preventDefault();\n }\n };\n DropdownListModel.prototype.onPropertyChangedHandler = function (sender, options) {\n if (options.name == \"value\") {\n this.showInputFieldComponent = this.question.showInputFieldComponent;\n }\n if (options.name == \"choicesLazyLoadEnabled\" && options.newValue) {\n this.listModel.setOnFilterStringChangedCallback(this.listModelFilterStringChanged);\n }\n };\n DropdownListModel.prototype.focusItemOnClickAndPopup = function () {\n if (this._popupModel.isVisible && this.question.value)\n this.changeSelectionWithKeyboard(false);\n };\n DropdownListModel.prototype.onClear = function (event) {\n this.question.clearValue();\n this._popupModel.isVisible = false;\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n DropdownListModel.prototype.getSelectedAction = function () {\n return this.question.selectedItem || null;\n };\n DropdownListModel.prototype.changeSelectionWithKeyboard = function (reverse) {\n var _a;\n var focusedItem = this.listModel.focusedItem;\n if (!focusedItem && this.question.selectedItem) {\n if (_itemvalue__WEBPACK_IMPORTED_MODULE_1__[\"ItemValue\"].getItemByValue(this.question.visibleChoices, this.question.value)) {\n this.listModel.focusedItem = this.question.selectedItem;\n }\n }\n else {\n if (reverse) {\n this.listModel.focusPrevVisibleItem();\n }\n else {\n this.listModel.focusNextVisibleItem();\n }\n }\n this.beforeScrollToFocusedItem(focusedItem);\n this.scrollToFocusedItem();\n this.afterScrollToFocusedItem();\n this.ariaActivedescendant = (_a = this.listModel.focusedItem) === null || _a === void 0 ? void 0 : _a.elementId;\n };\n DropdownListModel.prototype.beforeScrollToFocusedItem = function (focusedItem) {\n if (this.question.value && focusedItem) {\n focusedItem.selectedValue = false;\n this.listModel.focusedItem.selectedValue = !this.listModel.filterString;\n this.question.suggestedItem = this.listModel.focusedItem;\n }\n };\n DropdownListModel.prototype.afterScrollToFocusedItem = function () {\n var _a;\n if (this.question.value && !this.listModel.filterString && this.question.searchEnabled) {\n this.applyInputString(this.listModel.focusedItem || this.question.selectedItem);\n }\n else {\n this.applyHintString(this.listModel.focusedItem || this.question.selectedItem);\n }\n this.fixInputCase();\n this.ariaActivedescendant = (_a = this.listModel.focusedItem) === null || _a === void 0 ? void 0 : _a.elementId;\n };\n DropdownListModel.prototype.keyHandler = function (event) {\n var char = event.which || event.keyCode;\n if (this.popupModel.isVisible && event.keyCode === 38) {\n this.changeSelectionWithKeyboard(true);\n event.preventDefault();\n event.stopPropagation();\n }\n else if (event.keyCode === 40) {\n if (!this.popupModel.isVisible) {\n this.popupModel.toggleVisibility();\n }\n this.changeSelectionWithKeyboard(false);\n event.preventDefault();\n event.stopPropagation();\n }\n if (event.keyCode === 9) {\n this.popupModel.isVisible = false;\n }\n else if (!this.popupModel.isVisible && (event.keyCode === 13 || event.keyCode === 32)) {\n if (event.keyCode === 32) {\n this.popupModel.toggleVisibility();\n this.changeSelectionWithKeyboard(false);\n }\n if (event.keyCode === 13) {\n this.question.survey.questionEditFinishCallback(this.question, event);\n }\n event.preventDefault();\n event.stopPropagation();\n }\n else if (this.popupModel.isVisible && (event.keyCode === 13 || event.keyCode === 32 && (!this.question.searchEnabled || !this.inputString))) {\n if (event.keyCode === 13 && this.question.searchEnabled && !this.inputString && this.question instanceof _question_dropdown__WEBPACK_IMPORTED_MODULE_5__[\"QuestionDropdownModel\"] && !this._markdownMode && this.question.value) {\n this._popupModel.isVisible = false;\n this.onClear(event);\n }\n else {\n this.listModel.selectFocusedItem();\n this.onFocus(event);\n }\n event.preventDefault();\n event.stopPropagation();\n }\n else if (char === 46 || char === 8) {\n if (!this.searchEnabled) {\n this.onClear(event);\n }\n }\n else if (event.keyCode === 27) {\n this._popupModel.isVisible = false;\n this.hintString = \"\";\n this.onEscape();\n }\n else {\n if (event.keyCode === 38 || event.keyCode === 40 || event.keyCode === 32 && !this.question.searchEnabled) {\n event.preventDefault();\n event.stopPropagation();\n }\n if (event.keyCode === 32 && this.question.searchEnabled) {\n return;\n }\n Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__[\"doKey2ClickUp\"])(event, { processEsc: false, disableTabStop: this.question.isInputReadOnly });\n }\n };\n DropdownListModel.prototype.onEscape = function () {\n if (this.question.searchEnabled)\n this.applyInputString(this.question.selectedItem);\n };\n DropdownListModel.prototype.onScroll = function (event) {\n var target = event.target;\n if ((target.scrollHeight - (target.scrollTop + target.offsetHeight)) <= this.loadingItemHeight) {\n this.updateQuestionChoices();\n }\n };\n DropdownListModel.prototype.onBlur = function (event) {\n this.focused = false;\n if (this.popupModel.isVisible && _utils_devices__WEBPACK_IMPORTED_MODULE_7__[\"IsTouch\"]) {\n this._popupModel.isVisible = true;\n return;\n }\n Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__[\"doKey2ClickBlur\"])(event);\n this._popupModel.isVisible = false;\n this.resetFilterString();\n this.inputString = null;\n this.hintString = \"\";\n event.stopPropagation();\n };\n DropdownListModel.prototype.onFocus = function (event) {\n this.focused = true;\n this.setInputStringFromSelectedItem(this.question.selectedItem);\n };\n DropdownListModel.prototype.setInputStringFromSelectedItem = function (newValue) {\n if (!this.focused)\n return;\n if (this.question.searchEnabled && !!newValue) {\n this.applyInputString(newValue);\n }\n else {\n this.inputString = null;\n }\n };\n DropdownListModel.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n this.question && this.question.onPropertyChanged.remove(this.qustionPropertyChangedHandler);\n this.qustionPropertyChangedHandler = undefined;\n if (!!this.listModel) {\n this.listModel.dispose();\n }\n if (!!this.popupModel) {\n this.popupModel.dispose();\n }\n };\n DropdownListModel.prototype.scrollToFocusedItem = function () {\n this.listModel.scrollToFocusedItem();\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: false })\n ], DropdownListModel.prototype, \"focused\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: true })\n ], DropdownListModel.prototype, \"searchEnabled\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({\n defaultValue: \"\",\n onSet: function (_, target) {\n target.onSetFilterString();\n }\n })\n ], DropdownListModel.prototype, \"filterString\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({\n defaultValue: \"\",\n onSet: function (newValue, target) {\n target.question.inputHasValue = !!newValue;\n }\n })\n ], DropdownListModel.prototype, \"inputString\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({})\n ], DropdownListModel.prototype, \"showInputFieldComponent\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], DropdownListModel.prototype, \"ariaActivedescendant\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({\n defaultValue: false,\n onSet: function (newVal, target) {\n if (newVal) {\n target.listModel.addScrollEventListener(function (e) { target.onScroll(e); });\n }\n else {\n target.listModel.removeScrollEventListener();\n }\n }\n })\n ], DropdownListModel.prototype, \"hasScroll\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: \"\" })\n ], DropdownListModel.prototype, \"hintString\", void 0);\n return DropdownListModel;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/dropdownMultiSelectListModel.ts\":\n/*!*********************************************!*\\\n !*** ./src/dropdownMultiSelectListModel.ts ***!\n \\*********************************************/\n/*! exports provided: DropdownMultiSelectListModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DropdownMultiSelectListModel\", function() { return DropdownMultiSelectListModel; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _dropdownListModel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dropdownListModel */ \"./src/dropdownListModel.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _multiSelectListModel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./multiSelectListModel */ \"./src/multiSelectListModel.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/devices */ \"./src/utils/devices.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\nvar DropdownMultiSelectListModel = /** @class */ (function (_super) {\n __extends(DropdownMultiSelectListModel, _super);\n function DropdownMultiSelectListModel(question, onSelectionChanged) {\n var _this = _super.call(this, question, onSelectionChanged) || this;\n _this.popupCssClasses = \"sv-multi-select-list\";\n _this.setHideSelectedItems(question.hideSelectedItems);\n _this.syncFilterStringPlaceholder();\n _this.closeOnSelect = question.closeOnSelect;\n return _this;\n }\n DropdownMultiSelectListModel.prototype.locStrsChanged = function () {\n _super.prototype.locStrsChanged.call(this);\n this.syncFilterStringPlaceholder();\n };\n DropdownMultiSelectListModel.prototype.updateListState = function () {\n this.listModel.updateState();\n this.syncFilterStringPlaceholder();\n };\n DropdownMultiSelectListModel.prototype.syncFilterStringPlaceholder = function () {\n var selectedActions = this.getSelectedActions();\n if (selectedActions.length || this.question.selectedItems.length || this.listModel.focusedItem) {\n this.filterStringPlaceholder = undefined;\n }\n else {\n this.filterStringPlaceholder = this.question.placeholder;\n }\n };\n DropdownMultiSelectListModel.prototype.getSelectedActions = function () {\n return this.listModel.actions.filter(function (item) { return item.selected; });\n };\n DropdownMultiSelectListModel.prototype.getFocusFirstInputSelector = function () {\n if (this.listModel.hideSelectedItems && _utils_devices__WEBPACK_IMPORTED_MODULE_5__[\"IsTouch\"] && !this.isValueEmpty(this.question.value)) {\n return this.itemSelector;\n }\n else {\n return _super.prototype.getFocusFirstInputSelector.call(this);\n }\n };\n DropdownMultiSelectListModel.prototype.createListModel = function () {\n var _this = this;\n var visibleItems = this.getAvailableItems();\n var _onSelectionChanged = this.onSelectionChanged;\n if (!_onSelectionChanged) {\n _onSelectionChanged = function (item, status) {\n _this.resetFilterString();\n if (item.id === \"selectall\") {\n _this.selectAllItems();\n }\n else if (status === \"added\" && item.value === _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].noneItemValue) {\n _this.selectNoneItem();\n }\n else if (status === \"added\") {\n _this.selectItem(item.value);\n }\n else if (status === \"removed\") {\n _this.deselectItem(item.value);\n }\n _this.popupRecalculatePosition(false);\n if (_this.closeOnSelect) {\n _this.popupModel.isVisible = false;\n }\n };\n }\n var res = new _multiSelectListModel__WEBPACK_IMPORTED_MODULE_3__[\"MultiSelectListModel\"](visibleItems, _onSelectionChanged, false, undefined, this.question.choicesLazyLoadEnabled ? this.listModelFilterStringChanged : undefined, this.listElementId);\n res.forceShowFilter = true;\n return res;\n };\n DropdownMultiSelectListModel.prototype.resetFilterString = function () {\n _super.prototype.resetFilterString.call(this);\n this.inputString = null;\n this.hintString = \"\";\n };\n Object.defineProperty(DropdownMultiSelectListModel.prototype, \"shouldResetAfterCancel\", {\n get: function () {\n return _utils_devices__WEBPACK_IMPORTED_MODULE_5__[\"IsTouch\"] && !this.closeOnSelect;\n },\n enumerable: false,\n configurable: true\n });\n DropdownMultiSelectListModel.prototype.createPopup = function () {\n var _this = this;\n _super.prototype.createPopup.call(this);\n this.popupModel.onFooterActionsCreated.add(function (_, opt) {\n if (_this.shouldResetAfterCancel) {\n opt.actions.push({\n id: \"sv-dropdown-done-button\",\n title: _this.doneButtonCaption,\n innerCss: \"sv-popup__button--done\",\n needSpace: true,\n action: function () { _this.popupModel.isVisible = false; },\n enabled: new _base__WEBPACK_IMPORTED_MODULE_0__[\"ComputedUpdater\"](function () { return !_this.isTwoValueEquals(_this.question.renderedValue, _this.previousValue); })\n });\n }\n });\n this.popupModel.onVisibilityChanged.add(function (_, opt) {\n if (_this.shouldResetAfterCancel && opt.isVisible) {\n _this.previousValue = [].concat(_this.question.renderedValue || []);\n }\n });\n this.popupModel.onCancel = function () {\n if (_this.shouldResetAfterCancel) {\n _this.question.renderedValue = _this.previousValue;\n _this.updateListState();\n }\n };\n };\n DropdownMultiSelectListModel.prototype.selectAllItems = function () {\n this.question.toggleSelectAll();\n this.updateListState();\n };\n DropdownMultiSelectListModel.prototype.selectNoneItem = function () {\n this.question.renderedValue = [_settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].noneItemValue];\n this.updateListState();\n };\n DropdownMultiSelectListModel.prototype.selectItem = function (id) {\n var newValue = [].concat(this.question.renderedValue || []);\n newValue.push(id);\n this.question.renderedValue = newValue;\n this.updateListState();\n };\n DropdownMultiSelectListModel.prototype.deselectItem = function (id) {\n var newValue = [].concat(this.question.renderedValue || []);\n newValue.splice(newValue.indexOf(id), 1);\n this.question.renderedValue = newValue;\n this.applyHintString(this.listModel.focusedItem);\n this.updateListState();\n };\n DropdownMultiSelectListModel.prototype.clear = function () {\n _super.prototype.clear.call(this);\n this.syncFilterStringPlaceholder();\n };\n DropdownMultiSelectListModel.prototype.onClear = function (event) {\n _super.prototype.onClear.call(this, event);\n this.updateListState();\n };\n DropdownMultiSelectListModel.prototype.setHideSelectedItems = function (newValue) {\n this.listModel.hideSelectedItems = newValue;\n this.updateListState();\n };\n DropdownMultiSelectListModel.prototype.removeLastSelectedItem = function () {\n this.deselectItem(this.question.renderedValue[this.question.renderedValue.length - 1]);\n this.popupRecalculatePosition(false);\n };\n DropdownMultiSelectListModel.prototype.inputKeyHandler = function (event) {\n if (event.keyCode === 8 && !this.filterString) {\n this.removeLastSelectedItem();\n event.preventDefault();\n event.stopPropagation();\n }\n };\n DropdownMultiSelectListModel.prototype.setInputStringFromSelectedItem = function (newValue) {\n if (this.question.searchEnabled) {\n this.inputString = null;\n }\n };\n DropdownMultiSelectListModel.prototype.focusItemOnClickAndPopup = function () {\n return;\n };\n DropdownMultiSelectListModel.prototype.onEscape = function () {\n return;\n };\n DropdownMultiSelectListModel.prototype.beforeScrollToFocusedItem = function (focusedItem) {\n return;\n };\n DropdownMultiSelectListModel.prototype.afterScrollToFocusedItem = function () {\n var _a;\n if (!((_a = this.listModel.focusedItem) === null || _a === void 0 ? void 0 : _a.selected)) {\n this.applyHintString(this.listModel.focusedItem || this.question.selectedItem);\n }\n else {\n this.hintString = \"\";\n }\n this.syncFilterStringPlaceholder();\n };\n DropdownMultiSelectListModel.prototype.onPropertyChangedHandler = function (sender, options) {\n _super.prototype.onPropertyChangedHandler.call(this, sender, options);\n if (options.name === \"value\" || options.name === \"renderedValue\") {\n this.syncFilterStringPlaceholder();\n }\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: \"\" })\n ], DropdownMultiSelectListModel.prototype, \"filterStringPlaceholder\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: true })\n ], DropdownMultiSelectListModel.prototype, \"closeOnSelect\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], DropdownMultiSelectListModel.prototype, \"previousValue\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ localizable: { defaultStr: \"tagboxDoneButtonCaption\" } })\n ], DropdownMultiSelectListModel.prototype, \"doneButtonCaption\", void 0);\n return DropdownMultiSelectListModel;\n}(_dropdownListModel__WEBPACK_IMPORTED_MODULE_1__[\"DropdownListModel\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/dxSurveyService.ts\":\n/*!********************************!*\\\n !*** ./src/dxSurveyService.ts ***!\n \\********************************/\n/*! exports provided: dxSurveyService */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dxSurveyService\", function() { return dxSurveyService; });\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n\n/**\n * The class contains methods to work with api.surveyjs.io service.\n */\nvar dxSurveyService = /** @class */ (function () {\n function dxSurveyService() {\n }\n Object.defineProperty(dxSurveyService, \"serviceUrl\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].web.surveyServiceUrl;\n },\n set: function (val) {\n _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].web.surveyServiceUrl = val;\n },\n enumerable: false,\n configurable: true\n });\n dxSurveyService.prototype.loadSurvey = function (surveyId, onLoad) {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", dxSurveyService.serviceUrl + \"/getSurvey?surveyId=\" + surveyId);\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n xhr.onload = function () {\n var result = JSON.parse(xhr.response);\n onLoad(xhr.status == 200, result, xhr.response);\n };\n xhr.send();\n };\n dxSurveyService.prototype.getSurveyJsonAndIsCompleted = function (surveyId, clientId, onLoad) {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", dxSurveyService.serviceUrl +\n \"/getSurveyAndIsCompleted?surveyId=\" +\n surveyId +\n \"&clientId=\" +\n clientId);\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n xhr.onload = function () {\n var result = JSON.parse(xhr.response);\n var surveyJson = result ? result.survey : null;\n var isCompleted = result ? result.isCompleted : null;\n onLoad(xhr.status == 200, surveyJson, isCompleted, xhr.response);\n };\n xhr.send();\n };\n dxSurveyService.prototype.sendResult = function (postId, result, onSendResult, clientId, isPartialCompleted) {\n if (clientId === void 0) { clientId = null; }\n if (isPartialCompleted === void 0) { isPartialCompleted = false; }\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", dxSurveyService.serviceUrl + \"/post/\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json; charset=utf-8\");\n var data = { postId: postId, surveyResult: JSON.stringify(result) };\n if (clientId)\n data[\"clientId\"] = clientId;\n if (isPartialCompleted)\n data[\"isPartialCompleted\"] = true;\n var dataStringify = JSON.stringify(data);\n var self = this;\n xhr.onload = xhr.onerror = function () {\n if (!onSendResult)\n return;\n onSendResult(xhr.status === 200, xhr.response, xhr);\n };\n xhr.send(dataStringify);\n };\n dxSurveyService.prototype.sendFile = function (postId, file, onSendFile) {\n var xhr = new XMLHttpRequest();\n xhr.onload = xhr.onerror = function () {\n if (!onSendFile)\n return;\n onSendFile(xhr.status == 200, JSON.parse(xhr.response));\n };\n xhr.open(\"POST\", dxSurveyService.serviceUrl + \"/upload/\", true);\n var formData = new FormData();\n formData.append(\"file\", file);\n formData.append(\"postId\", postId);\n xhr.send(formData);\n };\n dxSurveyService.prototype.getResult = function (resultId, name, onGetResult) {\n var xhr = new XMLHttpRequest();\n var data = \"resultId=\" + resultId + \"&name=\" + name;\n xhr.open(\"GET\", dxSurveyService.serviceUrl + \"/getResult?\" + data);\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n var self = this;\n xhr.onload = function () {\n var result = null;\n var list = null;\n if (xhr.status == 200) {\n result = JSON.parse(xhr.response);\n list = [];\n for (var key in result.QuestionResult) {\n var el = { name: key, value: result.QuestionResult[key] };\n list.push(el);\n }\n }\n onGetResult(xhr.status == 200, result, list, xhr.response);\n };\n xhr.send();\n };\n dxSurveyService.prototype.isCompleted = function (resultId, clientId, onIsCompleted) {\n var xhr = new XMLHttpRequest();\n var data = \"resultId=\" + resultId + \"&clientId=\" + clientId;\n xhr.open(\"GET\", dxSurveyService.serviceUrl + \"/isCompleted?\" + data);\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n var self = this;\n xhr.onload = function () {\n var result = null;\n if (xhr.status == 200) {\n result = JSON.parse(xhr.response);\n }\n onIsCompleted(xhr.status == 200, result, xhr.response);\n };\n xhr.send();\n };\n return dxSurveyService;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/element-helper.ts\":\n/*!*******************************!*\\\n !*** ./src/element-helper.ts ***!\n \\*******************************/\n/*! exports provided: ElementHelper */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ElementHelper\", function() { return ElementHelper; });\nvar ElementHelper = /** @class */ (function () {\n function ElementHelper() {\n }\n ElementHelper.focusElement = function (element) {\n element && element.focus();\n };\n ElementHelper.visibility = function (node) {\n var style = window.getComputedStyle(node);\n if (style.display === \"none\" || style.visibility === \"hidden\")\n return false;\n return node.parentElement ? this.visibility(node.parentElement) : true;\n };\n ElementHelper.getNextElementPreorder = function (element) {\n var result = !!element.nextElementSibling ? element.nextElementSibling : element.parentElement.firstElementChild;\n if (this.visibility(result)) {\n return result;\n }\n else {\n return this.getNextElementPreorder(result);\n }\n };\n ElementHelper.getNextElementPostorder = function (element) {\n var result = !!element.previousElementSibling ? element.previousElementSibling : element.parentElement.lastElementChild;\n if (this.visibility(result)) {\n return result;\n }\n else {\n return this.getNextElementPostorder(result);\n }\n };\n ElementHelper.hasHorizontalScroller = function (element) {\n if (!!element) {\n return element.scrollWidth > element.offsetWidth;\n }\n return false;\n };\n ElementHelper.hasVerticalScroller = function (element) {\n if (!!element) {\n return element.scrollHeight > element.offsetHeight;\n }\n return false;\n };\n return ElementHelper;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/entries/chunks/model.ts\":\n/*!*************************************!*\\\n !*** ./src/entries/chunks/model.ts ***!\n \\*************************************/\n/*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Version\", function() { return Version; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ReleaseDate\", function() { return ReleaseDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkLibraryVersion\", function() { return checkLibraryVersion; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setLicenseKey\", function() { return setLicenseKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"slk\", function() { return slk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasLicense\", function() { return hasLicense; });\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../settings */ \"./src/settings.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"]; });\n\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../helpers */ \"./src/helpers.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Helpers\", function() { return _helpers__WEBPACK_IMPORTED_MODULE_1__[\"Helpers\"]; });\n\n/* harmony import */ var _validator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../validator */ \"./src/validator.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnswerCountValidator\", function() { return _validator__WEBPACK_IMPORTED_MODULE_2__[\"AnswerCountValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmailValidator\", function() { return _validator__WEBPACK_IMPORTED_MODULE_2__[\"EmailValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NumericValidator\", function() { return _validator__WEBPACK_IMPORTED_MODULE_2__[\"NumericValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RegexValidator\", function() { return _validator__WEBPACK_IMPORTED_MODULE_2__[\"RegexValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyValidator\", function() { return _validator__WEBPACK_IMPORTED_MODULE_2__[\"SurveyValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextValidator\", function() { return _validator__WEBPACK_IMPORTED_MODULE_2__[\"TextValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ValidatorResult\", function() { return _validator__WEBPACK_IMPORTED_MODULE_2__[\"ValidatorResult\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionValidator\", function() { return _validator__WEBPACK_IMPORTED_MODULE_2__[\"ExpressionValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ValidatorRunner\", function() { return _validator__WEBPACK_IMPORTED_MODULE_2__[\"ValidatorRunner\"]; });\n\n/* harmony import */ var _itemvalue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../itemvalue */ \"./src/itemvalue.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ItemValue\", function() { return _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"]; });\n\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../base */ \"./src/base.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Base\", function() { return _base__WEBPACK_IMPORTED_MODULE_4__[\"Base\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Event\", function() { return _base__WEBPACK_IMPORTED_MODULE_4__[\"Event\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EventBase\", function() { return _base__WEBPACK_IMPORTED_MODULE_4__[\"EventBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ArrayChanges\", function() { return _base__WEBPACK_IMPORTED_MODULE_4__[\"ArrayChanges\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComputedUpdater\", function() { return _base__WEBPACK_IMPORTED_MODULE_4__[\"ComputedUpdater\"]; });\n\n/* harmony import */ var _survey_error__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../survey-error */ \"./src/survey-error.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyError\", function() { return _survey_error__WEBPACK_IMPORTED_MODULE_5__[\"SurveyError\"]; });\n\n/* harmony import */ var _survey_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../survey-element */ \"./src/survey-element.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElementCore\", function() { return _survey_element__WEBPACK_IMPORTED_MODULE_6__[\"SurveyElementCore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElement\", function() { return _survey_element__WEBPACK_IMPORTED_MODULE_6__[\"SurveyElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragTypeOverMeEnum\", function() { return _survey_element__WEBPACK_IMPORTED_MODULE_6__[\"DragTypeOverMeEnum\"]; });\n\n/* harmony import */ var _calculatedValue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../calculatedValue */ \"./src/calculatedValue.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CalculatedValue\", function() { return _calculatedValue__WEBPACK_IMPORTED_MODULE_7__[\"CalculatedValue\"]; });\n\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../error */ \"./src/error.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomError\", function() { return _error__WEBPACK_IMPORTED_MODULE_8__[\"CustomError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnswerRequiredError\", function() { return _error__WEBPACK_IMPORTED_MODULE_8__[\"AnswerRequiredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"OneAnswerRequiredError\", function() { return _error__WEBPACK_IMPORTED_MODULE_8__[\"OneAnswerRequiredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RequreNumericError\", function() { return _error__WEBPACK_IMPORTED_MODULE_8__[\"RequreNumericError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExceedSizeError\", function() { return _error__WEBPACK_IMPORTED_MODULE_8__[\"ExceedSizeError\"]; });\n\n/* harmony import */ var _localizablestring__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../localizablestring */ \"./src/localizablestring.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LocalizableString\", function() { return _localizablestring__WEBPACK_IMPORTED_MODULE_9__[\"LocalizableString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LocalizableStrings\", function() { return _localizablestring__WEBPACK_IMPORTED_MODULE_9__[\"LocalizableStrings\"]; });\n\n/* harmony import */ var _expressionItems__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../expressionItems */ \"./src/expressionItems.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HtmlConditionItem\", function() { return _expressionItems__WEBPACK_IMPORTED_MODULE_10__[\"HtmlConditionItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UrlConditionItem\", function() { return _expressionItems__WEBPACK_IMPORTED_MODULE_10__[\"UrlConditionItem\"]; });\n\n/* harmony import */ var _choicesRestful__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../choicesRestful */ \"./src/choicesRestful.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestful\", function() { return _choicesRestful__WEBPACK_IMPORTED_MODULE_11__[\"ChoicesRestful\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestfull\", function() { return _choicesRestful__WEBPACK_IMPORTED_MODULE_11__[\"ChoicesRestfull\"]; });\n\n/* harmony import */ var _functionsfactory__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../functionsfactory */ \"./src/functionsfactory.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunctionFactory\", function() { return _functionsfactory__WEBPACK_IMPORTED_MODULE_12__[\"FunctionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerFunction\", function() { return _functionsfactory__WEBPACK_IMPORTED_MODULE_12__[\"registerFunction\"]; });\n\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../conditions */ \"./src/conditions.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConditionRunner\", function() { return _conditions__WEBPACK_IMPORTED_MODULE_13__[\"ConditionRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionRunner\", function() { return _conditions__WEBPACK_IMPORTED_MODULE_13__[\"ExpressionRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionExecutor\", function() { return _conditions__WEBPACK_IMPORTED_MODULE_13__[\"ExpressionExecutor\"]; });\n\n/* harmony import */ var _expressions_expressions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../expressions/expressions */ \"./src/expressions/expressions.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Operand\", function() { return _expressions_expressions__WEBPACK_IMPORTED_MODULE_14__[\"Operand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Const\", function() { return _expressions_expressions__WEBPACK_IMPORTED_MODULE_14__[\"Const\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BinaryOperand\", function() { return _expressions_expressions__WEBPACK_IMPORTED_MODULE_14__[\"BinaryOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Variable\", function() { return _expressions_expressions__WEBPACK_IMPORTED_MODULE_14__[\"Variable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunctionOperand\", function() { return _expressions_expressions__WEBPACK_IMPORTED_MODULE_14__[\"FunctionOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ArrayOperand\", function() { return _expressions_expressions__WEBPACK_IMPORTED_MODULE_14__[\"ArrayOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnaryOperand\", function() { return _expressions_expressions__WEBPACK_IMPORTED_MODULE_14__[\"UnaryOperand\"]; });\n\n/* harmony import */ var _conditionsParser__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../conditionsParser */ \"./src/conditionsParser.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConditionsParser\", function() { return _conditionsParser__WEBPACK_IMPORTED_MODULE_15__[\"ConditionsParser\"]; });\n\n/* harmony import */ var _conditionProcessValue__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../conditionProcessValue */ \"./src/conditionProcessValue.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProcessValue\", function() { return _conditionProcessValue__WEBPACK_IMPORTED_MODULE_16__[\"ProcessValue\"]; });\n\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../jsonobject */ \"./src/jsonobject.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonError\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_17__[\"JsonError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonIncorrectTypeError\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_17__[\"JsonIncorrectTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadata\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_17__[\"JsonMetadata\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadataClass\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_17__[\"JsonMetadataClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeError\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_17__[\"JsonMissingTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeErrorBase\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_17__[\"JsonMissingTypeErrorBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonObject\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_17__[\"JsonObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonObjectProperty\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_17__[\"JsonObjectProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonRequiredPropertyError\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_17__[\"JsonRequiredPropertyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonUnknownPropertyError\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_17__[\"JsonUnknownPropertyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Serializer\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_17__[\"Serializer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"property\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_17__[\"property\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propertyArray\", function() { return _jsonobject__WEBPACK_IMPORTED_MODULE_17__[\"propertyArray\"]; });\n\n/* harmony import */ var _question_matrixdropdownbase__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../question_matrixdropdownbase */ \"./src/question_matrixdropdownbase.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownCell\", function() { return _question_matrixdropdownbase__WEBPACK_IMPORTED_MODULE_18__[\"MatrixDropdownCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownRowModelBase\", function() { return _question_matrixdropdownbase__WEBPACK_IMPORTED_MODULE_18__[\"MatrixDropdownRowModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownModelBase\", function() { return _question_matrixdropdownbase__WEBPACK_IMPORTED_MODULE_18__[\"QuestionMatrixDropdownModelBase\"]; });\n\n/* harmony import */ var _question_matrixdropdowncolumn__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../question_matrixdropdowncolumn */ \"./src/question_matrixdropdowncolumn.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownColumn\", function() { return _question_matrixdropdowncolumn__WEBPACK_IMPORTED_MODULE_19__[\"MatrixDropdownColumn\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"matrixDropdownColumnTypes\", function() { return _question_matrixdropdowncolumn__WEBPACK_IMPORTED_MODULE_19__[\"matrixDropdownColumnTypes\"]; });\n\n/* harmony import */ var _question_matrixdropdownrendered__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../question_matrixdropdownrendered */ \"./src/question_matrixdropdownrendered.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedCell\", function() { return _question_matrixdropdownrendered__WEBPACK_IMPORTED_MODULE_20__[\"QuestionMatrixDropdownRenderedCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedRow\", function() { return _question_matrixdropdownrendered__WEBPACK_IMPORTED_MODULE_20__[\"QuestionMatrixDropdownRenderedRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedTable\", function() { return _question_matrixdropdownrendered__WEBPACK_IMPORTED_MODULE_20__[\"QuestionMatrixDropdownRenderedTable\"]; });\n\n/* harmony import */ var _question_matrixdropdown__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../question_matrixdropdown */ \"./src/question_matrixdropdown.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownRowModel\", function() { return _question_matrixdropdown__WEBPACK_IMPORTED_MODULE_21__[\"MatrixDropdownRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownModel\", function() { return _question_matrixdropdown__WEBPACK_IMPORTED_MODULE_21__[\"QuestionMatrixDropdownModel\"]; });\n\n/* harmony import */ var _question_matrixdynamic__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../question_matrixdynamic */ \"./src/question_matrixdynamic.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDynamicRowModel\", function() { return _question_matrixdynamic__WEBPACK_IMPORTED_MODULE_22__[\"MatrixDynamicRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDynamicModel\", function() { return _question_matrixdynamic__WEBPACK_IMPORTED_MODULE_22__[\"QuestionMatrixDynamicModel\"]; });\n\n/* harmony import */ var _question_matrix__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../question_matrix */ \"./src/question_matrix.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixRowModel\", function() { return _question_matrix__WEBPACK_IMPORTED_MODULE_23__[\"MatrixRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixCells\", function() { return _question_matrix__WEBPACK_IMPORTED_MODULE_23__[\"MatrixCells\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixModel\", function() { return _question_matrix__WEBPACK_IMPORTED_MODULE_23__[\"QuestionMatrixModel\"]; });\n\n/* harmony import */ var _martixBase__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../martixBase */ \"./src/martixBase.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixBaseModel\", function() { return _martixBase__WEBPACK_IMPORTED_MODULE_24__[\"QuestionMatrixBaseModel\"]; });\n\n/* harmony import */ var _question_multipletext__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../question_multipletext */ \"./src/question_multipletext.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextItemModel\", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__[\"MultipleTextItemModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextCell\", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__[\"MultipleTextCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextErrorCell\", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__[\"MultipleTextErrorCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MutlipleTextErrorRow\", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__[\"MutlipleTextErrorRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MutlipleTextRow\", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__[\"MutlipleTextRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMultipleTextModel\", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__[\"QuestionMultipleTextModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextEditorModel\", function() { return _question_multipletext__WEBPACK_IMPORTED_MODULE_25__[\"MultipleTextEditorModel\"]; });\n\n/* harmony import */ var _panel__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../panel */ \"./src/panel.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PanelModel\", function() { return _panel__WEBPACK_IMPORTED_MODULE_26__[\"PanelModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PanelModelBase\", function() { return _panel__WEBPACK_IMPORTED_MODULE_26__[\"PanelModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRowModel\", function() { return _panel__WEBPACK_IMPORTED_MODULE_26__[\"QuestionRowModel\"]; });\n\n/* harmony import */ var _flowpanel__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../flowpanel */ \"./src/flowpanel.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FlowPanelModel\", function() { return _flowpanel__WEBPACK_IMPORTED_MODULE_27__[\"FlowPanelModel\"]; });\n\n/* harmony import */ var _page__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../page */ \"./src/page.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageModel\", function() { return _page__WEBPACK_IMPORTED_MODULE_28__[\"PageModel\"]; });\n\n/* harmony import */ var _template_renderer__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../template-renderer */ \"./src/template-renderer.ts\");\n/* empty/unused harmony star reexport *//* harmony import */ var _defaultTitle__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../defaultTitle */ \"./src/defaultTitle.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DefaultTitleModel\", function() { return _defaultTitle__WEBPACK_IMPORTED_MODULE_30__[\"DefaultTitleModel\"]; });\n\n/* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../question */ \"./src/question.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Question\", function() { return _question__WEBPACK_IMPORTED_MODULE_31__[\"Question\"]; });\n\n/* harmony import */ var _questionnonvalue__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../../questionnonvalue */ \"./src/questionnonvalue.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionNonValue\", function() { return _questionnonvalue__WEBPACK_IMPORTED_MODULE_32__[\"QuestionNonValue\"]; });\n\n/* harmony import */ var _question_empty__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../../question_empty */ \"./src/question_empty.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionEmptyModel\", function() { return _question_empty__WEBPACK_IMPORTED_MODULE_33__[\"QuestionEmptyModel\"]; });\n\n/* harmony import */ var _question_baseselect__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../../question_baseselect */ \"./src/question_baseselect.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxBase\", function() { return _question_baseselect__WEBPACK_IMPORTED_MODULE_34__[\"QuestionCheckboxBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionSelectBase\", function() { return _question_baseselect__WEBPACK_IMPORTED_MODULE_34__[\"QuestionSelectBase\"]; });\n\n/* harmony import */ var _question_checkbox__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../../question_checkbox */ \"./src/question_checkbox.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxModel\", function() { return _question_checkbox__WEBPACK_IMPORTED_MODULE_35__[\"QuestionCheckboxModel\"]; });\n\n/* harmony import */ var _question_tagbox__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../../question_tagbox */ \"./src/question_tagbox.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTagboxModel\", function() { return _question_tagbox__WEBPACK_IMPORTED_MODULE_36__[\"QuestionTagboxModel\"]; });\n\n/* harmony import */ var _question_ranking__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../../question_ranking */ \"./src/question_ranking.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRankingModel\", function() { return _question_ranking__WEBPACK_IMPORTED_MODULE_37__[\"QuestionRankingModel\"]; });\n\n/* harmony import */ var _question_comment__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../../question_comment */ \"./src/question_comment.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCommentModel\", function() { return _question_comment__WEBPACK_IMPORTED_MODULE_38__[\"QuestionCommentModel\"]; });\n\n/* harmony import */ var _question_dropdown__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../../question_dropdown */ \"./src/question_dropdown.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionDropdownModel\", function() { return _question_dropdown__WEBPACK_IMPORTED_MODULE_39__[\"QuestionDropdownModel\"]; });\n\n/* harmony import */ var _questionfactory__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../../questionfactory */ \"./src/questionfactory.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionFactory\", function() { return _questionfactory__WEBPACK_IMPORTED_MODULE_40__[\"QuestionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ElementFactory\", function() { return _questionfactory__WEBPACK_IMPORTED_MODULE_40__[\"ElementFactory\"]; });\n\n/* harmony import */ var _question_file__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../../question_file */ \"./src/question_file.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionFileModel\", function() { return _question_file__WEBPACK_IMPORTED_MODULE_41__[\"QuestionFileModel\"]; });\n\n/* harmony import */ var _question_html__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../../question_html */ \"./src/question_html.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionHtmlModel\", function() { return _question_html__WEBPACK_IMPORTED_MODULE_42__[\"QuestionHtmlModel\"]; });\n\n/* harmony import */ var _question_radiogroup__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ../../question_radiogroup */ \"./src/question_radiogroup.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRadiogroupModel\", function() { return _question_radiogroup__WEBPACK_IMPORTED_MODULE_43__[\"QuestionRadiogroupModel\"]; });\n\n/* harmony import */ var _question_rating__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ../../question_rating */ \"./src/question_rating.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRatingModel\", function() { return _question_rating__WEBPACK_IMPORTED_MODULE_44__[\"QuestionRatingModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RenderedRatingItem\", function() { return _question_rating__WEBPACK_IMPORTED_MODULE_44__[\"RenderedRatingItem\"]; });\n\n/* harmony import */ var _question_expression__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ../../question_expression */ \"./src/question_expression.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionExpressionModel\", function() { return _question_expression__WEBPACK_IMPORTED_MODULE_45__[\"QuestionExpressionModel\"]; });\n\n/* harmony import */ var _question_textbase__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ../../question_textbase */ \"./src/question_textbase.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTextBase\", function() { return _question_textbase__WEBPACK_IMPORTED_MODULE_46__[\"QuestionTextBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CharacterCounter\", function() { return _question_textbase__WEBPACK_IMPORTED_MODULE_46__[\"CharacterCounter\"]; });\n\n/* harmony import */ var _question_text__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ../../question_text */ \"./src/question_text.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTextModel\", function() { return _question_text__WEBPACK_IMPORTED_MODULE_47__[\"QuestionTextModel\"]; });\n\n/* harmony import */ var _question_boolean__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ../../question_boolean */ \"./src/question_boolean.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionBooleanModel\", function() { return _question_boolean__WEBPACK_IMPORTED_MODULE_48__[\"QuestionBooleanModel\"]; });\n\n/* harmony import */ var _question_imagepicker__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ../../question_imagepicker */ \"./src/question_imagepicker.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionImagePickerModel\", function() { return _question_imagepicker__WEBPACK_IMPORTED_MODULE_49__[\"QuestionImagePickerModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ImageItemValue\", function() { return _question_imagepicker__WEBPACK_IMPORTED_MODULE_49__[\"ImageItemValue\"]; });\n\n/* harmony import */ var _question_image__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ../../question_image */ \"./src/question_image.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionImageModel\", function() { return _question_image__WEBPACK_IMPORTED_MODULE_50__[\"QuestionImageModel\"]; });\n\n/* harmony import */ var _question_signaturepad__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ../../question_signaturepad */ \"./src/question_signaturepad.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionSignaturePadModel\", function() { return _question_signaturepad__WEBPACK_IMPORTED_MODULE_51__[\"QuestionSignaturePadModel\"]; });\n\n/* harmony import */ var _question_paneldynamic__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ../../question_paneldynamic */ \"./src/question_paneldynamic.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionPanelDynamicModel\", function() { return _question_paneldynamic__WEBPACK_IMPORTED_MODULE_52__[\"QuestionPanelDynamicModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionPanelDynamicItem\", function() { return _question_paneldynamic__WEBPACK_IMPORTED_MODULE_52__[\"QuestionPanelDynamicItem\"]; });\n\n/* harmony import */ var _surveytimer__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ../../surveytimer */ \"./src/surveytimer.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimer\", function() { return _surveytimer__WEBPACK_IMPORTED_MODULE_53__[\"SurveyTimer\"]; });\n\n/* harmony import */ var _surveyTimerModel__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ../../surveyTimerModel */ \"./src/surveyTimerModel.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimerModel\", function() { return _surveyTimerModel__WEBPACK_IMPORTED_MODULE_54__[\"SurveyTimerModel\"]; });\n\n/* harmony import */ var _surveyToc__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ../../surveyToc */ \"./src/surveyToc.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tryNavigateToPage\", function() { return _surveyToc__WEBPACK_IMPORTED_MODULE_55__[\"tryNavigateToPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tryFocusPage\", function() { return _surveyToc__WEBPACK_IMPORTED_MODULE_55__[\"tryFocusPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTOCListModel\", function() { return _surveyToc__WEBPACK_IMPORTED_MODULE_55__[\"createTOCListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getTocRootCss\", function() { return _surveyToc__WEBPACK_IMPORTED_MODULE_55__[\"getTocRootCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TOCModel\", function() { return _surveyToc__WEBPACK_IMPORTED_MODULE_55__[\"TOCModel\"]; });\n\n/* harmony import */ var _surveyProgress__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ../../surveyProgress */ \"./src/surveyProgress.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgressModel\", function() { return _surveyProgress__WEBPACK_IMPORTED_MODULE_56__[\"SurveyProgressModel\"]; });\n\n/* harmony import */ var _surveyProgressButtons__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ../../surveyProgressButtons */ \"./src/surveyProgressButtons.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgressButtonsModel\", function() { return _surveyProgressButtons__WEBPACK_IMPORTED_MODULE_57__[\"SurveyProgressButtonsModel\"]; });\n\n/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ../../themes */ \"./src/themes.ts\");\n/* empty/unused harmony star reexport *//* harmony import */ var _survey__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ../../survey */ \"./src/survey.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyModel\", function() { return _survey__WEBPACK_IMPORTED_MODULE_59__[\"SurveyModel\"]; });\n\n/* harmony import */ var _survey_events_api__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ../../survey-events-api */ \"./src/survey-events-api.ts\");\n/* empty/unused harmony star reexport *//* harmony import */ var _trigger__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ../../trigger */ \"./src/trigger.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTrigger\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_61__[\"SurveyTrigger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerComplete\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_61__[\"SurveyTriggerComplete\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerSetValue\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_61__[\"SurveyTriggerSetValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerVisible\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_61__[\"SurveyTriggerVisible\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerCopyValue\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_61__[\"SurveyTriggerCopyValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerRunExpression\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_61__[\"SurveyTriggerRunExpression\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerSkip\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_61__[\"SurveyTriggerSkip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Trigger\", function() { return _trigger__WEBPACK_IMPORTED_MODULE_61__[\"Trigger\"]; });\n\n/* harmony import */ var _popup_survey__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ../../popup-survey */ \"./src/popup-survey.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupSurveyModel\", function() { return _popup_survey__WEBPACK_IMPORTED_MODULE_62__[\"PopupSurveyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyWindowModel\", function() { return _popup_survey__WEBPACK_IMPORTED_MODULE_62__[\"SurveyWindowModel\"]; });\n\n/* harmony import */ var _textPreProcessor__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ../../textPreProcessor */ \"./src/textPreProcessor.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextPreProcessor\", function() { return _textPreProcessor__WEBPACK_IMPORTED_MODULE_63__[\"TextPreProcessor\"]; });\n\n/* harmony import */ var _notifier__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ../../notifier */ \"./src/notifier.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Notifier\", function() { return _notifier__WEBPACK_IMPORTED_MODULE_64__[\"Notifier\"]; });\n\n/* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ../../header */ \"./src/header.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Cover\", function() { return _header__WEBPACK_IMPORTED_MODULE_65__[\"Cover\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CoverCell\", function() { return _header__WEBPACK_IMPORTED_MODULE_65__[\"CoverCell\"]; });\n\n/* harmony import */ var _dxSurveyService__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ../../dxSurveyService */ \"./src/dxSurveyService.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dxSurveyService\", function() { return _dxSurveyService__WEBPACK_IMPORTED_MODULE_66__[\"dxSurveyService\"]; });\n\n/* harmony import */ var _localization_english__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ../../localization/english */ \"./src/localization/english.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"englishStrings\", function() { return _localization_english__WEBPACK_IMPORTED_MODULE_67__[\"englishStrings\"]; });\n\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ../../surveyStrings */ \"./src/surveyStrings.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyLocalization\", function() { return _surveyStrings__WEBPACK_IMPORTED_MODULE_68__[\"surveyLocalization\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyStrings\", function() { return _surveyStrings__WEBPACK_IMPORTED_MODULE_68__[\"surveyStrings\"]; });\n\n/* harmony import */ var _questionCustomWidgets__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ../../questionCustomWidgets */ \"./src/questionCustomWidgets.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomWidget\", function() { return _questionCustomWidgets__WEBPACK_IMPORTED_MODULE_69__[\"QuestionCustomWidget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomWidgetCollection\", function() { return _questionCustomWidgets__WEBPACK_IMPORTED_MODULE_69__[\"CustomWidgetCollection\"]; });\n\n/* harmony import */ var _question_custom__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ../../question_custom */ \"./src/question_custom.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomModel\", function() { return _question_custom__WEBPACK_IMPORTED_MODULE_70__[\"QuestionCustomModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCompositeModel\", function() { return _question_custom__WEBPACK_IMPORTED_MODULE_70__[\"QuestionCompositeModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentQuestionJSON\", function() { return _question_custom__WEBPACK_IMPORTED_MODULE_70__[\"ComponentQuestionJSON\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentCollection\", function() { return _question_custom__WEBPACK_IMPORTED_MODULE_70__[\"ComponentCollection\"]; });\n\n/* harmony import */ var _stylesmanager__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ../../stylesmanager */ \"./src/stylesmanager.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StylesManager\", function() { return _stylesmanager__WEBPACK_IMPORTED_MODULE_71__[\"StylesManager\"]; });\n\n/* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ../../list */ \"./src/list.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ListModel\", function() { return _list__WEBPACK_IMPORTED_MODULE_72__[\"ListModel\"]; });\n\n/* harmony import */ var _multiSelectListModel__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ../../multiSelectListModel */ \"./src/multiSelectListModel.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectListModel\", function() { return _multiSelectListModel__WEBPACK_IMPORTED_MODULE_73__[\"MultiSelectListModel\"]; });\n\n/* harmony import */ var _popup__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ../../popup */ \"./src/popup.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupModel\", function() { return _popup__WEBPACK_IMPORTED_MODULE_74__[\"PopupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDialogOptions\", function() { return _popup__WEBPACK_IMPORTED_MODULE_74__[\"createDialogOptions\"]; });\n\n/* harmony import */ var _popup_view_model__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ../../popup-view-model */ \"./src/popup-view-model.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupBaseViewModel\", function() { return _popup_view_model__WEBPACK_IMPORTED_MODULE_75__[\"PopupBaseViewModel\"]; });\n\n/* harmony import */ var _popup_dropdown_view_model__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ../../popup-dropdown-view-model */ \"./src/popup-dropdown-view-model.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupDropdownViewModel\", function() { return _popup_dropdown_view_model__WEBPACK_IMPORTED_MODULE_76__[\"PopupDropdownViewModel\"]; });\n\n/* harmony import */ var _popup_modal_view_model__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ../../popup-modal-view-model */ \"./src/popup-modal-view-model.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupModalViewModel\", function() { return _popup_modal_view_model__WEBPACK_IMPORTED_MODULE_77__[\"PopupModalViewModel\"]; });\n\n/* harmony import */ var _popup_utils__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ../../popup-utils */ \"./src/popup-utils.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopupViewModel\", function() { return _popup_utils__WEBPACK_IMPORTED_MODULE_78__[\"createPopupViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopupModalViewModel\", function() { return _popup_utils__WEBPACK_IMPORTED_MODULE_78__[\"createPopupModalViewModel\"]; });\n\n/* harmony import */ var _dropdownListModel__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ../../dropdownListModel */ \"./src/dropdownListModel.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownListModel\", function() { return _dropdownListModel__WEBPACK_IMPORTED_MODULE_79__[\"DropdownListModel\"]; });\n\n/* harmony import */ var _dropdownMultiSelectListModel__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ../../dropdownMultiSelectListModel */ \"./src/dropdownMultiSelectListModel.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownMultiSelectListModel\", function() { return _dropdownMultiSelectListModel__WEBPACK_IMPORTED_MODULE_80__[\"DropdownMultiSelectListModel\"]; });\n\n/* harmony import */ var _question_buttongroup__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ../../question_buttongroup */ \"./src/question_buttongroup.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionButtonGroupModel\", function() { return _question_buttongroup__WEBPACK_IMPORTED_MODULE_81__[\"QuestionButtonGroupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemModel\", function() { return _question_buttongroup__WEBPACK_IMPORTED_MODULE_81__[\"ButtonGroupItemModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemValue\", function() { return _question_buttongroup__WEBPACK_IMPORTED_MODULE_81__[\"ButtonGroupItemValue\"]; });\n\n/* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ../../utils/devices */ \"./src/utils/devices.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IsMobile\", function() { return _utils_devices__WEBPACK_IMPORTED_MODULE_82__[\"IsMobile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IsTouch\", function() { return _utils_devices__WEBPACK_IMPORTED_MODULE_82__[\"IsTouch\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"_setIsTouch\", function() { return _utils_devices__WEBPACK_IMPORTED_MODULE_82__[\"_setIsTouch\"]; });\n\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ../../utils/utils */ \"./src/utils/utils.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"confirmAction\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_83__[\"confirmAction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"confirmActionAsync\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_83__[\"confirmActionAsync\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"detectIEOrEdge\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_83__[\"detectIEOrEdge\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickUp\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_83__[\"doKey2ClickUp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickDown\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_83__[\"doKey2ClickDown\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickBlur\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_83__[\"doKey2ClickBlur\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"loadFileFromBase64\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_83__[\"loadFileFromBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"increaseHeightByContent\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_83__[\"increaseHeightByContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createSvg\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_83__[\"createSvg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sanitizeEditableContent\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_83__[\"sanitizeEditableContent\"]; });\n\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(/*! ../../utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CssClassBuilder\", function() { return _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_84__[\"CssClassBuilder\"]; });\n\n/* harmony import */ var _defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(/*! ../../defaultCss/defaultV2Css */ \"./src/defaultCss/defaultV2Css.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyCss\", function() { return _defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_85__[\"surveyCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultV2Css\", function() { return _defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_85__[\"defaultV2Css\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultV2ThemeName\", function() { return _defaultCss_defaultV2Css__WEBPACK_IMPORTED_MODULE_85__[\"defaultV2ThemeName\"]; });\n\n/* harmony import */ var _dragdrop_core__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(/*! ../../dragdrop/core */ \"./src/dragdrop/core.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropCore\", function() { return _dragdrop_core__WEBPACK_IMPORTED_MODULE_86__[\"DragDropCore\"]; });\n\n/* harmony import */ var _dragdrop_choices__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(/*! ../../dragdrop/choices */ \"./src/dragdrop/choices.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropChoices\", function() { return _dragdrop_choices__WEBPACK_IMPORTED_MODULE_87__[\"DragDropChoices\"]; });\n\n/* harmony import */ var _dragdrop_ranking_select_to_rank__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(/*! ../../dragdrop/ranking-select-to-rank */ \"./src/dragdrop/ranking-select-to-rank.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropRankingSelectToRank\", function() { return _dragdrop_ranking_select_to_rank__WEBPACK_IMPORTED_MODULE_88__[\"DragDropRankingSelectToRank\"]; });\n\n// styles\n// import \"../../main.scss\";\n//import \"../../modern.scss\";\nvar Version;\nvar ReleaseDate;\nVersion = \"\" + \"1.9.122\";\nReleaseDate = \"\" + \"2023-12-19\";\nfunction checkLibraryVersion(ver, libraryName) {\n if (Version != ver) {\n var str = \"survey-core has version '\" + Version + \"' and \" + libraryName\n + \" has version '\" + ver + \"'. SurveyJS libraries should have the same versions to work correctly.\";\n /* eslint no-console: [\"error\", { allow: [\"error\"] }] */\n console.error(str);\n }\n}\nfunction setLicenseKey(key) {\n slk(key);\n}\nfunction slk(key) {\n _slk(key, lic, ReleaseDate);\n}\nfunction hasLicense(index) {\n return lic[index.toString()] === true;\n}\nvar lic = {};\nfunction _slk(k, lh, rd) {\n if (!k)\n return;\n var en = function (s) {\n var e = {}, i, b = 0, c, x, l = 0, a, r = \"\", w = String.fromCharCode, L = s.length;\n var A = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n for (i = 0; i < 64; i++) {\n e[A.charAt(i)] = i;\n }\n for (x = 0; x < L; x++) {\n var c_1 = e[s.charAt(x)];\n b = (b << 6) + c_1;\n l += 6;\n while (l >= 8) {\n ((a = (b >>> (l -= 8)) & 0xff) || (x < (L - 2))) && (r += w(a));\n }\n }\n return r;\n };\n var v = en(k);\n if (!v)\n return;\n var index = v.indexOf(\";\");\n if (index < 0)\n return;\n if (!checkPrefix(v.substring(0, index)))\n return;\n v = v.substring(index + 1);\n v.split(\",\").forEach(function (s) {\n var i = s.indexOf(\"=\");\n if (i > 0) {\n lh[s.substring(0, i)] = new Date(rd) <= new Date(s.substring(i + 1));\n }\n });\n}\nfunction checkPrefix(prefix) {\n if (!prefix)\n return true;\n var s = \"domains:\";\n var index = prefix.indexOf(s);\n if (index < 0)\n return true;\n var ds = prefix.substring(index + s.length).toLowerCase().split(\",\");\n if (!Array.isArray(ds) || ds.length === 0)\n return true;\n if (typeof window !== \"undefined\" && !!window.location && !!window.location.hostname) {\n var hn = window.location.hostname.toLowerCase();\n ds.push(\"localhost\");\n for (var i = 0; i < ds.length; i++) {\n if (hn.indexOf(ds[i]) > -1)\n return true;\n }\n return false;\n }\n return true;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// export { cultureInfo } from \"../../cultureInfo\";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//Uncomment to include the \"date\" question type.\n//export {default as QuestionDateModel} from \"../../plugins/question_date\";\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/entries/core-wo-model.ts\":\n/*!**************************************!*\\\n !*** ./src/entries/core-wo-model.ts ***!\n \\**************************************/\n/*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _chunks_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunks/model */ \"./src/entries/chunks/model.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Version\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Version\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReleaseDate\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ReleaseDate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"checkLibraryVersion\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"checkLibraryVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLicenseKey\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"setLicenseKey\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"slk\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"slk\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasLicense\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"hasLicense\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"settings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Helpers\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnswerCountValidator\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"AnswerCountValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmailValidator\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"EmailValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NumericValidator\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"NumericValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RegexValidator\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"RegexValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyValidator\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextValidator\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"TextValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ValidatorResult\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ValidatorResult\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionValidator\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ValidatorRunner\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ValidatorRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ItemValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Base\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Event\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Event\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EventBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"EventBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ArrayChanges\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ArrayChanges\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComputedUpdater\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ComputedUpdater\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElementCore\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyElementCore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElement\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragTypeOverMeEnum\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"DragTypeOverMeEnum\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CalculatedValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"CalculatedValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"CustomError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnswerRequiredError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"AnswerRequiredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"OneAnswerRequiredError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"OneAnswerRequiredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RequreNumericError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"RequreNumericError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExceedSizeError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ExceedSizeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LocalizableString\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"LocalizableString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LocalizableStrings\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"LocalizableStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HtmlConditionItem\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"HtmlConditionItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UrlConditionItem\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"UrlConditionItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestful\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ChoicesRestful\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestfull\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ChoicesRestfull\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunctionFactory\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"FunctionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerFunction\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"registerFunction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConditionRunner\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ConditionRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionRunner\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionExecutor\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionExecutor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Operand\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Operand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Const\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Const\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BinaryOperand\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"BinaryOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Variable\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Variable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunctionOperand\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"FunctionOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ArrayOperand\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ArrayOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnaryOperand\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"UnaryOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConditionsParser\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ConditionsParser\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProcessValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ProcessValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonIncorrectTypeError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonIncorrectTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadata\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMetadata\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadataClass\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMetadataClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMissingTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeErrorBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMissingTypeErrorBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonObject\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonObjectProperty\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonObjectProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonRequiredPropertyError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonRequiredPropertyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonUnknownPropertyError\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonUnknownPropertyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Serializer\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"property\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"property\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propertyArray\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"propertyArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownCell\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownRowModelBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownRowModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownModelBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownColumn\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownColumn\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"matrixDropdownColumnTypes\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"matrixDropdownColumnTypes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedCell\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedRow\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedTable\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedTable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownRowModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDynamicRowModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDynamicRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDynamicModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDynamicModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixRowModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixCells\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixCells\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixBaseModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixBaseModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextItemModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextItemModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextCell\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextErrorCell\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextErrorCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MutlipleTextErrorRow\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MutlipleTextErrorRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MutlipleTextRow\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MutlipleTextRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMultipleTextModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMultipleTextModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextEditorModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextEditorModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PanelModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PanelModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PanelModelBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PanelModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRowModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FlowPanelModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"FlowPanelModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PageModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DefaultTitleModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"DefaultTitleModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Question\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Question\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionNonValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionNonValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionEmptyModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionEmptyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCheckboxBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionSelectBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionSelectBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCheckboxModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTagboxModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTagboxModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRankingModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRankingModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCommentModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCommentModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionDropdownModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionDropdownModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionFactory\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ElementFactory\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ElementFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionFileModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionFileModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionHtmlModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionHtmlModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRadiogroupModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRadiogroupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRatingModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRatingModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RenderedRatingItem\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"RenderedRatingItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionExpressionModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionExpressionModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTextBase\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTextBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CharacterCounter\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"CharacterCounter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTextModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTextModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionBooleanModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionBooleanModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionImagePickerModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionImagePickerModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ImageItemValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ImageItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionImageModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionImageModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionSignaturePadModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionSignaturePadModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionPanelDynamicModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionPanelDynamicModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionPanelDynamicItem\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionPanelDynamicItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimer\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTimer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimerModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTimerModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tryNavigateToPage\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"tryNavigateToPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tryFocusPage\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"tryFocusPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTOCListModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"createTOCListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getTocRootCss\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"getTocRootCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TOCModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"TOCModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgressModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyProgressModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgressButtonsModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyProgressButtonsModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTrigger\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTrigger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerComplete\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerComplete\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerSetValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerSetValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerVisible\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerVisible\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerCopyValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerCopyValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerRunExpression\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerRunExpression\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerSkip\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerSkip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Trigger\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Trigger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupSurveyModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupSurveyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyWindowModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyWindowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextPreProcessor\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"TextPreProcessor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Notifier\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Notifier\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Cover\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"Cover\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CoverCell\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"CoverCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dxSurveyService\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"dxSurveyService\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"englishStrings\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"englishStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyLocalization\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyStrings\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"surveyStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomWidget\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCustomWidget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomWidgetCollection\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"CustomWidgetCollection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCustomModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCompositeModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCompositeModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentQuestionJSON\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ComponentQuestionJSON\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentCollection\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ComponentCollection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StylesManager\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"StylesManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ListModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectListModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"MultiSelectListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDialogOptions\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"createDialogOptions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupBaseViewModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupBaseViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupDropdownViewModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupDropdownViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupModalViewModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupModalViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopupViewModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"createPopupViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopupModalViewModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"createPopupModalViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownListModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"DropdownListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownMultiSelectListModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"DropdownMultiSelectListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionButtonGroupModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionButtonGroupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemModel\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ButtonGroupItemModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemValue\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"ButtonGroupItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IsMobile\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"IsMobile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IsTouch\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"IsTouch\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"_setIsTouch\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"_setIsTouch\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"confirmAction\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"confirmAction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"confirmActionAsync\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"confirmActionAsync\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"detectIEOrEdge\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"detectIEOrEdge\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickUp\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickUp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickDown\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickDown\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickBlur\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickBlur\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"loadFileFromBase64\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"loadFileFromBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"increaseHeightByContent\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"increaseHeightByContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createSvg\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"createSvg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sanitizeEditableContent\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"sanitizeEditableContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CssClassBuilder\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"CssClassBuilder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyCss\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultV2Css\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"defaultV2Css\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultV2ThemeName\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"defaultV2ThemeName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropCore\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"DragDropCore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropChoices\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"DragDropChoices\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropRankingSelectToRank\", function() { return _chunks_model__WEBPACK_IMPORTED_MODULE_0__[\"DragDropRankingSelectToRank\"]; });\n\n/* harmony import */ var _defaultCss_cssstandard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../defaultCss/cssstandard */ \"./src/defaultCss/cssstandard.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultStandardCss\", function() { return _defaultCss_cssstandard__WEBPACK_IMPORTED_MODULE_1__[\"defaultStandardCss\"]; });\n\n/* harmony import */ var _defaultCss_cssmodern__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../defaultCss/cssmodern */ \"./src/defaultCss/cssmodern.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"modernCss\", function() { return _defaultCss_cssmodern__WEBPACK_IMPORTED_MODULE_2__[\"modernCss\"]; });\n\n/* harmony import */ var _svgbundle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../svgbundle */ \"./src/svgbundle.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgIconRegistry\", function() { return _svgbundle__WEBPACK_IMPORTED_MODULE_3__[\"SvgIconRegistry\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgRegistry\", function() { return _svgbundle__WEBPACK_IMPORTED_MODULE_3__[\"SvgRegistry\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgBundleViewModel\", function() { return _svgbundle__WEBPACK_IMPORTED_MODULE_3__[\"SvgBundleViewModel\"]; });\n\n/* harmony import */ var _rendererFactory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../rendererFactory */ \"./src/rendererFactory.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RendererFactory\", function() { return _rendererFactory__WEBPACK_IMPORTED_MODULE_4__[\"RendererFactory\"]; });\n\n/* harmony import */ var _utils_responsivity_manager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/responsivity-manager */ \"./src/utils/responsivity-manager.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResponsivityManager\", function() { return _utils_responsivity_manager__WEBPACK_IMPORTED_MODULE_5__[\"ResponsivityManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VerticalResponsivityManager\", function() { return _utils_responsivity_manager__WEBPACK_IMPORTED_MODULE_5__[\"VerticalResponsivityManager\"]; });\n\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/utils */ \"./src/utils/utils.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unwrap\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_6__[\"unwrap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOriginalEvent\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_6__[\"getOriginalEvent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getElement\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_6__[\"getElement\"]; });\n\n/* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../actions/action */ \"./src/actions/action.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDropdownActionModel\", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__[\"createDropdownActionModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDropdownActionModelAdvanced\", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__[\"createDropdownActionModelAdvanced\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getActionDropdownButtonTarget\", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__[\"getActionDropdownButtonTarget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BaseAction\", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__[\"BaseAction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Action\", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__[\"Action\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionDropdownViewModel\", function() { return _actions_action__WEBPACK_IMPORTED_MODULE_7__[\"ActionDropdownViewModel\"]; });\n\n/* harmony import */ var _actions_adaptive_container__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../actions/adaptive-container */ \"./src/actions/adaptive-container.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AdaptiveActionContainer\", function() { return _actions_adaptive_container__WEBPACK_IMPORTED_MODULE_8__[\"AdaptiveActionContainer\"]; });\n\n/* harmony import */ var _actions_container__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../actions/container */ \"./src/actions/container.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultActionBarCss\", function() { return _actions_container__WEBPACK_IMPORTED_MODULE_9__[\"defaultActionBarCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionContainer\", function() { return _actions_container__WEBPACK_IMPORTED_MODULE_9__[\"ActionContainer\"]; });\n\n/* harmony import */ var _utils_dragOrClickHelper__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/dragOrClickHelper */ \"./src/utils/dragOrClickHelper.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragOrClickHelper\", function() { return _utils_dragOrClickHelper__WEBPACK_IMPORTED_MODULE_10__[\"DragOrClickHelper\"]; });\n\n// model\n\n// css standard classes\n\n// css modern classes\n\n\n// utils\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/entries/core.ts\":\n/*!*****************************!*\\\n !*** ./src/entries/core.ts ***!\n \\*****************************/\n/*! exports provided: Version, ReleaseDate, checkLibraryVersion, setLicenseKey, slk, hasLicense, settings, Helpers, AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner, ItemValue, Base, Event, EventBase, ArrayChanges, ComputedUpdater, SurveyError, SurveyElementCore, SurveyElement, DragTypeOverMeEnum, CalculatedValue, CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, LocalizableString, LocalizableStrings, HtmlConditionItem, UrlConditionItem, ChoicesRestful, ChoicesRestfull, FunctionFactory, registerFunction, ConditionRunner, ExpressionRunner, ExpressionExecutor, Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand, ConditionsParser, ProcessValue, JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase, MatrixDropdownColumn, matrixDropdownColumnTypes, QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable, MatrixDropdownRowModel, QuestionMatrixDropdownModel, MatrixDynamicRowModel, QuestionMatrixDynamicModel, MatrixRowModel, MatrixCells, QuestionMatrixModel, QuestionMatrixBaseModel, MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel, PanelModel, PanelModelBase, QuestionRowModel, FlowPanelModel, PageModel, DefaultTitleModel, Question, QuestionNonValue, QuestionEmptyModel, QuestionCheckboxBase, QuestionSelectBase, QuestionCheckboxModel, QuestionTagboxModel, QuestionRankingModel, QuestionCommentModel, QuestionDropdownModel, QuestionFactory, ElementFactory, QuestionFileModel, QuestionHtmlModel, QuestionRadiogroupModel, QuestionRatingModel, RenderedRatingItem, QuestionExpressionModel, QuestionTextBase, CharacterCounter, QuestionTextModel, QuestionBooleanModel, QuestionImagePickerModel, ImageItemValue, QuestionImageModel, QuestionSignaturePadModel, QuestionPanelDynamicModel, QuestionPanelDynamicItem, SurveyTimer, SurveyTimerModel, tryNavigateToPage, tryFocusPage, createTOCListModel, getTocRootCss, TOCModel, SurveyProgressModel, SurveyProgressButtonsModel, SurveyModel, SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger, PopupSurveyModel, SurveyWindowModel, TextPreProcessor, Notifier, Cover, CoverCell, dxSurveyService, englishStrings, surveyLocalization, surveyStrings, QuestionCustomWidget, CustomWidgetCollection, QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, StylesManager, ListModel, MultiSelectListModel, PopupModel, createDialogOptions, PopupBaseViewModel, PopupDropdownViewModel, PopupModalViewModel, createPopupViewModel, createPopupModalViewModel, DropdownListModel, DropdownMultiSelectListModel, QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue, IsMobile, IsTouch, _setIsTouch, confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, sanitizeEditableContent, CssClassBuilder, surveyCss, defaultV2Css, defaultV2ThemeName, DragDropCore, DragDropChoices, DragDropRankingSelectToRank, defaultStandardCss, modernCss, SvgIconRegistry, SvgRegistry, SvgBundleViewModel, RendererFactory, ResponsivityManager, VerticalResponsivityManager, unwrap, getOriginalEvent, getElement, createDropdownActionModel, createDropdownActionModelAdvanced, getActionDropdownButtonTarget, BaseAction, Action, ActionDropdownViewModel, AdaptiveActionContainer, defaultActionBarCss, ActionContainer, DragOrClickHelper, Model */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _core_wo_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core-wo-model */ \"./src/entries/core-wo-model.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Version\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Version\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReleaseDate\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ReleaseDate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"checkLibraryVersion\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"checkLibraryVersion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLicenseKey\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"setLicenseKey\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"slk\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"slk\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasLicense\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"hasLicense\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"settings\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"settings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Helpers\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnswerCountValidator\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"AnswerCountValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmailValidator\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"EmailValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NumericValidator\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"NumericValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RegexValidator\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"RegexValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyValidator\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextValidator\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"TextValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ValidatorResult\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ValidatorResult\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionValidator\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionValidator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ValidatorRunner\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ValidatorRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ItemValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Base\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Event\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Event\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EventBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"EventBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ArrayChanges\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ArrayChanges\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComputedUpdater\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ComputedUpdater\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElementCore\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyElementCore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyElement\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragTypeOverMeEnum\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DragTypeOverMeEnum\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CalculatedValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"CalculatedValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"CustomError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnswerRequiredError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"AnswerRequiredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"OneAnswerRequiredError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"OneAnswerRequiredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RequreNumericError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"RequreNumericError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExceedSizeError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ExceedSizeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LocalizableString\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"LocalizableString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LocalizableStrings\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"LocalizableStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"HtmlConditionItem\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"HtmlConditionItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UrlConditionItem\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"UrlConditionItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestful\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ChoicesRestful\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChoicesRestfull\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ChoicesRestfull\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunctionFactory\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"FunctionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"registerFunction\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"registerFunction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConditionRunner\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ConditionRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionRunner\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionRunner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExpressionExecutor\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ExpressionExecutor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Operand\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Operand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Const\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Const\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BinaryOperand\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"BinaryOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Variable\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Variable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FunctionOperand\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"FunctionOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ArrayOperand\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ArrayOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnaryOperand\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"UnaryOperand\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ConditionsParser\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ConditionsParser\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ProcessValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ProcessValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonIncorrectTypeError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonIncorrectTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadata\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMetadata\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadataClass\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMetadataClass\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMissingTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeErrorBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonMissingTypeErrorBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonObject\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonObjectProperty\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonObjectProperty\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonRequiredPropertyError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonRequiredPropertyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JsonUnknownPropertyError\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"JsonUnknownPropertyError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Serializer\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"property\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"property\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"propertyArray\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"propertyArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownCell\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownRowModelBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownRowModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownModelBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownColumn\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownColumn\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"matrixDropdownColumnTypes\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"matrixDropdownColumnTypes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedCell\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedRow\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownRenderedTable\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownRenderedTable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDropdownRowModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDropdownRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDropdownModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDropdownModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixDynamicRowModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixDynamicRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixDynamicModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixDynamicModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixRowModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MatrixCells\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MatrixCells\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixBaseModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMatrixBaseModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextItemModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextItemModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextCell\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextErrorCell\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextErrorCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MutlipleTextErrorRow\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MutlipleTextErrorRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MutlipleTextRow\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MutlipleTextRow\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionMultipleTextModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionMultipleTextModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultipleTextEditorModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MultipleTextEditorModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PanelModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PanelModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PanelModelBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PanelModelBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRowModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FlowPanelModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"FlowPanelModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PageModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DefaultTitleModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DefaultTitleModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Question\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Question\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionNonValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionNonValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionEmptyModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionEmptyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCheckboxBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionSelectBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionSelectBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCheckboxModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTagboxModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTagboxModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRankingModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRankingModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCommentModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCommentModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionDropdownModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionDropdownModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionFactory\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ElementFactory\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ElementFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionFileModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionFileModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionHtmlModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionHtmlModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRadiogroupModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRadiogroupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionRatingModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionRatingModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RenderedRatingItem\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"RenderedRatingItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionExpressionModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionExpressionModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTextBase\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTextBase\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CharacterCounter\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"CharacterCounter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionTextModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionTextModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionBooleanModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionBooleanModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionImagePickerModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionImagePickerModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ImageItemValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ImageItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionImageModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionImageModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionSignaturePadModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionSignaturePadModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionPanelDynamicModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionPanelDynamicModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionPanelDynamicItem\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionPanelDynamicItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimer\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTimer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTimerModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTimerModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tryNavigateToPage\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"tryNavigateToPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tryFocusPage\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"tryFocusPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTOCListModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"createTOCListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getTocRootCss\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"getTocRootCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TOCModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"TOCModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgressModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyProgressModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyProgressButtonsModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyProgressButtonsModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTrigger\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTrigger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerComplete\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerComplete\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerSetValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerSetValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerVisible\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerVisible\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerCopyValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerCopyValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerRunExpression\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerRunExpression\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyTriggerSkip\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyTriggerSkip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Trigger\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Trigger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupSurveyModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupSurveyModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SurveyWindowModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SurveyWindowModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextPreProcessor\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"TextPreProcessor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Notifier\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Notifier\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Cover\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Cover\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CoverCell\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"CoverCell\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dxSurveyService\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"dxSurveyService\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"englishStrings\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"englishStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyLocalization\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyStrings\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"surveyStrings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomWidget\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCustomWidget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomWidgetCollection\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"CustomWidgetCollection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCustomModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionCompositeModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionCompositeModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentQuestionJSON\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ComponentQuestionJSON\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ComponentCollection\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ComponentCollection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StylesManager\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"StylesManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ListModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectListModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"MultiSelectListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDialogOptions\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"createDialogOptions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupBaseViewModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupBaseViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupDropdownViewModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupDropdownViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopupModalViewModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupModalViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopupViewModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"createPopupViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPopupModalViewModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"createPopupModalViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownListModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DropdownListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DropdownMultiSelectListModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DropdownMultiSelectListModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"QuestionButtonGroupModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"QuestionButtonGroupModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ButtonGroupItemModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemValue\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ButtonGroupItemValue\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IsMobile\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"IsMobile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IsTouch\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"IsTouch\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"_setIsTouch\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"_setIsTouch\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"confirmAction\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"confirmAction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"confirmActionAsync\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"confirmActionAsync\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"detectIEOrEdge\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"detectIEOrEdge\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickUp\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickUp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickDown\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickDown\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"doKey2ClickBlur\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"doKey2ClickBlur\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"loadFileFromBase64\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"loadFileFromBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"increaseHeightByContent\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"increaseHeightByContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createSvg\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"createSvg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sanitizeEditableContent\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"sanitizeEditableContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CssClassBuilder\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"CssClassBuilder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"surveyCss\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"surveyCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultV2Css\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"defaultV2Css\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultV2ThemeName\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"defaultV2ThemeName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropCore\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DragDropCore\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropChoices\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DragDropChoices\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragDropRankingSelectToRank\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DragDropRankingSelectToRank\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultStandardCss\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"defaultStandardCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"modernCss\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"modernCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgIconRegistry\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SvgIconRegistry\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgRegistry\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SvgRegistry\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SvgBundleViewModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"SvgBundleViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RendererFactory\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"RendererFactory\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResponsivityManager\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ResponsivityManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VerticalResponsivityManager\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"VerticalResponsivityManager\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"unwrap\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"unwrap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getOriginalEvent\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"getOriginalEvent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getElement\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"getElement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDropdownActionModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"createDropdownActionModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDropdownActionModelAdvanced\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"createDropdownActionModelAdvanced\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getActionDropdownButtonTarget\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"getActionDropdownButtonTarget\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BaseAction\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"BaseAction\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Action\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"Action\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionDropdownViewModel\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ActionDropdownViewModel\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AdaptiveActionContainer\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"AdaptiveActionContainer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultActionBarCss\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"defaultActionBarCss\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionContainer\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"ActionContainer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DragOrClickHelper\", function() { return _core_wo_model__WEBPACK_IMPORTED_MODULE_0__[\"DragOrClickHelper\"]; });\n\n/* harmony import */ var _survey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../survey */ \"./src/survey.ts\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Model\", function() { return _survey__WEBPACK_IMPORTED_MODULE_1__[\"SurveyModel\"]; });\n\n// model\n\n\n\n\n/***/ }),\n\n/***/ \"./src/error.ts\":\n/*!**********************!*\\\n !*** ./src/error.ts ***!\n \\**********************/\n/*! exports provided: AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError, WebRequestError, WebRequestEmptyError, OtherEmptyError, UploadingFileError, RequiredInAllRowsError, MinRowCountError, KeyDuplicationError, CustomError */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AnswerRequiredError\", function() { return AnswerRequiredError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"OneAnswerRequiredError\", function() { return OneAnswerRequiredError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RequreNumericError\", function() { return RequreNumericError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExceedSizeError\", function() { return ExceedSizeError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WebRequestError\", function() { return WebRequestError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WebRequestEmptyError\", function() { return WebRequestEmptyError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"OtherEmptyError\", function() { return OtherEmptyError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UploadingFileError\", function() { return UploadingFileError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RequiredInAllRowsError\", function() { return RequiredInAllRowsError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MinRowCountError\", function() { return MinRowCountError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"KeyDuplicationError\", function() { return KeyDuplicationError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CustomError\", function() { return CustomError; });\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./surveyStrings */ \"./src/surveyStrings.ts\");\n/* harmony import */ var _survey_error__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./survey-error */ \"./src/survey-error.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar AnswerRequiredError = /** @class */ (function (_super) {\n __extends(AnswerRequiredError, _super);\n function AnswerRequiredError(text, errorOwner) {\n if (text === void 0) { text = null; }\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n AnswerRequiredError.prototype.getErrorType = function () {\n return \"required\";\n };\n AnswerRequiredError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"requiredError\");\n };\n return AnswerRequiredError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar OneAnswerRequiredError = /** @class */ (function (_super) {\n __extends(OneAnswerRequiredError, _super);\n function OneAnswerRequiredError(text, errorOwner) {\n if (text === void 0) { text = null; }\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n OneAnswerRequiredError.prototype.getErrorType = function () {\n return \"requireoneanswer\";\n };\n OneAnswerRequiredError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"requiredErrorInPanel\");\n };\n return OneAnswerRequiredError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar RequreNumericError = /** @class */ (function (_super) {\n __extends(RequreNumericError, _super);\n function RequreNumericError(text, errorOwner) {\n if (text === void 0) { text = null; }\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n RequreNumericError.prototype.getErrorType = function () {\n return \"requirenumeric\";\n };\n RequreNumericError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"numericError\");\n };\n return RequreNumericError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar ExceedSizeError = /** @class */ (function (_super) {\n __extends(ExceedSizeError, _super);\n function ExceedSizeError(maxSize, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, null, errorOwner) || this;\n _this.maxSize = maxSize;\n _this.locText.text = _this.getText();\n return _this;\n }\n ExceedSizeError.prototype.getErrorType = function () {\n return \"exceedsize\";\n };\n ExceedSizeError.prototype.getDefaultText = function () {\n return _surveyStrings__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"]\n .getString(\"exceedMaxSize\")[\"format\"](this.getTextSize());\n };\n ExceedSizeError.prototype.getTextSize = function () {\n var sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\"];\n var fixed = [0, 0, 2, 3, 3];\n if (this.maxSize === 0) {\n return \"0 Byte\";\n }\n var i = Math.floor(Math.log(this.maxSize) / Math.log(1024));\n var value = this.maxSize / Math.pow(1024, i);\n return value.toFixed(fixed[i]) + \" \" + sizes[i];\n };\n return ExceedSizeError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar WebRequestError = /** @class */ (function (_super) {\n __extends(WebRequestError, _super);\n function WebRequestError(status, response, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, null, errorOwner) || this;\n _this.status = status;\n _this.response = response;\n return _this;\n }\n WebRequestError.prototype.getErrorType = function () {\n return \"webrequest\";\n };\n WebRequestError.prototype.getDefaultText = function () {\n var str = this.getLocalizationString(\"urlRequestError\");\n return !!str ? str[\"format\"](this.status, this.response) : \"\";\n };\n return WebRequestError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar WebRequestEmptyError = /** @class */ (function (_super) {\n __extends(WebRequestEmptyError, _super);\n function WebRequestEmptyError(text, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n WebRequestEmptyError.prototype.getErrorType = function () {\n return \"webrequestempty\";\n };\n WebRequestEmptyError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"urlGetChoicesError\");\n };\n return WebRequestEmptyError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar OtherEmptyError = /** @class */ (function (_super) {\n __extends(OtherEmptyError, _super);\n function OtherEmptyError(text, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n OtherEmptyError.prototype.getErrorType = function () {\n return \"otherempty\";\n };\n OtherEmptyError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"otherRequiredError\");\n };\n return OtherEmptyError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar UploadingFileError = /** @class */ (function (_super) {\n __extends(UploadingFileError, _super);\n function UploadingFileError(text, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n UploadingFileError.prototype.getErrorType = function () {\n return \"uploadingfile\";\n };\n UploadingFileError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"uploadingFile\");\n };\n return UploadingFileError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar RequiredInAllRowsError = /** @class */ (function (_super) {\n __extends(RequiredInAllRowsError, _super);\n function RequiredInAllRowsError(text, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n RequiredInAllRowsError.prototype.getErrorType = function () {\n return \"requiredinallrowserror\";\n };\n RequiredInAllRowsError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"requiredInAllRowsError\");\n };\n return RequiredInAllRowsError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar MinRowCountError = /** @class */ (function (_super) {\n __extends(MinRowCountError, _super);\n function MinRowCountError(minRowCount, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, null, errorOwner) || this;\n _this.minRowCount = minRowCount;\n return _this;\n }\n MinRowCountError.prototype.getErrorType = function () {\n return \"minrowcounterror\";\n };\n MinRowCountError.prototype.getDefaultText = function () {\n return _surveyStrings__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"]\n .getString(\"minRowCountError\")[\"format\"](this.minRowCount);\n };\n return MinRowCountError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar KeyDuplicationError = /** @class */ (function (_super) {\n __extends(KeyDuplicationError, _super);\n function KeyDuplicationError(text, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n KeyDuplicationError.prototype.getErrorType = function () {\n return \"keyduplicationerror\";\n };\n KeyDuplicationError.prototype.getDefaultText = function () {\n return this.getLocalizationString(\"keyDuplicationError\");\n };\n return KeyDuplicationError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\nvar CustomError = /** @class */ (function (_super) {\n __extends(CustomError, _super);\n function CustomError(text, errorOwner) {\n if (errorOwner === void 0) { errorOwner = null; }\n var _this = _super.call(this, text, errorOwner) || this;\n _this.text = text;\n return _this;\n }\n CustomError.prototype.getErrorType = function () {\n return \"custom\";\n };\n return CustomError;\n}(_survey_error__WEBPACK_IMPORTED_MODULE_1__[\"SurveyError\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/expressionItems.ts\":\n/*!********************************!*\\\n !*** ./src/expressionItems.ts ***!\n \\********************************/\n/*! exports provided: ExpressionItem, HtmlConditionItem, UrlConditionItem */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExpressionItem\", function() { return ExpressionItem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HtmlConditionItem\", function() { return HtmlConditionItem; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UrlConditionItem\", function() { return UrlConditionItem; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./conditions */ \"./src/conditions.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n/**\n * Base class for HtmlConditionItem and UrlConditionItem classes.\n */\nvar ExpressionItem = /** @class */ (function (_super) {\n __extends(ExpressionItem, _super);\n function ExpressionItem(expression) {\n if (expression === void 0) { expression = null; }\n var _this = _super.call(this) || this;\n _this.expression = expression;\n return _this;\n }\n ExpressionItem.prototype.getType = function () {\n return \"expressionitem\";\n };\n ExpressionItem.prototype.runCondition = function (values, properties) {\n if (!this.expression)\n return false;\n return new _conditions__WEBPACK_IMPORTED_MODULE_2__[\"ConditionRunner\"](this.expression).run(values, properties);\n };\n Object.defineProperty(ExpressionItem.prototype, \"expression\", {\n /**\n * The expression property. If this expression returns true, then survey will use html property to show on complete page.\n */\n get: function () {\n return this.getPropertyValue(\"expression\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"expression\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ExpressionItem.prototype, \"locHtml\", {\n get: function () {\n return this.getLocalizableString(\"html\");\n },\n enumerable: false,\n configurable: true\n });\n ExpressionItem.prototype.getLocale = function () {\n return !!this.locOwner ? this.locOwner.getLocale() : \"\";\n };\n ExpressionItem.prototype.getMarkdownHtml = function (text, name) {\n return !!this.locOwner ? this.locOwner.getMarkdownHtml(text, name) : undefined;\n };\n ExpressionItem.prototype.getRenderer = function (name) {\n return !!this.locOwner ? this.locOwner.getRenderer(name) : null;\n };\n ExpressionItem.prototype.getRendererContext = function (locStr) {\n return !!this.locOwner ? this.locOwner.getRendererContext(locStr) : locStr;\n };\n ExpressionItem.prototype.getProcessedText = function (text) {\n return this.locOwner ? this.locOwner.getProcessedText(text) : text;\n };\n ExpressionItem.prototype.getSurvey = function (isLive) {\n if (isLive === void 0) { isLive = false; }\n return this.locOwner;\n };\n return ExpressionItem;\n}(_base__WEBPACK_IMPORTED_MODULE_1__[\"Base\"]));\n\n/**\n * A class that contains expression and html propeties. It uses in survey.completedHtmlOnCondition array.\n * If the expression returns true then html of this item uses instead of survey.completedHtml property\n * @see SurveyModel.completedHtmlOnCondition\n * @see SurveyModel.completedHtml\n */\nvar HtmlConditionItem = /** @class */ (function (_super) {\n __extends(HtmlConditionItem, _super);\n function HtmlConditionItem(expression, html) {\n if (expression === void 0) { expression = null; }\n if (html === void 0) { html = null; }\n var _this = _super.call(this, expression) || this;\n _this.createLocalizableString(\"html\", _this);\n _this.html = html;\n return _this;\n }\n HtmlConditionItem.prototype.getType = function () {\n return \"htmlconditionitem\";\n };\n Object.defineProperty(HtmlConditionItem.prototype, \"html\", {\n /**\n * The html that shows on completed ('Thank you') page. The expression should return true\n * @see expression\n */\n get: function () {\n return this.getLocalizableStringText(\"html\");\n },\n set: function (value) {\n this.setLocalizableStringText(\"html\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(HtmlConditionItem.prototype, \"locHtml\", {\n get: function () {\n return this.getLocalizableString(\"html\");\n },\n enumerable: false,\n configurable: true\n });\n return HtmlConditionItem;\n}(ExpressionItem));\n\n/**\n * A class that contains expression and url propeties. It uses in survey.navigateToUrlOnCondition array.\n * If the expression returns true then url of this item uses instead of survey.navigateToUrl property\n * @see SurveyModel.navigateToUrl\n */\nvar UrlConditionItem = /** @class */ (function (_super) {\n __extends(UrlConditionItem, _super);\n function UrlConditionItem(expression, url) {\n if (expression === void 0) { expression = null; }\n if (url === void 0) { url = null; }\n var _this = _super.call(this, expression) || this;\n _this.createLocalizableString(\"url\", _this);\n _this.url = url;\n return _this;\n }\n UrlConditionItem.prototype.getType = function () {\n return \"urlconditionitem\";\n };\n Object.defineProperty(UrlConditionItem.prototype, \"url\", {\n /**\n * The url that survey navigates to on completing the survey. The expression should return true\n * @see expression\n */\n get: function () {\n return this.getLocalizableStringText(\"url\");\n },\n set: function (value) {\n this.setLocalizableStringText(\"url\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(UrlConditionItem.prototype, \"locUrl\", {\n get: function () {\n return this.getLocalizableString(\"url\");\n },\n enumerable: false,\n configurable: true\n });\n return UrlConditionItem;\n}(ExpressionItem));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"expressionitem\", [\"expression:condition\"], function () {\n return new ExpressionItem();\n}, \"base\");\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"htmlconditionitem\", [{ name: \"html:html\", serializationProperty: \"locHtml\" }], function () {\n return new HtmlConditionItem();\n}, \"expressionitem\");\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"urlconditionitem\", [{ name: \"url:string\", serializationProperty: \"locUrl\" }], function () {\n return new UrlConditionItem();\n}, \"expressionitem\");\n\n\n/***/ }),\n\n/***/ \"./src/expressions/expressionParser.ts\":\n/*!*********************************************!*\\\n !*** ./src/expressions/expressionParser.ts ***!\n \\*********************************************/\n/*! exports provided: SyntaxError, parse */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SyntaxError\", function() { return SyntaxError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return parse; });\n/* harmony import */ var _expressions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./expressions */ \"./src/expressions/expressions.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/* eslint-disable */\n\n// Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.3.1 )\n//\n// https://pegjs.org/ https://github.com/metadevpro/ts-pegjs\n\"use strict\";\nvar SyntaxError = /** @class */ (function (_super) {\n __extends(SyntaxError, _super);\n function SyntaxError(message, expected, found, location) {\n var _this = _super.call(this) || this;\n _this.message = message;\n _this.expected = expected;\n _this.found = found;\n _this.location = location;\n _this.name = \"SyntaxError\";\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(_this, SyntaxError);\n }\n return _this;\n }\n SyntaxError.buildMessage = function (expected, found) {\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n function literalEscape(s) {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\"/g, \"\\\\\\\"\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n }\n function classEscape(s) {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\]/g, \"\\\\]\")\n .replace(/\\^/g, \"\\\\^\")\n .replace(/-/g, \"\\\\-\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n }\n function describeExpectation(expectation) {\n switch (expectation.type) {\n case \"literal\":\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n case \"class\":\n var escapedParts = expectation.parts.map(function (part) {\n return Array.isArray(part)\n ? classEscape(part[0]) + \"-\" + classEscape(part[1])\n : classEscape(part);\n });\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n case \"any\":\n return \"any character\";\n case \"end\":\n return \"end of input\";\n case \"other\":\n return expectation.description;\n }\n }\n function describeExpected(expected1) {\n var descriptions = expected1.map(describeExpectation);\n var i;\n var j;\n descriptions.sort();\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n function describeFound(found1) {\n return found1 ? \"\\\"\" + literalEscape(found1) + \"\\\"\" : \"end of input\";\n }\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n };\n return SyntaxError;\n}(Error));\n\nfunction peg$parse(input, options) {\n options = options !== undefined ? options : {};\n var peg$FAILED = {};\n var peg$startRuleFunctions = { Expression: peg$parseExpression };\n var peg$startRuleFunction = peg$parseExpression;\n var peg$c0 = function (head, tail) {\n return buildBinaryOperand(head, tail, true);\n };\n var peg$c1 = \"||\";\n var peg$c2 = peg$literalExpectation(\"||\", false);\n var peg$c3 = \"or\";\n var peg$c4 = peg$literalExpectation(\"or\", true);\n var peg$c5 = function () { return \"or\"; };\n var peg$c6 = \"&&\";\n var peg$c7 = peg$literalExpectation(\"&&\", false);\n var peg$c8 = \"and\";\n var peg$c9 = peg$literalExpectation(\"and\", true);\n var peg$c10 = function () { return \"and\"; };\n var peg$c11 = function (head, tail) {\n return buildBinaryOperand(head, tail);\n };\n var peg$c12 = \"<=\";\n var peg$c13 = peg$literalExpectation(\"<=\", false);\n var peg$c14 = \"lessorequal\";\n var peg$c15 = peg$literalExpectation(\"lessorequal\", true);\n var peg$c16 = function () { return \"lessorequal\"; };\n var peg$c17 = \">=\";\n var peg$c18 = peg$literalExpectation(\">=\", false);\n var peg$c19 = \"greaterorequal\";\n var peg$c20 = peg$literalExpectation(\"greaterorequal\", true);\n var peg$c21 = function () { return \"greaterorequal\"; };\n var peg$c22 = \"==\";\n var peg$c23 = peg$literalExpectation(\"==\", false);\n var peg$c24 = \"equal\";\n var peg$c25 = peg$literalExpectation(\"equal\", true);\n var peg$c26 = function () { return \"equal\"; };\n var peg$c27 = \"=\";\n var peg$c28 = peg$literalExpectation(\"=\", false);\n var peg$c29 = \"!=\";\n var peg$c30 = peg$literalExpectation(\"!=\", false);\n var peg$c31 = \"notequal\";\n var peg$c32 = peg$literalExpectation(\"notequal\", true);\n var peg$c33 = function () { return \"notequal\"; };\n var peg$c34 = \"<\";\n var peg$c35 = peg$literalExpectation(\"<\", false);\n var peg$c36 = \"less\";\n var peg$c37 = peg$literalExpectation(\"less\", true);\n var peg$c38 = function () { return \"less\"; };\n var peg$c39 = \">\";\n var peg$c40 = peg$literalExpectation(\">\", false);\n var peg$c41 = \"greater\";\n var peg$c42 = peg$literalExpectation(\"greater\", true);\n var peg$c43 = function () { return \"greater\"; };\n var peg$c44 = \"+\";\n var peg$c45 = peg$literalExpectation(\"+\", false);\n var peg$c46 = function () { return \"plus\"; };\n var peg$c47 = \"-\";\n var peg$c48 = peg$literalExpectation(\"-\", false);\n var peg$c49 = function () { return \"minus\"; };\n var peg$c50 = \"*\";\n var peg$c51 = peg$literalExpectation(\"*\", false);\n var peg$c52 = function () { return \"mul\"; };\n var peg$c53 = \"/\";\n var peg$c54 = peg$literalExpectation(\"/\", false);\n var peg$c55 = function () { return \"div\"; };\n var peg$c56 = \"%\";\n var peg$c57 = peg$literalExpectation(\"%\", false);\n var peg$c58 = function () { return \"mod\"; };\n var peg$c59 = \"^\";\n var peg$c60 = peg$literalExpectation(\"^\", false);\n var peg$c61 = \"power\";\n var peg$c62 = peg$literalExpectation(\"power\", true);\n var peg$c63 = function () { return \"power\"; };\n var peg$c64 = \"*=\";\n var peg$c65 = peg$literalExpectation(\"*=\", false);\n var peg$c66 = \"contains\";\n var peg$c67 = peg$literalExpectation(\"contains\", true);\n var peg$c68 = \"contain\";\n var peg$c69 = peg$literalExpectation(\"contain\", true);\n var peg$c70 = function () { return \"contains\"; };\n var peg$c71 = \"notcontains\";\n var peg$c72 = peg$literalExpectation(\"notcontains\", true);\n var peg$c73 = \"notcontain\";\n var peg$c74 = peg$literalExpectation(\"notcontain\", true);\n var peg$c75 = function () { return \"notcontains\"; };\n var peg$c76 = \"anyof\";\n var peg$c77 = peg$literalExpectation(\"anyof\", true);\n var peg$c78 = function () { return \"anyof\"; };\n var peg$c79 = \"allof\";\n var peg$c80 = peg$literalExpectation(\"allof\", true);\n var peg$c81 = function () { return \"allof\"; };\n var peg$c82 = \"(\";\n var peg$c83 = peg$literalExpectation(\"(\", false);\n var peg$c84 = \")\";\n var peg$c85 = peg$literalExpectation(\")\", false);\n var peg$c86 = function (expr) { return expr; };\n var peg$c87 = function (name, params) { return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"FunctionOperand\"](name, params); };\n var peg$c88 = \"!\";\n var peg$c89 = peg$literalExpectation(\"!\", false);\n var peg$c90 = \"negate\";\n var peg$c91 = peg$literalExpectation(\"negate\", true);\n var peg$c92 = function (expr) { return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"UnaryOperand\"](expr, \"negate\"); };\n var peg$c93 = function (expr, op) { return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"UnaryOperand\"](expr, op); };\n var peg$c94 = \"empty\";\n var peg$c95 = peg$literalExpectation(\"empty\", true);\n var peg$c96 = function () { return \"empty\"; };\n var peg$c97 = \"notempty\";\n var peg$c98 = peg$literalExpectation(\"notempty\", true);\n var peg$c99 = function () { return \"notempty\"; };\n var peg$c100 = \"undefined\";\n var peg$c101 = peg$literalExpectation(\"undefined\", false);\n var peg$c102 = \"null\";\n var peg$c103 = peg$literalExpectation(\"null\", false);\n var peg$c104 = function () { return null; };\n var peg$c105 = function (value) { return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"Const\"](value); };\n var peg$c106 = \"{\";\n var peg$c107 = peg$literalExpectation(\"{\", false);\n var peg$c108 = \"}\";\n var peg$c109 = peg$literalExpectation(\"}\", false);\n var peg$c110 = function (value) { return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"Variable\"](value); };\n var peg$c111 = function (value) { return value; };\n var peg$c112 = \"''\";\n var peg$c113 = peg$literalExpectation(\"''\", false);\n var peg$c114 = function () { return \"\"; };\n var peg$c115 = \"\\\"\\\"\";\n var peg$c116 = peg$literalExpectation(\"\\\"\\\"\", false);\n var peg$c117 = \"'\";\n var peg$c118 = peg$literalExpectation(\"'\", false);\n var peg$c119 = function (value) { return \"'\" + value + \"'\"; };\n var peg$c120 = \"\\\"\";\n var peg$c121 = peg$literalExpectation(\"\\\"\", false);\n var peg$c122 = \"[\";\n var peg$c123 = peg$literalExpectation(\"[\", false);\n var peg$c124 = \"]\";\n var peg$c125 = peg$literalExpectation(\"]\", false);\n var peg$c126 = function (sequence) { return sequence; };\n var peg$c127 = \",\";\n var peg$c128 = peg$literalExpectation(\",\", false);\n var peg$c129 = function (expr, tail) {\n if (expr == null)\n return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"ArrayOperand\"]([]);\n var array = [expr];\n if (Array.isArray(tail)) {\n var flatten = flattenArray(tail);\n for (var i = 3; i < flatten.length; i += 4) {\n array.push(flatten[i]);\n }\n }\n return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"ArrayOperand\"](array);\n };\n var peg$c130 = \"true\";\n var peg$c131 = peg$literalExpectation(\"true\", true);\n var peg$c132 = function () { return true; };\n var peg$c133 = \"false\";\n var peg$c134 = peg$literalExpectation(\"false\", true);\n var peg$c135 = function () { return false; };\n var peg$c136 = \"0x\";\n var peg$c137 = peg$literalExpectation(\"0x\", false);\n var peg$c138 = function () { return parseInt(text(), 16); };\n var peg$c139 = /^[\\-]/;\n var peg$c140 = peg$classExpectation([\"-\"], false, false);\n var peg$c141 = function (sign, num) { return sign == null ? num : -num; };\n var peg$c142 = \".\";\n var peg$c143 = peg$literalExpectation(\".\", false);\n var peg$c144 = function () { return parseFloat(text()); };\n var peg$c145 = function () { return parseInt(text(), 10); };\n var peg$c146 = \"0\";\n var peg$c147 = peg$literalExpectation(\"0\", false);\n var peg$c148 = function () { return 0; };\n var peg$c149 = function (chars) { return chars.join(\"\"); };\n var peg$c150 = \"\\\\'\";\n var peg$c151 = peg$literalExpectation(\"\\\\'\", false);\n var peg$c152 = function () { return \"'\"; };\n var peg$c153 = \"\\\\\\\"\";\n var peg$c154 = peg$literalExpectation(\"\\\\\\\"\", false);\n var peg$c155 = function () { return \"\\\"\"; };\n var peg$c156 = /^[^\"']/;\n var peg$c157 = peg$classExpectation([\"\\\"\", \"'\"], true, false);\n var peg$c158 = function () { return text(); };\n var peg$c159 = /^[^{}]/;\n var peg$c160 = peg$classExpectation([\"{\", \"}\"], true, false);\n var peg$c161 = /^[0-9]/;\n var peg$c162 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n var peg$c163 = /^[1-9]/;\n var peg$c164 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n var peg$c165 = /^[a-zA-Z_]/;\n var peg$c166 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"_\"], false, false);\n var peg$c167 = peg$otherExpectation(\"whitespace\");\n var peg$c168 = /^[ \\t\\n\\r]/;\n var peg$c169 = peg$classExpectation([\" \", \"\\t\", \"\\n\", \"\\r\"], false, false);\n var peg$currPos = 0;\n var peg$savedPos = 0;\n var peg$posDetailsCache = [{ line: 1, column: 1 }];\n var peg$maxFailPos = 0;\n var peg$maxFailExpected = [];\n var peg$silentFails = 0;\n var peg$resultsCache = {};\n var peg$result;\n if (options.startRule !== undefined) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n function expected(description, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildStructuredError([peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location1);\n }\n function error(message, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildSimpleError(message, location1);\n }\n function peg$literalExpectation(text1, ignoreCase) {\n return { type: \"literal\", text: text1, ignoreCase: ignoreCase };\n }\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n function peg$anyExpectation() {\n return { type: \"any\" };\n }\n function peg$endExpectation() {\n return { type: \"end\" };\n }\n function peg$otherExpectation(description) {\n return { type: \"other\", description: description };\n }\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos];\n var p;\n if (details) {\n return details;\n }\n else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n }\n else {\n details.column++;\n }\n p++;\n }\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos);\n var endPosDetails = peg$computePosDetails(endPos);\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n function peg$fail(expected1) {\n if (peg$currPos < peg$maxFailPos) {\n return;\n }\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n peg$maxFailExpected.push(expected1);\n }\n function peg$buildSimpleError(message, location1) {\n return new SyntaxError(message, [], \"\", location1);\n }\n function peg$buildStructuredError(expected1, found, location1) {\n return new SyntaxError(SyntaxError.buildMessage(expected1, found), expected1, found, location1);\n }\n function peg$parseExpression() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n var key = peg$currPos * 34 + 0;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseLogicOr();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$currPos;\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseOrSign();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseLogicOr();\n if (s8 !== peg$FAILED) {\n s5 = [s5, s6, s7, s8];\n s4 = s5;\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$currPos;\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseOrSign();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseLogicOr();\n if (s8 !== peg$FAILED) {\n s5 = [s5, s6, s7, s8];\n s4 = s5;\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s4;\n s4 = peg$FAILED;\n }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseOrSign() {\n var s0, s1;\n var key = peg$currPos * 34 + 1;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c1) {\n s1 = peg$c1;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c2);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 2).toLowerCase() === peg$c3) {\n s1 = input.substr(peg$currPos, 2);\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c4);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c5();\n }\n s0 = s1;\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseLogicOr() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n var key = peg$currPos * 34 + 2;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseLogicAnd();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseAndSign();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseLogicAnd();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseAndSign();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseLogicAnd();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseAndSign() {\n var s0, s1;\n var key = peg$currPos * 34 + 3;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c6) {\n s1 = peg$c6;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 3).toLowerCase() === peg$c8) {\n s1 = input.substr(peg$currPos, 3);\n peg$currPos += 3;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c10();\n }\n s0 = s1;\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseLogicAnd() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n var key = peg$currPos * 34 + 4;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseCompOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseComparableOperators();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseCompOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseComparableOperators();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseCompOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseComparableOperators() {\n var s0, s1;\n var key = peg$currPos * 34 + 5;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c12) {\n s1 = peg$c12;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c13);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 11).toLowerCase() === peg$c14) {\n s1 = input.substr(peg$currPos, 11);\n peg$currPos += 11;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c15);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c17) {\n s1 = peg$c17;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c18);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 14).toLowerCase() === peg$c19) {\n s1 = input.substr(peg$currPos, 14);\n peg$currPos += 14;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c20);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c23);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c24) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c25);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s1 = peg$c27;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c24) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c25);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c29) {\n s1 = peg$c29;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c30);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c31) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c32);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 60) {\n s1 = peg$c34;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4).toLowerCase() === peg$c36) {\n s1 = input.substr(peg$currPos, 4);\n peg$currPos += 4;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c37);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c38();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 62) {\n s1 = peg$c39;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c40);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 7).toLowerCase() === peg$c41) {\n s1 = input.substr(peg$currPos, 7);\n peg$currPos += 7;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c42);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c43();\n }\n s0 = s1;\n }\n }\n }\n }\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseCompOps() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n var key = peg$currPos * 34 + 6;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parsePlusMinusOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePlusMinusSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsePlusMinusOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePlusMinusSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsePlusMinusOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parsePlusMinusSigns() {\n var s0, s1;\n var key = peg$currPos * 34 + 7;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 43) {\n s1 = peg$c44;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c45);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c46();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 45) {\n s1 = peg$c47;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c48);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c49();\n }\n s0 = s1;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parsePlusMinusOps() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n var key = peg$currPos * 34 + 8;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseMulDivOps();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseMulDivSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseMulDivOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseMulDivSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseMulDivOps();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseMulDivSigns() {\n var s0, s1;\n var key = peg$currPos * 34 + 9;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 42) {\n s1 = peg$c50;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c51);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c52();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 47) {\n s1 = peg$c53;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c54);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 37) {\n s1 = peg$c56;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c57);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c58();\n }\n s0 = s1;\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseMulDivOps() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n var key = peg$currPos * 34 + 10;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseBinaryFuncOp();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePowerSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseBinaryFuncOp();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsePowerSigns();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseBinaryFuncOp();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parsePowerSigns() {\n var s0, s1;\n var key = peg$currPos * 34 + 11;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 94) {\n s1 = peg$c59;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c60);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c61) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c62);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c63();\n }\n s0 = s1;\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseBinaryFuncOp() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n var key = peg$currPos * 34 + 12;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseFactor();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseBinFunctions();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseFactor();\n if (s7 === peg$FAILED) {\n s7 = null;\n }\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseBinFunctions();\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseFactor();\n if (s7 === peg$FAILED) {\n s7 = null;\n }\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseBinFunctions() {\n var s0, s1;\n var key = peg$currPos * 34 + 13;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c64) {\n s1 = peg$c64;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c65);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c66) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c67);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 7).toLowerCase() === peg$c68) {\n s1 = input.substr(peg$currPos, 7);\n peg$currPos += 7;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c70();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 11).toLowerCase() === peg$c71) {\n s1 = input.substr(peg$currPos, 11);\n peg$currPos += 11;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c72);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 10).toLowerCase() === peg$c73) {\n s1 = input.substr(peg$currPos, 10);\n peg$currPos += 10;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c74);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c75();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c76) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c77);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c78();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c79) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c80);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c81();\n }\n s0 = s1;\n }\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseFactor() {\n var s0, s1, s2, s3, s4, s5;\n var key = peg$currPos * 34 + 14;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 40) {\n s1 = peg$c82;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c83);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseExpression();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s5 = peg$c84;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c85);\n }\n }\n if (s5 === peg$FAILED) {\n s5 = null;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c86(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parseFunctionOp();\n if (s0 === peg$FAILED) {\n s0 = peg$parseUnaryFunctionOp();\n if (s0 === peg$FAILED) {\n s0 = peg$parseAtom();\n if (s0 === peg$FAILED) {\n s0 = peg$parseArrayOp();\n }\n }\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseFunctionOp() {\n var s0, s1, s2, s3, s4;\n var key = peg$currPos * 34 + 15;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseLettersAndDigits();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s2 = peg$c82;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c83);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseSequence();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s4 = peg$c84;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c85);\n }\n }\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c87(s1, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseUnaryFunctionOp() {\n var s0, s1, s2, s3;\n var key = peg$currPos * 34 + 16;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 33) {\n s1 = peg$c88;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c89);\n }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 6).toLowerCase() === peg$c90) {\n s1 = input.substr(peg$currPos, 6);\n peg$currPos += 6;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseExpression();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c92(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseAtom();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseUnFunctions();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c93(s1, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseUnFunctions() {\n var s0, s1;\n var key = peg$currPos * 34 + 17;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c94) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c95);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c96();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 8).toLowerCase() === peg$c97) {\n s1 = input.substr(peg$currPos, 8);\n peg$currPos += 8;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c98);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c99();\n }\n s0 = s1;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseAtom() {\n var s0, s1, s2, s3, s4;\n var key = peg$currPos * 34 + 18;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.substr(peg$currPos, 9) === peg$c100) {\n s2 = peg$c100;\n peg$currPos += 9;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c101);\n }\n }\n if (s2 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c102) {\n s2 = peg$c102;\n peg$currPos += 4;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c103);\n }\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c104();\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseConstValue();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c105(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s2 = peg$c106;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c107);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseValueInput();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s4 = peg$c108;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c109);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c110(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseConstValue() {\n var s0, s1, s2, s3;\n var key = peg$currPos * 34 + 19;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseLogicValue();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c111(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseArithmeticValue();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c111(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseLettersAndDigits();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c111(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c112) {\n s1 = peg$c112;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c113);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c114();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c115) {\n s1 = peg$c115;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c116);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c114();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c117;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c118);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseAnyInput();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s3 = peg$c117;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c118);\n }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c119(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 34) {\n s1 = peg$c120;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c121);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseAnyInput();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 34) {\n s3 = peg$c120;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c121);\n }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c119(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n }\n }\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseArrayOp() {\n var s0, s1, s2, s3;\n var key = peg$currPos * 34 + 20;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 91) {\n s1 = peg$c122;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c123);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseSequence();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 93) {\n s3 = peg$c124;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c125);\n }\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c126(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseSequence() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n var key = peg$currPos * 34 + 21;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseExpression();\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c127;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c128);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseExpression();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c127;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c128);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseExpression();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c129(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseLogicValue() {\n var s0, s1;\n var key = peg$currPos * 34 + 22;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 4).toLowerCase() === peg$c130) {\n s1 = input.substr(peg$currPos, 4);\n peg$currPos += 4;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c131);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c132();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5).toLowerCase() === peg$c133) {\n s1 = input.substr(peg$currPos, 5);\n peg$currPos += 5;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c134);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c135();\n }\n s0 = s1;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseArithmeticValue() {\n var s0, s1, s2;\n var key = peg$currPos * 34 + 23;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c136) {\n s1 = peg$c136;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c137);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseDigits();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c138();\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (peg$c139.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c140);\n }\n }\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseNumber();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c141(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseNumber() {\n var s0, s1, s2, s3;\n var key = peg$currPos * 34 + 24;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseDigits();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 46) {\n s2 = peg$c142;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c143);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseDigits();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c144();\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseNonZeroDigits();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseDigits();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c145();\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c146;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c147);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c148();\n }\n s0 = s1;\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseValueInput() {\n var s0, s1, s2;\n var key = peg$currPos * 34 + 25;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseValueCharacters();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseValueCharacters();\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c149(s1);\n }\n s0 = s1;\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseAnyInput() {\n var s0, s1, s2;\n var key = peg$currPos * 34 + 26;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseAnyCharacters();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseAnyCharacters();\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c149(s1);\n }\n s0 = s1;\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseAnyCharacters() {\n var s0, s1;\n var key = peg$currPos * 34 + 27;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c150) {\n s1 = peg$c150;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c151);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c152();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c153) {\n s1 = peg$c153;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c154);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c155();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (peg$c156.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c157);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c158();\n }\n s0 = s1;\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseValueCharacters() {\n var s0, s1;\n var key = peg$currPos * 34 + 28;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n if (peg$c159.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c160);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c158();\n }\n s0 = s1;\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseLettersAndDigits() {\n var s0, s1, s2, s3, s4, s5, s6;\n var key = peg$currPos * 34 + 29;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = peg$currPos;\n s1 = peg$parseLetters();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parseDigits();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseLetters();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseLetters();\n }\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parseDigits();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseLetters();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseLetters();\n }\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c158();\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseDigits() {\n var s0, s1;\n var key = peg$currPos * 34 + 30;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = [];\n if (peg$c161.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c162);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c161.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c162);\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseNonZeroDigits() {\n var s0, s1;\n var key = peg$currPos * 34 + 31;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = [];\n if (peg$c163.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c164);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c163.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c164);\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parseLetters() {\n var s0, s1;\n var key = peg$currPos * 34 + 32;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n s0 = [];\n if (peg$c165.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c166);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c165.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c166);\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function peg$parse_() {\n var s0, s1;\n var key = peg$currPos * 34 + 33;\n var cached = peg$resultsCache[key];\n if (cached) {\n peg$currPos = cached.nextPos;\n return cached.result;\n }\n peg$silentFails++;\n s0 = [];\n if (peg$c168.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c169);\n }\n }\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c168.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c169);\n }\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c167);\n }\n }\n peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };\n return s0;\n }\n function buildBinaryOperand(head, tail, isArithmeticOp) {\n if (isArithmeticOp === void 0) { isArithmeticOp = false; }\n return tail.reduce(function (result, elements) {\n return new _expressions__WEBPACK_IMPORTED_MODULE_0__[\"BinaryOperand\"](elements[1], result, elements[3], isArithmeticOp);\n }, head);\n }\n function flattenArray(array) {\n return [].concat.apply([], array);\n }\n peg$result = peg$startRuleFunction();\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n }\n else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n throw peg$buildStructuredError(peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos));\n }\n}\nvar parse = peg$parse;\n\n\n/***/ }),\n\n/***/ \"./src/expressions/expressions.ts\":\n/*!****************************************!*\\\n !*** ./src/expressions/expressions.ts ***!\n \\****************************************/\n/*! exports provided: Operand, BinaryOperand, UnaryOperand, ArrayOperand, Const, Variable, FunctionOperand, OperandMaker */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Operand\", function() { return Operand; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BinaryOperand\", function() { return BinaryOperand; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UnaryOperand\", function() { return UnaryOperand; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ArrayOperand\", function() { return ArrayOperand; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Const\", function() { return Const; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Variable\", function() { return Variable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FunctionOperand\", function() { return FunctionOperand; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"OperandMaker\", function() { return OperandMaker; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _functionsfactory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../functionsfactory */ \"./src/functionsfactory.ts\");\n/* harmony import */ var _conditionProcessValue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../conditionProcessValue */ \"./src/conditionProcessValue.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../settings */ \"./src/settings.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\nvar Operand = /** @class */ (function () {\n function Operand() {\n }\n Operand.prototype.toString = function (func) {\n if (func === void 0) { func = undefined; }\n return \"\";\n };\n Operand.prototype.hasFunction = function () {\n return false;\n };\n Operand.prototype.hasAsyncFunction = function () { return false; };\n Operand.prototype.addToAsyncList = function (list) { };\n Operand.prototype.isEqual = function (op) {\n return !!op && op.getType() === this.getType() && this.isContentEqual(op);\n };\n Operand.prototype.areOperatorsEquals = function (op1, op2) {\n return !op1 && !op2 || !!op1 && op1.isEqual(op2);\n };\n return Operand;\n}());\n\nvar BinaryOperand = /** @class */ (function (_super) {\n __extends(BinaryOperand, _super);\n function BinaryOperand(operatorName, left, right, isArithmeticOp) {\n if (left === void 0) { left = null; }\n if (right === void 0) { right = null; }\n if (isArithmeticOp === void 0) { isArithmeticOp = false; }\n var _this = _super.call(this) || this;\n _this.operatorName = operatorName;\n _this.left = left;\n _this.right = right;\n _this.isArithmeticValue = isArithmeticOp;\n if (isArithmeticOp) {\n _this.consumer = OperandMaker.binaryFunctions[\"arithmeticOp\"](operatorName);\n }\n else {\n _this.consumer = OperandMaker.binaryFunctions[operatorName];\n }\n if (_this.consumer == null) {\n OperandMaker.throwInvalidOperatorError(operatorName);\n }\n return _this;\n }\n Object.defineProperty(BinaryOperand.prototype, \"requireStrictCompare\", {\n get: function () {\n return this.getIsOperandRequireStrict(this.left) ||\n this.getIsOperandRequireStrict(this.right);\n },\n enumerable: false,\n configurable: true\n });\n BinaryOperand.prototype.getIsOperandRequireStrict = function (op) {\n return !!op && op.requireStrictCompare;\n };\n BinaryOperand.prototype.getType = function () {\n return \"binary\";\n };\n Object.defineProperty(BinaryOperand.prototype, \"isArithmetic\", {\n get: function () {\n return this.isArithmeticValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BinaryOperand.prototype, \"isConjunction\", {\n get: function () {\n return this.operatorName == \"or\" || this.operatorName == \"and\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BinaryOperand.prototype, \"conjunction\", {\n get: function () {\n return this.isConjunction ? this.operatorName : \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BinaryOperand.prototype, \"operator\", {\n get: function () {\n return this.operatorName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BinaryOperand.prototype, \"leftOperand\", {\n get: function () {\n return this.left;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BinaryOperand.prototype, \"rightOperand\", {\n get: function () {\n return this.right;\n },\n enumerable: false,\n configurable: true\n });\n BinaryOperand.prototype.isContentEqual = function (op) {\n var bOp = op;\n return bOp.operator === this.operator &&\n this.areOperatorsEquals(this.left, bOp.left) &&\n this.areOperatorsEquals(this.right, bOp.right);\n };\n BinaryOperand.prototype.evaluateParam = function (x, processValue) {\n return x == null ? null : x.evaluate(processValue);\n };\n BinaryOperand.prototype.evaluate = function (processValue) {\n return this.consumer.call(this, this.evaluateParam(this.left, processValue), this.evaluateParam(this.right, processValue), this.requireStrictCompare);\n };\n BinaryOperand.prototype.toString = function (func) {\n if (func === void 0) { func = undefined; }\n if (!!func) {\n var res = func(this);\n if (!!res)\n return res;\n }\n return (\"(\" +\n OperandMaker.safeToString(this.left, func) +\n \" \" +\n OperandMaker.operatorToString(this.operatorName) +\n \" \" +\n OperandMaker.safeToString(this.right, func) +\n \")\");\n };\n BinaryOperand.prototype.setVariables = function (variables) {\n if (this.left != null)\n this.left.setVariables(variables);\n if (this.right != null)\n this.right.setVariables(variables);\n };\n BinaryOperand.prototype.hasFunction = function () {\n return ((!!this.left && this.left.hasFunction()) ||\n (!!this.right && this.right.hasFunction()));\n };\n BinaryOperand.prototype.hasAsyncFunction = function () {\n return ((!!this.left && this.left.hasAsyncFunction()) ||\n (!!this.right && this.right.hasAsyncFunction()));\n };\n BinaryOperand.prototype.addToAsyncList = function (list) {\n if (!!this.left)\n this.left.addToAsyncList(list);\n if (!!this.right)\n this.right.addToAsyncList(list);\n };\n return BinaryOperand;\n}(Operand));\n\nvar UnaryOperand = /** @class */ (function (_super) {\n __extends(UnaryOperand, _super);\n function UnaryOperand(expressionValue, operatorName) {\n var _this = _super.call(this) || this;\n _this.expressionValue = expressionValue;\n _this.operatorName = operatorName;\n _this.consumer = OperandMaker.unaryFunctions[operatorName];\n if (_this.consumer == null) {\n OperandMaker.throwInvalidOperatorError(operatorName);\n }\n return _this;\n }\n Object.defineProperty(UnaryOperand.prototype, \"operator\", {\n get: function () {\n return this.operatorName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(UnaryOperand.prototype, \"expression\", {\n get: function () {\n return this.expressionValue;\n },\n enumerable: false,\n configurable: true\n });\n UnaryOperand.prototype.getType = function () {\n return \"unary\";\n };\n UnaryOperand.prototype.toString = function (func) {\n if (func === void 0) { func = undefined; }\n if (!!func) {\n var res = func(this);\n if (!!res)\n return res;\n }\n return (OperandMaker.operatorToString(this.operatorName) +\n \" \" +\n this.expression.toString(func));\n };\n UnaryOperand.prototype.isContentEqual = function (op) {\n var uOp = op;\n return uOp.operator == this.operator && this.areOperatorsEquals(this.expression, uOp.expression);\n };\n UnaryOperand.prototype.hasFunction = function () {\n return this.expression.hasFunction();\n };\n UnaryOperand.prototype.hasAsyncFunction = function () {\n return this.expression.hasAsyncFunction();\n };\n UnaryOperand.prototype.addToAsyncList = function (list) {\n this.expression.addToAsyncList(list);\n };\n UnaryOperand.prototype.evaluate = function (processValue) {\n var value = this.expression.evaluate(processValue);\n return this.consumer.call(this, value);\n };\n UnaryOperand.prototype.setVariables = function (variables) {\n this.expression.setVariables(variables);\n };\n return UnaryOperand;\n}(Operand));\n\nvar ArrayOperand = /** @class */ (function (_super) {\n __extends(ArrayOperand, _super);\n function ArrayOperand(values) {\n var _this = _super.call(this) || this;\n _this.values = values;\n return _this;\n }\n ArrayOperand.prototype.getType = function () {\n return \"array\";\n };\n ArrayOperand.prototype.toString = function (func) {\n if (func === void 0) { func = undefined; }\n if (!!func) {\n var res = func(this);\n if (!!res)\n return res;\n }\n return (\"[\" +\n this.values\n .map(function (el) {\n return el.toString(func);\n })\n .join(\", \") +\n \"]\");\n };\n ArrayOperand.prototype.evaluate = function (processValue) {\n return this.values.map(function (el) {\n return el.evaluate(processValue);\n });\n };\n ArrayOperand.prototype.setVariables = function (variables) {\n this.values.forEach(function (el) {\n el.setVariables(variables);\n });\n };\n ArrayOperand.prototype.hasFunction = function () {\n return this.values.some(function (operand) { return operand.hasFunction(); });\n };\n ArrayOperand.prototype.hasAsyncFunction = function () {\n return this.values.some(function (operand) { return operand.hasAsyncFunction(); });\n };\n ArrayOperand.prototype.addToAsyncList = function (list) {\n this.values.forEach(function (operand) { return operand.addToAsyncList(list); });\n };\n ArrayOperand.prototype.isContentEqual = function (op) {\n var aOp = op;\n if (aOp.values.length !== this.values.length)\n return false;\n for (var i = 0; i < this.values.length; i++) {\n if (!aOp.values[i].isEqual(this.values[i]))\n return false;\n }\n return true;\n };\n return ArrayOperand;\n}(Operand));\n\nvar Const = /** @class */ (function (_super) {\n __extends(Const, _super);\n function Const(value) {\n var _this = _super.call(this) || this;\n _this.value = value;\n return _this;\n }\n Const.prototype.getType = function () {\n return \"const\";\n };\n Const.prototype.toString = function (func) {\n if (func === void 0) { func = undefined; }\n if (!!func) {\n var res = func(this);\n if (!!res)\n return res;\n }\n return this.value.toString();\n };\n Object.defineProperty(Const.prototype, \"correctValue\", {\n get: function () {\n return this.getCorrectValue(this.value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Const.prototype, \"requireStrictCompare\", {\n get: function () { return false; },\n enumerable: false,\n configurable: true\n });\n Const.prototype.evaluate = function () {\n return this.getCorrectValue(this.value);\n };\n Const.prototype.setVariables = function (variables) { };\n Const.prototype.getCorrectValue = function (value) {\n if (!value || typeof value != \"string\")\n return value;\n if (this.isBooleanValue(value))\n return value.toLowerCase() === \"true\";\n if (value.length > 1 &&\n this.isQuote(value[0]) &&\n this.isQuote(value[value.length - 1]))\n return value.substring(1, value.length - 1);\n if (OperandMaker.isNumeric(value)) {\n if (value.indexOf(\"0x\") == 0)\n return parseInt(value);\n if (value.length > 1 && value[0] == \"0\" && (value.length < 2 || (value[1] !== \".\" && value[1] !== \",\")))\n return value;\n return parseFloat(value);\n }\n return value;\n };\n Const.prototype.isContentEqual = function (op) {\n var cOp = op;\n return cOp.value == this.value;\n };\n Const.prototype.isQuote = function (ch) {\n return ch == \"'\" || ch == '\"';\n };\n Const.prototype.isBooleanValue = function (value) {\n return (value &&\n (value.toLowerCase() === \"true\" || value.toLowerCase() === \"false\"));\n };\n return Const;\n}(Operand));\n\nvar Variable = /** @class */ (function (_super) {\n __extends(Variable, _super);\n function Variable(variableName) {\n var _this = _super.call(this, variableName) || this;\n _this.variableName = variableName;\n _this.valueInfo = {};\n _this.useValueAsItIs = false;\n if (!!_this.variableName &&\n _this.variableName.length > 1 &&\n _this.variableName[0] === Variable.DisableConversionChar) {\n _this.variableName = _this.variableName.substring(1);\n _this.useValueAsItIs = true;\n }\n return _this;\n }\n Object.defineProperty(Variable, \"DisableConversionChar\", {\n get: function () { return _settings__WEBPACK_IMPORTED_MODULE_3__[\"settings\"].expressionDisableConversionChar; },\n set: function (val) { _settings__WEBPACK_IMPORTED_MODULE_3__[\"settings\"].expressionDisableConversionChar = val; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Variable.prototype, \"requireStrictCompare\", {\n get: function () {\n return this.valueInfo.sctrictCompare === true;\n },\n enumerable: false,\n configurable: true\n });\n Variable.prototype.getType = function () {\n return \"variable\";\n };\n Variable.prototype.toString = function (func) {\n if (func === void 0) { func = undefined; }\n if (!!func) {\n var res = func(this);\n if (!!res)\n return res;\n }\n var prefix = this.useValueAsItIs ? Variable.DisableConversionChar : \"\";\n return \"{\" + prefix + this.variableName + \"}\";\n };\n Object.defineProperty(Variable.prototype, \"variable\", {\n get: function () {\n return this.variableName;\n },\n enumerable: false,\n configurable: true\n });\n Variable.prototype.evaluate = function (processValue) {\n this.valueInfo.name = this.variableName;\n processValue.getValueInfo(this.valueInfo);\n return this.valueInfo.hasValue\n ? this.getCorrectValue(this.valueInfo.value)\n : null;\n };\n Variable.prototype.setVariables = function (variables) {\n variables.push(this.variableName);\n };\n Variable.prototype.getCorrectValue = function (value) {\n if (this.useValueAsItIs)\n return value;\n return _super.prototype.getCorrectValue.call(this, value);\n };\n Variable.prototype.isContentEqual = function (op) {\n var vOp = op;\n return vOp.variable == this.variable;\n };\n return Variable;\n}(Const));\n\nvar FunctionOperand = /** @class */ (function (_super) {\n __extends(FunctionOperand, _super);\n function FunctionOperand(originalValue, parameters) {\n var _this = _super.call(this) || this;\n _this.originalValue = originalValue;\n _this.parameters = parameters;\n _this.isReadyValue = false;\n if (Array.isArray(parameters) && parameters.length === 0) {\n _this.parameters = new ArrayOperand([]);\n }\n return _this;\n }\n FunctionOperand.prototype.getType = function () {\n return \"function\";\n };\n FunctionOperand.prototype.evaluateAsync = function (processValue) {\n var _this = this;\n this.isReadyValue = false;\n var asyncProcessValue = new _conditionProcessValue__WEBPACK_IMPORTED_MODULE_2__[\"ProcessValue\"]();\n asyncProcessValue.values = _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].createCopy(processValue.values);\n asyncProcessValue.properties = _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].createCopy(processValue.properties);\n asyncProcessValue.properties.returnResult = function (result) {\n _this.asynResult = result;\n _this.isReadyValue = true;\n _this.onAsyncReady();\n };\n this.evaluateCore(asyncProcessValue);\n };\n FunctionOperand.prototype.evaluate = function (processValue) {\n if (this.isReady)\n return this.asynResult;\n return this.evaluateCore(processValue);\n };\n FunctionOperand.prototype.evaluateCore = function (processValue) {\n return _functionsfactory__WEBPACK_IMPORTED_MODULE_1__[\"FunctionFactory\"].Instance.run(this.originalValue, this.parameters.evaluate(processValue), processValue.properties);\n };\n FunctionOperand.prototype.toString = function (func) {\n if (func === void 0) { func = undefined; }\n if (!!func) {\n var res = func(this);\n if (!!res)\n return res;\n }\n return this.originalValue + \"(\" + this.parameters.toString(func) + \")\";\n };\n FunctionOperand.prototype.setVariables = function (variables) {\n this.parameters.setVariables(variables);\n };\n Object.defineProperty(FunctionOperand.prototype, \"isReady\", {\n get: function () {\n return this.isReadyValue;\n },\n enumerable: false,\n configurable: true\n });\n FunctionOperand.prototype.hasFunction = function () {\n return true;\n };\n FunctionOperand.prototype.hasAsyncFunction = function () {\n return _functionsfactory__WEBPACK_IMPORTED_MODULE_1__[\"FunctionFactory\"].Instance.isAsyncFunction(this.originalValue);\n };\n FunctionOperand.prototype.addToAsyncList = function (list) {\n if (this.hasAsyncFunction()) {\n list.push(this);\n }\n };\n FunctionOperand.prototype.isContentEqual = function (op) {\n var fOp = op;\n return fOp.originalValue == this.originalValue && this.areOperatorsEquals(fOp.parameters, this.parameters);\n };\n return FunctionOperand;\n}(Operand));\n\nvar OperandMaker = /** @class */ (function () {\n function OperandMaker() {\n }\n OperandMaker.throwInvalidOperatorError = function (op) {\n throw new Error(\"Invalid operator: '\" + op + \"'\");\n };\n OperandMaker.safeToString = function (operand, func) {\n return operand == null ? \"\" : operand.toString(func);\n };\n OperandMaker.toOperandString = function (value) {\n if (!!value &&\n !OperandMaker.isNumeric(value) &&\n !OperandMaker.isBooleanValue(value))\n value = \"'\" + value + \"'\";\n return value;\n };\n OperandMaker.isSpaceString = function (str) {\n return !!str && !str.replace(\" \", \"\");\n };\n OperandMaker.isNumeric = function (value) {\n if (!!value &&\n (value.indexOf(\"-\") > -1 ||\n value.indexOf(\"+\") > 1 ||\n value.indexOf(\"*\") > -1 ||\n value.indexOf(\"^\") > -1 ||\n value.indexOf(\"/\") > -1 ||\n value.indexOf(\"%\") > -1))\n return false;\n if (OperandMaker.isSpaceString(value))\n return false;\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isNumber(value);\n };\n OperandMaker.isBooleanValue = function (value) {\n return (!!value &&\n (value.toLowerCase() === \"true\" || value.toLowerCase() === \"false\"));\n };\n OperandMaker.countDecimals = function (value) {\n if (_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isNumber(value) && Math.floor(value) !== value) {\n var strs = value.toString().split(\".\");\n return strs.length > 1 && strs[1].length || 0;\n }\n return 0;\n };\n OperandMaker.plusMinus = function (a, b, res) {\n var digitsA = OperandMaker.countDecimals(a);\n var digitsB = OperandMaker.countDecimals(b);\n if (digitsA > 0 || digitsB > 0) {\n var digits = Math.max(digitsA, digitsB);\n res = parseFloat(res.toFixed(digits));\n }\n return res;\n };\n OperandMaker.isTwoValueEquals = function (x, y, ignoreOrder) {\n if (ignoreOrder === void 0) { ignoreOrder = true; }\n if (x === \"undefined\")\n x = undefined;\n if (y === \"undefined\")\n y = undefined;\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isTwoValueEquals(x, y, ignoreOrder);\n };\n OperandMaker.operatorToString = function (operatorName) {\n var opStr = OperandMaker.signs[operatorName];\n return opStr == null ? operatorName : opStr;\n };\n OperandMaker.convertValForDateCompare = function (val, second) {\n if (second instanceof Date && typeof val === \"string\") {\n var res = new Date(val);\n res.setHours(0, 0, 0);\n return res;\n }\n return val;\n };\n OperandMaker.unaryFunctions = {\n empty: function (value) {\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(value);\n },\n notempty: function (value) {\n return !OperandMaker.unaryFunctions.empty(value);\n },\n negate: function (value) {\n return !value;\n },\n };\n OperandMaker.binaryFunctions = {\n arithmeticOp: function (operatorName) {\n var convertForArithmeticOp = function (val, second) {\n if (!_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(val))\n return val;\n if (typeof second === \"number\")\n return 0;\n if (typeof val === \"string\")\n return val;\n if (typeof second === \"string\")\n return \"\";\n if (Array.isArray(second))\n return [];\n return 0;\n };\n return function (a, b) {\n a = convertForArithmeticOp(a, b);\n b = convertForArithmeticOp(b, a);\n var consumer = OperandMaker.binaryFunctions[operatorName];\n return consumer == null ? null : consumer.call(this, a, b);\n };\n },\n and: function (a, b) {\n return a && b;\n },\n or: function (a, b) {\n return a || b;\n },\n plus: function (a, b) {\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].sumAnyValues(a, b);\n },\n minus: function (a, b) {\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].correctAfterPlusMinis(a, b, a - b);\n },\n mul: function (a, b) {\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].correctAfterMultiple(a, b, a * b);\n },\n div: function (a, b) {\n if (!b)\n return null;\n return a / b;\n },\n mod: function (a, b) {\n if (!b)\n return null;\n return a % b;\n },\n power: function (a, b) {\n return Math.pow(a, b);\n },\n greater: function (left, right) {\n if (left == null || right == null)\n return false;\n left = OperandMaker.convertValForDateCompare(left, right);\n right = OperandMaker.convertValForDateCompare(right, left);\n return left > right;\n },\n less: function (left, right) {\n if (left == null || right == null)\n return false;\n left = OperandMaker.convertValForDateCompare(left, right);\n right = OperandMaker.convertValForDateCompare(right, left);\n return left < right;\n },\n greaterorequal: function (left, right) {\n if (OperandMaker.binaryFunctions.equal(left, right))\n return true;\n return OperandMaker.binaryFunctions.greater(left, right);\n },\n lessorequal: function (left, right) {\n if (OperandMaker.binaryFunctions.equal(left, right))\n return true;\n return OperandMaker.binaryFunctions.less(left, right);\n },\n equal: function (left, right, strictCompare) {\n left = OperandMaker.convertValForDateCompare(left, right);\n right = OperandMaker.convertValForDateCompare(right, left);\n return OperandMaker.isTwoValueEquals(left, right, strictCompare !== true);\n },\n notequal: function (left, right, strictCompare) {\n return !OperandMaker.binaryFunctions.equal(left, right, strictCompare);\n },\n contains: function (left, right) {\n return OperandMaker.binaryFunctions.containsCore(left, right, true);\n },\n notcontains: function (left, right) {\n if (!left && !_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(right))\n return true;\n return OperandMaker.binaryFunctions.containsCore(left, right, false);\n },\n anyof: function (left, right) {\n if (_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(left) && _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(right))\n return true;\n if (_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(left) ||\n (!Array.isArray(left) && left.length === 0))\n return false;\n if (_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(right))\n return true;\n if (!Array.isArray(left))\n return OperandMaker.binaryFunctions.contains(right, left);\n if (!Array.isArray(right))\n return OperandMaker.binaryFunctions.contains(left, right);\n for (var i = 0; i < right.length; i++) {\n if (OperandMaker.binaryFunctions.contains(left, right[i]))\n return true;\n }\n return false;\n },\n allof: function (left, right) {\n if (!left && !_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(right))\n return false;\n if (!Array.isArray(right))\n return OperandMaker.binaryFunctions.contains(left, right);\n for (var i = 0; i < right.length; i++) {\n if (!OperandMaker.binaryFunctions.contains(left, right[i]))\n return false;\n }\n return true;\n },\n containsCore: function (left, right, isContains) {\n if (!left && left !== 0 && left !== false)\n return false;\n if (!left.length) {\n left = left.toString();\n if (typeof right === \"string\" || right instanceof String) {\n left = left.toUpperCase();\n right = right.toUpperCase();\n }\n }\n if (typeof left === \"string\" || left instanceof String) {\n if (!right)\n return false;\n right = right.toString();\n var found = left.indexOf(right) > -1;\n return isContains ? found : !found;\n }\n var rightArray = Array.isArray(right) ? right : [right];\n for (var rIndex = 0; rIndex < rightArray.length; rIndex++) {\n var i = 0;\n right = rightArray[rIndex];\n for (; i < left.length; i++) {\n if (OperandMaker.isTwoValueEquals(left[i], right))\n break;\n }\n if (i == left.length)\n return !isContains;\n }\n return isContains;\n },\n };\n OperandMaker.signs = {\n less: \"<\",\n lessorequal: \"<=\",\n greater: \">\",\n greaterorequal: \">=\",\n equal: \"==\",\n notequal: \"!=\",\n plus: \"+\",\n minus: \"-\",\n mul: \"*\",\n div: \"/\",\n and: \"and\",\n or: \"or\",\n power: \"^\",\n mod: \"%\",\n negate: \"!\",\n };\n return OperandMaker;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/flowpanel.ts\":\n/*!**************************!*\\\n !*** ./src/flowpanel.ts ***!\n \\**************************/\n/*! exports provided: FlowPanelModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FlowPanelModel\", function() { return FlowPanelModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _panel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./panel */ \"./src/panel.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * The flow panel object. It is a container with flow layout where you can mix questions with markdown text.\n *\n */\nvar FlowPanelModel = /** @class */ (function (_super) {\n __extends(FlowPanelModel, _super);\n function FlowPanelModel(name) {\n if (name === void 0) { name = \"\"; }\n var _this = _super.call(this, name) || this;\n _this.createLocalizableString(\"content\", _this, true);\n _this.registerPropertyChangedHandlers([\"content\"], function () {\n _this.onContentChanged();\n });\n return _this;\n }\n FlowPanelModel.prototype.getType = function () {\n return \"flowpanel\";\n };\n FlowPanelModel.prototype.getChildrenLayoutType = function () {\n return \"flow\";\n };\n FlowPanelModel.prototype.onSurveyLoad = function () {\n _super.prototype.onSurveyLoad.call(this);\n this.onContentChanged();\n };\n Object.defineProperty(FlowPanelModel.prototype, \"content\", {\n get: function () {\n return this.getLocalizableStringText(\"content\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"content\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FlowPanelModel.prototype, \"locContent\", {\n get: function () {\n return this.getLocalizableString(\"content\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FlowPanelModel.prototype, \"html\", {\n get: function () {\n return this.getPropertyValue(\"html\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"html\", val);\n },\n enumerable: false,\n configurable: true\n });\n FlowPanelModel.prototype.onContentChanged = function () {\n var html = \"\";\n if (!!this.onCustomHtmlProducing) {\n html = this.onCustomHtmlProducing();\n }\n else {\n html = this.produceHtml();\n }\n this.html = html;\n if (!!this.contentChangedCallback)\n this.contentChangedCallback();\n };\n FlowPanelModel.prototype.produceHtml = function () {\n var html = [];\n //contentElementNamePrefix\n var regEx = /{(.*?(element:)[^$].*?)}/g;\n var str = this.content;\n var startIndex = 0;\n var res = null;\n while ((res = regEx.exec(str)) !== null) {\n if (res.index > startIndex) {\n html.push(str.substring(startIndex, res.index));\n startIndex = res.index;\n }\n var question = this.getQuestionFromText(res[0]);\n if (!!question) {\n html.push(this.getHtmlForQuestion(question));\n }\n else {\n html.push(str.substring(startIndex, res.index + res[0].length));\n }\n startIndex = res.index + res[0].length;\n }\n if (startIndex < str.length) {\n html.push(str.substring(startIndex, str.length));\n }\n return html.join(\"\").replace(new RegExp(\"
\", \"g\"), \"
\");\n };\n FlowPanelModel.prototype.getQuestionFromText = function (str) {\n str = str.substring(1, str.length - 1);\n str = str.replace(FlowPanelModel.contentElementNamePrefix, \"\").trim();\n return this.getQuestionByName(str);\n };\n FlowPanelModel.prototype.getHtmlForQuestion = function (question) {\n if (!!this.onGetHtmlForQuestion)\n return this.onGetHtmlForQuestion(question);\n return \"\";\n };\n FlowPanelModel.prototype.getQuestionHtmlId = function (question) {\n return this.name + \"_\" + question.id;\n };\n FlowPanelModel.prototype.onAddElement = function (element, index) {\n _super.prototype.onAddElement.call(this, element, index);\n this.addElementToContent(element);\n element.renderWidth = \"\";\n };\n FlowPanelModel.prototype.onRemoveElement = function (element) {\n var searchStr = this.getElementContentText(element);\n this.content = this.content.replace(searchStr, \"\");\n _super.prototype.onRemoveElement.call(this, element);\n };\n FlowPanelModel.prototype.dragDropMoveElement = function (src, target, targetIndex) { };\n FlowPanelModel.prototype.addElementToContent = function (element) {\n if (this.isLoadingFromJson)\n return;\n var text = this.getElementContentText(element);\n if (!this.insertTextAtCursor(text)) {\n this.content = this.content + text;\n }\n };\n FlowPanelModel.prototype.insertTextAtCursor = function (text, prevName) {\n if (prevName === void 0) { prevName = null; }\n if (!this.isDesignMode ||\n typeof document === \"undefined\" ||\n !window.getSelection)\n return false;\n var sel = window.getSelection();\n if (sel.getRangeAt && sel.rangeCount) {\n var range = sel.getRangeAt(0);\n range.deleteContents();\n range.insertNode(document.createTextNode(text));\n var self = this;\n if (self.getContent) {\n var str = self.getContent(prevName);\n this.content = str;\n }\n return true;\n }\n return false;\n };\n FlowPanelModel.prototype.getElementContentText = function (element) {\n return \"{\" + FlowPanelModel.contentElementNamePrefix + element.name + \"}\";\n };\n FlowPanelModel.contentElementNamePrefix = \"element:\";\n return FlowPanelModel;\n}(_panel__WEBPACK_IMPORTED_MODULE_1__[\"PanelModel\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"flowpanel\", [{ name: \"content:html\", serializationProperty: \"locContent\" }], function () {\n return new FlowPanelModel();\n}, \"panel\");\n\n\n/***/ }),\n\n/***/ \"./src/functionsfactory.ts\":\n/*!*********************************!*\\\n !*** ./src/functionsfactory.ts ***!\n \\*********************************/\n/*! exports provided: FunctionFactory, registerFunction */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FunctionFactory\", function() { return FunctionFactory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerFunction\", function() { return registerFunction; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _console_warnings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./console-warnings */ \"./src/console-warnings.ts\");\n\n\n\nvar FunctionFactory = /** @class */ (function () {\n function FunctionFactory() {\n this.functionHash = {};\n this.isAsyncHash = {};\n }\n FunctionFactory.prototype.register = function (name, func, isAsync) {\n if (isAsync === void 0) { isAsync = false; }\n this.functionHash[name] = func;\n if (isAsync)\n this.isAsyncHash[name] = true;\n };\n FunctionFactory.prototype.unregister = function (name) {\n delete this.functionHash[name];\n delete this.isAsyncHash[name];\n };\n FunctionFactory.prototype.hasFunction = function (name) {\n return !!this.functionHash[name];\n };\n FunctionFactory.prototype.isAsyncFunction = function (name) {\n return !!this.isAsyncHash[name];\n };\n FunctionFactory.prototype.clear = function () {\n this.functionHash = {};\n };\n FunctionFactory.prototype.getAll = function () {\n var result = [];\n for (var key in this.functionHash) {\n result.push(key);\n }\n return result.sort();\n };\n FunctionFactory.prototype.run = function (name, params, properties) {\n if (properties === void 0) { properties = null; }\n var func = this.functionHash[name];\n if (!func) {\n _console_warnings__WEBPACK_IMPORTED_MODULE_2__[\"ConsoleWarnings\"].warn(\"Unknown function name: \" + name);\n return null;\n }\n var classRunner = {\n func: func,\n };\n if (properties) {\n for (var key in properties) {\n classRunner[key] = properties[key];\n }\n }\n return classRunner.func(params);\n };\n FunctionFactory.Instance = new FunctionFactory();\n return FunctionFactory;\n}());\n\nvar registerFunction = FunctionFactory.Instance.register;\nfunction getParamsAsArray(value, arr) {\n if (value === undefined || value === null)\n return;\n if (Array.isArray(value)) {\n for (var i = 0; i < value.length; i++) {\n getParamsAsArray(value[i], arr);\n }\n }\n else {\n if (_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isNumber(value)) {\n value = _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].getNumber(value);\n }\n arr.push(value);\n }\n}\nfunction sum(params) {\n var arr = [];\n getParamsAsArray(params, arr);\n var res = 0;\n for (var i = 0; i < arr.length; i++) {\n res = _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].correctAfterPlusMinis(res, arr[i], res + arr[i]);\n }\n return res;\n}\nFunctionFactory.Instance.register(\"sum\", sum);\nfunction min_max(params, isMin) {\n var arr = [];\n getParamsAsArray(params, arr);\n var res = undefined;\n for (var i = 0; i < arr.length; i++) {\n if (res === undefined) {\n res = arr[i];\n }\n if (isMin) {\n if (res > arr[i])\n res = arr[i];\n }\n else {\n if (res < arr[i])\n res = arr[i];\n }\n }\n return res;\n}\nfunction min(params) {\n return min_max(params, true);\n}\nFunctionFactory.Instance.register(\"min\", min);\nfunction max(params) {\n return min_max(params, false);\n}\nFunctionFactory.Instance.register(\"max\", max);\nfunction count(params) {\n var arr = [];\n getParamsAsArray(params, arr);\n return arr.length;\n}\nFunctionFactory.Instance.register(\"count\", count);\nfunction avg(params) {\n var arr = [];\n getParamsAsArray(params, arr);\n var res = sum(params);\n return arr.length > 0 ? res / arr.length : 0;\n}\nFunctionFactory.Instance.register(\"avg\", avg);\nfunction getInArrayParams(params) {\n if (params.length != 2)\n return null;\n var arr = params[0];\n if (!arr)\n return null;\n if (!Array.isArray(arr) && !Array.isArray(Object.keys(arr)))\n return null;\n var name = params[1];\n if (typeof name !== \"string\" && !(name instanceof String))\n return null;\n return { data: arr, name: name };\n}\nfunction convertToNumber(val) {\n if (typeof val === \"string\")\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isNumber(val) ? _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].getNumber(val) : undefined;\n return val;\n}\nfunction processItemInArray(item, name, res, func, needToConvert) {\n if (!item || _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(item[name]))\n return res;\n var val = needToConvert ? convertToNumber(item[name]) : 1;\n return func(res, val);\n}\nfunction calcInArray(params, func, needToConvert) {\n if (needToConvert === void 0) { needToConvert = true; }\n var v = getInArrayParams(params);\n if (!v)\n return undefined;\n var res = undefined;\n if (Array.isArray(v.data)) {\n for (var i = 0; i < v.data.length; i++) {\n res = processItemInArray(v.data[i], v.name, res, func, needToConvert);\n }\n }\n else {\n for (var key in v.data) {\n res = processItemInArray(v.data[key], v.name, res, func, needToConvert);\n }\n }\n return res;\n}\nfunction sumInArray(params) {\n var res = calcInArray(params, function (res, val) {\n if (res == undefined)\n res = 0;\n if (val == undefined || val == null)\n return res;\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].correctAfterPlusMinis(res, val, res + val);\n });\n return res !== undefined ? res : 0;\n}\nFunctionFactory.Instance.register(\"sumInArray\", sumInArray);\nfunction minInArray(params) {\n return calcInArray(params, function (res, val) {\n if (res == undefined)\n return val;\n if (val == undefined || val == null)\n return res;\n return res < val ? res : val;\n });\n}\nFunctionFactory.Instance.register(\"minInArray\", minInArray);\nfunction maxInArray(params) {\n return calcInArray(params, function (res, val) {\n if (res == undefined)\n return val;\n if (val == undefined || val == null)\n return res;\n return res > val ? res : val;\n });\n}\nFunctionFactory.Instance.register(\"maxInArray\", maxInArray);\nfunction countInArray(params) {\n var res = calcInArray(params, function (res, val) {\n if (res == undefined)\n res = 0;\n if (val == undefined || val == null)\n return res;\n return res + 1;\n }, false);\n return res !== undefined ? res : 0;\n}\nFunctionFactory.Instance.register(\"countInArray\", countInArray);\nfunction avgInArray(params) {\n var count = countInArray(params);\n if (count == 0)\n return 0;\n return sumInArray(params) / count;\n}\nFunctionFactory.Instance.register(\"avgInArray\", avgInArray);\nfunction iif(params) {\n if (!params && params.length !== 3)\n return \"\";\n return params[0] ? params[1] : params[2];\n}\nFunctionFactory.Instance.register(\"iif\", iif);\nfunction getDate(params) {\n if (!params && params.length < 1)\n return null;\n if (!params[0])\n return null;\n return new Date(params[0]);\n}\nFunctionFactory.Instance.register(\"getDate\", getDate);\nfunction age(params) {\n if (!params && params.length < 1)\n return null;\n if (!params[0])\n return null;\n var birthDate = new Date(params[0]);\n var today = new Date();\n var age = today.getFullYear() - birthDate.getFullYear();\n var m = today.getMonth() - birthDate.getMonth();\n if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {\n age -= age > 0 ? 1 : 0;\n }\n return age;\n}\nFunctionFactory.Instance.register(\"age\", age);\nfunction isContainerReadyCore(container) {\n if (!container)\n return false;\n var questions = container.questions;\n for (var i = 0; i < questions.length; i++) {\n if (!questions[i].validate(false))\n return false;\n }\n return true;\n}\nfunction isContainerReady(params) {\n if (!params && params.length < 1)\n return false;\n if (!params[0] || !this.survey)\n return false;\n var name = params[0];\n var container = this.survey.getPageByName(name);\n if (!container)\n container = this.survey.getPanelByName(name);\n if (!container) {\n var question = this.survey.getQuestionByName(name);\n if (!question || !Array.isArray(question.panels))\n return false;\n if (params.length > 1) {\n if (params[1] < question.panels.length) {\n container = question.panels[params[1]];\n }\n }\n else {\n for (var i = 0; i < question.panels.length; i++) {\n if (!isContainerReadyCore(question.panels[i]))\n return false;\n }\n return true;\n }\n }\n return isContainerReadyCore(container);\n}\nFunctionFactory.Instance.register(\"isContainerReady\", isContainerReady);\nfunction isDisplayMode() {\n return this.survey && this.survey.isDisplayMode;\n}\nFunctionFactory.Instance.register(\"isDisplayMode\", isDisplayMode);\nfunction currentDate() {\n return new Date();\n}\nFunctionFactory.Instance.register(\"currentDate\", currentDate);\nfunction today(params) {\n var res = new Date();\n if (_settings__WEBPACK_IMPORTED_MODULE_1__[\"settings\"].localization.useLocalTimeZone) {\n res.setHours(0, 0, 0, 0);\n }\n else {\n res.setUTCHours(0, 0, 0, 0);\n }\n if (Array.isArray(params) && params.length == 1) {\n res.setDate(res.getDate() + params[0]);\n }\n return res;\n}\nFunctionFactory.Instance.register(\"today\", today);\nfunction getYear(params) {\n if (params.length !== 1 || !params[0])\n return undefined;\n return new Date(params[0]).getFullYear();\n}\nFunctionFactory.Instance.register(\"getYear\", getYear);\nfunction currentYear() {\n return new Date().getFullYear();\n}\nFunctionFactory.Instance.register(\"currentYear\", currentYear);\nfunction diffDays(params) {\n if (!Array.isArray(params) || params.length !== 2)\n return 0;\n if (!params[0] || !params[1])\n return 0;\n var date1 = new Date(params[0]);\n var date2 = new Date(params[1]);\n var diffTime = Math.abs(date2 - date1);\n return Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n}\nFunctionFactory.Instance.register(\"diffDays\", diffDays);\nfunction dateFromFirstParameterOrToday(params) {\n var date = today(undefined);\n if (params && params[0]) {\n date = new Date(params[0]);\n }\n return date;\n}\nfunction year(params) {\n var date = dateFromFirstParameterOrToday(params);\n return date.getFullYear();\n}\nFunctionFactory.Instance.register(\"year\", year);\nfunction month(params) {\n var date = dateFromFirstParameterOrToday(params);\n return date.getMonth() + 1;\n}\nFunctionFactory.Instance.register(\"month\", month);\nfunction day(params) {\n var date = dateFromFirstParameterOrToday(params);\n return date.getDate();\n}\nFunctionFactory.Instance.register(\"day\", day);\nfunction weekday(params) {\n var date = dateFromFirstParameterOrToday(params);\n return date.getDay();\n}\nFunctionFactory.Instance.register(\"weekday\", weekday);\nfunction getQuestionValueByContext(context, name) {\n if (!context || !name)\n return undefined;\n var keys = [\"row\", \"panel\", \"survey\"];\n for (var i = 0; i < keys.length; i++) {\n var ctx = context[keys[i]];\n if (ctx && ctx.getQuestionByName) {\n var res = ctx.getQuestionByName(name);\n if (res)\n return res;\n }\n }\n return null;\n}\nfunction displayValue(params) {\n var q = getQuestionValueByContext(this, params[0]);\n return q ? q.displayValue : \"\";\n}\nFunctionFactory.Instance.register(\"displayValue\", displayValue);\nfunction propertyValue(params) {\n if (params.length !== 2 || !params[0] || !params[1])\n return undefined;\n var q = getQuestionValueByContext(this, params[0]);\n return q ? q[params[1]] : undefined;\n}\nFunctionFactory.Instance.register(\"propertyValue\", propertyValue);\n\n\n/***/ }),\n\n/***/ \"./src/header.ts\":\n/*!***********************!*\\\n !*** ./src/header.ts ***!\n \\***********************/\n/*! exports provided: CoverCell, Cover */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CoverCell\", function() { return CoverCell; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Cover\", function() { return Cover; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\nvar CoverCell = /** @class */ (function () {\n function CoverCell(cover, positionX, positionY) {\n this.cover = cover;\n this.positionX = positionX;\n this.positionY = positionY;\n }\n CoverCell.prototype.calcRow = function (positionY) {\n return positionY === \"top\" ? 1 : (positionY === \"middle\" ? 2 : 3);\n };\n CoverCell.prototype.calcColumn = function (positionX) {\n return positionX === \"left\" ? 1 : (positionX === \"center\" ? 2 : 3);\n };\n CoverCell.prototype.calcAlignItems = function (positionX) {\n return positionX === \"left\" ? \"flex-start\" : (positionX === \"center\" ? \"center\" : \"flex-end\");\n };\n CoverCell.prototype.calcAlignText = function (positionX) {\n return positionX === \"left\" ? \"start\" : (positionX === \"center\" ? \"center\" : \"end\");\n };\n CoverCell.prototype.calcJustifyContent = function (positionY) {\n return positionY === \"top\" ? \"flex-start\" : (positionY === \"middle\" ? \"center\" : \"flex-end\");\n };\n Object.defineProperty(CoverCell.prototype, \"survey\", {\n get: function () {\n return this.cover.survey;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CoverCell.prototype, \"css\", {\n get: function () {\n var result = CoverCell.CLASSNAME + \" \" + CoverCell.CLASSNAME + \"--\" + this.positionX + \" \" + CoverCell.CLASSNAME + \"--\" + this.positionY;\n return result;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CoverCell.prototype, \"style\", {\n get: function () {\n var result = {};\n result[\"gridColumn\"] = this.calcColumn(this.positionX);\n result[\"gridRow\"] = this.calcRow(this.positionY);\n return result;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CoverCell.prototype, \"contentStyle\", {\n get: function () {\n var result = {};\n result[\"textAlign\"] = this.calcAlignText(this.positionX);\n result[\"alignItems\"] = this.calcAlignItems(this.positionX);\n result[\"justifyContent\"] = this.calcJustifyContent(this.positionY);\n return result;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CoverCell.prototype, \"showLogo\", {\n get: function () {\n return this.survey.hasLogo && this.positionX === this.cover.logoPositionX && this.positionY === this.cover.logoPositionY;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CoverCell.prototype, \"showTitle\", {\n get: function () {\n return this.survey.hasTitle && this.positionX === this.cover.titlePositionX && this.positionY === this.cover.titlePositionY;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CoverCell.prototype, \"showDescription\", {\n get: function () {\n return this.survey.renderedHasDescription && this.positionX === this.cover.descriptionPositionX && this.positionY === this.cover.descriptionPositionY;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CoverCell.prototype, \"textAreaWidth\", {\n get: function () {\n if (!this.cover.textAreaWidth) {\n return \"\";\n }\n return \"\" + this.cover.textAreaWidth + \"px\";\n },\n enumerable: false,\n configurable: true\n });\n CoverCell.CLASSNAME = \"sv-header__cell\";\n return CoverCell;\n}());\n\nvar Cover = /** @class */ (function (_super) {\n __extends(Cover, _super);\n function Cover() {\n var _this = _super.call(this) || this;\n _this.cells = [];\n _this.renderBackgroundImage = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"wrapUrlForBackgroundImage\"])(_this.backgroundImage);\n [\"top\", \"middle\", \"bottom\"].forEach(function (positionY) {\n return [\"left\", \"center\", \"right\"].forEach(function (positionX) { return _this.cells.push(new CoverCell(_this, positionX, positionY)); });\n });\n _this.updateHeaderClasses();\n _this.updateContentClasses();\n _this.updateBackgroundImageClasses();\n return _this;\n }\n Cover.prototype.calcBackgroundSize = function (backgroundImageFit) {\n if (backgroundImageFit === \"fill\") {\n return \"100% 100%\";\n }\n if (backgroundImageFit === \"tile\") {\n return \"auto\";\n }\n return backgroundImageFit;\n };\n Cover.prototype.updateHeaderClasses = function () {\n this.headerClasses = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__[\"CssClassBuilder\"]()\n .append(\"sv-header\")\n .append(\"sv-header__without-background\", (this.backgroundColor === \"transparent\") && !this.backgroundImage)\n .append(\"sv-header__overlap\", this.overlapEnabled)\n .toString();\n };\n Cover.prototype.updateContentClasses = function () {\n var surveyWidthMode = !!this.survey && this.survey.calculateWidthMode();\n this.maxWidth = this.inheritWidthFrom === \"survey\" && !!surveyWidthMode && surveyWidthMode === \"static\" && this.survey.renderedWidth;\n this.contentClasses = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__[\"CssClassBuilder\"]()\n .append(\"sv-header__content\")\n .append(\"sv-header__content--static\", this.inheritWidthFrom === \"survey\" && !!surveyWidthMode && surveyWidthMode === \"static\")\n .append(\"sv-header__content--responsive\", this.inheritWidthFrom === \"container\" || (!!surveyWidthMode && surveyWidthMode === \"responsive\"))\n .toString();\n };\n Cover.prototype.updateBackgroundImageClasses = function () {\n this.backgroundImageClasses = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__[\"CssClassBuilder\"]()\n .append(\"sv-header__background-image\")\n .append(\"sv-header__background-image--contain\", this.backgroundImageFit === \"contain\")\n .append(\"sv-header__background-image--tile\", this.backgroundImageFit === \"tile\")\n .toString();\n };\n Cover.prototype.fromTheme = function (theme) {\n _super.prototype.fromJSON.call(this, theme.header);\n if (!!theme.cssVariables) {\n this.backgroundColor = theme.cssVariables[\"--sjs-header-backcolor\"];\n }\n };\n Cover.prototype.getType = function () {\n return \"cover\";\n };\n Object.defineProperty(Cover.prototype, \"renderedHeight\", {\n get: function () {\n return this.height && (this.survey && !this.survey.isMobile || !this.survey) ? Math.max(this.height, this.actualHeight + 40) + \"px\" : undefined;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Cover.prototype, \"renderedtextAreaWidth\", {\n get: function () {\n return this.textAreaWidth ? this.textAreaWidth + \"px\" : undefined;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Cover.prototype, \"survey\", {\n get: function () {\n return this._survey;\n },\n set: function (newValue) {\n var _this = this;\n if (this._survey === newValue)\n return;\n this._survey = newValue;\n if (!!newValue) {\n this.updateContentClasses();\n this._survey.onPropertyChanged.add(function (sender, options) {\n if (options.name == \"widthMode\" || options.name == \"width\") {\n _this.updateContentClasses();\n }\n });\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Cover.prototype, \"backgroundImageStyle\", {\n get: function () {\n if (!this.backgroundImage)\n return null;\n return {\n opacity: this.backgroundImageOpacity,\n backgroundImage: this.renderBackgroundImage,\n backgroundSize: this.calcBackgroundSize(this.backgroundImageFit),\n };\n },\n enumerable: false,\n configurable: true\n });\n Cover.prototype.propertyValueChanged = function (name, oldValue, newValue) {\n _super.prototype.propertyValueChanged.call(this, name, oldValue, newValue);\n if (name === \"backgroundColor\" || name === \"backgroundImage\" || name === \"overlapEnabled\") {\n this.updateHeaderClasses();\n }\n if (name === \"inheritWidthFrom\") {\n this.updateContentClasses();\n }\n if (name === \"backgroundImageFit\") {\n this.updateBackgroundImageClasses();\n }\n };\n Cover.prototype.calculateActualHeight = function (logoHeight, titleHeight, descriptionHeight) {\n var positionsY = [\"top\", \"middle\", \"bottom\"];\n var logoIndex = positionsY.indexOf(this.logoPositionY);\n var titleIndex = positionsY.indexOf(this.titlePositionY);\n var descriptionIndex = positionsY.indexOf(this.descriptionPositionY);\n var positionsX = [\"left\", \"center\", \"right\"];\n var logoIndexX = positionsX.indexOf(this.logoPositionX);\n var titleIndexX = positionsX.indexOf(this.titlePositionX);\n var descriptionIndexX = positionsX.indexOf(this.descriptionPositionX);\n var heights = [\n [0, 0, 0],\n [0, 0, 0],\n [0, 0, 0]\n ];\n heights[logoIndex][logoIndexX] = logoHeight;\n heights[titleIndex][titleIndexX] += titleHeight;\n heights[descriptionIndex][descriptionIndexX] += descriptionHeight;\n return heights.reduce(function (total, rowArr) { return total + Math.max.apply(Math, rowArr); }, 0);\n };\n Cover.prototype.processResponsiveness = function (width) {\n if (this.survey && this.survey.rootElement) {\n var logoEl = this.survey.rootElement.querySelectorAll(\".sv-header__logo\")[0];\n var titleEl = this.survey.rootElement.querySelectorAll(\".sv-header__title\")[0];\n var descriptionEl = this.survey.rootElement.querySelectorAll(\".sv-header__description\")[0];\n var logoHeight = logoEl ? logoEl.getBoundingClientRect().height : 0;\n var titleHeight = titleEl ? titleEl.getBoundingClientRect().height : 0;\n var descriptionHeight = descriptionEl ? descriptionEl.getBoundingClientRect().height : 0;\n this.actualHeight = this.calculateActualHeight(logoHeight, titleHeight, descriptionHeight);\n }\n };\n Object.defineProperty(Cover.prototype, \"hasBackground\", {\n get: function () {\n return !!this.backgroundImage || this.backgroundColor !== \"transparent\";\n },\n enumerable: false,\n configurable: true\n });\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: 0 })\n ], Cover.prototype, \"actualHeight\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"height\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"inheritWidthFrom\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"textAreaWidth\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"textGlowEnabled\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"overlapEnabled\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"backgroundColor\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({\n onSet: function (newVal, target) {\n target.renderBackgroundImage = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"wrapUrlForBackgroundImage\"])(newVal);\n }\n })\n ], Cover.prototype, \"backgroundImage\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"renderBackgroundImage\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"backgroundImageFit\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"backgroundImageOpacity\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"logoPositionX\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"logoPositionY\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"titlePositionX\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"titlePositionY\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"descriptionPositionX\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"descriptionPositionY\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"logoStyle\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"titleStyle\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"descriptionStyle\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"headerClasses\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"contentClasses\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"maxWidth\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Cover.prototype, \"backgroundImageClasses\", void 0);\n return Cover;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].addClass(\"cover\", [\n { name: \"height:number\", minValue: 0, default: 256 },\n { name: \"inheritWidthFrom\", default: \"container\" },\n { name: \"textAreaWidth:number\", minValue: 0, default: 512 },\n { name: \"textGlowEnabled:boolean\" },\n { name: \"overlapEnabled:boolean\" },\n { name: \"backgroundImage:file\" },\n { name: \"backgroundImageOpacity:number\", minValue: 0, maxValue: 1, default: 1 },\n { name: \"backgroundImageFit\", default: \"cover\", choices: [\"cover\", \"fill\", \"contain\"] },\n { name: \"logoPositionX\", default: \"right\" },\n { name: \"logoPositionY\", default: \"top\" },\n { name: \"titlePositionX\", default: \"left\" },\n { name: \"titlePositionY\", default: \"bottom\" },\n { name: \"descriptionPositionX\", default: \"left\" },\n { name: \"descriptionPositionY\", default: \"bottom\" }\n], function () {\n return new Cover();\n});\n\n\n/***/ }),\n\n/***/ \"./src/helpers.ts\":\n/*!************************!*\\\n !*** ./src/helpers.ts ***!\n \\************************/\n/*! exports provided: Helpers */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Helpers\", function() { return Helpers; });\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n\nvar Helpers = /** @class */ (function () {\n function Helpers() {\n }\n /**\n * A static methods that returns true if a value undefined, null, empty string or empty array.\n * @param value\n */\n Helpers.isValueEmpty = function (value) {\n if (Array.isArray(value) && value.length === 0)\n return true;\n if (!!value && Helpers.isValueObject(value) && value.constructor === Object) {\n for (var key in value) {\n if (!Helpers.isValueEmpty(value[key]))\n return false;\n }\n return true;\n }\n return !value && value !== 0 && value !== false;\n };\n Helpers.isArrayContainsEqual = function (x, y) {\n if (!Array.isArray(x) || !Array.isArray(y))\n return false;\n if (x.length !== y.length)\n return false;\n for (var i = 0; i < x.length; i++) {\n var j = 0;\n for (; j < y.length; j++) {\n if (Helpers.isTwoValueEquals(x[i], y[j]))\n break;\n }\n if (j === y.length)\n return false;\n }\n return true;\n };\n Helpers.isArraysEqual = function (x, y, ignoreOrder, caseSensitive, trimStrings) {\n if (ignoreOrder === void 0) { ignoreOrder = false; }\n if (!Array.isArray(x) || !Array.isArray(y))\n return false;\n if (x.length !== y.length)\n return false;\n if (ignoreOrder) {\n var xSorted = [];\n var ySorted = [];\n for (var i = 0; i < x.length; i++) {\n xSorted.push(x[i]);\n ySorted.push(y[i]);\n }\n xSorted.sort();\n ySorted.sort();\n x = xSorted;\n y = ySorted;\n }\n for (var i = 0; i < x.length; i++) {\n if (!Helpers.isTwoValueEquals(x[i], y[i], ignoreOrder, caseSensitive, trimStrings))\n return false;\n }\n return true;\n };\n Helpers.compareStrings = function (x, y) {\n var normalize = _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].comparator.normalizeTextCallback;\n if (!!x)\n x = normalize(x, \"compare\").trim();\n if (!!y)\n y = normalize(y, \"compare\").trim();\n if (!x && !y)\n return 0;\n if (!x)\n return -1;\n if (!y)\n return 1;\n if (x === y)\n return 0;\n var digitIndex = -1;\n for (var i = 0; i < x.length && i < y.length; i++) {\n if (this.isCharDigit(x[i]) && this.isCharDigit(y[i])) {\n digitIndex = i;\n break;\n }\n if (x[i] !== y[i])\n break;\n }\n if (digitIndex > -1) {\n var nX = this.getNumberFromStr(x, digitIndex);\n var nY = this.getNumberFromStr(y, digitIndex);\n if (!Number.isNaN(nX) && !Number.isNaN(nY) && nX !== nY) {\n return nX > nY ? 1 : -1;\n }\n }\n return x > y ? 1 : -1;\n };\n Helpers.isTwoValueEquals = function (x, y, ignoreOrder, caseSensitive, trimStrings) {\n if (ignoreOrder === void 0) { ignoreOrder = false; }\n if (x === y)\n return true;\n if (Array.isArray(x) && x.length === 0 && typeof y === \"undefined\")\n return true;\n if (Array.isArray(y) && y.length === 0 && typeof x === \"undefined\")\n return true;\n if ((x === undefined || x === null) && y === \"\")\n return true;\n if ((y === undefined || y === null) && x === \"\")\n return true;\n if (trimStrings === undefined)\n trimStrings = _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].comparator.trimStrings;\n if (caseSensitive === undefined)\n caseSensitive = _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].comparator.caseSensitive;\n if (typeof x === \"string\" && typeof y === \"string\") {\n var normalize = _settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].comparator.normalizeTextCallback;\n x = normalize(x, \"compare\");\n y = normalize(y, \"compare\");\n if (trimStrings) {\n x = x.trim();\n y = y.trim();\n }\n if (!caseSensitive) {\n x = x.toLowerCase();\n y = y.toLowerCase();\n }\n return x === y;\n }\n if (x instanceof Date && y instanceof Date)\n return x.getTime() == y.getTime();\n if (Helpers.isConvertibleToNumber(x) && Helpers.isConvertibleToNumber(y)) {\n if (parseInt(x) === parseInt(y) && parseFloat(x) === parseFloat(y)) {\n return true;\n }\n }\n if ((!Helpers.isValueEmpty(x) && Helpers.isValueEmpty(y)) ||\n (Helpers.isValueEmpty(x) && !Helpers.isValueEmpty(y)))\n return false;\n if ((x === true || x === false) && typeof y == \"string\") {\n return x.toString() === y.toLocaleLowerCase();\n }\n if ((y === true || y === false) && typeof x == \"string\") {\n return y.toString() === x.toLocaleLowerCase();\n }\n if (!Helpers.isValueObject(x) && !Helpers.isValueObject(y))\n return x == y;\n if (!Helpers.isValueObject(x) || !Helpers.isValueObject(y))\n return false;\n if (x[\"equals\"])\n return x.equals(y);\n if (!!x.toJSON && !!y.toJSON && !!x.getType && !!y.getType) {\n if (x.isDiposed || y.isDiposed)\n return false;\n if (x.getType() !== y.getType())\n return false;\n if (!!x.name && x.name !== y.name)\n return false;\n return this.isTwoValueEquals(x.toJSON(), y.toJSON(), ignoreOrder, caseSensitive, trimStrings);\n }\n if (Array.isArray(x) && Array.isArray(y))\n return Helpers.isArraysEqual(x, y, ignoreOrder, caseSensitive, trimStrings);\n if (!!x.equalsTo && y.equalsTo)\n return x.equalsTo(y);\n for (var p in x) {\n if (!x.hasOwnProperty(p))\n continue;\n if (!y.hasOwnProperty(p))\n return false;\n if (!this.isTwoValueEquals(x[p], y[p], ignoreOrder, caseSensitive, trimStrings))\n return false;\n }\n for (p in y) {\n if (y.hasOwnProperty(p) && !x.hasOwnProperty(p))\n return false;\n }\n return true;\n };\n Helpers.randomizeArray = function (array) {\n for (var i = array.length - 1; i > 0; i--) {\n var j = Math.floor(Math.random() * (i + 1));\n var temp = array[i];\n array[i] = array[j];\n array[j] = temp;\n }\n return array;\n };\n Helpers.getUnbindValue = function (value) {\n if (Array.isArray(value)) {\n var res = [];\n for (var i = 0; i < value.length; i++) {\n res.push(Helpers.getUnbindValue(value[i]));\n }\n return res;\n }\n if (!!value && Helpers.isValueObject(value) && !(value instanceof Date)) {\n return JSON.parse(JSON.stringify(value));\n }\n return value;\n };\n Helpers.createCopy = function (obj) {\n var res = {};\n if (!obj)\n return res;\n for (var key in obj) {\n res[key] = obj[key];\n }\n return res;\n };\n Helpers.isConvertibleToNumber = function (value) {\n return (value !== undefined &&\n value !== null &&\n !Array.isArray(value) &&\n !isNaN(value));\n };\n Helpers.isValueObject = function (val, excludeArray) {\n return val instanceof Object && (!excludeArray || !Array.isArray(val));\n };\n Helpers.isNumber = function (value) {\n return !isNaN(this.getNumber(value));\n };\n Helpers.getNumber = function (value) {\n if (typeof value == \"string\" &&\n !!value &&\n value.indexOf(\"0x\") == 0 &&\n value.length > 32)\n return NaN;\n value = this.prepareStringToNumber(value);\n var res = parseFloat(value);\n if (isNaN(res) || !isFinite(value))\n return NaN;\n return res;\n };\n Helpers.prepareStringToNumber = function (val) {\n if (typeof val !== \"string\" || !val)\n return val;\n var i = val.indexOf(\",\");\n if (i > -1 && val.indexOf(\",\", i + 1) < 0) {\n return val.replace(\",\", \".\");\n }\n return val;\n };\n Helpers.getMaxLength = function (maxLength, surveyLength) {\n if (maxLength < 0) {\n maxLength = surveyLength;\n }\n return maxLength > 0 ? maxLength : null;\n };\n Helpers.getRemainingCharacterCounterText = function (newValue, maxLength) {\n if (!maxLength || maxLength <= 0 || !_settings__WEBPACK_IMPORTED_MODULE_0__[\"settings\"].showMaxLengthIndicator) {\n return \"\";\n }\n var value = newValue ? newValue.length : \"0\";\n return [value, maxLength].join(\"/\");\n };\n Helpers.getNumberByIndex = function (index, startIndexStr) {\n if (index < 0)\n return \"\";\n var startIndex = 1;\n var prefix = \"\";\n var postfix = \".\";\n var isNumeric = true;\n var strIndex = \"A\";\n var str = \"\";\n if (!!startIndexStr) {\n str = startIndexStr;\n var ind = str.length - 1;\n var hasDigit = false;\n for (var i = 0; i < str.length; i++) {\n if (Helpers.isCharDigit(str[i])) {\n hasDigit = true;\n break;\n }\n }\n var checkLetter = function () {\n return ((hasDigit && !Helpers.isCharDigit(str[ind])) ||\n Helpers.isCharNotLetterAndDigit(str[ind]));\n };\n while (ind >= 0 && checkLetter())\n ind--;\n var newPostfix = \"\";\n if (ind < str.length - 1) {\n newPostfix = str.substring(ind + 1);\n str = str.substring(0, ind + 1);\n }\n ind = str.length - 1;\n while (ind >= 0) {\n if (checkLetter())\n break;\n ind--;\n if (!hasDigit)\n break;\n }\n strIndex = str.substring(ind + 1);\n prefix = str.substring(0, ind + 1);\n if (parseInt(strIndex))\n startIndex = parseInt(strIndex);\n else if (strIndex.length == 1)\n isNumeric = false;\n if (!!newPostfix || !!prefix) {\n postfix = newPostfix;\n }\n }\n if (isNumeric) {\n var val = (index + startIndex).toString();\n while (val.length < strIndex.length)\n val = \"0\" + val;\n return prefix + val + postfix;\n }\n return (prefix + String.fromCharCode(strIndex.charCodeAt(0) + index) + postfix);\n };\n Helpers.isCharNotLetterAndDigit = function (ch) {\n return ch.toUpperCase() == ch.toLowerCase() && !Helpers.isCharDigit(ch);\n };\n Helpers.isCharDigit = function (ch) {\n return ch >= \"0\" && ch <= \"9\";\n };\n Helpers.getNumberFromStr = function (str, index) {\n if (!this.isCharDigit(str[index]))\n return NaN;\n var nStr = \"\";\n while (index < str.length && this.isCharDigit(str[index])) {\n nStr += str[index];\n index++;\n }\n if (!nStr)\n return NaN;\n return this.getNumber(nStr);\n };\n Helpers.countDecimals = function (value) {\n if (Helpers.isNumber(value) && Math.floor(value) !== value) {\n var strs = value.toString().split(\".\");\n return strs.length > 1 && strs[1].length || 0;\n }\n return 0;\n };\n Helpers.correctAfterPlusMinis = function (a, b, res) {\n var digitsA = Helpers.countDecimals(a);\n var digitsB = Helpers.countDecimals(b);\n if (digitsA > 0 || digitsB > 0) {\n var digits = Math.max(digitsA, digitsB);\n res = parseFloat(res.toFixed(digits));\n }\n return res;\n };\n Helpers.sumAnyValues = function (a, b) {\n if (!Helpers.isNumber(a) || !Helpers.isNumber(b)) {\n if (Array.isArray(a) && Array.isArray(b))\n return [].concat(a).concat(b);\n if (Array.isArray(a) || Array.isArray(b)) {\n var arr = Array.isArray(a) ? a : b;\n var val = arr === a ? b : a;\n if (typeof val === \"string\") {\n var str = arr.join(\", \");\n return arr === a ? str + val : val + str;\n }\n if (typeof val === \"number\") {\n var res = 0;\n for (var i = 0; i < arr.length; i++) {\n if (typeof arr[i] === \"number\") {\n res = Helpers.correctAfterPlusMinis(res, arr[i], res + arr[i]);\n }\n }\n return Helpers.correctAfterPlusMinis(res, val, res + val);\n }\n }\n return a + b;\n }\n if (typeof a === \"string\" || typeof b === \"string\")\n return a + b;\n return Helpers.correctAfterPlusMinis(a, b, a + b);\n };\n Helpers.correctAfterMultiple = function (a, b, res) {\n var digits = Helpers.countDecimals(a) + Helpers.countDecimals(b);\n if (digits > 0) {\n res = parseFloat(res.toFixed(digits));\n }\n return res;\n };\n Helpers.convertArrayValueToObject = function (src, propName, dest) {\n if (dest === void 0) { dest = undefined; }\n var res = new Array();\n if (!src || !Array.isArray(src))\n return res;\n for (var i = 0; i < src.length; i++) {\n var item = void 0;\n if (Array.isArray(dest)) {\n item = Helpers.findObjByPropValue(dest, propName, src[i]);\n }\n if (!item) {\n item = {};\n item[propName] = src[i];\n }\n res.push(item);\n }\n return res;\n };\n Helpers.findObjByPropValue = function (arr, propName, val) {\n for (var i = 0; i < arr.length; i++) {\n if (Helpers.isTwoValueEquals(arr[i][propName], val))\n return arr[i];\n }\n return undefined;\n };\n Helpers.convertArrayObjectToValue = function (src, propName) {\n var res = new Array();\n if (!src || !Array.isArray(src))\n return res;\n for (var i = 0; i < src.length; i++) {\n var itemVal = !!src[i] ? src[i][propName] : undefined;\n if (!Helpers.isValueEmpty(itemVal))\n res.push(itemVal);\n }\n return res;\n };\n Helpers.convertDateToString = function (date) {\n var toStr = function (val) {\n if (val < 10)\n return \"0\" + val.toString();\n return val.toString();\n };\n return date.getFullYear() + \"-\" + toStr(date.getMonth() + 1) + \"-\" + toStr(date.getDate());\n };\n Helpers.convertDateTimeToString = function (date) {\n var toStr = function (val) {\n if (val < 10)\n return \"0\" + val.toString();\n return val.toString();\n };\n return this.convertDateToString(date) + \" \" + toStr(date.getHours()) + \":\" + toStr(date.getMinutes());\n };\n Helpers.convertValToQuestionVal = function (val, inputType) {\n if (val instanceof Date) {\n if (inputType === \"datetime-local\")\n return Helpers.convertDateTimeToString(val);\n return Helpers.convertDateToString(val);\n }\n return val;\n };\n return Helpers;\n}());\n\nif (!String.prototype[\"format\"]) {\n String.prototype[\"format\"] = function () {\n var args = arguments;\n return this.replace(/{(\\d+)}/g, function (match, number) {\n return typeof args[number] != \"undefined\" ? args[number] : match;\n });\n };\n}\n\n\n/***/ }),\n\n/***/ \"./src/images sync \\\\.svg$\":\n/*!*********************************************!*\\\n !*** ./src/images sync nonrecursive \\.svg$ ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./ArrowDown_34x34.svg\": \"./src/images/ArrowDown_34x34.svg\",\n\t\"./ArrowLeft.svg\": \"./src/images/ArrowLeft.svg\",\n\t\"./ArrowRight.svg\": \"./src/images/ArrowRight.svg\",\n\t\"./Arrow_downGREY_10x10.svg\": \"./src/images/Arrow_downGREY_10x10.svg\",\n\t\"./ChangeCamera.svg\": \"./src/images/ChangeCamera.svg\",\n\t\"./ChooseFile.svg\": \"./src/images/ChooseFile.svg\",\n\t\"./Clear.svg\": \"./src/images/Clear.svg\",\n\t\"./CloseCamera.svg\": \"./src/images/CloseCamera.svg\",\n\t\"./DefaultFile.svg\": \"./src/images/DefaultFile.svg\",\n\t\"./Delete.svg\": \"./src/images/Delete.svg\",\n\t\"./Down_34x34.svg\": \"./src/images/Down_34x34.svg\",\n\t\"./Left.svg\": \"./src/images/Left.svg\",\n\t\"./ModernBooleanCheckChecked.svg\": \"./src/images/ModernBooleanCheckChecked.svg\",\n\t\"./ModernBooleanCheckInd.svg\": \"./src/images/ModernBooleanCheckInd.svg\",\n\t\"./ModernBooleanCheckUnchecked.svg\": \"./src/images/ModernBooleanCheckUnchecked.svg\",\n\t\"./ModernCheck.svg\": \"./src/images/ModernCheck.svg\",\n\t\"./ModernRadio.svg\": \"./src/images/ModernRadio.svg\",\n\t\"./More.svg\": \"./src/images/More.svg\",\n\t\"./NavMenu_24x24.svg\": \"./src/images/NavMenu_24x24.svg\",\n\t\"./ProgressButton.svg\": \"./src/images/ProgressButton.svg\",\n\t\"./ProgressButtonV2.svg\": \"./src/images/ProgressButtonV2.svg\",\n\t\"./RemoveFile.svg\": \"./src/images/RemoveFile.svg\",\n\t\"./Right.svg\": \"./src/images/Right.svg\",\n\t\"./SearchClear.svg\": \"./src/images/SearchClear.svg\",\n\t\"./ShowCamera.svg\": \"./src/images/ShowCamera.svg\",\n\t\"./TakePicture.svg\": \"./src/images/TakePicture.svg\",\n\t\"./TakePicture_24x24.svg\": \"./src/images/TakePicture_24x24.svg\",\n\t\"./TimerCircle.svg\": \"./src/images/TimerCircle.svg\",\n\t\"./V2Check.svg\": \"./src/images/V2Check.svg\",\n\t\"./V2Check_24x24.svg\": \"./src/images/V2Check_24x24.svg\",\n\t\"./V2DragElement_16x16.svg\": \"./src/images/V2DragElement_16x16.svg\",\n\t\"./chevron.svg\": \"./src/images/chevron.svg\",\n\t\"./clear_16x16.svg\": \"./src/images/clear_16x16.svg\",\n\t\"./collapseDetail.svg\": \"./src/images/collapseDetail.svg\",\n\t\"./drag-n-drop.svg\": \"./src/images/drag-n-drop.svg\",\n\t\"./expandDetail.svg\": \"./src/images/expandDetail.svg\",\n\t\"./loading.svg\": \"./src/images/loading.svg\",\n\t\"./no-image.svg\": \"./src/images/no-image.svg\",\n\t\"./ranking-arrows.svg\": \"./src/images/ranking-arrows.svg\",\n\t\"./ranking-dash.svg\": \"./src/images/ranking-dash.svg\",\n\t\"./rating-star-2.svg\": \"./src/images/rating-star-2.svg\",\n\t\"./rating-star-small-2.svg\": \"./src/images/rating-star-small-2.svg\",\n\t\"./rating-star-small.svg\": \"./src/images/rating-star-small.svg\",\n\t\"./rating-star.svg\": \"./src/images/rating-star.svg\",\n\t\"./search.svg\": \"./src/images/search.svg\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src/images sync \\\\.svg$\";\n\n/***/ }),\n\n/***/ \"./src/images/ArrowDown_34x34.svg\":\n/*!****************************************!*\\\n !*** ./src/images/ArrowDown_34x34.svg ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ArrowLeft.svg\":\n/*!**********************************!*\\\n !*** ./src/images/ArrowLeft.svg ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ArrowRight.svg\":\n/*!***********************************!*\\\n !*** ./src/images/ArrowRight.svg ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/Arrow_downGREY_10x10.svg\":\n/*!*********************************************!*\\\n !*** ./src/images/Arrow_downGREY_10x10.svg ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ChangeCamera.svg\":\n/*!*************************************!*\\\n !*** ./src/images/ChangeCamera.svg ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ChooseFile.svg\":\n/*!***********************************!*\\\n !*** ./src/images/ChooseFile.svg ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/Clear.svg\":\n/*!******************************!*\\\n !*** ./src/images/Clear.svg ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/CloseCamera.svg\":\n/*!************************************!*\\\n !*** ./src/images/CloseCamera.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/DefaultFile.svg\":\n/*!************************************!*\\\n !*** ./src/images/DefaultFile.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/Delete.svg\":\n/*!*******************************!*\\\n !*** ./src/images/Delete.svg ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/Down_34x34.svg\":\n/*!***********************************!*\\\n !*** ./src/images/Down_34x34.svg ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/Left.svg\":\n/*!*****************************!*\\\n !*** ./src/images/Left.svg ***!\n \\*****************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ModernBooleanCheckChecked.svg\":\n/*!**************************************************!*\\\n !*** ./src/images/ModernBooleanCheckChecked.svg ***!\n \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ModernBooleanCheckInd.svg\":\n/*!**********************************************!*\\\n !*** ./src/images/ModernBooleanCheckInd.svg ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ModernBooleanCheckUnchecked.svg\":\n/*!****************************************************!*\\\n !*** ./src/images/ModernBooleanCheckUnchecked.svg ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ModernCheck.svg\":\n/*!************************************!*\\\n !*** ./src/images/ModernCheck.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ModernRadio.svg\":\n/*!************************************!*\\\n !*** ./src/images/ModernRadio.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/More.svg\":\n/*!*****************************!*\\\n !*** ./src/images/More.svg ***!\n \\*****************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/NavMenu_24x24.svg\":\n/*!**************************************!*\\\n !*** ./src/images/NavMenu_24x24.svg ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ProgressButton.svg\":\n/*!***************************************!*\\\n !*** ./src/images/ProgressButton.svg ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ProgressButtonV2.svg\":\n/*!*****************************************!*\\\n !*** ./src/images/ProgressButtonV2.svg ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/RemoveFile.svg\":\n/*!***********************************!*\\\n !*** ./src/images/RemoveFile.svg ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/Right.svg\":\n/*!******************************!*\\\n !*** ./src/images/Right.svg ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/SearchClear.svg\":\n/*!************************************!*\\\n !*** ./src/images/SearchClear.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ShowCamera.svg\":\n/*!***********************************!*\\\n !*** ./src/images/ShowCamera.svg ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/TakePicture.svg\":\n/*!************************************!*\\\n !*** ./src/images/TakePicture.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/TakePicture_24x24.svg\":\n/*!******************************************!*\\\n !*** ./src/images/TakePicture_24x24.svg ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/TimerCircle.svg\":\n/*!************************************!*\\\n !*** ./src/images/TimerCircle.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/V2Check.svg\":\n/*!********************************!*\\\n !*** ./src/images/V2Check.svg ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/V2Check_24x24.svg\":\n/*!**************************************!*\\\n !*** ./src/images/V2Check_24x24.svg ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/V2DragElement_16x16.svg\":\n/*!********************************************!*\\\n !*** ./src/images/V2DragElement_16x16.svg ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/chevron.svg\":\n/*!********************************!*\\\n !*** ./src/images/chevron.svg ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/clear_16x16.svg\":\n/*!************************************!*\\\n !*** ./src/images/clear_16x16.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/collapseDetail.svg\":\n/*!***************************************!*\\\n !*** ./src/images/collapseDetail.svg ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/drag-n-drop.svg\":\n/*!************************************!*\\\n !*** ./src/images/drag-n-drop.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/expandDetail.svg\":\n/*!*************************************!*\\\n !*** ./src/images/expandDetail.svg ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/loading.svg\":\n/*!********************************!*\\\n !*** ./src/images/loading.svg ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/no-image.svg\":\n/*!*********************************!*\\\n !*** ./src/images/no-image.svg ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ranking-arrows.svg\":\n/*!***************************************!*\\\n !*** ./src/images/ranking-arrows.svg ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/ranking-dash.svg\":\n/*!*************************************!*\\\n !*** ./src/images/ranking-dash.svg ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/rating-star-2.svg\":\n/*!**************************************!*\\\n !*** ./src/images/rating-star-2.svg ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/rating-star-small-2.svg\":\n/*!********************************************!*\\\n !*** ./src/images/rating-star-small-2.svg ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/rating-star-small.svg\":\n/*!******************************************!*\\\n !*** ./src/images/rating-star-small.svg ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/rating-star.svg\":\n/*!************************************!*\\\n !*** ./src/images/rating-star.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/search.svg\":\n/*!*******************************!*\\\n !*** ./src/images/search.svg ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley sync \\\\.svg$\":\n/*!****************************************************!*\\\n !*** ./src/images/smiley sync nonrecursive \\.svg$ ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./average.svg\": \"./src/images/smiley/average.svg\",\n\t\"./excellent.svg\": \"./src/images/smiley/excellent.svg\",\n\t\"./good.svg\": \"./src/images/smiley/good.svg\",\n\t\"./normal.svg\": \"./src/images/smiley/normal.svg\",\n\t\"./not-good.svg\": \"./src/images/smiley/not-good.svg\",\n\t\"./perfect.svg\": \"./src/images/smiley/perfect.svg\",\n\t\"./poor.svg\": \"./src/images/smiley/poor.svg\",\n\t\"./terrible.svg\": \"./src/images/smiley/terrible.svg\",\n\t\"./very-good.svg\": \"./src/images/smiley/very-good.svg\",\n\t\"./very-poor.svg\": \"./src/images/smiley/very-poor.svg\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src/images/smiley sync \\\\.svg$\";\n\n/***/ }),\n\n/***/ \"./src/images/smiley/average.svg\":\n/*!***************************************!*\\\n !*** ./src/images/smiley/average.svg ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/excellent.svg\":\n/*!*****************************************!*\\\n !*** ./src/images/smiley/excellent.svg ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/good.svg\":\n/*!************************************!*\\\n !*** ./src/images/smiley/good.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/normal.svg\":\n/*!**************************************!*\\\n !*** ./src/images/smiley/normal.svg ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/not-good.svg\":\n/*!****************************************!*\\\n !*** ./src/images/smiley/not-good.svg ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/perfect.svg\":\n/*!***************************************!*\\\n !*** ./src/images/smiley/perfect.svg ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/poor.svg\":\n/*!************************************!*\\\n !*** ./src/images/smiley/poor.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/terrible.svg\":\n/*!****************************************!*\\\n !*** ./src/images/smiley/terrible.svg ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/very-good.svg\":\n/*!*****************************************!*\\\n !*** ./src/images/smiley/very-good.svg ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/images/smiley/very-poor.svg\":\n/*!*****************************************!*\\\n !*** ./src/images/smiley/very-poor.svg ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = \"\"\n\n/***/ }),\n\n/***/ \"./src/itemvalue.ts\":\n/*!**************************!*\\\n !*** ./src/itemvalue.ts ***!\n \\**************************/\n/*! exports provided: ItemValue */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ItemValue\", function() { return ItemValue; });\n/* harmony import */ var _localizablestring__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./localizablestring */ \"./src/localizablestring.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./conditions */ \"./src/conditions.ts\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./actions/action */ \"./src/actions/action.ts\");\n/* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./question */ \"./src/question.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n/**\n * Array of ItemValue is used in checkbox, dropdown and radiogroup choices, matrix columns and rows.\n * It has two main properties: value and text. If text is empty, value is used for displaying.\n * The text property is localizable and support markdown.\n */\nvar ItemValue = /** @class */ (function (_super) {\n __extends(ItemValue, _super);\n function ItemValue(value, text, typeName) {\n if (text === void 0) { text = null; }\n if (typeName === void 0) { typeName = \"itemvalue\"; }\n var _this = _super.call(this) || this;\n _this.typeName = typeName;\n _this.ownerPropertyName = \"\";\n _this.locTextValue = new _localizablestring__WEBPACK_IMPORTED_MODULE_0__[\"LocalizableString\"](_this, true, \"text\");\n _this.locTextValue.onStrChanged = function (oldValue, newValue) {\n if (newValue == _this.value) {\n newValue = undefined;\n }\n _this.propertyValueChanged(\"text\", oldValue, newValue);\n };\n _this.locTextValue.onGetTextCallback = function (txt) {\n return txt\n ? txt\n : !_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(_this.value)\n ? _this.value.toString()\n : null;\n };\n if (text)\n _this.locText.text = text;\n if (!!value && typeof value === \"object\") {\n _this.setData(value);\n }\n else {\n _this.value = value;\n }\n if (_this.getType() != \"itemvalue\") {\n _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"CustomPropertiesCollection\"].createProperties(_this);\n }\n _this.data = _this;\n _this.onCreating();\n return _this;\n }\n ItemValue.prototype.getMarkdownHtml = function (text, name) {\n return !!this.locOwner ? this.locOwner.getMarkdownHtml(text, name) : undefined;\n };\n ItemValue.prototype.getRenderer = function (name) {\n return !!this.locOwner ? this.locOwner.getRenderer(name) : null;\n };\n ItemValue.prototype.getRendererContext = function (locStr) {\n return !!this.locOwner ? this.locOwner.getRendererContext(locStr) : locStr;\n };\n ItemValue.prototype.getProcessedText = function (text) {\n return this.locOwner ? this.locOwner.getProcessedText(text) : text;\n };\n Object.defineProperty(ItemValue, \"Separator\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_5__[\"settings\"].itemValueSeparator;\n },\n set: function (val) {\n _settings__WEBPACK_IMPORTED_MODULE_5__[\"settings\"].itemValueSeparator = val;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Resets the input array and fills it with values from the values array\n */\n ItemValue.setData = function (items, values, type) {\n items.length = 0;\n for (var i = 0; i < values.length; i++) {\n var value = values[i];\n var itemType = !!value && typeof value.getType === \"function\" ? value.getType() : (type !== null && type !== void 0 ? type : \"itemvalue\");\n var item = _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].createClass(itemType);\n item.setData(value);\n if (!!value.originalItem) {\n item.originalItem = value.originalItem;\n }\n items.push(item);\n }\n };\n ItemValue.getData = function (items) {\n var result = [];\n for (var i = 0; i < items.length; i++) {\n result.push(items[i].getData());\n }\n return result;\n };\n ItemValue.getItemByValue = function (items, val) {\n if (!Array.isArray(items))\n return null;\n var valIsEmpty = _helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(val);\n for (var i = 0; i < items.length; i++) {\n if (valIsEmpty && _helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(items[i].value))\n return items[i];\n if (_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isTwoValueEquals(items[i].value, val, false, true, false))\n return items[i];\n }\n return null;\n };\n ItemValue.getTextOrHtmlByValue = function (items, val) {\n var item = ItemValue.getItemByValue(items, val);\n return item !== null ? item.locText.textOrHtml : \"\";\n };\n ItemValue.locStrsChanged = function (items) {\n for (var i = 0; i < items.length; i++) {\n items[i].locStrsChanged();\n }\n };\n ItemValue.runConditionsForItems = function (items, filteredItems, runner, values, properties, useItemExpression, onItemCallBack) {\n if (useItemExpression === void 0) { useItemExpression = true; }\n return ItemValue.runConditionsForItemsCore(items, filteredItems, runner, values, properties, true, useItemExpression, onItemCallBack);\n };\n ItemValue.runEnabledConditionsForItems = function (items, runner, values, properties, onItemCallBack) {\n return ItemValue.runConditionsForItemsCore(items, null, runner, values, properties, false, true, onItemCallBack);\n };\n ItemValue.runConditionsForItemsCore = function (items, filteredItems, runner, values, properties, isVisible, useItemExpression, onItemCallBack) {\n if (useItemExpression === void 0) { useItemExpression = true; }\n if (!values) {\n values = {};\n }\n var itemValue = values[\"item\"];\n var choiceValue = values[\"choice\"];\n var hasChanded = false;\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n values[\"item\"] = item.value;\n values[\"choice\"] = item.value;\n var itemRunner = useItemExpression && !!item.getConditionRunner\n ? item.getConditionRunner(isVisible)\n : false;\n if (!itemRunner) {\n itemRunner = runner;\n }\n var newValue = true;\n if (itemRunner) {\n newValue = itemRunner.run(values, properties);\n }\n if (!!onItemCallBack) {\n newValue = onItemCallBack(item, newValue);\n }\n if (!!filteredItems && newValue) {\n filteredItems.push(item);\n }\n var oldValue = isVisible ? item.isVisible : item.isEnabled;\n if (newValue != oldValue) {\n hasChanded = true;\n if (isVisible) {\n if (!!item.setIsVisible)\n item.setIsVisible(newValue);\n }\n else {\n if (!!item.setIsEnabled)\n item.setIsEnabled(newValue);\n }\n }\n }\n if (itemValue) {\n values[\"item\"] = itemValue;\n }\n else {\n delete values[\"item\"];\n }\n if (choiceValue) {\n values[\"choice\"] = choiceValue;\n }\n else {\n delete values[\"choice\"];\n }\n return hasChanded;\n };\n ItemValue.prototype.onCreating = function () { };\n ItemValue.prototype.getType = function () {\n return !!this.typeName ? this.typeName : \"itemvalue\";\n };\n ItemValue.prototype.getSurvey = function (live) {\n if (live === void 0) { live = false; }\n return !!this.locOwner && !!this.locOwner[\"getSurvey\"]\n ? this.locOwner.getSurvey()\n : null;\n };\n ItemValue.prototype.getLocale = function () {\n return !!this.locOwner && this.locOwner.getLocale ? this.locOwner.getLocale() : \"\";\n };\n Object.defineProperty(ItemValue.prototype, \"isInternal\", {\n get: function () {\n return this.isGhost === true;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"locText\", {\n get: function () {\n return this.locTextValue;\n },\n enumerable: false,\n configurable: true\n });\n ItemValue.prototype.setLocText = function (locText) {\n this.locTextValue = locText;\n };\n Object.defineProperty(ItemValue.prototype, \"locOwner\", {\n get: function () {\n return this._locOwner;\n },\n set: function (value) {\n this._locOwner = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"value\", {\n get: function () {\n return this.getPropertyValue(\"value\");\n },\n set: function (newValue) {\n var text = undefined;\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(newValue)) {\n var str = newValue.toString();\n var index = str.indexOf(_settings__WEBPACK_IMPORTED_MODULE_5__[\"settings\"].itemValueSeparator);\n if (index > -1) {\n newValue = str.slice(0, index);\n text = str.slice(index + 1);\n }\n }\n this.setPropertyValue(\"value\", newValue);\n if (!!text) {\n this.text = text;\n }\n this.id = this.value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"hasText\", {\n get: function () {\n return this.locText.pureText ? true : false;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"pureText\", {\n get: function () {\n return this.locText.pureText;\n },\n set: function (val) {\n this.text = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"text\", {\n get: function () {\n return this.locText.calculatedText; //TODO: it will be correct to use this.locText.text, however it would require a lot of rewriting in Creator\n },\n set: function (newText) {\n this.locText.text = newText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"calculatedText\", {\n get: function () {\n return this.locText.calculatedText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"shortcutText\", {\n get: function () {\n return this.text;\n },\n enumerable: false,\n configurable: true\n });\n ItemValue.prototype.canSerializeValue = function () {\n var val = this.value;\n if (val === undefined || val === null)\n return false;\n return !Array.isArray(val) && typeof val !== \"object\";\n };\n ItemValue.prototype.getData = function () {\n var json = this.toJSON();\n if (!!json[\"value\"] && !!json[\"value\"][\"pos\"]) {\n delete json[\"value\"][\"pos\"];\n }\n if (_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(json.value))\n return json;\n var canSerializeVal = this.canSerializeValue();\n var canSerializeAsContant = !canSerializeVal || !_settings__WEBPACK_IMPORTED_MODULE_5__[\"settings\"].serialization.itemValueSerializeAsObject && !_settings__WEBPACK_IMPORTED_MODULE_5__[\"settings\"].serialization.itemValueSerializeDisplayText;\n if (canSerializeAsContant && Object.keys(json).length == 1)\n return this.value;\n if (_settings__WEBPACK_IMPORTED_MODULE_5__[\"settings\"].serialization.itemValueSerializeDisplayText && json.text === undefined && canSerializeVal) {\n json.text = this.value.toString();\n }\n return json;\n };\n ItemValue.prototype.toJSON = function () {\n var res = {};\n var properties = _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].getProperties(this.getType());\n if (!properties || properties.length == 0) {\n properties = _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].getProperties(\"itemvalue\");\n }\n var jsoObj = new _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"JsonObject\"]();\n for (var i = 0; i < properties.length; i++) {\n var prop = properties[i];\n if (prop.name === \"text\" && !this.locText.hasNonDefaultText() &&\n _helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isTwoValueEquals(this.value, this.text, false, true, false))\n continue;\n jsoObj.valueToJson(this, res, prop);\n }\n return res;\n };\n ItemValue.prototype.setData = function (value) {\n if (_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(value))\n return;\n if (typeof value.value === \"undefined\" && typeof value.text !== \"undefined\" && Object.keys(value).length === 1) {\n value.value = value.text;\n }\n if (typeof value.value !== \"undefined\") {\n var json = void 0;\n if (typeof value.toJSON === \"function\") {\n json = value.toJSON();\n }\n else {\n json = value;\n }\n new _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"JsonObject\"]().toObject(json, this);\n }\n else {\n this.value = value;\n }\n this.locText.strChanged();\n };\n Object.defineProperty(ItemValue.prototype, \"visibleIf\", {\n get: function () {\n return this.getPropertyValue(\"visibleIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"visibleIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"enableIf\", {\n get: function () {\n return this.getPropertyValue(\"enableIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"enableIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ItemValue.prototype, \"isVisible\", {\n get: function () {\n return this.getPropertyValue(\"isVisible\", true);\n },\n enumerable: false,\n configurable: true\n });\n ItemValue.prototype.setIsVisible = function (val) {\n this.setPropertyValue(\"isVisible\", val);\n };\n Object.defineProperty(ItemValue.prototype, \"isEnabled\", {\n get: function () {\n return this.getPropertyValue(\"isEnabled\", true);\n },\n enumerable: false,\n configurable: true\n });\n ItemValue.prototype.setIsEnabled = function (val) {\n this.setPropertyValue(\"isEnabled\", val);\n };\n ItemValue.prototype.addUsedLocales = function (locales) {\n this.AddLocStringToUsedLocales(this.locTextValue, locales);\n };\n ItemValue.prototype.locStrsChanged = function () {\n _super.prototype.locStrsChanged.call(this);\n this.locText.strChanged();\n };\n ItemValue.prototype.onPropertyValueChanged = function (name, oldValue, newValue) {\n if (name === \"value\" && !this.hasText) {\n this.locText.strChanged();\n }\n var funcName = \"itemValuePropertyChanged\";\n if (!this.locOwner || !this.locOwner[funcName])\n return;\n this.locOwner[funcName](this, name, oldValue, newValue);\n };\n ItemValue.prototype.getConditionRunner = function (isVisible) {\n if (isVisible)\n return this.getVisibleConditionRunner();\n return this.getEnableConditionRunner();\n };\n ItemValue.prototype.getVisibleConditionRunner = function () {\n if (!this.visibleIf)\n return null;\n if (!this.visibleConditionRunner)\n this.visibleConditionRunner = new _conditions__WEBPACK_IMPORTED_MODULE_3__[\"ConditionRunner\"](this.visibleIf);\n this.visibleConditionRunner.expression = this.visibleIf;\n return this.visibleConditionRunner;\n };\n ItemValue.prototype.getEnableConditionRunner = function () {\n if (!this.enableIf)\n return null;\n if (!this.enableConditionRunner)\n this.enableConditionRunner = new _conditions__WEBPACK_IMPORTED_MODULE_3__[\"ConditionRunner\"](this.enableIf);\n this.enableConditionRunner.expression = this.enableIf;\n return this.enableConditionRunner;\n };\n Object.defineProperty(ItemValue.prototype, \"selected\", {\n get: function () {\n var _this = this;\n var locOwner = this._locOwner;\n if (locOwner instanceof _question__WEBPACK_IMPORTED_MODULE_7__[\"Question\"] && locOwner.isItemSelected && this.selectedValue === undefined) {\n this.selectedValue = (new _base__WEBPACK_IMPORTED_MODULE_4__[\"ComputedUpdater\"](function () { return locOwner.isItemSelected(_this); }));\n }\n return this.selectedValue;\n },\n enumerable: false,\n configurable: true\n });\n ItemValue.prototype.getComponent = function () {\n if (this._locOwner instanceof _question__WEBPACK_IMPORTED_MODULE_7__[\"Question\"]) {\n return this.componentValue || this._locOwner.itemComponent;\n }\n return this.componentValue;\n };\n ItemValue.prototype.setComponent = function (val) {\n this.componentValue = val;\n };\n ItemValue.prototype.getEnabled = function () {\n return this.isEnabled;\n };\n ItemValue.prototype.setEnabled = function (val) {\n this.setIsEnabled(val);\n };\n ItemValue.prototype.getVisible = function () {\n var isVisible = this.isVisible === undefined ? true : this.isVisible;\n var visible = this._visible === undefined ? true : this._visible;\n return isVisible && visible;\n };\n ItemValue.prototype.setVisible = function (val) {\n this._visible = val;\n };\n ItemValue.prototype.getLocTitle = function () {\n return this.locText;\n };\n ItemValue.prototype.getTitle = function () {\n return this.text;\n };\n ItemValue.prototype.setLocTitle = function (val) { };\n ItemValue.prototype.setTitle = function (val) { };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: true })\n ], ItemValue.prototype, \"_visible\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], ItemValue.prototype, \"selectedValue\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], ItemValue.prototype, \"icon\", void 0);\n return ItemValue;\n}(_actions_action__WEBPACK_IMPORTED_MODULE_6__[\"BaseAction\"]));\n\n_base__WEBPACK_IMPORTED_MODULE_4__[\"Base\"].createItemValue = function (source, type) {\n var item = null;\n if (!!type) {\n item = _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"JsonObject\"].metaData.createClass(type, {});\n }\n else if (typeof source.getType === \"function\") {\n item = new ItemValue(null, undefined, source.getType());\n }\n else {\n item = new ItemValue(null);\n }\n item.setData(source);\n return item;\n};\n_base__WEBPACK_IMPORTED_MODULE_4__[\"Base\"].itemValueLocStrChanged = function (arr) {\n ItemValue.locStrsChanged(arr);\n};\n_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"JsonObjectProperty\"].getItemValuesDefaultValue = function (val, type) {\n var res = new Array();\n ItemValue.setData(res, Array.isArray(val) ? val : [], type);\n return res;\n};\n_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].addClass(\"itemvalue\", [\n { name: \"!value\", isUnique: true },\n {\n name: \"text\",\n serializationProperty: \"locText\",\n },\n { name: \"visibleIf:condition\", showMode: \"form\" },\n {\n name: \"enableIf:condition\",\n showMode: \"form\",\n visibleIf: function (obj) {\n return !obj || obj.ownerPropertyName !== \"rateValues\";\n },\n }\n], function (value) { return new ItemValue(value); });\n\n\n/***/ }),\n\n/***/ \"./src/jsonobject.ts\":\n/*!***************************!*\\\n !*** ./src/jsonobject.ts ***!\n \\***************************/\n/*! exports provided: property, propertyArray, JsonObjectProperty, CustomPropertiesCollection, JsonMetadataClass, JsonMetadata, JsonError, JsonUnknownPropertyError, JsonMissingTypeErrorBase, JsonMissingTypeError, JsonIncorrectTypeError, JsonRequiredPropertyError, JsonRequiredArrayPropertyError, JsonObject, Serializer */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"property\", function() { return property; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"propertyArray\", function() { return propertyArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonObjectProperty\", function() { return JsonObjectProperty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CustomPropertiesCollection\", function() { return CustomPropertiesCollection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadataClass\", function() { return JsonMetadataClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonMetadata\", function() { return JsonMetadata; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonError\", function() { return JsonError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonUnknownPropertyError\", function() { return JsonUnknownPropertyError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeErrorBase\", function() { return JsonMissingTypeErrorBase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonMissingTypeError\", function() { return JsonMissingTypeError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonIncorrectTypeError\", function() { return JsonIncorrectTypeError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonRequiredPropertyError\", function() { return JsonRequiredPropertyError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonRequiredArrayPropertyError\", function() { return JsonRequiredArrayPropertyError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"JsonObject\", function() { return JsonObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Serializer\", function() { return Serializer; });\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./surveyStrings */ \"./src/surveyStrings.ts\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\n\n\n\nfunction ensureLocString(target, options, key) {\n var locString = target.getLocalizableString(key);\n if (!locString) {\n var defaultStr = void 0;\n if (typeof options.localizable === \"object\" && options.localizable.defaultStr) {\n defaultStr = options.localizable.defaultStr;\n }\n locString = target.createLocalizableString(key, target, true, defaultStr);\n if (typeof options.localizable === \"object\" &&\n typeof options.localizable.onGetTextCallback === \"function\") {\n locString.onGetTextCallback = options.localizable.onGetTextCallback;\n }\n }\n}\nfunction getLocStringValue(target, options, key) {\n ensureLocString(target, options, key);\n var res = target.getLocalizableStringText(key);\n if (!!res)\n return res;\n if (typeof options.localizable === \"object\" && options.localizable.defaultStr) {\n var loc = !!target.getLocale ? target.getLocale() : \"\";\n return _surveyStrings__WEBPACK_IMPORTED_MODULE_0__[\"surveyLocalization\"].getString(options.localizable.defaultStr, loc);\n }\n return \"\";\n}\nfunction property(options) {\n if (options === void 0) { options = {}; }\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n return function (target, key) {\n var processComputedUpdater = function (obj, val) {\n if (!!val && typeof val === \"object\" && val.type === _base__WEBPACK_IMPORTED_MODULE_1__[\"ComputedUpdater\"].ComputedUpdaterType) {\n _base__WEBPACK_IMPORTED_MODULE_1__[\"Base\"].startCollectDependencies(function () { return obj[key] = val.updater(); }, obj, key);\n var result = val.updater();\n var dependencies = _base__WEBPACK_IMPORTED_MODULE_1__[\"Base\"].finishCollectDependencies();\n val.setDependencies(dependencies);\n if (obj.dependencies[key]) {\n obj.dependencies[key].dispose();\n }\n obj.dependencies[key] = val;\n return result;\n }\n return val;\n };\n if (!options || !options.localizable) {\n Object.defineProperty(target, key, {\n get: function () {\n // const serializationProperty = Serializer.getProperty(target.getType(), key);\n // if(!!serializationProperty && options.defaultValue !== undefined) {\n // ConsoleWarnings.error(\"remove defaultValue from @property for class \" + target.getType() + \" property name is \" + key);\n // }\n var defaultVal = null;\n if (!!options) {\n if (typeof options.getDefaultValue === \"function\") {\n defaultVal = options.getDefaultValue(this);\n }\n if (options.defaultValue !== undefined) {\n defaultVal = options.defaultValue;\n }\n }\n return this.getPropertyValue(key, defaultVal);\n },\n set: function (val) {\n var newValue = processComputedUpdater(this, val);\n this.setPropertyValue(key, newValue);\n if (!!options && options.onSet) {\n options.onSet(newValue, this);\n }\n },\n });\n }\n else {\n Object.defineProperty(target, key, {\n get: function () {\n return getLocStringValue(this, options, key);\n },\n set: function (val) {\n ensureLocString(this, options, key);\n var newValue = processComputedUpdater(this, val);\n this.setLocalizableStringText(key, newValue);\n if (!!options && options.onSet) {\n options.onSet(newValue, this);\n }\n },\n });\n Object.defineProperty(target, typeof options.localizable === \"object\" && !!options.localizable.name ?\n options.localizable.name : \"loc\" + key.charAt(0).toUpperCase() + key.slice(1), {\n get: function () {\n ensureLocString(this, options, key);\n return this.getLocalizableString(key);\n },\n });\n }\n };\n}\nfunction ensureArray(target, options, key) {\n target.ensureArray(key, function (item, index) {\n var handler = !!options ? options.onPush : null;\n handler && handler(item, index, target);\n }, function (item, index) {\n var handler = !!options ? options.onRemove : null;\n handler && handler(item, index, target);\n });\n}\nfunction propertyArray(options) {\n return function (target, key) {\n Object.defineProperty(target, key, {\n get: function () {\n ensureArray(this, options, key);\n return this.getPropertyValue(key);\n },\n set: function (val) {\n ensureArray(this, options, key);\n var arr = this.getPropertyValue(key);\n if (val === arr) {\n return;\n }\n if (arr) {\n arr.splice.apply(arr, __spreadArray([0, arr.length], (val || [])));\n }\n else {\n this.setPropertyValue(key, val);\n }\n if (!!options && options.onSet) {\n options.onSet(val, this);\n }\n },\n });\n };\n}\n/**\n * Contains information about a property of a survey element (page, panel, questions, and etc).\n * @see addProperty\n * @see removeProperty\n * @see [Add Properties](https://surveyjs.io/Documentation/Survey-Creator#addproperties)\n * @see [Remove Properties](https://surveyjs.io/Documentation/Survey-Creator#removeproperties)\n */\nvar JsonObjectProperty = /** @class */ (function () {\n function JsonObjectProperty(classInfo, name, isRequired) {\n if (isRequired === void 0) { isRequired = false; }\n this.name = name;\n this.isRequiredValue = false;\n this.isUniqueValue = false;\n this.isSerializable = true;\n this.isLightSerializable = true;\n this.isCustom = false;\n this.isDynamicChoices = false; //TODO obsolete, use dependsOn attribute\n this.isBindable = false;\n this.category = \"\";\n this.categoryIndex = -1;\n this.visibleIndex = -1;\n this.maxLength = -1;\n this.isArray = false;\n this.classInfoValue = classInfo;\n this.isRequiredValue = isRequired;\n this.idValue = JsonObjectProperty.Index++;\n }\n Object.defineProperty(JsonObjectProperty.prototype, \"id\", {\n get: function () {\n return this.idValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"classInfo\", {\n get: function () {\n return this.classInfoValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"type\", {\n get: function () {\n return this.typeValue ? this.typeValue : \"string\";\n },\n set: function (value) {\n if (value === \"itemvalues\")\n value = \"itemvalue[]\";\n if (value === \"textitems\")\n value = \"textitem[]\";\n this.typeValue = value;\n if (this.typeValue.indexOf(\"[]\") === this.typeValue.length - 2) {\n this.isArray = true;\n this.className = this.typeValue.substring(0, this.typeValue.length - 2);\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"isRequired\", {\n get: function () {\n return this.isRequiredValue;\n },\n set: function (val) {\n this.isRequiredValue = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"isUnique\", {\n get: function () {\n return this.isUniqueValue;\n },\n set: function (val) {\n this.isUniqueValue = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"uniquePropertyName\", {\n get: function () {\n return this.uniquePropertyValue;\n },\n set: function (val) {\n this.uniquePropertyValue = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"hasToUseGetValue\", {\n get: function () {\n return this.onGetValue || this.serializationProperty;\n },\n enumerable: false,\n configurable: true\n });\n JsonObjectProperty.prototype.getDefaultValue = function (obj) {\n var result = !!this.defaultValueFunc ? this.defaultValueFunc(obj) : this.defaultValueValue;\n if (!!JsonObjectProperty.getItemValuesDefaultValue &&\n JsonObject.metaData.isDescendantOf(this.className, \"itemvalue\")) {\n result = JsonObjectProperty.getItemValuesDefaultValue(this.defaultValueValue || [], this.className);\n }\n return result;\n };\n Object.defineProperty(JsonObjectProperty.prototype, \"defaultValue\", {\n get: function () {\n return this.getDefaultValue(undefined);\n },\n set: function (newValue) {\n this.defaultValueValue = newValue;\n },\n enumerable: false,\n configurable: true\n });\n JsonObjectProperty.prototype.isDefaultValue = function (value) {\n return this.isDefaultValueByObj(undefined, value);\n };\n JsonObjectProperty.prototype.isDefaultValueByObj = function (obj, value) {\n var dValue = this.getDefaultValue(obj);\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(dValue)) {\n return _helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isTwoValueEquals(value, dValue, false, true, false);\n }\n if (this.isLocalizable)\n return value === null || value === undefined;\n return ((value === false && (this.type == \"boolean\" || this.type == \"switch\")) ||\n value === \"\" || _helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(value));\n };\n JsonObjectProperty.prototype.getSerializableValue = function (obj) {\n if (!!this.onSerializeValue)\n return this.onSerializeValue(obj);\n return this.getValue(obj);\n };\n JsonObjectProperty.prototype.getValue = function (obj) {\n if (this.onGetValue)\n return this.onGetValue(obj);\n if (this.serializationProperty && !!obj[this.serializationProperty])\n return obj[this.serializationProperty].getJson();\n return obj[this.name];\n };\n JsonObjectProperty.prototype.getPropertyValue = function (obj) {\n if (this.isLocalizable) {\n return !!obj[this.serializationProperty]\n ? obj[this.serializationProperty].text\n : null;\n }\n return this.getValue(obj);\n };\n Object.defineProperty(JsonObjectProperty.prototype, \"hasToUseSetValue\", {\n get: function () {\n return this.onSetValue || this.serializationProperty;\n },\n enumerable: false,\n configurable: true\n });\n JsonObjectProperty.prototype.settingValue = function (obj, value) {\n if (!this.onSettingValue || obj.isLoadingFromJson)\n return value;\n return this.onSettingValue(obj, value);\n };\n JsonObjectProperty.prototype.setValue = function (obj, value, jsonConv) {\n if (this.onSetValue) {\n this.onSetValue(obj, value, jsonConv);\n }\n else {\n if (this.serializationProperty && !!obj[this.serializationProperty])\n obj[this.serializationProperty].setJson(value);\n else {\n if (value && typeof value === \"string\") {\n if (this.type == \"number\") {\n value = parseInt(value);\n }\n if (this.type == \"boolean\" || this.type == \"switch\") {\n value = value.toLowerCase() === \"true\";\n }\n }\n obj[this.name] = value;\n }\n }\n };\n JsonObjectProperty.prototype.getObjType = function (objType) {\n if (!this.classNamePart)\n return objType;\n return objType.replace(this.classNamePart, \"\");\n };\n Object.defineProperty(JsonObjectProperty.prototype, \"choices\", {\n /**\n * Depricated, please use getChoices\n */\n get: function () {\n return this.getChoices(null);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"hasChoices\", {\n get: function () {\n return !!this.choicesValue || !!this.choicesfunc;\n },\n enumerable: false,\n configurable: true\n });\n JsonObjectProperty.prototype.getChoices = function (obj, choicesCallback) {\n if (choicesCallback === void 0) { choicesCallback = null; }\n if (this.choicesValue != null)\n return this.choicesValue;\n if (this.choicesfunc != null)\n return this.choicesfunc(obj, choicesCallback);\n return null;\n };\n JsonObjectProperty.prototype.setChoices = function (value, valueFunc) {\n if (valueFunc === void 0) { valueFunc = null; }\n this.choicesValue = value;\n this.choicesfunc = valueFunc;\n };\n JsonObjectProperty.prototype.getBaseValue = function () {\n if (!this.baseValue)\n return \"\";\n if (typeof this.baseValue == \"function\")\n return this.baseValue();\n return this.baseValue;\n };\n JsonObjectProperty.prototype.setBaseValue = function (val) {\n this.baseValue = val;\n };\n Object.defineProperty(JsonObjectProperty.prototype, \"readOnly\", {\n get: function () {\n return this.readOnlyValue != null ? this.readOnlyValue : false;\n },\n set: function (val) {\n this.readOnlyValue = val;\n },\n enumerable: false,\n configurable: true\n });\n JsonObjectProperty.prototype.isVisible = function (layout, obj) {\n if (obj === void 0) { obj = null; }\n var isLayout = !this.layout || this.layout == layout;\n if (!this.visible || !isLayout)\n return false;\n if (!!this.visibleIf && !!obj)\n return this.visibleIf(obj);\n return true;\n };\n Object.defineProperty(JsonObjectProperty.prototype, \"visible\", {\n get: function () {\n return this.visibleValue != null ? this.visibleValue : true;\n },\n set: function (val) {\n this.visibleValue = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"isLocalizable\", {\n get: function () {\n return this.isLocalizableValue != null ? this.isLocalizableValue : false;\n },\n set: function (val) {\n this.isLocalizableValue = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JsonObjectProperty.prototype, \"dataList\", {\n get: function () {\n return Array.isArray(this.dataListValue) ? this.dataListValue : [];\n },\n set: function (val) {\n this.dataListValue = val;\n },\n enumerable: false,\n configurable: true\n });\n JsonObjectProperty.prototype.mergeWith = function (prop) {\n var valuesNames = JsonObjectProperty.mergableValues;\n for (var i = 0; i < valuesNames.length; i++) {\n this.mergeValue(prop, valuesNames[i]);\n }\n };\n JsonObjectProperty.prototype.addDependedProperty = function (name) {\n if (!this.dependedProperties) {\n this.dependedProperties = [];\n }\n if (this.dependedProperties.indexOf(name) < 0) {\n this.dependedProperties.push(name);\n }\n };\n JsonObjectProperty.prototype.getDependedProperties = function () {\n return !!this.dependedProperties ? this.dependedProperties : [];\n };\n JsonObjectProperty.prototype.schemaType = function () {\n if (this.className === \"choicesByUrl\")\n return undefined;\n if (this.className === \"string\")\n return this.className;\n if (!!this.className)\n return \"array\";\n if (!!this.baseClassName)\n return \"array\";\n if (this.type == \"switch\")\n return \"boolean\";\n if (this.type == \"boolean\" || this.type == \"number\")\n return this.type;\n return \"string\";\n };\n JsonObjectProperty.prototype.schemaRef = function () {\n if (!!this.className)\n return this.className;\n return undefined;\n };\n JsonObjectProperty.prototype.mergeValue = function (prop, valueName) {\n if (this[valueName] == null && prop[valueName] != null) {\n this[valueName] = prop[valueName];\n }\n };\n JsonObjectProperty.Index = 1;\n JsonObjectProperty.mergableValues = [\n \"typeValue\",\n \"choicesValue\",\n \"baseValue\",\n \"readOnlyValue\",\n \"visibleValue\",\n \"isSerializable\",\n \"isLightSerializable\",\n \"isCustom\",\n \"isBindable\",\n \"isUnique\",\n \"uniquePropertyName\",\n \"isDynamicChoices\",\n \"isLocalizableValue\",\n \"className\",\n \"alternativeName\",\n \"layout\",\n \"classNamePart\",\n \"baseClassName\",\n \"defaultValue\",\n \"defaultValueFunc\",\n \"serializationProperty\",\n \"onGetValue\",\n \"onSetValue\",\n \"onSettingValue\",\n \"displayName\",\n \"category\",\n \"categoryIndex\",\n \"visibleIndex\",\n \"nextToProperty\",\n \"overridingProperty\",\n \"showMode\",\n \"dependedProperties\",\n \"visibleIf\",\n \"onExecuteExpression\",\n \"onPropertyEditorUpdate\",\n \"maxLength\",\n \"maxValue\",\n \"minValue\",\n \"dataListValue\",\n ];\n return JsonObjectProperty;\n}());\n\nvar CustomPropertiesCollection = /** @class */ (function () {\n function CustomPropertiesCollection() {\n }\n CustomPropertiesCollection.addProperty = function (className, property) {\n className = className.toLowerCase();\n var props = CustomPropertiesCollection.properties;\n if (!props[className]) {\n props[className] = [];\n }\n props[className].push(property);\n };\n CustomPropertiesCollection.removeProperty = function (className, propertyName) {\n className = className.toLowerCase();\n var props = CustomPropertiesCollection.properties;\n if (!props[className])\n return;\n var properties = props[className];\n for (var i = 0; i < properties.length; i++) {\n if (properties[i].name == propertyName) {\n props[className].splice(i, 1);\n break;\n }\n }\n };\n CustomPropertiesCollection.removeAllProperties = function (className) {\n className = className.toLowerCase();\n delete CustomPropertiesCollection.properties[className];\n };\n CustomPropertiesCollection.addClass = function (className, parentClassName) {\n className = className.toLowerCase();\n if (parentClassName) {\n parentClassName = parentClassName.toLowerCase();\n }\n CustomPropertiesCollection.parentClasses[className] = parentClassName;\n };\n CustomPropertiesCollection.getProperties = function (className) {\n className = className.toLowerCase();\n var res = [];\n var props = CustomPropertiesCollection.properties;\n while (className) {\n var properties = props[className];\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n res.push(properties[i]);\n }\n }\n className = CustomPropertiesCollection.parentClasses[className];\n }\n return res;\n };\n CustomPropertiesCollection.createProperties = function (obj) {\n if (!obj || !obj.getType)\n return;\n CustomPropertiesCollection.createPropertiesCore(obj, obj.getType());\n };\n CustomPropertiesCollection.createPropertiesCore = function (obj, className) {\n var props = CustomPropertiesCollection.properties;\n if (props[className]) {\n CustomPropertiesCollection.createPropertiesInObj(obj, props[className]);\n }\n var parentClass = CustomPropertiesCollection.parentClasses[className];\n if (parentClass) {\n CustomPropertiesCollection.createPropertiesCore(obj, parentClass);\n }\n };\n CustomPropertiesCollection.createPropertiesInObj = function (obj, properties) {\n for (var i = 0; i < properties.length; i++) {\n CustomPropertiesCollection.createPropertyInObj(obj, properties[i]);\n }\n };\n CustomPropertiesCollection.createPropertyInObj = function (obj, prop) {\n if (CustomPropertiesCollection.checkIsPropertyExists(obj, prop.name))\n return;\n if (!!prop.serializationProperty && CustomPropertiesCollection.checkIsPropertyExists(obj, prop.serializationProperty))\n return;\n if (prop.isLocalizable &&\n prop.serializationProperty &&\n obj.createCustomLocalizableObj) {\n obj.createCustomLocalizableObj(prop.name);\n var locDesc = {\n get: function () {\n return obj.getLocalizableString(prop.name);\n },\n };\n Object.defineProperty(obj, prop.serializationProperty, locDesc);\n var desc = {\n get: function () {\n return obj.getLocalizableStringText(prop.name, prop.defaultValue);\n },\n set: function (v) {\n obj.setLocalizableStringText(prop.name, v);\n },\n };\n Object.defineProperty(obj, prop.name, desc);\n }\n else {\n var defaultValue = prop.defaultValue;\n var isArrayProp = prop.isArray || prop.type === \"multiplevalues\";\n if (typeof obj.createNewArray === \"function\") {\n if (JsonObject.metaData.isDescendantOf(prop.className, \"itemvalue\")) {\n obj.createNewArray(prop.name, function (item) {\n item.locOwner = obj;\n item.ownerPropertyName = prop.name;\n });\n isArrayProp = true;\n }\n else {\n //It is a simple array property\n if (isArrayProp) {\n obj.createNewArray(prop.name);\n }\n }\n if (isArrayProp) {\n if (Array.isArray(defaultValue)) {\n obj.setPropertyValue(prop.name, defaultValue);\n }\n defaultValue = null;\n }\n }\n if (!!obj.getPropertyValue && !!obj.setPropertyValue) {\n var desc = {\n get: function () {\n if (!!prop.onGetValue) {\n return prop.onGetValue(obj);\n }\n return obj.getPropertyValue(prop.name, defaultValue);\n },\n set: function (v) {\n if (!!prop.onSetValue) {\n prop.onSetValue(obj, v, null);\n }\n else {\n obj.setPropertyValue(prop.name, v);\n }\n },\n };\n Object.defineProperty(obj, prop.name, desc);\n }\n }\n if (prop.type === \"condition\" || prop.type === \"expression\") {\n if (!!prop.onExecuteExpression) {\n obj.addExpressionProperty(prop.name, prop.onExecuteExpression);\n }\n }\n };\n CustomPropertiesCollection.checkIsPropertyExists = function (obj, name) {\n return obj.hasOwnProperty(name) || obj[name];\n };\n CustomPropertiesCollection.properties = {};\n CustomPropertiesCollection.parentClasses = {};\n return CustomPropertiesCollection;\n}());\n\nvar JsonMetadataClass = /** @class */ (function () {\n function JsonMetadataClass(name, properties, creator, parentName) {\n if (creator === void 0) { creator = null; }\n if (parentName === void 0) { parentName = null; }\n this.name = name;\n this.creator = creator;\n this.parentName = parentName;\n name = name.toLowerCase();\n this.isCustomValue = !creator && name !== \"survey\";\n if (this.parentName) {\n this.parentName = this.parentName.toLowerCase();\n CustomPropertiesCollection.addClass(name, this.parentName);\n if (!!creator) {\n this.makeParentRegularClass();\n }\n }\n this.properties = new Array();\n for (var i = 0; i < properties.length; i++) {\n this.createProperty(properties[i], this.isCustom);\n }\n }\n //Obsolete\n JsonMetadataClass.prototype.find = function (name) {\n for (var i = 0; i < this.properties.length; i++) {\n if (this.properties[i].name == name)\n return this.properties[i];\n }\n return null;\n };\n JsonMetadataClass.prototype.findProperty = function (name) {\n this.fillAllProperties();\n return this.hashProperties[name];\n };\n JsonMetadataClass.prototype.getAllProperties = function () {\n this.fillAllProperties();\n return this.allProperties;\n };\n JsonMetadataClass.prototype.resetAllProperties = function () {\n this.allProperties = undefined;\n this.hashProperties = undefined;\n var childClasses = Serializer.getChildrenClasses(this.name);\n for (var i = 0; i < childClasses.length; i++) {\n childClasses[i].resetAllProperties();\n }\n };\n Object.defineProperty(JsonMetadataClass.prototype, \"isCustom\", {\n get: function () { return this.isCustomValue; },\n enumerable: false,\n configurable: true\n });\n JsonMetadataClass.prototype.fillAllProperties = function () {\n var _this = this;\n if (!!this.allProperties)\n return;\n this.allProperties = [];\n this.hashProperties = {};\n var localProperties = {};\n this.properties.forEach(function (prop) { return localProperties[prop.name] = prop; });\n var parentClass = !!this.parentName ? Serializer.findClass(this.parentName) : null;\n if (!!parentClass) {\n var parentProperties = parentClass.getAllProperties();\n parentProperties.forEach(function (prop) {\n var overridedProp = localProperties[prop.name];\n if (!!overridedProp) {\n overridedProp.mergeWith(prop);\n _this.addPropCore(overridedProp);\n }\n else {\n _this.addPropCore(prop);\n }\n });\n }\n this.properties.forEach(function (prop) {\n if (!_this.hashProperties[prop.name]) {\n _this.addPropCore(prop);\n }\n });\n };\n JsonMetadataClass.prototype.addPropCore = function (prop) {\n this.allProperties.push(prop);\n this.hashProperties[prop.name] = prop;\n if (!!prop.alternativeName) {\n this.hashProperties[prop.alternativeName] = prop;\n }\n };\n JsonMetadataClass.prototype.isOverridedProp = function (propName) {\n return !!this.parentName && !!Serializer.findProperty(this.parentName, propName);\n };\n JsonMetadataClass.prototype.hasRegularChildClass = function () {\n if (!this.isCustom)\n return;\n this.isCustomValue = false;\n for (var i = 0; i < this.properties.length; i++) {\n this.properties[i].isCustom = false;\n }\n CustomPropertiesCollection.removeAllProperties(this.name);\n this.makeParentRegularClass();\n };\n JsonMetadataClass.prototype.makeParentRegularClass = function () {\n if (!this.parentName)\n return;\n var parent = Serializer.findClass(this.parentName);\n if (!!parent) {\n parent.hasRegularChildClass();\n }\n };\n JsonMetadataClass.prototype.createProperty = function (propInfo, isCustom) {\n if (isCustom === void 0) { isCustom = false; }\n var propertyName = typeof propInfo === \"string\" ? propInfo : propInfo.name;\n if (!propertyName)\n return;\n var propertyType = null;\n var typeIndex = propertyName.indexOf(JsonMetadataClass.typeSymbol);\n if (typeIndex > -1) {\n propertyType = propertyName.substring(typeIndex + 1);\n propertyName = propertyName.substring(0, typeIndex);\n }\n var isRequired = this.getIsPropertyNameRequired(propertyName) || !!propInfo.isRequired;\n propertyName = this.getPropertyName(propertyName);\n var prop = new JsonObjectProperty(this, propertyName, isRequired);\n if (propertyType) {\n prop.type = propertyType;\n }\n if (typeof propInfo === \"object\") {\n if (propInfo.type) {\n prop.type = propInfo.type;\n }\n if (propInfo.default !== undefined) {\n prop.defaultValue = propInfo.default;\n }\n if (propInfo.defaultFunc !== undefined) {\n prop.defaultValueFunc = propInfo.defaultFunc;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.isSerializable)) {\n prop.isSerializable = propInfo.isSerializable;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.isLightSerializable)) {\n prop.isLightSerializable = propInfo.isLightSerializable;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.maxLength)) {\n prop.maxLength = propInfo.maxLength;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.displayName)) {\n prop.displayName = propInfo.displayName;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.category)) {\n prop.category = propInfo.category;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.categoryIndex)) {\n prop.categoryIndex = propInfo.categoryIndex;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.nextToProperty)) {\n prop.nextToProperty = propInfo.nextToProperty;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.overridingProperty)) {\n prop.overridingProperty = propInfo.overridingProperty;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.visibleIndex)) {\n prop.visibleIndex = propInfo.visibleIndex;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.showMode)) {\n prop.showMode = propInfo.showMode;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.maxValue)) {\n prop.maxValue = propInfo.maxValue;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.minValue)) {\n prop.minValue = propInfo.minValue;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.dataList)) {\n prop.dataList = propInfo.dataList;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.isDynamicChoices)) {\n prop.isDynamicChoices = propInfo.isDynamicChoices;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.isBindable)) {\n prop.isBindable = propInfo.isBindable;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.isUnique)) {\n prop.isUnique = propInfo.isUnique;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.uniqueProperty)) {\n prop.uniquePropertyName = propInfo.uniqueProperty;\n }\n if (!_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(propInfo.isArray)) {\n prop.isArray = propInfo.isArray;\n }\n if (propInfo.visible === true || propInfo.visible === false) {\n prop.visible = propInfo.visible;\n }\n if (!!propInfo.visibleIf) {\n prop.visibleIf = propInfo.visibleIf;\n }\n if (!!propInfo.onExecuteExpression) {\n prop.onExecuteExpression = propInfo.onExecuteExpression;\n }\n if (!!propInfo.onPropertyEditorUpdate) {\n prop.onPropertyEditorUpdate = propInfo.onPropertyEditorUpdate;\n }\n if (propInfo.readOnly === true) {\n prop.readOnly = true;\n }\n if (propInfo.choices) {\n var choicesFunc = typeof propInfo.choices === \"function\" ? propInfo.choices : null;\n var choicesValue = typeof propInfo.choices !== \"function\" ? propInfo.choices : null;\n prop.setChoices(choicesValue, choicesFunc);\n }\n if (!!propInfo.baseValue) {\n prop.setBaseValue(propInfo.baseValue);\n }\n if (propInfo.onSerializeValue) {\n prop.onSerializeValue = propInfo.onSerializeValue;\n }\n if (propInfo.onGetValue) {\n prop.onGetValue = propInfo.onGetValue;\n }\n if (propInfo.onSetValue) {\n prop.onSetValue = propInfo.onSetValue;\n }\n if (propInfo.onSettingValue) {\n prop.onSettingValue = propInfo.onSettingValue;\n }\n if (propInfo.isLocalizable) {\n propInfo.serializationProperty = \"loc\" + prop.name;\n }\n if (propInfo.serializationProperty) {\n prop.serializationProperty = propInfo.serializationProperty;\n var s;\n if (prop.serializationProperty &&\n prop.serializationProperty.indexOf(\"loc\") == 0) {\n prop.isLocalizable = true;\n }\n }\n if (propInfo.isLocalizable) {\n prop.isLocalizable = propInfo.isLocalizable;\n }\n if (propInfo.className) {\n prop.className = propInfo.className;\n }\n if (propInfo.baseClassName) {\n prop.baseClassName = propInfo.baseClassName;\n prop.isArray = true;\n }\n if (prop.isArray === true) {\n prop.isArray = true;\n }\n if (propInfo.classNamePart) {\n prop.classNamePart = propInfo.classNamePart;\n }\n if (propInfo.alternativeName) {\n prop.alternativeName = propInfo.alternativeName;\n }\n if (propInfo.layout) {\n prop.layout = propInfo.layout;\n }\n if (propInfo.dependsOn) {\n this.addDependsOnProperties(prop, propInfo.dependsOn);\n }\n }\n this.properties.push(prop);\n if (isCustom && !this.isOverridedProp(prop.name)) {\n prop.isCustom = true;\n CustomPropertiesCollection.addProperty(this.name, prop);\n }\n return prop;\n };\n JsonMetadataClass.prototype.addDependsOnProperties = function (prop, dependsOn) {\n if (Array.isArray(dependsOn)) {\n for (var i = 0; i < dependsOn.length; i++) {\n this.addDependsOnProperty(prop, dependsOn[i]);\n }\n }\n else {\n this.addDependsOnProperty(prop, dependsOn);\n }\n };\n JsonMetadataClass.prototype.addDependsOnProperty = function (prop, dependsOn) {\n var property = this.find(dependsOn);\n if (!property) {\n property = Serializer.findProperty(this.parentName, dependsOn);\n }\n if (!property)\n return;\n property.addDependedProperty(prop.name);\n };\n JsonMetadataClass.prototype.getIsPropertyNameRequired = function (propertyName) {\n return (propertyName.length > 0 &&\n propertyName[0] == JsonMetadataClass.requiredSymbol);\n };\n JsonMetadataClass.prototype.getPropertyName = function (propertyName) {\n if (!this.getIsPropertyNameRequired(propertyName))\n return propertyName;\n propertyName = propertyName.slice(1);\n return propertyName;\n };\n JsonMetadataClass.requiredSymbol = \"!\";\n JsonMetadataClass.typeSymbol = \":\";\n return JsonMetadataClass;\n}());\n\n/**\n * The metadata object. It contains object properties' runtime information and allows you to modify it.\n */\nvar JsonMetadata = /** @class */ (function () {\n function JsonMetadata() {\n this.classes = {};\n this.alternativeNames = {};\n this.childrenClasses = {};\n }\n JsonMetadata.prototype.getObjPropertyValue = function (obj, name) {\n if (this.isObjWrapper(obj)) {\n var orignalObj = obj.getOriginalObj();\n var prop = Serializer.findProperty(orignalObj.getType(), name);\n if (!!prop)\n return this.getObjPropertyValueCore(orignalObj, prop);\n }\n var prop = Serializer.findProperty(obj.getType(), name);\n if (!prop)\n return obj[name];\n return this.getObjPropertyValueCore(obj, prop);\n };\n JsonMetadata.prototype.setObjPropertyValue = function (obj, name, val) {\n if (obj[name] === val)\n return;\n if (!!obj[name] && !!obj[name].setJson) {\n obj[name].setJson(val);\n }\n else {\n if (Array.isArray(val)) {\n var newVal = [];\n for (var i = 0; i < val.length; i++)\n newVal.push(val[i]);\n val = newVal;\n }\n obj[name] = val;\n }\n };\n JsonMetadata.prototype.getObjPropertyValueCore = function (obj, prop) {\n if (!prop.isSerializable)\n return obj[prop.name];\n if (prop.isLocalizable) {\n if (prop.isArray)\n return obj[prop.name];\n if (!!prop.serializationProperty)\n return obj[prop.serializationProperty].text;\n }\n return obj.getPropertyValue(prop.name);\n };\n JsonMetadata.prototype.isObjWrapper = function (obj) {\n return !!obj.getOriginalObj && !!obj.getOriginalObj();\n };\n JsonMetadata.prototype.addClass = function (name, properties, creator, parentName) {\n if (creator === void 0) { creator = null; }\n if (parentName === void 0) { parentName = null; }\n name = name.toLowerCase();\n var metaDataClass = new JsonMetadataClass(name, properties, creator, parentName);\n this.classes[name] = metaDataClass;\n if (parentName) {\n parentName = parentName.toLowerCase();\n var children = this.childrenClasses[parentName];\n if (!children) {\n this.childrenClasses[parentName] = [];\n }\n this.childrenClasses[parentName].push(metaDataClass);\n }\n return metaDataClass;\n };\n JsonMetadata.prototype.removeClass = function (name) {\n var metaClass = this.findClass(name);\n if (!metaClass)\n return;\n delete this.classes[metaClass.name];\n if (!!metaClass.parentName) {\n var index = this.childrenClasses[metaClass.parentName].indexOf(metaClass);\n if (index > -1) {\n this.childrenClasses[metaClass.parentName].splice(index, 1);\n }\n }\n };\n JsonMetadata.prototype.overrideClassCreatore = function (name, creator) {\n this.overrideClassCreator(name, creator);\n };\n JsonMetadata.prototype.overrideClassCreator = function (name, creator) {\n name = name.toLowerCase();\n var metaDataClass = this.findClass(name);\n if (metaDataClass) {\n metaDataClass.creator = creator;\n }\n };\n JsonMetadata.prototype.getProperties = function (className) {\n var metaClass = this.findClass(className);\n if (!metaClass)\n return [];\n return metaClass.getAllProperties();\n };\n JsonMetadata.prototype.getPropertiesByObj = function (obj) {\n if (!obj || !obj.getType)\n return [];\n var res = {};\n var props = this.getProperties(obj.getType());\n for (var i = 0; i < props.length; i++) {\n res[props[i].name] = props[i];\n }\n var dynamicProps = !!obj.getDynamicType\n ? this.getProperties(obj.getDynamicType())\n : null;\n if (dynamicProps && dynamicProps.length > 0) {\n for (var i = 0; i < dynamicProps.length; i++) {\n var dProp = dynamicProps[i];\n if (!!res[dProp.name])\n continue;\n res[dProp.name] = dProp;\n }\n }\n return Object.keys(res).map(function (key) { return res[key]; });\n };\n JsonMetadata.prototype.getDynamicPropertiesByObj = function (obj, dynamicType) {\n if (dynamicType === void 0) { dynamicType = null; }\n if (!obj || !obj.getType || (!obj.getDynamicType && !dynamicType))\n return [];\n var dType = !!dynamicType ? dynamicType : obj.getDynamicType();\n if (!dType)\n return [];\n var dynamicProps = this.getProperties(dType);\n if (!dynamicProps || dynamicProps.length == 0)\n return [];\n var hash = {};\n var props = this.getProperties(obj.getType());\n for (var i = 0; i < props.length; i++) {\n hash[props[i].name] = props[i];\n }\n var res = [];\n for (var i = 0; i < dynamicProps.length; i++) {\n var dProp = dynamicProps[i];\n if (!hash[dProp.name]) {\n res.push(dProp);\n }\n }\n return res;\n };\n JsonMetadata.prototype.hasOriginalProperty = function (obj, propName) {\n return !!this.getOriginalProperty(obj, propName);\n };\n JsonMetadata.prototype.getOriginalProperty = function (obj, propName) {\n var res = this.findProperty(obj.getType(), propName);\n if (!!res)\n return res;\n if (this.isObjWrapper(obj))\n return this.findProperty(obj.getOriginalObj().getType(), propName);\n return null;\n };\n JsonMetadata.prototype.getProperty = function (className, propertyName) {\n var prop = this.findProperty(className, propertyName);\n if (!prop)\n return prop;\n var classInfo = this.findClass(className);\n if (prop.classInfo === classInfo)\n return prop;\n var newProp = new JsonObjectProperty(classInfo, prop.name, prop.isRequired);\n newProp.mergeWith(prop);\n newProp.isArray = prop.isArray;\n classInfo.properties.push(newProp);\n classInfo.resetAllProperties();\n return newProp;\n };\n JsonMetadata.prototype.findProperty = function (className, propertyName) {\n var cl = this.findClass(className);\n return !!cl ? cl.findProperty(propertyName) : null;\n };\n JsonMetadata.prototype.findProperties = function (className, propertyNames) {\n var result = new Array();\n var cl = this.findClass(className);\n if (!cl)\n return result;\n for (var i = 0; i < propertyNames.length; i++) {\n var prop = cl.findProperty(propertyNames[i]);\n if (prop) {\n result.push(prop);\n }\n }\n return result;\n };\n JsonMetadata.prototype.getAllPropertiesByName = function (propertyName) {\n var res = new Array();\n var classes = this.getAllClasses();\n for (var i = 0; i < classes.length; i++) {\n var classInfo = this.findClass(classes[i]);\n for (var j = 0; j < classInfo.properties.length; j++) {\n if (classInfo.properties[j].name == propertyName) {\n res.push(classInfo.properties[j]);\n break;\n }\n }\n }\n return res;\n };\n JsonMetadata.prototype.getAllClasses = function () {\n var res = new Array();\n for (var name in this.classes) {\n res.push(name);\n }\n return res;\n };\n JsonMetadata.prototype.createClass = function (name, json) {\n if (json === void 0) { json = undefined; }\n name = name.toLowerCase();\n var metaDataClass = this.findClass(name);\n if (!metaDataClass)\n return null;\n if (metaDataClass.creator)\n return metaDataClass.creator(json);\n var parentName = metaDataClass.parentName;\n while (parentName) {\n metaDataClass = this.findClass(parentName);\n if (!metaDataClass)\n return null;\n parentName = metaDataClass.parentName;\n if (metaDataClass.creator)\n return this.createCustomType(name, metaDataClass.creator, json);\n }\n return null;\n };\n JsonMetadata.prototype.createCustomType = function (name, creator, json) {\n if (json === void 0) { json = undefined; }\n name = name.toLowerCase();\n var res = creator(json);\n var customTypeName = name;\n var customTemplateName = res.getTemplate\n ? res.getTemplate()\n : res.getType();\n res.getType = function () {\n return customTypeName;\n };\n res.getTemplate = function () {\n return customTemplateName;\n };\n CustomPropertiesCollection.createProperties(res);\n return res;\n };\n JsonMetadata.prototype.getChildrenClasses = function (name, canBeCreated) {\n if (canBeCreated === void 0) { canBeCreated = false; }\n name = name.toLowerCase();\n var result = [];\n this.fillChildrenClasses(name, canBeCreated, result);\n return result;\n };\n JsonMetadata.prototype.getRequiredProperties = function (name) {\n var properties = this.getProperties(name);\n var res = [];\n for (var i = 0; i < properties.length; i++) {\n if (properties[i].isRequired) {\n res.push(properties[i].name);\n }\n }\n return res;\n };\n JsonMetadata.prototype.addProperties = function (className, propertiesInfos) {\n className = className.toLowerCase();\n var metaDataClass = this.findClass(className);\n for (var i = 0; i < propertiesInfos.length; i++) {\n this.addCustomPropertyCore(metaDataClass, propertiesInfos[i]);\n }\n };\n JsonMetadata.prototype.addProperty = function (className, propertyInfo) {\n return this.addCustomPropertyCore(this.findClass(className), propertyInfo);\n };\n JsonMetadata.prototype.addCustomPropertyCore = function (metaDataClass, propertyInfo) {\n if (!metaDataClass)\n return null;\n var property = metaDataClass.createProperty(propertyInfo, true);\n if (property) {\n metaDataClass.resetAllProperties();\n }\n return property;\n };\n JsonMetadata.prototype.removeProperty = function (className, propertyName) {\n var metaDataClass = this.findClass(className);\n if (!metaDataClass)\n return false;\n var property = metaDataClass.find(propertyName);\n if (property) {\n this.removePropertyFromClass(metaDataClass, property);\n metaDataClass.resetAllProperties();\n CustomPropertiesCollection.removeProperty(metaDataClass.name, propertyName);\n }\n };\n JsonMetadata.prototype.removePropertyFromClass = function (metaDataClass, property) {\n var index = metaDataClass.properties.indexOf(property);\n if (index < 0)\n return;\n metaDataClass.properties.splice(index, 1);\n };\n JsonMetadata.prototype.fillChildrenClasses = function (name, canBeCreated, result) {\n var children = this.childrenClasses[name];\n if (!children)\n return;\n for (var i = 0; i < children.length; i++) {\n if (!canBeCreated || children[i].creator) {\n result.push(children[i]);\n }\n this.fillChildrenClasses(children[i].name, canBeCreated, result);\n }\n };\n JsonMetadata.prototype.findClass = function (name) {\n name = name.toLowerCase();\n var res = this.classes[name];\n if (!res) {\n var newName = this.alternativeNames[name];\n if (!!newName && newName != name)\n return this.findClass(newName);\n }\n return res;\n };\n JsonMetadata.prototype.isDescendantOf = function (className, ancestorClassName) {\n if (!className || !ancestorClassName) {\n return false;\n }\n className = className.toLowerCase();\n ancestorClassName = ancestorClassName.toLowerCase();\n var class_ = this.findClass(className);\n if (!class_) {\n return false;\n }\n var parentClass = class_;\n do {\n if (parentClass.name === ancestorClassName) {\n return true;\n }\n parentClass = this.classes[parentClass.parentName];\n } while (!!parentClass);\n return false;\n };\n JsonMetadata.prototype.addAlterNativeClassName = function (name, alternativeName) {\n this.alternativeNames[alternativeName.toLowerCase()] = name.toLowerCase();\n };\n JsonMetadata.prototype.generateSchema = function (className) {\n if (className === void 0) { className = undefined; }\n if (!className)\n className = \"survey\";\n var classInfo = this.findClass(className);\n if (!classInfo)\n return null;\n var res = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n title: \"SurveyJS Library json schema\",\n type: \"object\",\n properties: {},\n definitions: { locstring: this.generateLocStrClass() },\n };\n this.generateSchemaProperties(classInfo, res, res.definitions, true);\n return res;\n };\n JsonMetadata.prototype.generateLocStrClass = function () {\n var props = {};\n var locProp = Serializer.findProperty(\"survey\", \"locale\");\n if (!!locProp) {\n var choices = locProp.getChoices(null);\n if (Array.isArray(choices)) {\n if (choices.indexOf(\"en\") < 0) {\n choices.splice(0, 0, \"en\");\n }\n choices.splice(0, 0, \"default\");\n choices.forEach(function (l) { if (!!l) {\n props[l] = { type: \"string\" };\n } });\n }\n }\n return {\n $id: \"locstring\",\n type: \"object\",\n properties: props\n };\n };\n JsonMetadata.prototype.generateSchemaProperties = function (classInfo, classSchema, schemaDef, isRoot) {\n if (!classInfo)\n return;\n var schemaProperties = classSchema.properties;\n var requiredProps = [];\n if (classInfo.name === \"question\" || classInfo.name === \"panel\") {\n schemaProperties.type = { type: \"string\" };\n requiredProps.push(\"type\");\n }\n for (var i = 0; i < classInfo.properties.length; i++) {\n var prop = classInfo.properties[i];\n if (!!classInfo.parentName && !!Serializer.findProperty(classInfo.parentName, prop.name))\n continue;\n schemaProperties[prop.name] = this.generateSchemaProperty(prop, schemaDef, isRoot);\n if (prop.isRequired)\n requiredProps.push(prop.name);\n }\n if (requiredProps.length > 0) {\n classSchema.required = requiredProps;\n }\n };\n JsonMetadata.prototype.generateSchemaProperty = function (prop, schemaDef, isRoot) {\n if (prop.isLocalizable) {\n return { oneOf: [\n { \"type\": \"string\" },\n { \"$ref\": this.getChemeRefName(\"locstring\", isRoot) }\n ] };\n }\n var propType = prop.schemaType();\n var refType = prop.schemaRef();\n var res = {};\n if (!!propType) {\n res.type = propType;\n }\n if (prop.hasChoices) {\n var enumRes = prop.getChoices(null);\n if (Array.isArray(enumRes) && enumRes.length > 0) {\n res.enum = this.getChoicesValues(enumRes);\n }\n }\n if (!!refType) {\n if (propType === \"array\") {\n if (prop.className === \"string\") {\n res.items = { type: prop.className };\n }\n else {\n res.items = { $ref: this.getChemeRefName(prop.className, isRoot) };\n }\n }\n else {\n res[\"$ref\"] = this.getChemeRefName(refType, isRoot);\n }\n this.generateChemaClass(prop.className, schemaDef, false);\n }\n if (!!prop.baseClassName) {\n var usedClasses = this.getChildrenClasses(prop.baseClassName, true);\n if (prop.baseClassName == \"question\") {\n usedClasses.push(this.findClass(\"panel\"));\n }\n res.items = { anyOf: [] };\n for (var i = 0; i < usedClasses.length; i++) {\n var className = usedClasses[i].name;\n res.items.anyOf.push({ $ref: this.getChemeRefName(className, isRoot) });\n this.generateChemaClass(className, schemaDef, false);\n }\n }\n return res;\n };\n JsonMetadata.prototype.getChemeRefName = function (className, isRoot) {\n //Fix for #6486, according to https://niem.github.io/json/reference/json-schema/references/#:~:text=In%20a%20JSON%20schema%2C%20a,%2C%20an%20in%2Dschema%20reference\n return \"#/definitions/\" + className;\n //return isRoot ? \"#/definitions/\" + className : className + \"#\";\n };\n JsonMetadata.prototype.generateChemaClass = function (className, schemaDef, isRoot) {\n if (!!schemaDef[className])\n return;\n var classInfo = this.findClass(className);\n if (!classInfo)\n return;\n var hasParent = !!classInfo.parentName && classInfo.parentName != \"base\";\n if (hasParent) {\n this.generateChemaClass(classInfo.parentName, schemaDef, isRoot);\n }\n var res = { type: \"object\", $id: className };\n schemaDef[className] = res;\n var chemaProps = { properties: {} };\n this.generateSchemaProperties(classInfo, chemaProps, schemaDef, isRoot);\n if (hasParent) {\n res.allOf = [\n { $ref: this.getChemeRefName(classInfo.parentName, isRoot) },\n { properties: chemaProps.properties },\n ];\n }\n else {\n res.properties = chemaProps.properties;\n }\n if (Array.isArray(chemaProps.required)) {\n res.required = chemaProps.required;\n }\n };\n JsonMetadata.prototype.getChoicesValues = function (enumRes) {\n var res = new Array();\n enumRes.forEach(function (item) {\n if (typeof item === \"object\" && item.value !== undefined) {\n res.push(item.value);\n }\n else {\n res.push(item);\n }\n });\n return res;\n };\n return JsonMetadata;\n}());\n\nvar JsonError = /** @class */ (function () {\n function JsonError(type, message) {\n this.type = type;\n this.message = message;\n this.description = \"\";\n this.at = -1;\n this.end = -1;\n }\n JsonError.prototype.getFullDescription = function () {\n return this.message + (this.description ? \"\\n\" + this.description : \"\");\n };\n return JsonError;\n}());\n\nvar JsonUnknownPropertyError = /** @class */ (function (_super) {\n __extends(JsonUnknownPropertyError, _super);\n function JsonUnknownPropertyError(propertyName, className) {\n var _this = _super.call(this, \"unknownproperty\", \"The property '\" +\n propertyName +\n \"' in class '\" +\n className +\n \"' is unknown.\") || this;\n _this.propertyName = propertyName;\n _this.className = className;\n var properties = JsonObject.metaData.getProperties(className);\n if (properties) {\n _this.description = \"The list of available properties are: \";\n for (var i = 0; i < properties.length; i++) {\n if (i > 0)\n _this.description += \", \";\n _this.description += properties[i].name;\n }\n _this.description += \".\";\n }\n return _this;\n }\n return JsonUnknownPropertyError;\n}(JsonError));\n\nvar JsonMissingTypeErrorBase = /** @class */ (function (_super) {\n __extends(JsonMissingTypeErrorBase, _super);\n function JsonMissingTypeErrorBase(baseClassName, type, message) {\n var _this = _super.call(this, type, message) || this;\n _this.baseClassName = baseClassName;\n _this.type = type;\n _this.message = message;\n _this.description = \"The following types are available: \";\n var types = JsonObject.metaData.getChildrenClasses(baseClassName, true);\n for (var i = 0; i < types.length; i++) {\n if (i > 0)\n _this.description += \", \";\n _this.description += \"'\" + types[i].name + \"'\";\n }\n _this.description += \".\";\n return _this;\n }\n return JsonMissingTypeErrorBase;\n}(JsonError));\n\nvar JsonMissingTypeError = /** @class */ (function (_super) {\n __extends(JsonMissingTypeError, _super);\n function JsonMissingTypeError(propertyName, baseClassName) {\n var _this = _super.call(this, baseClassName, \"missingtypeproperty\", \"The property type is missing in the object. Please take a look at property: '\" +\n propertyName +\n \"'.\") || this;\n _this.propertyName = propertyName;\n _this.baseClassName = baseClassName;\n return _this;\n }\n return JsonMissingTypeError;\n}(JsonMissingTypeErrorBase));\n\nvar JsonIncorrectTypeError = /** @class */ (function (_super) {\n __extends(JsonIncorrectTypeError, _super);\n function JsonIncorrectTypeError(propertyName, baseClassName) {\n var _this = _super.call(this, baseClassName, \"incorrecttypeproperty\", \"The property type is incorrect in the object. Please take a look at property: '\" +\n propertyName +\n \"'.\") || this;\n _this.propertyName = propertyName;\n _this.baseClassName = baseClassName;\n return _this;\n }\n return JsonIncorrectTypeError;\n}(JsonMissingTypeErrorBase));\n\nvar JsonRequiredPropertyError = /** @class */ (function (_super) {\n __extends(JsonRequiredPropertyError, _super);\n function JsonRequiredPropertyError(propertyName, className) {\n var _this = _super.call(this, \"requiredproperty\", \"The property '\" +\n propertyName +\n \"' is required in class '\" +\n className +\n \"'.\") || this;\n _this.propertyName = propertyName;\n _this.className = className;\n return _this;\n }\n return JsonRequiredPropertyError;\n}(JsonError));\n\nvar JsonRequiredArrayPropertyError = /** @class */ (function (_super) {\n __extends(JsonRequiredArrayPropertyError, _super);\n function JsonRequiredArrayPropertyError(propertyName, className) {\n var _this = _super.call(this, \"arrayproperty\", \"The property '\" + propertyName + \"' should be an array in '\" + className + \"'.\") || this;\n _this.propertyName = propertyName;\n _this.className = className;\n return _this;\n }\n return JsonRequiredArrayPropertyError;\n}(JsonError));\n\nvar JsonObject = /** @class */ (function () {\n function JsonObject() {\n this.errors = new Array();\n this.lightSerializing = false;\n }\n Object.defineProperty(JsonObject, \"metaData\", {\n get: function () {\n return JsonObject.metaDataValue;\n },\n enumerable: false,\n configurable: true\n });\n JsonObject.prototype.toJsonObject = function (obj, storeDefaults) {\n if (storeDefaults === void 0) { storeDefaults = false; }\n return this.toJsonObjectCore(obj, null, storeDefaults);\n };\n JsonObject.prototype.toObject = function (jsonObj, obj) {\n this.toObjectCore(jsonObj, obj);\n var error = this.getRequiredError(obj, jsonObj);\n if (!!error) {\n this.addNewError(error, jsonObj, obj);\n }\n };\n JsonObject.prototype.toObjectCore = function (jsonObj, obj) {\n if (!jsonObj)\n return;\n var properties = null;\n var objType = undefined;\n var needAddErrors = true;\n if (obj.getType) {\n objType = obj.getType();\n properties = JsonObject.metaData.getProperties(objType);\n needAddErrors =\n !!objType && !JsonObject.metaData.isDescendantOf(objType, \"itemvalue\");\n }\n if (!properties)\n return;\n if (obj.startLoadingFromJson) {\n obj.startLoadingFromJson(jsonObj);\n }\n properties = this.addDynamicProperties(obj, jsonObj, properties);\n for (var key in jsonObj) {\n if (key === JsonObject.typePropertyName)\n continue;\n if (key === JsonObject.positionPropertyName) {\n obj[key] = jsonObj[key];\n continue;\n }\n var property = this.findProperty(properties, key);\n if (!property) {\n if (needAddErrors) {\n this.addNewError(new JsonUnknownPropertyError(key.toString(), objType), jsonObj, obj);\n }\n continue;\n }\n this.valueToObj(jsonObj[key], obj, property, jsonObj);\n }\n if (obj.endLoadingFromJson) {\n obj.endLoadingFromJson();\n }\n };\n JsonObject.prototype.toJsonObjectCore = function (obj, property, storeDefaults) {\n if (storeDefaults === void 0) { storeDefaults = false; }\n if (!obj || !obj.getType)\n return obj;\n if (typeof obj.getData === \"function\")\n return obj.getData();\n var result = {};\n if (property != null && !property.className) {\n result[JsonObject.typePropertyName] = property.getObjType(obj.getType());\n }\n this.propertiesToJson(obj, JsonObject.metaData.getProperties(obj.getType()), result, storeDefaults);\n this.propertiesToJson(obj, this.getDynamicProperties(obj), result, storeDefaults);\n return result;\n };\n JsonObject.prototype.getDynamicProperties = function (obj) {\n return Serializer.getDynamicPropertiesByObj(obj);\n };\n JsonObject.prototype.addDynamicProperties = function (obj, jsonObj, properties) {\n if (!obj.getDynamicPropertyName)\n return properties;\n var dynamicPropName = obj.getDynamicPropertyName();\n if (!dynamicPropName)\n return properties;\n if (jsonObj[dynamicPropName]) {\n obj[dynamicPropName] = jsonObj[dynamicPropName];\n }\n var dynamicProperties = this.getDynamicProperties(obj);\n var res = [];\n for (var i = 0; i < properties.length; i++) {\n res.push(properties[i]);\n }\n for (var i = 0; i < dynamicProperties.length; i++) {\n res.push(dynamicProperties[i]);\n }\n return res;\n };\n JsonObject.prototype.propertiesToJson = function (obj, properties, json, storeDefaults) {\n if (storeDefaults === void 0) { storeDefaults = false; }\n for (var i = 0; i < properties.length; i++) {\n this.valueToJson(obj, json, properties[i], storeDefaults);\n }\n };\n JsonObject.prototype.valueToJson = function (obj, result, property, storeDefaults) {\n if (storeDefaults === void 0) { storeDefaults = false; }\n if (property.isSerializable === false ||\n (property.isLightSerializable === false && this.lightSerializing))\n return;\n var value = property.getSerializableValue(obj);\n if (!storeDefaults && property.isDefaultValueByObj(obj, value))\n return;\n if (this.isValueArray(value)) {\n var arrValue = [];\n for (var i = 0; i < value.length; i++) {\n arrValue.push(this.toJsonObjectCore(value[i], property, storeDefaults));\n }\n value = arrValue.length > 0 ? arrValue : null;\n }\n else {\n value = this.toJsonObjectCore(value, property, storeDefaults);\n }\n var hasValue = typeof obj[\"getPropertyValue\"] === \"function\" &&\n obj[\"getPropertyValue\"](property.name, null) !== null;\n if ((storeDefaults && hasValue) || !property.isDefaultValueByObj(obj, value)) {\n if (!Serializer.onSerializingProperty || !Serializer.onSerializingProperty(obj, property, value, result)) {\n result[property.name] = value;\n }\n }\n };\n JsonObject.prototype.valueToObj = function (value, obj, property, jsonObj) {\n if (value === null || value === undefined)\n return;\n this.removePos(property, value);\n if (property != null && property.hasToUseSetValue) {\n property.setValue(obj, value, this);\n return;\n }\n if (property.isArray && !Array.isArray(value) && !!value) {\n value = [value];\n var propName = !!jsonObj && property.alternativeName && !!jsonObj[property.alternativeName] ? property.alternativeName : property.name;\n this.addNewError(new JsonRequiredArrayPropertyError(propName, obj.getType()), !!jsonObj ? jsonObj : value, obj);\n }\n if (this.isValueArray(value)) {\n this.valueToArray(value, obj, property.name, property);\n return;\n }\n var newObj = this.createNewObj(value, property);\n if (newObj.newObj) {\n this.toObjectCore(value, newObj.newObj);\n value = newObj.newObj;\n }\n if (!newObj.error) {\n if (property != null) {\n property.setValue(obj, value, this);\n }\n else {\n obj[property.name] = value;\n }\n }\n };\n JsonObject.prototype.removePos = function (property, value) {\n if (!property || !property.type || property.type.indexOf(\"value\") < 0)\n return;\n this.removePosFromObj(value);\n };\n JsonObject.prototype.removePosFromObj = function (obj) {\n if (!obj)\n return;\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n this.removePosFromObj(obj[i]);\n }\n }\n if (!!obj[JsonObject.positionPropertyName]) {\n delete obj[JsonObject.positionPropertyName];\n }\n };\n JsonObject.prototype.isValueArray = function (value) {\n return value && Array.isArray(value);\n };\n JsonObject.prototype.createNewObj = function (value, property) {\n var result = { newObj: null, error: null };\n var className = this.getClassNameForNewObj(value, property);\n result.newObj = className\n ? JsonObject.metaData.createClass(className, value)\n : null;\n result.error = this.checkNewObjectOnErrors(result.newObj, value, property, className);\n return result;\n };\n JsonObject.prototype.getClassNameForNewObj = function (value, property) {\n var res = property != null && property.className ? property.className : undefined;\n if (!res) {\n res = value[JsonObject.typePropertyName];\n }\n if (!res)\n return res;\n res = res.toLowerCase();\n var classNamePart = property.classNamePart;\n if (classNamePart && res.indexOf(classNamePart) < 0) {\n res += classNamePart;\n }\n return res;\n };\n JsonObject.prototype.checkNewObjectOnErrors = function (newObj, value, property, className) {\n var error = null;\n if (newObj) {\n error = this.getRequiredError(newObj, value);\n }\n else {\n if (property.baseClassName) {\n if (!className) {\n error = new JsonMissingTypeError(property.name, property.baseClassName);\n }\n else {\n error = new JsonIncorrectTypeError(property.name, property.baseClassName);\n }\n }\n }\n if (error) {\n this.addNewError(error, value, newObj);\n }\n return error;\n };\n JsonObject.prototype.getRequiredError = function (obj, jsonValue) {\n if (!obj.getType || typeof obj.getData === \"function\")\n return null;\n var className = obj.getType();\n var requiredProperties = JsonObject.metaData.getRequiredProperties(className);\n if (!Array.isArray(requiredProperties))\n return null;\n for (var i = 0; i < requiredProperties.length; i++) {\n var prop = Serializer.findProperty(className, requiredProperties[i]);\n if (!prop || !_helpers__WEBPACK_IMPORTED_MODULE_2__[\"Helpers\"].isValueEmpty(prop.defaultValue))\n continue;\n if (!jsonValue[prop.name]) {\n return new JsonRequiredPropertyError(prop.name, className);\n }\n }\n return null;\n };\n JsonObject.prototype.addNewError = function (error, jsonObj, element) {\n error.jsonObj = jsonObj;\n error.element = element;\n this.errors.push(error);\n if (!jsonObj)\n return;\n var posObj = jsonObj[JsonObject.positionPropertyName];\n if (!posObj)\n return;\n error.at = posObj.start;\n error.end = posObj.end;\n };\n JsonObject.prototype.valueToArray = function (value, obj, key, property) {\n if (obj[key] && !this.isValueArray(obj[key]))\n return;\n if (obj[key] && value.length > 0)\n obj[key].splice(0, obj[key].length);\n var valueRes = obj[key] ? obj[key] : [];\n this.addValuesIntoArray(value, valueRes, property);\n if (!obj[key])\n obj[key] = valueRes;\n };\n JsonObject.prototype.addValuesIntoArray = function (value, result, property) {\n for (var i = 0; i < value.length; i++) {\n var newValue = this.createNewObj(value[i], property);\n if (newValue.newObj) {\n if (!!value[i].name) {\n newValue.newObj.name = value[i].name;\n }\n if (!!value[i].valueName) {\n newValue.newObj.valueName = value[i].valueName.toString();\n }\n result.push(newValue.newObj);\n this.toObjectCore(value[i], newValue.newObj);\n }\n else {\n if (!newValue.error) {\n result.push(value[i]);\n }\n }\n }\n };\n JsonObject.prototype.findProperty = function (properties, key) {\n if (!properties)\n return null;\n for (var i = 0; i < properties.length; i++) {\n var prop = properties[i];\n if (prop.name == key || prop.alternativeName == key)\n return prop;\n }\n return null;\n };\n JsonObject.typePropertyName = \"type\";\n JsonObject.positionPropertyName = \"pos\";\n JsonObject.metaDataValue = new JsonMetadata();\n return JsonObject;\n}());\n\n/**\n * An alias for the metadata object. It contains object properties' runtime information and allows you to modify it.\n * @see JsonMetadata\n */\nvar Serializer = JsonObject.metaData;\n\n\n/***/ }),\n\n/***/ \"./src/list.ts\":\n/*!*********************!*\\\n !*** ./src/list.ts ***!\n \\*********************/\n/*! exports provided: defaultListCss, ListModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultListCss\", function() { return defaultListCss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ListModel\", function() { return ListModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _actions_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions/container */ \"./src/actions/container.ts\");\n/* harmony import */ var _actions_action__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./actions/action */ \"./src/actions/action.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _element_helper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./element-helper */ \"./src/element-helper.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\nvar defaultListCss = {\n root: \"sv-list__container\",\n item: \"sv-list__item\",\n searchClearButtonIcon: \"sv-list__filter-clear-button\",\n loadingIndicator: \"sv-list__loading-indicator\",\n itemSelected: \"sv-list__item--selected\",\n itemWithIcon: \"sv-list__item--with-icon\",\n itemDisabled: \"sv-list__item--disabled\",\n itemFocused: \"sv-list__item--focused\",\n itemIcon: \"sv-list__item-icon\",\n itemSeparator: \"sv-list__item-separator\",\n itemBody: \"sv-list__item-body\",\n itemsContainer: \"sv-list\",\n itemsContainerFiltering: \"sv-list--filtering\",\n filter: \"sv-list__filter\",\n filterIcon: \"sv-list__filter-icon\",\n filterInput: \"sv-list__input\",\n emptyContainer: \"sv-list__empty-container\",\n emptyText: \"sv-list__empty-text\"\n};\nvar ListModel = /** @class */ (function (_super) {\n __extends(ListModel, _super);\n function ListModel(items, onSelectionChanged, allowSelection, selectedItem, onFilterStringChangedCallback, elementId) {\n var _this = _super.call(this) || this;\n _this.onSelectionChanged = onSelectionChanged;\n _this.allowSelection = allowSelection;\n _this.onFilterStringChangedCallback = onFilterStringChangedCallback;\n _this.elementId = elementId;\n _this.onItemClick = function (itemValue) {\n if (_this.isItemDisabled(itemValue)) {\n return;\n }\n _this.isExpanded = false;\n if (_this.allowSelection) {\n _this.selectedItem = itemValue;\n }\n if (!!_this.onSelectionChanged) {\n _this.onSelectionChanged(itemValue);\n }\n };\n _this.isItemDisabled = function (itemValue) {\n return itemValue.enabled !== undefined && !itemValue.enabled;\n };\n _this.isItemSelected = function (itemValue) {\n return _this.areSameItems(_this.selectedItem, itemValue);\n };\n _this.isItemFocused = function (itemValue) {\n return _this.areSameItems(_this.focusedItem, itemValue);\n };\n _this.getListClass = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__[\"CssClassBuilder\"]()\n .append(_this.cssClasses.itemsContainer)\n .append(_this.cssClasses.itemsContainerFiltering, !!_this.filterString && _this.visibleActions.length !== _this.visibleItems.length)\n .toString();\n };\n _this.getItemClass = function (itemValue) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__[\"CssClassBuilder\"]()\n .append(_this.cssClasses.item)\n .append(_this.cssClasses.itemWithIcon, !!itemValue.iconName)\n .append(_this.cssClasses.itemDisabled, _this.isItemDisabled(itemValue))\n .append(_this.cssClasses.itemFocused, _this.isItemFocused(itemValue))\n .append(_this.cssClasses.itemSelected, _this.isItemSelected(itemValue))\n .append(itemValue.css)\n .toString();\n };\n _this.getItemIndent = function (itemValue) {\n var level = itemValue.level || 0;\n return (level + 1) * ListModel.INDENT + \"px\";\n };\n _this.setItems(items);\n _this.selectedItem = selectedItem;\n return _this;\n }\n ListModel.prototype.hasText = function (item, filterStringInLow) {\n if (!filterStringInLow)\n return true;\n var textInLow = (item.title || \"\").toLocaleLowerCase();\n textInLow = _settings__WEBPACK_IMPORTED_MODULE_6__[\"settings\"].comparator.normalizeTextCallback(textInLow, \"filter\");\n return textInLow.indexOf(filterStringInLow.toLocaleLowerCase()) > -1;\n };\n ListModel.prototype.isItemVisible = function (item) {\n return item.visible && (!this.shouldProcessFilter || this.hasText(item, this.filterString));\n };\n Object.defineProperty(ListModel.prototype, \"visibleItems\", {\n get: function () {\n var _this = this;\n return this.visibleActions.filter(function (item) { return _this.isItemVisible(item); });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ListModel.prototype, \"shouldProcessFilter\", {\n get: function () {\n return !this.onFilterStringChangedCallback;\n },\n enumerable: false,\n configurable: true\n });\n ListModel.prototype.onFilterStringChanged = function (text) {\n var _this = this;\n if (!!this.onFilterStringChangedCallback) {\n this.onFilterStringChangedCallback(text);\n }\n this.isEmpty = this.renderedActions.filter(function (action) { return _this.isItemVisible(action); }).length === 0;\n };\n ListModel.prototype.scrollToItem = function (selector, ms) {\n var _this = this;\n if (ms === void 0) { ms = 0; }\n setTimeout(function () {\n if (!_this.listContainerHtmlElement)\n return;\n var item = _this.listContainerHtmlElement.querySelector(\".\" + selector);\n if (item) {\n setTimeout(function () {\n item.scrollIntoView({ behavior: \"smooth\", block: \"nearest\", inline: \"start\" });\n }, ms);\n }\n }, ms);\n };\n ListModel.prototype.setOnFilterStringChangedCallback = function (callback) {\n this.onFilterStringChangedCallback = callback;\n };\n ListModel.prototype.setItems = function (items, sortByVisibleIndex) {\n var _this = this;\n if (sortByVisibleIndex === void 0) { sortByVisibleIndex = true; }\n _super.prototype.setItems.call(this, items, sortByVisibleIndex);\n if (this.elementId) {\n this.renderedActions.forEach(function (action) { action.elementId = _this.elementId + action.id; });\n }\n if (!this.isAllDataLoaded && !!this.actions.length) {\n this.actions.push(this.loadingIndicator);\n }\n };\n ListModel.prototype.onSet = function () {\n this.showFilter = this.searchEnabled && (this.forceShowFilter || (this.actions || []).length > ListModel.MINELEMENTCOUNT);\n _super.prototype.onSet.call(this);\n };\n ListModel.prototype.getDefaultCssClasses = function () {\n return defaultListCss;\n };\n ListModel.prototype.areSameItems = function (item1, item2) {\n if (!!this.areSameItemsCallback)\n return this.areSameItemsCallback(item1, item2);\n return !!item1 && !!item2 && item1.id == item2.id;\n };\n Object.defineProperty(ListModel.prototype, \"filterStringPlaceholder\", {\n get: function () {\n return this.getLocalizationString(\"filterStringPlaceholder\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ListModel.prototype, \"emptyMessage\", {\n get: function () {\n return this.isAllDataLoaded ? this.getLocalizationString(\"emptyMessage\") : this.loadingText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ListModel.prototype, \"scrollableContainer\", {\n get: function () {\n return this.listContainerHtmlElement.querySelector(\".\" + this.getDefaultCssClasses().itemsContainer);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ListModel.prototype, \"loadingText\", {\n get: function () {\n return this.getLocalizationString(\"loadingFile\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ListModel.prototype, \"loadingIndicator\", {\n get: function () {\n if (!this.loadingIndicatorValue) {\n this.loadingIndicatorValue = (new _actions_action__WEBPACK_IMPORTED_MODULE_2__[\"Action\"]({\n id: \"loadingIndicator\",\n title: this.loadingText,\n action: function () { },\n css: this.cssClasses.loadingIndicator\n }));\n }\n return this.loadingIndicatorValue;\n },\n enumerable: false,\n configurable: true\n });\n ListModel.prototype.goToItems = function (event) {\n if (event.key === \"ArrowDown\" || event.keyCode === 40) {\n var currentElement = event.target.parentElement;\n var listElement = currentElement.parentElement.querySelector(\"ul\");\n var firstChild = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__[\"getFirstVisibleChild\"])(listElement);\n if (!!listElement && !!firstChild) {\n _element_helper__WEBPACK_IMPORTED_MODULE_4__[\"ElementHelper\"].focusElement(firstChild);\n event.preventDefault();\n }\n }\n };\n ListModel.prototype.onMouseMove = function (event) {\n this.resetFocusedItem();\n };\n ListModel.prototype.onKeyDown = function (event) {\n var currentElement = event.target;\n if (event.key === \"ArrowDown\" || event.keyCode === 40) {\n _element_helper__WEBPACK_IMPORTED_MODULE_4__[\"ElementHelper\"].focusElement(_element_helper__WEBPACK_IMPORTED_MODULE_4__[\"ElementHelper\"].getNextElementPreorder(currentElement));\n event.preventDefault();\n }\n else if (event.key === \"ArrowUp\" || event.keyCode === 38) {\n _element_helper__WEBPACK_IMPORTED_MODULE_4__[\"ElementHelper\"].focusElement(_element_helper__WEBPACK_IMPORTED_MODULE_4__[\"ElementHelper\"].getNextElementPostorder(currentElement));\n event.preventDefault();\n }\n };\n ListModel.prototype.onPointerDown = function (event, item) { };\n ListModel.prototype.refresh = function () {\n this.filterString = \"\";\n this.resetFocusedItem();\n };\n ListModel.prototype.onClickSearchClearButton = function (event) {\n event.currentTarget.parentElement.querySelector(\"input\").focus();\n this.refresh();\n };\n ListModel.prototype.resetFocusedItem = function () {\n this.focusedItem = undefined;\n };\n ListModel.prototype.focusFirstVisibleItem = function () {\n this.focusedItem = this.visibleItems[0];\n };\n ListModel.prototype.focusLastVisibleItem = function () {\n this.focusedItem = this.visibleItems[this.visibleItems.length - 1];\n };\n ListModel.prototype.initFocusedItem = function () {\n var _this = this;\n this.focusedItem = this.visibleItems.filter(function (item) { return item.visible && _this.isItemSelected(item); })[0];\n if (!this.focusedItem) {\n this.focusFirstVisibleItem();\n }\n };\n ListModel.prototype.focusNextVisibleItem = function () {\n if (!this.focusedItem) {\n this.initFocusedItem();\n }\n else {\n var items = this.visibleItems;\n var currentFocusedItemIndex = items.indexOf(this.focusedItem);\n var nextItem = items[currentFocusedItemIndex + 1];\n if (nextItem) {\n this.focusedItem = nextItem;\n }\n else {\n this.focusFirstVisibleItem();\n }\n }\n };\n ListModel.prototype.focusPrevVisibleItem = function () {\n if (!this.focusedItem) {\n this.initFocusedItem();\n }\n else {\n var items = this.visibleItems;\n var currentFocusedItemIndex = items.indexOf(this.focusedItem);\n var prevItem = items[currentFocusedItemIndex - 1];\n if (prevItem) {\n this.focusedItem = prevItem;\n }\n else {\n this.focusLastVisibleItem();\n }\n }\n };\n ListModel.prototype.selectFocusedItem = function () {\n !!this.focusedItem && this.onItemClick(this.focusedItem);\n };\n ListModel.prototype.initListContainerHtmlElement = function (htmlElement) {\n this.listContainerHtmlElement = htmlElement;\n };\n ListModel.prototype.onLastItemRended = function (item) {\n if (this.isAllDataLoaded)\n return;\n if (item === this.actions[this.actions.length - 1] && !!this.listContainerHtmlElement) {\n this.hasVerticalScroller = _element_helper__WEBPACK_IMPORTED_MODULE_4__[\"ElementHelper\"].hasVerticalScroller(this.scrollableContainer);\n }\n };\n ListModel.prototype.scrollToFocusedItem = function () {\n this.scrollToItem(this.getDefaultCssClasses().itemFocused);\n };\n ListModel.prototype.scrollToSelectedItem = function () {\n this.scrollToItem(this.getDefaultCssClasses().itemSelected, 110);\n };\n ListModel.prototype.addScrollEventListener = function (handler) {\n if (!!handler) {\n this.scrollHandler = handler;\n }\n if (!!this.scrollHandler) {\n this.scrollableContainer.addEventListener(\"scroll\", this.scrollHandler);\n }\n };\n ListModel.prototype.removeScrollEventListener = function () {\n if (!!this.scrollHandler) {\n this.scrollableContainer.removeEventListener(\"scroll\", this.scrollHandler);\n }\n };\n ListModel.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n if (!!this.loadingIndicatorValue) {\n this.loadingIndicatorValue.dispose();\n }\n this.listContainerHtmlElement = undefined;\n };\n ListModel.INDENT = 16;\n ListModel.MINELEMENTCOUNT = 10;\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({\n defaultValue: true,\n onSet: function (newValue, target) {\n target.onSet();\n }\n })\n ], ListModel.prototype, \"searchEnabled\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: false })\n ], ListModel.prototype, \"showFilter\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: false })\n ], ListModel.prototype, \"forceShowFilter\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: false })\n ], ListModel.prototype, \"isExpanded\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({})\n ], ListModel.prototype, \"selectedItem\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], ListModel.prototype, \"focusedItem\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({\n onSet: function (_, target) {\n target.onFilterStringChanged(target.filterString);\n }\n })\n ], ListModel.prototype, \"filterString\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: false })\n ], ListModel.prototype, \"hasVerticalScroller\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: true })\n ], ListModel.prototype, \"isAllDataLoaded\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: false })\n ], ListModel.prototype, \"showSearchClearButton\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: true })\n ], ListModel.prototype, \"renderElements\", void 0);\n return ListModel;\n}(_actions_container__WEBPACK_IMPORTED_MODULE_1__[\"ActionContainer\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/localizablestring.ts\":\n/*!**********************************!*\\\n !*** ./src/localizablestring.ts ***!\n \\**********************************/\n/*! exports provided: LocalizableString, LocalizableStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LocalizableString\", function() { return LocalizableString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LocalizableStrings\", function() { return LocalizableStrings; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./surveyStrings */ \"./src/surveyStrings.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n\n\n\n\n/**\n * The class represents the string that supports multi-languages and markdown.\n * It uses in all objects where support for multi-languages and markdown is required.\n */\nvar LocalizableString = /** @class */ (function () {\n function LocalizableString(owner, useMarkdown, name) {\n if (useMarkdown === void 0) { useMarkdown = false; }\n this.owner = owner;\n this.useMarkdown = useMarkdown;\n this.name = name;\n this.values = {};\n this.htmlValues = {};\n this.onStringChanged = new _base__WEBPACK_IMPORTED_MODULE_3__[\"EventBase\"]();\n this.onCreating();\n }\n Object.defineProperty(LocalizableString, \"defaultLocale\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName;\n },\n set: function (val) {\n _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"localizationName\", {\n get: function () {\n return this._localizationName;\n },\n set: function (val) {\n if (this._localizationName != val) {\n this._localizationName = val;\n this.strChanged();\n }\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.prototype.getIsMultiple = function () { return false; };\n Object.defineProperty(LocalizableString.prototype, \"locale\", {\n get: function () {\n if (this.owner && this.owner.getLocale) {\n var res = this.owner.getLocale();\n if (!!res || !this.sharedData)\n return res;\n }\n if (!!this.sharedData)\n return this.sharedData.locale;\n return \"\";\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.prototype.strChanged = function () {\n this.searchableText = undefined;\n if (this.renderedText === undefined)\n return;\n this.calculatedTextValue = this.calcText();\n if (this.renderedText !== this.calculatedTextValue) {\n this.renderedText = undefined;\n this.calculatedTextValue = undefined;\n }\n this.htmlValues = {};\n this.onChanged();\n this.onStringChanged.fire(this, {});\n };\n Object.defineProperty(LocalizableString.prototype, \"text\", {\n get: function () {\n return this.pureText;\n },\n set: function (value) {\n this.setLocaleText(this.locale, value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"calculatedText\", {\n get: function () {\n this.renderedText =\n this.calculatedTextValue !== undefined\n ? this.calculatedTextValue\n : this.calcText();\n this.calculatedTextValue = undefined;\n return this.renderedText;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.prototype.calcText = function () {\n var res = this.pureText;\n if (res &&\n this.owner &&\n this.owner.getProcessedText &&\n res.indexOf(\"{\") > -1) {\n res = this.owner.getProcessedText(res);\n }\n if (this.onGetTextCallback)\n res = this.onGetTextCallback(res);\n return res;\n };\n Object.defineProperty(LocalizableString.prototype, \"pureText\", {\n get: function () {\n var loc = this.locale;\n if (!loc)\n loc = this.defaultLoc;\n var res = this.getValue(loc);\n if (this.isValueEmpty(res) && loc === this.defaultLoc) {\n res = this.getValue(_surveyStrings__WEBPACK_IMPORTED_MODULE_1__[\"surveyLocalization\"].defaultLocale);\n }\n if (this.isValueEmpty(res)) {\n var dialect = this.getRootDialect(loc);\n if (!!dialect) {\n res = this.getValue(dialect);\n }\n }\n if (this.isValueEmpty(res) && loc !== this.defaultLoc) {\n res = this.getValue(this.defaultLoc);\n }\n if (this.isValueEmpty(res) && !!this.getLocalizationName()) {\n res = this.getLocalizationStr();\n if (!!this.onGetLocalizationTextCallback) {\n res = this.onGetLocalizationTextCallback(res);\n }\n }\n if (!res)\n res = \"\";\n return res;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.prototype.getRootDialect = function (loc) {\n if (!loc)\n return loc;\n var index = loc.indexOf(\"-\");\n return index > -1 ? loc.substring(0, index) : \"\";\n };\n LocalizableString.prototype.getLocalizationName = function () {\n return !!this.sharedData ? this.sharedData.localizationName : this.localizationName;\n };\n LocalizableString.prototype.getLocalizationStr = function () {\n var name = this.getLocalizationName();\n return !!name ? _surveyStrings__WEBPACK_IMPORTED_MODULE_1__[\"surveyLocalization\"].getString(name, this.locale) : \"\";\n };\n Object.defineProperty(LocalizableString.prototype, \"hasHtml\", {\n get: function () {\n return this.hasHtmlValue();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"html\", {\n get: function () {\n if (!this.hasHtml)\n return \"\";\n return this.getHtmlValue();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"isEmpty\", {\n get: function () {\n return this.getValuesKeys().length == 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"textOrHtml\", {\n get: function () {\n return this.hasHtml ? this.getHtmlValue() : this.calculatedText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"renderedHtml\", {\n get: function () {\n return this.textOrHtml;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.prototype.getLocaleText = function (loc) {\n var res = this.getLocaleTextCore(loc);\n return res ? res : \"\";\n };\n LocalizableString.prototype.getLocaleTextCore = function (loc) {\n if (!loc)\n loc = this.defaultLoc;\n return this.getValue(loc);\n };\n LocalizableString.prototype.isLocaleTextEqualsWithDefault = function (loc, val) {\n var res = this.getLocaleTextCore(loc);\n if (res === val)\n return true;\n return this.isValueEmpty(res) && this.isValueEmpty(val);\n };\n LocalizableString.prototype.clear = function () {\n this.setJson(undefined);\n };\n LocalizableString.prototype.clearLocale = function (loc) {\n this.setLocaleText(loc, undefined);\n };\n LocalizableString.prototype.setLocaleText = function (loc, value) {\n loc = this.getValueLoc(loc);\n if (!this.storeDefaultText && this.isLocaleTextEqualsWithDefault(loc, value)) {\n if (!this.isValueEmpty(value) || !!loc && loc !== this.defaultLoc)\n return;\n var dl = _surveyStrings__WEBPACK_IMPORTED_MODULE_1__[\"surveyLocalization\"].defaultLocale;\n var oldValue_1 = this.getValue(dl);\n if (!!dl && !this.isValueEmpty(oldValue_1)) {\n this.setValue(dl, value);\n this.fireStrChanged(dl, oldValue_1);\n }\n return;\n }\n if (!_settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.storeDuplicatedTranslations &&\n !this.isValueEmpty(value) && loc && loc != this.defaultLoc &&\n !this.getValue(loc) &&\n value == this.getLocaleText(this.defaultLoc))\n return;\n var curLoc = this.curLocale;\n if (!loc)\n loc = this.defaultLoc;\n var oldValue = this.onStrChanged && loc === curLoc ? this.pureText : undefined;\n delete this.htmlValues[loc];\n if (this.isValueEmpty(value)) {\n this.deleteValue(loc);\n }\n else {\n if (typeof value === \"string\") {\n if (this.canRemoveLocValue(loc, value)) {\n this.setLocaleText(loc, null);\n }\n else {\n this.setValue(loc, value);\n if (loc == this.defaultLoc) {\n this.deleteValuesEqualsToDefault(value);\n }\n }\n }\n }\n this.fireStrChanged(loc, oldValue);\n };\n LocalizableString.prototype.isValueEmpty = function (val) {\n if (val === undefined || val === null)\n return true;\n if (this.localizationName)\n return false;\n return val === \"\";\n };\n Object.defineProperty(LocalizableString.prototype, \"curLocale\", {\n get: function () {\n return !!this.locale ? this.locale : this.defaultLoc;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.prototype.canRemoveLocValue = function (loc, val) {\n if (_settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.storeDuplicatedTranslations)\n return false;\n if (loc === this.defaultLoc)\n return false;\n var dialect = this.getRootDialect(loc);\n if (!!dialect) {\n var dialectVal = this.getLocaleText(dialect);\n if (!!dialectVal)\n return dialectVal == val;\n return this.canRemoveLocValue(dialect, val);\n }\n else {\n return val == this.getLocaleText(this.defaultLoc);\n }\n };\n LocalizableString.prototype.fireStrChanged = function (loc, oldValue) {\n this.strChanged();\n if (!this.onStrChanged)\n return;\n var value = this.pureText;\n if (loc !== this.curLocale || oldValue !== value) {\n this.onStrChanged(oldValue, value);\n }\n };\n LocalizableString.prototype.hasNonDefaultText = function () {\n var keys = this.getValuesKeys();\n if (keys.length == 0)\n return false;\n return keys.length > 1 || keys[0] != this.defaultLoc;\n };\n LocalizableString.prototype.getLocales = function () {\n var keys = this.getValuesKeys();\n if (keys.length == 0)\n return [];\n return keys;\n };\n LocalizableString.prototype.getJson = function () {\n if (!!this.sharedData)\n return this.sharedData.getJson();\n var keys = this.getValuesKeys();\n if (keys.length == 0)\n return null;\n if (keys.length == 1 &&\n keys[0] == _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName &&\n !_settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].serialization.localizableStringSerializeAsObject)\n return this.values[keys[0]];\n return this.values;\n };\n LocalizableString.prototype.setJson = function (value) {\n if (!!this.sharedData) {\n this.sharedData.setJson(value);\n return;\n }\n this.values = {};\n this.htmlValues = {};\n if (value === null || value === undefined)\n return;\n if (typeof value === \"string\") {\n this.setLocaleText(null, value);\n }\n else {\n for (var key in value) {\n this.setLocaleText(key, value[key]);\n }\n }\n this.strChanged();\n };\n Object.defineProperty(LocalizableString.prototype, \"renderAs\", {\n get: function () {\n if (!this.owner || typeof this.owner.getRenderer !== \"function\") {\n return LocalizableString.defaultRenderer;\n }\n return this.owner.getRenderer(this.name) || LocalizableString.defaultRenderer;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableString.prototype, \"renderAsData\", {\n get: function () {\n if (!this.owner || typeof this.owner.getRendererContext !== \"function\") {\n return this;\n }\n return this.owner.getRendererContext(this) || this;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.prototype.equals = function (obj) {\n if (!!this.sharedData)\n return this.sharedData.equals(obj);\n if (!obj || !obj.values)\n return false;\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isTwoValueEquals(this.values, obj.values, false, true, false);\n };\n LocalizableString.prototype.setFindText = function (text) {\n if (this.searchText == text)\n return;\n this.searchText = text;\n if (!this.searchableText) {\n var textOrHtml = this.textOrHtml;\n this.searchableText = !!textOrHtml ? textOrHtml.toLowerCase() : \"\";\n }\n var str = this.searchableText;\n var index = !!str && !!text ? str.indexOf(text) : undefined;\n if (index < 0)\n index = undefined;\n if (index != undefined || this.searchIndex != index) {\n this.searchIndex = index;\n if (!!this.onSearchChanged) {\n this.onSearchChanged();\n }\n }\n return this.searchIndex != undefined;\n };\n LocalizableString.prototype.onChanged = function () { };\n LocalizableString.prototype.onCreating = function () { };\n LocalizableString.prototype.hasHtmlValue = function () {\n if (!this.owner || !this.useMarkdown)\n return false;\n var loc = this.locale;\n if (!loc)\n loc = this.defaultLoc;\n if (this.htmlValues[loc] !== undefined)\n return !!this.htmlValues[loc];\n var renderedText = this.calculatedText;\n if (!renderedText)\n return false;\n if (!!this.getLocalizationName() && renderedText === this.getLocalizationStr())\n return false;\n var res = this.owner.getMarkdownHtml(renderedText, this.name);\n this.htmlValues[loc] = res;\n return !!res;\n };\n LocalizableString.prototype.getHtmlValue = function () {\n var loc = this.locale;\n if (!loc)\n loc = this.defaultLoc;\n return this.htmlValues[loc];\n };\n LocalizableString.prototype.deleteValuesEqualsToDefault = function (defaultValue) {\n if (_settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.storeDuplicatedTranslations)\n return;\n var keys = this.getValuesKeys();\n for (var i = 0; i < keys.length; i++) {\n if (keys[i] == this.defaultLoc)\n continue;\n if (this.getValue(keys[i]) == defaultValue) {\n this.deleteValue(keys[i]);\n }\n }\n };\n LocalizableString.prototype.getValue = function (loc) {\n if (!!this.sharedData)\n return this.sharedData.getValue(loc);\n return this.values[this.getValueLoc(loc)];\n };\n LocalizableString.prototype.setValue = function (loc, value) {\n if (!!this.sharedData)\n this.sharedData.setValue(loc, value);\n else\n this.values[this.getValueLoc(loc)] = value;\n };\n LocalizableString.prototype.deleteValue = function (loc) {\n if (!!this.sharedData)\n this.sharedData.deleteValue(loc);\n else\n delete this.values[this.getValueLoc(loc)];\n };\n LocalizableString.prototype.getValueLoc = function (loc) {\n if (this.disableLocalization)\n return _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName;\n return loc;\n };\n LocalizableString.prototype.getValuesKeys = function () {\n if (!!this.sharedData)\n return this.sharedData.getValuesKeys();\n return Object.keys(this.values);\n };\n Object.defineProperty(LocalizableString.prototype, \"defaultLoc\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableString.SerializeAsObject = false;\n LocalizableString.defaultRenderer = \"sv-string-viewer\";\n LocalizableString.editableRenderer = \"sv-string-editor\";\n return LocalizableString;\n}());\n\n/**\n * The class represents the list of strings that supports multi-languages.\n */\nvar LocalizableStrings = /** @class */ (function () {\n function LocalizableStrings(owner) {\n this.owner = owner;\n this.values = {};\n }\n LocalizableStrings.prototype.getIsMultiple = function () { return true; };\n Object.defineProperty(LocalizableStrings.prototype, \"locale\", {\n get: function () {\n return this.owner && this.owner.getLocale ? this.owner.getLocale() : \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableStrings.prototype, \"value\", {\n get: function () {\n return this.getValue(\"\");\n },\n set: function (val) {\n this.setValue(\"\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(LocalizableStrings.prototype, \"text\", {\n get: function () {\n return Array.isArray(this.value) ? this.value.join(\"\\n\") : \"\";\n },\n set: function (val) {\n this.value = !!val ? val.split(\"\\n\") : [];\n },\n enumerable: false,\n configurable: true\n });\n LocalizableStrings.prototype.getLocaleText = function (loc) {\n var res = this.getValueCore(loc, !loc || loc === this.locale);\n if (!res || !Array.isArray(res) || res.length == 0)\n return \"\";\n return res.join(\"\\n\");\n };\n LocalizableStrings.prototype.setLocaleText = function (loc, newValue) {\n var val = !!newValue ? newValue.split(\"\\n\") : null;\n this.setValue(loc, val);\n };\n LocalizableStrings.prototype.getValue = function (loc) {\n return this.getValueCore(loc);\n };\n LocalizableStrings.prototype.getValueCore = function (loc, useDefault) {\n if (useDefault === void 0) { useDefault = true; }\n loc = this.getLocale(loc);\n if (this.values[loc])\n return this.values[loc];\n if (useDefault) {\n var defLoc = _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName;\n if (loc !== defLoc && this.values[defLoc])\n return this.values[defLoc];\n }\n return [];\n };\n LocalizableStrings.prototype.setValue = function (loc, val) {\n loc = this.getLocale(loc);\n var oldValue = _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].createCopy(this.values);\n if (!val || val.length == 0) {\n delete this.values[loc];\n }\n else {\n this.values[loc] = val;\n }\n if (!!this.onValueChanged) {\n this.onValueChanged(oldValue, this.values);\n }\n };\n LocalizableStrings.prototype.hasValue = function (loc) {\n if (loc === void 0) { loc = \"\"; }\n return !this.isEmpty && this.getValue(loc).length > 0;\n };\n Object.defineProperty(LocalizableStrings.prototype, \"isEmpty\", {\n get: function () {\n return this.getValuesKeys().length == 0;\n },\n enumerable: false,\n configurable: true\n });\n LocalizableStrings.prototype.getLocale = function (loc) {\n if (!!loc)\n return loc;\n loc = this.locale;\n return !!loc ? loc : _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName;\n };\n LocalizableStrings.prototype.getLocales = function () {\n var keys = this.getValuesKeys();\n if (keys.length == 0)\n return [];\n return keys;\n };\n LocalizableStrings.prototype.getJson = function () {\n var keys = this.getValuesKeys();\n if (keys.length == 0)\n return null;\n if (keys.length == 1 &&\n keys[0] == _settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].localization.defaultLocaleName &&\n !_settings__WEBPACK_IMPORTED_MODULE_2__[\"settings\"].serialization.localizableStringSerializeAsObject)\n return this.values[keys[0]];\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].createCopy(this.values);\n };\n LocalizableStrings.prototype.setJson = function (value) {\n this.values = {};\n if (!value)\n return;\n if (Array.isArray(value)) {\n this.setValue(null, value);\n }\n else {\n for (var key in value) {\n this.setValue(key, value[key]);\n }\n }\n };\n LocalizableStrings.prototype.getValuesKeys = function () {\n return Object.keys(this.values);\n };\n return LocalizableStrings;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/localization/english.ts\":\n/*!*************************************!*\\\n !*** ./src/localization/english.ts ***!\n \\*************************************/\n/*! exports provided: englishStrings */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"englishStrings\", function() { return englishStrings; });\n// Uncomment the line below if you create a custom dictionary\n// import { surveyLocalization } from \"survey-core\";\nvar englishStrings = {\n pagePrevText: \"Previous\",\n pageNextText: \"Next\",\n completeText: \"Complete\",\n previewText: \"Preview\",\n editText: \"Edit\",\n startSurveyText: \"Start\",\n otherItemText: \"Other (describe)\",\n noneItemText: \"None\",\n selectAllItemText: \"Select All\",\n progressText: \"Page {0} of {1}\",\n indexText: \"{0} of {1}\",\n panelDynamicProgressText: \"{0} of {1}\",\n panelDynamicTabTextFormat: \"Panel {panelIndex}\",\n questionsProgressText: \"Answered {0}/{1} questions\",\n emptySurvey: \"The survey doesn't contain any visible elements.\",\n completingSurvey: \"Thank you for completing the survey\",\n completingSurveyBefore: \"Our records show that you have already completed this survey.\",\n loadingSurvey: \"Loading Survey...\",\n placeholder: \"Select...\",\n ratingOptionsCaption: \"Select...\",\n value: \"value\",\n requiredError: \"Response required.\",\n requiredErrorInPanel: \"Response required: answer at least one question.\",\n requiredInAllRowsError: \"Response required: answer questions in all rows.\",\n numericError: \"The value should be numeric.\",\n minError: \"The value should not be less than {0}\",\n maxError: \"The value should not be greater than {0}\",\n textMinLength: \"Please enter at least {0} character(s).\",\n textMaxLength: \"Please enter no more than {0} character(s).\",\n textMinMaxLength: \"Please enter at least {0} and no more than {1} characters.\",\n minRowCountError: \"Please fill in at least {0} row(s).\",\n minSelectError: \"Please select at least {0} option(s).\",\n maxSelectError: \"Please select no more than {0} option(s).\",\n numericMinMax: \"The '{0}' should be at least {1} and at most {2}\",\n numericMin: \"The '{0}' should be at least {1}\",\n numericMax: \"The '{0}' should be at most {1}\",\n invalidEmail: \"Please enter a valid e-mail address.\",\n invalidExpression: \"The expression: {0} should return 'true'.\",\n urlRequestError: \"The request returned error '{0}'. {1}\",\n urlGetChoicesError: \"The request returned empty data or the 'path' property is incorrect\",\n exceedMaxSize: \"The file size should not exceed {0}.\",\n noUploadFilesHandler: \"Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event.\",\n otherRequiredError: \"Response required: enter another value.\",\n uploadingFile: \"Your file is uploading. Please wait several seconds and try again.\",\n loadingFile: \"Loading...\",\n chooseFile: \"Choose file(s)...\",\n noFileChosen: \"No file chosen\",\n filePlaceholder: \"Drag and drop a file here or click the button below to select a file to upload.\",\n confirmDelete: \"Do you want to delete the record?\",\n keyDuplicationError: \"This value should be unique.\",\n addColumn: \"Add Column\",\n addRow: \"Add Row\",\n removeRow: \"Remove\",\n emptyRowsText: \"There are no rows.\",\n addPanel: \"Add new\",\n removePanel: \"Remove\",\n showDetails: \"Show Details\",\n hideDetails: \"Hide Details\",\n choices_Item: \"item\",\n matrix_column: \"Column\",\n matrix_row: \"Row\",\n multipletext_itemname: \"text\",\n savingData: \"The results are being saved on the server...\",\n savingDataError: \"An error occurred and we could not save the results.\",\n savingDataSuccess: \"The results were saved successfully!\",\n saveAgainButton: \"Try again\",\n timerMin: \"min\",\n timerSec: \"sec\",\n timerSpentAll: \"You have spent {0} on this page and {1} in total.\",\n timerSpentPage: \"You have spent {0} on this page.\",\n timerSpentSurvey: \"You have spent {0} in total.\",\n timerLimitAll: \"You have spent {0} of {1} on this page and {2} of {3} in total.\",\n timerLimitPage: \"You have spent {0} of {1} on this page.\",\n timerLimitSurvey: \"You have spent {0} of {1} in total.\",\n clearCaption: \"Clear\",\n signaturePlaceHolder: \"Sign here\",\n chooseFileCaption: \"Select File\",\n takePhotoCaption: \"Take Photo\",\n photoPlaceholder: \"Click the button below to take a photo using the camera.\",\n fileOrPhotoPlaceholder: \"Drag and drop or select a file to upload or take a photo using the camera.\",\n replaceFileCaption: \"Replace file\",\n removeFileCaption: \"Remove this file\",\n booleanCheckedLabel: \"Yes\",\n booleanUncheckedLabel: \"No\",\n confirmRemoveFile: \"Are you sure that you want to remove this file: {0}?\",\n confirmRemoveAllFiles: \"Are you sure that you want to remove all files?\",\n questionTitlePatternText: \"Question Title\",\n modalCancelButtonText: \"Cancel\",\n modalApplyButtonText: \"Apply\",\n filterStringPlaceholder: \"Type to search...\",\n emptyMessage: \"No data to display\",\n noEntriesText: \"There are no entries yet.\\nClick the button below to add a new entry.\",\n noEntriesReadonlyText: \"There are no entries.\",\n more: \"More\",\n tagboxDoneButtonCaption: \"OK\",\n selectToRankEmptyRankedAreaText: \"All choices are ranked\",\n selectToRankEmptyUnrankedAreaText: \"Drag and drop choices here to rank them\",\n ok: \"OK\",\n cancel: \"Cancel\",\n};\n// Uncomment the lines below if you create a custom dictionary.\n// Replace \"en\" with a custom locale code (for example, \"fr\" or \"de\"),\n// Replace `englishStrings` with the name of the variable that contains the custom dictionary.\n// surveyLocalization.locales[\"en\"] = englishStrings;\n// surveyLocalization.localeNames[\"en\"] = \"English\";\n\n\n/***/ }),\n\n/***/ \"./src/martixBase.ts\":\n/*!***************************!*\\\n !*** ./src/martixBase.ts ***!\n \\***************************/\n/*! exports provided: QuestionMatrixBaseModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"QuestionMatrixBaseModel\", function() { return QuestionMatrixBaseModel; });\n/* harmony import */ var _itemvalue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./itemvalue */ \"./src/itemvalue.ts\");\n/* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./question */ \"./src/question.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./conditions */ \"./src/conditions.ts\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n/**\n * A base class for all matrix question types.\n */\nvar QuestionMatrixBaseModel = /** @class */ (function (_super) {\n __extends(QuestionMatrixBaseModel, _super);\n function QuestionMatrixBaseModel(name) {\n var _this = _super.call(this, name) || this;\n _this.generatedVisibleRows = null;\n _this.generatedTotalRow = null;\n _this.filteredRows = null;\n _this.filteredColumns = null;\n _this.columns = _this.createColumnValues();\n _this.rows = _this.createItemValues(\"rows\");\n return _this;\n }\n QuestionMatrixBaseModel.prototype.createColumnValues = function () {\n return this.createItemValues(\"columns\");\n };\n QuestionMatrixBaseModel.prototype.getType = function () {\n return \"matrixbase\";\n };\n QuestionMatrixBaseModel.prototype.endLoadingFromJson = function () {\n _super.prototype.endLoadingFromJson.call(this);\n this.updateVisibilityBasedOnRows();\n };\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"isCompositeQuestion\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"showHeader\", {\n /**\n * Specifies whether to display the table header that contains column captions.\n *\n * Default value: `true`\n */\n get: function () {\n return this.getPropertyValue(\"showHeader\");\n },\n set: function (val) {\n this.setPropertyValue(\"showHeader\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"columns\", {\n /**\n * An array of matrix columns.\n *\n * This array can contain primitive values or objects with the `text` (display value) and `value` (value to be saved in survey results) properties.\n *\n * [View Demo](https://surveyjs.io/form-library/examples/single-selection-matrix-table-question/ (linkStyle))\n */\n get: function () {\n return this.getPropertyValue(\"columns\");\n },\n set: function (newValue) {\n this.setPropertyValue(\"columns\", newValue);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"visibleColumns\", {\n get: function () {\n return !!this.filteredColumns ? this.filteredColumns : this.columns;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"rows\", {\n /**\n * An array of matrix rows.\n *\n * This array can contain primitive values or objects with the `text` (display value) and `value` (value to be saved in survey results) properties.\n *\n * [View Demo](https://surveyjs.io/form-library/examples/single-selection-matrix-table-question/ (linkStyle))\n */\n get: function () {\n return this.getPropertyValue(\"rows\");\n },\n set: function (newValue) {\n var newRows = this.processRowsOnSet(newValue);\n this.setPropertyValue(\"rows\", newRows);\n this.filterItems();\n },\n enumerable: false,\n configurable: true\n });\n QuestionMatrixBaseModel.prototype.processRowsOnSet = function (newRows) {\n return newRows;\n };\n QuestionMatrixBaseModel.prototype.getVisibleRows = function () {\n return [];\n };\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"visibleRows\", {\n /**\n * Returns an array of visible matrix rows.\n * @see rowsVisibleIf\n */\n get: function () {\n return this.getVisibleRows();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"rowsVisibleIf\", {\n /**\n * A Boolean expression that is evaluated against each matrix row. If the expression evaluates to `false`, the row becomes hidden.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Use the `{item}` placeholder to reference the current row in the expression.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see visibleRows\n * @see columnsVisibleIf\n */\n get: function () {\n return this.getPropertyValue(\"rowsVisibleIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"rowsVisibleIf\", val);\n this.filterItems();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"columnsVisibleIf\", {\n /**\n * A Boolean expression that is evaluated against each matrix column. If the expression evaluates to `false`, the column becomes hidden.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Use the `{item}` placeholder to reference the current column in the expression.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see rowsVisibleIf\n */\n get: function () {\n return this.getPropertyValue(\"columnsVisibleIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"columnsVisibleIf\", val);\n this.filterItems();\n },\n enumerable: false,\n configurable: true\n });\n QuestionMatrixBaseModel.prototype.runCondition = function (values, properties) {\n _super.prototype.runCondition.call(this, values, properties);\n this.runItemsCondition(values, properties);\n };\n QuestionMatrixBaseModel.prototype.filterItems = function () {\n if (this.areInvisibleElementsShowing) {\n this.onRowsChanged();\n return false;\n }\n if (this.isLoadingFromJson || !this.data)\n return false;\n return this.runItemsCondition(this.getDataFilteredValues(), this.getDataFilteredProperties());\n };\n QuestionMatrixBaseModel.prototype.onColumnsChanged = function () { };\n QuestionMatrixBaseModel.prototype.onRowsChanged = function () {\n this.updateVisibilityBasedOnRows();\n this.fireCallback(this.visibleRowsChangedCallback);\n };\n QuestionMatrixBaseModel.prototype.updateVisibilityBasedOnRows = function () {\n if (this.hideIfRowsEmpty) {\n this.visible =\n this.rows.length > 0 &&\n (!this.filteredRows || this.filteredRows.length > 0);\n }\n };\n QuestionMatrixBaseModel.prototype.shouldRunColumnExpression = function () {\n return !this.survey || !this.survey.areInvisibleElementsShowing;\n };\n QuestionMatrixBaseModel.prototype.hasRowsAsItems = function () {\n return true;\n };\n QuestionMatrixBaseModel.prototype.runItemsCondition = function (values, properties) {\n var oldVisibleRows = null;\n if (!!this.filteredRows && !_helpers__WEBPACK_IMPORTED_MODULE_4__[\"Helpers\"].isValueEmpty(this.defaultValue)) {\n oldVisibleRows = [];\n for (var i = 0; i < this.filteredRows.length; i++) {\n oldVisibleRows.push(this.filteredRows[i]);\n }\n }\n var hasChanges = this.hasRowsAsItems() && this.runConditionsForRows(values, properties);\n var hasColumnsChanged = this.runConditionsForColumns(values, properties);\n hasChanges = hasColumnsChanged || hasChanges;\n if (hasChanges) {\n if (this.isClearValueOnHidden && (!!this.filteredColumns || !!this.filteredRows)) {\n this.clearIncorrectValues();\n }\n if (!!oldVisibleRows) {\n this.restoreNewVisibleRowsValues(oldVisibleRows);\n }\n this.clearGeneratedRows();\n if (hasColumnsChanged) {\n this.onColumnsChanged();\n }\n this.onRowsChanged();\n }\n return hasChanges;\n };\n QuestionMatrixBaseModel.prototype.clearGeneratedRows = function () {\n this.generatedVisibleRows = null;\n };\n QuestionMatrixBaseModel.prototype.runConditionsForRows = function (values, properties) {\n var showInvisibile = !!this.survey && this.survey.areInvisibleElementsShowing;\n var runner = !showInvisibile && !!this.rowsVisibleIf\n ? new _conditions__WEBPACK_IMPORTED_MODULE_3__[\"ConditionRunner\"](this.rowsVisibleIf)\n : null;\n this.filteredRows = [];\n var hasChanged = _itemvalue__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"].runConditionsForItems(this.rows, this.filteredRows, runner, values, properties, !showInvisibile);\n if (this.filteredRows.length === this.rows.length) {\n this.filteredRows = null;\n }\n return hasChanged;\n };\n QuestionMatrixBaseModel.prototype.runConditionsForColumns = function (values, properties) {\n var useColumnsExpression = !!this.survey && !this.survey.areInvisibleElementsShowing;\n var runner = useColumnsExpression && !!this.columnsVisibleIf\n ? new _conditions__WEBPACK_IMPORTED_MODULE_3__[\"ConditionRunner\"](this.columnsVisibleIf)\n : null;\n this.filteredColumns = [];\n var hasChanged = _itemvalue__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"].runConditionsForItems(this.columns, this.filteredColumns, runner, values, properties, this.shouldRunColumnExpression());\n if (this.filteredColumns.length === this.columns.length) {\n this.filteredColumns = null;\n }\n return hasChanged;\n };\n QuestionMatrixBaseModel.prototype.clearIncorrectValues = function () {\n var val = this.value;\n if (!val)\n return;\n var newVal = null;\n var isChanged = false;\n var rows = !!this.filteredRows ? this.filteredRows : this.rows;\n var columns = !!this.filteredColumns ? this.filteredColumns : this.columns;\n for (var key in val) {\n if (_itemvalue__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"].getItemByValue(rows, key) &&\n _itemvalue__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"].getItemByValue(columns, val[key])) {\n if (newVal == null)\n newVal = {};\n newVal[key] = val[key];\n }\n else {\n isChanged = true;\n }\n }\n if (isChanged) {\n this.value = newVal;\n }\n _super.prototype.clearIncorrectValues.call(this);\n };\n QuestionMatrixBaseModel.prototype.clearInvisibleValuesInRows = function () {\n if (this.isEmpty())\n return;\n var newData = this.getUnbindValue(this.value);\n var rows = this.rows;\n for (var i = 0; i < rows.length; i++) {\n var key = rows[i].value;\n if (!!newData[key] && !rows[i].isVisible) {\n delete newData[key];\n }\n }\n if (this.isTwoValueEquals(newData, this.value))\n return;\n this.value = newData;\n };\n QuestionMatrixBaseModel.prototype.restoreNewVisibleRowsValues = function (oldVisibleRows) {\n var rows = !!this.filteredRows ? this.filteredRows : this.rows;\n var val = this.defaultValue;\n var newValue = this.getUnbindValue(this.value);\n var isChanged = false;\n for (var key in val) {\n if (_itemvalue__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"].getItemByValue(rows, key) &&\n !_itemvalue__WEBPACK_IMPORTED_MODULE_0__[\"ItemValue\"].getItemByValue(oldVisibleRows, key)) {\n if (newValue == null)\n newValue = {};\n newValue[key] = val[key];\n isChanged = true;\n }\n }\n if (isChanged) {\n this.value = newValue;\n }\n };\n QuestionMatrixBaseModel.prototype.needResponsiveWidth = function () {\n //TODO: make it mor intelligent\n return true;\n };\n QuestionMatrixBaseModel.prototype.getTableCss = function () {\n var _a;\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__[\"CssClassBuilder\"]()\n .append(this.cssClasses.root)\n .append(this.cssClasses.noHeader, !this.showHeader)\n .append(this.cssClasses.hasFooter, !!((_a = this.renderedTable) === null || _a === void 0 ? void 0 : _a.showAddRowOnBottom))\n .append(this.cssClasses.rootAlternateRows, this.alternateRows)\n .append(this.cssClasses.rootVerticalAlignTop, (this.verticalAlign === \"top\"))\n .append(this.cssClasses.rootVerticalAlignMiddle, (this.verticalAlign === \"middle\")).toString();\n };\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"columnMinWidth\", {\n /**\n * Minimum column width in CSS values.\n *\n * @see width\n */\n get: function () {\n return this.getPropertyValue(\"columnMinWidth\") || \"\";\n },\n set: function (val) {\n this.setPropertyValue(\"columnMinWidth\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"rowTitleWidth\", {\n /**\n * A width for the column that displays row titles (first column). Accepts CSS values.\n */\n get: function () {\n return this.getPropertyValue(\"rowTitleWidth\") || \"\";\n },\n set: function (val) {\n this.setPropertyValue(\"rowTitleWidth\", val);\n },\n enumerable: false,\n configurable: true\n });\n //a11y\n QuestionMatrixBaseModel.prototype.getCellAriaLabel = function (rowTitle, columnTitle) {\n var row = (this.getLocalizationString(\"matrix_row\") || \"row\").toLocaleLowerCase();\n var column = (this.getLocalizationString(\"matrix_column\") || \"column\").toLocaleLowerCase();\n return row + \" \" + rowTitle + \", \" + column + \" \" + columnTitle;\n };\n Object.defineProperty(QuestionMatrixBaseModel.prototype, \"isNewA11yStructure\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], QuestionMatrixBaseModel.prototype, \"verticalAlign\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], QuestionMatrixBaseModel.prototype, \"alternateRows\", void 0);\n return QuestionMatrixBaseModel;\n}(_question__WEBPACK_IMPORTED_MODULE_1__[\"Question\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"Serializer\"].addClass(\"matrixbase\", [\n { name: \"showCommentArea:switch\", layout: \"row\", visible: true, category: \"general\" },\n \"columnsVisibleIf:condition\",\n \"rowsVisibleIf:condition\",\n \"columnMinWidth\",\n { name: \"showHeader:boolean\", default: true },\n {\n name: \"verticalAlign\",\n choices: [\"top\", \"middle\"],\n default: \"middle\",\n },\n { name: \"alternateRows:boolean\", default: false }\n], undefined, \"question\");\n\n\n/***/ }),\n\n/***/ \"./src/multiSelectListModel.ts\":\n/*!*************************************!*\\\n !*** ./src/multiSelectListModel.ts ***!\n \\*************************************/\n/*! exports provided: MultiSelectListModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectListModel\", function() { return MultiSelectListModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./list */ \"./src/list.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\nvar MultiSelectListModel = /** @class */ (function (_super) {\n __extends(MultiSelectListModel, _super);\n function MultiSelectListModel(items, onSelectionChanged, allowSelection, selectedItems, onFilterStringChangedCallback, elementId) {\n var _this = _super.call(this, items, onSelectionChanged, allowSelection, undefined, onFilterStringChangedCallback, elementId) || this;\n _this.onItemClick = function (item) {\n if (_this.isItemDisabled(item))\n return;\n _this.isExpanded = false;\n if (_this.isItemSelected(item)) {\n _this.selectedItems.splice(_this.selectedItems.indexOf(item), 1)[0];\n !!_this.onSelectionChanged && (_this.onSelectionChanged(item, \"removed\"));\n }\n else {\n _this.selectedItems.push(item);\n !!_this.onSelectionChanged && (_this.onSelectionChanged(item, \"added\"));\n }\n };\n _this.isItemDisabled = function (itemValue) {\n return itemValue.enabled !== undefined && !itemValue.enabled;\n };\n _this.isItemSelected = function (itemValue) {\n return !!_this.allowSelection && _this.selectedItems.filter(function (item) { return _this.areSameItems(item, itemValue); }).length > 0;\n };\n _this.setSelectedItems(selectedItems || []);\n return _this;\n }\n MultiSelectListModel.prototype.updateItemState = function () {\n var _this = this;\n this.actions.forEach(function (action) {\n var isSelected = _this.isItemSelected(action);\n action.visible = _this.hideSelectedItems ? !isSelected : true;\n });\n };\n MultiSelectListModel.prototype.updateState = function () {\n var _this = this;\n this.updateItemState();\n this.isEmpty = this.renderedActions.filter(function (action) { return _this.isItemVisible(action); }).length === 0;\n };\n MultiSelectListModel.prototype.setSelectedItems = function (newItems) {\n this.selectedItems = newItems;\n this.updateState();\n };\n MultiSelectListModel.prototype.selectFocusedItem = function () {\n _super.prototype.selectFocusedItem.call(this);\n if (this.hideSelectedItems) {\n this.focusNextVisibleItem();\n }\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], MultiSelectListModel.prototype, \"hideSelectedItems\", void 0);\n return MultiSelectListModel;\n}(_list__WEBPACK_IMPORTED_MODULE_1__[\"ListModel\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/notifier.ts\":\n/*!*************************!*\\\n !*** ./src/notifier.ts ***!\n \\*************************/\n/*! exports provided: Notifier */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Notifier\", function() { return Notifier; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _actions_container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./actions/container */ \"./src/actions/container.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\nvar Notifier = /** @class */ (function (_super) {\n __extends(Notifier, _super);\n function Notifier(cssClasses) {\n var _this = _super.call(this) || this;\n _this.cssClasses = cssClasses;\n _this.timeout = _settings__WEBPACK_IMPORTED_MODULE_1__[\"settings\"].notifications.lifetime;\n _this.timer = undefined;\n _this.actionsVisibility = {};\n _this.showActions = true;\n _this.actionBar = new _actions_container__WEBPACK_IMPORTED_MODULE_4__[\"ActionContainer\"]();\n _this.actionBar.updateCallback = function (isResetInitialized) {\n _this.actionBar.actions.forEach(function (action) { return action.cssClasses = {}; });\n };\n _this.css = _this.cssClasses.root;\n return _this;\n }\n Notifier.prototype.getCssClass = function (type) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__[\"CssClassBuilder\"]()\n .append(this.cssClasses.root)\n .append(this.cssClasses.rootWithButtons, this.actionBar.visibleActions.length > 0)\n .append(this.cssClasses.info, type !== \"error\" && type !== \"success\")\n .append(this.cssClasses.error, type === \"error\")\n .append(this.cssClasses.success, type === \"success\")\n .append(this.cssClasses.shown, this.active)\n .toString();\n };\n Notifier.prototype.updateActionsVisibility = function (type) {\n var _this = this;\n this.actionBar.actions.forEach(function (action) { return action.visible = _this.showActions && (_this.actionsVisibility[action.id] === type); });\n };\n Notifier.prototype.notify = function (message, type, waitUserAction) {\n var _this = this;\n if (type === void 0) { type = \"info\"; }\n if (waitUserAction === void 0) { waitUserAction = false; }\n this.isDisplayed = true;\n setTimeout(function () {\n _this.updateActionsVisibility(type);\n _this.message = message;\n _this.active = true;\n _this.css = _this.getCssClass(type);\n if (!!_this.timer) {\n clearTimeout(_this.timer);\n _this.timer = undefined;\n }\n if (!waitUserAction) {\n _this.timer = setTimeout(function () {\n _this.timer = undefined;\n _this.active = false;\n _this.css = _this.getCssClass(type);\n }, _this.timeout);\n }\n }, 1);\n };\n Notifier.prototype.addAction = function (action, notificationType) {\n action.visible = false;\n action.innerCss = this.cssClasses.button;\n var res = this.actionBar.addAction(action);\n this.actionsVisibility[res.id] = notificationType;\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: false })\n ], Notifier.prototype, \"active\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])({ defaultValue: false })\n ], Notifier.prototype, \"isDisplayed\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], Notifier.prototype, \"message\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], Notifier.prototype, \"css\", void 0);\n return Notifier;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/page.ts\":\n/*!*********************!*\\\n !*** ./src/page.ts ***!\n \\*********************/\n/*! exports provided: PageModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PageModel\", function() { return PageModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _panel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./panel */ \"./src/panel.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _drag_drop_page_helper_v1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./drag-drop-page-helper-v1 */ \"./src/drag-drop-page-helper-v1.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n/**\n * The `PageModel` object describes a survey page and contains properties and methods that allow you to control the page and access its elements (panels and questions).\n *\n * [View Demo](https://surveyjs.io/form-library/examples/nps-question/ (linkStyle))\n */\nvar PageModel = /** @class */ (function (_super) {\n __extends(PageModel, _super);\n function PageModel(name) {\n if (name === void 0) { name = \"\"; }\n var _this = _super.call(this, name) || this;\n _this.hasShownValue = false;\n /**\n * A time period that a respondent has spent on this page so far; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).\n * @see maxTimeToFinish\n */\n _this.timeSpent = 0;\n _this.locTitle.onGetTextCallback = function (text) {\n if (_this.canShowPageNumber() && text)\n return _this.num + \". \" + text;\n return text;\n };\n _this.createLocalizableString(\"navigationTitle\", _this, true);\n _this.createLocalizableString(\"navigationDescription\", _this, true);\n _this.dragDropPageHelper = new _drag_drop_page_helper_v1__WEBPACK_IMPORTED_MODULE_3__[\"DragDropPageHelperV1\"](_this);\n return _this;\n }\n PageModel.prototype.getType = function () {\n return \"page\";\n };\n PageModel.prototype.toString = function () {\n return this.name;\n };\n Object.defineProperty(PageModel.prototype, \"isPage\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.canShowPageNumber = function () {\n return this.survey && this.survey.showPageNumbers;\n };\n PageModel.prototype.canShowTitle = function () {\n return this.survey && this.survey.showPageTitles;\n };\n Object.defineProperty(PageModel.prototype, \"navigationTitle\", {\n /**\n * A caption displayed on a navigation button in the TOC or progress bar. Applies when [`showTOC`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTOC) is `true` or when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `\"buttons\"`.\n *\n * If navigation titles are unspecified, the navigation buttons display page [titles](https://surveyjs.io/form-library/documentation/api-reference/page-model#title) or [names](https://surveyjs.io/form-library/documentation/pagemodel#name).\n */\n get: function () {\n return this.getLocalizableStringText(\"navigationTitle\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"navigationTitle\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"locNavigationTitle\", {\n get: function () {\n return this.getLocalizableString(\"navigationTitle\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"navigationDescription\", {\n /**\n * Explanatory text displayed under a navigation button in the progress bar. Applies when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and `SurveyModel`'s [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) property is set to `\"buttons\"`.\n */\n get: function () {\n return this.getLocalizableStringText(\"navigationDescription\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"navigationDescription\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"locNavigationDescription\", {\n get: function () {\n return this.getLocalizableString(\"navigationDescription\");\n },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.navigationLocStrChanged = function () {\n this.locNavigationTitle.strChanged();\n this.locNavigationDescription.strChanged();\n };\n Object.defineProperty(PageModel.prototype, \"renderedNavigationTitle\", {\n get: function () {\n return this.locNavigationTitle.renderedHtml || this.title || this.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"passed\", {\n get: function () {\n return this.getPropertyValue(\"passed\", false);\n },\n set: function (val) {\n this.setPropertyValue(\"passed\", val);\n },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.removeFromParent = function () {\n if (!!this.survey) {\n this.removeSelfFromList(this.survey.pages);\n }\n };\n PageModel.prototype.onFirstRendering = function () {\n if (this.wasShown)\n return;\n _super.prototype.onFirstRendering.call(this);\n };\n Object.defineProperty(PageModel.prototype, \"visibleIndex\", {\n /**\n * The visible index of the page. It has values from 0 to visible page count - 1.\n * @see SurveyModel.visiblePages\n * @see SurveyModel.pages\n */\n get: function () {\n return this.getPropertyValue(\"visibleIndex\", -1);\n },\n set: function (val) {\n this.setPropertyValue(\"visibleIndex\", val);\n },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.canRenderFirstRows = function () {\n return !this.isDesignMode || this.visibleIndex == 0;\n };\n Object.defineProperty(PageModel.prototype, \"isStartPage\", {\n /**\n * Returns `true` if this page is a start page.\n *\n * Refer to the following help topic for more information on how to configure a start page: [Start Page](https://surveyjs.io/form-library/documentation/design-survey-create-a-multi-page-survey#start-page).\n */\n get: function () {\n return this.survey && this.survey.isPageStarted(this);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"isStarted\", {\n get: function () { return this.isStartPage; },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.calcCssClasses = function (css) {\n var classes = { page: {}, error: {}, pageTitle: \"\", pageDescription: \"\", row: \"\", rowMultiple: \"\", pageRow: \"\", rowCompact: \"\" };\n this.copyCssClasses(classes.page, css.page);\n this.copyCssClasses(classes.error, css.error);\n if (!!css.pageTitle) {\n classes.pageTitle = css.pageTitle;\n }\n if (!!css.pageDescription) {\n classes.pageDescription = css.pageDescription;\n }\n if (!!css.row) {\n classes.row = css.row;\n }\n if (!!css.pageRow) {\n classes.pageRow = css.pageRow;\n }\n if (!!css.rowMultiple) {\n classes.rowMultiple = css.rowMultiple;\n }\n if (!!css.rowCompact) {\n classes.rowCompact = css.rowCompact;\n }\n if (this.survey) {\n this.survey.updatePageCssClasses(this, classes);\n }\n return classes;\n };\n Object.defineProperty(PageModel.prototype, \"cssTitle\", {\n get: function () {\n if (!this.cssClasses.page)\n return \"\";\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__[\"CssClassBuilder\"]()\n .append(this.cssClasses.page.title)\n .toString();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"cssRoot\", {\n get: function () {\n if (!this.cssClasses.page || !this.survey)\n return \"\";\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__[\"CssClassBuilder\"]()\n .append(this.cssClasses.page.root)\n .append(this.cssClasses.page.emptyHeaderRoot, !this.survey.renderedHasHeader &&\n !(this.survey.isShowProgressBarOnTop && !this.survey.isStaring))\n .toString();\n },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.getCssError = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__[\"CssClassBuilder\"]()\n .append(_super.prototype.getCssError.call(this, cssClasses))\n .append(cssClasses.page.errorsContainer).toString();\n };\n Object.defineProperty(PageModel.prototype, \"navigationButtonsVisibility\", {\n /**\n * Set this property to \"hide\" to make \"Prev\", \"Next\" and \"Complete\" buttons are invisible for this page. Set this property to \"show\" to make these buttons visible, even if survey showNavigationButtons property is false.\n * @see SurveyMode.showNavigationButtons\n */\n get: function () {\n return this.getPropertyValue(\"navigationButtonsVisibility\");\n },\n set: function (val) {\n this.setPropertyValue(\"navigationButtonsVisibility\", val.toLowerCase());\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"isActive\", {\n /**\n * Returns `true` if this is the current page.\n * @see SurveyModel.currentPage\n */\n get: function () {\n return !!this.survey && this.survey.currentPage === this;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"wasShown\", {\n /**\n * Returns `true` if the respondent has already seen this page during the current session.\n */\n get: function () {\n return this.hasShownValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PageModel.prototype, \"hasShown\", {\n get: function () {\n return this.wasShown;\n },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.setWasShown = function (val) {\n if (val == this.hasShownValue)\n return;\n this.hasShownValue = val;\n if (this.isDesignMode || val !== true)\n return;\n var els = this.elements;\n for (var i = 0; i < els.length; i++) {\n if (els[i].isPanel) {\n els[i].randomizeElements(this.areQuestionsRandomized);\n }\n }\n this.randomizeElements(this.areQuestionsRandomized);\n };\n /**\n * Scrolls this page to the top.\n */\n PageModel.prototype.scrollToTop = function () {\n if (!!this.survey) {\n this.survey.scrollElementToTop(this, null, this, this.id);\n }\n };\n // public get timeSpent(): number {\n // return this.getPropertyValue(\"timeSpent\", 0);\n // }\n // public set timeSpent(val: number) {\n // this.setPropertyValue(\"timeSpent\", val);\n // }\n /**\n * Returns a list of all panels on this page.\n * @param visibleOnly A Boolean value that specifies whether to include only visible panels.\n * @param includingDesignTime For internal use.\n */\n PageModel.prototype.getAllPanels = function (visibleOnly, includingDesignTime) {\n if (visibleOnly === void 0) { visibleOnly = false; }\n if (includingDesignTime === void 0) { includingDesignTime = false; }\n var result = new Array();\n this.addPanelsIntoList(result, visibleOnly, includingDesignTime);\n return result;\n };\n PageModel.prototype.getPanels = function (visibleOnly, includingDesignTime) {\n if (visibleOnly === void 0) { visibleOnly = false; }\n if (includingDesignTime === void 0) { includingDesignTime = false; }\n return this.getAllPanels(visibleOnly, includingDesignTime);\n };\n Object.defineProperty(PageModel.prototype, \"maxTimeToFinish\", {\n /**\n * A time period that a respondent has to complete this page; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).\n *\n * A negative value or 0 sets an unlimited time period.\n *\n * Alternatively, you can use the `SurveyModel`'s [`maxTimeToFinishPage`](https://surveyjs.io/form-library/documentation/surveymodel#maxTimeToFinishPage) property to specify identical time periods for all survey pages.\n * @see timeSpent\n */\n get: function () {\n return this.getPropertyValue(\"maxTimeToFinish\", 0);\n },\n set: function (val) {\n this.setPropertyValue(\"maxTimeToFinish\", val);\n },\n enumerable: false,\n configurable: true\n });\n PageModel.prototype.onNumChanged = function (value) { };\n PageModel.prototype.onVisibleChanged = function () {\n if (this.isRandomizing)\n return;\n _super.prototype.onVisibleChanged.call(this);\n if (this.survey != null) {\n this.survey.pageVisibilityChanged(this, this.isVisible);\n }\n };\n PageModel.prototype.getDragDropInfo = function () { return this.dragDropPageHelper.getDragDropInfo(); };\n PageModel.prototype.dragDropStart = function (src, target, nestedPanelDepth) {\n if (nestedPanelDepth === void 0) { nestedPanelDepth = -1; }\n this.dragDropPageHelper.dragDropStart(src, target, nestedPanelDepth);\n };\n PageModel.prototype.dragDropMoveTo = function (destination, isBottom, isEdge) {\n if (isBottom === void 0) { isBottom = false; }\n if (isEdge === void 0) { isEdge = false; }\n return this.dragDropPageHelper.dragDropMoveTo(destination, isBottom, isEdge);\n };\n PageModel.prototype.dragDropFinish = function (isCancel) {\n if (isCancel === void 0) { isCancel = false; }\n return this.dragDropPageHelper.dragDropFinish(isCancel);\n };\n PageModel.prototype.ensureRowsVisibility = function () {\n _super.prototype.ensureRowsVisibility.call(this);\n this.getPanels().forEach(function (panel) { return panel.ensureRowsVisibility(); });\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: -1, onSet: function (val, target) { return target.onNumChanged(val); } })\n ], PageModel.prototype, \"num\", void 0);\n return PageModel;\n}(_panel__WEBPACK_IMPORTED_MODULE_1__[\"PanelModelBase\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"page\", [\n {\n name: \"navigationButtonsVisibility\",\n default: \"inherit\",\n choices: [\"inherit\", \"show\", \"hide\"],\n },\n { name: \"maxTimeToFinish:number\", default: 0, minValue: 0 },\n {\n name: \"navigationTitle\",\n visibleIf: function (obj) {\n return !!obj.survey && (obj.survey.progressBarType === \"buttons\" || obj.survey.showTOC);\n },\n serializationProperty: \"locNavigationTitle\",\n },\n {\n name: \"navigationDescription\",\n visibleIf: function (obj) {\n return !!obj.survey && obj.survey.progressBarType === \"buttons\";\n },\n serializationProperty: \"locNavigationDescription\",\n },\n { name: \"title:text\", serializationProperty: \"locTitle\" },\n { name: \"description:text\", serializationProperty: \"locDescription\" },\n], function () {\n return new PageModel();\n}, \"panelbase\");\n\n\n/***/ }),\n\n/***/ \"./src/panel.ts\":\n/*!**********************!*\\\n !*** ./src/panel.ts ***!\n \\**********************/\n/*! exports provided: QuestionRowModel, PanelModelBase, PanelModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"QuestionRowModel\", function() { return QuestionRowModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PanelModelBase\", function() { return PanelModelBase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PanelModel\", function() { return PanelModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _survey_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./survey-element */ \"./src/survey-element.ts\");\n/* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./question */ \"./src/question.ts\");\n/* harmony import */ var _questionfactory__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./questionfactory */ \"./src/questionfactory.ts\");\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./error */ \"./src/error.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _drag_drop_panel_helper_v1__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./drag-drop-panel-helper-v1 */ \"./src/drag-drop-panel-helper-v1.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar QuestionRowModel = /** @class */ (function (_super) {\n __extends(QuestionRowModel, _super);\n function QuestionRowModel(panel) {\n var _this = _super.call(this) || this;\n _this.panel = panel;\n _this._scrollableParent = undefined;\n _this._updateVisibility = undefined;\n _this.idValue = QuestionRowModel.getRowId();\n _this.visible = panel.areInvisibleElementsShowing;\n _this.createNewArray(\"elements\");\n _this.createNewArray(\"visibleElements\");\n return _this;\n }\n QuestionRowModel.getRowId = function () {\n return \"pr_\" + QuestionRowModel.rowCounter++;\n };\n QuestionRowModel.prototype.startLazyRendering = function (rowContainerDiv, findScrollableContainer) {\n var _this = this;\n if (findScrollableContainer === void 0) { findScrollableContainer = _utils_utils__WEBPACK_IMPORTED_MODULE_8__[\"findScrollableParent\"]; }\n this._scrollableParent = findScrollableContainer(rowContainerDiv);\n // if this._scrollableParent is html the scroll event isn't fired, so we should use window\n if (this._scrollableParent === document.documentElement) {\n this._scrollableParent = window;\n }\n var hasScroll = this._scrollableParent.scrollHeight > this._scrollableParent.clientHeight;\n this.isNeedRender = !hasScroll;\n if (hasScroll) {\n this._updateVisibility = function () {\n var isRowContainerDivVisible = Object(_utils_utils__WEBPACK_IMPORTED_MODULE_8__[\"isElementVisible\"])(rowContainerDiv, 50);\n if (!_this.isNeedRender && isRowContainerDivVisible) {\n _this.isNeedRender = true;\n _this.stopLazyRendering();\n }\n };\n setTimeout(function () {\n if (!!_this._scrollableParent &&\n !!_this._scrollableParent.addEventListener) {\n _this._scrollableParent.addEventListener(\"scroll\", _this._updateVisibility);\n }\n _this.ensureVisibility();\n }, 10);\n }\n };\n QuestionRowModel.prototype.ensureVisibility = function () {\n if (!!this._updateVisibility) {\n this._updateVisibility();\n }\n };\n QuestionRowModel.prototype.stopLazyRendering = function () {\n if (!!this._scrollableParent &&\n !!this._updateVisibility &&\n !!this._scrollableParent.removeEventListener) {\n this._scrollableParent.removeEventListener(\"scroll\", this._updateVisibility);\n }\n this._scrollableParent = undefined;\n this._updateVisibility = undefined;\n };\n QuestionRowModel.prototype.setIsLazyRendering = function (val) {\n this.isLazyRenderingValue = val;\n this.isNeedRender = !val;\n };\n QuestionRowModel.prototype.isLazyRendering = function () {\n return this.isLazyRenderingValue === true;\n };\n Object.defineProperty(QuestionRowModel.prototype, \"id\", {\n get: function () {\n return this.idValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionRowModel.prototype, \"elements\", {\n get: function () {\n return this.getPropertyValue(\"elements\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionRowModel.prototype, \"visibleElements\", {\n get: function () {\n return this.getPropertyValue(\"visibleElements\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionRowModel.prototype, \"visible\", {\n get: function () {\n return this.getPropertyValue(\"visible\", true);\n },\n set: function (val) {\n this.setPropertyValue(\"visible\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionRowModel.prototype, \"isNeedRender\", {\n get: function () {\n return this.getPropertyValue(\"isneedrender\", true);\n },\n set: function (val) {\n this.setPropertyValue(\"isneedrender\", val);\n },\n enumerable: false,\n configurable: true\n });\n QuestionRowModel.prototype.updateVisible = function () {\n var isVisible = this.calcVisible();\n this.setWidth();\n this.visible = isVisible;\n };\n QuestionRowModel.prototype.addElement = function (q) {\n this.elements.push(q);\n this.updateVisible();\n };\n Object.defineProperty(QuestionRowModel.prototype, \"index\", {\n get: function () {\n return this.panel.rows.indexOf(this);\n },\n enumerable: false,\n configurable: true\n });\n QuestionRowModel.prototype.setWidth = function () {\n var _a;\n var visCount = this.visibleElements.length;\n if (visCount == 0)\n return;\n var isSingleInRow = this.visibleElements.length === 1;\n var counter = 0;\n var preSetWidthElements = [];\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n if (el.isVisible) {\n el.isSingleInRow = isSingleInRow;\n var width = this.getElementWidth(el);\n if (!!width) {\n el.renderWidth = this.getRenderedWidthFromWidth(width);\n preSetWidthElements.push(el);\n }\n if (counter < visCount - 1 && !(this.panel.isDefaultV2Theme || ((_a = this.panel.parentQuestion) === null || _a === void 0 ? void 0 : _a.isDefaultV2Theme))) {\n el.rightIndent = 1;\n }\n else {\n el.rightIndent = 0;\n }\n counter++;\n }\n else {\n el.renderWidth = \"\";\n }\n }\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n if (!el.isVisible || preSetWidthElements.indexOf(el) > -1)\n continue;\n if (preSetWidthElements.length == 0) {\n el.renderWidth = Number.parseFloat((100 / visCount).toFixed(6)) + \"%\";\n }\n else {\n el.renderWidth = this.getRenderedCalcWidth(el, preSetWidthElements, visCount);\n }\n }\n };\n QuestionRowModel.prototype.getRenderedCalcWidth = function (el, preSetWidthElements, visCount) {\n var expression = \"100%\";\n for (var i = 0; i < preSetWidthElements.length; i++) {\n expression += \" - \" + preSetWidthElements[i].renderWidth;\n }\n var calcWidthEl = visCount - preSetWidthElements.length;\n if (calcWidthEl > 1) {\n expression = \"(\" + expression + \")/\" + calcWidthEl.toString();\n }\n return \"calc(\" + expression + \")\";\n };\n QuestionRowModel.prototype.getElementWidth = function (el) {\n var width = el.width;\n if (!width || typeof width !== \"string\")\n return \"\";\n return width.trim();\n };\n QuestionRowModel.prototype.getRenderedWidthFromWidth = function (width) {\n return _helpers__WEBPACK_IMPORTED_MODULE_1__[\"Helpers\"].isNumber(width) ? width + \"px\" : width;\n };\n QuestionRowModel.prototype.calcVisible = function () {\n var visElements = [];\n for (var i = 0; i < this.elements.length; i++) {\n if (this.elements[i].isVisible) {\n visElements.push(this.elements[i]);\n }\n }\n if (this.needToUpdateVisibleElements(visElements)) {\n this.setPropertyValue(\"visibleElements\", visElements);\n }\n return visElements.length > 0;\n };\n QuestionRowModel.prototype.needToUpdateVisibleElements = function (visElements) {\n if (visElements.length !== this.visibleElements.length)\n return true;\n for (var i = 0; i < visElements.length; i++) {\n if (visElements[i] !== this.visibleElements[i])\n return true;\n }\n return false;\n };\n QuestionRowModel.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n this.stopLazyRendering();\n };\n QuestionRowModel.prototype.getRowCss = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__[\"CssClassBuilder\"]()\n .append(this.panel.cssClasses.row)\n .append(this.panel.cssClasses.rowCompact, this.panel[\"isCompact\"])\n .append(this.panel.cssClasses.pageRow, this.panel.isPage || (!!this.panel.originalPage && !this.panel.survey.isShowingPreview))\n .append(this.panel.cssClasses.rowMultiple, this.visibleElements.length > 1)\n .toString();\n };\n QuestionRowModel.rowCounter = 100;\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: null })\n ], QuestionRowModel.prototype, \"dragTypeOverMe\", void 0);\n return QuestionRowModel;\n}(_base__WEBPACK_IMPORTED_MODULE_2__[\"Base\"]));\n\n/**\n * A base class for the [PanelModel](https://surveyjs.io/form-library/documentation/panelmodel) and [PageModel](https://surveyjs.io/form-library/documentation/pagemodel) classes.\n */\nvar PanelModelBase = /** @class */ (function (_super) {\n __extends(PanelModelBase, _super);\n function PanelModelBase(name) {\n if (name === void 0) { name = \"\"; }\n var _this = _super.call(this, name) || this;\n _this.isQuestionsReady = false;\n _this.questionsValue = new Array();\n _this.isRandomizing = false;\n _this.createNewArray(\"rows\");\n _this.elementsValue = _this.createNewArray(\"elements\", _this.onAddElement.bind(_this), _this.onRemoveElement.bind(_this));\n _this.id = PanelModelBase.getPanelId();\n _this.addExpressionProperty(\"visibleIf\", function (obj, res) { _this.visible = res === true; }, function (obj) { return !_this.areInvisibleElementsShowing; });\n _this.addExpressionProperty(\"enableIf\", function (obj, res) { _this.readOnly = res === false; });\n _this.addExpressionProperty(\"requiredIf\", function (obj, res) { _this.isRequired = res === true; });\n _this.createLocalizableString(\"requiredErrorText\", _this);\n _this.registerPropertyChangedHandlers([\"questionTitleLocation\"], function () {\n _this.onVisibleChanged.bind(_this);\n _this.updateElementCss(true);\n });\n _this.registerPropertyChangedHandlers([\"questionStartIndex\", \"showQuestionNumbers\"], function () {\n _this.updateVisibleIndexes();\n });\n _this.dragDropPanelHelper = new _drag_drop_panel_helper_v1__WEBPACK_IMPORTED_MODULE_10__[\"DragDropPanelHelperV1\"](_this);\n return _this;\n }\n PanelModelBase.getPanelId = function () {\n return \"sp_\" + PanelModelBase.panelCounter++;\n };\n PanelModelBase.prototype.getType = function () {\n return \"panelbase\";\n };\n PanelModelBase.prototype.setSurveyImpl = function (value, isLight) {\n _super.prototype.setSurveyImpl.call(this, value, isLight);\n if (this.isDesignMode)\n this.onVisibleChanged();\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].setSurveyImpl(value, isLight);\n }\n };\n PanelModelBase.prototype.endLoadingFromJson = function () {\n _super.prototype.endLoadingFromJson.call(this);\n this.updateDescriptionVisibility(this.description);\n this.markQuestionListDirty();\n this.onRowsChanged();\n };\n Object.defineProperty(PanelModelBase.prototype, \"hasTitle\", {\n get: function () {\n return ((this.canShowTitle() && this.locTitle.textOrHtml.length > 0) ||\n (this.isDesignMode && (this.showTitle && _settings__WEBPACK_IMPORTED_MODULE_7__[\"settings\"].designMode.showEmptyTitles)));\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.delete = function (doDispose) {\n if (doDispose === void 0) { doDispose = true; }\n this.removeFromParent();\n if (doDispose) {\n this.dispose();\n }\n };\n PanelModelBase.prototype.removeFromParent = function () { };\n PanelModelBase.prototype.canShowTitle = function () { return true; };\n Object.defineProperty(PanelModelBase.prototype, \"_showDescription\", {\n get: function () {\n if (!this.hasTitle && this.isDesignMode)\n return false;\n return this.survey && this.survey.showPageTitles && this.hasDescription ||\n (this.showDescription && this.isDesignMode &&\n _settings__WEBPACK_IMPORTED_MODULE_7__[\"settings\"].designMode.showEmptyDescriptions);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.localeChanged = function () {\n _super.prototype.localeChanged.call(this);\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].localeChanged();\n }\n };\n PanelModelBase.prototype.locStrsChanged = function () {\n _super.prototype.locStrsChanged.call(this);\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].locStrsChanged();\n }\n };\n Object.defineProperty(PanelModelBase.prototype, \"renderedNavigationTitle\", {\n get: function () {\n return this.title || this.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"requiredText\", {\n /**\n * Returns a character or text string that indicates a required panel/page.\n * @see SurveyModel.requiredText\n * @see isRequired\n */\n get: function () {\n return !!this.survey && this.isRequired\n ? this.survey.requiredText\n : \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"titlePattern\", {\n get: function () {\n return !!this.survey ? this.survey.questionTitlePattern : \"numTitleRequire\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"isRequireTextOnStart\", {\n get: function () {\n return this.isRequired && this.titlePattern == \"requireNumTitle\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"isRequireTextBeforeTitle\", {\n get: function () {\n return this.isRequired && this.titlePattern == \"numRequireTitle\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"isRequireTextAfterTitle\", {\n get: function () {\n return this.isRequired && this.titlePattern == \"numTitleRequire\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"requiredErrorText\", {\n /**\n * Specifies a custom error message for a required panel/page.\n * @see isRequired\n * @see requiredIf\n */\n get: function () {\n return this.getLocalizableStringText(\"requiredErrorText\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"requiredErrorText\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"locRequiredErrorText\", {\n get: function () {\n return this.getLocalizableString(\"requiredErrorText\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"questionsOrder\", {\n /**\n * Specifies the sort order of questions in the panel/page.\n *\n * Possible values:\n *\n * - `\"initial\"` - Preserves the original order of questions.\n * - `\"random\"` - Displays questions in random order.\n * - `\"default\"` (default) - Inherits the setting from the Survey's `questionsOrder` property.\n * @see SurveyModel.questionsOrder\n * @see areQuestionsRandomized\n */\n get: function () {\n return this.getPropertyValue(\"questionsOrder\");\n },\n set: function (val) {\n this.setPropertyValue(\"questionsOrder\", val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.canRandomize = function (isRandom) {\n return isRandom && (this.questionsOrder !== \"initial\") || this.questionsOrder === \"random\";\n };\n PanelModelBase.prototype.randomizeElements = function (isRandom) {\n if (!this.canRandomize(isRandom) || this.isRandomizing)\n return;\n this.isRandomizing = true;\n var oldElements = [];\n var elements = this.elements;\n for (var i = 0; i < elements.length; i++) {\n oldElements.push(elements[i]);\n }\n var newElements = _helpers__WEBPACK_IMPORTED_MODULE_1__[\"Helpers\"].randomizeArray(oldElements);\n this.setArrayPropertyDirectly(\"elements\", newElements, false);\n this.updateRows();\n this.updateVisibleIndexes();\n this.isRandomizing = false;\n };\n Object.defineProperty(PanelModelBase.prototype, \"areQuestionsRandomized\", {\n /**\n * Returns `true` if elements in this panel/page are arranged in random order.\n * @see questionsOrder\n */\n get: function () {\n var order = this.questionsOrder == \"default\" && this.survey\n ? this.survey.questionsOrder\n : this.questionsOrder;\n return order == \"random\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"parent\", {\n /**\n * Returns a survey element (panel or page) that contains this panel and allows you to move this question to a different survey element.\n *\n * This property is always `null` for the `PageModel` object.\n */\n get: function () {\n return this.getPropertyValue(\"parent\", null);\n },\n set: function (val) {\n this.setPropertyValue(\"parent\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"depth\", {\n get: function () {\n if (this.parent == null)\n return 0;\n return this.parent.depth + 1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"visibleIf\", {\n /**\n * A Boolean expression. If it evaluates to `false`, this panel/page becomes hidden.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility)\n * @see visible\n * @see isVisible\n */\n get: function () {\n return this.getPropertyValue(\"visibleIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"visibleIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.calcCssClasses = function (css) {\n var classes = { panel: {}, error: {}, row: \"\", rowMultiple: \"\", pageRow: \"\", rowCompact: \"\" };\n this.copyCssClasses(classes.panel, css.panel);\n this.copyCssClasses(classes.error, css.error);\n if (!!css.pageRow) {\n classes.pageRow = css.pageRow;\n }\n if (!!css.rowCompact) {\n classes.rowCompact = css.rowCompact;\n }\n if (!!css.row) {\n classes.row = css.row;\n }\n if (!!css.rowMultiple) {\n classes.rowMultiple = css.rowMultiple;\n }\n if (this.survey) {\n this.survey.updatePanelCssClasses(this, classes);\n }\n return classes;\n };\n Object.defineProperty(PanelModelBase.prototype, \"id\", {\n /**\n * An auto-generated unique element identifier.\n */\n get: function () {\n return this.getPropertyValue(\"id\");\n },\n set: function (val) {\n this.setPropertyValue(\"id\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"isPanel\", {\n /**\n * Returns `true` if the survey element is a panel.\n * @see Base.getType\n */\n get: function () {\n return false;\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getPanel = function () {\n return this;\n };\n PanelModelBase.prototype.getLayoutType = function () {\n return \"row\";\n };\n PanelModelBase.prototype.isLayoutTypeSupported = function (layoutType) {\n return layoutType !== \"flow\";\n };\n Object.defineProperty(PanelModelBase.prototype, \"questions\", {\n /**\n * An array of all questions within this panel/page. Includes questions within nested panels.\n * @see elements\n */\n get: function () {\n if (!this.isQuestionsReady) {\n this.questionsValue = [];\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n if (el.isPanel) {\n var qs = el.questions;\n for (var j = 0; j < qs.length; j++) {\n this.questionsValue.push(qs[j]);\n }\n }\n else {\n this.questionsValue.push(el);\n }\n }\n this.isQuestionsReady = true;\n }\n return this.questionsValue;\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getQuestions = function (includeNested) {\n var res = this.questions;\n if (!includeNested)\n return res;\n var res2 = [];\n res.forEach(function (q) {\n res2.push(q);\n q.getNestedQuestions().forEach(function (nQ) { return res2.push(nQ); });\n });\n return res2;\n };\n PanelModelBase.prototype.getValidName = function (name) {\n if (!!name)\n return name.trim();\n return name;\n };\n /**\n * Returns a question with a specified `name`. This method does not find questions within nested panels.\n * @param name A question name.\n */\n PanelModelBase.prototype.getQuestionByName = function (name) {\n var questions = this.questions;\n for (var i = 0; i < questions.length; i++) {\n if (questions[i].name == name)\n return questions[i];\n }\n return null;\n };\n /**\n * Returns a survey element with a specified `name`. This method can find survey elements within nested elements.\n * @param name An element name.\n */\n PanelModelBase.prototype.getElementByName = function (name) {\n var elements = this.elements;\n for (var i = 0; i < elements.length; i++) {\n var el = elements[i];\n if (el.name == name)\n return el;\n var pnl = el.getPanel();\n if (!!pnl) {\n var res = pnl.getElementByName(name);\n if (!!res)\n return res;\n }\n }\n return null;\n };\n PanelModelBase.prototype.getQuestionByValueName = function (valueName) {\n var questions = this.questions;\n for (var i = 0; i < questions.length; i++) {\n if (questions[i].getValueName() == valueName)\n return questions[i];\n }\n return null;\n };\n /**\n * Returns a JSON object with question values nested in the panel/page.\n * @see getDisplayValue\n */\n PanelModelBase.prototype.getValue = function () {\n var data = {};\n this.collectValues(data, 0);\n return data;\n };\n PanelModelBase.prototype.collectValues = function (data, level) {\n var elements = this.elements;\n if (level === 0) {\n elements = this.questions;\n }\n var hasValue = false;\n for (var i = 0; i < elements.length; i++) {\n var el = elements[i];\n if (el.isPanel || el.isPage) {\n var panelData = {};\n if (el.collectValues(panelData, level - 1)) {\n data[el.name] = panelData;\n hasValue = true;\n }\n }\n else {\n var q = el;\n if (!q.isEmpty()) {\n var valueName = q.getValueName();\n data[valueName] = q.value;\n if (!!this.data) {\n var comment = this.data.getComment(valueName);\n if (!!comment) {\n data[valueName + _base__WEBPACK_IMPORTED_MODULE_2__[\"Base\"].commentSuffix] = comment;\n }\n }\n }\n hasValue = true;\n }\n }\n return true;\n };\n /**\n * Returns a JSON object with display texts that correspond to question values nested in the panel/page.\n * @param keysAsText Pass `true` if not only values in the object should be display texts, but also keys. Default value: `false`.\n * @see getValue\n */\n PanelModelBase.prototype.getDisplayValue = function (keysAsText) {\n var data = {};\n var questions = this.questions;\n for (var i = 0; i < questions.length; i++) {\n var q = questions[i];\n if (q.isEmpty())\n continue;\n var valueName = keysAsText ? q.title : q.getValueName();\n data[valueName] = q.getDisplayValue(keysAsText);\n }\n return data;\n };\n /**\n * Returns a JSON object with comments left to questions within this panel/page. Question names are used as keys.\n */\n PanelModelBase.prototype.getComments = function () {\n var comments = {};\n if (!this.data)\n return comments;\n var questions = this.questions;\n for (var i = 0; i < questions.length; i++) {\n var q = questions[i];\n var comment = this.data.getComment(q.getValueName());\n if (!!comment) {\n comments[q.getValueName()] = comment;\n }\n }\n return comments;\n };\n /**\n * Removes values that cannot be assigned to nested questions, for example, choices unlisted in the `choices` array.\n *\n * Call this method after you assign new question values in code to ensure that they are acceptable.\n *\n * > This method does not remove values for invisible questions and values that fail validation. Call the `validate()` method to validate newly assigned values.\n *\n * @see validate\n */\n PanelModelBase.prototype.clearIncorrectValues = function () {\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].clearIncorrectValues();\n }\n };\n /**\n * Empties the `errors` array for this panel/page and all its child elements (panels and questions).\n * @see errors\n */\n PanelModelBase.prototype.clearErrors = function () {\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].clearErrors();\n }\n this.errors = [];\n };\n PanelModelBase.prototype.markQuestionListDirty = function () {\n this.isQuestionsReady = false;\n if (this.parent)\n this.parent.markQuestionListDirty();\n };\n Object.defineProperty(PanelModelBase.prototype, \"elements\", {\n /**\n * An array of all survey elements (questions or panels) within this panel/page. Does not include questions within nested panels.\n * @see questions\n */\n get: function () {\n return this.elementsValue;\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getElementsInDesign = function (includeHidden) {\n if (includeHidden === void 0) { includeHidden = false; }\n return this.elements;\n };\n /**\n * Checks whether a given element belongs to this panel/page or nested panels.\n * @param element A survey element to check.\n */\n PanelModelBase.prototype.containsElement = function (element) {\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n if (el == element)\n return true;\n var pnl = el.getPanel();\n if (!!pnl) {\n if (pnl.containsElement(element))\n return true;\n }\n }\n return false;\n };\n Object.defineProperty(PanelModelBase.prototype, \"isRequired\", {\n /**\n * Makes the panel/page require an answer at least in one nested question. If a respondent leaves the panel/page without any answers, the survey displays a validation error.\n * @see requiredIf\n * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)\n */\n get: function () {\n return this.getPropertyValue(\"isRequired\");\n },\n set: function (val) {\n this.setPropertyValue(\"isRequired\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"requiredIf\", {\n /**\n * A Boolean expression. If it evaluates to `true`, this panel/page becomes required (at least one question in the panel/page should have an answer).\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility)\n * @see isRequired\n */\n get: function () {\n return this.getPropertyValue(\"requiredIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"requiredIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.searchText = function (text, founded) {\n _super.prototype.searchText.call(this, text, founded);\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].searchText(text, founded);\n }\n };\n PanelModelBase.prototype.hasErrors = function (fireCallback, focusOnFirstError, rec) {\n if (fireCallback === void 0) { fireCallback = true; }\n if (focusOnFirstError === void 0) { focusOnFirstError = false; }\n if (rec === void 0) { rec = null; }\n return !this.validate(fireCallback, focusOnFirstError, rec);\n };\n /**\n * Validates questions within this panel or page and returns `false` if the validation fails.\n * @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.\n * @param focusOnFirstError *(Optional)* Pass `true` if you want to focus the first question with a validation error.\n * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)\n */\n PanelModelBase.prototype.validate = function (fireCallback, focusOnFirstError, rec) {\n if (fireCallback === void 0) { fireCallback = true; }\n if (focusOnFirstError === void 0) { focusOnFirstError = false; }\n if (rec === void 0) { rec = null; }\n rec = !!rec\n ? rec\n : {\n fireCallback: fireCallback,\n focuseOnFirstError: focusOnFirstError,\n firstErrorQuestion: null,\n result: false,\n };\n if (rec.result !== true)\n rec.result = false;\n this.hasErrorsCore(rec);\n if (rec.firstErrorQuestion) {\n rec.firstErrorQuestion.focus(true);\n }\n return !rec.result;\n };\n PanelModelBase.prototype.validateContainerOnly = function () {\n this.hasErrorsInPanels({ fireCallback: true });\n if (!!this.parent) {\n this.parent.validateContainerOnly();\n }\n };\n PanelModelBase.prototype.hasErrorsInPanels = function (rec) {\n var errors = [];\n this.hasRequiredError(rec, errors);\n if (this.survey) {\n var customError = this.survey.validatePanel(this);\n if (customError) {\n errors.push(customError);\n rec.result = true;\n }\n }\n if (!!rec.fireCallback) {\n if (!!this.survey) {\n this.survey.beforeSettingPanelErrors(this, errors);\n }\n this.errors = errors;\n }\n };\n //ISurveyErrorOwner\n PanelModelBase.prototype.getErrorCustomText = function (text, error) {\n if (!!this.survey)\n return this.survey.getSurveyErrorCustomText(this, text, error);\n return text;\n };\n PanelModelBase.prototype.hasRequiredError = function (rec, errors) {\n if (!this.isRequired)\n return;\n var visQuestions = [];\n this.addQuestionsToList(visQuestions, true);\n if (visQuestions.length == 0)\n return;\n for (var i = 0; i < visQuestions.length; i++) {\n if (!visQuestions[i].isEmpty())\n return;\n }\n rec.result = true;\n errors.push(new _error__WEBPACK_IMPORTED_MODULE_6__[\"OneAnswerRequiredError\"](this.requiredErrorText, this));\n if (rec.focuseOnFirstError && !rec.firstErrorQuestion) {\n rec.firstErrorQuestion = visQuestions[0];\n }\n };\n PanelModelBase.prototype.hasErrorsCore = function (rec) {\n var elements = this.elements;\n var element = null;\n for (var i = 0; i < elements.length; i++) {\n element = elements[i];\n if (!element.isVisible)\n continue;\n if (element.isPanel) {\n element.hasErrorsCore(rec);\n }\n else {\n var question = element;\n if (!question.validate(rec.fireCallback, rec)) {\n if (rec.focuseOnFirstError && rec.firstErrorQuestion == null) {\n rec.firstErrorQuestion = question;\n }\n rec.result = true;\n }\n }\n }\n this.hasErrorsInPanels(rec);\n this.updateContainsErrors();\n };\n PanelModelBase.prototype.getContainsErrors = function () {\n var res = _super.prototype.getContainsErrors.call(this);\n if (res)\n return res;\n var elements = this.elements;\n for (var i = 0; i < elements.length; i++) {\n if (elements[i].containsErrors)\n return true;\n }\n return false;\n };\n PanelModelBase.prototype.updateElementVisibility = function () {\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n el.setPropertyValue(\"isVisible\", el.isVisible);\n if (el.isPanel) {\n el.updateElementVisibility();\n }\n }\n };\n PanelModelBase.prototype.getFirstQuestionToFocus = function (withError, ignoreCollapseState) {\n if (withError === void 0) { withError = false; }\n if (ignoreCollapseState === void 0) { ignoreCollapseState = false; }\n if (!withError && !ignoreCollapseState && this.isCollapsed)\n return null;\n var elements = this.elements;\n for (var i = 0; i < elements.length; i++) {\n var el = elements[i];\n if (!el.isVisible || !ignoreCollapseState && el.isCollapsed)\n continue;\n if (el.isPanel) {\n var res = el.getFirstQuestionToFocus(withError, ignoreCollapseState);\n if (!!res)\n return res;\n }\n else {\n var q = el.getFirstQuestionToFocus(withError);\n if (!!q)\n return q;\n }\n }\n return null;\n };\n /**\n * Focuses the first question in this panel/page.\n * @see focusFirstErrorQuestion\n */\n PanelModelBase.prototype.focusFirstQuestion = function () {\n var q = this.getFirstQuestionToFocus();\n if (!!q) {\n q.focus();\n }\n };\n /**\n * Focuses the first question with a validation error in this panel/page.\n * @see validate\n * @see focusFirstQuestion\n */\n PanelModelBase.prototype.focusFirstErrorQuestion = function () {\n var q = this.getFirstQuestionToFocus(true);\n if (!!q) {\n q.focus();\n }\n };\n PanelModelBase.prototype.addQuestionsToList = function (list, visibleOnly, includingDesignTime) {\n if (visibleOnly === void 0) { visibleOnly = false; }\n if (includingDesignTime === void 0) { includingDesignTime = false; }\n this.addElementsToList(list, visibleOnly, includingDesignTime, false);\n };\n PanelModelBase.prototype.addPanelsIntoList = function (list, visibleOnly, includingDesignTime) {\n if (visibleOnly === void 0) { visibleOnly = false; }\n if (includingDesignTime === void 0) { includingDesignTime = false; }\n this.addElementsToList(list, visibleOnly, includingDesignTime, true);\n };\n PanelModelBase.prototype.addElementsToList = function (list, visibleOnly, includingDesignTime, isPanel) {\n if (visibleOnly && !this.visible)\n return;\n this.addElementsToListCore(list, this.elements, visibleOnly, includingDesignTime, isPanel);\n };\n PanelModelBase.prototype.addElementsToListCore = function (list, elements, visibleOnly, includingDesignTime, isPanel) {\n for (var i = 0; i < elements.length; i++) {\n var el = elements[i];\n if (visibleOnly && !el.visible)\n continue;\n if ((isPanel && el.isPanel) || (!isPanel && !el.isPanel)) {\n list.push(el);\n }\n if (el.isPanel) {\n el.addElementsToListCore(list, el.elements, visibleOnly, includingDesignTime, isPanel);\n }\n else {\n if (includingDesignTime) {\n this.addElementsToListCore(list, el.getElementsInDesign(false), visibleOnly, includingDesignTime, isPanel);\n }\n }\n }\n };\n PanelModelBase.prototype.updateCustomWidgets = function () {\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].updateCustomWidgets();\n }\n };\n Object.defineProperty(PanelModelBase.prototype, \"questionTitleLocation\", {\n /**\n * Sets a title location relative to the input field for questions that belong to this panel/page.\n *\n * Use this property to override the `questionTitleLocation` property specified for the survey. You can also set the `titleLocation` property for individual questions.\n *\n * Possible values:\n *\n * - `\"default\"` (default) - Inherits the setting from the `questionTitleLocation` property specified for the survey.\n * - `\"top\"` - Displays the title above the input field.\n * - `\"bottom\"` - Displays the title below the input field.\n * - `\"left\"` - Displays the title to the left of the input field.\n * - `\"hidden\"` - Hides the question title.\n *\n * > Certain question types (Matrix, Multiple Text) do not support the `\"left\"` value. For them, the `\"top\"` value is used.\n * @see SurveyModel.questionTitleLocation\n */\n get: function () {\n return this.getPropertyValue(\"questionTitleLocation\");\n },\n set: function (value) {\n this.setPropertyValue(\"questionTitleLocation\", value.toLowerCase());\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getQuestionTitleLocation = function () {\n if (this.onGetQuestionTitleLocation)\n return this.onGetQuestionTitleLocation();\n if (this.questionTitleLocation != \"default\")\n return this.questionTitleLocation;\n if (this.parent)\n return this.parent.getQuestionTitleLocation();\n return this.survey ? this.survey.questionTitleLocation : \"top\";\n };\n PanelModelBase.prototype.getStartIndex = function () {\n if (!!this.parent)\n return this.parent.getQuestionStartIndex();\n if (!!this.survey)\n return this.survey.questionStartIndex;\n return \"\";\n };\n PanelModelBase.prototype.getQuestionStartIndex = function () {\n return this.getStartIndex();\n };\n PanelModelBase.prototype.getChildrenLayoutType = function () {\n return \"row\";\n };\n PanelModelBase.prototype.getProgressInfo = function () {\n return _survey_element__WEBPACK_IMPORTED_MODULE_3__[\"SurveyElement\"].getProgressInfoByElements(this.elements, this.isRequired);\n };\n Object.defineProperty(PanelModelBase.prototype, \"root\", {\n get: function () {\n var res = this;\n while (res.parent)\n res = res.parent;\n return res;\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.childVisibilityChanged = function () {\n var newIsVisibleValue = this.getIsPageVisible(null);\n var oldIsVisibleValue = this.getPropertyValue(\"isVisible\", true);\n if (newIsVisibleValue !== oldIsVisibleValue) {\n this.onVisibleChanged();\n }\n };\n PanelModelBase.prototype.createRowAndSetLazy = function (index) {\n var row = this.createRow();\n row.setIsLazyRendering(this.isLazyRenderInRow(index));\n return row;\n };\n PanelModelBase.prototype.createRow = function () {\n return new QuestionRowModel(this);\n };\n PanelModelBase.prototype.onSurveyLoad = function () {\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].onSurveyLoad();\n }\n this.onElementVisibilityChanged(this);\n };\n PanelModelBase.prototype.onFirstRendering = function () {\n _super.prototype.onFirstRendering.call(this);\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].onFirstRendering();\n }\n this.onRowsChanged();\n };\n PanelModelBase.prototype.updateRows = function () {\n if (this.isLoadingFromJson)\n return;\n for (var i = 0; i < this.elements.length; i++) {\n if (this.elements[i].isPanel) {\n this.elements[i].updateRows();\n }\n }\n this.onRowsChanged();\n };\n Object.defineProperty(PanelModelBase.prototype, \"rows\", {\n get: function () {\n return this.getPropertyValue(\"rows\");\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.ensureRowsVisibility = function () {\n this.rows.forEach(function (row) {\n row.ensureVisibility();\n });\n };\n PanelModelBase.prototype.onRowsChanged = function () {\n if (this.isLoadingFromJson)\n return;\n this.setArrayPropertyDirectly(\"rows\", this.buildRows());\n };\n PanelModelBase.prototype.onAddElement = function (element, index) {\n var _this = this;\n element.setSurveyImpl(this.surveyImpl);\n element.parent = this;\n this.markQuestionListDirty();\n if (this.canBuildRows()) {\n var dragDropInfo = _settings__WEBPACK_IMPORTED_MODULE_7__[\"settings\"].supportCreatorV2 ? this.getDragDropInfo() : undefined;\n this.dragDropPanelHelper.updateRowsOnElementAdded(element, index, dragDropInfo, this);\n }\n if (element.isPanel) {\n var p = element;\n if (this.survey) {\n this.survey.panelAdded(p, index, this, this.root);\n }\n }\n else {\n if (this.survey) {\n var q = element;\n this.survey.questionAdded(q, index, this, this.root);\n }\n }\n if (!!this.addElementCallback)\n this.addElementCallback(element);\n var self = this;\n element.registerPropertyChangedHandlers([\"visible\", \"isVisible\"], function () {\n _this.onElementVisibilityChanged(element);\n }, this.id);\n element.registerPropertyChangedHandlers([\"startWithNewLine\"], function () {\n _this.onElementStartWithNewLineChanged(element);\n }, this.id);\n this.onElementVisibilityChanged(this);\n };\n PanelModelBase.prototype.onRemoveElement = function (element) {\n element.parent = null;\n this.markQuestionListDirty();\n element.unregisterPropertyChangedHandlers([\"visible\", \"isVisible\", \"startWithNewLine\"], this.id);\n this.updateRowsOnElementRemoved(element);\n if (this.isRandomizing)\n return;\n if (!element.isPanel) {\n if (this.survey)\n this.survey.questionRemoved(element);\n }\n else {\n if (this.survey)\n this.survey.panelRemoved(element);\n }\n if (!!this.removeElementCallback)\n this.removeElementCallback(element);\n this.onElementVisibilityChanged(this);\n };\n PanelModelBase.prototype.onElementVisibilityChanged = function (element) {\n if (this.isLoadingFromJson || this.isRandomizing)\n return;\n this.updateRowsVisibility(element);\n this.childVisibilityChanged();\n if (!!this.parent) {\n this.parent.onElementVisibilityChanged(this);\n }\n };\n PanelModelBase.prototype.onElementStartWithNewLineChanged = function (element) {\n this.onRowsChanged();\n };\n PanelModelBase.prototype.updateRowsVisibility = function (element) {\n var rows = this.rows;\n for (var i = 0; i < rows.length; i++) {\n var row = rows[i];\n if (row.elements.indexOf(element) > -1) {\n row.updateVisible();\n if (row.visible && !row.isNeedRender) {\n row.isNeedRender = true;\n }\n break;\n }\n }\n };\n PanelModelBase.prototype.canBuildRows = function () {\n return !this.isLoadingFromJson && this.getChildrenLayoutType() == \"row\";\n };\n PanelModelBase.prototype.buildRows = function () {\n if (!this.canBuildRows())\n return [];\n var result = new Array();\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n var isNewRow = i == 0 || el.startWithNewLine;\n var row = isNewRow ? this.createRowAndSetLazy(result.length) : result[result.length - 1];\n if (isNewRow)\n result.push(row);\n row.addElement(el);\n }\n for (var i = 0; i < result.length; i++) {\n result[i].updateVisible();\n }\n return result;\n };\n PanelModelBase.prototype.isLazyRenderInRow = function (rowIndex) {\n if (!this.survey || !this.survey.isLazyRendering)\n return false;\n return (rowIndex >= _settings__WEBPACK_IMPORTED_MODULE_7__[\"settings\"].lazyRender.firstBatchSize ||\n !this.canRenderFirstRows());\n };\n PanelModelBase.prototype.canRenderFirstRows = function () {\n return this.isPage;\n };\n PanelModelBase.prototype.getDragDropInfo = function () {\n var page = this.getPage(this.parent);\n return !!page ? page.getDragDropInfo() : undefined;\n };\n PanelModelBase.prototype.updateRowsOnElementRemoved = function (element) {\n if (!this.canBuildRows())\n return;\n this.updateRowsRemoveElementFromRow(element, this.findRowByElement(element));\n };\n PanelModelBase.prototype.updateRowsRemoveElementFromRow = function (element, row) {\n if (!row || !row.panel)\n return;\n var elIndex = row.elements.indexOf(element);\n if (elIndex < 0)\n return;\n row.elements.splice(elIndex, 1);\n if (row.elements.length > 0) {\n row.elements[0].startWithNewLine = true;\n row.updateVisible();\n }\n else {\n if (row.index >= 0) {\n row.panel.rows.splice(row.index, 1);\n }\n }\n };\n PanelModelBase.prototype.findRowByElement = function (el) {\n var rows = this.rows;\n for (var i = 0; i < rows.length; i++) {\n if (rows[i].elements.indexOf(el) > -1)\n return rows[i];\n }\n return null;\n };\n PanelModelBase.prototype.elementWidthChanged = function (el) {\n if (this.isLoadingFromJson)\n return;\n var row = this.findRowByElement(el);\n if (!!row) {\n row.updateVisible();\n }\n };\n Object.defineProperty(PanelModelBase.prototype, \"processedTitle\", {\n get: function () {\n return this.getRenderedTitle(this.locTitle.textOrHtml);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getRenderedTitle = function (str) {\n return this.textProcessor != null\n ? this.textProcessor.processText(str, true)\n : str;\n };\n Object.defineProperty(PanelModelBase.prototype, \"visible\", {\n /**\n * Gets or sets panel/page visibility.\n *\n * If you want to display or hide a survey element based on a condition, specify the `visibleIf` property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see visibleIf\n * @see isVisible\n */\n get: function () {\n return this.getPropertyValue(\"visible\", true);\n },\n set: function (value) {\n if (value === this.visible)\n return;\n this.setPropertyValue(\"visible\", value);\n this.setPropertyValue(\"isVisible\", this.isVisible);\n if (!this.isLoadingFromJson)\n this.onVisibleChanged();\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.onHidingContent = function () {\n this.questions.forEach(function (q) { return q.onHidingContent(); });\n };\n PanelModelBase.prototype.onVisibleChanged = function () {\n if (this.isRandomizing)\n return;\n this.setPropertyValue(\"isVisible\", this.isVisible);\n if (!!this.survey && this.survey.getQuestionClearIfInvisible(\"default\") !== \"none\" &&\n !this.isLoadingFromJson) {\n var questions = this.questions;\n var isVisible = this.isVisible;\n for (var i = 0; i < questions.length; i++) {\n var q = questions[i];\n if (!isVisible) {\n q.clearValueIfInvisible(\"onHiddenContainer\");\n q.onHidingContent();\n }\n else {\n q.updateValueWithDefaults();\n }\n }\n }\n };\n PanelModelBase.prototype.notifyStateChanged = function (prevState) {\n var _this = this;\n _super.prototype.notifyStateChanged.call(this, prevState);\n if (this.isCollapsed) {\n this.questions.forEach(function (q) { return q.onHidingContent(); });\n }\n if (this.survey != null && !this.isLoadingFromJson && this.isExpanded && prevState === \"collapsed\") {\n var q_1 = this.getFirstQuestionToFocus(false);\n if (!!q_1) {\n setTimeout(function () {\n if (!_this.isDisposed && !!_this.survey) {\n _this.survey.scrollElementToTop(q_1, q_1, null, q_1.inputId, false);\n }\n }, 15);\n }\n }\n };\n Object.defineProperty(PanelModelBase.prototype, \"isVisible\", {\n /**\n * Returns `true` if the panel/page is visible or the survey is currently in design mode.\n *\n * If you want to display or hide a question based on a condition, specify the `visibleIf` property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see visibleIf\n * @see visible\n */\n get: function () {\n return this.areInvisibleElementsShowing || this.getIsPageVisible(null);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getIsPageVisible = function (exceptionQuestion) {\n if (!this.visible)\n return false;\n for (var i = 0; i < this.elements.length; i++) {\n if (this.elements[i] == exceptionQuestion)\n continue;\n if (this.elements[i].isVisible)\n return true;\n }\n return false;\n };\n PanelModelBase.prototype.setVisibleIndex = function (index) {\n if (!this.isVisible || index < 0) {\n this.resetVisibleIndexes();\n return 0;\n }\n this.lastVisibleIndex = index;\n var startIndex = index;\n index += this.beforeSetVisibleIndex(index);\n var panelStartIndex = this.getPanelStartIndex(index);\n var panelIndex = panelStartIndex;\n for (var i = 0; i < this.elements.length; i++) {\n panelIndex += this.elements[i].setVisibleIndex(panelIndex);\n }\n if (this.isContinueNumbering()) {\n index += panelIndex - panelStartIndex;\n }\n return index - startIndex;\n };\n PanelModelBase.prototype.updateVisibleIndexes = function () {\n if (this.lastVisibleIndex === undefined)\n return;\n this.resetVisibleIndexes();\n this.setVisibleIndex(this.lastVisibleIndex);\n };\n PanelModelBase.prototype.resetVisibleIndexes = function () {\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].setVisibleIndex(-1);\n }\n };\n PanelModelBase.prototype.beforeSetVisibleIndex = function (index) {\n return 0;\n };\n PanelModelBase.prototype.getPanelStartIndex = function (index) {\n return index;\n };\n PanelModelBase.prototype.isContinueNumbering = function () {\n return true;\n };\n Object.defineProperty(PanelModelBase.prototype, \"isReadOnly\", {\n get: function () {\n var isParentReadOnly = !!this.parent && this.parent.isReadOnly;\n var isSurveyReadOnly = !!this.survey && this.survey.isDisplayMode;\n return this.readOnly || isParentReadOnly || isSurveyReadOnly;\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.onReadOnlyChanged = function () {\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n el.setPropertyValue(\"isReadOnly\", el.isReadOnly);\n }\n _super.prototype.onReadOnlyChanged.call(this);\n };\n PanelModelBase.prototype.updateElementCss = function (reNew) {\n _super.prototype.updateElementCss.call(this, reNew);\n for (var i = 0; i < this.elements.length; i++) {\n var el = this.elements[i];\n el.updateElementCss(reNew);\n }\n };\n Object.defineProperty(PanelModelBase.prototype, \"enableIf\", {\n /**\n * A Boolean expression. If it evaluates to `false`, this panel/page becomes read-only.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility)\n * @see readOnly\n * @see isReadOnly\n */\n get: function () {\n return this.getPropertyValue(\"enableIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"enableIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Adds a survey element (question or panel) to this panel/page. Returns `true` if the element was added successfully; `false` otherwise.\n * @param element A survey element to add.\n * @param index A desired index of this element in the `elements` array.\n * @see addNewQuestion\n * @see addNewPanel\n */\n PanelModelBase.prototype.addElement = function (element, index) {\n if (index === void 0) { index = -1; }\n if (!this.canAddElement(element))\n return false;\n if (index < 0 || index >= this.elements.length) {\n this.elements.push(element);\n }\n else {\n this.elements.splice(index, 0, element);\n }\n return true;\n };\n PanelModelBase.prototype.insertElementAfter = function (element, after) {\n var index = this.elements.indexOf(after);\n if (index >= 0)\n this.addElement(element, index + 1);\n };\n PanelModelBase.prototype.insertElementBefore = function (element, before) {\n var index = this.elements.indexOf(before);\n if (index >= 0)\n this.addElement(element, index);\n };\n PanelModelBase.prototype.canAddElement = function (element) {\n return (!!element && element.isLayoutTypeSupported(this.getChildrenLayoutType()));\n };\n PanelModelBase.prototype.addQuestion = function (question, index) {\n if (index === void 0) { index = -1; }\n return this.addElement(question, index);\n };\n PanelModelBase.prototype.addPanel = function (panel, index) {\n if (index === void 0) { index = -1; }\n return this.addElement(panel, index);\n };\n /**\n * Creates a new question of a given type and adds it to the `elements` array at a specified index.\n *\n * This method returns `null` if the question cannot be created or added to this panel/page; otherwise, the method returns the created question.\n *\n * @param questionType A [question type](https://surveyjs.io/form-library/documentation/question#getType).\n * @param name A question name.\n * @param index A desired index of the new question in the `elements` array.\n * @see elements\n * @see addElement\n */\n PanelModelBase.prototype.addNewQuestion = function (questionType, name, index) {\n if (name === void 0) { name = null; }\n if (index === void 0) { index = -1; }\n var question = _questionfactory__WEBPACK_IMPORTED_MODULE_5__[\"QuestionFactory\"].Instance.createQuestion(questionType, name);\n if (!this.addQuestion(question, index))\n return null;\n return question;\n };\n /**\n * Creates a new panel and adds it to the end of the `elements` array.\n *\n * This method returns `null` if the panel cannot be created or added to this panel/page; otherwise, the method returns the created panel.\n * @param name A panel name.\n * @see elements\n * @see addElement\n */\n PanelModelBase.prototype.addNewPanel = function (name) {\n if (name === void 0) { name = null; }\n var panel = this.createNewPanel(name);\n if (!this.addPanel(panel))\n return null;\n return panel;\n };\n PanelModelBase.prototype.indexOf = function (element) {\n return this.elements.indexOf(element);\n };\n PanelModelBase.prototype.createNewPanel = function (name) {\n var res = _jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].createClass(\"panel\");\n res.name = name;\n return res;\n };\n /**\n * Deletes a survey element (question or panel) from this panel/page. Returns `true` if the element was deleted successfully; `false` otherwise.\n * @param element A survey element to delete.\n * @see elements\n */\n PanelModelBase.prototype.removeElement = function (element) {\n var index = this.elements.indexOf(element);\n if (index < 0) {\n for (var i = 0; i < this.elements.length; i++) {\n if (this.elements[i].removeElement(element))\n return true;\n }\n return false;\n }\n this.elements.splice(index, 1);\n return true;\n };\n PanelModelBase.prototype.removeQuestion = function (question) {\n this.removeElement(question);\n };\n PanelModelBase.prototype.runCondition = function (values, properties) {\n if (this.isDesignMode || this.isLoadingFromJson)\n return;\n var elements = this.elements.slice();\n for (var i = 0; i < elements.length; i++) {\n elements[i].runCondition(values, properties);\n }\n this.runConditionCore(values, properties);\n };\n PanelModelBase.prototype.onAnyValueChanged = function (name, questionName) {\n var els = this.elements;\n for (var i = 0; i < els.length; i++) {\n els[i].onAnyValueChanged(name, questionName);\n }\n };\n PanelModelBase.prototype.checkBindings = function (valueName, value) {\n var els = this.elements;\n for (var i = 0; i < els.length; i++) {\n els[i].checkBindings(valueName, value);\n }\n };\n PanelModelBase.prototype.dragDropAddTarget = function (dragDropInfo) {\n this.dragDropPanelHelper.dragDropAddTarget(dragDropInfo);\n };\n PanelModelBase.prototype.dragDropFindRow = function (findElement) {\n return this.dragDropPanelHelper.dragDropFindRow(findElement);\n };\n PanelModelBase.prototype.dragDropMoveElement = function (src, target, targetIndex) {\n this.dragDropPanelHelper.dragDropMoveElement(src, target, targetIndex);\n };\n PanelModelBase.prototype.needResponsiveWidth = function () {\n var result = false;\n this.elements.forEach(function (e) {\n if (e.needResponsiveWidth())\n result = true;\n });\n this.rows.forEach(function (r) {\n if (r.elements.length > 1)\n result = true;\n });\n return result;\n };\n Object.defineProperty(PanelModelBase.prototype, \"hasDescriptionUnderTitle\", {\n get: function () {\n return this.hasDescription;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"cssHeader\", {\n get: function () {\n return this.cssClasses.panel.header;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"cssDescription\", {\n get: function () {\n return this.cssClasses.panel.description;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"questionErrorLocation\", {\n /**\n * Specifies the error message position for questions that belong to this page/panel.\n *\n * Use this property to override the [`questionErrorLocation`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionErrorLocation) property specified for the survey. You can also set the [`errorLocation`](https://surveyjs.io/form-library/documentation/question#errorLocation) property for individual questions.\n *\n * Possible values:\n *\n * - `\"default\"` (default) - Inherits the setting from the `questionErrorLocation` property specified for the survey.\n * - `\"top\"` - Displays error messages above questions.\n * - `\"bottom\"` - Displays error messages below questions.\n */\n get: function () {\n return this.getPropertyValue(\"questionErrorLocation\");\n },\n set: function (val) {\n this.setPropertyValue(\"questionErrorLocation\", val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getQuestionErrorLocation = function () {\n if (this.questionErrorLocation !== \"default\")\n return this.questionErrorLocation;\n if (this.parent)\n return this.parent.getQuestionErrorLocation();\n return this.survey ? this.survey.questionErrorLocation : \"top\";\n };\n Object.defineProperty(PanelModelBase.prototype, \"no\", {\n //ITitleOwner\n get: function () { return \"\"; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModelBase.prototype, \"cssError\", {\n get: function () {\n return this.getCssError(this.cssClasses);\n },\n enumerable: false,\n configurable: true\n });\n PanelModelBase.prototype.getCssError = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__[\"CssClassBuilder\"]().append(cssClasses.error.root).toString();\n };\n PanelModelBase.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n if (this.rows) {\n for (var i = 0; i < this.rows.length; i++) {\n this.rows[i].dispose();\n }\n this.rows.splice(0, this.rows.length);\n }\n for (var i = 0; i < this.elements.length; i++) {\n this.elements[i].dispose();\n }\n this.elements.splice(0, this.elements.length);\n };\n PanelModelBase.panelCounter = 100;\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: true })\n ], PanelModelBase.prototype, \"showTitle\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: true })\n ], PanelModelBase.prototype, \"showDescription\", void 0);\n return PanelModelBase;\n}(_survey_element__WEBPACK_IMPORTED_MODULE_3__[\"SurveyElement\"]));\n\n/**\n * A class that describes the Panel container element.\n *\n * A panel can contain questions and other panels. Refer to the following help topic for an illustration: [Survey Structure](https://surveyjs.io/form-library/documentation/design-survey-create-a-simple-survey#survey-structure).\n *\n * [View Demo](https://surveyjs.io/form-library/examples/questiontype-panel/ (linkStyle))\n */\nvar PanelModel = /** @class */ (function (_super) {\n __extends(PanelModel, _super);\n function PanelModel(name) {\n if (name === void 0) { name = \"\"; }\n var _this = _super.call(this, name) || this;\n _this.createNewArray(\"footerActions\");\n _this.registerPropertyChangedHandlers([\"width\"], function () {\n if (!!_this.parent) {\n _this.parent.elementWidthChanged(_this);\n }\n });\n _this.registerPropertyChangedHandlers([\"indent\", \"innerIndent\", \"rightIndent\"], function () { _this.onIndentChanged(); });\n return _this;\n }\n PanelModel.prototype.getType = function () {\n return \"panel\";\n };\n Object.defineProperty(PanelModel.prototype, \"contentId\", {\n get: function () {\n return this.id + \"_content\";\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.getSurvey = function (live) {\n if (live === void 0) { live = false; }\n if (live) {\n return !!this.parent ? this.parent.getSurvey(live) : null;\n }\n return _super.prototype.getSurvey.call(this, live);\n };\n PanelModel.prototype.onSurveyLoad = function () {\n _super.prototype.onSurveyLoad.call(this);\n this.onIndentChanged();\n };\n PanelModel.prototype.onSetData = function () {\n _super.prototype.onSetData.call(this);\n this.onIndentChanged();\n };\n Object.defineProperty(PanelModel.prototype, \"isPanel\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModel.prototype, \"page\", {\n /**\n * Returns a page to which the panel belongs and allows you to move this panel to a different page.\n * @see PanelModelBase.parent\n */\n get: function () {\n return this.getPage(this.parent);\n },\n set: function (val) {\n this.setPage(this.parent, val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.removeFromParent = function () {\n if (!!this.parent) {\n this.removeSelfFromList(this.parent.elements);\n }\n };\n PanelModel.prototype.moveTo = function (container, insertBefore) {\n if (insertBefore === void 0) { insertBefore = null; }\n return this.moveToBase(this.parent, container, insertBefore);\n };\n Object.defineProperty(PanelModel.prototype, \"visibleIndex\", {\n /**\n * Returns the visible index of the panel in the survey. Commonly it is -1 and it doesn't show.\n * You have to set showNumber to true to show index/numbering for the Panel\n * @see showNumber\n */\n get: function () {\n return this.getPropertyValue(\"visibleIndex\", -1);\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.getTitleOwner = function () { return this; };\n Object.defineProperty(PanelModel.prototype, \"showNumber\", {\n /**\n * Specifies whether to show the panel number in the title.\n *\n * Default value: `false`\n * @see SurveyModel.showQuestionNumbers\n * @see SurveyModel.questionTitlePattern\n */\n get: function () {\n return this.getPropertyValue(\"showNumber\");\n },\n set: function (val) {\n this.setPropertyValue(\"showNumber\", val);\n this.notifySurveyOnVisibilityChanged();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModel.prototype, \"showQuestionNumbers\", {\n /**\n * Gets or sets a value that specifies how the elements numbers inside panel are displayed.\n *\n * The following options are available:\n *\n * - `default` - display questions numbers as defined in parent panel or survey\n * - `onpanel` - display questions numbers, start numbering from beginning of this page\n * - `off` - turn off the numbering for questions titles\n * @see showNumber\n */\n get: function () {\n return this.getPropertyValue(\"showQuestionNumbers\");\n },\n set: function (value) {\n this.setPropertyValue(\"showQuestionNumbers\", value);\n this.notifySurveyOnVisibilityChanged();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModel.prototype, \"questionStartIndex\", {\n /**\n * Specifies a number or letter used to start numbering of elements inside the panel.\n *\n * You can include desired prefixes and postfixes alongside the number or letter:\n *\n * ```js\n * \"questionStartIndex\": \"a.\", // a., b., c., ...\n * \"questionStartIndex\": \"#3\", // #3, #4, #5, ...\n * \"questionStartIndex\": \"(B).\" // (B)., (C)., (D)., ...\n * ```\n * Default value: `\"1.\"` (inherited from `SurveyModel`'s `questionStartIndex` property)\n * @see SurveyModel.questionStartIndex\n * @see showQuestionNumbers\n */\n get: function () {\n return this.getPropertyValue(\"questionStartIndex\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"questionStartIndex\", val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.getQuestionStartIndex = function () {\n if (!!this.questionStartIndex)\n return this.questionStartIndex;\n return _super.prototype.getQuestionStartIndex.call(this);\n };\n Object.defineProperty(PanelModel.prototype, \"no\", {\n /**\n * A question number or letter (depends on the `questionStartIndex` property).\n *\n * When the question number, title, or the entire question is invisible, this property returns an empty string.\n * @see questionStartIndex\n * @see showNumber\n * @see visibleIf\n */\n get: function () {\n return this.getPropertyValue(\"no\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.setNo = function (visibleIndex) {\n this.setPropertyValue(\"no\", _helpers__WEBPACK_IMPORTED_MODULE_1__[\"Helpers\"].getNumberByIndex(this.visibleIndex, this.getStartIndex()));\n };\n PanelModel.prototype.notifyStateChanged = function (prevState) {\n if (!this.isLoadingFromJson) {\n this.locTitle.strChanged();\n }\n _super.prototype.notifyStateChanged.call(this, prevState);\n };\n PanelModel.prototype.createLocTitleProperty = function () {\n var _this = this;\n var locTitleValue = _super.prototype.createLocTitleProperty.call(this);\n locTitleValue.onGetTextCallback = function (text) {\n if (!text && (_this.state !== \"default\")) {\n text = _this.name;\n }\n return text;\n };\n return locTitleValue;\n };\n PanelModel.prototype.beforeSetVisibleIndex = function (index) {\n var visibleIndex = -1;\n if (this.showNumber && (this.isDesignMode || !this.locTitle.isEmpty)) {\n visibleIndex = index;\n }\n this.setPropertyValue(\"visibleIndex\", visibleIndex);\n this.setNo(visibleIndex);\n return visibleIndex < 0 ? 0 : 1;\n };\n PanelModel.prototype.getPanelStartIndex = function (index) {\n if (this.showQuestionNumbers == \"off\")\n return -1;\n if (this.showQuestionNumbers == \"onpanel\")\n return 0;\n return index;\n };\n PanelModel.prototype.isContinueNumbering = function () {\n return (this.showQuestionNumbers != \"off\" && this.showQuestionNumbers != \"onpanel\");\n };\n PanelModel.prototype.notifySurveyOnVisibilityChanged = function () {\n if (this.survey != null && !this.isLoadingFromJson) {\n this.survey.panelVisibilityChanged(this, this.isVisible);\n }\n };\n PanelModel.prototype.hasErrorsCore = function (rec) {\n _super.prototype.hasErrorsCore.call(this, rec);\n if (this.isCollapsed && rec.result && rec.fireCallback) {\n this.expand();\n }\n };\n PanelModel.prototype.getRenderedTitle = function (str) {\n if (!str) {\n if (this.isCollapsed || this.isExpanded)\n return this.name;\n if (this.isDesignMode)\n return \"[\" + this.name + \"]\";\n }\n return _super.prototype.getRenderedTitle.call(this, str);\n };\n Object.defineProperty(PanelModel.prototype, \"innerIndent\", {\n /**\n * Increases or decreases an indent of panel content from the left edge. Accepts positive integer values and 0.\n */\n get: function () {\n return this.getPropertyValue(\"innerIndent\");\n },\n set: function (val) {\n this.setPropertyValue(\"innerIndent\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModel.prototype, \"startWithNewLine\", {\n /**\n * Disable this property if you want to render the current panel on the same line or row with the previous question or panel.\n */\n get: function () {\n return this.getPropertyValue(\"startWithNewLine\");\n },\n set: function (value) {\n this.setPropertyValue(\"startWithNewLine\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModel.prototype, \"allowAdaptiveActions\", {\n get: function () {\n return this.getPropertyValue(\"allowAdaptiveActions\");\n },\n set: function (val) {\n this.setPropertyValue(\"allowAdaptiveActions\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModel.prototype, \"innerPaddingLeft\", {\n get: function () {\n return this.getPropertyValue(\"innerPaddingLeft\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"innerPaddingLeft\", val);\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.onIndentChanged = function () {\n if (!this.getSurvey())\n return;\n this.innerPaddingLeft = this.getIndentSize(this.innerIndent);\n this.paddingLeft = this.getIndentSize(this.indent);\n this.paddingRight = this.getIndentSize(this.rightIndent);\n };\n PanelModel.prototype.getIndentSize = function (indent) {\n if (indent < 1)\n return \"\";\n var css = this.survey[\"css\"];\n if (!css || !css.question.indent)\n return \"\";\n return indent * css.question.indent + \"px\";\n };\n PanelModel.prototype.clearOnDeletingContainer = function () {\n this.elements.forEach(function (element) {\n if (element instanceof _question__WEBPACK_IMPORTED_MODULE_4__[\"Question\"] || element instanceof PanelModel) {\n element.clearOnDeletingContainer();\n }\n });\n };\n Object.defineProperty(PanelModel.prototype, \"footerActions\", {\n get: function () {\n return this.getPropertyValue(\"footerActions\");\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.getFooterToolbar = function () {\n var _this = this;\n var _a, _b;\n if (!this.footerToolbarValue) {\n var actions = this.footerActions;\n if (this.hasEditButton) {\n actions.push({\n id: \"cancel-preview\",\n locTitle: this.survey.locEditText,\n innerCss: this.survey.cssNavigationEdit,\n action: function () { _this.cancelPreview(); }\n });\n }\n if (!!this.onGetFooterActionsCallback) {\n actions = this.onGetFooterActionsCallback();\n }\n else {\n actions = (_a = this.survey) === null || _a === void 0 ? void 0 : _a.getUpdatedPanelFooterActions(this, actions);\n }\n this.footerToolbarValue = this.createActionContainer(this.allowAdaptiveActions);\n var footerCss = this.onGetFooterToolbarCssCallback ? this.onGetFooterToolbarCssCallback() : \"\";\n if (!footerCss) {\n footerCss = (_b = this.cssClasses.panel) === null || _b === void 0 ? void 0 : _b.footer;\n }\n if (footerCss) {\n this.footerToolbarValue.containerCss = footerCss;\n }\n this.footerToolbarValue.setItems(actions);\n }\n return this.footerToolbarValue;\n };\n Object.defineProperty(PanelModel.prototype, \"hasEditButton\", {\n get: function () {\n if (this.survey && this.survey.state === \"preview\")\n return this.depth === 1;\n return false;\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.cancelPreview = function () {\n if (!this.hasEditButton)\n return;\n this.survey.cancelPreviewByPage(this);\n };\n Object.defineProperty(PanelModel.prototype, \"cssTitle\", {\n get: function () {\n return this.getCssTitle(this.cssClasses.panel);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PanelModel.prototype, \"showErrorsAbovePanel\", {\n get: function () {\n return this.isDefaultV2Theme && !this.showPanelAsPage;\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.getCssError = function (cssClasses) {\n var builder = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__[\"CssClassBuilder\"]()\n .append(_super.prototype.getCssError.call(this, cssClasses))\n .append(cssClasses.panel.errorsContainer);\n return builder.append(\"panel-error-root\", builder.isEmpty()).toString();\n };\n PanelModel.prototype.onVisibleChanged = function () {\n _super.prototype.onVisibleChanged.call(this);\n this.notifySurveyOnVisibilityChanged();\n };\n PanelModel.prototype.needResponsiveWidth = function () {\n if (!this.startWithNewLine) {\n return true;\n }\n else {\n return _super.prototype.needResponsiveWidth.call(this);\n }\n };\n PanelModel.prototype.focusIn = function () {\n if (!this.survey)\n return;\n this.survey.whenPanelFocusIn(this);\n };\n PanelModel.prototype.getHasFrameV2 = function () {\n return _super.prototype.getHasFrameV2.call(this) && !this.showPanelAsPage;\n };\n PanelModel.prototype.getIsNested = function () {\n return _super.prototype.getIsNested.call(this) && this.parent !== undefined;\n };\n Object.defineProperty(PanelModel.prototype, \"showPanelAsPage\", {\n get: function () {\n return !!this.originalPage && !this.survey.isShowingPreview;\n },\n enumerable: false,\n configurable: true\n });\n PanelModel.prototype.getCssRoot = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_9__[\"CssClassBuilder\"]()\n .append(_super.prototype.getCssRoot.call(this, cssClasses))\n .append(cssClasses.container)\n .append(cssClasses.asPage, this.showPanelAsPage)\n .append(cssClasses.invisible, !this.isDesignMode && this.areInvisibleElementsShowing && !this.visible)\n .toString();\n };\n PanelModel.prototype.getContainerCss = function () {\n return this.getCssRoot(this.cssClasses.panel);\n };\n return PanelModel;\n}(PanelModelBase));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"panelbase\", [\n \"name\",\n {\n name: \"elements\",\n alternativeName: \"questions\",\n baseClassName: \"question\",\n visible: false,\n isLightSerializable: false,\n },\n { name: \"visible:switch\", default: true, overridingProperty: \"visibleIf\" },\n { name: \"readOnly:boolean\", overridingProperty: \"enableIf\" },\n \"visibleIf:condition\",\n \"enableIf:condition\",\n \"requiredIf:condition\",\n {\n name: \"questionTitleLocation\",\n default: \"default\",\n choices: [\"default\", \"top\", \"bottom\", \"left\", \"hidden\"],\n },\n { name: \"title:text\", serializationProperty: \"locTitle\" },\n { name: \"description:text\", serializationProperty: \"locDescription\" },\n {\n name: \"questionsOrder\",\n default: \"default\",\n choices: [\"default\", \"initial\", \"random\"],\n },\n { name: \"questionErrorLocation\", default: \"default\", choices: [\"default\", \"top\", \"bottom\"] }\n], function () {\n return new PanelModelBase();\n});\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"panel\", [\n {\n name: \"state\",\n default: \"default\",\n choices: [\"default\", \"collapsed\", \"expanded\"],\n },\n { name: \"isRequired:switch\", overridingProperty: \"requiredIf\" },\n {\n name: \"requiredErrorText:text\",\n serializationProperty: \"locRequiredErrorText\",\n },\n { name: \"startWithNewLine:boolean\", default: true },\n \"width\",\n { name: \"minWidth\", defaultFunc: function () { return \"auto\"; } },\n { name: \"maxWidth\", defaultFunc: function () { return _settings__WEBPACK_IMPORTED_MODULE_7__[\"settings\"].maxWidth; } },\n { name: \"innerIndent:number\", default: 0, choices: [0, 1, 2, 3] },\n { name: \"indent:number\", default: 0, choices: [0, 1, 2, 3] },\n {\n name: \"page\",\n isSerializable: false,\n visibleIf: function (obj) {\n var survey = obj ? obj.survey : null;\n return !survey || !survey.pages || survey.pages.length > 1;\n },\n choices: function (obj) {\n var survey = obj ? obj.survey : null;\n return survey\n ? survey.pages.map(function (p) {\n return { value: p.name, text: p.title };\n })\n : [];\n },\n },\n \"showNumber:boolean\",\n {\n name: \"showQuestionNumbers\",\n default: \"default\",\n choices: [\"default\", \"onpanel\", \"off\"],\n },\n \"questionStartIndex\",\n { name: \"allowAdaptiveActions:boolean\", default: true, visible: false },\n], function () {\n return new PanelModel();\n}, \"panelbase\");\n_questionfactory__WEBPACK_IMPORTED_MODULE_5__[\"ElementFactory\"].Instance.registerElement(\"panel\", function (name) {\n return new PanelModel(name);\n});\n\n\n/***/ }),\n\n/***/ \"./src/popup-dropdown-view-model.ts\":\n/*!******************************************!*\\\n !*** ./src/popup-dropdown-view-model.ts ***!\n \\******************************************/\n/*! exports provided: PopupDropdownViewModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PopupDropdownViewModel\", function() { return PopupDropdownViewModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _utils_popup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/popup */ \"./src/utils/popup.ts\");\n/* harmony import */ var _popup_view_model__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./popup-view-model */ \"./src/popup-view-model.ts\");\n/* harmony import */ var _utils_devices__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/devices */ \"./src/utils/devices.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _survey__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./survey */ \"./src/survey.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\nvar PopupDropdownViewModel = /** @class */ (function (_super) {\n __extends(PopupDropdownViewModel, _super);\n function PopupDropdownViewModel(model, targetElement) {\n var _this = _super.call(this, model) || this;\n _this.targetElement = targetElement;\n _this.scrollEventCallBack = function (event) {\n if (_this.isOverlay && _utils_devices__WEBPACK_IMPORTED_MODULE_3__[\"IsTouch\"]) {\n event.stopPropagation();\n event.preventDefault();\n return;\n }\n _this.hidePopup();\n };\n _this.resizeEventCallback = function () {\n var visualViewport = window.visualViewport;\n document.documentElement.style.setProperty(\"--sv-popup-overlay-height\", visualViewport.height * visualViewport.scale + \"px\");\n };\n _this.resizeWindowCallback = function () {\n if (!_this.isOverlay) {\n _this.updatePosition(true, _survey__WEBPACK_IMPORTED_MODULE_5__[\"SurveyModel\"].platform === \"vue\" || _survey__WEBPACK_IMPORTED_MODULE_5__[\"SurveyModel\"].platform === \"vue3\" || _survey__WEBPACK_IMPORTED_MODULE_5__[\"SurveyModel\"].platform == \"react\");\n }\n };\n _this.clientY = 0;\n _this.isTablet = false;\n _this.touchStartEventCallback = function (event) {\n _this.clientY = event.touches[0].clientY;\n };\n _this.touchMoveEventCallback = function (event) {\n _this.preventScrollOuside(event, _this.clientY - event.changedTouches[0].clientY);\n };\n _this.model.onRecalculatePosition.add(_this.recalculatePositionHandler);\n return _this;\n }\n PopupDropdownViewModel.prototype.calculateIsTablet = function (windowWidth, windowHeight) {\n var width = Math.min(windowWidth, windowHeight);\n this.isTablet = width >= PopupDropdownViewModel.tabletSizeBreakpoint;\n };\n PopupDropdownViewModel.prototype._updatePosition = function () {\n var _a, _b, _c;\n if (!this.targetElement)\n return;\n var targetElementRect = this.targetElement.getBoundingClientRect();\n var popupContainer = (_a = this.container) === null || _a === void 0 ? void 0 : _a.querySelector(this.containerSelector);\n if (!popupContainer)\n return;\n var fixedPopupContainer = (_b = this.container) === null || _b === void 0 ? void 0 : _b.querySelector(this.fixedPopupContainer);\n var scrollContent = popupContainer.querySelector(this.scrollingContentSelector);\n var popupComputedStyle = window.getComputedStyle(popupContainer);\n var marginLeft = (parseFloat(popupComputedStyle.marginLeft) || 0);\n var marginRight = (parseFloat(popupComputedStyle.marginRight) || 0);\n var height = popupContainer.offsetHeight - scrollContent.offsetHeight + scrollContent.scrollHeight;\n var width = popupContainer.getBoundingClientRect().width;\n this.model.setWidthByTarget && (this.minWidth = targetElementRect.width + \"px\");\n var verticalPosition = this.model.verticalPosition;\n var actualHorizontalPosition = this.getActualHorizontalPosition();\n if (!!window) {\n var heightValues = [height, window.innerHeight * 0.9, (_c = window.visualViewport) === null || _c === void 0 ? void 0 : _c.height];\n height = Math.ceil(Math.min.apply(Math, heightValues.filter(function (each) { return typeof each === \"number\"; })));\n verticalPosition = _utils_popup__WEBPACK_IMPORTED_MODULE_1__[\"PopupUtils\"].updateVerticalPosition(targetElementRect, height, this.model.verticalPosition, this.model.showPointer, window.innerHeight);\n }\n this.popupDirection = _utils_popup__WEBPACK_IMPORTED_MODULE_1__[\"PopupUtils\"].calculatePopupDirection(verticalPosition, actualHorizontalPosition);\n var pos = _utils_popup__WEBPACK_IMPORTED_MODULE_1__[\"PopupUtils\"].calculatePosition(targetElementRect, height, width + marginLeft + marginRight, verticalPosition, actualHorizontalPosition, this.showHeader, this.model.positionMode);\n if (!!window) {\n var newVerticalDimensions = _utils_popup__WEBPACK_IMPORTED_MODULE_1__[\"PopupUtils\"].getCorrectedVerticalDimensions(pos.top, height, window.innerHeight);\n if (!!newVerticalDimensions.height) {\n this.height = newVerticalDimensions.height + \"px\";\n pos.top = newVerticalDimensions.top;\n }\n if (this.model.setWidthByTarget) {\n this.width = targetElementRect.width + \"px\";\n pos.left = targetElementRect.left;\n }\n else {\n var newHorizontalDimensions = _utils_popup__WEBPACK_IMPORTED_MODULE_1__[\"PopupUtils\"].updateHorizontalDimensions(pos.left, width, window.innerWidth, actualHorizontalPosition, this.model.positionMode, { left: marginLeft, right: marginRight });\n if (!!newHorizontalDimensions) {\n this.width = newHorizontalDimensions.width ? newHorizontalDimensions.width + \"px\" : undefined;\n pos.left = newHorizontalDimensions.left;\n }\n }\n }\n if (!!fixedPopupContainer) {\n var rect = fixedPopupContainer.getBoundingClientRect();\n pos.top -= rect.top;\n pos.left -= rect.left;\n }\n this.left = pos.left + \"px\";\n this.top = pos.top + \"px\";\n if (this.showHeader) {\n this.pointerTarget = _utils_popup__WEBPACK_IMPORTED_MODULE_1__[\"PopupUtils\"].calculatePointerTarget(targetElementRect, pos.top, pos.left, verticalPosition, actualHorizontalPosition, marginLeft, marginRight);\n this.pointerTarget.top += \"px\";\n this.pointerTarget.left += \"px\";\n }\n };\n PopupDropdownViewModel.prototype.getActualHorizontalPosition = function () {\n var actualHorizontalPosition = this.model.horizontalPosition;\n var isRtl = !!document && document.defaultView.getComputedStyle(document.body).direction == \"rtl\";\n if (isRtl) {\n if (this.model.horizontalPosition === \"left\") {\n actualHorizontalPosition = \"right\";\n }\n else if (this.model.horizontalPosition === \"right\") {\n actualHorizontalPosition = \"left\";\n }\n }\n return actualHorizontalPosition;\n };\n PopupDropdownViewModel.prototype.getStyleClass = function () {\n return _super.prototype.getStyleClass.call(this)\n .append(\"sv-popup--dropdown\", !this.isOverlay)\n .append(\"sv-popup--dropdown-overlay\", this.isOverlay && this.model.overlayDisplayMode !== \"overlay\")\n .append(\"sv-popup--tablet\", this.isTablet && this.isOverlay)\n .append(\"sv-popup--show-pointer\", !this.isOverlay && this.showHeader)\n .append(\"sv-popup--\" + this.popupDirection, !this.isOverlay && this.showHeader);\n };\n PopupDropdownViewModel.prototype.getShowHeader = function () {\n return this.model.showPointer && !this.isOverlay;\n };\n PopupDropdownViewModel.prototype.getPopupHeaderTemplate = function () {\n return \"popup-pointer\";\n };\n PopupDropdownViewModel.prototype.setComponentElement = function (componentRoot, targetElement) {\n _super.prototype.setComponentElement.call(this, componentRoot);\n if (!!componentRoot && !!componentRoot.parentElement && !this.isModal) {\n this.targetElement = targetElement || componentRoot.parentElement;\n }\n };\n PopupDropdownViewModel.prototype.resetComponentElement = function () {\n _super.prototype.resetComponentElement.call(this);\n this.targetElement = undefined;\n };\n PopupDropdownViewModel.prototype.updateOnShowing = function () {\n var root = _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].environment.root;\n this.prevActiveElement = root.activeElement;\n if (this.isOverlay) {\n this.resetDimensionsAndPositionStyleProperties();\n }\n else {\n this.updatePosition(true, false);\n }\n this.switchFocus();\n window.addEventListener(\"resize\", this.resizeWindowCallback);\n if (this.shouldCreateResizeCallback) {\n window.visualViewport.addEventListener(\"resize\", this.resizeEventCallback);\n if (this.container) {\n this.container.addEventListener(\"touchstart\", this.touchStartEventCallback);\n this.container.addEventListener(\"touchmove\", this.touchMoveEventCallback);\n }\n this.calculateIsTablet(window.innerWidth, window.innerHeight);\n this.resizeEventCallback();\n }\n window.addEventListener(\"scroll\", this.scrollEventCallBack);\n };\n Object.defineProperty(PopupDropdownViewModel.prototype, \"shouldCreateResizeCallback\", {\n get: function () {\n return !!window.visualViewport && this.isOverlay && _utils_devices__WEBPACK_IMPORTED_MODULE_3__[\"IsTouch\"];\n },\n enumerable: false,\n configurable: true\n });\n PopupDropdownViewModel.prototype.updatePosition = function (isResetHeight, isDelayUpdating) {\n var _this = this;\n if (isDelayUpdating === void 0) { isDelayUpdating = true; }\n if (isResetHeight) {\n this.height = \"auto\";\n }\n if (isDelayUpdating) {\n setTimeout(function () {\n _this._updatePosition();\n }, 1);\n }\n else {\n this._updatePosition();\n }\n };\n PopupDropdownViewModel.prototype.updateOnHiding = function () {\n _super.prototype.updateOnHiding.call(this);\n window.removeEventListener(\"resize\", this.resizeWindowCallback);\n if (this.shouldCreateResizeCallback) {\n window.visualViewport.removeEventListener(\"resize\", this.resizeEventCallback);\n if (this.container) {\n this.container.removeEventListener(\"touchstart\", this.touchStartEventCallback);\n this.container.removeEventListener(\"touchmove\", this.touchMoveEventCallback);\n }\n }\n window.removeEventListener(\"scroll\", this.scrollEventCallBack);\n if (!this.isDisposed) {\n this.top = undefined;\n this.left = undefined;\n this.height = undefined;\n this.width = undefined;\n this.minWidth = undefined;\n }\n };\n PopupDropdownViewModel.prototype.onModelChanging = function (newModel) {\n var _this = this;\n if (!!this.model) {\n this.model.onRecalculatePosition.remove(this.recalculatePositionHandler);\n }\n if (!this.recalculatePositionHandler) {\n this.recalculatePositionHandler = function (_, options) {\n if (!_this.isOverlay) {\n _this.updatePosition(options.isResetHeight);\n }\n };\n }\n _super.prototype.onModelChanging.call(this, newModel);\n newModel.onRecalculatePosition.add(this.recalculatePositionHandler);\n };\n PopupDropdownViewModel.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n this.updateOnHiding();\n if (!!this.model) {\n this.model.onRecalculatePosition.remove(this.recalculatePositionHandler);\n this.recalculatePositionHandler = undefined;\n }\n this.resetComponentElement();\n };\n PopupDropdownViewModel.tabletSizeBreakpoint = 600;\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], PopupDropdownViewModel.prototype, \"isTablet\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: \"left\" })\n ], PopupDropdownViewModel.prototype, \"popupDirection\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ defaultValue: { left: \"0px\", top: \"0px\" } })\n ], PopupDropdownViewModel.prototype, \"pointerTarget\", void 0);\n return PopupDropdownViewModel;\n}(_popup_view_model__WEBPACK_IMPORTED_MODULE_2__[\"PopupBaseViewModel\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/popup-modal-view-model.ts\":\n/*!***************************************!*\\\n !*** ./src/popup-modal-view-model.ts ***!\n \\***************************************/\n/*! exports provided: PopupModalViewModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PopupModalViewModel\", function() { return PopupModalViewModel; });\n/* harmony import */ var _popup_view_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./popup-view-model */ \"./src/popup-view-model.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\nvar PopupModalViewModel = /** @class */ (function (_super) {\n __extends(PopupModalViewModel, _super);\n function PopupModalViewModel(model) {\n var _this = _super.call(this, model) || this;\n _this.onScrollOutsideCallback = function (event) {\n _this.preventScrollOuside(event, event.deltaY);\n };\n return _this;\n }\n PopupModalViewModel.prototype.getStyleClass = function () {\n return _super.prototype.getStyleClass.call(this)\n .append(\"sv-popup--modal\", !this.isOverlay);\n };\n PopupModalViewModel.prototype.getShowFooter = function () {\n return true;\n };\n PopupModalViewModel.prototype.createFooterActionBar = function () {\n var _this = this;\n _super.prototype.createFooterActionBar.call(this);\n this.footerToolbarValue.addAction({\n id: \"apply\",\n visibleIndex: 20,\n title: this.applyButtonText,\n innerCss: \"sv-popup__body-footer-item sv-popup__button sv-popup__button--apply sd-btn sd-btn--action\",\n action: function () { _this.apply(); }\n });\n };\n Object.defineProperty(PopupModalViewModel.prototype, \"applyButtonText\", {\n get: function () {\n return this.getLocalizationString(\"modalApplyButtonText\");\n },\n enumerable: false,\n configurable: true\n });\n PopupModalViewModel.prototype.apply = function () {\n if (!!this.model.onApply && !this.model.onApply())\n return;\n this.hidePopup();\n };\n PopupModalViewModel.prototype.clickOutside = function () {\n return;\n };\n PopupModalViewModel.prototype.onKeyDown = function (event) {\n if (event.key === \"Escape\" || event.keyCode === 27) {\n this.model.onCancel();\n }\n _super.prototype.onKeyDown.call(this, event);\n };\n PopupModalViewModel.prototype.updateOnShowing = function () {\n if (this.container) {\n this.container.addEventListener(\"wheel\", this.onScrollOutsideCallback, { passive: false });\n }\n _super.prototype.updateOnShowing.call(this);\n };\n PopupModalViewModel.prototype.updateOnHiding = function () {\n if (this.container) {\n this.container.removeEventListener(\"wheel\", this.onScrollOutsideCallback);\n }\n _super.prototype.updateOnHiding.call(this);\n };\n return PopupModalViewModel;\n}(_popup_view_model__WEBPACK_IMPORTED_MODULE_0__[\"PopupBaseViewModel\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/popup-survey.ts\":\n/*!*****************************!*\\\n !*** ./src/popup-survey.ts ***!\n \\*****************************/\n/*! exports provided: PopupSurveyModel, SurveyWindowModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PopupSurveyModel\", function() { return PopupSurveyModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SurveyWindowModel\", function() { return SurveyWindowModel; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _survey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./survey */ \"./src/survey.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n/**\n * A class that renders a survey in a pop-up window.\n *\n * [View Demo](https://surveyjs.io/form-library/examples/popup-survey/ (linkStyle))\n */\nvar PopupSurveyModel = /** @class */ (function (_super) {\n __extends(PopupSurveyModel, _super);\n function PopupSurveyModel(jsonObj, initialModel) {\n if (initialModel === void 0) { initialModel = null; }\n var _this = _super.call(this) || this;\n /**\n * Specifies how many seconds the pop-up window should remain open after users complete the survey.\n *\n * Default value: 0 (the window is closed immediately)\n *\n * Set this property to a negative value (for instance, -1) to keep the pop-up window open without a time limit.\n */\n _this.closeOnCompleteTimeout = 0;\n if (initialModel) {\n _this.surveyValue = initialModel;\n }\n else {\n _this.surveyValue = _this.createSurvey(jsonObj);\n }\n _this.surveyValue.showTitle = false;\n if (\"undefined\" !== typeof document) {\n _this.windowElement = document.createElement(\"div\");\n }\n _this.survey.onComplete.add(function (survey, options) {\n _this.onSurveyComplete();\n });\n _this.registerPropertyChangedHandlers([\"isShowing\"], function () {\n if (!!_this.showingChangedCallback)\n _this.showingChangedCallback();\n });\n _this.registerPropertyChangedHandlers([\"isExpanded\"], function () {\n _this.onExpandedChanged();\n });\n _this.width = new _base__WEBPACK_IMPORTED_MODULE_0__[\"ComputedUpdater\"](function () { return _this.survey.width; });\n _this.width = _this.survey.width;\n _this.updateCss();\n _this.onCreating();\n return _this;\n }\n PopupSurveyModel.prototype.onCreating = function () { };\n PopupSurveyModel.prototype.getType = function () {\n return \"popupsurvey\";\n };\n Object.defineProperty(PopupSurveyModel.prototype, \"survey\", {\n /**\n * A [`SurveyModel`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model) instance rendered in the pop-up window.\n */\n get: function () {\n return this.surveyValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"isShowing\", {\n /**\n * Indicates whether the pop-up survey appears on the page, regardless of its [expand state](#isExpanded).\n *\n * You can set this property to `true` or `false` to control visibility of the pop-up survey. Alternatively, you can use the [`show()`](#show) and [`hide()`](#hide) methods.\n */\n get: function () {\n return this.getPropertyValue(\"isShowing\", false);\n },\n set: function (val) {\n this.setPropertyValue(\"isShowing\", val);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Shows the pop-up survey. The survey may appear [expanded or collapsed](#isExpanded).\n *\n * As an alternative to this method, you can set the [`isShowing`](#isShowing) property to `true`.\n * @see hide\n */\n PopupSurveyModel.prototype.show = function () {\n this.isShowing = true;\n };\n /**\n * Hides the pop-up survey.\n *\n * As an alternative to this method, you can set the [`isShowing`](#isShowing) property to `false`.\n * @see show\n * @see expand\n * @see collapse\n */\n PopupSurveyModel.prototype.hide = function () {\n this.isShowing = false;\n };\n Object.defineProperty(PopupSurveyModel.prototype, \"isExpanded\", {\n /**\n * Indicates whether the pop-up window is expanded or collapsed.\n *\n * You can set this property to `true` or `false` to control the expand state of the pop-up survey. Alternatively, you can use the [`expand()`](#expand) and [`collapse()`](#collapse) methods.\n */\n get: function () {\n return this.getPropertyValue(\"isExpanded\", false);\n },\n set: function (val) {\n this.setPropertyValue(\"isExpanded\", val);\n },\n enumerable: false,\n configurable: true\n });\n PopupSurveyModel.prototype.onExpandedChanged = function () {\n if (!!this.expandedChangedCallback) {\n this.expandedChangedCallback();\n }\n this.updateCssButton();\n };\n Object.defineProperty(PopupSurveyModel.prototype, \"title\", {\n /**\n * A title for the pop-up window. If this property is undefined, the title is taken from [`SurveyModel`](#survey)'s [`title`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title) property.\n */\n get: function () {\n return this.survey.title;\n },\n set: function (value) {\n this.survey.title = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"locTitle\", {\n get: function () {\n return this.survey.locTitle;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Expands the pop-up window.\n *\n * As an alternative to this method, you can set the [`isExpanded`](#isExpanded) property to `true`.\n * @see collapse\n */\n PopupSurveyModel.prototype.expand = function () {\n this.isExpanded = true;\n };\n /**\n * Collapses the pop-up window, leaving only the survey title visible.\n *\n * As an alternative to this method, you can set the [`isExpanded`](#isExpanded) property to `false`.\n * @see expand\n */\n PopupSurveyModel.prototype.collapse = function () {\n this.isExpanded = false;\n };\n PopupSurveyModel.prototype.changeExpandCollapse = function () {\n this.isExpanded = !this.isExpanded;\n };\n Object.defineProperty(PopupSurveyModel.prototype, \"allowClose\", {\n /**\n * Specifies whether to display a button that closes the pop-up window.\n *\n * Default value: `false`\n *\n * If you allow users to close the pop-up window, make sure to implement a UI element that opens it. This element should call the [`show()`](#show) method or enable the [`isShowing`](#isShowing) property.\n * @see expand\n * @see collapse\n * @see hide\n */\n get: function () {\n return this.getPropertyValue(\"allowClose\", false);\n },\n set: function (val) {\n this.setPropertyValue(\"allowClose\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"css\", {\n get: function () {\n return this.survey.css;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssButton\", {\n get: function () {\n return this.getPropertyValue(\"cssButton\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssRoot\", {\n get: function () {\n return this.getPropertyValue(\"cssRoot\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssBody\", {\n get: function () {\n return this.getPropertyValue(\"cssBody\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssHeaderRoot\", {\n get: function () {\n return this.getPropertyValue(\"cssHeaderRoot\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssHeaderTitle\", {\n get: function () {\n return this.getPropertyValue(\"cssHeaderTitle\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"cssHeaderButton\", {\n get: function () {\n return this.getPropertyValue(\"cssHeaderButton\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupSurveyModel.prototype, \"renderedWidth\", {\n get: function () {\n var width = this.getPropertyValue(\"width\", \"60%\");\n if (width && !isNaN(width))\n width = width + \"px\";\n return width;\n },\n enumerable: false,\n configurable: true\n });\n PopupSurveyModel.prototype.updateCss = function () {\n if (!this.css || !this.css.window)\n return;\n var cssWindow = this.css.window;\n this.setPropertyValue(\"cssRoot\", cssWindow.root);\n this.setPropertyValue(\"cssBody\", cssWindow.body);\n var cssHeader = cssWindow.header;\n if (!cssHeader)\n return;\n this.setPropertyValue(\"cssHeaderRoot\", cssHeader.root);\n this.setPropertyValue(\"cssHeaderTitle\", cssHeader.title);\n this.setPropertyValue(\"cssHeaderButton\", cssHeader.button);\n this.updateCssButton();\n };\n PopupSurveyModel.prototype.updateCssButton = function () {\n var cssHeader = !!this.css.window ? this.css.window.header : null;\n if (!cssHeader)\n return;\n this.setCssButton(this.isExpanded ? cssHeader.buttonExpanded : cssHeader.buttonCollapsed);\n };\n PopupSurveyModel.prototype.setCssButton = function (val) {\n if (!val)\n return;\n this.setPropertyValue(\"cssButton\", val);\n };\n PopupSurveyModel.prototype.createSurvey = function (jsonObj) {\n return new _survey__WEBPACK_IMPORTED_MODULE_1__[\"SurveyModel\"](jsonObj);\n };\n PopupSurveyModel.prototype.onSurveyComplete = function () {\n if (this.closeOnCompleteTimeout < 0)\n return;\n if (this.closeOnCompleteTimeout == 0) {\n this.hide();\n }\n else {\n var self = this;\n var timerId = null;\n var func = function () {\n self.hide();\n if (typeof window !== \"undefined\") {\n window.clearInterval(timerId);\n }\n };\n timerId =\n typeof window !== \"undefined\"\n ? window.setInterval(func, this.closeOnCompleteTimeout * 1000)\n : 0;\n }\n };\n PopupSurveyModel.prototype.onScroll = function () {\n this.survey.onScroll();\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_2__[\"property\"])()\n ], PopupSurveyModel.prototype, \"width\", void 0);\n return PopupSurveyModel;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\n/**\n * Obsolete. Please use PopupSurvey\n */\nvar SurveyWindowModel = /** @class */ (function (_super) {\n __extends(SurveyWindowModel, _super);\n function SurveyWindowModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return SurveyWindowModel;\n}(PopupSurveyModel));\n\n\n\n/***/ }),\n\n/***/ \"./src/popup-utils.ts\":\n/*!****************************!*\\\n !*** ./src/popup-utils.ts ***!\n \\****************************/\n/*! exports provided: createPopupModalViewModel, createPopupViewModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createPopupModalViewModel\", function() { return createPopupModalViewModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createPopupViewModel\", function() { return createPopupViewModel; });\n/* harmony import */ var _popup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./popup */ \"./src/popup.ts\");\n/* harmony import */ var _popup_dropdown_view_model__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./popup-dropdown-view-model */ \"./src/popup-dropdown-view-model.ts\");\n/* harmony import */ var _popup_modal_view_model__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./popup-modal-view-model */ \"./src/popup-modal-view-model.ts\");\n\n\n\nfunction createPopupModalViewModel(options, rootElement) {\n var _a;\n var popupModel = new _popup__WEBPACK_IMPORTED_MODULE_0__[\"PopupModel\"](options.componentName, options.data, \"top\", \"left\", false, true, options.onCancel, options.onApply, function () {\n options.onHide();\n if (!!container) {\n popupViewModel.resetComponentElement();\n }\n }, options.onShow, options.cssClass, options.title);\n popupModel.displayMode = options.displayMode || \"popup\";\n popupModel.isFocusedContent = (_a = options.isFocusedContent) !== null && _a !== void 0 ? _a : true;\n var popupViewModel = new _popup_modal_view_model__WEBPACK_IMPORTED_MODULE_2__[\"PopupModalViewModel\"](popupModel);\n if (!!rootElement && !!rootElement.appendChild) {\n var container = document.createElement(\"div\");\n rootElement.appendChild(container);\n popupViewModel.setComponentElement(container);\n }\n if (!popupViewModel.container) {\n popupViewModel.initializePopupContainer();\n }\n return popupViewModel;\n}\nfunction createPopupViewModel(model, targetElement) {\n if (model.isModal) {\n return new _popup_modal_view_model__WEBPACK_IMPORTED_MODULE_2__[\"PopupModalViewModel\"](model);\n }\n else {\n return new _popup_dropdown_view_model__WEBPACK_IMPORTED_MODULE_1__[\"PopupDropdownViewModel\"](model, targetElement);\n }\n}\n\n\n/***/ }),\n\n/***/ \"./src/popup-view-model.ts\":\n/*!*********************************!*\\\n !*** ./src/popup-view-model.ts ***!\n \\*********************************/\n/*! exports provided: FOCUS_INPUT_SELECTOR, PopupBaseViewModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FOCUS_INPUT_SELECTOR\", function() { return FOCUS_INPUT_SELECTOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PopupBaseViewModel\", function() { return PopupBaseViewModel; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _actions_container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./actions/container */ \"./src/actions/container.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\nvar FOCUS_INPUT_SELECTOR = \"input:not(:disabled):not([readonly]):not([type=hidden]),select:not(:disabled):not([readonly]),textarea:not(:disabled):not([readonly]), button:not(:disabled):not([readonly]), [tabindex]:not([tabindex^=\\\"-\\\"])\";\nvar PopupBaseViewModel = /** @class */ (function (_super) {\n __extends(PopupBaseViewModel, _super);\n function PopupBaseViewModel(model) {\n var _this = _super.call(this) || this;\n _this.subscriptionId = PopupBaseViewModel.SubscriptionId++;\n _this.popupSelector = \".sv-popup\";\n _this.fixedPopupContainer = \".sv-popup\";\n _this.containerSelector = \".sv-popup__container\";\n _this.scrollingContentSelector = \".sv-popup__scrolling-content\";\n _this.model = model;\n return _this;\n }\n Object.defineProperty(PopupBaseViewModel.prototype, \"container\", {\n get: function () {\n return this.containerElement || this.createdContainer;\n },\n enumerable: false,\n configurable: true\n });\n PopupBaseViewModel.prototype.getLocale = function () {\n if (!!this.locale)\n return this.locale;\n return _super.prototype.getLocale.call(this);\n };\n PopupBaseViewModel.prototype.hidePopup = function () {\n this.model.isVisible = false;\n };\n PopupBaseViewModel.prototype.getStyleClass = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_2__[\"CssClassBuilder\"]()\n .append(this.model.cssClass)\n .append(\"sv-popup--\" + this.model.displayMode, this.isOverlay);\n };\n PopupBaseViewModel.prototype.getShowFooter = function () {\n return this.isOverlay;\n };\n PopupBaseViewModel.prototype.getShowHeader = function () {\n return false;\n };\n PopupBaseViewModel.prototype.getPopupHeaderTemplate = function () {\n return undefined;\n };\n PopupBaseViewModel.prototype.createFooterActionBar = function () {\n var _this = this;\n this.footerToolbarValue = new _actions_container__WEBPACK_IMPORTED_MODULE_3__[\"ActionContainer\"]();\n this.footerToolbar.updateCallback = function (isResetInitialized) {\n _this.footerToolbarValue.actions.forEach(function (action) { return action.cssClasses = {\n item: \"sv-popup__body-footer-item sv-popup__button sd-btn\"\n }; });\n };\n var footerActions = [{\n id: \"cancel\",\n visibleIndex: 10,\n title: this.cancelButtonText,\n innerCss: \"sv-popup__button--cancel sd-btn\",\n action: function () { _this.cancel(); }\n }];\n footerActions = this.model.updateFooterActions(footerActions);\n this.footerToolbarValue.setItems(footerActions);\n };\n PopupBaseViewModel.prototype.resetDimensionsAndPositionStyleProperties = function () {\n var nullableValue = \"inherit\";\n this.top = nullableValue;\n this.left = nullableValue;\n this.height = nullableValue;\n this.width = nullableValue;\n this.minWidth = nullableValue;\n };\n PopupBaseViewModel.prototype.onModelChanging = function (newModel) {\n };\n PopupBaseViewModel.prototype.setupModel = function (model) {\n var _this = this;\n if (!!this.model) {\n this.model.unregisterPropertyChangedHandlers([\"isVisible\"], \"PopupBaseViewModel\" + this.subscriptionId);\n }\n this.onModelChanging(model);\n this._model = model;\n var onIsVisibleChangedHandler = function () {\n if (!model.isVisible) {\n _this.updateOnHiding();\n }\n _this.isVisible = model.isVisible;\n };\n model.registerPropertyChangedHandlers([\"isVisible\"], onIsVisibleChangedHandler, \"PopupBaseViewModel\" + this.subscriptionId);\n onIsVisibleChangedHandler();\n };\n Object.defineProperty(PopupBaseViewModel.prototype, \"model\", {\n get: function () {\n return this._model;\n },\n set: function (model) {\n this.setupModel(model);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"title\", {\n get: function () {\n return this.model.title;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"contentComponentName\", {\n get: function () {\n return this.model.contentComponentName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"contentComponentData\", {\n get: function () {\n return this.model.contentComponentData;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"isModal\", {\n get: function () {\n return this.model.isModal;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"isFocusedContent\", {\n get: function () {\n return this.model.isFocusedContent;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"isFocusedContainer\", {\n get: function () {\n return this.model.isFocusedContainer;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"showFooter\", {\n get: function () {\n return this.getShowFooter();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"showHeader\", {\n get: function () {\n return this.getShowHeader();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"popupHeaderTemplate\", {\n get: function () {\n return this.getPopupHeaderTemplate();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"isOverlay\", {\n get: function () {\n return this.model.displayMode === \"overlay\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"styleClass\", {\n get: function () {\n return this.getStyleClass().toString();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"cancelButtonText\", {\n get: function () {\n return this.getLocalizationString(\"modalCancelButtonText\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PopupBaseViewModel.prototype, \"footerToolbar\", {\n get: function () {\n if (!this.footerToolbarValue) {\n this.createFooterActionBar();\n }\n return this.footerToolbarValue;\n },\n enumerable: false,\n configurable: true\n });\n PopupBaseViewModel.prototype.onKeyDown = function (event) {\n if (event.key === \"Tab\" || event.keyCode === 9) {\n this.trapFocus(event);\n }\n else if (event.key === \"Escape\" || event.keyCode === 27) {\n this.hidePopup();\n }\n };\n PopupBaseViewModel.prototype.trapFocus = function (event) {\n var focusableElements = this.container.querySelectorAll(FOCUS_INPUT_SELECTOR);\n var firstFocusableElement = focusableElements[0];\n var lastFocusableElement = focusableElements[focusableElements.length - 1];\n if (event.shiftKey) {\n if (_settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].environment.root.activeElement === firstFocusableElement) {\n lastFocusableElement.focus();\n event.preventDefault();\n }\n }\n else {\n if (_settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].environment.root.activeElement === lastFocusableElement) {\n firstFocusableElement.focus();\n event.preventDefault();\n }\n }\n };\n PopupBaseViewModel.prototype.switchFocus = function () {\n if (this.isFocusedContent) {\n this.focusFirstInput();\n }\n else if (this.isFocusedContainer) {\n this.focusContainer();\n }\n };\n PopupBaseViewModel.prototype.updateOnShowing = function () {\n this.prevActiveElement = _settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].environment.root.activeElement;\n if (this.isOverlay) {\n this.resetDimensionsAndPositionStyleProperties();\n }\n this.switchFocus();\n };\n PopupBaseViewModel.prototype.updateOnHiding = function () {\n if (this.isFocusedContent && this.prevActiveElement) {\n this.prevActiveElement.focus();\n }\n };\n PopupBaseViewModel.prototype.focusContainer = function () {\n if (!this.container)\n return;\n var popup = this.container.querySelector(this.popupSelector);\n popup === null || popup === void 0 ? void 0 : popup.focus();\n };\n PopupBaseViewModel.prototype.focusFirstInput = function () {\n var _this = this;\n setTimeout(function () {\n if (!_this.container)\n return;\n var el = _this.container.querySelector(_this.model.focusFirstInputSelector || FOCUS_INPUT_SELECTOR);\n if (!!el)\n el.focus();\n else\n _this.focusContainer();\n }, 100);\n };\n PopupBaseViewModel.prototype.clickOutside = function (event) {\n this.hidePopup();\n event === null || event === void 0 ? void 0 : event.stopPropagation();\n };\n PopupBaseViewModel.prototype.cancel = function () {\n this.model.onCancel();\n this.hidePopup();\n };\n PopupBaseViewModel.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n if (this.model) {\n this.model.unregisterPropertyChangedHandlers([\"isVisible\"], \"PopupBaseViewModel\" + this.subscriptionId);\n }\n if (!!this.createdContainer) {\n this.createdContainer.remove();\n this.createdContainer = undefined;\n }\n if (!!this.footerToolbarValue) {\n this.footerToolbarValue.dispose();\n }\n this.resetComponentElement();\n };\n PopupBaseViewModel.prototype.initializePopupContainer = function () {\n if (!this.container) {\n var container = document.createElement(\"div\");\n this.createdContainer = container;\n Object(_utils_utils__WEBPACK_IMPORTED_MODULE_5__[\"getElement\"])(_settings__WEBPACK_IMPORTED_MODULE_4__[\"settings\"].environment.popupMountContainer).appendChild(container);\n }\n };\n PopupBaseViewModel.prototype.setComponentElement = function (componentRoot, targetElement) {\n if (!!componentRoot) {\n this.containerElement = componentRoot;\n }\n };\n PopupBaseViewModel.prototype.resetComponentElement = function () {\n this.containerElement = undefined;\n this.prevActiveElement = undefined;\n };\n PopupBaseViewModel.prototype.preventScrollOuside = function (event, deltaY) {\n var currentElement = event.target;\n while (currentElement !== this.container) {\n if (window.getComputedStyle(currentElement).overflowY === \"auto\" && currentElement.scrollHeight !== currentElement.offsetHeight) {\n var scrollHeight = currentElement.scrollHeight, scrollTop = currentElement.scrollTop, clientHeight = currentElement.clientHeight;\n if (!(deltaY > 0 && Math.abs(scrollHeight - clientHeight - scrollTop) < 1) && !(deltaY < 0 && scrollTop <= 0)) {\n return;\n }\n }\n currentElement = currentElement.parentElement;\n }\n if (event.cancelable) {\n event.preventDefault();\n }\n };\n PopupBaseViewModel.SubscriptionId = 0;\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"0px\" })\n ], PopupBaseViewModel.prototype, \"top\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"0px\" })\n ], PopupBaseViewModel.prototype, \"left\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"auto\" })\n ], PopupBaseViewModel.prototype, \"height\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"auto\" })\n ], PopupBaseViewModel.prototype, \"width\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"auto\" })\n ], PopupBaseViewModel.prototype, \"minWidth\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: false })\n ], PopupBaseViewModel.prototype, \"isVisible\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], PopupBaseViewModel.prototype, \"locale\", void 0);\n return PopupBaseViewModel;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\n\n\n/***/ }),\n\n/***/ \"./src/popup.ts\":\n/*!**********************!*\\\n !*** ./src/popup.ts ***!\n \\**********************/\n/*! exports provided: PopupModel, createDialogOptions */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PopupModel\", function() { return PopupModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createDialogOptions\", function() { return createDialogOptions; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\nvar PopupModel = /** @class */ (function (_super) {\n __extends(PopupModel, _super);\n function PopupModel(contentComponentName, contentComponentData, verticalPosition, horizontalPosition, showPointer, isModal, onCancel, onApply, onHide, onShow, cssClass, title, onDispose) {\n if (verticalPosition === void 0) { verticalPosition = \"bottom\"; }\n if (horizontalPosition === void 0) { horizontalPosition = \"left\"; }\n if (showPointer === void 0) { showPointer = true; }\n if (isModal === void 0) { isModal = false; }\n if (onCancel === void 0) { onCancel = function () { }; }\n if (onApply === void 0) { onApply = function () { return true; }; }\n if (onHide === void 0) { onHide = function () { }; }\n if (onShow === void 0) { onShow = function () { }; }\n if (cssClass === void 0) { cssClass = \"\"; }\n if (title === void 0) { title = \"\"; }\n if (onDispose === void 0) { onDispose = function () { }; }\n var _this = _super.call(this) || this;\n _this.onDispose = onDispose;\n _this.focusFirstInputSelector = \"\";\n _this.onVisibilityChanged = _this.addEvent();\n _this.onFooterActionsCreated = _this.addEvent();\n _this.onRecalculatePosition = _this.addEvent();\n _this.contentComponentName = contentComponentName;\n _this.contentComponentData = contentComponentData;\n _this.verticalPosition = verticalPosition;\n _this.horizontalPosition = horizontalPosition;\n _this.showPointer = showPointer;\n _this.isModal = isModal;\n _this.onCancel = onCancel;\n _this.onApply = onApply;\n _this.onHide = onHide;\n _this.onShow = onShow;\n _this.cssClass = cssClass;\n _this.title = title;\n return _this;\n }\n PopupModel.prototype.refreshInnerModel = function () {\n var innerModel = this.contentComponentData[\"model\"];\n innerModel && innerModel.refresh && innerModel.refresh();\n };\n Object.defineProperty(PopupModel.prototype, \"isVisible\", {\n get: function () {\n return this.getPropertyValue(\"isVisible\", false);\n },\n set: function (value) {\n if (this.isVisible === value) {\n return;\n }\n this.setPropertyValue(\"isVisible\", value);\n this.onVisibilityChanged.fire(this, { model: this, isVisible: value });\n if (this.isVisible) {\n this.onShow();\n }\n else {\n this.refreshInnerModel();\n this.onHide();\n }\n },\n enumerable: false,\n configurable: true\n });\n PopupModel.prototype.toggleVisibility = function () {\n this.isVisible = !this.isVisible;\n };\n PopupModel.prototype.recalculatePosition = function (isResetHeight) {\n this.onRecalculatePosition.fire(this, { isResetHeight: isResetHeight });\n };\n PopupModel.prototype.updateFooterActions = function (footerActions) {\n var options = { actions: footerActions };\n this.onFooterActionsCreated.fire(this, options);\n return options.actions;\n };\n PopupModel.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n this.onDispose();\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], PopupModel.prototype, \"contentComponentName\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], PopupModel.prototype, \"contentComponentData\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"bottom\" })\n ], PopupModel.prototype, \"verticalPosition\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"left\" })\n ], PopupModel.prototype, \"horizontalPosition\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: false })\n ], PopupModel.prototype, \"showPointer\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: false })\n ], PopupModel.prototype, \"isModal\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: true })\n ], PopupModel.prototype, \"isFocusedContent\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: true })\n ], PopupModel.prototype, \"isFocusedContainer\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: function () { } })\n ], PopupModel.prototype, \"onCancel\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: function () { return true; } })\n ], PopupModel.prototype, \"onApply\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: function () { } })\n ], PopupModel.prototype, \"onHide\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: function () { } })\n ], PopupModel.prototype, \"onShow\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"\" })\n ], PopupModel.prototype, \"cssClass\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"\" })\n ], PopupModel.prototype, \"title\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"auto\" })\n ], PopupModel.prototype, \"overlayDisplayMode\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"popup\" })\n ], PopupModel.prototype, \"displayMode\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: \"flex\" })\n ], PopupModel.prototype, \"positionMode\", void 0);\n return PopupModel;\n}(_base__WEBPACK_IMPORTED_MODULE_0__[\"Base\"]));\n\nfunction createDialogOptions(componentName, data, onApply, onCancel, onHide, onShow, cssClass, title, displayMode) {\n if (onHide === void 0) { onHide = function () { }; }\n if (onShow === void 0) { onShow = function () { }; }\n if (displayMode === void 0) { displayMode = \"popup\"; }\n return {\n componentName: componentName,\n data: data,\n onApply: onApply,\n onCancel: onCancel,\n onHide: onHide,\n onShow: onShow,\n cssClass: cssClass,\n title: title,\n displayMode: displayMode\n };\n}\n\n\n/***/ }),\n\n/***/ \"./src/question.ts\":\n/*!*************************!*\\\n !*** ./src/question.ts ***!\n \\*************************/\n/*! exports provided: Question */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Question\", function() { return Question; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _survey_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./survey-element */ \"./src/survey-element.ts\");\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./error */ \"./src/error.ts\");\n/* harmony import */ var _validator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./validator */ \"./src/validator.ts\");\n/* harmony import */ var _localizablestring__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./localizablestring */ \"./src/localizablestring.ts\");\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./conditions */ \"./src/conditions.ts\");\n/* harmony import */ var _questionCustomWidgets__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./questionCustomWidgets */ \"./src/questionCustomWidgets.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _rendererFactory__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./rendererFactory */ \"./src/rendererFactory.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\n/* harmony import */ var _console_warnings__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./console-warnings */ \"./src/console-warnings.ts\");\n/* harmony import */ var _conditionProcessValue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./conditionProcessValue */ \"./src/conditionProcessValue.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar TriggerExpressionInfo = /** @class */ (function () {\n function TriggerExpressionInfo(name, canRun, doComplete) {\n this.name = name;\n this.canRun = canRun;\n this.doComplete = doComplete;\n this.runSecondCheck = function (keys) { return false; };\n }\n return TriggerExpressionInfo;\n}());\n/**\n * A base class for all questions.\n */\nvar Question = /** @class */ (function (_super) {\n __extends(Question, _super);\n function Question(name) {\n var _this = _super.call(this, name) || this;\n _this.customWidgetData = { isNeedRender: true };\n _this.hasCssErrorCallback = function () { return false; };\n _this.isReadyValue = true;\n _this.dependedQuestions = [];\n /**\n * An event that is raised when the question's ready state has changed (expressions are evaluated, choices are loaded from a web resource specified by the `choicesByUrl` property, etc.).\n *\n * Parameters:\n *\n * - `sender`: `SurveyModel`\\\n * A survey instance that contains the question whose ready state has changed.\n * - `options.isReady`: `boolean`\\\n * Indicates whether the question is ready.\n * - `options.oldIsReady`: `boolean`\\\n * Indicates the previous ready state.\n */\n _this.onReadyChanged = _this.addEvent();\n _this.triggersInfo = [];\n _this.isRunningValidatorsValue = false;\n _this.isValueChangedInSurvey = false;\n _this.allowNotifyValueChanged = true;\n _this.id = Question.getQuestionId();\n _this.onCreating();\n _this.createNewArray(\"validators\", function (validator) {\n validator.errorOwner = _this;\n });\n _this.addExpressionProperty(\"visibleIf\", function (obj, res) { _this.visible = res === true; }, function (obj) { return !_this.areInvisibleElementsShowing; });\n _this.addExpressionProperty(\"enableIf\", function (obj, res) { _this.readOnly = res === false; });\n _this.addExpressionProperty(\"requiredIf\", function (obj, res) { _this.isRequired = res === true; });\n _this.createLocalizableString(\"commentText\", _this, true, \"otherItemText\");\n _this.createLocalizableString(\"requiredErrorText\", _this);\n _this.addTriggerInfo(\"resetValueIf\", function () { return !_this.isEmpty(); }, function () {\n _this.clearValue();\n _this.updateValueWithDefaults();\n });\n var setValueIfInfo = _this.addTriggerInfo(\"setValueIf\", function () { return true; }, function () { return _this.runSetValueExpression(); });\n setValueIfInfo.runSecondCheck = function (keys) { return _this.checkExpressionIf(keys); };\n _this.registerPropertyChangedHandlers([\"width\"], function () {\n _this.updateQuestionCss();\n if (!!_this.parent) {\n _this.parent.elementWidthChanged(_this);\n }\n });\n _this.registerPropertyChangedHandlers([\"isRequired\"], function () {\n if (!_this.isRequired && _this.errors.length > 0) {\n _this.validate();\n }\n _this.locTitle.strChanged();\n _this.clearCssClasses();\n });\n _this.registerPropertyChangedHandlers([\"indent\", \"rightIndent\"], function () {\n _this.onIndentChanged();\n });\n _this.registerPropertyChangedHandlers([\"showCommentArea\", \"showOtherItem\"], function () {\n _this.initCommentFromSurvey();\n });\n _this.registerFunctionOnPropertiesValueChanged([\"no\", \"readOnly\", \"hasVisibleErrors\", \"containsErrors\"], function () {\n _this.updateQuestionCss();\n });\n _this.registerPropertyChangedHandlers([\"isMobile\"], function () { _this.onMobileChanged(); });\n return _this;\n }\n Question.getQuestionId = function () {\n return \"sq_\" + Question.questionCounter++;\n };\n Question.prototype.isReadOnlyRenderDiv = function () {\n return this.isReadOnly && _settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].readOnly.commentRenderMode === \"div\";\n };\n Question.prototype.allowMobileInDesignMode = function () {\n return false;\n };\n Question.prototype.updateIsMobileFromSurvey = function () {\n this.setIsMobile(this.survey._isMobile);\n };\n Question.prototype.setIsMobile = function (val) {\n this.isMobile = val && (this.allowMobileInDesignMode() || !this.isDesignMode);\n };\n Question.prototype.themeChanged = function (theme) { };\n Question.prototype.getDefaultTitle = function () { return this.name; };\n Question.prototype.createLocTitleProperty = function () {\n var _this = this;\n var locTitleValue = _super.prototype.createLocTitleProperty.call(this);\n locTitleValue.storeDefaultText = true;\n locTitleValue.onGetTextCallback = function (text) {\n if (!text) {\n text = _this.getDefaultTitle();\n }\n if (!_this.survey)\n return text;\n return _this.survey.getUpdatedQuestionTitle(_this, text);\n };\n this.locProcessedTitle = new _localizablestring__WEBPACK_IMPORTED_MODULE_5__[\"LocalizableString\"](this, true);\n this.locProcessedTitle.sharedData = locTitleValue;\n return locTitleValue;\n };\n Question.prototype.getSurvey = function (live) {\n if (live === void 0) { live = false; }\n if (live) {\n return !!this.parent ? this.parent.getSurvey(live) : null;\n }\n if (!!this.onGetSurvey)\n return this.onGetSurvey();\n return _super.prototype.getSurvey.call(this);\n };\n Question.prototype.getValueName = function () {\n if (!!this.valueName)\n return this.valueName.toString();\n return this.name;\n };\n Object.defineProperty(Question.prototype, \"valueName\", {\n /**\n * Specifies an object property that should store the question value.\n *\n * Refer to the [Merge Question Values](https://surveyjs.io/form-library/documentation/design-survey-merge-question-values) help topic for more information.\n */\n get: function () {\n return this.getPropertyValue(\"valueName\", \"\");\n },\n set: function (val) {\n var oldValueName = this.getValueName();\n this.setPropertyValue(\"valueName\", val);\n this.onValueNameChanged(oldValueName);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onValueNameChanged = function (oldValue) {\n if (!this.survey)\n return;\n this.survey.questionRenamed(this, this.name, !!oldValue ? oldValue : this.name);\n this.initDataFromSurvey();\n };\n Question.prototype.onNameChanged = function (oldValue) {\n this.locTitle.strChanged();\n if (!this.survey)\n return;\n this.survey.questionRenamed(this, oldValue, this.valueName ? this.valueName : oldValue);\n };\n Object.defineProperty(Question.prototype, \"isReady\", {\n get: function () {\n return this.isReadyValue;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onAsyncRunningChanged = function () {\n this.updateIsReady();\n };\n Question.prototype.updateIsReady = function () {\n var res = this.getIsQuestionReady();\n if (res) {\n var questions = this.getIsReadyDependsOn();\n for (var i = 0; i < questions.length; i++) {\n if (!questions[i].getIsQuestionReady()) {\n res = false;\n break;\n }\n }\n }\n this.setIsReady(res);\n };\n Question.prototype.getIsQuestionReady = function () {\n return !this.isAsyncExpressionRunning && this.getAreNestedQuestionsReady();\n };\n Question.prototype.getAreNestedQuestionsReady = function () {\n var questions = this.getIsReadyNestedQuestions();\n if (!Array.isArray(questions))\n return true;\n for (var i = 0; i < questions.length; i++) {\n if (!questions[i].isReady)\n return false;\n }\n return true;\n };\n Question.prototype.getIsReadyNestedQuestions = function () {\n return this.getNestedQuestions();\n };\n Question.prototype.setIsReady = function (val) {\n var oldIsReady = this.isReadyValue;\n this.isReadyValue = val;\n if (oldIsReady != val) {\n this.getIsReadyDependends().forEach(function (q) { return q.updateIsReady(); });\n this.onReadyChanged.fire(this, {\n question: this,\n isReady: val,\n oldIsReady: oldIsReady,\n });\n }\n };\n Question.prototype.getIsReadyDependsOn = function () {\n return this.getIsReadyDependendCore(true);\n };\n Question.prototype.getIsReadyDependends = function () {\n return this.getIsReadyDependendCore(false);\n };\n Question.prototype.getIsReadyDependendCore = function (isDependOn) {\n var _this = this;\n if (!this.survey)\n return [];\n var questions = this.survey.questionsByValueName(this.getValueName());\n var res = new Array();\n questions.forEach(function (q) { if (q !== _this)\n res.push(q); });\n if (!isDependOn) {\n if (this.parentQuestion) {\n res.push(this.parentQuestion);\n }\n if (this.dependedQuestions.length > 0) {\n this.dependedQuestions.forEach(function (q) { return res.push(q); });\n }\n }\n return res;\n };\n Question.prototype.choicesLoaded = function () { };\n Object.defineProperty(Question.prototype, \"page\", {\n /**\n * Returns a page to which the question belongs and allows you to move this question to a different page.\n */\n get: function () {\n if (!!this.parentQuestion)\n return this.parentQuestion.page;\n return this.getPage(this.parent);\n },\n set: function (val) {\n this.setPage(this.parent, val);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getPanel = function () {\n return null;\n };\n Question.prototype.delete = function (doDispose) {\n if (doDispose === void 0) { doDispose = true; }\n this.removeFromParent();\n if (doDispose) {\n this.dispose();\n }\n else {\n this.resetDependedQuestions();\n }\n };\n Question.prototype.removeFromParent = function () {\n if (!!this.parent) {\n this.removeSelfFromList(this.parent.elements);\n }\n };\n Question.prototype.addDependedQuestion = function (question) {\n if (!question || this.dependedQuestions.indexOf(question) > -1)\n return;\n this.dependedQuestions.push(question);\n };\n Question.prototype.removeDependedQuestion = function (question) {\n if (!question)\n return;\n var index = this.dependedQuestions.indexOf(question);\n if (index > -1) {\n this.dependedQuestions.splice(index, 1);\n }\n };\n Question.prototype.updateDependedQuestions = function () {\n for (var i = 0; i < this.dependedQuestions.length; i++) {\n this.dependedQuestions[i].updateDependedQuestion();\n }\n };\n Question.prototype.updateDependedQuestion = function () { };\n Question.prototype.resetDependedQuestion = function () { };\n Object.defineProperty(Question.prototype, \"isFlowLayout\", {\n get: function () {\n return this.getLayoutType() === \"flow\";\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getLayoutType = function () {\n if (!!this.parent)\n return this.parent.getChildrenLayoutType();\n return \"row\";\n };\n Question.prototype.isLayoutTypeSupported = function (layoutType) {\n return layoutType !== \"flow\";\n };\n Object.defineProperty(Question.prototype, \"visible\", {\n /**\n * Gets or sets question visibility.\n *\n * If you want to display or hide a question based on a condition, specify the [`visibleIf`](https://surveyjs.io/form-library/documentation/question#visibleIf) property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see isVisible\n * @see visibleIf\n */\n get: function () {\n return this.getPropertyValue(\"visible\", true);\n },\n set: function (val) {\n if (val == this.visible)\n return;\n this.setPropertyValue(\"visible\", val);\n this.onVisibleChanged();\n this.notifySurveyVisibilityChanged();\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onVisibleChanged = function () {\n this.updateIsVisibleProp();\n if (!this.isVisible && this.errors && this.errors.length > 0) {\n this.errors = [];\n }\n };\n Question.prototype.notifyStateChanged = function (prevState) {\n _super.prototype.notifyStateChanged.call(this, prevState);\n if (this.isCollapsed) {\n this.onHidingContent();\n }\n };\n Question.prototype.updateIsVisibleProp = function () {\n var prev = this.getPropertyValue(\"isVisible\");\n var val = this.isVisible;\n if (prev !== val) {\n this.setPropertyValue(\"isVisible\", val);\n if (!val) {\n this.onHidingContent();\n }\n }\n };\n Object.defineProperty(Question.prototype, \"useDisplayValuesInDynamicTexts\", {\n /**\n * Specifies whether to use display names for question values in placeholders.\n *\n * Default value: `true`\n *\n * This property applies to questions whose values are defined as objects with the `value` and `text` properties (for example, [choice items](https://surveyjs.io/form-library/documentation/questionradiogroupmodel#choices) in Radiogroup, Checkbox, and Dropdown questions).\n *\n * You can use question values as placeholders in the following places:\n *\n * - Survey element titles and descriptions\n * - The [`html`](https://surveyjs.io/form-library/documentation/questionhtmlmodel#html) property of the [HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel) question\n *\n * To use a question value as a placeholder, specify the question `name` in curly brackets: `{questionName}`. Refer to the following help topic for more information: [Dynamic Texts - Question Values](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#question-values).\n */\n get: function () {\n return this.getPropertyValue(\"useDisplayValuesInDynamicTexts\");\n },\n set: function (val) {\n this.setPropertyValue(\"useDisplayValuesInDynamicTexts\", val);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getUseDisplayValuesInDynamicTexts = function () { return this.useDisplayValuesInDynamicTexts; };\n Object.defineProperty(Question.prototype, \"visibleIf\", {\n /**\n * A Boolean expression. If it evaluates to `false`, this question becomes hidden.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility)\n * @see visible\n * @see isVisible\n */\n get: function () {\n return this.getPropertyValue(\"visibleIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"visibleIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isVisible\", {\n /**\n * Returns `true` if the question is visible or the survey is currently in design mode.\n *\n * If you want to display or hide a question based on a condition, specify the [`visibleIf`](https://surveyjs.io/form-library/documentation/question#visibleIf) property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see visibleIf\n * @see visible\n * @see isParentVisible\n */\n get: function () {\n if (this.survey && this.survey.areEmptyElementsHidden && this.isEmpty())\n return false;\n if (this.areInvisibleElementsShowing)\n return true;\n return this.isVisibleCore();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isVisibleInSurvey\", {\n get: function () {\n return this.isVisible && this.isParentVisible;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.isVisibleCore = function () {\n return this.visible;\n };\n Object.defineProperty(Question.prototype, \"visibleIndex\", {\n /**\n * Returns the visible index of the question in the survey. It can be from 0 to all visible questions count - 1\n * The visibleIndex is -1 if the title is 'hidden' or hideNumber is true\n * @see titleLocation\n * @see hideNumber\n */\n get: function () {\n return this.getPropertyValue(\"visibleIndex\", -1);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onHidingContent = function () { };\n Object.defineProperty(Question.prototype, \"hideNumber\", {\n /**\n * Hides the question number from the title and excludes the question from numbering.\n *\n * If you want to disable question numbering in the entire survey, set `SurveyModel`'s `showQuestionNumbers` property to `false`.\n * @see SurveyModel.showQuestionNumbers\n */\n get: function () {\n return this.getPropertyValue(\"hideNumber\");\n },\n set: function (val) {\n this.setPropertyValue(\"hideNumber\", val);\n this.notifySurveyVisibilityChanged();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isAllowTitleLeft\", {\n /**\n * Returns `true` if the question can display its title to the left of the input field.\n * @see titleLocation\n * @see getTitleLocation\n * @see hasTitle\n */\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns the question type.\n * Possible values:\n * - [*\"boolean\"*](https://surveyjs.io/Documentation/Library?id=questionbooleanmodel)\n * - [*\"checkbox\"*](https://surveyjs.io/Documentation/Library?id=questioncheckboxmodel)\n * - [*\"comment\"*](https://surveyjs.io/Documentation/Library?id=questioncommentmodel)\n * - [*\"dropdown\"*](https://surveyjs.io/Documentation/Library?id=questiondropdownmodel)\n * - [*\"tagbox\"*](https://surveyjs.io/form-library/documentation/questiontagboxmodel)\n * - [*\"expression\"*](https://surveyjs.io/Documentation/Library?id=questionexpressionmodel)\n * - [*\"file\"*](https://surveyjs.io/Documentation/Library?id=questionfilemodel)\n * - [*\"html\"*](https://surveyjs.io/Documentation/Library?id=questionhtmlmodel)\n * - [*\"image\"*](https://surveyjs.io/Documentation/Library?id=questionimagemodel)\n * - [*\"imagepicker\"*](https://surveyjs.io/Documentation/Library?id=questionimagepickermodel)\n * - [*\"matrix\"*](https://surveyjs.io/Documentation/Library?id=questionmatrixmodel)\n * - [*\"matrixdropdown\"*](https://surveyjs.io/Documentation/Library?id=questionmatrixdropdownmodel)\n * - [*\"matrixdynamic\"*](https://surveyjs.io/Documentation/Library?id=questionmatrixdynamicmodel)\n * - [*\"multipletext\"*](https://surveyjs.io/Documentation/Library?id=questionmultipletextmodel)\n * - [*\"panel\"*](https://surveyjs.io/Documentation/Library?id=panelmodel)\n * - [*\"paneldynamic\"*](https://surveyjs.io/Documentation/Library?id=questionpaneldynamicmodel)\n * - [*\"radiogroup\"*](https://surveyjs.io/Documentation/Library?id=questionradiogroupmodel)\n * - [*\"rating\"*](https://surveyjs.io/Documentation/Library?id=questionratingmodel)\n * - [*\"ranking\"*](https://surveyjs.io/Documentation/Library?id=questionrankingmodel)\n * - [*\"signaturepad\"*](https://surveyjs.io/Documentation/Library?id=questionsignaturepadmodel)\n * - [*\"text\"*](https://surveyjs.io/Documentation/Library?id=questiontextmodel)\n */\n Question.prototype.getType = function () {\n return \"question\";\n };\n Object.defineProperty(Question.prototype, \"isQuestion\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.moveTo = function (container, insertBefore) {\n if (insertBefore === void 0) { insertBefore = null; }\n return this.moveToBase(this.parent, container, insertBefore);\n };\n Question.prototype.getProgressInfo = function () {\n if (!this.hasInput)\n return _super.prototype.getProgressInfo.call(this);\n return {\n questionCount: 1,\n answeredQuestionCount: !this.isEmpty() ? 1 : 0,\n requiredQuestionCount: this.isRequired ? 1 : 0,\n requiredAnsweredQuestionCount: !this.isEmpty() && this.isRequired ? 1 : 0,\n };\n };\n Question.prototype.ensureSetValueExpressionRunner = function () {\n var _this = this;\n if (!this.setValueExpressionRunner) {\n this.setValueExpressionRunner = new _conditions__WEBPACK_IMPORTED_MODULE_6__[\"ExpressionRunner\"](this.setValueExpression);\n this.setValueExpressionRunner.onRunComplete = function (res) {\n if (!_this.isTwoValueEquals(_this.value, res)) {\n _this.value = res;\n }\n };\n }\n else {\n this.setValueExpressionRunner.expression = this.setValueExpression;\n }\n };\n Question.prototype.runSetValueExpression = function () {\n if (!this.setValueExpression) {\n this.clearValue();\n }\n else {\n this.ensureSetValueExpressionRunner();\n this.setValueExpressionRunner.run(this.getDataFilteredValues(), this.getDataFilteredProperties());\n }\n };\n Question.prototype.checkExpressionIf = function (keys) {\n this.ensureSetValueExpressionRunner();\n if (!this.setValueExpressionRunner)\n return false;\n return new _conditionProcessValue__WEBPACK_IMPORTED_MODULE_13__[\"ProcessValue\"]().isAnyKeyChanged(keys, this.setValueExpressionRunner.getVariables());\n };\n Question.prototype.addTriggerInfo = function (name, canRun, doComplete) {\n var info = new TriggerExpressionInfo(name, canRun, doComplete);\n this.triggersInfo.push(info);\n return info;\n };\n Question.prototype.runTriggerInfo = function (info, name, value) {\n var expression = this[info.name];\n var keys = {};\n keys[name] = value;\n if (!expression || info.isRunning || !info.canRun()) {\n if (info.runSecondCheck(keys)) {\n info.doComplete();\n }\n return;\n }\n if (!info.runner) {\n info.runner = new _conditions__WEBPACK_IMPORTED_MODULE_6__[\"ExpressionRunner\"](expression);\n info.runner.onRunComplete = function (res) {\n if (res === true) {\n info.doComplete();\n }\n info.isRunning = false;\n };\n }\n else {\n info.runner.expression = expression;\n }\n if (!new _conditionProcessValue__WEBPACK_IMPORTED_MODULE_13__[\"ProcessValue\"]().isAnyKeyChanged(keys, info.runner.getVariables()) && !info.runSecondCheck(keys))\n return;\n info.isRunning = true;\n info.runner.run(this.getDataFilteredValues(), this.getDataFilteredProperties());\n };\n Question.prototype.runTriggers = function (name, value) {\n var _this = this;\n if (this.isReadOnly || this.isSettingQuestionValue ||\n (this.parentQuestion && this.parentQuestion.getValueName() === name))\n return;\n this.triggersInfo.forEach(function (info) {\n _this.runTriggerInfo(info, name, value);\n });\n };\n Question.prototype.runConditions = function () {\n if (this.data && !this.isLoadingFromJson) {\n if (!this.isDesignMode) {\n this.runCondition(this.getDataFilteredValues(), this.getDataFilteredProperties());\n }\n this.locStrsChanged();\n }\n };\n Question.prototype.setSurveyImpl = function (value, isLight) {\n _super.prototype.setSurveyImpl.call(this, value);\n if (!this.survey)\n return;\n this.survey.questionCreated(this);\n if (isLight !== true) {\n this.runConditions();\n }\n this.calcRenderedCommentPlaceholder();\n if (!this.visible) {\n this.updateIsVisibleProp();\n }\n this.updateIsMobileFromSurvey();\n };\n Object.defineProperty(Question.prototype, \"parent\", {\n /**\n * Returns a survey element (panel or page) that contains the question and allows you to move this question to a different survey element.\n */\n get: function () {\n return this.getPropertyValue(\"parent\", null);\n },\n set: function (val) {\n if (this.parent === val)\n return;\n this.removeFromParent();\n this.setPropertyValue(\"parent\", val);\n this.updateQuestionCss();\n this.onParentChanged();\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onParentChanged = function () { };\n Object.defineProperty(Question.prototype, \"hasTitle\", {\n /**\n * Returns `false` if the `titleLocation` property is set to `\"hidden\"` or if the question cannot have a title (for example, an [HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel) question).\n *\n * If the `title` property is `undefined` or set to an empty string, the `hasTitle` property returns `true`, because the question uses its `name` as a title in this case.\n * @see title\n * @see titleLocation\n */\n get: function () {\n return this.getTitleLocation() !== \"hidden\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"titleLocation\", {\n /**\n * Sets question title location relative to the input field. Overrides the `questionTitleLocation` property specified for the question's container (survey, page, or panel).\n *\n * Possible values:\n *\n * - `\"default\"` (default) - Inherits the setting from the `questionTitleLocation` property specified for the question's container.\n * - `\"top\"` - Displays the title above the input field.\n * - `\"bottom\"` - Displays the title below the input field.\n * - `\"left\"` - Displays the title to the left of the input field.\n * - `\"hidden\"` - Hides the question title.\n *\n * > Certain question types (Matrix, Multiple Text) do not support the `\"left\"` value. For them, the `\"top\"` value is used.\n * @see SurveyModel.questionTitleLocation\n * @see getTitleLocation\n * @see isAllowTitleLeft\n */\n get: function () {\n return this.getPropertyValue(\"titleLocation\");\n },\n set: function (value) {\n var isVisibilityChanged = this.titleLocation == \"hidden\" || value == \"hidden\";\n this.setPropertyValue(\"titleLocation\", value.toLowerCase());\n this.updateQuestionCss();\n if (isVisibilityChanged) {\n this.notifySurveyVisibilityChanged();\n }\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getTitleOwner = function () { return this; };\n Question.prototype.getIsTitleRenderedAsString = function () { return this.titleLocation === \"hidden\"; };\n Question.prototype.notifySurveyVisibilityChanged = function () {\n if (!this.survey || this.isLoadingFromJson)\n return;\n this.survey.questionVisibilityChanged(this, this.isVisible);\n var isClearOnHidden = this.isClearValueOnHidden;\n if (!this.visible) {\n this.clearValueOnHidding(isClearOnHidden);\n }\n if (isClearOnHidden && this.isVisibleInSurvey) {\n this.updateValueWithDefaults();\n }\n };\n Question.prototype.clearValueOnHidding = function (isClearOnHidden) {\n if (isClearOnHidden) {\n this.clearValueIfInvisible();\n }\n };\n /**\n * Returns title location calculated based on the question's `titleLocation` property and the `questionTitleLocation` property of the question's containers (survey, page, or panel).\n * @see titleLocation\n * @see SurveyModel.questionTitleLocation\n */\n Question.prototype.getTitleLocation = function () {\n if (this.isFlowLayout)\n return \"hidden\";\n var location = this.getTitleLocationCore();\n if (location === \"left\" && !this.isAllowTitleLeft)\n location = \"top\";\n return location;\n };\n Question.prototype.getTitleLocationCore = function () {\n if (this.titleLocation !== \"default\")\n return this.titleLocation;\n if (!!this.parent)\n return this.parent.getQuestionTitleLocation();\n if (!!this.survey)\n return this.survey.questionTitleLocation;\n return \"top\";\n };\n Object.defineProperty(Question.prototype, \"hasTitleOnLeft\", {\n get: function () {\n return this.hasTitle && this.getTitleLocation() === \"left\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasTitleOnTop\", {\n get: function () {\n return this.hasTitle && this.getTitleLocation() === \"top\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasTitleOnBottom\", {\n get: function () {\n return this.hasTitle && this.getTitleLocation() === \"bottom\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasTitleOnLeftTop\", {\n get: function () {\n if (!this.hasTitle)\n return false;\n var location = this.getTitleLocation();\n return location === \"left\" || location === \"top\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"errorLocation\", {\n /**\n * Specifies the error message position. Overrides the `questionErrorLocation` property specified for the question's container ([survey](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionErrorLocation), [page](https://surveyjs.io/form-library/documentation/api-reference/page-model#questionErrorLocation), or [panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model#questionErrorLocation)).\n *\n * Possible values:\n *\n * - `\"default\"` (default) - Inherits the setting from the `questionErrorLocation` property specified for the question's container.\n * - `\"top\"` - Displays error messages above questions.\n * - `\"bottom\"` - Displays error messages below questions.\n */\n get: function () {\n return this.getPropertyValue(\"errorLocation\");\n },\n set: function (val) {\n this.setPropertyValue(\"errorLocation\", val);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getErrorLocation = function () {\n if (this.errorLocation !== \"default\")\n return this.errorLocation;\n if (this.parentQuestion)\n return this.parentQuestion.getChildErrorLocation(this);\n if (this.parent)\n return this.parent.getQuestionErrorLocation();\n return this.survey ? this.survey.questionErrorLocation : \"top\";\n };\n Question.prototype.getChildErrorLocation = function (child) {\n return this.getErrorLocation();\n };\n Object.defineProperty(Question.prototype, \"hasInput\", {\n /**\n * Returns `false` if the question has no input fields ([HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel), [Image](https://surveyjs.io/form-library/documentation/questionimagemodel), and similar question types).\n * @see hasSingleInput\n */\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasSingleInput\", {\n /**\n * Returns `false` if the question has no input fields ([HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel), [Image](https://surveyjs.io/form-library/documentation/questionimagemodel)) or has multiple input fields ([Matrix](https://surveyjs.io/form-library/documentation/questionmatrixmodel), [Multiple Text](https://surveyjs.io/form-library/documentation/questionmultipletextmodel)).\n * @see hasInput\n */\n get: function () {\n return this.hasInput;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"inputId\", {\n get: function () {\n return this.id + \"i\";\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getDefaultTitleValue = function () { return this.name; };\n Question.prototype.getDefaultTitleTagName = function () {\n return _settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].titleTags.question;\n };\n Object.defineProperty(Question.prototype, \"descriptionLocation\", {\n /**\n * Specifies where to display a question description.\n *\n * Possible values:\n *\n * - `\"default\"` (default) - Inherits the setting from the Survey's [`questionDescriptionLocation`](https://surveyjs.io/form-library/documentation/surveymodel#questionDescriptionLocation) property.\n * - `\"underTitle\"` - Displays the description under the question title.\n * - `\"underInput\"` - Displays the description under the interactive area.\n * @see description\n * @see hasDescription\n */\n get: function () {\n return this.getPropertyValue(\"descriptionLocation\");\n },\n set: function (val) {\n this.setPropertyValue(\"descriptionLocation\", val);\n this.updateQuestionCss();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasDescriptionUnderTitle\", {\n get: function () {\n return this.getDescriptionLocation() == \"underTitle\" && this.hasDescription;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasDescriptionUnderInput\", {\n get: function () {\n return this.getDescriptionLocation() == \"underInput\" && this.hasDescription;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getDescriptionLocation = function () {\n if (this.descriptionLocation !== \"default\")\n return this.descriptionLocation;\n return !!this.survey\n ? this.survey.questionDescriptionLocation\n : \"underTitle\";\n };\n Question.prototype.needClickTitleFunction = function () {\n return _super.prototype.needClickTitleFunction.call(this) || this.hasInput;\n };\n Question.prototype.processTitleClick = function () {\n var _this = this;\n _super.prototype.processTitleClick.call(this);\n if (this.isCollapsed)\n return;\n setTimeout(function () {\n _this.focus();\n }, 1);\n return true;\n };\n Object.defineProperty(Question.prototype, \"requiredErrorText\", {\n /**\n * Specifies a custom error message for a required form field.\n * @see isRequired\n */\n get: function () {\n return this.getLocalizableStringText(\"requiredErrorText\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"requiredErrorText\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"locRequiredErrorText\", {\n get: function () {\n return this.getLocalizableString(\"requiredErrorText\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"commentText\", {\n /**\n * Specifies a caption displayed above the comment area. Applies when the `showCommentArea` property is `true`.\n * @see showCommentArea\n * @see comment\n */\n get: function () {\n return this.getLocalizableStringText(\"commentText\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"commentText\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"locCommentText\", {\n get: function () {\n return this.getLocalizableString(\"commentText\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"commentPlaceHolder\", {\n get: function () {\n return this.commentPlaceholder;\n },\n set: function (newValue) {\n this.commentPlaceholder = newValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"renderedCommentPlaceholder\", {\n get: function () {\n return this.getPropertyValue(\"renderedCommentPlaceholder\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.calcRenderedCommentPlaceholder = function () {\n var res = !this.isReadOnly ? this.commentPlaceHolder : undefined;\n this.setPropertyValue(\"renderedCommentPlaceholder\", res);\n };\n Question.prototype.getAllErrors = function () {\n return this.errors.slice();\n };\n Question.prototype.getErrorByType = function (errorType) {\n for (var i = 0; i < this.errors.length; i++) {\n if (this.errors[i].getErrorType() === errorType)\n return this.errors[i];\n }\n return null;\n };\n Object.defineProperty(Question.prototype, \"customWidget\", {\n get: function () {\n if (!this.isCustomWidgetRequested && !this.customWidgetValue) {\n this.isCustomWidgetRequested = true;\n this.updateCustomWidget();\n }\n return this.customWidgetValue;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.updateCustomWidget = function () {\n this.customWidgetValue = _questionCustomWidgets__WEBPACK_IMPORTED_MODULE_7__[\"CustomWidgetCollection\"].Instance.getCustomWidget(this);\n };\n Question.prototype.localeChanged = function () {\n _super.prototype.localeChanged.call(this);\n this.calcRenderedCommentPlaceholder();\n if (!!this.localeChangedCallback) {\n this.localeChangedCallback();\n }\n };\n Object.defineProperty(Question.prototype, \"isCompositeQuestion\", {\n get: function () {\n return false;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isContainer\", {\n get: function () { return false; },\n enumerable: false,\n configurable: true\n });\n Question.prototype.updateCommentElements = function () {\n if (!this.autoGrowComment || !Array.isArray(this.commentElements))\n return;\n for (var i = 0; i < this.commentElements.length; i++) {\n var el = this.commentElements[i];\n if (el)\n Object(_utils_utils__WEBPACK_IMPORTED_MODULE_11__[\"increaseHeightByContent\"])(el);\n }\n };\n Question.prototype.onCommentInput = function (event) {\n if (this.isInputTextUpdate) {\n if (event.target) {\n this.comment = event.target.value;\n }\n }\n else {\n this.updateCommentElements();\n }\n };\n Question.prototype.onCommentChange = function (event) {\n this.comment = event.target.value;\n if (this.comment !== event.target.value) {\n event.target.value = this.comment;\n }\n };\n Question.prototype.afterRenderQuestionElement = function (el) {\n if (!this.survey || !this.hasSingleInput)\n return;\n this.survey.afterRenderQuestionInput(this, el);\n };\n Question.prototype.afterRender = function (el) {\n var _this = this;\n this.afterRenderCore(el);\n if (!this.survey)\n return;\n this.survey.afterRenderQuestion(this, el);\n if (!!this.afterRenderQuestionCallback) {\n this.afterRenderQuestionCallback(this, el);\n }\n if (this.supportComment() || this.supportOther()) {\n this.commentElements = [];\n this.getCommentElementsId().forEach(function (id) {\n var root = _settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].environment.root;\n var el = root.getElementById(id);\n if (el)\n _this.commentElements.push(el);\n });\n this.updateCommentElements();\n }\n this.checkForResponsiveness(el);\n };\n Question.prototype.afterRenderCore = function (el) {\n };\n Question.prototype.getCommentElementsId = function () {\n return [this.commentId];\n };\n Question.prototype.beforeDestroyQuestionElement = function (el) {\n this.commentElements = undefined;\n };\n Object.defineProperty(Question.prototype, \"processedTitle\", {\n get: function () {\n var res = this.locProcessedTitle.textOrHtml;\n return res ? res : this.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"fullTitle\", {\n get: function () {\n return this.locTitle.renderedHtml;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"titlePattern\", {\n get: function () {\n return !!this.survey ? this.survey.questionTitlePattern : \"numTitleRequire\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isRequireTextOnStart\", {\n get: function () {\n return this.isRequired && this.titlePattern == \"requireNumTitle\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isRequireTextBeforeTitle\", {\n get: function () {\n return this.isRequired && this.titlePattern == \"numRequireTitle\" && this.requiredText !== \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isRequireTextAfterTitle\", {\n get: function () {\n return this.isRequired && this.titlePattern == \"numTitleRequire\" && this.requiredText !== \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"startWithNewLine\", {\n /**\n * Disable this property if you want to render the current question on the same line or row with the previous question or panel.\n */\n get: function () {\n return this.getPropertyValue(\"startWithNewLine\");\n },\n set: function (val) {\n if (this.startWithNewLine == val)\n return;\n this.setPropertyValue(\"startWithNewLine\", val);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.calcCssClasses = function (css) {\n var classes = { error: {} };\n this.copyCssClasses(classes, css.question);\n this.copyCssClasses(classes.error, css.error);\n this.updateCssClasses(classes, css);\n if (this.survey) {\n this.survey.updateQuestionCssClasses(this, classes);\n }\n if (this.onUpdateCssClassesCallback) {\n this.onUpdateCssClassesCallback(classes);\n }\n return classes;\n };\n Object.defineProperty(Question.prototype, \"cssRoot\", {\n get: function () {\n this.ensureElementCss();\n return this.getPropertyValue(\"cssRoot\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.setCssRoot = function (val) {\n this.setPropertyValue(\"cssRoot\", val);\n };\n Question.prototype.getCssRoot = function (cssClasses) {\n var hasError = this.hasCssError();\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(_super.prototype.getCssRoot.call(this, cssClasses))\n .append(this.isFlowLayout && !this.isDesignMode\n ? cssClasses.flowRoot\n : cssClasses.mainRoot)\n .append(cssClasses.titleLeftRoot, !this.isFlowLayout && this.hasTitleOnLeft)\n .append(cssClasses.titleTopRoot, !this.isFlowLayout && this.hasTitleOnTop)\n .append(cssClasses.titleBottomRoot, !this.isFlowLayout && this.hasTitleOnBottom)\n .append(cssClasses.descriptionUnderInputRoot, !this.isFlowLayout && this.hasDescriptionUnderInput)\n .append(cssClasses.hasError, hasError)\n .append(cssClasses.hasErrorTop, hasError && this.getErrorLocation() == \"top\")\n .append(cssClasses.hasErrorBottom, hasError && this.getErrorLocation() == \"bottom\")\n .append(cssClasses.small, !this.width)\n .append(cssClasses.answered, this.isAnswered)\n .toString();\n };\n Object.defineProperty(Question.prototype, \"cssHeader\", {\n get: function () {\n this.ensureElementCss();\n return this.getPropertyValue(\"cssHeader\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.setCssHeader = function (val) {\n this.setPropertyValue(\"cssHeader\", val);\n };\n Question.prototype.getCssHeader = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(cssClasses.header)\n .append(cssClasses.headerTop, this.hasTitleOnTop)\n .append(cssClasses.headerLeft, this.hasTitleOnLeft)\n .append(cssClasses.headerBottom, this.hasTitleOnBottom)\n .toString();\n };\n Object.defineProperty(Question.prototype, \"cssContent\", {\n get: function () {\n this.ensureElementCss();\n return this.getPropertyValue(\"cssContent\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.setCssContent = function (val) {\n this.setPropertyValue(\"cssContent\", val);\n };\n Question.prototype.getCssContent = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(cssClasses.content)\n .append(cssClasses.contentLeft, this.hasTitleOnLeft)\n .toString();\n };\n Object.defineProperty(Question.prototype, \"cssTitle\", {\n get: function () {\n this.ensureElementCss();\n return this.getPropertyValue(\"cssTitle\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.setCssTitle = function (val) {\n this.setPropertyValue(\"cssTitle\", val);\n };\n Question.prototype.getCssTitle = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(_super.prototype.getCssTitle.call(this, cssClasses))\n .append(cssClasses.titleOnAnswer, !this.containsErrors && this.isAnswered)\n .append(cssClasses.titleEmpty, !this.title.trim())\n .toString();\n };\n Object.defineProperty(Question.prototype, \"cssDescription\", {\n get: function () {\n this.ensureElementCss();\n return this.getPropertyValue(\"cssDescription\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.setCssDescription = function (val) {\n this.setPropertyValue(\"cssDescription\", val);\n };\n Question.prototype.getCssDescription = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(cssClasses.description, this.hasDescriptionUnderTitle)\n .append(cssClasses.descriptionUnderInput, this.hasDescriptionUnderInput)\n .toString();\n };\n Question.prototype.showErrorOnCore = function (location) {\n return !this.showErrorsAboveQuestion && !this.showErrorsBelowQuestion && this.getErrorLocation() === location;\n };\n Object.defineProperty(Question.prototype, \"showErrorOnTop\", {\n get: function () {\n return this.showErrorOnCore(\"top\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"showErrorOnBottom\", {\n get: function () {\n return this.showErrorOnCore(\"bottom\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"showErrorsOutsideQuestion\", {\n get: function () {\n return this.isDefaultV2Theme;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"showErrorsAboveQuestion\", {\n get: function () {\n return this.showErrorsOutsideQuestion && this.getErrorLocation() === \"top\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"showErrorsBelowQuestion\", {\n get: function () {\n return this.showErrorsOutsideQuestion && this.getErrorLocation() === \"bottom\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"cssError\", {\n get: function () {\n this.ensureElementCss();\n return this.getPropertyValue(\"cssError\", \"\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.setCssError = function (val) {\n this.setPropertyValue(\"cssError\", val);\n };\n Question.prototype.getCssError = function (cssClasses) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(cssClasses.error.root)\n .append(cssClasses.errorsContainer, this.showErrorsBelowQuestion || this.showErrorsAboveQuestion)\n .append(cssClasses.errorsContainerTop, this.showErrorsAboveQuestion)\n .append(cssClasses.errorsContainerBottom, this.showErrorsBelowQuestion)\n .append(cssClasses.error.locationTop, this.showErrorOnTop)\n .append(cssClasses.error.locationBottom, this.showErrorOnBottom)\n .toString();\n };\n Question.prototype.hasCssError = function () {\n return this.errors.length > 0 || this.hasCssErrorCallback();\n };\n Question.prototype.getRootCss = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(this.cssRoot)\n .append(this.cssClasses.disabled, this.isReadOnly)\n .append(this.cssClasses.invisible, !this.isDesignMode && this.areInvisibleElementsShowing && !this.visible)\n .toString();\n };\n Question.prototype.getQuestionRootCss = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(this.cssClasses.root)\n .append(this.cssClasses.rootMobile, this.isMobile)\n .toString();\n };\n Question.prototype.updateElementCss = function (reNew) {\n _super.prototype.updateElementCss.call(this, reNew);\n if (reNew) {\n this.updateQuestionCss(true);\n }\n this.onIndentChanged();\n };\n Question.prototype.updateQuestionCss = function (reNew) {\n if (this.isLoadingFromJson ||\n !this.survey ||\n (reNew !== true && !this.cssClassesValue))\n return;\n this.updateElementCssCore(this.cssClasses);\n };\n Question.prototype.ensureElementCss = function () {\n if (!this.cssClassesValue) {\n this.updateQuestionCss(true);\n }\n };\n Question.prototype.updateElementCssCore = function (cssClasses) {\n this.setCssRoot(this.getCssRoot(cssClasses));\n this.setCssHeader(this.getCssHeader(cssClasses));\n this.setCssContent(this.getCssContent(cssClasses));\n this.setCssTitle(this.getCssTitle(cssClasses));\n this.setCssDescription(this.getCssDescription(cssClasses));\n this.setCssError(this.getCssError(cssClasses));\n };\n Question.prototype.updateCssClasses = function (res, css) {\n if (!css.question)\n return;\n var objCss = css[this.getCssType()];\n var titleBuilder = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]().append(res.title)\n .append(css.question.titleRequired, this.isRequired);\n res.title = titleBuilder.toString();\n var rootBuilder = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]().append(res.root)\n .append(objCss, this.isRequired && !!css.question.required);\n if (objCss === undefined || objCss === null) {\n res.root = rootBuilder.toString();\n }\n else if (typeof objCss === \"string\" || objCss instanceof String) {\n res.root = rootBuilder.append(objCss.toString()).toString();\n }\n else {\n res.root = rootBuilder.toString();\n for (var key in objCss) {\n res[key] = objCss[key];\n }\n }\n };\n Question.prototype.getCssType = function () {\n return this.getType();\n };\n Object.defineProperty(Question.prototype, \"renderCssRoot\", {\n get: function () {\n return this.cssClasses.root || undefined;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onIndentChanged = function () {\n this.paddingLeft = this.getIndentSize(this.indent);\n this.paddingRight = this.getIndentSize(this.rightIndent);\n };\n Question.prototype.getIndentSize = function (indent) {\n if (indent < 1 || !this.getSurvey() || !this.cssClasses || !this.cssClasses.indent)\n return \"\";\n return indent * this.cssClasses.indent + \"px\";\n };\n /**\n * Moves focus to the input field of this question.\n * @param onError Pass `true` if you want to focus an input field with the first validation error. Default value: `false` (focuses the first input field). Applies to question types with multiple input fields.\n */\n Question.prototype.focus = function (onError, scrollIfVisible) {\n if (onError === void 0) { onError = false; }\n if (this.isDesignMode || !this.isVisible || !this.survey)\n return;\n var page = this.page;\n var shouldChangePage = !!page && this.survey.activePage !== page;\n if (shouldChangePage) {\n this.survey.focusQuestionByInstance(this, onError);\n }\n else {\n this.focuscore(onError, scrollIfVisible);\n }\n };\n Question.prototype.focuscore = function (onError, scrollIfVisible) {\n if (onError === void 0) { onError = false; }\n if (!!this.survey) {\n this.expandAllParents(this);\n this.survey.scrollElementToTop(this, this, null, this.id, scrollIfVisible);\n }\n var id = !onError\n ? this.getFirstInputElementId()\n : this.getFirstErrorInputElementId();\n if (_survey_element__WEBPACK_IMPORTED_MODULE_2__[\"SurveyElement\"].FocusElement(id)) {\n this.fireCallback(this.focusCallback);\n }\n };\n Question.prototype.expandAllParents = function (element) {\n if (!element)\n return;\n if (element.isCollapsed) {\n element.expand();\n }\n this.expandAllParents(element.parent);\n this.expandAllParents(element.parentQuestion);\n };\n Question.prototype.focusIn = function () {\n if (!this.survey || this.isDisposed || this.isContainer)\n return;\n this.survey.whenQuestionFocusIn(this);\n };\n Question.prototype.fireCallback = function (callback) {\n if (callback)\n callback();\n };\n Question.prototype.getOthersMaxLength = function () {\n if (!this.survey)\n return null;\n return this.survey.maxOthersLength > 0 ? this.survey.maxOthersLength : null;\n };\n Question.prototype.onCreating = function () { };\n Question.prototype.getFirstQuestionToFocus = function (withError) {\n return this.hasInput && (!withError || this.currentErrorCount > 0) ? this : null;\n };\n Question.prototype.getFirstInputElementId = function () {\n return this.inputId;\n };\n Question.prototype.getFirstErrorInputElementId = function () {\n return this.getFirstInputElementId();\n };\n Question.prototype.getProcessedTextValue = function (textValue) {\n var name = textValue.name.toLocaleLowerCase();\n textValue.isExists =\n Object.keys(Question.TextPreprocessorValuesMap).indexOf(name) !== -1 ||\n this[textValue.name] !== undefined;\n textValue.value = this[Question.TextPreprocessorValuesMap[name] || textValue.name];\n };\n Question.prototype.supportComment = function () {\n var prop = this.getPropertyByName(\"showCommentArea\");\n return !prop || prop.visible;\n };\n Question.prototype.supportOther = function () {\n return false;\n };\n Object.defineProperty(Question.prototype, \"isRequired\", {\n /**\n * Makes the question required. If a respondent skips a required question, the survey displays a validation error.\n * @see requiredIf\n * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)\n */\n get: function () {\n return this.getPropertyValue(\"isRequired\");\n },\n set: function (val) {\n this.setPropertyValue(\"isRequired\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"requiredIf\", {\n /**\n * A Boolean expression. If it evaluates to `true`, this question becomes required.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility)\n * @see isRequired\n */\n get: function () {\n return this.getPropertyValue(\"requiredIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"requiredIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"showCommentArea\", {\n /**\n * Specifies whether to display a comment area. Incompatible with the `showOtherItem` property.\n * @see comment\n * @see commentText\n * @see showOtherItem\n */\n get: function () {\n return this.getPropertyValue(\"showCommentArea\", false);\n },\n set: function (val) {\n if (!this.supportComment())\n return;\n this.setPropertyValue(\"showCommentArea\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasComment\", {\n get: function () {\n return this.showCommentArea;\n },\n set: function (val) {\n this.showCommentArea = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"id\", {\n /**\n * A value to assign to the `id` attribute of the rendered HTML element. A default `id` is generated automatically.\n */\n get: function () {\n return this.getPropertyValue(\"id\");\n },\n set: function (val) {\n this.setPropertyValue(\"id\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"ariaTitleId\", {\n get: function () {\n return this.id + \"_ariaTitle\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"commentId\", {\n get: function () {\n return this.id + \"_comment\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"showOtherItem\", {\n /**\n * Specifies whether to display the \"Other\" choice item. Incompatible with the `showCommentArea` property.\n *\n * @see otherText\n * @see otherItem\n * @see otherErrorText\n * @see showCommentArea\n * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)\n */\n get: function () {\n return this.getPropertyValue(\"showOtherItem\", false);\n },\n set: function (val) {\n if (!this.supportOther() || this.showOtherItem == val)\n return;\n this.setPropertyValue(\"showOtherItem\", val);\n this.hasOtherChanged();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasOther\", {\n get: function () {\n return this.showOtherItem;\n },\n set: function (val) {\n this.showOtherItem = val;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.hasOtherChanged = function () { };\n Object.defineProperty(Question.prototype, \"requireUpdateCommentValue\", {\n get: function () {\n return this.hasComment || this.hasOther;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isReadOnly\", {\n get: function () {\n var isParentReadOnly = !!this.parent && this.parent.isReadOnly;\n var isPareQuestionReadOnly = !!this.parentQuestion && this.parentQuestion.isReadOnly;\n var isSurveyReadOnly = !!this.survey && this.survey.isDisplayMode;\n return this.readOnly || isParentReadOnly || isSurveyReadOnly || isPareQuestionReadOnly;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isInputReadOnly\", {\n get: function () {\n if (this.forceIsInputReadOnly !== undefined) {\n return this.forceIsInputReadOnly;\n }\n var isDesignModeV2 = _settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].supportCreatorV2 && this.isDesignMode;\n return this.isReadOnly || isDesignModeV2;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"renderedInputReadOnly\", {\n get: function () {\n return this.isInputReadOnly ? \"\" : undefined;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"renderedInputDisabled\", {\n get: function () {\n return this.isInputReadOnly ? \"\" : undefined;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onReadOnlyChanged = function () {\n this.setPropertyValue(\"isInputReadOnly\", this.isInputReadOnly);\n _super.prototype.onReadOnlyChanged.call(this);\n if (this.isReadOnly) {\n this.clearErrors();\n }\n this.updateQuestionCss();\n this.calcRenderedCommentPlaceholder();\n };\n Object.defineProperty(Question.prototype, \"enableIf\", {\n /**\n * A Boolean expression. If it evaluates to `false`, this question becomes read-only.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility)\n * @see readOnly\n * @see isReadOnly\n */\n get: function () {\n return this.getPropertyValue(\"enableIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"enableIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.surveyChoiceItemVisibilityChange = function () { };\n Question.prototype.runCondition = function (values, properties) {\n if (this.isDesignMode)\n return;\n if (!properties)\n properties = {};\n properties[\"question\"] = this;\n this.runConditionCore(values, properties);\n if (!this.isValueChangedDirectly && (!this.isClearValueOnHidden || this.isVisibleInSurvey)) {\n this.defaultValueRunner = this.getDefaultRunner(this.defaultValueRunner, this.defaultValueExpression);\n this.runDefaultValueExpression(this.defaultValueRunner, values, properties);\n }\n };\n Object.defineProperty(Question.prototype, \"no\", {\n /**\n * A question number or letter (depends on the `questionStartIndex` property of the question container (panel, page, or survey)).\n *\n * When the question number, title, or the entire question is invisible, this property returns an empty string.\n * @see SurveyModel.questionStartIndex\n * @see hideNumber\n * @see titleLocation\n * @see visibleIf\n */\n get: function () {\n return this.getPropertyValue(\"no\");\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.calcNo = function () {\n if (!this.hasTitle || this.hideNumber)\n return \"\";\n var no = _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].getNumberByIndex(this.visibleIndex, this.getStartIndex());\n if (!!this.survey) {\n no = this.survey.getUpdatedQuestionNo(this, no);\n }\n return no;\n };\n Question.prototype.getStartIndex = function () {\n if (!!this.parent)\n return this.parent.getQuestionStartIndex();\n if (!!this.survey)\n return this.survey.questionStartIndex;\n return \"\";\n };\n Question.prototype.onSurveyLoad = function () {\n this.isCustomWidgetRequested = false;\n this.fireCallback(this.surveyLoadCallback);\n this.updateValueWithDefaults();\n if (this.isEmpty()) {\n this.initDataFromSurvey();\n }\n this.calcRenderedCommentPlaceholder();\n this.onIndentChanged();\n };\n Question.prototype.onSetData = function () {\n _super.prototype.onSetData.call(this);\n if (!this.survey)\n return;\n this.initDataFromSurvey();\n this.onSurveyValueChanged(this.value);\n this.updateValueWithDefaults();\n this.onIndentChanged();\n this.updateQuestionCss();\n this.updateIsAnswered();\n };\n Question.prototype.initDataFromSurvey = function () {\n if (!!this.data) {\n var val = this.data.getValue(this.getValueName());\n if (!_helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isValueEmpty(val) || !this.isLoadingFromJson) {\n this.updateValueFromSurvey(val);\n }\n this.initCommentFromSurvey();\n }\n };\n Question.prototype.initCommentFromSurvey = function () {\n if (!!this.data && this.requireUpdateCommentValue) {\n this.updateCommentFromSurvey(this.data.getComment(this.getValueName()));\n }\n else {\n this.updateCommentFromSurvey(\"\");\n }\n };\n Question.prototype.runExpression = function (expression) {\n if (!this.survey || !expression)\n return undefined;\n return this.survey.runExpression(expression);\n };\n Object.defineProperty(Question.prototype, \"autoGrowComment\", {\n get: function () {\n return this.survey && this.survey.autoGrowComment;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"allowResizeComment\", {\n get: function () {\n return this.survey && this.survey.allowResizeComment;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"questionValue\", {\n get: function () {\n return this.getPropertyValueWithoutDefault(\"value\");\n },\n set: function (val) {\n this.setPropertyValue(\"value\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"questionComment\", {\n get: function () {\n return this.getPropertyValueWithoutDefault(\"comment\");\n },\n set: function (val) {\n this.setPropertyValue(\"comment\", val);\n this.fireCallback(this.commentChangedCallback);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"isValueArray\", {\n get: function () { return false; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"value\", {\n /**\n * Gets or sets the question value.\n *\n * The following table illustrates how the value type depends on the question type:\n *\n * | Question type | Value type(s) |\n * | ------------- | ------------- |\n * | Checkboxes | `Array` |\n * | Dropdown | `string` \\| `number` |\n * | Dynamic Matrix | `Array` |\n * | Dynamic Panel | `Array` |\n * | Expression | `string` \\| `number` \\| `boolean` |\n * | File Upload | `File` \\| `Array` |\n * | HTML | (no value) |\n * | Image | (no value) |\n * | Image Picker | `Array` |\n * | Long Text | `string` |\n * | Multi-Select Dropdown | `object` |\n * | Multi-Select Matrix | `object` |\n * | Multiple Textboxes | `Array` |\n * | Panel | (no value) |\n * | Radio Button Group | `string` \\| `number` |\n * | Ranking | `Array` |\n * | Rating Scale | `number` \\| `string` |\n * | Signature | `string` (base64-encoded image) |\n * | Single-Line Input | `string` \\| `number` \\| `Date` |\n * | Single-Select Matrix | `object` |\n * | Yes/No (Boolean) | `boolean` \\| `string` |\n */\n get: function () {\n return this.getValueCore();\n },\n set: function (newValue) {\n this.setNewValue(newValue);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"hasFilteredValue\", {\n get: function () { return false; },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getFilteredValue = function () { return this.value; };\n Object.defineProperty(Question.prototype, \"valueForSurvey\", {\n get: function () {\n if (!!this.valueToDataCallback) {\n return this.valueToDataCallback(this.value);\n }\n return this.value;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Sets the question's `value` and `comment` properties to `undefined`.\n * @see value\n * @see comment\n */\n Question.prototype.clearValue = function () {\n if (this.value !== undefined) {\n this.value = undefined;\n }\n if (!!this.comment) {\n this.comment = undefined;\n }\n this.setValueChangedDirectly(false);\n };\n Question.prototype.unbindValue = function () {\n this.clearValue();\n };\n Question.prototype.createValueCopy = function () {\n return this.getUnbindValue(this.value);\n };\n Question.prototype.initDataUI = function () { };\n Question.prototype.getUnbindValue = function (value) {\n if (this.isValueSurveyElement(value))\n return value;\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].getUnbindValue(value);\n };\n Question.prototype.isValueSurveyElement = function (val) {\n if (!val)\n return false;\n if (Array.isArray(val))\n return val.length > 0 ? this.isValueSurveyElement(val[0]) : false;\n return !!val.getType && !!val.onPropertyChanged;\n };\n Question.prototype.canClearValueAsInvisible = function (reason) {\n if (reason === \"onHiddenContainer\" && !this.isParentVisible)\n return true;\n if (this.isVisibleInSurvey)\n return false;\n if (!!this.page && this.page.isStartPage)\n return false;\n if (!this.survey)\n return true;\n return !this.survey.hasVisibleQuestionByValueName(this.getValueName());\n };\n Object.defineProperty(Question.prototype, \"isParentVisible\", {\n /**\n * Returns `true` if a parent element (page or panel) is visible.\n */\n get: function () {\n if (this.parentQuestion && !this.parentQuestion.isVisible)\n return false;\n var parent = this.parent;\n while (parent) {\n if (!parent.isVisible)\n return false;\n parent = parent.parent;\n }\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.clearValueIfInvisible = function (reason) {\n if (reason === void 0) { reason = \"onHidden\"; }\n var clearIf = this.getClearIfInvisible();\n if (clearIf === \"none\")\n return;\n if (reason === \"onHidden\" && clearIf === \"onComplete\")\n return;\n if (reason === \"onHiddenContainer\" && clearIf !== reason)\n return;\n this.clearValueIfInvisibleCore(reason);\n };\n Question.prototype.clearValueIfInvisibleCore = function (reason) {\n if (this.canClearValueAsInvisible(reason)) {\n this.clearValue();\n this.setValueChangedDirectly(undefined);\n }\n };\n Object.defineProperty(Question.prototype, \"clearIfInvisible\", {\n /**\n * Specifies when to clear the question value if the question becomes invisible.\n *\n * Possible values:\n *\n * - `\"default\"` (default) - Inherits the setting from the Survey's [`clearInvisibleValues`](https://surveyjs.io/form-library/documentation/surveymodel#clearInvisibleValues) property.\n * - `\"onHidden\"` - Clears the value when the question becomes invisible. If a question is invisible on startup and has an initial value, this value will be cleared when the survey is complete.\n * - `\"onHiddenContainer\"` - Clears the value when the question or its container (page or panel) becomes invisible. If a question is invisible on startup and has an initial value, this value will be cleared when the survey is complete.\n * - `\"onComplete\"` - Clears the value when the survey is complete.\n * - `\"none\"` - Never clears the value of an invisible question.\n * @see SurveyModel.clearInvisibleValues\n * @see visible\n * @see SurveyModel.onComplete\n */\n get: function () {\n return this.getPropertyValue(\"clearIfInvisible\");\n },\n set: function (val) {\n this.setPropertyValue(\"clearIfInvisible\", val);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getClearIfInvisible = function () {\n var res = this.clearIfInvisible;\n if (!!this.survey)\n return this.survey.getQuestionClearIfInvisible(res);\n return res !== \"default\" ? res : \"onComplete\";\n };\n Object.defineProperty(Question.prototype, \"displayValue\", {\n get: function () {\n if (this.isLoadingFromJson)\n return \"\";\n return this.getDisplayValue(true);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns a display text that corresponds to the question value. For example, if you call this method for a Dropdown question, it returns an item text instead of an item value.\n * @param keysAsText Applies when the question value is an object (in Matrix, Multiple Text, and similar questions). Pass `true` if not only values in the object should be display texts, but also keys. Default value: `false`.\n * @param value Specify this parameter to get a display text for a specific value, not for the current question value. If the question value is an object, this parameter should be a similar object.\n */\n Question.prototype.getDisplayValue = function (keysAsText, value) {\n if (value === void 0) { value = undefined; }\n var res = this.calcDisplayValue(keysAsText, value);\n if (this.survey) {\n res = this.survey.getQuestionDisplayValue(this, res);\n }\n return !!this.displayValueCallback ? this.displayValueCallback(res) : res;\n };\n Question.prototype.calcDisplayValue = function (keysAsText, value) {\n if (value === void 0) { value = undefined; }\n if (this.customWidget) {\n var res = this.customWidget.getDisplayValue(this, value);\n if (res)\n return res;\n }\n value = value == undefined ? this.createValueCopy() : value;\n if (this.isValueEmpty(value, !this.allowSpaceAsAnswer))\n return this.getDisplayValueEmpty();\n return this.getDisplayValueCore(keysAsText, value);\n };\n Question.prototype.getDisplayValueCore = function (keyAsText, value) {\n return value;\n };\n Question.prototype.getDisplayValueEmpty = function () {\n return \"\";\n };\n Object.defineProperty(Question.prototype, \"defaultValue\", {\n /**\n * A default value for the question. Ignored for question types that cannot have a [value](https://surveyjs.io/form-library/documentation/question#value) (for example, HTML).\n *\n * The default value is used as a question value in the following cases:\n *\n * - While the survey is being loaded from JSON.\n * - The question is just added to the survey and does not yet have an answer.\n * - The respondent left the answer empty.\n * @see defaultValueExpression\n */\n get: function () {\n return this.getPropertyValue(\"defaultValue\");\n },\n set: function (val) {\n if (this.isValueExpression(val)) {\n this.defaultValueExpression = val.substring(1);\n return;\n }\n this.setPropertyValue(\"defaultValue\", this.convertDefaultValue(val));\n this.updateValueWithDefaults();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"defaultValueExpression\", {\n /**\n * An expression used to calculate the [defaultValue](https://surveyjs.io/form-library/documentation/question#defaultValue).\n *\n * This expression applies until the question [value](https://surveyjs.io/form-library/documentation/question#value) is specified by an end user or programmatically.\n *\n * An expression can reference other questions as follows:\n *\n * - `{other_question_name}`\n * - `{panel.other_question_name}` (to access questions inside the same dynamic panel)\n * - `{row.other_question_name}` (to access questions inside the same dynamic matrix or multi-column dropdown)\n *\n * An expression can also include built-in and custom functions for advanced calculations. For example, if the `defaultValue` should be today's date, set the `defaultValueExpression` to `\"today()\"`, and the corresponding built-in function will be executed each time the survey is loaded. Refer to the following help topic for more information: [Built-In Functions](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#built-in-functions).\n *\n * [View Demo](https://surveyjs.io/form-library/examples/specify-default-question-value-dynamically (linkStyle))\n * @see defaultValue\n * @see setValueExpression\n */\n get: function () {\n return this.getPropertyValue(\"defaultValueExpression\");\n },\n set: function (val) {\n this.setPropertyValue(\"defaultValueExpression\", val);\n this.defaultValueRunner = undefined;\n this.updateValueWithDefaults();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"resetValueIf\", {\n /**\n * A Boolean expression. If it evaluates to `true`, the question value is reset to [default](#defaultValue).\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))\n * @see setValueIf\n */\n get: function () {\n return this.getPropertyValue(\"resetValueIf\");\n },\n set: function (val) {\n this.setPropertyValue(\"resetValueIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"setValueIf\", {\n /**\n * A Boolean expression. If it evaluates to `true`, the question value is set to a value calculated using the [`setValueExpression`](#setValueExpression).\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))\n * @see resetValueIf\n */\n get: function () {\n return this.getPropertyValue(\"setValueIf\");\n },\n set: function (val) {\n this.setPropertyValue(\"setValueIf\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"setValueExpression\", {\n /**\n * An expression used to calculate the question value.\n *\n * You can use `setValueExpression` as a standalone property or in conjunction with the [`setValueIf`](#setValueIf) expression, in which case the calculated question value applies only when `setValueIf` evaluates to `true`.\n *\n * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))\n * @see defaultValueExpression\n * @see resetValueIf\n */\n get: function () {\n return this.getPropertyValue(\"setValueExpression\");\n },\n set: function (val) {\n this.setPropertyValue(\"setValueExpression\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"resizeStyle\", {\n get: function () {\n return this.allowResizeComment ? \"both\" : \"none\";\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns the question value as an object in which the question name, title, value, and other parameters are stored as individual properties.\n *\n * If the question can have more than one value (Matrix, Multiple Text), the object enables the `isNode` flag and stores information about these values in the `data` property. Refer to the following help topic for more information: [Access Full Survey Results](https://surveyjs.io/form-library/documentation/handle-survey-results-access#access-full-survey-results).\n *\n * Pass an object with the `includeEmpty` property set to `false` if you want to skip empty answers.\n */\n Question.prototype.getPlainData = function (options) {\n var _this = this;\n if (!options) {\n options = { includeEmpty: true, includeQuestionTypes: false };\n }\n if (options.includeEmpty || !this.isEmpty()) {\n var questionPlainData = {\n name: this.name,\n title: this.locTitle.renderedHtml,\n value: this.value,\n displayValue: this.displayValue,\n isNode: false,\n getString: function (val) {\n return typeof val === \"object\" ? JSON.stringify(val) : val;\n },\n };\n if (options.includeQuestionTypes === true) {\n questionPlainData.questionType = this.getType();\n }\n (options.calculations || []).forEach(function (calculation) {\n questionPlainData[calculation.propertyName] = _this.getPlainDataCalculatedValue(calculation.propertyName);\n });\n if (this.hasComment) {\n questionPlainData.isNode = true;\n questionPlainData.data = [\n {\n name: 0,\n isComment: true,\n title: \"Comment\",\n value: _settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].commentSuffix,\n displayValue: this.comment,\n getString: function (val) {\n return typeof val === \"object\" ? JSON.stringify(val) : val;\n },\n isNode: false,\n },\n ];\n }\n return questionPlainData;\n }\n return undefined;\n };\n Question.prototype.getPlainDataCalculatedValue = function (propName) {\n return this[propName];\n };\n Object.defineProperty(Question.prototype, \"correctAnswer\", {\n /**\n * A correct answer to this question. Specify this property if you want to [create a quiz](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).\n * @see SurveyModel.getCorrectAnswerCount\n * @see SurveyModel.getInCorrectAnswerCount\n */\n get: function () {\n return this.getPropertyValue(\"correctAnswer\");\n },\n set: function (val) {\n this.setPropertyValue(\"correctAnswer\", this.convertDefaultValue(val));\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.convertDefaultValue = function (val) {\n return val;\n };\n Object.defineProperty(Question.prototype, \"quizQuestionCount\", {\n /**\n * The number of quiz questions. A question counts if it is visible, has an input field, and specifies `correctAnswer`.\n * @see [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz)\n * @see correctAnswer\n * @see SurveyModel.getQuizQuestions\n */\n get: function () {\n if (this.isVisible &&\n this.hasInput &&\n !this.isValueEmpty(this.correctAnswer))\n return this.getQuizQuestionCount();\n return 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"correctAnswerCount\", {\n get: function () {\n if (!this.isEmpty() && !this.isValueEmpty(this.correctAnswer))\n return this.getCorrectAnswerCount();\n return 0;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getQuizQuestionCount = function () {\n return 1;\n };\n Question.prototype.getCorrectAnswerCount = function () {\n return this.checkIfAnswerCorrect() ? 1 : 0;\n };\n Question.prototype.checkIfAnswerCorrect = function () {\n var isEqual = _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isTwoValueEquals(this.value, this.correctAnswer, this.getAnswerCorrectIgnoreOrder(), _settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].comparator.caseSensitive, true);\n var correct = isEqual ? 1 : 0;\n var options = { result: isEqual, correctAnswer: correct, correctAnswers: correct, incorrectAnswers: this.quizQuestionCount - correct };\n if (!!this.survey) {\n this.survey.onCorrectQuestionAnswer(this, options);\n }\n return options.result;\n };\n Question.prototype.getAnswerCorrectIgnoreOrder = function () { return false; };\n /**\n * Returns `true` if a question answer matches the `correctAnswer` property value.\n *\n * [View Demo](https://surveyjs.io/form-library/examples/create-a-scored-quiz (linkStyle))\n * @see correctAnswer\n * @see SurveyModel.getQuizQuestions\n */\n Question.prototype.isAnswerCorrect = function () {\n return this.correctAnswerCount == this.quizQuestionCount;\n };\n Question.prototype.updateValueWithDefaults = function () {\n if (this.isLoadingFromJson || (!this.isDesignMode && this.isDefaultValueEmpty()))\n return;\n if (!this.isDesignMode && !this.isEmpty())\n return;\n if (this.isEmpty() && this.isDefaultValueEmpty())\n return;\n if (this.isClearValueOnHidden && !this.isVisible)\n return;\n if (this.isDesignMode && this.isContentElement && this.isDefaultValueEmpty())\n return;\n this.setDefaultValue();\n };\n Object.defineProperty(Question.prototype, \"isClearValueOnHidden\", {\n get: function () {\n var clearIf = this.getClearIfInvisible();\n if (clearIf === \"none\" || clearIf === \"onComplete\")\n return false;\n return clearIf === \"onHidden\" || clearIf === \"onHiddenContainer\";\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getQuestionFromArray = function (name, index) {\n return null;\n };\n Question.prototype.getDefaultValue = function () {\n return this.defaultValue;\n };\n Question.prototype.isDefaultValueEmpty = function () {\n return !this.defaultValueExpression && this.isValueEmpty(this.defaultValue, !this.allowSpaceAsAnswer);\n };\n Question.prototype.getDefaultRunner = function (runner, expression) {\n if (!runner && !!expression) {\n runner = this.createExpressionRunner(expression);\n }\n if (!!runner) {\n runner.expression = expression;\n }\n return runner;\n };\n Question.prototype.setDefaultValue = function () {\n var _this = this;\n this.setDefaultValueCore(function (val) {\n if (!_this.isTwoValueEquals(_this.value, val)) {\n _this.value = val;\n }\n });\n };\n Question.prototype.setDefaultValueCore = function (func) {\n this.defaultValueRunner = this.getDefaultRunner(this.defaultValueRunner, this.defaultValueExpression);\n this.setValueAndRunExpression(this.defaultValueRunner, this.getUnbindValue(this.defaultValue), function (val) { return func(val); });\n };\n Question.prototype.isValueExpression = function (val) {\n return !!val && typeof val == \"string\" && val.length > 0 && val[0] == \"=\";\n };\n Question.prototype.setValueAndRunExpression = function (runner, defaultValue, setFunc, values, properties) {\n var _this = this;\n if (values === void 0) { values = null; }\n if (properties === void 0) { properties = null; }\n var func = function (val) {\n _this.runExpressionSetValue(val, setFunc);\n };\n if (!this.runDefaultValueExpression(runner, values, properties, func)) {\n func(defaultValue);\n }\n };\n Question.prototype.convertFuncValuetoQuestionValue = function (val) {\n return _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].convertValToQuestionVal(val);\n };\n Question.prototype.runExpressionSetValue = function (val, setFunc) {\n setFunc(this.convertFuncValuetoQuestionValue(val));\n };\n Question.prototype.runDefaultValueExpression = function (runner, values, properties, setFunc) {\n var _this = this;\n if (values === void 0) { values = null; }\n if (properties === void 0) { properties = null; }\n if (!runner || !this.data)\n return false;\n if (!setFunc) {\n setFunc = function (val) {\n _this.runExpressionSetValue(val, function (val) {\n if (!_this.isTwoValueEquals(_this.value, val)) {\n _this.value = val;\n }\n });\n };\n }\n if (!values)\n values = this.data.getFilteredValues();\n if (!properties)\n properties = this.data.getFilteredProperties();\n if (!!runner && runner.canRun) {\n runner.onRunComplete = function (res) {\n if (res == undefined)\n res = _this.defaultValue;\n _this.isChangingViaDefaultValue = true;\n setFunc(res);\n _this.isChangingViaDefaultValue = false;\n };\n runner.run(values, properties);\n }\n return true;\n };\n Object.defineProperty(Question.prototype, \"comment\", {\n /**\n * A comment to the selected question value. Enable the `showCommentArea` property to allow users to leave comments.\n * @see showCommentArea\n * @see commentText\n */\n get: function () {\n return this.getQuestionComment();\n },\n set: function (newValue) {\n if (!!newValue) {\n var trimmedValue = newValue.toString().trim();\n if (trimmedValue !== newValue) {\n newValue = trimmedValue;\n if (newValue === this.comment) {\n this.setPropertyValueDirectly(\"comment\", newValue);\n }\n }\n }\n if (this.comment == newValue)\n return;\n this.setQuestionComment(newValue);\n this.updateCommentElements();\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getCommentAreaCss = function (isOther) {\n if (isOther === void 0) { isOther = false; }\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(\"form-group\", isOther)\n .append(this.cssClasses.formGroup, !isOther)\n .append(this.cssClasses.commentArea)\n .toString();\n };\n Question.prototype.getQuestionComment = function () {\n return this.questionComment;\n };\n Question.prototype.setQuestionComment = function (newValue) {\n this.setNewComment(newValue);\n };\n /**\n * Returns `true` if the question value is an empty string, array, or object or if it equals `undefined` or `null`.\n */\n Question.prototype.isEmpty = function () {\n return this.isValueEmpty(this.value, !this.allowSpaceAsAnswer);\n };\n Object.defineProperty(Question.prototype, \"isAnswered\", {\n get: function () {\n return this.getPropertyValue(\"isAnswered\");\n },\n set: function (val) {\n this.setPropertyValue(\"isAnswered\", val);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.updateIsAnswered = function () {\n var oldVal = this.isAnswered;\n this.setPropertyValue(\"isAnswered\", this.getIsAnswered());\n if (oldVal !== this.isAnswered) {\n this.updateQuestionCss();\n }\n };\n Question.prototype.getIsAnswered = function () {\n return !this.isEmpty();\n };\n Object.defineProperty(Question.prototype, \"validators\", {\n /**\n * Question validators.\n * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)\n */\n get: function () {\n return this.getPropertyValue(\"validators\");\n },\n set: function (val) {\n this.setPropertyValue(\"validators\", val);\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getValidators = function () {\n return this.validators;\n };\n Question.prototype.getSupportedValidators = function () {\n var res = [];\n var className = this.getType();\n while (!!className) {\n var classValidators = _settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].supportedValidators[className];\n if (!!classValidators) {\n for (var i = classValidators.length - 1; i >= 0; i--) {\n res.splice(0, 0, classValidators[i]);\n }\n }\n var classInfo = _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].findClass(className);\n className = classInfo.parentName;\n }\n return res;\n };\n Question.prototype.addConditionObjectsByContext = function (objects, context) {\n objects.push({\n name: this.getValueName(),\n text: this.processedTitle,\n question: this,\n });\n };\n /**\n * Returns an array of questions nested within the current question. Use this method to obtain questions within [Multiple Text](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model), [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model), and [Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model)-like questions.\n * @param visibleOnly A Boolean value that specifies whether to include only visible nested questions.\n * @returns An array of nested questions.\n */\n Question.prototype.getNestedQuestions = function (visibleOnly) {\n if (visibleOnly === void 0) { visibleOnly = false; }\n var res = [];\n this.collectNestedQuestions(res, visibleOnly);\n if (res.length === 1 && res[0] === this)\n return [];\n return res;\n };\n Question.prototype.collectNestedQuestions = function (questions, visibleOnly) {\n if (visibleOnly === void 0) { visibleOnly = false; }\n if (visibleOnly && !this.isVisible)\n return;\n this.collectNestedQuestionsCore(questions, visibleOnly);\n };\n Question.prototype.collectNestedQuestionsCore = function (questions, visibleOnly) {\n questions.push(this);\n };\n Question.prototype.getConditionJson = function (operator, path) {\n if (operator === void 0) { operator = null; }\n if (path === void 0) { path = null; }\n var json = new _jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"JsonObject\"]().toJsonObject(this);\n json[\"type\"] = this.getType();\n return json;\n };\n Question.prototype.hasErrors = function (fireCallback, rec) {\n if (fireCallback === void 0) { fireCallback = true; }\n if (rec === void 0) { rec = null; }\n var oldHasErrors = this.errors.length > 0;\n var errors = this.checkForErrors(!!rec && rec.isOnValueChanged === true);\n if (fireCallback) {\n if (!!this.survey) {\n this.survey.beforeSettingQuestionErrors(this, errors);\n }\n this.errors = errors;\n if (this.errors !== errors) {\n this.errors.forEach(function (er) { return er.locText.strChanged(); });\n }\n }\n this.updateContainsErrors();\n if (this.isCollapsed && rec && fireCallback && errors.length > 0) {\n this.expand();\n }\n return errors.length > 0;\n };\n /**\n * Validates this question and returns `false` if the validation fails.\n * @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.\n * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)\n */\n Question.prototype.validate = function (fireCallback, rec) {\n if (fireCallback === void 0) { fireCallback = true; }\n if (rec === void 0) { rec = null; }\n if (!!rec && rec.isOnValueChanged) {\n if (!!this.parent) {\n this.parent.validateContainerOnly();\n }\n }\n return !this.hasErrors(fireCallback, rec);\n };\n Object.defineProperty(Question.prototype, \"currentErrorCount\", {\n get: function () {\n return this.errors.length;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"requiredText\", {\n /**\n * Returns a character or text string that indicates a required question.\n * @see SurveyModel.requiredText\n * @see isRequired\n */\n get: function () {\n return this.survey != null && this.isRequired\n ? this.survey.requiredText\n : \"\";\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.addError = function (error) {\n if (!error)\n return;\n var newError = null;\n if (typeof error === \"string\" || error instanceof String) {\n newError = new _error__WEBPACK_IMPORTED_MODULE_3__[\"CustomError\"](error, this.survey);\n }\n else {\n newError = error;\n }\n this.errors.push(newError);\n };\n Question.prototype.removeError = function (error) {\n var errors = this.errors;\n var index = errors.indexOf(error);\n if (index !== -1)\n errors.splice(index, 1);\n };\n Question.prototype.checkForErrors = function (isOnValueChanged) {\n var qErrors = new Array();\n if (this.isVisible && this.canCollectErrors()) {\n this.collectErrors(qErrors, isOnValueChanged);\n }\n return qErrors;\n };\n Question.prototype.canCollectErrors = function () {\n return !this.isReadOnly || _settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].readOnly.enableValidation;\n };\n Question.prototype.collectErrors = function (qErrors, isOnValueChanged) {\n this.onCheckForErrors(qErrors, isOnValueChanged);\n if (qErrors.length > 0 || !this.canRunValidators(isOnValueChanged))\n return;\n var errors = this.runValidators();\n if (errors.length > 0) {\n //validators may change the question value.\n qErrors.length = 0;\n for (var i = 0; i < errors.length; i++) {\n qErrors.push(errors[i]);\n }\n }\n if (this.survey && qErrors.length == 0) {\n var error = this.fireSurveyValidation();\n if (error) {\n qErrors.push(error);\n }\n }\n };\n Question.prototype.canRunValidators = function (isOnValueChanged) {\n return true;\n };\n Question.prototype.fireSurveyValidation = function () {\n if (this.validateValueCallback)\n return this.validateValueCallback();\n return this.survey ? this.survey.validateQuestion(this) : null;\n };\n Question.prototype.onCheckForErrors = function (errors, isOnValueChanged) {\n var _this = this;\n if ((!isOnValueChanged || this.isOldAnswered) && this.hasRequiredError()) {\n var err = new _error__WEBPACK_IMPORTED_MODULE_3__[\"AnswerRequiredError\"](this.requiredErrorText, this);\n err.onUpdateErrorTextCallback = function (err) { err.text = _this.requiredErrorText; };\n errors.push(err);\n }\n };\n Question.prototype.hasRequiredError = function () {\n return this.isRequired && this.isEmpty();\n };\n Object.defineProperty(Question.prototype, \"isRunningValidators\", {\n get: function () {\n return this.getIsRunningValidators();\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getIsRunningValidators = function () {\n return this.isRunningValidatorsValue;\n };\n Question.prototype.runValidators = function () {\n var _this = this;\n if (!!this.validatorRunner) {\n this.validatorRunner.onAsyncCompleted = null;\n }\n this.validatorRunner = new _validator__WEBPACK_IMPORTED_MODULE_4__[\"ValidatorRunner\"]();\n this.isRunningValidatorsValue = true;\n this.validatorRunner.onAsyncCompleted = function (errors) {\n _this.doOnAsyncCompleted(errors);\n };\n return this.validatorRunner.run(this);\n };\n Question.prototype.doOnAsyncCompleted = function (errors) {\n for (var i = 0; i < errors.length; i++) {\n this.errors.push(errors[i]);\n }\n this.isRunningValidatorsValue = false;\n this.raiseOnCompletedAsyncValidators();\n };\n Question.prototype.raiseOnCompletedAsyncValidators = function () {\n if (!!this.onCompletedAsyncValidators && !this.isRunningValidators) {\n this.onCompletedAsyncValidators(this.getAllErrors().length > 0);\n this.onCompletedAsyncValidators = null;\n }\n };\n Question.prototype.setNewValue = function (newValue) {\n if (this.isNewValueEqualsToValue(newValue))\n return;\n if (!this.checkIsValueCorrect(newValue))\n return;\n this.isOldAnswered = this.isAnswered;\n this.isSettingQuestionValue = true;\n this.setNewValueInData(newValue);\n this.allowNotifyValueChanged && this.onValueChanged();\n this.isSettingQuestionValue = false;\n if (this.isAnswered !== this.isOldAnswered) {\n this.updateQuestionCss();\n }\n this.isOldAnswered = undefined;\n };\n Question.prototype.checkIsValueCorrect = function (val) {\n var res = this.isValueEmpty(val, !this.allowSpaceAsAnswer) || this.isNewValueCorrect(val);\n if (!res) {\n _console_warnings__WEBPACK_IMPORTED_MODULE_12__[\"ConsoleWarnings\"].inCorrectQuestionValue(this.name, val);\n }\n return res;\n };\n Question.prototype.isNewValueCorrect = function (val) {\n return true;\n };\n Question.prototype.isNewValueEqualsToValue = function (newValue) {\n var val = this.value;\n if (!this.isTwoValueEquals(newValue, val, false, false))\n return false;\n var isObj = newValue === val && !!val && (Array.isArray(val) || typeof val === \"object\");\n return !isObj;\n };\n Question.prototype.isTextValue = function () {\n return false;\n };\n Object.defineProperty(Question.prototype, \"isSurveyInputTextUpdate\", {\n get: function () {\n return !!this.survey ? this.survey.isUpdateValueTextOnTyping : false;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"requireStrictCompare\", {\n get: function () { return false; },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getDataLocNotification = function () {\n return this.isInputTextUpdate ? \"text\" : false;\n };\n Object.defineProperty(Question.prototype, \"isInputTextUpdate\", {\n get: function () {\n return this.isSurveyInputTextUpdate && this.isTextValue();\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.setNewValueInData = function (newValue) {\n newValue = this.valueToData(newValue);\n if (!this.isValueChangedInSurvey) {\n this.setValueCore(newValue);\n }\n };\n Question.prototype.getValueCore = function () {\n return this.questionValue;\n };\n Question.prototype.setValueCore = function (newValue) {\n this.setQuestionValue(newValue);\n if (this.data != null && this.canSetValueToSurvey()) {\n newValue = this.valueForSurvey;\n this.data.setValue(this.getValueName(), newValue, this.getDataLocNotification(), this.allowNotifyValueChanged, this.name);\n }\n this.isMouseDown = false;\n };\n Question.prototype.canSetValueToSurvey = function () {\n return true;\n };\n Question.prototype.valueFromData = function (val) { return val; };\n Question.prototype.valueToData = function (val) { return val; };\n Question.prototype.convertToCorrectValue = function (val) { return val; };\n Question.prototype.onValueChanged = function () { };\n Question.prototype.onMouseDown = function () {\n this.isMouseDown = true;\n };\n Question.prototype.setNewComment = function (newValue) {\n if (this.questionComment === newValue)\n return;\n this.questionComment = newValue;\n if (this.data != null) {\n this.data.setComment(this.getValueName(), newValue, this.isSurveyInputTextUpdate ? \"text\" : false);\n }\n };\n Question.prototype.getValidName = function (name) {\n return makeNameValid(name);\n };\n //IQuestion\n Question.prototype.updateValueFromSurvey = function (newValue, clearData) {\n var _this = this;\n if (clearData === void 0) { clearData = false; }\n newValue = this.getUnbindValue(newValue);\n if (!!this.valueFromDataCallback) {\n newValue = this.valueFromDataCallback(newValue);\n }\n if (!this.checkIsValueCorrect(newValue))\n return;\n var isEmpty = this.isValueEmpty(newValue);\n if (!isEmpty && this.defaultValueExpression) {\n this.setDefaultValueCore(function (val) {\n _this.updateValueFromSurveyCore(newValue, _this.isTwoValueEquals(newValue, val));\n });\n }\n else {\n this.updateValueFromSurveyCore(newValue, this.data !== this.getSurvey());\n if (clearData && isEmpty) {\n this.isValueChangedDirectly = false;\n }\n }\n this.updateDependedQuestions();\n this.updateIsAnswered();\n };\n Question.prototype.updateValueFromSurveyCore = function (newValue, viaDefaultVal) {\n this.isChangingViaDefaultValue = viaDefaultVal;\n this.setQuestionValue(this.valueFromData(newValue));\n this.isChangingViaDefaultValue = false;\n };\n Question.prototype.updateCommentFromSurvey = function (newValue) {\n this.questionComment = newValue;\n };\n Question.prototype.onChangeQuestionValue = function (newValue) { };\n Question.prototype.setValueChangedDirectly = function (val) {\n this.isValueChangedDirectly = val;\n if (!!this.setValueChangedDirectlyCallback) {\n this.setValueChangedDirectlyCallback(val);\n }\n };\n Question.prototype.setQuestionValue = function (newValue, updateIsAnswered) {\n if (updateIsAnswered === void 0) { updateIsAnswered = true; }\n newValue = this.convertToCorrectValue(newValue);\n var isEqual = this.isTwoValueEquals(this.questionValue, newValue);\n if (!isEqual && !this.isChangingViaDefaultValue && !this.isParentChangingViaDefaultValue) {\n this.setValueChangedDirectly(true);\n }\n this.questionValue = newValue;\n if (!isEqual) {\n this.onChangeQuestionValue(newValue);\n }\n !isEqual && this.allowNotifyValueChanged &&\n this.fireCallback(this.valueChangedCallback);\n if (updateIsAnswered)\n this.updateIsAnswered();\n };\n Object.defineProperty(Question.prototype, \"isParentChangingViaDefaultValue\", {\n get: function () {\n var _a;\n return ((_a = this.data) === null || _a === void 0 ? void 0 : _a.isChangingViaDefaultValue) === true;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.onSurveyValueChanged = function (newValue) { };\n Question.prototype.setVisibleIndex = function (val) {\n if (!this.isVisible ||\n (!this.hasTitle && !_settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].numbering.includeQuestionsWithHiddenTitle) ||\n (this.hideNumber && !_settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].numbering.includeQuestionsWithHiddenNumber)) {\n val = -1;\n }\n this.setPropertyValue(\"visibleIndex\", val);\n this.setPropertyValue(\"no\", this.calcNo());\n return val < 0 ? 0 : 1;\n };\n Question.prototype.removeElement = function (element) {\n return false;\n };\n Question.prototype.supportGoNextPageAutomatic = function () {\n return false;\n };\n Question.prototype.supportGoNextPageError = function () {\n return true;\n };\n /**\n * Removes values that cannot be assigned to this question, for example, choices unlisted in the `choices` array.\n *\n * Call this method after you assign new question values in code to ensure that they are acceptable.\n *\n * > This method does not remove values that fail validation. Call the `validate()` method to validate newly assigned values.\n *\n * @see validate\n */\n Question.prototype.clearIncorrectValues = function () { };\n Question.prototype.clearOnDeletingContainer = function () { };\n /**\n * Empties the `errors` array.\n * @see errors\n */\n Question.prototype.clearErrors = function () {\n this.errors = [];\n };\n Question.prototype.clearUnusedValues = function () { };\n Question.prototype.onAnyValueChanged = function (name, questionName) { };\n Question.prototype.checkBindings = function (valueName, value) {\n if (this.bindings.isEmpty() || !this.data)\n return;\n var props = this.bindings.getPropertiesByValueName(valueName);\n for (var i = 0; i < props.length; i++) {\n var propName = props[i];\n if (this.isValueEmpty(value) && _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Helpers\"].isNumber(this[propName])) {\n value = 0;\n }\n this[propName] = value;\n }\n };\n Question.prototype.getComponentName = function () {\n return _rendererFactory__WEBPACK_IMPORTED_MODULE_9__[\"RendererFactory\"].Instance.getRendererByQuestion(this);\n };\n Question.prototype.isDefaultRendering = function () {\n return (!!this.customWidget ||\n this.renderAs === \"default\" ||\n this.getComponentName() === \"default\");\n };\n //ISurveyErrorOwner\n Question.prototype.getErrorCustomText = function (text, error) {\n if (!!this.survey)\n return this.survey.getSurveyErrorCustomText(this, text, error);\n return text;\n };\n //IValidatorOwner\n Question.prototype.getValidatorTitle = function () {\n return null;\n };\n Object.defineProperty(Question.prototype, \"validatedValue\", {\n get: function () {\n return this.value;\n },\n set: function (val) {\n this.value = val;\n },\n enumerable: false,\n configurable: true\n });\n Question.prototype.getAllValues = function () {\n return !!this.data ? this.data.getAllValues() : null;\n };\n Question.prototype.processPopupVisiblilityChanged = function (popupModel, visible) {\n this.survey.processPopupVisiblityChanged(this, popupModel, visible);\n };\n Question.prototype.onTextKeyDownHandler = function (event) {\n if (event.keyCode === 13) {\n this.survey.questionEditFinishCallback(this, event);\n }\n };\n Question.prototype.transformToMobileView = function () { };\n Question.prototype.transformToDesktopView = function () { };\n Question.prototype.needResponsiveWidth = function () {\n return false;\n };\n //responsiveness methods\n Question.prototype.supportResponsiveness = function () {\n return false;\n };\n Question.prototype.needResponsiveness = function () {\n return this.supportResponsiveness() && this.isDefaultV2Theme && !this.isDesignMode;\n };\n Question.prototype.checkForResponsiveness = function (el) {\n var _this = this;\n if (this.needResponsiveness()) {\n if (this.isCollapsed) {\n var onStateChanged = function () {\n if (_this.isExpanded) {\n _this.initResponsiveness(el);\n _this.unregisterPropertyChangedHandlers([\"state\"], \"for-responsiveness\");\n }\n };\n this.registerPropertyChangedHandlers([\"state\"], onStateChanged, \"for-responsiveness\");\n }\n else {\n this.initResponsiveness(el);\n }\n }\n };\n Question.prototype.getObservedElementSelector = function () {\n return \".sd-scrollable-container\";\n };\n Question.prototype.onMobileChanged = function () {\n this.onMobileChangedCallback && this.onMobileChangedCallback();\n };\n Question.prototype.triggerResponsiveness = function (hard) {\n if (hard === void 0) { hard = true; }\n if (this.triggerResponsivenessCallback) {\n this.triggerResponsivenessCallback(hard);\n }\n };\n Question.prototype.initResponsiveness = function (el) {\n var _this = this;\n this.destroyResizeObserver();\n if (!!el && this.isDefaultRendering()) {\n var scrollableSelector_1 = this.getObservedElementSelector();\n if (!scrollableSelector_1)\n return;\n var defaultRootEl = el.querySelector(scrollableSelector_1);\n if (!defaultRootEl)\n return;\n var isProcessed_1 = false;\n var requiredWidth_1 = undefined;\n this.triggerResponsivenessCallback = function (hard) {\n if (hard) {\n requiredWidth_1 = undefined;\n _this.renderAs = \"default\";\n isProcessed_1 = false;\n }\n var callback = function () {\n var rootEl = el.querySelector(scrollableSelector_1);\n if (!requiredWidth_1 && _this.isDefaultRendering()) {\n requiredWidth_1 = rootEl.scrollWidth;\n }\n if (isProcessed_1 || !Object(_utils_utils__WEBPACK_IMPORTED_MODULE_11__[\"isContainerVisible\"])(rootEl)) {\n isProcessed_1 = false;\n }\n else {\n isProcessed_1 = _this.processResponsiveness(requiredWidth_1, Object(_utils_utils__WEBPACK_IMPORTED_MODULE_11__[\"getElementWidth\"])(rootEl));\n }\n };\n if (hard) {\n setTimeout(callback, 1);\n }\n else {\n callback();\n }\n };\n this.resizeObserver = new ResizeObserver(function (entries) {\n window.requestAnimationFrame(function () {\n _this.triggerResponsiveness(false);\n });\n });\n this.onMobileChangedCallback = function () {\n setTimeout(function () {\n var rootEl = el.querySelector(scrollableSelector_1);\n _this.processResponsiveness(requiredWidth_1, Object(_utils_utils__WEBPACK_IMPORTED_MODULE_11__[\"getElementWidth\"])(rootEl));\n }, 0);\n };\n this.resizeObserver.observe(el);\n }\n };\n Question.prototype.getCompactRenderAs = function () {\n return \"default\";\n };\n Question.prototype.getDesktopRenderAs = function () {\n return \"default\";\n };\n Question.prototype.processResponsiveness = function (requiredWidth, availableWidth) {\n availableWidth = Math.round(availableWidth);\n if (Math.abs(requiredWidth - availableWidth) > 2) {\n var oldRenderAs = this.renderAs;\n if (requiredWidth > availableWidth) {\n this.renderAs = this.getCompactRenderAs();\n }\n else {\n this.renderAs = this.getDesktopRenderAs();\n }\n return oldRenderAs !== this.renderAs;\n }\n return false;\n };\n Question.prototype.destroyResizeObserver = function () {\n if (!!this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = undefined;\n this.onMobileChangedCallback = undefined;\n this.triggerResponsivenessCallback = undefined;\n this.renderAs = this.getDesktopRenderAs();\n }\n };\n Question.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n this.resetDependedQuestions();\n this.destroyResizeObserver();\n };\n Question.prototype.resetDependedQuestions = function () {\n for (var i = 0; i < this.dependedQuestions.length; i++) {\n this.dependedQuestions[i].resetDependedQuestion();\n }\n };\n Object.defineProperty(Question.prototype, \"isNewA11yStructure\", {\n //a11y\n get: function () {\n return false;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"ariaLabel\", {\n get: function () {\n if (this.isNewA11yStructure)\n return null;\n return this.locTitle.renderedHtml;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"ariaRole\", {\n get: function () {\n if (this.isNewA11yStructure)\n return null;\n return \"textbox\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"ariaRequired\", {\n get: function () {\n if (this.isNewA11yStructure)\n return null;\n return this.isRequired ? \"true\" : \"false\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"ariaInvalid\", {\n get: function () {\n if (this.isNewA11yStructure)\n return null;\n return this.hasCssError() ? \"true\" : \"false\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"ariaLabelledBy\", {\n get: function () {\n if (this.isNewA11yStructure)\n return null;\n if (this.hasTitle) {\n return this.ariaTitleId;\n }\n else {\n return null;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"ariaExpanded\", {\n get: function () {\n return null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"ariaDescribedBy\", {\n get: function () {\n if (this.isNewA11yStructure)\n return null;\n return this.hasCssError() ? this.id + \"_errors\" : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"a11y_input_ariaRole\", {\n //EO a11y\n //new a11y\n get: function () {\n return null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"a11y_input_ariaRequired\", {\n get: function () {\n return this.isRequired ? \"true\" : \"false\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"a11y_input_ariaInvalid\", {\n get: function () {\n return this.hasCssError() ? \"true\" : \"false\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"a11y_input_ariaLabel\", {\n get: function () {\n if (this.hasTitle && !this.parentQuestion) {\n return null;\n }\n else {\n return this.locTitle.renderedHtml;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"a11y_input_ariaLabelledBy\", {\n get: function () {\n if (this.hasTitle && !this.parentQuestion) {\n return this.ariaTitleId;\n }\n else {\n return null;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Question.prototype, \"a11y_input_ariaDescribedBy\", {\n get: function () {\n return this.hasCssError() ? this.id + \"_errors\" : null;\n },\n enumerable: false,\n configurable: true\n });\n Question.TextPreprocessorValuesMap = {\n title: \"processedTitle\",\n require: \"requiredText\",\n };\n Question.questionCounter = 100;\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: false })\n ], Question.prototype, \"isMobile\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Question.prototype, \"forceIsInputReadOnly\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ localizable: true, onSet: function (val, target) { return target.calcRenderedCommentPlaceholder(); } })\n ], Question.prototype, \"commentPlaceholder\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], Question.prototype, \"renderAs\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ defaultValue: false })\n ], Question.prototype, \"inMatrixMode\", void 0);\n return Question;\n}(_survey_element__WEBPACK_IMPORTED_MODULE_2__[\"SurveyElement\"]));\n\nfunction makeNameValid(str) {\n if (!str)\n return str;\n str = str.trim().replace(/[\\{\\}]+/g, \"\");\n while (!!str && str[0] === _settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].expressionDisableConversionChar) {\n str = str.substring(1);\n }\n return str;\n}\n_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].addClass(\"question\", [\n { name: \"!name\", onSettingValue: function (obj, val) { return makeNameValid(val); } },\n {\n name: \"state\",\n default: \"default\",\n choices: [\"default\", \"collapsed\", \"expanded\"],\n },\n { name: \"visible:switch\", default: true, overridingProperty: \"visibleIf\" },\n { name: \"useDisplayValuesInDynamicTexts:boolean\", alternativeName: \"useDisplayValuesInTitle\", default: true, layout: \"row\" },\n \"visibleIf:condition\",\n { name: \"width\" },\n { name: \"minWidth\", defaultFunc: function () { return _settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].minWidth; } },\n { name: \"maxWidth\", defaultFunc: function () { return _settings__WEBPACK_IMPORTED_MODULE_8__[\"settings\"].maxWidth; } },\n { name: \"startWithNewLine:boolean\", default: true, layout: \"row\" },\n { name: \"indent:number\", default: 0, choices: [0, 1, 2, 3], layout: \"row\" },\n {\n name: \"page\",\n isSerializable: false,\n visibleIf: function (obj) {\n var survey = obj ? obj.survey : null;\n return !survey || !survey.pages || survey.pages.length > 1;\n },\n choices: function (obj) {\n var survey = obj ? obj.survey : null;\n return survey\n ? survey.pages.map(function (p) {\n return { value: p.name, text: p.title };\n })\n : [];\n },\n },\n {\n name: \"title:text\", serializationProperty: \"locTitle\", layout: \"row\", dependsOn: \"name\",\n onPropertyEditorUpdate: function (obj, editor) {\n if (!!obj && !!editor) {\n editor.placeholder = obj.name;\n }\n }\n },\n {\n name: \"titleLocation\",\n default: \"default\",\n choices: [\"default\", \"top\", \"bottom\", \"left\", \"hidden\"],\n layout: \"row\",\n },\n {\n name: \"description:text\",\n serializationProperty: \"locDescription\",\n layout: \"row\",\n },\n {\n name: \"descriptionLocation\",\n default: \"default\",\n choices: [\"default\", \"underInput\", \"underTitle\"],\n },\n {\n name: \"hideNumber:boolean\",\n dependsOn: \"titleLocation\",\n visibleIf: function (obj) {\n if (!obj) {\n return true;\n }\n if (obj.titleLocation === \"hidden\") {\n return false;\n }\n var parent = obj ? obj.parent : null;\n var numberingAllowedByParent = !parent || parent.showQuestionNumbers !== \"off\";\n if (!numberingAllowedByParent) {\n return false;\n }\n var survey = obj ? obj.survey : null;\n return (!survey ||\n survey.showQuestionNumbers !== \"off\" ||\n (!!parent && parent.showQuestionNumbers === \"onpanel\"));\n },\n },\n { name: \"valueName\", onSettingValue: function (obj, val) { return makeNameValid(val); } },\n \"enableIf:condition\",\n \"resetValueIf:condition\",\n \"setValueIf:condition\",\n \"setValueExpression:expression\",\n \"defaultValue:value\",\n {\n name: \"defaultValueExpression:expression\",\n category: \"logic\",\n },\n \"correctAnswer:value\",\n {\n name: \"clearIfInvisible\",\n default: \"default\",\n choices: [\"default\", \"none\", \"onComplete\", \"onHidden\", \"onHiddenContainer\"],\n },\n { name: \"isRequired:switch\", overridingProperty: \"requiredIf\" },\n \"requiredIf:condition\",\n {\n name: \"requiredErrorText:text\",\n serializationProperty: \"locRequiredErrorText\",\n },\n { name: \"errorLocation\", default: \"default\", choices: [\"default\", \"top\", \"bottom\"] },\n { name: \"readOnly:switch\", overridingProperty: \"enableIf\" },\n {\n name: \"validators:validators\",\n baseClassName: \"surveyvalidator\",\n classNamePart: \"validator\",\n },\n {\n name: \"bindings:bindings\",\n serializationProperty: \"bindings\",\n visibleIf: function (obj) {\n return obj.bindings.getNames().length > 0;\n },\n },\n { name: \"renderAs\", default: \"default\", visible: false },\n { name: \"showCommentArea\", visible: false, default: false, alternativeName: \"hasComment\", category: \"general\" },\n {\n name: \"commentText\",\n dependsOn: \"showCommentArea\",\n visibleIf: function (obj) {\n return obj.showCommentArea;\n },\n serializationProperty: \"locCommentText\",\n layout: \"row\",\n },\n {\n name: \"commentPlaceholder\",\n alternativeName: \"commentPlaceHolder\",\n serializationProperty: \"locCommentPlaceholder\",\n dependsOn: \"showCommentArea\",\n visibleIf: function (obj) {\n return obj.hasComment;\n }\n }\n]);\n_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].addAlterNativeClassName(\"question\", \"questionbase\");\n\n\n/***/ }),\n\n/***/ \"./src/questionCustomWidgets.ts\":\n/*!**************************************!*\\\n !*** ./src/questionCustomWidgets.ts ***!\n \\**************************************/\n/*! exports provided: QuestionCustomWidget, CustomWidgetCollection */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"QuestionCustomWidget\", function() { return QuestionCustomWidget; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CustomWidgetCollection\", function() { return CustomWidgetCollection; });\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base */ \"./src/base.ts\");\n\nvar QuestionCustomWidget = /** @class */ (function () {\n function QuestionCustomWidget(name, widgetJson) {\n this.name = name;\n this.widgetJson = widgetJson;\n this.htmlTemplate = widgetJson.htmlTemplate ? widgetJson.htmlTemplate : \"\";\n }\n QuestionCustomWidget.prototype.afterRender = function (question, el) {\n var _this = this;\n if (!this.widgetJson.afterRender)\n return;\n question.localeChangedCallback = function () {\n if (_this.widgetJson.willUnmount) {\n _this.widgetJson.willUnmount(question, el);\n }\n _this.widgetJson.afterRender(question, el);\n };\n this.widgetJson.afterRender(question, el);\n };\n QuestionCustomWidget.prototype.willUnmount = function (question, el) {\n if (this.widgetJson.willUnmount)\n this.widgetJson.willUnmount(question, el);\n };\n QuestionCustomWidget.prototype.getDisplayValue = function (question, value) {\n if (value === void 0) { value = undefined; }\n if (this.widgetJson.getDisplayValue)\n return this.widgetJson.getDisplayValue(question, value);\n return null;\n };\n QuestionCustomWidget.prototype.isFit = function (question) {\n if (this.isLibraryLoaded() && this.widgetJson.isFit)\n return this.widgetJson.isFit(question);\n return false;\n };\n Object.defineProperty(QuestionCustomWidget.prototype, \"canShowInToolbox\", {\n get: function () {\n if (this.widgetJson.showInToolbox === false)\n return false;\n if (CustomWidgetCollection.Instance.getActivatedBy(this.name) != \"customtype\")\n return false;\n return !this.widgetJson.widgetIsLoaded || this.widgetJson.widgetIsLoaded();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCustomWidget.prototype, \"showInToolbox\", {\n get: function () {\n return this.widgetJson.showInToolbox !== false;\n },\n set: function (val) {\n this.widgetJson.showInToolbox = val;\n },\n enumerable: false,\n configurable: true\n });\n QuestionCustomWidget.prototype.init = function () {\n if (this.widgetJson.init) {\n this.widgetJson.init();\n }\n };\n QuestionCustomWidget.prototype.activatedByChanged = function (activatedBy) {\n if (this.isLibraryLoaded() && this.widgetJson.activatedByChanged) {\n this.widgetJson.activatedByChanged(activatedBy);\n }\n };\n QuestionCustomWidget.prototype.isLibraryLoaded = function () {\n if (this.widgetJson.widgetIsLoaded)\n return this.widgetJson.widgetIsLoaded() == true;\n return true;\n };\n Object.defineProperty(QuestionCustomWidget.prototype, \"isDefaultRender\", {\n get: function () {\n return this.widgetJson.isDefaultRender;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCustomWidget.prototype, \"pdfQuestionType\", {\n get: function () {\n return this.widgetJson.pdfQuestionType;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCustomWidget.prototype, \"pdfRender\", {\n get: function () {\n return this.widgetJson.pdfRender;\n },\n enumerable: false,\n configurable: true\n });\n return QuestionCustomWidget;\n}());\n\nvar CustomWidgetCollection = /** @class */ (function () {\n function CustomWidgetCollection() {\n this.widgetsValues = [];\n this.widgetsActivatedBy = {};\n this.onCustomWidgetAdded = new _base__WEBPACK_IMPORTED_MODULE_0__[\"Event\"]();\n }\n Object.defineProperty(CustomWidgetCollection.prototype, \"widgets\", {\n get: function () {\n return this.widgetsValues;\n },\n enumerable: false,\n configurable: true\n });\n CustomWidgetCollection.prototype.add = function (widgetJson, activatedBy) {\n if (activatedBy === void 0) { activatedBy = \"property\"; }\n this.addCustomWidget(widgetJson, activatedBy);\n };\n CustomWidgetCollection.prototype.addCustomWidget = function (widgetJson, activatedBy) {\n if (activatedBy === void 0) { activatedBy = \"property\"; }\n var name = widgetJson.name;\n if (!name) {\n name = \"widget_\" + this.widgets.length + 1;\n }\n var customWidget = new QuestionCustomWidget(name, widgetJson);\n this.widgetsValues.push(customWidget);\n customWidget.init();\n this.widgetsActivatedBy[name] = activatedBy;\n customWidget.activatedByChanged(activatedBy);\n this.onCustomWidgetAdded.fire(customWidget, null);\n return customWidget;\n };\n /**\n * Returns the way the custom wiget is activated. It can be activated by a property (\"property\"), question type (\"type\") or by new/custom question type (\"customtype\").\n * @param widgetName the custom widget name\n * @see setActivatedBy\n */\n CustomWidgetCollection.prototype.getActivatedBy = function (widgetName) {\n var res = this.widgetsActivatedBy[widgetName];\n return res ? res : \"property\";\n };\n /**\n * Sets the way the custom wiget is activated. The activation types are: property (\"property\"), question type (\"type\") or new/custom question type (\"customtype\"). A custom wiget may support all or only some of this activation types.\n * @param widgetName\n * @param activatedBy there are three possible variants: \"property\", \"type\" and \"customtype\"\n */\n CustomWidgetCollection.prototype.setActivatedBy = function (widgetName, activatedBy) {\n if (!widgetName || !activatedBy)\n return;\n var widget = this.getCustomWidgetByName(widgetName);\n if (!widget)\n return;\n this.widgetsActivatedBy[widgetName] = activatedBy;\n widget.activatedByChanged(activatedBy);\n };\n CustomWidgetCollection.prototype.clear = function () {\n this.widgetsValues = [];\n };\n CustomWidgetCollection.prototype.getCustomWidgetByName = function (name) {\n for (var i = 0; i < this.widgets.length; i++) {\n if (this.widgets[i].name == name)\n return this.widgets[i];\n }\n return null;\n };\n CustomWidgetCollection.prototype.getCustomWidget = function (question) {\n for (var i = 0; i < this.widgetsValues.length; i++) {\n if (this.widgetsValues[i].isFit(question))\n return this.widgetsValues[i];\n }\n return null;\n };\n CustomWidgetCollection.Instance = new CustomWidgetCollection();\n return CustomWidgetCollection;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/question_baseselect.ts\":\n/*!************************************!*\\\n !*** ./src/question_baseselect.ts ***!\n \\************************************/\n/*! exports provided: QuestionSelectBase, QuestionCheckboxBase */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"QuestionSelectBase\", function() { return QuestionSelectBase; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxBase\", function() { return QuestionCheckboxBase; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _survey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./survey */ \"./src/survey.ts\");\n/* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./question */ \"./src/question.ts\");\n/* harmony import */ var _itemvalue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./itemvalue */ \"./src/itemvalue.ts\");\n/* harmony import */ var _surveyStrings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./surveyStrings */ \"./src/surveyStrings.ts\");\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./error */ \"./src/error.ts\");\n/* harmony import */ var _choicesRestful__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./choicesRestful */ \"./src/choicesRestful.ts\");\n/* harmony import */ var _conditions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./conditions */ \"./src/conditions.ts\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * A base class for multiple-choice question types ([Checkboxes](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Radio Button Group](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), etc.).\n */\nvar QuestionSelectBase = /** @class */ (function (_super) {\n __extends(QuestionSelectBase, _super);\n function QuestionSelectBase(name) {\n var _this = _super.call(this, name) || this;\n _this.otherItemValue = new _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"](\"other\");\n _this.noneItemValue = new _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"](_settings__WEBPACK_IMPORTED_MODULE_9__[\"settings\"].noneItemValue);\n _this.isSettingDefaultValue = false;\n _this.isSettingComment = false;\n _this.isRunningChoices = false;\n _this.isFirstLoadChoicesFromUrl = true;\n _this.isUpdatingChoicesDependedQuestions = false;\n _this.headItemsCount = 0;\n _this.footItemsCount = 0;\n _this.prevIsOtherSelected = false;\n var noneItemText = _this.createLocalizableString(\"noneText\", _this.noneItemValue, true, \"noneItemText\");\n _this.noneItemValue.locOwner = _this;\n _this.noneItemValue.setLocText(noneItemText);\n _this.createItemValues(\"choices\");\n _this.registerPropertyChangedHandlers([\"choices\"], function () {\n if (!_this.filterItems()) {\n _this.onVisibleChoicesChanged();\n }\n });\n _this.registerPropertyChangedHandlers([\"choicesFromQuestion\", \"choicesFromQuestionMode\", \"choiceValuesFromQuestion\", \"choiceTextsFromQuestion\", \"showNoneItem\"], function () {\n _this.onVisibleChoicesChanged();\n });\n _this.registerPropertyChangedHandlers([\"hideIfChoicesEmpty\"], function () {\n _this.onVisibleChanged();\n });\n _this.createNewArray(\"visibleChoices\");\n _this.setNewRestfulProperty();\n var locOtherText = _this.createLocalizableString(\"otherText\", _this.otherItemValue, true, \"otherItemText\");\n _this.createLocalizableString(\"otherErrorText\", _this, true, \"otherRequiredError\");\n _this.otherItemValue.locOwner = _this;\n _this.otherItemValue.setLocText(locOtherText);\n _this.choicesByUrl.createItemValue = function (value) {\n return _this.createItemValue(value);\n };\n _this.choicesByUrl.beforeSendRequestCallback = function () {\n _this.onBeforeSendRequest();\n };\n _this.choicesByUrl.getResultCallback = function (items) {\n _this.onLoadChoicesFromUrl(items);\n };\n _this.choicesByUrl.updateResultCallback = function (items, serverResult) {\n if (_this.survey) {\n return _this.survey.updateChoicesFromServer(_this, items, serverResult);\n }\n return items;\n };\n return _this;\n }\n Object.defineProperty(QuestionSelectBase.prototype, \"waitingChoicesByURL\", {\n get: function () {\n return !this.isChoicesLoaded && !this.choicesByUrl.isEmpty;\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.getType = function () {\n return \"selectbase\";\n };\n QuestionSelectBase.prototype.dispose = function () {\n _super.prototype.dispose.call(this);\n var q = this.getQuestionWithChoices();\n if (!!q) {\n q.removeDependedQuestion(this);\n }\n };\n QuestionSelectBase.prototype.resetDependedQuestion = function () {\n this.choicesFromQuestion = \"\";\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"otherId\", {\n get: function () {\n return this.id + \"_other\";\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.getCommentElementsId = function () {\n return [this.commentId, this.otherId];\n };\n QuestionSelectBase.prototype.getItemValueType = function () {\n return \"itemvalue\";\n };\n QuestionSelectBase.prototype.createItemValue = function (value, text) {\n var res = _jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].createClass(this.getItemValueType(), value);\n res.locOwner = this;\n if (!!text)\n res.text = text;\n return res;\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"isUsingCarryForward\", {\n get: function () {\n return !!this.carryForwardQuestionType;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"carryForwardQuestionType\", {\n get: function () {\n return this.getPropertyValue(\"carryForwardQuestionType\");\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.setCarryForwardQuestionType = function (selBaseQuestion, arrayQuestion) {\n var mode = selBaseQuestion ? \"select\" : (arrayQuestion ? \"array\" : undefined);\n this.setPropertyValue(\"carryForwardQuestionType\", mode);\n };\n QuestionSelectBase.prototype.supportGoNextPageError = function () {\n return !this.isOtherSelected || !!this.otherValue;\n };\n QuestionSelectBase.prototype.isLayoutTypeSupported = function (layoutType) {\n return true;\n };\n QuestionSelectBase.prototype.localeChanged = function () {\n _super.prototype.localeChanged.call(this);\n if (this.choicesOrder !== \"none\") {\n this.updateVisibleChoices();\n this.onVisibleChoicesChanged();\n }\n };\n QuestionSelectBase.prototype.locStrsChanged = function () {\n _super.prototype.locStrsChanged.call(this);\n if (!!this.choicesFromUrl) {\n _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].locStrsChanged(this.choicesFromUrl);\n _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].locStrsChanged(this.visibleChoices);\n }\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"otherValue\", {\n get: function () {\n if (!this.showCommentArea)\n return this.comment;\n return this.otherValueCore;\n },\n set: function (val) {\n if (!this.showCommentArea) {\n this.comment = val;\n }\n else {\n this.setOtherValueInternally(val);\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"otherValueCore\", {\n get: function () {\n return this.getPropertyValue(\"otherValue\");\n },\n set: function (val) {\n this.setPropertyValue(\"otherValue\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"otherItem\", {\n /**\n * Returns the \"Other\" choice item. Use this property to change the item's `value` or `text`.\n * @see showOtherItem\n */\n get: function () {\n return this.otherItemValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"isOtherSelected\", {\n /**\n * Returns `true` if the \"Other\" choice item is selected.\n * @see showOtherItem\n */\n get: function () {\n return this.hasOther && this.getHasOther(this.renderedValue);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"isNoneSelected\", {\n get: function () {\n return this.hasNone && this.getIsItemValue(this.renderedValue, this.noneItem);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"showNoneItem\", {\n /**\n * Specifies whether to display the \"None\" choice item.\n *\n * When users select the \"None\" item in multi-select questions, all other items become unselected.\n * @see noneItem\n * @see noneText\n * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)\n */\n get: function () {\n return this.getPropertyValue(\"showNoneItem\");\n },\n set: function (val) {\n this.setPropertyValue(\"showNoneItem\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"hasNone\", {\n get: function () {\n return this.showNoneItem;\n },\n set: function (val) {\n this.showNoneItem = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"noneItem\", {\n /**\n * Returns the \"None\" choice item. Use this property to change the item's `value` or `text`.\n * @see showNoneItem\n */\n get: function () {\n return this.noneItemValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"noneText\", {\n /**\n * Gets or sets a caption for the \"None\" choice item.\n * @see showNoneItem\n */\n get: function () {\n return this.getLocalizableStringText(\"noneText\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"noneText\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"locNoneText\", {\n get: function () {\n return this.getLocalizableString(\"noneText\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"choicesVisibleIf\", {\n /**\n * A Boolean expression that is evaluated against each choice item. If the expression evaluates to `false`, the choice item becomes hidden.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Use the `{item}` placeholder to reference the current choice item in the expression.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see visibleIf\n * @see choicesEnableIf\n */\n get: function () {\n return this.getPropertyValue(\"choicesVisibleIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"choicesVisibleIf\", val);\n this.filterItems();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"choicesEnableIf\", {\n /**\n * A Boolean expression that is evaluated against each choice item. If the expression evaluates to `false`, the choice item becomes read-only.\n *\n * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.\n *\n * Use the `{item}` placeholder to reference the current choice item in the expression.\n *\n * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).\n * @see enableIf\n * @see choicesVisibleIf\n */\n get: function () {\n return this.getPropertyValue(\"choicesEnableIf\", \"\");\n },\n set: function (val) {\n this.setPropertyValue(\"choicesEnableIf\", val);\n this.filterItems();\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.surveyChoiceItemVisibilityChange = function () {\n this.filterItems();\n };\n QuestionSelectBase.prototype.runCondition = function (values, properties) {\n _super.prototype.runCondition.call(this, values, properties);\n this.runItemsEnableCondition(values, properties);\n this.runItemsCondition(values, properties);\n };\n QuestionSelectBase.prototype.isTextValue = function () {\n return true; //for comments and others\n };\n QuestionSelectBase.prototype.setDefaultValue = function () {\n this.isSettingDefaultValue =\n !this.isValueEmpty(this.defaultValue) &&\n this.hasUnknownValue(this.defaultValue);\n this.prevOtherValue = undefined;\n _super.prototype.setDefaultValue.call(this);\n this.isSettingDefaultValue = false;\n };\n QuestionSelectBase.prototype.getIsMultipleValue = function () {\n return false;\n };\n QuestionSelectBase.prototype.convertDefaultValue = function (val) {\n if (val == null || val == undefined)\n return val;\n if (this.getIsMultipleValue()) {\n if (!Array.isArray(val))\n return [val];\n }\n else {\n if (Array.isArray(val) && val.length > 0)\n return val[0];\n }\n return val;\n };\n QuestionSelectBase.prototype.filterItems = function () {\n if (this.isLoadingFromJson ||\n !this.data ||\n this.areInvisibleElementsShowing)\n return false;\n var values = this.getDataFilteredValues();\n var properties = this.getDataFilteredProperties();\n this.runItemsEnableCondition(values, properties);\n return this.runItemsCondition(values, properties);\n };\n QuestionSelectBase.prototype.runItemsCondition = function (values, properties) {\n this.setConditionalChoicesRunner();\n var hasChanges = this.runConditionsForItems(values, properties);\n if (!!this.filteredChoicesValue &&\n this.filteredChoicesValue.length === this.activeChoices.length) {\n this.filteredChoicesValue = undefined;\n }\n if (hasChanges) {\n this.onVisibleChoicesChanged();\n this.clearIncorrectValues();\n }\n return hasChanges;\n };\n QuestionSelectBase.prototype.runItemsEnableCondition = function (values, properties) {\n var _this = this;\n this.setConditionalEnableChoicesRunner();\n var hasChanged = _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].runEnabledConditionsForItems(this.activeChoices, this.conditionChoicesEnableIfRunner, values, properties, function (item, val) {\n return val && _this.onEnableItemCallBack(item);\n });\n if (hasChanged) {\n this.clearDisabledValues();\n }\n this.onAfterRunItemsEnableCondition();\n };\n QuestionSelectBase.prototype.onAfterRunItemsEnableCondition = function () { };\n QuestionSelectBase.prototype.onEnableItemCallBack = function (item) {\n return true;\n };\n QuestionSelectBase.prototype.onSelectedItemValuesChangedHandler = function (newValue) {\n var _a;\n (_a = this.survey) === null || _a === void 0 ? void 0 : _a.loadedChoicesFromServer(this);\n };\n QuestionSelectBase.prototype.getItemIfChoicesNotContainThisValue = function (value, text) {\n if (this.waitingChoicesByURL) {\n return this.createItemValue(value, text);\n }\n else {\n return null;\n }\n };\n QuestionSelectBase.prototype.getSingleSelectedItem = function () {\n var selectedItemValues = this.selectedItemValues;\n if (this.isEmpty())\n return null;\n var itemValue = _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].getItemByValue(this.visibleChoices, this.value);\n this.onGetSingleSelectedItem(itemValue);\n if (!itemValue && (!selectedItemValues || this.value != selectedItemValues.id)) {\n this.updateSelectedItemValues();\n }\n return itemValue || selectedItemValues || (this.isOtherSelected ? this.otherItem : this.getItemIfChoicesNotContainThisValue(this.value));\n };\n QuestionSelectBase.prototype.onGetSingleSelectedItem = function (selectedItemByValue) { };\n QuestionSelectBase.prototype.getMultipleSelectedItems = function () {\n return [];\n };\n QuestionSelectBase.prototype.setConditionalChoicesRunner = function () {\n if (this.choicesVisibleIf) {\n if (!this.conditionChoicesVisibleIfRunner) {\n this.conditionChoicesVisibleIfRunner = new _conditions__WEBPACK_IMPORTED_MODULE_7__[\"ConditionRunner\"](this.choicesVisibleIf);\n }\n this.conditionChoicesVisibleIfRunner.expression = this.choicesVisibleIf;\n }\n else {\n this.conditionChoicesVisibleIfRunner = null;\n }\n };\n QuestionSelectBase.prototype.setConditionalEnableChoicesRunner = function () {\n if (this.choicesEnableIf) {\n if (!this.conditionChoicesEnableIfRunner) {\n this.conditionChoicesEnableIfRunner = new _conditions__WEBPACK_IMPORTED_MODULE_7__[\"ConditionRunner\"](this.choicesEnableIf);\n }\n this.conditionChoicesEnableIfRunner.expression = this.choicesEnableIf;\n }\n else {\n this.conditionChoicesEnableIfRunner = null;\n }\n };\n QuestionSelectBase.prototype.canSurveyChangeItemVisibility = function () {\n return !!this.survey && this.survey.canChangeChoiceItemsVisibility();\n };\n QuestionSelectBase.prototype.changeItemVisisbility = function () {\n var _this = this;\n return this.canSurveyChangeItemVisibility() ?\n function (item, val) { return _this.survey.getChoiceItemVisibility(_this, item, val); }\n : null;\n };\n QuestionSelectBase.prototype.runConditionsForItems = function (values, properties) {\n this.filteredChoicesValue = [];\n var calcVisibility = this.changeItemVisisbility();\n return _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].runConditionsForItems(this.activeChoices, this.getFilteredChoices(), this.areInvisibleElementsShowing\n ? null\n : this.conditionChoicesVisibleIfRunner, values, properties, !this.survey || !this.survey.areInvisibleElementsShowing, function (item, val) {\n return !!calcVisibility ? calcVisibility(item, val) : val;\n });\n };\n QuestionSelectBase.prototype.getHasOther = function (val) {\n return this.getIsItemValue(val, this.otherItem);\n };\n QuestionSelectBase.prototype.getIsItemValue = function (val, item) {\n return val === item.value;\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"validatedValue\", {\n get: function () {\n return this.rendredValueToDataCore(this.value);\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.createRestful = function () {\n return new _choicesRestful__WEBPACK_IMPORTED_MODULE_6__[\"ChoicesRestful\"]();\n };\n QuestionSelectBase.prototype.setNewRestfulProperty = function () {\n this.setPropertyValue(\"choicesByUrl\", this.createRestful());\n this.choicesByUrl.owner = this;\n this.choicesByUrl.loadingOwner = this;\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"autoOtherMode\", {\n get: function () {\n return this.getPropertyValue(\"autoOtherMode\");\n },\n set: function (val) {\n this.setPropertyValue(\"autoOtherMode\", val);\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.getQuestionComment = function () {\n if (this.showCommentArea)\n return _super.prototype.getQuestionComment.call(this);\n if (!!this.otherValueCore)\n return this.otherValueCore;\n if (this.hasComment || this.getStoreOthersAsComment())\n return _super.prototype.getQuestionComment.call(this);\n return this.otherValueCore;\n };\n QuestionSelectBase.prototype.selectOtherValueFromComment = function (val) {\n this.value = val ? this.otherItem.value : undefined;\n };\n QuestionSelectBase.prototype.setQuestionComment = function (newValue) {\n if (this.showCommentArea) {\n _super.prototype.setQuestionComment.call(this, newValue);\n return;\n }\n this.onUpdateCommentOnAutoOtherMode(newValue);\n if (this.getStoreOthersAsComment())\n _super.prototype.setQuestionComment.call(this, newValue);\n else {\n this.setOtherValueInternally(newValue);\n }\n this.updateChoicesDependedQuestions();\n };\n QuestionSelectBase.prototype.onUpdateCommentOnAutoOtherMode = function (newValue) {\n if (!this.autoOtherMode)\n return;\n this.prevOtherValue = undefined;\n var isSelected = this.isOtherSelected;\n if (!isSelected && !!newValue || isSelected && !newValue) {\n this.selectOtherValueFromComment(!!newValue);\n }\n };\n QuestionSelectBase.prototype.setOtherValueInternally = function (newValue) {\n if (!this.isSettingComment && newValue != this.otherValueCore) {\n this.isSettingComment = true;\n this.otherValueCore = newValue;\n if (this.isOtherSelected && !this.isRenderedValueSetting) {\n this.value = this.rendredValueToData(this.renderedValue);\n }\n this.isSettingComment = false;\n }\n };\n QuestionSelectBase.prototype.clearValue = function () {\n _super.prototype.clearValue.call(this);\n this.prevOtherValue = undefined;\n };\n QuestionSelectBase.prototype.updateCommentFromSurvey = function (newValue) {\n _super.prototype.updateCommentFromSurvey.call(this, newValue);\n this.prevOtherValue = undefined;\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"renderedValue\", {\n get: function () {\n return this.getPropertyValue(\"renderedValue\", null);\n },\n set: function (val) {\n this.setPropertyValue(\"renderedValue\", val);\n var val = this.rendredValueToData(val);\n if (!this.isTwoValueEquals(val, this.value)) {\n this.value = val;\n }\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.setQuestionValue = function (newValue, updateIsAnswered, updateComment) {\n if (updateIsAnswered === void 0) { updateIsAnswered = true; }\n if (updateComment === void 0) { updateComment = true; }\n if (this.isLoadingFromJson ||\n this.isTwoValueEquals(this.value, newValue))\n return;\n _super.prototype.setQuestionValue.call(this, newValue, updateIsAnswered);\n this.setPropertyValue(\"renderedValue\", this.rendredValueFromData(newValue));\n this.updateChoicesDependedQuestions();\n if (this.hasComment || !updateComment)\n return;\n var isOtherSel = this.isOtherSelected;\n if (isOtherSel && !!this.prevOtherValue) {\n var oldOtherValue = this.prevOtherValue;\n this.prevOtherValue = undefined;\n this.otherValue = oldOtherValue;\n }\n if (!isOtherSel && !!this.otherValue) {\n if (this.getStoreOthersAsComment() && !this.autoOtherMode) {\n this.prevOtherValue = this.otherValue;\n }\n this.otherValue = \"\";\n }\n };\n QuestionSelectBase.prototype.setNewValue = function (newValue) {\n newValue = this.valueFromData(newValue);\n if ((!this.choicesByUrl.isRunning &&\n !this.choicesByUrl.isWaitingForParameters) ||\n !this.isValueEmpty(newValue)) {\n this.cachedValueForUrlRequests = newValue;\n }\n _super.prototype.setNewValue.call(this, newValue);\n };\n QuestionSelectBase.prototype.valueFromData = function (val) {\n var choiceitem = _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].getItemByValue(this.activeChoices, val);\n if (!!choiceitem) {\n return choiceitem.value;\n }\n return _super.prototype.valueFromData.call(this, val);\n };\n QuestionSelectBase.prototype.rendredValueFromData = function (val) {\n if (this.getStoreOthersAsComment())\n return val;\n return this.renderedValueFromDataCore(val);\n };\n QuestionSelectBase.prototype.rendredValueToData = function (val) {\n if (this.getStoreOthersAsComment())\n return val;\n return this.rendredValueToDataCore(val);\n };\n QuestionSelectBase.prototype.renderedValueFromDataCore = function (val) {\n if (!this.hasUnknownValue(val, true, false))\n return this.valueFromData(val);\n this.otherValue = val;\n return this.otherItem.value;\n };\n QuestionSelectBase.prototype.rendredValueToDataCore = function (val) {\n if (val == this.otherItem.value && this.needConvertRenderedOtherToDataValue()) {\n val = this.otherValue;\n }\n return val;\n };\n QuestionSelectBase.prototype.needConvertRenderedOtherToDataValue = function () {\n var val = this.otherValue;\n if (!val)\n return false;\n val = val.trim();\n if (!val)\n return false;\n return this.hasUnknownValue(val, true, false);\n };\n QuestionSelectBase.prototype.getIsQuestionReady = function () {\n return _super.prototype.getIsQuestionReady.call(this) && !this.waitingChoicesByURL && !this.waitingGetChoiceDisplayValueResponse;\n };\n QuestionSelectBase.prototype.updateSelectedItemValues = function () {\n var _this = this;\n if (this.waitingGetChoiceDisplayValueResponse || !this.survey || this.isEmpty())\n return;\n var value = this.value;\n var valueArray = Array.isArray(value) ? value : [value];\n var hasItemWithoutValues = valueArray.some(function (val) { return !_itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].getItemByValue(_this.choices, val); });\n if (hasItemWithoutValues && (this.choicesLazyLoadEnabled || !this.choicesByUrl.isEmpty)) {\n this.waitingGetChoiceDisplayValueResponse = true;\n this.updateIsReady();\n this.survey.getChoiceDisplayValue({\n question: this,\n values: valueArray,\n setItems: function (displayValues) {\n var customValues = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n customValues[_i - 1] = arguments[_i];\n }\n _this.waitingGetChoiceDisplayValueResponse = false;\n if (!displayValues || !displayValues.length) {\n _this.updateIsReady();\n return;\n }\n var items = displayValues.map(function (displayValue, index) { return _this.createItemValue(valueArray[index], displayValue); });\n _this.setCustomValuesIntoItems(items, customValues);\n if (Array.isArray(value)) {\n _this.selectedItemValues = items;\n }\n else {\n _this.selectedItemValues = items[0];\n }\n _this.updateIsReady();\n }\n });\n }\n };\n QuestionSelectBase.prototype.setCustomValuesIntoItems = function (items, customValues) {\n if (!Array.isArray(customValues) || customValues.length === 0)\n return;\n customValues.forEach(function (customValue) {\n var vals = customValue.values;\n var propName = customValue.propertyName;\n if (Array.isArray(vals)) {\n for (var i = 0; i < items.length && i < vals.length; i++) {\n items[i][propName] = vals[i];\n }\n }\n });\n };\n QuestionSelectBase.prototype.hasUnknownValue = function (val, includeOther, isFilteredChoices, checkEmptyValue) {\n if (includeOther === void 0) { includeOther = false; }\n if (isFilteredChoices === void 0) { isFilteredChoices = true; }\n if (checkEmptyValue === void 0) { checkEmptyValue = false; }\n if (!checkEmptyValue && this.isValueEmpty(val))\n return false;\n if (includeOther && val == this.otherItem.value)\n return false;\n if (this.hasNone && val == this.noneItem.value)\n return false;\n var choices = isFilteredChoices\n ? this.getFilteredChoices()\n : this.activeChoices;\n return _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].getItemByValue(choices, val) == null;\n };\n QuestionSelectBase.prototype.isValueDisabled = function (val) {\n var itemValue = _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].getItemByValue(this.getFilteredChoices(), val);\n return !!itemValue && !itemValue.isEnabled;\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"choicesByUrl\", {\n /**\n * Configures access to a RESTful service that returns choice items. Refer to the [ChoicesRestful](https://surveyjs.io/form-library/documentation/choicesrestful) class description for more information.\n *\n * [View Demo](https://surveyjs.io/form-library/examples/questiontype-dropdownrestfull/ (linkStyle))\n * @see choices\n * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)\n */\n get: function () {\n return this.getPropertyValue(\"choicesByUrl\");\n },\n set: function (val) {\n if (!val)\n return;\n this.setNewRestfulProperty();\n this.choicesByUrl.fromJSON(val.toJSON());\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"choices\", {\n /**\n * Gets or sets choice items. This property accepts an array of objects with the following structure:\n *\n * ```js\n * {\n * \"value\": any, // A unique value to be saved in the survey results.\n * \"text\": String, // A display text. This property supports Markdown. When `text` is undefined, `value` is used.\n * \"imageLink\": String // A link to the image or video that represents this choice value. Applies only to Image Picker questions.\n * \"customProperty\": any // Any property that you find useful.\n * }\n * ```\n *\n * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with Showdown](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).\n *\n * If you add custom properties, refer to the following help topic to learn how to serialize them into JSON: [Add Custom Properties to Property Grid](https://surveyjs.io/survey-creator/documentation/property-grid#add-custom-properties-to-the-property-grid).\n *\n * If you need to specify only the `value` property, you can set the `choices` property to an array of primitive values, for example, `[ \"item1\", \"item2\", \"item3\" ]`. These values are both saved in survey results and used as display text.\n * @see choicesByUrl\n * @see choicesFromQuestion\n * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)\n */\n get: function () {\n return this.getPropertyValue(\"choices\");\n },\n set: function (newValue) {\n this.setPropertyValue(\"choices\", newValue);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"choicesFromQuestion\", {\n /**\n * Copies choice items from a specified question. Accepts a question name.\n *\n * If you specify this property, the `choices`, `choicesVisibleIf`, `choicesEnableIf`, and `choicesOrder` properties do not apply because their values are copied.\n *\n * In addition, you can specify the `choicesFromQuestionMode` property if you do not want to copy all choice items.\n * @see choicesFromQuestionMode\n * @see choices\n */\n get: function () {\n return this.getPropertyValue(\"choicesFromQuestion\");\n },\n set: function (val) {\n var question = this.getQuestionWithChoices();\n this.isLockVisibleChoices = !!question && question.name === val;\n if (!!question && question.name !== val) {\n question.removeDependedQuestion(this);\n }\n this.setPropertyValue(\"choicesFromQuestion\", val);\n this.isLockVisibleChoices = false;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"choicesFromQuestionMode\", {\n /**\n * Specifies which choice items to copy from another question. Applies only when the `choicesFromQuestion` property is specified.\n *\n * Possible values:\n *\n * - `\"all\"` (default) - Copies all choice items.\n * - `\"selected\"` - Copies only selected choice items.\n * - `\"unselected\"` - Copies only unselected choice items.\n *\n * Use the `visibleChoices` property to access copied choice items.\n * @see choicesFromQuestion\n * @see visibleChoices\n */\n get: function () {\n return this.getPropertyValue(\"choicesFromQuestionMode\");\n },\n set: function (val) {\n this.setPropertyValue(\"choicesFromQuestionMode\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"choiceValuesFromQuestion\", {\n /**\n * Specifies which matrix column or dynamic panel question supplies choice values. Use this property to construct choice items based on cell values in Dynamic Matrix and question values in Dynamic Panel.\n *\n * Each choice item consists of a value saved in survey results and a text displayed in the UI. To construct a choice item, assign the `name` of a Dynamic Matrix or Dynamic Panel to the [`choicesFromQuestion`](#choicesFromQuestion) property and specify which dynamic panel question or matrix column supplies values and which provides texts. Use the `choiceValuesFromQuestion` and [`choiceTextsFromQuestion`](#choiceTextsFromQuestion) properties for this purpose. If a choice text is empty, a choice value is used as a display text and saved in survey results.\n */\n get: function () {\n return this.getPropertyValue(\"choiceValuesFromQuestion\");\n },\n set: function (val) {\n this.setPropertyValue(\"choiceValuesFromQuestion\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"choiceTextsFromQuestion\", {\n /**\n * Specifies which matrix column or dynamic panel question supplies choice texts. Use this property to construct choice items based on cell values in Dynamic Matrix and question values in Dynamic Panel.\n *\n * Each choice item consists of a value saved in survey results and a text displayed in the UI. To construct a choice item, assign the `name` of a Dynamic Matrix or Dynamic Panel to the [`choicesFromQuestion`](#choicesFromQuestion) property and specify which dynamic panel question or matrix column supplies values and which provides texts. Use the [`choiceValuesFromQuestion`](#choiceValuesFromQuestion) and `choiceTextsFromQuestion` properties for this purpose. If a choice text is empty, a choice value is used as a display text and saved in survey results.\n */\n get: function () {\n return this.getPropertyValue(\"choiceTextsFromQuestion\");\n },\n set: function (val) {\n this.setPropertyValue(\"choiceTextsFromQuestion\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"hideIfChoicesEmpty\", {\n /**\n * Specifies whether to hide the question if no choice items are visible.\n *\n * This property is useful if you show or hide choice items at runtime based on a [condition](https://surveyjs.io/form-library/documentation/questionselectbase#choicesVisibleIf).\n */\n get: function () {\n return this.getPropertyValue(\"hideIfChoicesEmpty\");\n },\n set: function (val) {\n this.setPropertyValue(\"hideIfChoicesEmpty\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"keepIncorrectValues\", {\n /**\n * Specifies whether to keep values that cannot be assigned to this question, for example, choices unlisted in the `choices` array.\n *\n * > This property cannot be specified in the survey JSON schema. Use dot notation to specify it.\n * @see clearIncorrectValues\n */\n get: function () {\n return this.getPropertyValue(\"keepIncorrectValues\", false);\n },\n set: function (val) {\n this.setPropertyValue(\"keepIncorrectValues\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"storeOthersAsComment\", {\n get: function () {\n return this.getPropertyValue(\"storeOthersAsComment\");\n },\n set: function (val) {\n this.setPropertyValue(\"storeOthersAsComment\", val);\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.hasOtherChanged = function () {\n this.onVisibleChoicesChanged();\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"choicesOrder\", {\n /**\n * Specifies the sort order of choice items.\n *\n * Possible values:\n *\n * - `\"none\"` (default) - Preserves the original order of choice items.\n * - `\"asc\"`- Sorts choice items in ascending order.\n * - `\"desc\"`- Sorts choice items in ascending order.\n * - `\"random\"` - Displays choice items in random order.\n * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)\n */\n get: function () {\n return this.getPropertyValue(\"choicesOrder\");\n },\n set: function (val) {\n val = val.toLowerCase();\n if (val == this.choicesOrder)\n return;\n this.setPropertyValue(\"choicesOrder\", val);\n this.onVisibleChoicesChanged();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"otherText\", {\n /**\n * Gets or sets a caption for the \"Other\" choice item.\n * @see showOtherItem\n */\n get: function () {\n return this.getLocalizableStringText(\"otherText\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"otherText\", val);\n this.onVisibleChoicesChanged();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"locOtherText\", {\n get: function () {\n return this.getLocalizableString(\"otherText\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"otherPlaceHolder\", {\n get: function () {\n return this.otherPlaceholder;\n },\n set: function (newValue) {\n this.otherPlaceholder = newValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"otherErrorText\", {\n /**\n * Get or sets an error message displayed when users select the \"Other\" choice item but leave the comment area empty.\n * @see showOtherItem\n */\n get: function () {\n return this.getLocalizableStringText(\"otherErrorText\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"otherErrorText\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"locOtherErrorText\", {\n get: function () {\n return this.getLocalizableString(\"otherErrorText\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"visibleChoices\", {\n /**\n * An array of visible choice items. Includes the \"Select All\", \"Other\", and \"None\" choice items if they are visible. Items are sorted according to the `choicesOrder` value.\n * @see showNoneItem\n * @see showOtherItem\n * @see choicesOrder\n * @see choices\n * @see enabledChoices\n */\n get: function () {\n return this.getPropertyValue(\"visibleChoices\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"enabledChoices\", {\n /**\n * An array of choice items with which users can interact. Includes the \"Select All\", \"Other\", and \"None\" choice items if they are not disabled. Items are sorted according to the `choicesOrder` value.\n * @see showNoneItem\n * @see showOtherItem\n * @see choicesOrder\n * @see choices\n * @see visibleChoices\n */\n get: function () {\n var res = [];\n var items = this.visibleChoices;\n for (var i = 0; i < items.length; i++) {\n if (items[i].isEnabled)\n res.push(items[i]);\n }\n return res;\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.updateVisibleChoices = function () {\n if (this.isLoadingFromJson || this.isDisposed)\n return;\n var newValue = new Array();\n var calcValue = this.calcVisibleChoices();\n if (!calcValue)\n calcValue = [];\n for (var i = 0; i < calcValue.length; i++) {\n newValue.push(calcValue[i]);\n }\n var oldValue = this.visibleChoices;\n if (!this.isTwoValueEquals(oldValue, newValue) || this.choicesLazyLoadEnabled) {\n this.setArrayPropertyDirectly(\"visibleChoices\", newValue);\n }\n };\n QuestionSelectBase.prototype.calcVisibleChoices = function () {\n if (this.canUseFilteredChoices())\n return this.getFilteredChoices();\n var res = this.sortVisibleChoices(this.getFilteredChoices().slice());\n this.addToVisibleChoices(res, this.isAddDefaultItems);\n return res;\n };\n QuestionSelectBase.prototype.canUseFilteredChoices = function () {\n return (!this.isAddDefaultItems &&\n !this.hasNone &&\n !this.hasOther &&\n this.choicesOrder == \"none\");\n };\n QuestionSelectBase.prototype.setCanShowOptionItemCallback = function (func) {\n this.canShowOptionItemCallback = func;\n if (!!func) {\n this.onVisibleChoicesChanged();\n }\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"newItem\", {\n get: function () { return this.newItemValue; },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.addToVisibleChoices = function (items, isAddAll) {\n this.headItemsCount = 0;\n this.footItemsCount = 0;\n this.addNewItemToVisibleChoices(items, isAddAll);\n var dict = new Array();\n this.addNonChoicesItems(dict, isAddAll);\n dict.sort(function (a, b) {\n if (a.index === b.index)\n return 0;\n return a.index < b.index ? -1 : 1;\n });\n for (var i = 0; i < dict.length; i++) {\n var rec = dict[i];\n if (rec.index < 0) {\n items.splice(i, 0, rec.item);\n this.headItemsCount++;\n }\n else {\n items.push(rec.item);\n this.footItemsCount++;\n }\n }\n };\n QuestionSelectBase.prototype.addNewItemToVisibleChoices = function (items, isAddAll) {\n if (!isAddAll)\n return;\n if (!this.newItemValue) {\n this.newItemValue = this.createItemValue(\"newitem\"); //TODO\n this.newItemValue.isGhost = true;\n }\n if (!this.isUsingCarryForward && this.canShowOptionItem(this.newItemValue, isAddAll, false)) {\n this.footItemsCount = 1;\n items.push(this.newItemValue);\n }\n };\n QuestionSelectBase.prototype.addNonChoicesItems = function (dict, isAddAll) {\n if (this.supportNone() && this.canShowOptionItem(this.noneItem, isAddAll, this.hasNone)) {\n this.addNonChoiceItem(dict, this.noneItem, _settings__WEBPACK_IMPORTED_MODULE_9__[\"settings\"].specialChoicesOrder.noneItem);\n }\n if (this.supportOther() && this.canShowOptionItem(this.otherItem, isAddAll, this.hasOther)) {\n this.addNonChoiceItem(dict, this.otherItem, _settings__WEBPACK_IMPORTED_MODULE_9__[\"settings\"].specialChoicesOrder.otherItem);\n }\n };\n QuestionSelectBase.prototype.addNonChoiceItem = function (dict, item, order) {\n order.forEach(function (val) { return dict.push({ index: val, item: item }); });\n };\n QuestionSelectBase.prototype.canShowOptionItem = function (item, isAddAll, hasItem) {\n var res = (isAddAll && (!!this.canShowOptionItemCallback ? this.canShowOptionItemCallback(item) : true)) || hasItem;\n if (this.canSurveyChangeItemVisibility()) {\n var calc = this.changeItemVisisbility();\n return calc(item, res);\n }\n return res;\n };\n QuestionSelectBase.prototype.isItemInList = function (item) {\n if (item === this.otherItem)\n return this.hasOther;\n if (item === this.noneItem)\n return this.hasNone;\n if (item === this.newItemValue)\n return false;\n return true;\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"isAddDefaultItems\", {\n get: function () {\n return _settings__WEBPACK_IMPORTED_MODULE_9__[\"settings\"].supportCreatorV2 && _settings__WEBPACK_IMPORTED_MODULE_9__[\"settings\"].showDefaultItemsInCreatorV2 &&\n this.isDesignMode && !this.customWidget && !this.isContentElement;\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.getPlainData = function (options) {\n var _this = this;\n if (options === void 0) { options = {\n includeEmpty: true,\n includeQuestionTypes: false,\n }; }\n var questionPlainData = _super.prototype.getPlainData.call(this, options);\n if (!!questionPlainData) {\n var values = Array.isArray(this.value) ? this.value : [this.value];\n questionPlainData.isNode = true;\n questionPlainData.data = (questionPlainData.data || []).concat(values.map(function (dataValue, index) {\n var choice = _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].getItemByValue(_this.visibleChoices, dataValue);\n var choiceDataItem = {\n name: index,\n title: \"Choice\",\n value: dataValue,\n displayValue: _this.getChoicesDisplayValue(_this.visibleChoices, dataValue),\n getString: function (val) {\n return typeof val === \"object\" ? JSON.stringify(val) : val;\n },\n isNode: false,\n };\n if (!!choice) {\n (options.calculations || []).forEach(function (calculation) {\n choiceDataItem[calculation.propertyName] =\n choice[calculation.propertyName];\n });\n }\n if (_this.isOtherSelected && _this.otherItemValue === choice) {\n choiceDataItem.isOther = true;\n choiceDataItem.displayValue = _this.otherValue;\n }\n return choiceDataItem;\n }));\n }\n return questionPlainData;\n };\n QuestionSelectBase.prototype.getDisplayValueCore = function (keysAsText, value) {\n return this.getChoicesDisplayValue(this.visibleChoices, value);\n };\n QuestionSelectBase.prototype.getDisplayValueEmpty = function () {\n return _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].getTextOrHtmlByValue(this.visibleChoices, undefined);\n };\n QuestionSelectBase.prototype.getChoicesDisplayValue = function (items, val) {\n if (val == this.otherItemValue.value)\n return this.otherValue ? this.otherValue : this.locOtherText.textOrHtml;\n var selItem = this.getSingleSelectedItem();\n if (!!selItem && this.isTwoValueEquals(selItem.value, val))\n return selItem.locText.textOrHtml;\n var str = _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].getTextOrHtmlByValue(items, val);\n return str == \"\" && val ? val : str;\n };\n QuestionSelectBase.prototype.getDisplayArrayValue = function (keysAsText, value, onGetValueCallback) {\n var _this = this;\n var items = this.visibleChoices;\n var strs = [];\n var vals = [];\n for (var i = 0; i < value.length; i++) {\n vals.push(!onGetValueCallback ? value[i] : onGetValueCallback(i));\n }\n if (_helpers__WEBPACK_IMPORTED_MODULE_8__[\"Helpers\"].isTwoValueEquals(this.value, vals)) {\n this.getMultipleSelectedItems().forEach(function (item) { return strs.push(_this.getItemDisplayValue(item)); });\n }\n if (strs.length === 0) {\n for (var i = 0; i < vals.length; i++) {\n var valStr = this.getChoicesDisplayValue(items, vals[i]);\n if (valStr) {\n strs.push(valStr);\n }\n }\n }\n return strs.join(\", \");\n };\n QuestionSelectBase.prototype.getItemDisplayValue = function (item) {\n if (item === this.otherItem && this.comment)\n return this.comment;\n return item.locText.textOrHtml;\n };\n QuestionSelectBase.prototype.getFilteredChoices = function () {\n return this.filteredChoicesValue\n ? this.filteredChoicesValue\n : this.activeChoices;\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"activeChoices\", {\n get: function () {\n var question = this.getCarryForwardQuestion();\n if (this.carryForwardQuestionType === \"select\") {\n question.addDependedQuestion(this);\n return this.getChoicesFromSelectQuestion(question);\n }\n if (this.carryForwardQuestionType === \"array\") {\n question.addDependedQuestion(this);\n return this.getChoicesFromArrayQuestion(question);\n }\n return this.choicesFromUrl ? this.choicesFromUrl : this.getChoices();\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.getCarryForwardQuestion = function (data) {\n var question = this.findCarryForwardQuestion(data);\n var selBaseQuestion = this.getQuestionWithChoicesCore(question);\n var arrayQuestion = !selBaseQuestion ? this.getQuestionWithArrayValue(question) : null;\n this.setCarryForwardQuestionType(!!selBaseQuestion, !!arrayQuestion);\n return !!selBaseQuestion || !!arrayQuestion ? question : null;\n };\n QuestionSelectBase.prototype.getIsReadyDependsOn = function () {\n var res = _super.prototype.getIsReadyDependsOn.call(this);\n if (this.carryForwardQuestion) {\n res.push(this.carryForwardQuestion);\n }\n return res;\n };\n QuestionSelectBase.prototype.getQuestionWithChoices = function () {\n return this.getQuestionWithChoicesCore(this.findCarryForwardQuestion());\n };\n QuestionSelectBase.prototype.findCarryForwardQuestion = function (data) {\n if (!data)\n data = this.data;\n this.carryForwardQuestion = null;\n if (this.choicesFromQuestion && data) {\n this.carryForwardQuestion = data.findQuestionByName(this.choicesFromQuestion);\n }\n return this.carryForwardQuestion;\n };\n QuestionSelectBase.prototype.getQuestionWithChoicesCore = function (question) {\n if (!!question && !!question.visibleChoices && (_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].isDescendantOf(question.getType(), \"selectbase\")) && question !== this)\n return question;\n return null;\n };\n QuestionSelectBase.prototype.getQuestionWithArrayValue = function (question) {\n return !!question && question.isValueArray ? question : null;\n };\n QuestionSelectBase.prototype.getChoicesFromArrayQuestion = function (question) {\n if (this.isDesignMode)\n return [];\n var val = question.value;\n if (!Array.isArray(val))\n return [];\n var res = [];\n for (var i = 0; i < val.length; i++) {\n var obj = val[i];\n if (!_helpers__WEBPACK_IMPORTED_MODULE_8__[\"Helpers\"].isValueObject(obj))\n continue;\n var key = this.getValueKeyName(obj);\n if (!!key && !this.isValueEmpty(obj[key])) {\n var text = !!this.choiceTextsFromQuestion ? obj[this.choiceTextsFromQuestion] : undefined;\n res.push(this.createItemValue(obj[key], text));\n }\n }\n return res;\n };\n QuestionSelectBase.prototype.getValueKeyName = function (obj) {\n if (this.choiceValuesFromQuestion)\n return this.choiceValuesFromQuestion;\n var keys = Object.keys(obj);\n return keys.length > 0 ? keys[0] : undefined;\n };\n QuestionSelectBase.prototype.getChoicesFromSelectQuestion = function (question) {\n if (this.isDesignMode)\n return [];\n var res = [];\n var isSelected = this.choicesFromQuestionMode == \"selected\"\n ? true\n : this.choicesFromQuestionMode == \"unselected\"\n ? false\n : undefined;\n var choices = question.visibleChoices;\n for (var i = 0; i < choices.length; i++) {\n if (this.isBuiltInChoice(choices[i], question))\n continue;\n if (isSelected === undefined) {\n res.push(this.copyChoiceItem(choices[i]));\n continue;\n }\n var itemsSelected = question.isItemSelected(choices[i]);\n if ((itemsSelected && isSelected) || (!itemsSelected && !isSelected)) {\n res.push(this.copyChoiceItem(choices[i]));\n }\n }\n if (this.choicesFromQuestionMode === \"selected\" && !this.showOtherItem && question.isOtherSelected && !!question.comment) {\n res.push(this.createItemValue(question.otherItem.value, question.comment));\n }\n return res;\n };\n QuestionSelectBase.prototype.copyChoiceItem = function (item) {\n var res = this.createItemValue(item.value);\n res.setData(item);\n return res;\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"hasActiveChoices\", {\n get: function () {\n var choices = this.visibleChoices;\n if (!choices || choices.length == 0) {\n this.onVisibleChoicesChanged();\n choices = this.visibleChoices;\n }\n for (var i = 0; i < choices.length; i++) {\n if (!this.isBuiltInChoice(choices[i], this))\n return true;\n }\n return false;\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.isBuiltInChoice = function (item, question) {\n return (item === question.noneItem ||\n item === question.otherItem ||\n item === question.newItemValue);\n };\n QuestionSelectBase.prototype.getChoices = function () {\n return this.choices;\n };\n QuestionSelectBase.prototype.supportOther = function () {\n return this.isSupportProperty(\"showOtherItem\");\n };\n QuestionSelectBase.prototype.supportNone = function () {\n return this.isSupportProperty(\"showNoneItem\");\n };\n QuestionSelectBase.prototype.isSupportProperty = function (propName) {\n return (!this.isDesignMode ||\n this.getPropertyByName(propName).visible);\n };\n QuestionSelectBase.prototype.onCheckForErrors = function (errors, isOnValueChanged) {\n var _this = this;\n _super.prototype.onCheckForErrors.call(this, errors, isOnValueChanged);\n if (!this.hasOther || !this.isOtherSelected || this.otherValue)\n return;\n var otherEmptyError = new _error__WEBPACK_IMPORTED_MODULE_5__[\"OtherEmptyError\"](this.otherErrorText, this);\n otherEmptyError.onUpdateErrorTextCallback = function (err) { err.text = _this.otherErrorText; };\n errors.push(otherEmptyError);\n };\n QuestionSelectBase.prototype.setSurveyImpl = function (value, isLight) {\n this.isRunningChoices = true;\n _super.prototype.setSurveyImpl.call(this, value, isLight);\n this.isRunningChoices = false;\n this.runChoicesByUrl();\n if (this.isAddDefaultItems) {\n this.updateVisibleChoices();\n }\n };\n QuestionSelectBase.prototype.setSurveyCore = function (value) {\n _super.prototype.setSurveyCore.call(this, value);\n if (!!value && !!this.choicesFromQuestion) {\n this.onVisibleChoicesChanged();\n }\n };\n QuestionSelectBase.prototype.getStoreOthersAsComment = function () {\n if (this.isSettingDefaultValue)\n return false;\n if (this.showCommentArea)\n return false;\n return (this.storeOthersAsComment === true ||\n (this.storeOthersAsComment == \"default\" &&\n (this.survey != null ? this.survey.storeOthersAsComment : true)) ||\n (!this.choicesByUrl.isEmpty && !this.choicesFromUrl));\n };\n QuestionSelectBase.prototype.onSurveyLoad = function () {\n this.runChoicesByUrl();\n this.onVisibleChoicesChanged();\n _super.prototype.onSurveyLoad.call(this);\n };\n QuestionSelectBase.prototype.onAnyValueChanged = function (name, questionName) {\n _super.prototype.onAnyValueChanged.call(this, name, questionName);\n if (name != this.getValueName()) {\n this.runChoicesByUrl();\n }\n var chQuestion = this.choicesFromQuestion;\n if (!!name && chQuestion && (name === chQuestion || questionName === chQuestion)) {\n this.onVisibleChoicesChanged();\n }\n };\n QuestionSelectBase.prototype.updateValueFromSurvey = function (newValue, clearData) {\n var newComment = \"\";\n if (this.hasOther &&\n !this.isRunningChoices &&\n !this.choicesByUrl.isRunning &&\n this.getStoreOthersAsComment()) {\n if (this.hasUnknownValue(newValue) && !this.getHasOther(newValue)) {\n newComment = this.getCommentFromValue(newValue);\n newValue = this.setOtherValueIntoValue(newValue);\n }\n else {\n newComment = this.data.getComment(this.getValueName());\n }\n }\n _super.prototype.updateValueFromSurvey.call(this, newValue, clearData);\n if ((this.isRunningChoices || this.choicesByUrl.isRunning) && !this.isEmpty()) {\n this.cachedValueForUrlRequests = this.value;\n }\n if (!!newComment) {\n this.setNewComment(newComment);\n }\n };\n QuestionSelectBase.prototype.getCommentFromValue = function (newValue) {\n return newValue;\n };\n QuestionSelectBase.prototype.setOtherValueIntoValue = function (newValue) {\n return this.otherItem.value;\n };\n QuestionSelectBase.prototype.onOtherValueInput = function (event) {\n if (this.isInputTextUpdate) {\n if (event.target) {\n this.otherValue = event.target.value;\n }\n }\n else {\n this.updateCommentElements();\n }\n };\n QuestionSelectBase.prototype.onOtherValueChange = function (event) {\n this.otherValue = event.target.value;\n if (this.otherValue !== event.target.value) {\n event.target.value = this.otherValue;\n }\n };\n QuestionSelectBase.prototype.runChoicesByUrl = function () {\n if (!this.choicesByUrl || this.isLoadingFromJson || this.isRunningChoices)\n return;\n var processor = this.surveyImpl\n ? this.surveyImpl.getTextProcessor()\n : this.textProcessor;\n if (!processor)\n processor = this.survey;\n if (!processor)\n return;\n this.updateIsReady();\n this.isRunningChoices = true;\n this.choicesByUrl.run(processor);\n this.isRunningChoices = false;\n };\n QuestionSelectBase.prototype.onBeforeSendRequest = function () {\n if (_settings__WEBPACK_IMPORTED_MODULE_9__[\"settings\"].web.disableQuestionWhileLoadingChoices === true && !this.isReadOnly) {\n this.enableOnLoadingChoices = true;\n this.readOnly = true;\n }\n };\n QuestionSelectBase.prototype.onLoadChoicesFromUrl = function (array) {\n if (this.enableOnLoadingChoices) {\n this.readOnly = false;\n }\n var errors = [];\n if (!this.isReadOnly) {\n if (this.choicesByUrl && this.choicesByUrl.error) {\n errors.push(this.choicesByUrl.error);\n }\n }\n var newChoices = null;\n var checkCachedValuesOnExisting = true;\n if (this.isFirstLoadChoicesFromUrl &&\n !this.cachedValueForUrlRequests &&\n this.defaultValue) {\n this.cachedValueForUrlRequests = this.defaultValue;\n checkCachedValuesOnExisting = false;\n }\n if (this.isValueEmpty(this.cachedValueForUrlRequests)) {\n this.cachedValueForUrlRequests = this.value;\n }\n this.isFirstLoadChoicesFromUrl = false;\n var cachedValues = this.createCachedValueForUrlRequests(this.cachedValueForUrlRequests, checkCachedValuesOnExisting);\n if (array && (array.length > 0 || this.choicesByUrl.allowEmptyResponse)) {\n newChoices = new Array();\n _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].setData(newChoices, array);\n }\n if (!!newChoices) {\n for (var i = 0; i < newChoices.length; i++) {\n newChoices[i].locOwner = this;\n }\n }\n this.choicesFromUrl = newChoices;\n this.filterItems();\n this.onVisibleChoicesChanged();\n if (newChoices) {\n var newValue = this.updateCachedValueForUrlRequests(cachedValues, newChoices);\n if (!!newValue && !this.isReadOnly) {\n var hasChanged = !this.isTwoValueEquals(this.value, newValue.value);\n try {\n if (!this.isValueEmpty(newValue.value)) {\n this.allowNotifyValueChanged = false;\n this.setQuestionValue(undefined, true, false);\n }\n this.allowNotifyValueChanged = hasChanged;\n if (hasChanged) {\n this.value = newValue.value;\n }\n else {\n this.setQuestionValue(newValue.value);\n }\n }\n finally {\n this.allowNotifyValueChanged = true;\n }\n }\n }\n if (!this.isReadOnly && !newChoices && !this.isFirstLoadChoicesFromUrl) {\n this.value = null;\n }\n this.errors = errors;\n this.choicesLoaded();\n };\n QuestionSelectBase.prototype.createCachedValueForUrlRequests = function (val, checkOnExisting) {\n if (this.isValueEmpty(val))\n return null;\n if (Array.isArray(val)) {\n var res = [];\n for (var i = 0; i < val.length; i++) {\n res.push(this.createCachedValueForUrlRequests(val[i], true));\n }\n return res;\n }\n var isExists = checkOnExisting ? !this.hasUnknownValue(val) : true;\n return { value: val, isExists: isExists };\n };\n QuestionSelectBase.prototype.updateCachedValueForUrlRequests = function (val, newChoices) {\n if (this.isValueEmpty(val))\n return null;\n if (Array.isArray(val)) {\n var res = [];\n for (var i = 0; i < val.length; i++) {\n var updatedValue = this.updateCachedValueForUrlRequests(val[i], newChoices);\n if (updatedValue && !this.isValueEmpty(updatedValue.value)) {\n var newValue = updatedValue.value;\n var item = _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].getItemByValue(newChoices, updatedValue.value);\n if (!!item) {\n newValue = item.value;\n }\n res.push(newValue);\n }\n }\n return { value: res };\n }\n var value = val.isExists && this.hasUnknownValue(val.value) ? null : val.value;\n var item = _itemvalue__WEBPACK_IMPORTED_MODULE_3__[\"ItemValue\"].getItemByValue(newChoices, value);\n if (!!item) {\n value = item.value;\n }\n return { value: value };\n };\n QuestionSelectBase.prototype.updateChoicesDependedQuestions = function () {\n if (this.isLoadingFromJson || this.isUpdatingChoicesDependedQuestions ||\n !this.allowNotifyValueChanged || this.choicesByUrl.isRunning)\n return;\n this.isUpdatingChoicesDependedQuestions = true;\n this.updateDependedQuestions();\n this.isUpdatingChoicesDependedQuestions = false;\n };\n QuestionSelectBase.prototype.updateDependedQuestion = function () {\n this.onVisibleChoicesChanged();\n this.clearIncorrectValues();\n };\n QuestionSelectBase.prototype.onSurveyValueChanged = function (newValue) {\n _super.prototype.onSurveyValueChanged.call(this, newValue);\n this.updateChoicesDependedQuestions();\n };\n QuestionSelectBase.prototype.onVisibleChoicesChanged = function () {\n if (this.isLoadingFromJson || this.isLockVisibleChoices)\n return;\n this.updateVisibleChoices();\n this.onVisibleChanged();\n if (!!this.visibleChoicesChangedCallback) {\n this.visibleChoicesChangedCallback();\n }\n this.updateChoicesDependedQuestions();\n };\n QuestionSelectBase.prototype.isVisibleCore = function () {\n var superVal = _super.prototype.isVisibleCore.call(this);\n if (!this.hideIfChoicesEmpty || !superVal)\n return superVal;\n var filteredChoices = this.getFilteredChoices();\n return !filteredChoices || filteredChoices.length > 0;\n };\n QuestionSelectBase.prototype.sortVisibleChoices = function (array) {\n if (this.isDesignMode)\n return array;\n var order = this.choicesOrder.toLowerCase();\n if (order == \"asc\")\n return this.sortArray(array, 1);\n if (order == \"desc\")\n return this.sortArray(array, -1);\n if (order == \"random\")\n return this.randomizeArray(array);\n return array;\n };\n QuestionSelectBase.prototype.sortArray = function (array, mult) {\n return array.sort(function (a, b) {\n return _helpers__WEBPACK_IMPORTED_MODULE_8__[\"Helpers\"].compareStrings(a.calculatedText, b.calculatedText) * mult;\n });\n };\n QuestionSelectBase.prototype.randomizeArray = function (array) {\n return _helpers__WEBPACK_IMPORTED_MODULE_8__[\"Helpers\"].randomizeArray(array);\n };\n QuestionSelectBase.prototype.clearIncorrectValues = function () {\n if (!this.hasValueToClearIncorrectValues())\n return;\n if (this.carryForwardQuestion && !this.carryForwardQuestion.isReady)\n return;\n if (!!this.survey &&\n this.survey.questionsByValueName(this.getValueName()).length > 1)\n return;\n if (!!this.choicesByUrl &&\n !this.choicesByUrl.isEmpty &&\n (!this.choicesFromUrl || this.choicesFromUrl.length == 0))\n return;\n if (this.clearIncorrectValuesCallback) {\n this.clearIncorrectValuesCallback();\n }\n else {\n this.clearIncorrectValuesCore();\n }\n };\n QuestionSelectBase.prototype.hasValueToClearIncorrectValues = function () {\n if (!!this.survey && this.survey.keepIncorrectValues)\n return false;\n return !this.keepIncorrectValues && !this.isEmpty();\n };\n QuestionSelectBase.prototype.clearValueIfInvisibleCore = function (reason) {\n _super.prototype.clearValueIfInvisibleCore.call(this, reason);\n this.clearIncorrectValues();\n };\n /**\n * Returns `true` if a passed choice item is selected.\n *\n * To obtain a choice item to check, use the `noneItem` or `otherItem` property or the `choices` array.\n * @param item A choice item.\n * @see noneItem\n * @see otherItem\n * @see choices\n */\n QuestionSelectBase.prototype.isItemSelected = function (item) {\n if (item === this.otherItem)\n return this.isOtherSelected;\n return this.isItemSelectedCore(item);\n };\n QuestionSelectBase.prototype.isItemSelectedCore = function (item) {\n return item.value === this.value;\n };\n QuestionSelectBase.prototype.clearDisabledValues = function () {\n if (!this.survey || !this.survey.clearValueOnDisableItems)\n return;\n this.clearDisabledValuesCore();\n };\n QuestionSelectBase.prototype.clearIncorrectValuesCore = function () {\n var val = this.value;\n if (this.canClearValueAnUnknown(val)) {\n this.clearValue();\n }\n };\n QuestionSelectBase.prototype.canClearValueAnUnknown = function (val) {\n if (!this.getStoreOthersAsComment() && this.isOtherSelected)\n return false;\n return this.hasUnknownValue(val, true, true, true);\n };\n QuestionSelectBase.prototype.clearDisabledValuesCore = function () {\n if (this.isValueDisabled(this.value)) {\n this.clearValue();\n }\n };\n QuestionSelectBase.prototype.clearUnusedValues = function () {\n _super.prototype.clearUnusedValues.call(this);\n if (!this.isOtherSelected) {\n this.otherValue = \"\";\n }\n if (!this.showCommentArea && (!this.getStoreOthersAsComment() && !this.isOtherSelected)) {\n this.comment = \"\";\n }\n };\n QuestionSelectBase.prototype.getColumnClass = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(this.cssClasses.column)\n .append(\"sv-q-column-\" + this.colCount, this.hasColumns)\n .toString();\n };\n QuestionSelectBase.prototype.getItemIndex = function (item) {\n return this.visibleChoices.indexOf(item);\n };\n QuestionSelectBase.prototype.getItemClass = function (item) {\n var options = { item: item };\n var res = this.getItemClassCore(item, options);\n options.css = res;\n if (!!this.survey) {\n this.survey.updateChoiceItemCss(this, options);\n }\n return options.css;\n };\n QuestionSelectBase.prototype.getCurrentColCount = function () {\n return this.colCount;\n };\n QuestionSelectBase.prototype.getItemClassCore = function (item, options) {\n var builder = new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(this.cssClasses.item)\n .append(this.cssClasses.itemInline, !this.hasColumns && this.colCount === 0)\n .append(\"sv-q-col-\" + this.getCurrentColCount(), !this.hasColumns && this.colCount !== 0)\n .append(this.cssClasses.itemOnError, this.hasCssError());\n var isDisabled = this.isReadOnly || !item.isEnabled;\n var isChecked = this.isItemSelected(item) ||\n (this.isOtherSelected && this.otherItem.value === item.value);\n var allowHover = !isDisabled && !isChecked && !(!!this.survey && this.survey.isDesignMode);\n var isNone = item === this.noneItem;\n options.isDisabled = isDisabled;\n options.isChecked = isChecked;\n options.isNone = isNone;\n return builder.append(this.cssClasses.itemDisabled, isDisabled)\n .append(this.cssClasses.itemChecked, isChecked)\n .append(this.cssClasses.itemHover, allowHover)\n .append(this.cssClasses.itemNone, isNone)\n .toString();\n };\n QuestionSelectBase.prototype.getLabelClass = function (item) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(this.cssClasses.label)\n .append(this.cssClasses.labelChecked, this.isItemSelected(item))\n .toString();\n };\n QuestionSelectBase.prototype.getControlLabelClass = function (item) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(this.cssClasses.controlLabel)\n .append(this.cssClasses.controlLabelChecked, this.isItemSelected(item))\n .toString() || undefined;\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"headItems\", {\n get: function () {\n var count = (this.separateSpecialChoices || this.isDesignMode) ? this.headItemsCount : 0;\n var res = [];\n for (var i = 0; i < count; i++)\n res.push(this.visibleChoices[i]);\n return res;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"footItems\", {\n get: function () {\n var count = (this.separateSpecialChoices || this.isDesignMode) ? this.footItemsCount : 0;\n var res = [];\n var items = this.visibleChoices;\n for (var i = 0; i < count; i++)\n res.push(items[items.length - count + i]);\n return res;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"dataChoices\", {\n get: function () {\n var _this = this;\n return this.visibleChoices.filter(function (item) { return !_this.isBuiltInChoice(item, _this); });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"bodyItems\", {\n get: function () {\n return (this.hasHeadItems || this.hasFootItems) ? this.dataChoices : this.visibleChoices;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"hasHeadItems\", {\n get: function () {\n return this.headItems.length > 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"hasFootItems\", {\n get: function () {\n return this.footItems.length > 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"columns\", {\n get: function () {\n var columns = [];\n var colCount = this.getCurrentColCount();\n if (this.hasColumns && this.visibleChoices.length > 0) {\n var choicesToBuildColumns = (!this.separateSpecialChoices && !this.isDesignMode) ?\n this.visibleChoices : this.dataChoices;\n if (_settings__WEBPACK_IMPORTED_MODULE_9__[\"settings\"].showItemsInOrder == \"column\") {\n var prevIndex = 0;\n var leftElementsCount = choicesToBuildColumns.length % colCount;\n for (var i = 0; i < colCount; i++) {\n var column = [];\n for (var j = prevIndex; j < prevIndex + Math.floor(choicesToBuildColumns.length / colCount); j++) {\n column.push(choicesToBuildColumns[j]);\n }\n if (leftElementsCount > 0) {\n leftElementsCount--;\n column.push(choicesToBuildColumns[j]);\n j++;\n }\n prevIndex = j;\n columns.push(column);\n }\n }\n else {\n for (var i = 0; i < colCount; i++) {\n var column = [];\n for (var j = i; j < choicesToBuildColumns.length; j += colCount) {\n column.push(choicesToBuildColumns[j]);\n }\n columns.push(column);\n }\n }\n }\n return columns;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"hasColumns\", {\n get: function () {\n return !this.isMobile &&\n (this.getCurrentColCount() > 1);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"rowLayout\", {\n get: function () {\n return this.getCurrentColCount() == 0 && !(this.hasFootItems || this.hasHeadItems);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionSelectBase.prototype, \"blockedRow\", {\n get: function () {\n return this.getCurrentColCount() == 0 && (this.hasFootItems || this.hasHeadItems);\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.choicesLoaded = function () {\n this.isChoicesLoaded = true;\n this.updateIsReady();\n if (this.survey) {\n this.survey.loadedChoicesFromServer(this);\n }\n if (this.loadedChoicesFromServerCallback) {\n this.loadedChoicesFromServerCallback();\n }\n };\n QuestionSelectBase.prototype.getItemValueWrapperComponentName = function (item) {\n var survey = this.survey;\n if (survey) {\n return survey.getItemValueWrapperComponentName(item, this);\n }\n return _survey__WEBPACK_IMPORTED_MODULE_1__[\"SurveyModel\"].TemplateRendererComponentName;\n };\n QuestionSelectBase.prototype.getItemValueWrapperComponentData = function (item) {\n var survey = this.survey;\n if (survey) {\n return survey.getItemValueWrapperComponentData(item, this);\n }\n return item;\n };\n QuestionSelectBase.prototype.ariaItemChecked = function (item) {\n return this.renderedValue === item.value ? \"true\" : \"false\";\n };\n QuestionSelectBase.prototype.isOtherItem = function (item) {\n return this.hasOther && item.value == this.otherItem.value;\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"itemSvgIcon\", {\n get: function () {\n return this.cssClasses.itemSvgIconId;\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.getSelectBaseRootCss = function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_10__[\"CssClassBuilder\"]()\n .append(this.getQuestionRootCss())\n .append(this.cssClasses.rootRow, this.rowLayout)\n .toString();\n };\n QuestionSelectBase.prototype.allowMobileInDesignMode = function () {\n return true;\n };\n QuestionSelectBase.prototype.getAriaItemLabel = function (item) {\n return item.locText.renderedHtml;\n };\n QuestionSelectBase.prototype.getItemId = function (item) {\n return this.inputId + \"_\" + this.getItemIndex(item);\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"questionName\", {\n get: function () {\n return this.name + \"_\" + this.id;\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.getItemEnabled = function (item) {\n return !this.isInputReadOnly && item.isEnabled;\n };\n QuestionSelectBase.prototype.afterRender = function (el) {\n _super.prototype.afterRender.call(this, el);\n this.rootElement = el;\n };\n QuestionSelectBase.prototype.beforeDestroyQuestionElement = function (el) {\n _super.prototype.beforeDestroyQuestionElement.call(this, el);\n this.rootElement = undefined;\n };\n QuestionSelectBase.prototype.focusOtherComment = function () {\n var _this = this;\n if (!!this.rootElement) {\n setTimeout(function () {\n var commentEl = _this.rootElement.querySelector(\"textarea\");\n if (!!commentEl) {\n commentEl.focus();\n }\n }, 10);\n }\n };\n QuestionSelectBase.prototype.onValueChanged = function () {\n _super.prototype.onValueChanged.call(this);\n if (!this.isDesignMode && !this.prevIsOtherSelected && this.isOtherSelected) {\n this.focusOtherComment();\n }\n this.prevIsOtherSelected = this.isOtherSelected;\n };\n QuestionSelectBase.prototype.getDefaultItemComponent = function () {\n return \"\";\n };\n Object.defineProperty(QuestionSelectBase.prototype, \"itemComponent\", {\n /**\n * The name of a component used to render items.\n */\n get: function () {\n return this.getPropertyValue(\"itemComponent\", this.getDefaultItemComponent());\n },\n set: function (value) {\n this.setPropertyValue(\"itemComponent\", value);\n },\n enumerable: false,\n configurable: true\n });\n QuestionSelectBase.prototype.updateCssClasses = function (res, css) {\n _super.prototype.updateCssClasses.call(this, res, css);\n if (!!this.dropdownListModel) {\n var listCssClasses = {};\n Object(_utils_utils__WEBPACK_IMPORTED_MODULE_11__[\"mergeValues\"])(css.list, listCssClasses);\n Object(_utils_utils__WEBPACK_IMPORTED_MODULE_11__[\"mergeValues\"])(res.list, listCssClasses);\n res[\"list\"] = listCssClasses;\n }\n };\n QuestionSelectBase.prototype.calcCssClasses = function (css) {\n var classes = _super.prototype.calcCssClasses.call(this, css);\n if (this.dropdownListModel) {\n this.dropdownListModel.updateCssClasses(classes.popup, classes.list);\n }\n return classes;\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ onSet: function (newVal, target) {\n target.onSelectedItemValuesChangedHandler(newVal);\n } })\n ], QuestionSelectBase.prototype, \"selectedItemValues\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], QuestionSelectBase.prototype, \"separateSpecialChoices\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])({ localizable: true })\n ], QuestionSelectBase.prototype, \"otherPlaceholder\", void 0);\n return QuestionSelectBase;\n}(_question__WEBPACK_IMPORTED_MODULE_2__[\"Question\"]));\n\n/**\n * A base class for multiple-selection question types that can display choice items in multiple columns ([Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), [Image Picker](https://surveyjs.io/form-library/documentation/questionimagepickermodel)).\n */\nvar QuestionCheckboxBase = /** @class */ (function (_super) {\n __extends(QuestionCheckboxBase, _super);\n function QuestionCheckboxBase(name) {\n return _super.call(this, name) || this;\n }\n Object.defineProperty(QuestionCheckboxBase.prototype, \"colCount\", {\n /**\n * Get or sets the number of columns used to arrange choice items.\n *\n * Set this property to 0 if you want to display all items in one line. The default value depends on the available width.\n * @see separateSpecialChoices\n */\n get: function () {\n return this.getPropertyValue(\"colCount\", this.isFlowLayout ? 0 : undefined);\n },\n set: function (value) {\n if (value < 0 || value > 5 || this.isFlowLayout)\n return;\n this.setPropertyValue(\"colCount\", value);\n this.fireCallback(this.colCountChangedCallback);\n },\n enumerable: false,\n configurable: true\n });\n QuestionCheckboxBase.prototype.onParentChanged = function () {\n _super.prototype.onParentChanged.call(this);\n if (this.isFlowLayout) {\n this.setPropertyValue(\"colCount\", null);\n }\n };\n QuestionCheckboxBase.prototype.onParentQuestionChanged = function () {\n this.onVisibleChoicesChanged();\n };\n QuestionCheckboxBase.prototype.getSearchableItemValueKeys = function (keys) {\n keys.push(\"choices\");\n };\n return QuestionCheckboxBase;\n}(QuestionSelectBase));\n\nfunction checkCopyPropVisibility(obj, mode) {\n var _a;\n if (!obj)\n return false;\n if (!!obj.templateQuestion) {\n var data = (_a = obj.colOwner) === null || _a === void 0 ? void 0 : _a.data;\n obj = obj.templateQuestion;\n if (!obj.getCarryForwardQuestion(data))\n return false;\n }\n return obj.carryForwardQuestionType === mode;\n}\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"selectbase\", [\n { name: \"showCommentArea:switch\", layout: \"row\", visible: true, category: \"general\" },\n \"choicesFromQuestion:question_carryforward\",\n {\n name: \"choices:itemvalue[]\", uniqueProperty: \"value\",\n baseValue: function () {\n return _surveyStrings__WEBPACK_IMPORTED_MODULE_4__[\"surveyLocalization\"].getString(\"choices_Item\");\n },\n dependsOn: \"choicesFromQuestion\",\n visibleIf: function (obj) {\n return !obj.choicesFromQuestion;\n },\n },\n {\n name: \"choicesFromQuestionMode\",\n default: \"all\",\n choices: [\"all\", \"selected\", \"unselected\"],\n dependsOn: \"choicesFromQuestion\",\n visibleIf: function (obj) {\n return checkCopyPropVisibility(obj, \"select\");\n },\n },\n {\n name: \"choiceValuesFromQuestion\",\n dependsOn: \"choicesFromQuestion\",\n visibleIf: function (obj) {\n return checkCopyPropVisibility(obj, \"array\");\n },\n },\n {\n name: \"choiceTextsFromQuestion\",\n dependsOn: \"choicesFromQuestion\",\n visibleIf: function (obj) {\n return checkCopyPropVisibility(obj, \"array\");\n },\n },\n {\n name: \"choicesOrder\",\n default: \"none\",\n choices: [\"none\", \"asc\", \"desc\", \"random\"],\n dependsOn: \"choicesFromQuestion\",\n visibleIf: function (obj) {\n return !obj.choicesFromQuestion;\n },\n },\n {\n name: \"choicesByUrl:restfull\",\n className: \"choicesByUrl\",\n onGetValue: function (obj) {\n return obj.choicesByUrl.getData();\n },\n onSetValue: function (obj, value) {\n obj.choicesByUrl.setData(value);\n },\n },\n \"hideIfChoicesEmpty:boolean\",\n \"choicesVisibleIf:condition\",\n {\n name: \"choicesEnableIf:condition\",\n dependsOn: \"choicesFromQuestion\",\n visibleIf: function (obj) {\n return !obj.choicesFromQuestion;\n },\n },\n { name: \"separateSpecialChoices:boolean\", visible: false },\n { name: \"showOtherItem:boolean\", alternativeName: \"hasOther\" },\n { name: \"showNoneItem:boolean\", alternativeName: \"hasNone\" },\n {\n name: \"otherPlaceholder\",\n alternativeName: \"otherPlaceHolder\",\n serializationProperty: \"locOtherPlaceholder\",\n dependsOn: \"showOtherItem\",\n visibleIf: function (obj) {\n return obj.hasOther;\n },\n },\n {\n name: \"noneText\",\n serializationProperty: \"locNoneText\",\n dependsOn: \"showNoneItem\",\n visibleIf: function (obj) {\n return obj.hasNone;\n },\n },\n {\n name: \"otherText\",\n serializationProperty: \"locOtherText\",\n dependsOn: \"showOtherItem\",\n visibleIf: function (obj) {\n return obj.hasOther;\n },\n },\n {\n name: \"otherErrorText\",\n serializationProperty: \"locOtherErrorText\",\n dependsOn: \"showOtherItem\",\n visibleIf: function (obj) {\n return obj.hasOther;\n },\n },\n {\n name: \"storeOthersAsComment\",\n default: \"default\",\n choices: [\"default\", true, false],\n visible: false,\n },\n // { name: \"itemComponent\", visible: false }\n], null, \"question\");\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"checkboxbase\", [\n {\n name: \"colCount:number\",\n default: 1,\n choices: [0, 1, 2, 3, 4, 5],\n layout: \"row\",\n }\n], null, \"selectbase\");\n\n\n/***/ }),\n\n/***/ \"./src/question_boolean.ts\":\n/*!*********************************!*\\\n !*** ./src/question_boolean.ts ***!\n \\*********************************/\n/*! exports provided: QuestionBooleanModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"QuestionBooleanModel\", function() { return QuestionBooleanModel; });\n/* harmony import */ var _questionfactory__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./questionfactory */ \"./src/questionfactory.ts\");\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _question__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./question */ \"./src/question.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n/**\n * A class that describes the Yes/No (Boolean) question type.\n *\n * [View Demo](https://surveyjs.io/form-library/examples/questiontype-boolean/ (linkStyle))\n */\nvar QuestionBooleanModel = /** @class */ (function (_super) {\n __extends(QuestionBooleanModel, _super);\n function QuestionBooleanModel(name) {\n var _this = _super.call(this, name) || this;\n _this.createLocalizableString(\"labelFalse\", _this, true, \"booleanUncheckedLabel\");\n _this.createLocalizableString(\"labelTrue\", _this, true, \"booleanCheckedLabel\");\n return _this;\n }\n QuestionBooleanModel.prototype.getType = function () {\n return \"boolean\";\n };\n QuestionBooleanModel.prototype.isLayoutTypeSupported = function (layoutType) {\n return true;\n };\n QuestionBooleanModel.prototype.supportGoNextPageAutomatic = function () {\n return this.renderAs !== \"checkbox\";\n };\n Object.defineProperty(QuestionBooleanModel.prototype, \"isIndeterminate\", {\n get: function () {\n return this.isEmpty();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionBooleanModel.prototype, \"hasTitle\", {\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionBooleanModel.prototype, \"booleanValue\", {\n /**\n * Gets or sets the question value as a Boolean value.\n *\n * If you set the `valueTrue` and `valueFalse` properties, the `value` property contains their values instead of Boolean values. This may be inconvenient when you operate the question value in code. To access the standard Boolean values, use the `booleanValue` property.\n * @see valueTrue\n * @see valueFalse\n */\n get: function () {\n if (this.isEmpty())\n return null;\n return this.value == this.getValueTrue();\n },\n set: function (val) {\n if (this.isReadOnly || this.isDesignMode) {\n return;\n }\n this.setBooleanValue(val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionBooleanModel.prototype, \"checkedValue\", {\n get: function () { return this.booleanValue; },\n set: function (val) { this.booleanValue = val; },\n enumerable: false,\n configurable: true\n });\n QuestionBooleanModel.prototype.setBooleanValue = function (val) {\n if (this.isValueEmpty(val)) {\n this.value = null;\n this.booleanValueRendered = null;\n }\n else {\n this.value = val == true ? this.getValueTrue() : this.getValueFalse();\n this.booleanValueRendered = val;\n }\n };\n Object.defineProperty(QuestionBooleanModel.prototype, \"defaultValue\", {\n get: function () {\n return this.getPropertyValue(\"defaultValue\");\n },\n set: function (val) {\n if (val === true)\n val = \"true\";\n if (val === false)\n val = \"false\";\n if (val === undefined)\n val = \"indeterminate\";\n this.setPropertyValue(\"defaultValue\", val);\n this.updateValueWithDefaults();\n },\n enumerable: false,\n configurable: true\n });\n QuestionBooleanModel.prototype.getDefaultValue = function () {\n if (this.defaultValue == \"indeterminate\")\n return null;\n if (this.defaultValue === undefined)\n return null;\n return this.defaultValue == \"true\"\n ? this.getValueTrue()\n : this.getValueFalse();\n };\n Object.defineProperty(QuestionBooleanModel.prototype, \"locTitle\", {\n get: function () {\n var original = this.getLocalizableString(\"title\");\n if (!this.isValueEmpty(this.locLabel.text) && (this.isValueEmpty(original.text) || this.isLabelRendered && !this.showTitle))\n return this.locLabel;\n return original;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionBooleanModel.prototype, \"labelRenderedAriaID\", {\n get: function () {\n return this.isLabelRendered ? this.ariaTitleId : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionBooleanModel.prototype, \"isLabelRendered\", {\n get: function () {\n return this.titleLocation === \"hidden\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionBooleanModel.prototype, \"canRenderLabelDescription\", {\n get: function () {\n return this.isLabelRendered && this.hasDescription && (this.hasDescriptionUnderTitle || this.hasDescriptionUnderInput);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionBooleanModel.prototype, \"labelTrue\", {\n /**\n * Gets or sets a text label that corresponds to a positive answer.\n *\n * Default value: \"Yes\"\n * @see valueTrue\n * @see valueFalse\n */\n get: function () {\n return this.getLocalizableStringText(\"labelTrue\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"labelTrue\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionBooleanModel.prototype, \"locLabelTrue\", {\n get: function () {\n return this.getLocalizableString(\"labelTrue\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionBooleanModel.prototype, \"isDeterminated\", {\n get: function () {\n return this.booleanValue !== null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionBooleanModel.prototype, \"labelFalse\", {\n /**\n * Gets or sets a text label that corresponds to a negative answer.\n *\n * Default value: \"No\"\n * @see valueTrue\n * @see valueFalse\n */\n get: function () {\n return this.getLocalizableStringText(\"labelFalse\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"labelFalse\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionBooleanModel.prototype, \"locLabelFalse\", {\n get: function () {\n return this.getLocalizableString(\"labelFalse\");\n },\n enumerable: false,\n configurable: true\n });\n QuestionBooleanModel.prototype.getValueTrue = function () {\n return this.valueTrue !== undefined ? this.valueTrue : true;\n };\n QuestionBooleanModel.prototype.getValueFalse = function () {\n return this.valueFalse !== undefined ? this.valueFalse : false;\n };\n QuestionBooleanModel.prototype.setDefaultValue = function () {\n if (this.isDefaultValueSet(\"true\", this.valueTrue))\n this.setBooleanValue(true);\n if (this.isDefaultValueSet(\"false\", this.valueFalse))\n this.setBooleanValue(false);\n if (this.defaultValue == \"indeterminate\")\n this.setBooleanValue(null);\n };\n QuestionBooleanModel.prototype.isDefaultValueSet = function (defaultValueCheck, valueTrueOrFalse) {\n return this.defaultValue == defaultValueCheck || (valueTrueOrFalse !== undefined && this.defaultValue === valueTrueOrFalse);\n };\n QuestionBooleanModel.prototype.getDisplayValueCore = function (keysAsText, value) {\n if (value == this.getValueTrue())\n return this.locLabelTrue.textOrHtml;\n return this.locLabelFalse.textOrHtml;\n };\n QuestionBooleanModel.prototype.getItemCssValue = function (css) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__[\"CssClassBuilder\"]()\n .append(css.item)\n .append(css.itemOnError, this.hasCssError())\n .append(css.itemDisabled, this.isReadOnly)\n .append(css.itemHover, !this.isDesignMode)\n .append(css.itemChecked, !!this.booleanValue)\n .append(css.itemIndeterminate, this.booleanValue === null)\n .toString();\n };\n QuestionBooleanModel.prototype.getItemCss = function () {\n return this.getItemCssValue(this.cssClasses);\n };\n QuestionBooleanModel.prototype.getCheckboxItemCss = function () {\n return this.getItemCssValue({\n item: this.cssClasses.checkboxItem,\n itemOnError: this.cssClasses.checkboxItemOnError,\n itemDisabled: this.cssClasses.checkboxItemDisabled,\n itemChecked: this.cssClasses.checkboxItemChecked,\n itemIndeterminate: this.cssClasses.checkboxItemIndeterminate\n });\n };\n QuestionBooleanModel.prototype.getLabelCss = function (checked) {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__[\"CssClassBuilder\"]()\n .append(this.cssClasses.label)\n .append(this.cssClasses.disabledLabel, this.booleanValue === !checked || this.isReadOnly)\n .append(this.cssClasses.labelTrue, !this.isIndeterminate && checked === true)\n .append(this.cssClasses.labelFalse, !this.isIndeterminate && checked === false)\n .toString();\n };\n Object.defineProperty(QuestionBooleanModel.prototype, \"svgIcon\", {\n get: function () {\n if (this.booleanValue && this.cssClasses.svgIconCheckedId)\n return this.cssClasses.svgIconCheckedId;\n if (this.booleanValue === null && this.cssClasses.svgIconIndId)\n return this.cssClasses.svgIconIndId;\n if (!this.booleanValue && this.cssClasses.svgIconUncheckedId)\n return this.cssClasses.svgIconUncheckedId;\n return this.cssClasses.svgIconId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionBooleanModel.prototype, \"allowClick\", {\n get: function () {\n return this.isIndeterminate && !this.isInputReadOnly;\n },\n enumerable: false,\n configurable: true\n });\n QuestionBooleanModel.prototype.getCheckedLabel = function () {\n if (this.booleanValue === true) {\n return this.locLabelTrue;\n }\n else if (this.booleanValue === false) {\n return this.locLabelFalse;\n }\n };\n QuestionBooleanModel.prototype.setQuestionValue = function (newValue, updateIsAnswered) {\n if (updateIsAnswered === void 0) { updateIsAnswered = true; }\n if (newValue === \"true\" && this.valueTrue !== \"true\")\n newValue = true;\n if (newValue === \"false\" && this.valueFalse !== \"false\")\n newValue = false;\n if (newValue === \"indeterminate\")\n newValue = null;\n _super.prototype.setQuestionValue.call(this, newValue, updateIsAnswered);\n };\n /* #region web-based methods */\n QuestionBooleanModel.prototype.onLabelClick = function (event, value) {\n if (this.allowClick) {\n Object(_utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"preventDefaults\"])(event);\n this.booleanValue = value;\n }\n return true;\n };\n QuestionBooleanModel.prototype.calculateBooleanValueByEvent = function (event, isRightClick) {\n var isRtl = document.defaultView.getComputedStyle(event.target).direction == \"rtl\";\n this.booleanValue = isRtl ? !isRightClick : isRightClick;\n };\n QuestionBooleanModel.prototype.onSwitchClickModel = function (event) {\n if (this.allowClick) {\n Object(_utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"preventDefaults\"])(event);\n var isRightClick = event.offsetX / event.target.offsetWidth > 0.5;\n this.calculateBooleanValueByEvent(event, isRightClick);\n return;\n }\n return true;\n };\n QuestionBooleanModel.prototype.onKeyDownCore = function (event) {\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowRight\") {\n event.stopPropagation();\n this.calculateBooleanValueByEvent(event, event.key === \"ArrowRight\");\n }\n return true;\n };\n /* #endregion */\n QuestionBooleanModel.prototype.getRadioItemClass = function (css, value) {\n var className = undefined;\n if (css.radioItem) {\n className = css.radioItem;\n }\n if (css.radioItemChecked && value === this.booleanValue) {\n className = (className ? className + \" \" : \"\") + css.radioItemChecked;\n }\n return className;\n };\n QuestionBooleanModel.prototype.supportResponsiveness = function () {\n return true;\n };\n QuestionBooleanModel.prototype.getCompactRenderAs = function () {\n return \"radio\";\n };\n QuestionBooleanModel.prototype.createActionContainer = function (allowAdaptiveActions) {\n return _super.prototype.createActionContainer.call(this, this.renderAs !== \"checkbox\");\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], QuestionBooleanModel.prototype, \"booleanValueRendered\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], QuestionBooleanModel.prototype, \"showTitle\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])({ localizable: true })\n ], QuestionBooleanModel.prototype, \"label\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], QuestionBooleanModel.prototype, \"valueTrue\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"property\"])()\n ], QuestionBooleanModel.prototype, \"valueFalse\", void 0);\n return QuestionBooleanModel;\n}(_question__WEBPACK_IMPORTED_MODULE_2__[\"Question\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_1__[\"Serializer\"].addClass(\"boolean\", [\n { name: \"showCommentArea:switch\", layout: \"row\", visible: true, category: \"general\" },\n { name: \"label:text\", serializationProperty: \"locLabel\", isSerializable: false, visible: false },\n {\n name: \"labelTrue:text\",\n serializationProperty: \"locLabelTrue\",\n },\n {\n name: \"labelFalse:text\",\n serializationProperty: \"locLabelFalse\",\n },\n \"valueTrue\",\n \"valueFalse\",\n { name: \"renderAs\", default: \"default\", visible: false },\n], function () {\n return new QuestionBooleanModel(\"\");\n}, \"question\");\n_questionfactory__WEBPACK_IMPORTED_MODULE_0__[\"QuestionFactory\"].Instance.registerQuestion(\"boolean\", function (name) {\n return new QuestionBooleanModel(name);\n});\n\n\n/***/ }),\n\n/***/ \"./src/question_buttongroup.ts\":\n/*!*************************************!*\\\n !*** ./src/question_buttongroup.ts ***!\n \\*************************************/\n/*! exports provided: ButtonGroupItemValue, QuestionButtonGroupModel, ButtonGroupItemModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemValue\", function() { return ButtonGroupItemValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"QuestionButtonGroupModel\", function() { return QuestionButtonGroupModel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ButtonGroupItemModel\", function() { return ButtonGroupItemModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _itemvalue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./itemvalue */ \"./src/itemvalue.ts\");\n/* harmony import */ var _question_baseselect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./question_baseselect */ \"./src/question_baseselect.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\nvar ButtonGroupItemValue = /** @class */ (function (_super) {\n __extends(ButtonGroupItemValue, _super);\n function ButtonGroupItemValue(value, text, typeName) {\n if (text === void 0) { text = null; }\n if (typeName === void 0) { typeName = \"buttongroupitemvalue\"; }\n var _this = _super.call(this, value, text, typeName) || this;\n _this.typeName = typeName;\n return _this;\n }\n ButtonGroupItemValue.prototype.getType = function () {\n return !!this.typeName ? this.typeName : \"buttongroupitemvalue\";\n };\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], ButtonGroupItemValue.prototype, \"iconName\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], ButtonGroupItemValue.prototype, \"iconSize\", void 0);\n __decorate([\n Object(_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"property\"])()\n ], ButtonGroupItemValue.prototype, \"showCaption\", void 0);\n return ButtonGroupItemValue;\n}(_itemvalue__WEBPACK_IMPORTED_MODULE_1__[\"ItemValue\"]));\n\n/**\n * A Model for a button group question.\n */\nvar QuestionButtonGroupModel = /** @class */ (function (_super) {\n __extends(QuestionButtonGroupModel, _super);\n function QuestionButtonGroupModel(name) {\n return _super.call(this, name) || this;\n }\n QuestionButtonGroupModel.prototype.getType = function () {\n return \"buttongroup\";\n };\n QuestionButtonGroupModel.prototype.getItemValueType = function () {\n return \"buttongroupitemvalue\";\n };\n QuestionButtonGroupModel.prototype.supportOther = function () {\n return false;\n };\n return QuestionButtonGroupModel;\n}(_question_baseselect__WEBPACK_IMPORTED_MODULE_2__[\"QuestionCheckboxBase\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"buttongroup\", [\n {\n name: \"choices:buttongroupitemvalue[]\",\n },\n], function () {\n return new QuestionButtonGroupModel(\"\");\n}, \"checkboxbase\");\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"buttongroupitemvalue\", [\n { name: \"showCaption:boolean\", default: true },\n { name: \"iconName:text\" },\n { name: \"iconSize:number\" },\n], function (value) { return new ButtonGroupItemValue(value); }, \"itemvalue\");\n// QuestionFactory.Instance.registerQuestion(\"buttongroup\", name => {\n// var q = new QuestionButtonGroupModel(name);\n// q.choices = QuestionFactory.DefaultChoices;\n// return q;\n// });\nvar ButtonGroupItemModel = /** @class */ (function () {\n function ButtonGroupItemModel(question, item, index) {\n this.question = question;\n this.item = item;\n this.index = index;\n }\n Object.defineProperty(ButtonGroupItemModel.prototype, \"value\", {\n get: function () {\n return this.item.value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ButtonGroupItemModel.prototype, \"iconName\", {\n get: function () {\n return this.item.iconName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ButtonGroupItemModel.prototype, \"iconSize\", {\n get: function () {\n return this.item.iconSize || 24;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ButtonGroupItemModel.prototype, \"caption\", {\n get: function () {\n return this.item.locText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ButtonGroupItemModel.prototype, \"showCaption\", {\n get: function () {\n return this.item.showCaption || this.item.showCaption === undefined;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ButtonGroupItemModel.prototype, \"isRequired\", {\n get: function () {\n return this.question.isRequired;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ButtonGroupItemModel.prototype, \"selected\", {\n get: function () {\n return this.question.isItemSelected(this.item);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ButtonGroupItemModel.prototype, \"readOnly\", {\n get: function () {\n return this.question.isInputReadOnly || !this.item.isEnabled;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ButtonGroupItemModel.prototype, \"name\", {\n get: function () {\n return this.question.name + \"_\" + this.question.id;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ButtonGroupItemModel.prototype, \"id\", {\n get: function () {\n return this.question.inputId + \"_\" + this.index;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ButtonGroupItemModel.prototype, \"hasErrors\", {\n get: function () {\n return this.question.errors.length > 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ButtonGroupItemModel.prototype, \"describedBy\", {\n get: function () {\n return this.question.errors.length > 0\n ? this.question.id + \"_errors\"\n : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ButtonGroupItemModel.prototype, \"labelClass\", {\n get: function () {\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_3__[\"CssClassBuilder\"]()\n .append(this.question.cssClasses.item)\n .append(this.question.cssClasses.itemSelected, this.selected)\n .append(this.question.cssClasses.itemHover, !this.readOnly && !this.selected)\n .append(this.question.cssClasses.itemDisabled, this.question.isReadOnly || !this.item.isEnabled)\n .toString();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ButtonGroupItemModel.prototype, \"css\", {\n get: function () {\n return {\n label: this.labelClass,\n icon: this.question.cssClasses.itemIcon,\n control: this.question.cssClasses.itemControl,\n caption: this.question.cssClasses.itemCaption,\n decorator: this.question.cssClasses.itemDecorator,\n };\n },\n enumerable: false,\n configurable: true\n });\n ButtonGroupItemModel.prototype.onChange = function () {\n this.question.renderedValue = this.item.value;\n };\n return ButtonGroupItemModel;\n}());\n\n\n\n/***/ }),\n\n/***/ \"./src/question_checkbox.ts\":\n/*!**********************************!*\\\n !*** ./src/question_checkbox.ts ***!\n \\**********************************/\n/*! exports provided: QuestionCheckboxModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"QuestionCheckboxModel\", function() { return QuestionCheckboxModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _questionfactory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./questionfactory */ \"./src/questionfactory.ts\");\n/* harmony import */ var _question_baseselect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./question_baseselect */ \"./src/question_baseselect.ts\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ \"./src/helpers.ts\");\n/* harmony import */ var _itemvalue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./itemvalue */ \"./src/itemvalue.ts\");\n/* harmony import */ var _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/cssClassBuilder */ \"./src/utils/cssClassBuilder.ts\");\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./error */ \"./src/error.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n\n/**\n * A class that describes the Checkboxes question type.\n *\n * [View Demo](https://surveyjs.io/form-library/examples/questiontype-checkbox/ (linkStyle))\n */\nvar QuestionCheckboxModel = /** @class */ (function (_super) {\n __extends(QuestionCheckboxModel, _super);\n function QuestionCheckboxModel(name) {\n var _this = _super.call(this, name) || this;\n _this.invisibleOldValues = {};\n _this.isChangingValueOnClearIncorrect = false;\n _this.selectAllItemValue = new _itemvalue__WEBPACK_IMPORTED_MODULE_4__[\"ItemValue\"](\"\");\n _this.selectAllItemValue.id = \"selectall\";\n var selectAllItemText = _this.createLocalizableString(\"selectAllText\", _this.selectAllItem, true, \"selectAllItemText\");\n _this.selectAllItem.locOwner = _this;\n _this.selectAllItem.setLocText(selectAllItemText);\n _this.registerPropertyChangedHandlers([\"showSelectAllItem\", \"selectAllText\"], function () {\n _this.onVisibleChoicesChanged();\n });\n return _this;\n }\n QuestionCheckboxModel.prototype.getDefaultItemComponent = function () {\n return \"survey-checkbox-item\";\n };\n QuestionCheckboxModel.prototype.getType = function () {\n return \"checkbox\";\n };\n QuestionCheckboxModel.prototype.onCreating = function () {\n _super.prototype.onCreating.call(this);\n this.createNewArray(\"renderedValue\");\n this.createNewArray(\"value\");\n };\n QuestionCheckboxModel.prototype.getFirstInputElementId = function () {\n return this.inputId + \"_0\";\n };\n Object.defineProperty(QuestionCheckboxModel.prototype, \"valuePropertyName\", {\n /**\n * Specifies a property name used to store selected values.\n *\n * Set this property if you want to store selected values in an array of objects instead of an array of primitive values. For example, if you set `valuePropertyName` to `\"car\"`, the `value` property will contain an array of objects `[{ car: \"Ford\" }, { car: \"Tesla\" }]`, not an array of string values `[ \"Ford\", \"Tesla\" ]`.\n */\n get: function () {\n return this.getPropertyValue(\"valuePropertyName\");\n },\n set: function (val) {\n this.setPropertyValue(\"valuePropertyName\", val);\n },\n enumerable: false,\n configurable: true\n });\n QuestionCheckboxModel.prototype.getQuestionFromArray = function (name, index) {\n if (!!name && name === this.valuePropertyName) {\n var v = this.value;\n if (Array.isArray(v) && index < v.length)\n return this;\n }\n return null;\n };\n Object.defineProperty(QuestionCheckboxModel.prototype, \"selectAllItem\", {\n /**\n * Returns the \"Select All\" choice item. Use this property to change the item's `value` or `text`.\n * @see showSelectAllItem\n */\n get: function () {\n return this.selectAllItemValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCheckboxModel.prototype, \"selectAllText\", {\n /**\n * Gets or sets a caption for the \"Select All\" choice item.\n * @see showSelectAllItem\n */\n get: function () {\n return this.getLocalizableStringText(\"selectAllText\");\n },\n set: function (val) {\n this.setLocalizableStringText(\"selectAllText\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCheckboxModel.prototype, \"locSelectAllText\", {\n get: function () {\n return this.getLocalizableString(\"selectAllText\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCheckboxModel.prototype, \"showSelectAllItem\", {\n /**\n * Enable this property to display a \"Select All\" item. When users select it, all other choice items, except \"Other\" and \"None\", also become selected.\n * @see selectAll\n * @see isAllSelected\n * @see separateSpecialChoices\n */\n get: function () {\n return this.getPropertyValue(\"showSelectAllItem\");\n },\n set: function (val) {\n this.setPropertyValue(\"showSelectAllItem\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCheckboxModel.prototype, \"hasSelectAll\", {\n get: function () {\n return this.showSelectAllItem;\n },\n set: function (val) {\n this.showSelectAllItem = val;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCheckboxModel.prototype, \"isAllSelected\", {\n /**\n * Returns `true` if all choice items, except \"Other\" and \"None\", are selected.\n * @see showSelectAllItem\n */\n get: function () {\n if (this.isItemSelected(this.noneItem))\n return false;\n var items = this.getVisibleEnableItems();\n if (items.length === 0)\n return false;\n var val = this.value;\n if (!val || !Array.isArray(val) || val.length === 0)\n return false;\n if (val.length < items.length)\n return false;\n var rVal = [];\n for (var i = 0; i < val.length; i++) {\n rVal.push(this.getRealValue(val[i]));\n }\n for (var i = 0; i < items.length; i++) {\n if (rVal.indexOf(items[i].value) < 0)\n return false;\n }\n return true;\n },\n set: function (val) {\n if (val) {\n this.selectAll();\n }\n else {\n this.clearValue();\n }\n },\n enumerable: false,\n configurable: true\n });\n QuestionCheckboxModel.prototype.toggleSelectAll = function () {\n this.isAllSelected = !this.isAllSelected;\n };\n /**\n * Selects all choice items, except \"Other\" and \"None\".\n *\n * To clear selection, call the `clearValue()` method.\n * @see clearValue\n */\n QuestionCheckboxModel.prototype.selectAll = function () {\n var val = [];\n var items = this.getVisibleEnableItems();\n for (var i = 0; i < items.length; i++) {\n val.push(items[i].value);\n }\n this.renderedValue = val;\n };\n QuestionCheckboxModel.prototype.clickItemHandler = function (item, checked) {\n if (item === this.selectAllItem) {\n if (checked === true || checked === false) {\n this.isAllSelected = checked;\n }\n else {\n this.toggleSelectAll();\n }\n }\n else {\n var newValue = [].concat(this.renderedValue || []);\n var index = newValue.indexOf(item.value);\n if (checked) {\n if (index < 0) {\n newValue.push(item.value);\n }\n }\n else {\n if (index > -1) {\n newValue.splice(index, 1);\n }\n }\n this.renderedValue = newValue;\n }\n };\n QuestionCheckboxModel.prototype.isItemSelectedCore = function (item) {\n if (item === this.selectAllItem)\n return this.isAllSelected;\n var val = this.renderedValue;\n if (!val || !Array.isArray(val))\n return false;\n for (var i = 0; i < val.length; i++) {\n if (this.isTwoValueEquals(val[i], item.value))\n return true;\n }\n return false;\n };\n QuestionCheckboxModel.prototype.getRealValue = function (val) {\n if (!val)\n return val;\n return !this.valuePropertyName ? val : val[this.valuePropertyName];\n };\n Object.defineProperty(QuestionCheckboxModel.prototype, \"isValueArray\", {\n get: function () { return true; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCheckboxModel.prototype, \"maxSelectedChoices\", {\n /**\n * Specifies the maximum number of selected choices.\n *\n * Default value: 0 (unlimited)\n *\n * > This property only limits the number of choice items that can be selected by users. You can select any number of choice items in code, regardless of the `maxSelectedChoices` value.\n * @see minSelectedChoices\n */\n get: function () {\n return this.getPropertyValue(\"maxSelectedChoices\");\n },\n set: function (val) {\n if (val < 0)\n val = 0;\n this.setPropertyValue(\"maxSelectedChoices\", val);\n this.filterItems();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCheckboxModel.prototype, \"minSelectedChoices\", {\n /**\n * Specifies the minimum number of selected choices.\n *\n * Default value: 0 (unlimited)\n *\n * > This property only limits the number of choice items that can be selected by users. You can select any number of choice items in code, regardless of the `minSelectedChoices` value.\n * @see maxSelectedChoices\n */\n get: function () {\n return this.getPropertyValue(\"minSelectedChoices\");\n },\n set: function (val) {\n if (val < 0)\n val = 0;\n this.setPropertyValue(\"minSelectedChoices\", val);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCheckboxModel.prototype, \"selectedChoices\", {\n /**\n * An array of selected choice items. Includes the \"Other\" and \"None\" choice items if they are selected, but not \"Select All\". Items are sorted in the order they were selected.\n * @see visibleChoices\n * @see enabledChoices\n */\n get: function () {\n var val = this.renderedValue;\n var visChoices = this.visibleChoices;\n var selectedItemValues = this.selectedItemValues;\n if (this.isEmpty())\n return [];\n var allChoices = !!this.defaultSelectedItemValues ? [].concat(this.defaultSelectedItemValues, visChoices) : visChoices;\n var itemValues = val.map(function (item) { return _itemvalue__WEBPACK_IMPORTED_MODULE_4__[\"ItemValue\"].getItemByValue(allChoices, item); }).filter(function (item) { return !!item; });\n if (!itemValues.length && !selectedItemValues) {\n this.updateSelectedItemValues();\n }\n return this.validateItemValues(itemValues);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCheckboxModel.prototype, \"selectedItems\", {\n get: function () { return this.selectedChoices; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCheckboxModel.prototype, \"hasFilteredValue\", {\n get: function () { return !!this.valuePropertyName; },\n enumerable: false,\n configurable: true\n });\n QuestionCheckboxModel.prototype.getFilteredValue = function () {\n if (this.hasFilteredValue)\n return this.renderedValue;\n return _super.prototype.getFilteredValue.call(this);\n };\n QuestionCheckboxModel.prototype.getMultipleSelectedItems = function () {\n return this.selectedChoices;\n };\n QuestionCheckboxModel.prototype.validateItemValues = function (itemValues) {\n var _this = this;\n if (!!itemValues.length)\n return itemValues;\n var selectedItemValues = this.selectedItemValues;\n if (!!selectedItemValues && !!selectedItemValues.length) {\n this.defaultSelectedItemValues = [].concat(selectedItemValues);\n return selectedItemValues;\n }\n var val = this.renderedValue;\n return val.map(function (item) { return _this.createItemValue(item); });\n };\n QuestionCheckboxModel.prototype.getAnswerCorrectIgnoreOrder = function () { return true; };\n QuestionCheckboxModel.prototype.onCheckForErrors = function (errors, isOnValueChanged) {\n _super.prototype.onCheckForErrors.call(this, errors, isOnValueChanged);\n if (isOnValueChanged)\n return;\n if (this.minSelectedChoices > 0 && this.checkMinSelectedChoicesUnreached()) {\n var minError = new _error__WEBPACK_IMPORTED_MODULE_6__[\"CustomError\"](this.getLocalizationFormatString(\"minSelectError\", this.minSelectedChoices), this);\n errors.push(minError);\n }\n };\n QuestionCheckboxModel.prototype.onVisibleChoicesChanged = function () {\n _super.prototype.onVisibleChoicesChanged.call(this);\n this.updateSelectAllItemProps();\n };\n QuestionCheckboxModel.prototype.onEnableItemCallBack = function (item) {\n if (!this.shouldCheckMaxSelectedChoices())\n return true;\n return this.isItemSelected(item);\n };\n QuestionCheckboxModel.prototype.onAfterRunItemsEnableCondition = function () {\n this.updateSelectAllItemProps();\n if (this.maxSelectedChoices < 1) {\n this.otherItem.setIsEnabled(true);\n return;\n }\n if (this.hasOther) {\n this.otherItem.setIsEnabled(!this.shouldCheckMaxSelectedChoices() || this.isOtherSelected);\n }\n };\n QuestionCheckboxModel.prototype.updateSelectAllItemProps = function () {\n if (!this.hasSelectAll)\n return;\n this.selectAllItem.setIsEnabled(this.getSelectAllEnabled());\n };\n QuestionCheckboxModel.prototype.getSelectAllEnabled = function () {\n if (!this.hasSelectAll)\n return true;\n var items = this.activeChoices;\n var visCount = this.getVisibleEnableItems().length;\n var max = this.maxSelectedChoices;\n if (max > 0 && max < visCount)\n return false;\n return visCount > 0;\n };\n QuestionCheckboxModel.prototype.getVisibleEnableItems = function () {\n var res = new Array();\n var items = this.activeChoices;\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n if (item.isEnabled && item.isVisible) {\n res.push(item);\n }\n }\n return res;\n };\n QuestionCheckboxModel.prototype.shouldCheckMaxSelectedChoices = function () {\n if (this.maxSelectedChoices < 1)\n return false;\n var val = this.value;\n var len = !Array.isArray(val) ? 0 : val.length;\n return len >= this.maxSelectedChoices;\n };\n QuestionCheckboxModel.prototype.checkMinSelectedChoicesUnreached = function () {\n if (this.minSelectedChoices < 1)\n return false;\n var val = this.value;\n var len = !Array.isArray(val) ? 0 : val.length;\n return len < this.minSelectedChoices;\n };\n QuestionCheckboxModel.prototype.getItemClassCore = function (item, options) {\n var __dummy_value = this.value; //trigger dependencies from koValue for knockout\n options.isSelectAllItem = item === this.selectAllItem;\n return new _utils_cssClassBuilder__WEBPACK_IMPORTED_MODULE_5__[\"CssClassBuilder\"]()\n .append(_super.prototype.getItemClassCore.call(this, item, options))\n .append(this.cssClasses.itemSelectAll, options.isSelectAllItem)\n .toString();\n };\n QuestionCheckboxModel.prototype.updateValueFromSurvey = function (newValue, clearData) {\n _super.prototype.updateValueFromSurvey.call(this, newValue, clearData);\n this.invisibleOldValues = {};\n };\n QuestionCheckboxModel.prototype.setDefaultValue = function () {\n _super.prototype.setDefaultValue.call(this);\n var val = this.defaultValue;\n if (Array.isArray(val)) {\n for (var i = 0; i < val.length; i++) {\n var rVal = this.getRealValue(val[i]);\n if (this.canClearValueAnUnknown(rVal)) {\n this.addIntoInvisibleOldValues(rVal);\n }\n }\n }\n };\n QuestionCheckboxModel.prototype.addIntoInvisibleOldValues = function (val) {\n this.invisibleOldValues[val] = val;\n };\n QuestionCheckboxModel.prototype.hasValueToClearIncorrectValues = function () {\n return _super.prototype.hasValueToClearIncorrectValues.call(this) || !_helpers__WEBPACK_IMPORTED_MODULE_3__[\"Helpers\"].isValueEmpty(this.invisibleOldValues);\n };\n QuestionCheckboxModel.prototype.setNewValue = function (newValue) {\n if (!this.isChangingValueOnClearIncorrect) {\n this.invisibleOldValues = {};\n }\n newValue = this.valueFromData(newValue);\n var value = this.value;\n if (!newValue)\n newValue = [];\n if (!value)\n value = [];\n if (this.isTwoValueEquals(value, newValue))\n return;\n if (this.hasNone) {\n var prevNoneIndex = this.noneIndexInArray(value);\n var newNoneIndex = this.noneIndexInArray(newValue);\n if (prevNoneIndex > -1) {\n if (newNoneIndex > -1 && newValue.length > 1) {\n newValue.splice(newNoneIndex, 1);\n }\n }\n else {\n if (newNoneIndex > -1) {\n newValue.splice(0, newValue.length);\n newValue.push(this.noneItem.value);\n }\n }\n }\n _super.prototype.setNewValue.call(this, newValue);\n };\n QuestionCheckboxModel.prototype.getIsMultipleValue = function () {\n return true;\n };\n QuestionCheckboxModel.prototype.getCommentFromValue = function (newValue) {\n var ind = this.getFirstUnknownIndex(newValue);\n if (ind < 0)\n return \"\";\n return newValue[ind];\n };\n QuestionCheckboxModel.prototype.setOtherValueIntoValue = function (newValue) {\n var ind = this.getFirstUnknownIndex(newValue);\n if (ind < 0)\n return newValue;\n newValue.splice(ind, 1, this.otherItem.value);\n return newValue;\n };\n QuestionCheckboxModel.prototype.getFirstUnknownIndex = function (newValue) {\n if (!Array.isArray(newValue))\n return -1;\n for (var i = 0; i < newValue.length; i++) {\n if (this.hasUnknownValue(newValue[i], false, false))\n return i;\n }\n return -1;\n };\n QuestionCheckboxModel.prototype.noneIndexInArray = function (val) {\n if (!val || !Array.isArray(val))\n return -1;\n var noneValue = this.noneItem.value;\n for (var i = 0; i < val.length; i++) {\n if (val[i] == noneValue)\n return i;\n }\n return -1;\n };\n QuestionCheckboxModel.prototype.canUseFilteredChoices = function () {\n return !this.hasSelectAll && _super.prototype.canUseFilteredChoices.call(this);\n };\n QuestionCheckboxModel.prototype.supportSelectAll = function () {\n return this.isSupportProperty(\"showSelectAllItem\");\n };\n QuestionCheckboxModel.prototype.addNonChoicesItems = function (dict, isAddAll) {\n _super.prototype.addNonChoicesItems.call(this, dict, isAddAll);\n if (this.supportSelectAll() && this.canShowOptionItem(this.selectAllItem, isAddAll, this.hasSelectAll)) {\n this.addNonChoiceItem(dict, this.selectAllItem, _settings__WEBPACK_IMPORTED_MODULE_7__[\"settings\"].specialChoicesOrder.selectAllItem);\n }\n };\n QuestionCheckboxModel.prototype.isBuiltInChoice = function (item, question) {\n return item === question.selectAllItem || _super.prototype.isBuiltInChoice.call(this, item, question);\n };\n QuestionCheckboxModel.prototype.isItemInList = function (item) {\n if (item == this.selectAllItem)\n return this.hasSelectAll;\n return _super.prototype.isItemInList.call(this, item);\n };\n QuestionCheckboxModel.prototype.getDisplayValueCore = function (keysAsText, value) {\n if (!Array.isArray(value))\n return _super.prototype.getDisplayValueCore.call(this, keysAsText, value);\n var valuePropName = this.valuePropertyName;\n var onGetValueCallback = function (index) {\n var val = value[index];\n if (!!valuePropName && !!val[valuePropName]) {\n val = val[valuePropName];\n }\n return val;\n };\n return this.getDisplayArrayValue(keysAsText, value, onGetValueCallback);\n };\n QuestionCheckboxModel.prototype.clearIncorrectValuesCore = function () {\n this.clearIncorrectAndDisabledValues(false);\n };\n QuestionCheckboxModel.prototype.clearDisabledValuesCore = function () {\n this.clearIncorrectAndDisabledValues(true);\n };\n QuestionCheckboxModel.prototype.clearIncorrectAndDisabledValues = function (clearDisabled) {\n var val = this.value;\n var hasChanged = false;\n var restoredValues = this.restoreValuesFromInvisible();\n if (!val && restoredValues.length == 0)\n return;\n if (!Array.isArray(val) || val.length == 0) {\n this.isChangingValueOnClearIncorrect = true;\n if (!clearDisabled) {\n if (this.hasComment) {\n this.value = null;\n }\n else {\n this.clearValue();\n }\n }\n this.isChangingValueOnClearIncorrect = false;\n if (restoredValues.length == 0)\n return;\n val = [];\n }\n var newValue = [];\n for (var i = 0; i < val.length; i++) {\n var rItemVal = this.getRealValue(val[i]);\n var isUnkown = this.canClearValueAnUnknown(rItemVal);\n if ((!clearDisabled && !isUnkown) ||\n (clearDisabled && !this.isValueDisabled(rItemVal))) {\n newValue.push(val[i]);\n }\n else {\n hasChanged = true;\n if (isUnkown) {\n this.addIntoInvisibleOldValues(val[i]);\n }\n }\n }\n for (var i = 0; i < restoredValues.length; i++) {\n newValue.push(restoredValues[i]);\n hasChanged = true;\n }\n if (!hasChanged)\n return;\n this.isChangingValueOnClearIncorrect = true;\n if (newValue.length == 0) {\n this.clearValue();\n }\n else {\n this.value = newValue;\n }\n this.isChangingValueOnClearIncorrect = false;\n };\n QuestionCheckboxModel.prototype.restoreValuesFromInvisible = function () {\n var res = [];\n var visItems = this.visibleChoices;\n for (var i = 0; i < visItems.length; i++) {\n var val = visItems[i].value;\n if (_helpers__WEBPACK_IMPORTED_MODULE_3__[\"Helpers\"].isTwoValueEquals(val, this.invisibleOldValues[val])) {\n if (!this.isItemSelected(visItems[i])) {\n res.push(val);\n }\n delete this.invisibleOldValues[val];\n }\n }\n return res;\n };\n QuestionCheckboxModel.prototype.getConditionJson = function (operator, path) {\n if (operator === void 0) { operator = null; }\n if (path === void 0) { path = null; }\n var json = _super.prototype.getConditionJson.call(this);\n if (operator == \"contains\" || operator == \"notcontains\") {\n json[\"type\"] = \"radiogroup\";\n }\n json[\"maxSelectedChoices\"] = 0;\n json[\"minSelectedChoices\"] = 0;\n return json;\n };\n QuestionCheckboxModel.prototype.isAnswerCorrect = function () {\n return _helpers__WEBPACK_IMPORTED_MODULE_3__[\"Helpers\"].isArrayContainsEqual(this.value, this.correctAnswer);\n };\n QuestionCheckboxModel.prototype.setDefaultValueWithOthers = function () {\n this.value = this.renderedValueFromDataCore(this.defaultValue);\n };\n QuestionCheckboxModel.prototype.getIsItemValue = function (val, item) {\n if (!val || !Array.isArray(val))\n return false;\n return val.indexOf(item.value) >= 0;\n };\n QuestionCheckboxModel.prototype.valueFromData = function (val) {\n if (!val)\n return val;\n if (!Array.isArray(val))\n return [_super.prototype.valueFromData.call(this, val)];\n var value = [];\n for (var i = 0; i < val.length; i++) {\n var choiceitem = _itemvalue__WEBPACK_IMPORTED_MODULE_4__[\"ItemValue\"].getItemByValue(this.activeChoices, val[i]);\n if (!!choiceitem) {\n value.push(choiceitem.value);\n }\n else {\n value.push(val[i]);\n }\n }\n return value;\n };\n QuestionCheckboxModel.prototype.rendredValueFromData = function (val) {\n val = this.convertValueFromObject(val);\n return _super.prototype.rendredValueFromData.call(this, val);\n };\n QuestionCheckboxModel.prototype.rendredValueToData = function (val) {\n val = _super.prototype.rendredValueToData.call(this, val);\n return this.convertValueToObject(val);\n };\n QuestionCheckboxModel.prototype.convertValueFromObject = function (val) {\n if (!this.valuePropertyName)\n return val;\n return _helpers__WEBPACK_IMPORTED_MODULE_3__[\"Helpers\"].convertArrayObjectToValue(val, this.valuePropertyName);\n };\n QuestionCheckboxModel.prototype.convertValueToObject = function (val) {\n if (!this.valuePropertyName)\n return val;\n var dest = undefined;\n if (!!this.survey && this.survey.questionsByValueName(this.getValueName()).length > 1) {\n dest = this.data.getValue(this.getValueName());\n }\n return _helpers__WEBPACK_IMPORTED_MODULE_3__[\"Helpers\"].convertArrayValueToObject(val, this.valuePropertyName, dest);\n };\n QuestionCheckboxModel.prototype.renderedValueFromDataCore = function (val) {\n if (!val || !Array.isArray(val))\n val = [];\n if (!this.hasActiveChoices)\n return val;\n for (var i = 0; i < val.length; i++) {\n if (val[i] == this.otherItem.value)\n return val;\n if (this.hasUnknownValue(val[i], true, false)) {\n this.otherValue = val[i];\n var newVal = val.slice();\n newVal[i] = this.otherItem.value;\n return newVal;\n }\n }\n return val;\n };\n QuestionCheckboxModel.prototype.rendredValueToDataCore = function (val) {\n if (!val || !val.length)\n return val;\n for (var i = 0; i < val.length; i++) {\n if (val[i] == this.otherItem.value) {\n if (this.needConvertRenderedOtherToDataValue()) {\n var newVal = val.slice();\n newVal[i] = this.otherValue;\n return newVal;\n }\n }\n }\n return val;\n };\n QuestionCheckboxModel.prototype.selectOtherValueFromComment = function (val) {\n var newVal = [];\n var rendVal = this.renderedValue;\n if (Array.isArray(rendVal)) {\n for (var i = 0; i < rendVal.length; i++) {\n if (rendVal[i] !== this.otherItem.value) {\n newVal.push(rendVal[i]);\n }\n }\n }\n if (val) {\n newVal.push(this.otherItem.value);\n }\n this.value = newVal;\n };\n Object.defineProperty(QuestionCheckboxModel.prototype, \"checkBoxSvgPath\", {\n get: function () {\n return \"M5,13l2-2l3,3l7-7l2,2l-9,9L5,13z\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCheckboxModel.prototype, \"isNewA11yStructure\", {\n //a11y\n get: function () {\n return true;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(QuestionCheckboxModel.prototype, \"a11y_input_ariaRole\", {\n get: function () {\n return \"listbox\";\n },\n enumerable: false,\n configurable: true\n });\n return QuestionCheckboxModel;\n}(_question_baseselect__WEBPACK_IMPORTED_MODULE_2__[\"QuestionCheckboxBase\"]));\n\n_jsonobject__WEBPACK_IMPORTED_MODULE_0__[\"Serializer\"].addClass(\"checkbox\", [\n { name: \"showSelectAllItem:boolean\", alternativeName: \"hasSelectAll\" },\n { name: \"separateSpecialChoices\", visible: true },\n { name: \"maxSelectedChoices:number\", default: 0 },\n { name: \"minSelectedChoices:number\", default: 0 },\n {\n name: \"selectAllText\",\n serializationProperty: \"locSelectAllText\",\n dependsOn: \"showSelectAllItem\",\n visibleIf: function (obj) {\n return obj.hasSelectAll;\n }\n },\n {\n name: \"valuePropertyName\",\n category: \"data\"\n },\n { name: \"itemComponent\", visible: false, default: \"survey-checkbox-item\" }\n], function () {\n return new QuestionCheckboxModel(\"\");\n}, \"checkboxbase\");\n_questionfactory__WEBPACK_IMPORTED_MODULE_1__[\"QuestionFactory\"].Instance.registerQuestion(\"checkbox\", function (name) {\n var q = new QuestionCheckboxModel(name);\n q.choices = _questionfactory__WEBPACK_IMPORTED_MODULE_1__[\"QuestionFactory\"].DefaultChoices;\n return q;\n});\n\n\n/***/ }),\n\n/***/ \"./src/question_comment.ts\":\n/*!*********************************!*\\\n !*** ./src/question_comment.ts ***!\n \\*********************************/\n/*! exports provided: QuestionCommentModel */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"QuestionCommentModel\", function() { return QuestionCommentModel; });\n/* harmony import */ var _jsonobject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsonobject */ \"./src/jsonobject.ts\");\n/* harmony import */ var _questionfactory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./questionfactory */ \"./src/questionfactory.ts\");\n/* harmony import */ var _question_textbase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./question_textbase */ \"./src/question_textbase.ts\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/utils */ \"./src/utils/utils.ts\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settings */ \"./src/settings.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n/**\n * A class that describes the Long Text question type.\n *\n * [View Demo](https://surveyjs.io/form-library/examples/questiontype-comment/ (linkStyle))\n */\nvar QuestionCommentModel = /** @class */ (function (_super) {\n __extends(QuestionCommentModel, _super);\n function QuestionCommentModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(QuestionCommentModel.prototype, \"rows\", {\n /**\n * Specifies the visible height of the comment area, measured in lines.\n *\n * The value of this property is passed on to the `rows` attribute of the underlying `