diff --git a/CHANGELOG.md b/CHANGELOG.md index 34444dbc..e227fdff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # CHANGELOG +## v4.8.0 +- Add support for attributes on all inputs: discrepancy-text, has-discrepancy, warn-text, has-warning. + - PR: https://github.com/Tangerine-Community/tangy-form/pull/111 + - Issue: https://github.com/Tangerine-Community/Tangerine/issues/1760 +- Fix: Ensure inputs in tangy-input-groups are validated. + ## v4.7.1 - Fix bug in tangy-location resulting in bad behavior when not defining show-levels attribute. diff --git a/dist/bundle.js b/dist/bundle.js index c6f48e8b..a56bc951 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -77,7 +77,7 @@ The complete set of contributors may be found at http://polymer.github.io/CONTRI Code distributed by Google as part of the polymer project is also subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt */ -let C=Object(_.a)(e=>{let t=Object(w.a)(e);return class extends t{static get properties(){return{items:{type:Array},multi:{type:Boolean,value:!1},selected:{type:Object,notify:!0},selectedItem:{type:Object,notify:!0},toggle:{type:Boolean,value:!1}}}static get observers(){return["__updateSelection(multi, items.*)"]}constructor(){super(),this.__lastItems=null,this.__lastMulti=null,this.__selectedMap=null}__updateSelection(e,t){let i=t.path;if(i==JSCompiler_renameProperty("items",this)){let i=t.base||[],n=this.__lastItems;if(e!==this.__lastMulti&&this.clearSelection(),n){let e=Object(y.a)(i,n);this.__applySplices(e)}this.__lastItems=i,this.__lastMulti=e}else if(t.path==`${JSCompiler_renameProperty("items",this)}.splices`)this.__applySplices(t.value.indexSplices);else{let e=i.slice(`${JSCompiler_renameProperty("items",this)}.`.length),t=parseInt(e,10);e.indexOf(".")<0&&e==t&&this.__deselectChangedIdx(t)}}__applySplices(e){let t=this.__selectedMap;for(let i=0;i{e=n.index+n.removed.length?t.set(i,e+n.addedCount-n.removed.length):t.set(i,-1))});for(let e=0;e{e<0?(this.multi?this.splice(JSCompiler_renameProperty("selected",this),i,1):this.selected=this.selectedItem=null,t.delete(n)):i++})}__updateLinks(){if(this.__dataLinkedPaths={},this.multi){let e=0;this.__selectedMap.forEach(t=>{t>=0&&this.linkPaths(`${JSCompiler_renameProperty("items",this)}.${t}`,`${JSCompiler_renameProperty("selected",this)}.${e++}`)})}else this.__selectedMap.forEach(e=>{this.linkPaths(JSCompiler_renameProperty("selected",this),`${JSCompiler_renameProperty("items",this)}.${e}`),this.linkPaths(JSCompiler_renameProperty("selectedItem",this),`${JSCompiler_renameProperty("items",this)}.${e}`)})}clearSelection(){this.__dataLinkedPaths={},this.__selectedMap=new Map,this.selected=this.multi?[]:null,this.selectedItem=null}isSelected(e){return this.__selectedMap.has(e)}isIndexSelected(e){return this.isSelected(this.items[e])}__deselectChangedIdx(e){let t=this.__selectedIndexForItemIndex(e);if(t>=0){let e=0;this.__selectedMap.forEach((i,n)=>{t==e++&&this.deselect(n)})}}__selectedIndexForItemIndex(e){let t=this.__dataLinkedPaths[`${JSCompiler_renameProperty("items",this)}.${e}`];if(t)return parseInt(t.slice(`${JSCompiler_renameProperty("selected",this)}.`.length),10)}deselect(e){let t=this.__selectedMap.get(e);if(t>=0){let i;this.__selectedMap.delete(e),this.multi&&(i=this.__selectedIndexForItemIndex(t)),this.__updateLinks(),this.multi?this.splice(JSCompiler_renameProperty("selected",this),i,1):this.selected=this.selectedItem=null}}deselectIndex(e){this.deselect(this.items[e])}select(e){this.selectIndex(this.items.indexOf(e))}selectIndex(e){let t=this.items[e];this.isSelected(t)?this.toggle&&this.deselectIndex(e):(this.multi||this.__selectedMap.clear(),this.__selectedMap.set(t,e),this.__updateLinks(),this.multi?this.push(JSCompiler_renameProperty("selected",this),t):this.selected=this.selectedItem=t)}}})(u.a);class z extends C{static get is(){return"array-selector"}static get template(){return null}}customElements.define(z.is,z);var A=i(62),E=i(27),S=i(15); +let C=Object(_.a)(e=>{let t=Object(w.a)(e);return class extends t{static get properties(){return{items:{type:Array},multi:{type:Boolean,value:!1},selected:{type:Object,notify:!0},selectedItem:{type:Object,notify:!0},toggle:{type:Boolean,value:!1}}}static get observers(){return["__updateSelection(multi, items.*)"]}constructor(){super(),this.__lastItems=null,this.__lastMulti=null,this.__selectedMap=null}__updateSelection(e,t){let i=t.path;if(i==JSCompiler_renameProperty("items",this)){let i=t.base||[],n=this.__lastItems;if(e!==this.__lastMulti&&this.clearSelection(),n){let e=Object(y.a)(i,n);this.__applySplices(e)}this.__lastItems=i,this.__lastMulti=e}else if(t.path==`${JSCompiler_renameProperty("items",this)}.splices`)this.__applySplices(t.value.indexSplices);else{let e=i.slice(`${JSCompiler_renameProperty("items",this)}.`.length),t=parseInt(e,10);e.indexOf(".")<0&&e==t&&this.__deselectChangedIdx(t)}}__applySplices(e){let t=this.__selectedMap;for(let i=0;i{e=n.index+n.removed.length?t.set(i,e+n.addedCount-n.removed.length):t.set(i,-1))});for(let e=0;e{e<0?(this.multi?this.splice(JSCompiler_renameProperty("selected",this),i,1):this.selected=this.selectedItem=null,t.delete(n)):i++})}__updateLinks(){if(this.__dataLinkedPaths={},this.multi){let e=0;this.__selectedMap.forEach(t=>{t>=0&&this.linkPaths(`${JSCompiler_renameProperty("items",this)}.${t}`,`${JSCompiler_renameProperty("selected",this)}.${e++}`)})}else this.__selectedMap.forEach(e=>{this.linkPaths(JSCompiler_renameProperty("selected",this),`${JSCompiler_renameProperty("items",this)}.${e}`),this.linkPaths(JSCompiler_renameProperty("selectedItem",this),`${JSCompiler_renameProperty("items",this)}.${e}`)})}clearSelection(){this.__dataLinkedPaths={},this.__selectedMap=new Map,this.selected=this.multi?[]:null,this.selectedItem=null}isSelected(e){return this.__selectedMap.has(e)}isIndexSelected(e){return this.isSelected(this.items[e])}__deselectChangedIdx(e){let t=this.__selectedIndexForItemIndex(e);if(t>=0){let e=0;this.__selectedMap.forEach((i,n)=>{t==e++&&this.deselect(n)})}}__selectedIndexForItemIndex(e){let t=this.__dataLinkedPaths[`${JSCompiler_renameProperty("items",this)}.${e}`];if(t)return parseInt(t.slice(`${JSCompiler_renameProperty("selected",this)}.`.length),10)}deselect(e){let t=this.__selectedMap.get(e);if(t>=0){let i;this.__selectedMap.delete(e),this.multi&&(i=this.__selectedIndexForItemIndex(t)),this.__updateLinks(),this.multi?this.splice(JSCompiler_renameProperty("selected",this),i,1):this.selected=this.selectedItem=null}}deselectIndex(e){this.deselect(this.items[e])}select(e){this.selectIndex(this.items.indexOf(e))}selectIndex(e){let t=this.items[e];this.isSelected(t)?this.toggle&&this.deselectIndex(e):(this.multi||this.__selectedMap.clear(),this.__selectedMap.set(t,e),this.__updateLinks(),this.multi?this.push(JSCompiler_renameProperty("selected",this),t):this.selected=this.selectedItem=t)}}})(u.a);class A extends C{static get is(){return"array-selector"}static get template(){return null}}customElements.define(A.is,A);var z=i(62),S=i(27),E=i(15); /** @license Copyright (c) 2017 The Polymer Project Authors. All rights reserved. @@ -87,7 +87,7 @@ The complete set of contributors may be found at http://polymer.github.io/CONTRI Code distributed by Google as part of the polymer project is also subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt */ -const M=new A.a;window.ShadyCSS||(window.ShadyCSS={prepareTemplate(e,t,i){},prepareTemplateDom(e,t){},prepareTemplateStyles(e,t,i){},styleSubtree(e,t){M.processStyles(),Object(E.c)(e,t)},styleElement(e){M.processStyles()},styleDocument(e){M.processStyles(),Object(E.c)(document.body,e)},getComputedStyleValue:(e,t)=>Object(E.b)(e,t),flushCustomStyles(){},nativeCss:S.c,nativeShadow:S.d,cssBuild:S.a,disableRuntime:S.b}),window.ShadyCSS.CustomStyleInterface=M;var x=i(42); +const M=new z.a;window.ShadyCSS||(window.ShadyCSS={prepareTemplate(e,t,i){},prepareTemplateDom(e,t){},prepareTemplateStyles(e,t,i){},styleSubtree(e,t){M.processStyles(),Object(S.c)(e,t)},styleElement(e){M.processStyles()},styleDocument(e){M.processStyles(),Object(S.c)(document.body,e)},getComputedStyleValue:(e,t)=>Object(S.b)(e,t),flushCustomStyles(){},nativeCss:E.c,nativeShadow:E.d,cssBuild:E.a,disableRuntime:E.b}),window.ShadyCSS.CustomStyleInterface=M;var x=i(42); /** @license Copyright (c) 2017 The Polymer Project Authors. All rights reserved. @@ -173,7 +173,7 @@ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as part of the polymer project is also subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt -*/let n=0;function r(){}r.prototype.__mixinApplications,r.prototype.__mixinSet;const a=function(e){let t=e.__mixinApplications;t||(t=new WeakMap,e.__mixinApplications=t);let i=n++;return function(n){let r=n.__mixinSet;if(r&&r[i])return n;let a=t,s=a.get(n);s||(s=e(n),a.set(n,s));let o=Object.create(s.__mixinSet||r||null);return o[i]=!0,s.__mixinSet=o,s}}},function(e,t){const i=document.createElement("div");i.setAttribute("style","display: none;"),i.innerHTML='\n \n \n ',document.head.appendChild(i)},function(e,t,i){"use strict";i.d(t,"b",(function(){return l})),i.d(t,"a",(function(){return c}));i(10); +*/let n=0;function r(){}r.prototype.__mixinApplications,r.prototype.__mixinSet;const a=function(e){let t=e.__mixinApplications;t||(t=new WeakMap,e.__mixinApplications=t);let i=n++;return function(n){let r=n.__mixinSet;if(r&&r[i])return n;let a=t,s=a.get(n);s||(s=e(n),a.set(n,s));let o=Object.create(s.__mixinSet||r||null);return o[i]=!0,s.__mixinSet=o,s}}},function(e,t){const i=document.createElement("div");i.setAttribute("style","display: none;"),i.innerHTML='\n \n \n ',document.head.appendChild(i)},function(e,t,i){"use strict";i.d(t,"b",(function(){return l})),i.d(t,"a",(function(){return c}));i(10); /** @license Copyright (c) 2017 The Polymer Project Authors. All rights reserved. @@ -894,7 +894,7 @@ The complete set of contributors may be found at http://polymer.github.io/CONTRI Code distributed by Google as part of the polymer project is also subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt */ -const l={"dom-if":!0,"dom-repeat":!0};function c(e){let t=e.getAttribute("is");if(t&&l[t]){let i=e;for(i.removeAttribute("is"),e=i.ownerDocument.createElement(t),i.parentNode.replaceChild(e,i),e.appendChild(i);i.attributes.length;)e.setAttribute(i.attributes[0].name,i.attributes[0].value),i.removeAttribute(i.attributes[0].name)}return e}function h(e,t){let i=t.parentInfo&&h(e,t.parentInfo);if(!i)return e;for(let e=i.firstChild,n=0;e;e=e.nextSibling)if(t.parentIndex===n++)return e}function d(e,t,i,n){n.id&&(t[n.id]=i)}function u(e,t,i){if(i.events&&i.events.length)for(let n,r=0,a=i.events;r{return class extends e{static _parseTemplate(e,t){if(!e._templateInfo){let i=e._templateInfo={};i.nodeInfoList=[],i.stripWhiteSpace=t&&t.stripWhiteSpace||e.hasAttribute("strip-whitespace"),this._parseTemplateContent(e,i,{parent:null})}return e._templateInfo}static _parseTemplateContent(e,t,i){return this._parseTemplateNode(e.content,t,i)}static _parseTemplateNode(e,t,i){let n=!1,r=e;return"template"!=r.localName||r.hasAttribute("preserve-content")?"slot"===r.localName&&(t.hasInsertionPoint=!0):n=this._parseTemplateNestedTemplate(r,t,i)||n,r.firstChild&&this._parseTemplateChildNodes(r,t,i),r.hasAttributes&&r.hasAttributes()&&(n=this._parseTemplateNodeAttributes(r,t,i)||n),n}static _parseTemplateChildNodes(e,t,i){if("script"!==e.localName&&"style"!==e.localName)for(let n,r=e.firstChild,a=0;r;r=n){if("template"==r.localName&&(r=c(r)),n=r.nextSibling,r.nodeType===Node.TEXT_NODE){let i=n;for(;i&&i.nodeType===Node.TEXT_NODE;)r.textContent+=i.textContent,n=i.nextSibling,e.removeChild(i),i=n;if(t.stripWhiteSpace&&!r.textContent.trim()){e.removeChild(r);continue}}let s={parentIndex:a,parentInfo:i};this._parseTemplateNode(r,t,s)&&(s.infoIndex=t.nodeInfoList.push(s)-1),r.parentNode&&a++}}static _parseTemplateNestedTemplate(e,t,i){let n=e,r=this._parseTemplate(n,t);return(r.content=n.content.ownerDocument.createDocumentFragment()).appendChild(n.content),i.templateInfo=r,!0}static _parseTemplateNodeAttributes(e,t,i){let n=!1,r=Array.from(e.attributes);for(let a,s=r.length-1;a=r[s];s--)n=this._parseTemplateNodeAttribute(e,t,i,a.name,a.value)||n;return n}static _parseTemplateNodeAttribute(e,t,i,n,r){return"on-"===n.slice(0,3)?(e.removeAttribute(n),i.events=i.events||[],i.events.push({name:n.slice(3),value:r}),!0):"id"===n&&(i.id=r,!0)}static _contentForTemplate(e){let t=e._templateInfo;return t&&t.content||e.content}_stampTemplate(e){e&&!e.content&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(e);let t=this.constructor._parseTemplate(e),i=t.nodeInfoList,n=t.content||e.content,r=document.importNode(n,!0);r.__noInsertionPoint=!t.hasInsertionPoint;let a=r.nodeList=new Array(i.length);r.$={};for(let e,t=0,n=i.length;t{return class extends e{static _parseTemplate(e,t){if(!e._templateInfo){let i=e._templateInfo={};i.nodeInfoList=[],i.stripWhiteSpace=t&&t.stripWhiteSpace||e.hasAttribute("strip-whitespace"),this._parseTemplateContent(e,i,{parent:null})}return e._templateInfo}static _parseTemplateContent(e,t,i){return this._parseTemplateNode(e.content,t,i)}static _parseTemplateNode(e,t,i){let n=!1,r=e;return"template"!=r.localName||r.hasAttribute("preserve-content")?"slot"===r.localName&&(t.hasInsertionPoint=!0):n=this._parseTemplateNestedTemplate(r,t,i)||n,r.firstChild&&this._parseTemplateChildNodes(r,t,i),r.hasAttributes&&r.hasAttributes()&&(n=this._parseTemplateNodeAttributes(r,t,i)||n),n}static _parseTemplateChildNodes(e,t,i){if("script"!==e.localName&&"style"!==e.localName)for(let n,r=e.firstChild,a=0;r;r=n){if("template"==r.localName&&(r=c(r)),n=r.nextSibling,r.nodeType===Node.TEXT_NODE){let i=n;for(;i&&i.nodeType===Node.TEXT_NODE;)r.textContent+=i.textContent,n=i.nextSibling,e.removeChild(i),i=n;if(t.stripWhiteSpace&&!r.textContent.trim()){e.removeChild(r);continue}}let s={parentIndex:a,parentInfo:i};this._parseTemplateNode(r,t,s)&&(s.infoIndex=t.nodeInfoList.push(s)-1),r.parentNode&&a++}}static _parseTemplateNestedTemplate(e,t,i){let n=e,r=this._parseTemplate(n,t);return(r.content=n.content.ownerDocument.createDocumentFragment()).appendChild(n.content),i.templateInfo=r,!0}static _parseTemplateNodeAttributes(e,t,i){let n=!1,r=Array.from(e.attributes);for(let a,s=r.length-1;a=r[s];s--)n=this._parseTemplateNodeAttribute(e,t,i,a.name,a.value)||n;return n}static _parseTemplateNodeAttribute(e,t,i,n,r){return"on-"===n.slice(0,3)?(e.removeAttribute(n),i.events=i.events||[],i.events.push({name:n.slice(3),value:r}),!0):"id"===n&&(i.id=r,!0)}static _contentForTemplate(e){let t=e._templateInfo;return t&&t.content||e.content}_stampTemplate(e){e&&!e.content&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(e);let t=this.constructor._parseTemplate(e),i=t.nodeInfoList,n=t.content||e.content,r=document.importNode(n,!0);r.__noInsertionPoint=!t.hasInsertionPoint;let a=r.nodeList=new Array(i.length);r.$={};for(let e,t=0,n=i.length;th.source.length&&"property"==c.kind&&!c.isCompound&&l.__isPropertyEffectsClient&&l.__dataHasAccessor&&l.__dataHasAccessor[c.target]){let n=i[t];t=Object(a.i)(h.source,c.target,t),l._setPendingPropertyOrPath(t,n,!1,!0)&&e._enqueueClient(l)}else{!function(e,t,i,n,r){r=function(e,t,i,n){if(i.isCompound){let r=e.__dataCompoundStorage[i.target];r[n.compoundIndex]=t,t=r.join("")}"attribute"!==i.kind&&("textContent"!==i.target&&("value"!==i.target||"input"!==e.localName&&"textarea"!==e.localName)||(t=null==t?"":t));return t}(t,r,i,n),g.f&&(r=Object(g.f)(r,i.target,i.kind,t));if("attribute"==i.kind)e._valueToNodeAttribute(t,r,i.target);else{let n=i.target;t.__isPropertyEffectsClient&&t.__dataHasAccessor&&t.__dataHasAccessor[n]?t[v.READ_ONLY]&&t[v.READ_ONLY][n]||t._setPendingProperty(n,r)&&e._enqueueClient(t):e._setUnmanagedPropertyToNode(t,n,r)}}(e,l,c,h,r.evaluator._evaluateBinding(e,h,t,i,n,s))}}function O(e,t){if(t.isCompound){let i=e.__dataCompoundStorage||(e.__dataCompoundStorage={}),r=t.parts,a=new Array(r.length);for(let e=0;e="0"&&n<="9"&&(n="#"),n){case"'":case'"':i.value=t.slice(1,-1),i.literal=!0;break;case"#":i.value=Number(t),i.literal=!0}return i.literal||(i.rootProperty=Object(a.g)(t),i.structured=Object(a.d)(t),i.structured&&(i.wildcard=".*"==t.slice(-2),i.wildcard&&(i.name=t.slice(0,-2)))),i}function F(e,t,i){let n=Object(a.a)(e,i);return void 0===n&&(n=t[i]),n}function j(e,t,i,n){e.notifyPath(i+".splices",{indexSplices:n}),e.notifyPath(i+".length",t.length)}function U(e,t,i,n,r,a){j(e,t,i,[{index:n,addedCount:r,removed:a,object:t,type:"splice"}])}const q=Object(r.a)(e=>{const t=m(Object(o.a)(e));return class extends t{constructor(){super(),this.__isPropertyEffectsClient=!0,this.__dataCounter=0,this.__dataClientsReady,this.__dataPendingClients,this.__dataToNotify,this.__dataLinkedPaths,this.__dataHasPaths,this.__dataCompoundStorage,this.__dataHost,this.__dataTemp,this.__dataClientsInitialized,this.__data,this.__dataPending,this.__dataOld,this.__computeEffects,this.__reflectEffects,this.__notifyEffects,this.__propagateEffects,this.__observeEffects,this.__readOnly,this.__templateInfo}get PROPERTY_EFFECT_TYPES(){return v}_initializeProperties(){super._initializeProperties(),$.registerHost(this),this.__dataClientsReady=!1,this.__dataPendingClients=null,this.__dataToNotify=null,this.__dataLinkedPaths=null,this.__dataHasPaths=!1,this.__dataCompoundStorage=this.__dataCompoundStorage||null,this.__dataHost=this.__dataHost||null,this.__dataTemp={},this.__dataClientsInitialized=!1}_initializeProtoProperties(e){this.__data=Object.create(e),this.__dataPending=Object.create(e),this.__dataOld={}}_initializeInstanceProperties(e){let t=this[v.READ_ONLY];for(let i in e)t&&t[i]||(this.__dataPending=this.__dataPending||{},this.__dataOld=this.__dataOld||{},this.__data[i]=this.__dataPending[i]=e[i])}_addPropertyEffect(e,t,i){this._createPropertyAccessor(e,t==v.READ_ONLY);let n=_(this,t)[e];n||(n=this[t][e]=[]),n.push(i)}_removePropertyEffect(e,t,i){let n=_(this,t)[e],r=n.indexOf(i);r>=0&&n.splice(r,1)}_hasPropertyEffect(e,t){let i=this[t];return Boolean(i&&i[e])}_hasReadOnlyEffect(e){return this._hasPropertyEffect(e,v.READ_ONLY)}_hasNotifyEffect(e){return this._hasPropertyEffect(e,v.NOTIFY)}_hasReflectEffect(e){return this._hasPropertyEffect(e,v.REFLECT)}_hasComputedEffect(e){return this._hasPropertyEffect(e,v.COMPUTE)}_setPendingPropertyOrPath(e,t,i,n){if(n||Object(a.g)(Array.isArray(e)?e[0]:e)!==e){if(!n){let i=Object(a.a)(this,e);if(!(e=Object(a.h)(this,e,t))||!super._shouldPropertyChange(e,t,i))return!1}if(this.__dataHasPaths=!0,this._setPendingProperty(e,t,i))return function(e,t,i){let n=e.__dataLinkedPaths;if(n){let r;for(let s in n){let o=n[s];Object(a.c)(s,t)?(r=Object(a.i)(s,o,t),e._setPendingPropertyOrPath(r,i,!0,!0)):Object(a.c)(o,t)&&(r=Object(a.i)(o,s,t),e._setPendingPropertyOrPath(r,i,!0,!0))}}}(this,e,t),!0}else{if(this.__dataHasAccessor&&this.__dataHasAccessor[e])return this._setPendingProperty(e,t,i);this[e]=t}return!1}_setUnmanagedPropertyToNode(e,t,i){i===e[t]&&"object"!=typeof i||("className"===t&&(e=Object(n.a)(e)),e[t]=i)}_setPendingProperty(e,t,i){let n=this.__dataHasPaths&&Object(a.d)(e),r=n?this.__dataTemp:this.__data;return!!this._shouldPropertyChange(e,t,r[e])&&(this.__dataPending||(this.__dataPending={},this.__dataOld={}),e in this.__dataOld||(this.__dataOld[e]=this.__data[e]),n?this.__dataTemp[e]=t:this.__data[e]=t,this.__dataPending[e]=t,(n||this[v.NOTIFY]&&this[v.NOTIFY][e])&&(this.__dataToNotify=this.__dataToNotify||{},this.__dataToNotify[e]=i),!0)}_setProperty(e,t){this._setPendingProperty(e,t,!0)&&this._invalidateProperties()}_invalidateProperties(){this.__dataReady&&this._flushProperties()}_enqueueClient(e){this.__dataPendingClients=this.__dataPendingClients||[],e!==this&&this.__dataPendingClients.push(e)}_flushProperties(){this.__dataCounter++,super._flushProperties(),this.__dataCounter--}_flushClients(){this.__dataClientsReady?this.__enableOrFlushClients():(this.__dataClientsReady=!0,this._readyClients(),this.__dataReady=!0)}__enableOrFlushClients(){let e=this.__dataPendingClients;if(e){this.__dataPendingClients=null;for(let t=0;tr&&n.push({literal:e.slice(r,i.index)});let a=i[1][0],s=Boolean(i[2]),o=i[3].trim(),l=!1,c="",h=-1;"{"==a&&(h=o.indexOf("::"))>0&&(c=o.substring(h+2),o=o.substring(0,h),l=!0);let d=P(o),u=[];if(d){let{args:e,methodName:i}=d;for(let t=0;th.source.length&&"property"==c.kind&&!c.isCompound&&l.__isPropertyEffectsClient&&l.__dataHasAccessor&&l.__dataHasAccessor[c.target]){let n=i[t];t=Object(a.i)(h.source,c.target,t),l._setPendingPropertyOrPath(t,n,!1,!0)&&e._enqueueClient(l)}else{!function(e,t,i,n,r){r=function(e,t,i,n){if(i.isCompound){let r=e.__dataCompoundStorage[i.target];r[n.compoundIndex]=t,t=r.join("")}"attribute"!==i.kind&&("textContent"!==i.target&&("value"!==i.target||"input"!==e.localName&&"textarea"!==e.localName)||(t=null==t?"":t));return t}(t,r,i,n),g.f&&(r=Object(g.f)(r,i.target,i.kind,t));if("attribute"==i.kind)e._valueToNodeAttribute(t,r,i.target);else{let n=i.target;t.__isPropertyEffectsClient&&t.__dataHasAccessor&&t.__dataHasAccessor[n]?t[v.READ_ONLY]&&t[v.READ_ONLY][n]||t._setPendingProperty(n,r)&&e._enqueueClient(t):e._setUnmanagedPropertyToNode(t,n,r)}}(e,l,c,h,r.evaluator._evaluateBinding(e,h,t,i,n,s))}}function O(e,t){if(t.isCompound){let i=e.__dataCompoundStorage||(e.__dataCompoundStorage={}),r=t.parts,a=new Array(r.length);for(let e=0;e="0"&&n<="9"&&(n="#"),n){case"'":case'"':i.value=t.slice(1,-1),i.literal=!0;break;case"#":i.value=Number(t),i.literal=!0}return i.literal||(i.rootProperty=Object(a.g)(t),i.structured=Object(a.d)(t),i.structured&&(i.wildcard=".*"==t.slice(-2),i.wildcard&&(i.name=t.slice(0,-2)))),i}function F(e,t,i){let n=Object(a.a)(e,i);return void 0===n&&(n=t[i]),n}function j(e,t,i,n){e.notifyPath(i+".splices",{indexSplices:n}),e.notifyPath(i+".length",t.length)}function q(e,t,i,n,r,a){j(e,t,i,[{index:n,addedCount:r,removed:a,object:t,type:"splice"}])}const U=Object(r.a)(e=>{const t=m(Object(o.a)(e));return class extends t{constructor(){super(),this.__isPropertyEffectsClient=!0,this.__dataCounter=0,this.__dataClientsReady,this.__dataPendingClients,this.__dataToNotify,this.__dataLinkedPaths,this.__dataHasPaths,this.__dataCompoundStorage,this.__dataHost,this.__dataTemp,this.__dataClientsInitialized,this.__data,this.__dataPending,this.__dataOld,this.__computeEffects,this.__reflectEffects,this.__notifyEffects,this.__propagateEffects,this.__observeEffects,this.__readOnly,this.__templateInfo}get PROPERTY_EFFECT_TYPES(){return v}_initializeProperties(){super._initializeProperties(),$.registerHost(this),this.__dataClientsReady=!1,this.__dataPendingClients=null,this.__dataToNotify=null,this.__dataLinkedPaths=null,this.__dataHasPaths=!1,this.__dataCompoundStorage=this.__dataCompoundStorage||null,this.__dataHost=this.__dataHost||null,this.__dataTemp={},this.__dataClientsInitialized=!1}_initializeProtoProperties(e){this.__data=Object.create(e),this.__dataPending=Object.create(e),this.__dataOld={}}_initializeInstanceProperties(e){let t=this[v.READ_ONLY];for(let i in e)t&&t[i]||(this.__dataPending=this.__dataPending||{},this.__dataOld=this.__dataOld||{},this.__data[i]=this.__dataPending[i]=e[i])}_addPropertyEffect(e,t,i){this._createPropertyAccessor(e,t==v.READ_ONLY);let n=_(this,t)[e];n||(n=this[t][e]=[]),n.push(i)}_removePropertyEffect(e,t,i){let n=_(this,t)[e],r=n.indexOf(i);r>=0&&n.splice(r,1)}_hasPropertyEffect(e,t){let i=this[t];return Boolean(i&&i[e])}_hasReadOnlyEffect(e){return this._hasPropertyEffect(e,v.READ_ONLY)}_hasNotifyEffect(e){return this._hasPropertyEffect(e,v.NOTIFY)}_hasReflectEffect(e){return this._hasPropertyEffect(e,v.REFLECT)}_hasComputedEffect(e){return this._hasPropertyEffect(e,v.COMPUTE)}_setPendingPropertyOrPath(e,t,i,n){if(n||Object(a.g)(Array.isArray(e)?e[0]:e)!==e){if(!n){let i=Object(a.a)(this,e);if(!(e=Object(a.h)(this,e,t))||!super._shouldPropertyChange(e,t,i))return!1}if(this.__dataHasPaths=!0,this._setPendingProperty(e,t,i))return function(e,t,i){let n=e.__dataLinkedPaths;if(n){let r;for(let s in n){let o=n[s];Object(a.c)(s,t)?(r=Object(a.i)(s,o,t),e._setPendingPropertyOrPath(r,i,!0,!0)):Object(a.c)(o,t)&&(r=Object(a.i)(o,s,t),e._setPendingPropertyOrPath(r,i,!0,!0))}}}(this,e,t),!0}else{if(this.__dataHasAccessor&&this.__dataHasAccessor[e])return this._setPendingProperty(e,t,i);this[e]=t}return!1}_setUnmanagedPropertyToNode(e,t,i){i===e[t]&&"object"!=typeof i||("className"===t&&(e=Object(n.a)(e)),e[t]=i)}_setPendingProperty(e,t,i){let n=this.__dataHasPaths&&Object(a.d)(e),r=n?this.__dataTemp:this.__data;return!!this._shouldPropertyChange(e,t,r[e])&&(this.__dataPending||(this.__dataPending={},this.__dataOld={}),e in this.__dataOld||(this.__dataOld[e]=this.__data[e]),n?this.__dataTemp[e]=t:this.__data[e]=t,this.__dataPending[e]=t,(n||this[v.NOTIFY]&&this[v.NOTIFY][e])&&(this.__dataToNotify=this.__dataToNotify||{},this.__dataToNotify[e]=i),!0)}_setProperty(e,t){this._setPendingProperty(e,t,!0)&&this._invalidateProperties()}_invalidateProperties(){this.__dataReady&&this._flushProperties()}_enqueueClient(e){this.__dataPendingClients=this.__dataPendingClients||[],e!==this&&this.__dataPendingClients.push(e)}_flushProperties(){this.__dataCounter++,super._flushProperties(),this.__dataCounter--}_flushClients(){this.__dataClientsReady?this.__enableOrFlushClients():(this.__dataClientsReady=!0,this._readyClients(),this.__dataReady=!0)}__enableOrFlushClients(){let e=this.__dataPendingClients;if(e){this.__dataPendingClients=null;for(let t=0;tr&&n.push({literal:e.slice(r,i.index)});let a=i[1][0],s=Boolean(i[2]),o=i[3].trim(),l=!1,c="",h=-1;"{"==a&&(h=o.indexOf("::"))>0&&(c=o.substring(h+2),o=o.substring(0,h),l=!0);let d=P(o),u=[];if(d){let{args:e,methodName:i}=d;for(let t=0;t{":root"===e.selector&&(e.selector="html"),this.transformRule(e)}),e.textContent=_(t),t}transformRules(e,t){this._currentElement=t,w(e,e=>{this.transformRule(e)}),this._currentElement=null}transformRule(e){e.cssText=this.transformCssText(e.parsedCssText,e),":root"===e.selector&&(e.selector=":host > *")}transformCssText(e,t){return e=e.replace(m.c,(e,i,n,r)=>this._produceCssProperties(e,i,n,r,t)),this._consumeCssProperties(e,t)}_getInitialValueForProperty(e){return this._measureElement||(this._measureElement=document.createElement("meta"),this._measureElement.setAttribute("apply-shim-measure",""),this._measureElement.style.all="initial",document.head.appendChild(this._measureElement)),window.getComputedStyle(this._measureElement).getPropertyValue(e)}_fallbacksFromPreviousRules(e){let t=e;for(;t.parent;)t=t.parent;const i={};let n=!1;return w(t,t=>{(n=n||t===e)||t.selector===e.selector&&Object.assign(i,this._cssTextToMap(t.parsedCssText))}),i}_consumeCssProperties(e,t){let i=null;for(;i=m.b.exec(e);){let n=i[0],r=i[1],a=i.index,s=a+n.indexOf("@apply"),o=a+n.length,l=e.slice(0,s),c=e.slice(o),h=t?this._fallbacksFromPreviousRules(t):{};Object.assign(h,this._cssTextToMap(l));let d=this._atApplyToCssProperties(r,h);e=`${l}${d}${c}`,m.b.lastIndex=a+d.length}return e}_atApplyToCssProperties(e,t){e=e.replace(M,"");let i=[],n=this._map.get(e);if(n||(this._map.set(e,{}),n=this._map.get(e)),n){let r,a,s;this._currentElement&&(n.dependants[this._currentElement]=!0);const o=n.properties;for(r in o)s=t&&t[r],a=[r,": var(",e,I,r],s&&a.push(",",s.replace(T,"")),a.push(")"),T.test(o[r])&&a.push(" !important"),i.push(a.join(""))}return i.join("; ")}_replaceInitialOrInherit(e,t){let i=x.exec(t);return i&&(t=i[1]?this._getInitialValueForProperty(e):"apply-shim-inherit"),t}_cssTextToMap(e,t=!1){let i,n,r=e.split(";"),a={};for(let e,s,o=0;o1&&(i=s[0].trim(),n=s.slice(1).join(":"),t&&(n=this._replaceInitialOrInherit(i,n)),a[i]=n);return a}_invalidateMixinEntry(e){if(O)for(let t in e.dependants)t!==this._currentElement&&O(t)}_produceCssProperties(e,t,i,n,r){if(i&&function e(t,i){let n=t.indexOf("var(");if(-1===n)return i(t,"","","");let r=C(t,n+3),a=t.substring(n+4,r),s=t.substring(0,n),o=e(t.substring(r+1),i),l=a.indexOf(",");return-1===l?i(s,a.trim(),"",o):i(s,a.substring(0,l).trim(),a.substring(l+1).trim(),o)}(i,(e,t)=>{t&&this._map.get(t)&&(n=`@apply ${t};`)}),!n)return e;let a=this._consumeCssProperties(""+n,r),s=e.slice(0,e.indexOf("--")),o=this._cssTextToMap(a,!0),l=o,c=this._map.get(t),h=c&&c.properties;h?l=Object.assign(Object.create(h),o):this._map.set(t,l);let d,u,p=[],m=!1;for(d in l)void 0===(u=o[d])&&(u="initial"),!h||d in h||(m=!0),p.push(`${t}${I}${d}: ${u}`);return m&&this._invalidateMixinEntry(c),c&&(c.properties=l),i&&(s=`${e};${s}`),`${s}${p.join("; ")};`}}H.prototype.detectMixin=H.prototype.detectMixin,H.prototype.transformStyle=H.prototype.transformStyle,H.prototype.transformCustomStyle=H.prototype.transformCustomStyle,H.prototype.transformRules=H.prototype.transformRules,H.prototype.transformRule=H.prototype.transformRule,H.prototype.transformTemplate=H.prototype.transformTemplate,H.prototype._separator=I,Object.defineProperty(H.prototype,"invalidCallback",{get:()=>O,set(e){O=e}});var L=H; +*/const M=/;\s*/m,x=/^\s*(initial)|(inherit)\s*$/,T=/\s*!important/,I="_-_";class k{constructor(){this._map={}}set(e,t){e=e.trim(),this._map[e]={properties:t,dependants:{}}}get(e){return e=e.trim(),this._map[e]||null}}let O=null;class H{constructor(){this._currentElement=null,this._measureElement=null,this._map=new k}detectMixin(e){return Object(E.a)(e)}gatherStyles(e){const t=function(e){const t=[],i=e.querySelectorAll("style");for(let e=0;e{":root"===e.selector&&(e.selector="html"),this.transformRule(e)}),e.textContent=_(t),t}transformRules(e,t){this._currentElement=t,w(e,e=>{this.transformRule(e)}),this._currentElement=null}transformRule(e){e.cssText=this.transformCssText(e.parsedCssText,e),":root"===e.selector&&(e.selector=":host > *")}transformCssText(e,t){return e=e.replace(m.c,(e,i,n,r)=>this._produceCssProperties(e,i,n,r,t)),this._consumeCssProperties(e,t)}_getInitialValueForProperty(e){return this._measureElement||(this._measureElement=document.createElement("meta"),this._measureElement.setAttribute("apply-shim-measure",""),this._measureElement.style.all="initial",document.head.appendChild(this._measureElement)),window.getComputedStyle(this._measureElement).getPropertyValue(e)}_fallbacksFromPreviousRules(e){let t=e;for(;t.parent;)t=t.parent;const i={};let n=!1;return w(t,t=>{(n=n||t===e)||t.selector===e.selector&&Object.assign(i,this._cssTextToMap(t.parsedCssText))}),i}_consumeCssProperties(e,t){let i=null;for(;i=m.b.exec(e);){let n=i[0],r=i[1],a=i.index,s=a+n.indexOf("@apply"),o=a+n.length,l=e.slice(0,s),c=e.slice(o),h=t?this._fallbacksFromPreviousRules(t):{};Object.assign(h,this._cssTextToMap(l));let d=this._atApplyToCssProperties(r,h);e=`${l}${d}${c}`,m.b.lastIndex=a+d.length}return e}_atApplyToCssProperties(e,t){e=e.replace(M,"");let i=[],n=this._map.get(e);if(n||(this._map.set(e,{}),n=this._map.get(e)),n){let r,a,s;this._currentElement&&(n.dependants[this._currentElement]=!0);const o=n.properties;for(r in o)s=t&&t[r],a=[r,": var(",e,I,r],s&&a.push(",",s.replace(T,"")),a.push(")"),T.test(o[r])&&a.push(" !important"),i.push(a.join(""))}return i.join("; ")}_replaceInitialOrInherit(e,t){let i=x.exec(t);return i&&(t=i[1]?this._getInitialValueForProperty(e):"apply-shim-inherit"),t}_cssTextToMap(e,t=!1){let i,n,r=e.split(";"),a={};for(let e,s,o=0;o1&&(i=s[0].trim(),n=s.slice(1).join(":"),t&&(n=this._replaceInitialOrInherit(i,n)),a[i]=n);return a}_invalidateMixinEntry(e){if(O)for(let t in e.dependants)t!==this._currentElement&&O(t)}_produceCssProperties(e,t,i,n,r){if(i&&function e(t,i){let n=t.indexOf("var(");if(-1===n)return i(t,"","","");let r=C(t,n+3),a=t.substring(n+4,r),s=t.substring(0,n),o=e(t.substring(r+1),i),l=a.indexOf(",");return-1===l?i(s,a.trim(),"",o):i(s,a.substring(0,l).trim(),a.substring(l+1).trim(),o)}(i,(e,t)=>{t&&this._map.get(t)&&(n=`@apply ${t};`)}),!n)return e;let a=this._consumeCssProperties(""+n,r),s=e.slice(0,e.indexOf("--")),o=this._cssTextToMap(a,!0),l=o,c=this._map.get(t),h=c&&c.properties;h?l=Object.assign(Object.create(h),o):this._map.set(t,l);let d,u,p=[],m=!1;for(d in l)void 0===(u=o[d])&&(u="initial"),!h||d in h||(m=!0),p.push(`${t}${I}${d}: ${u}`);return m&&this._invalidateMixinEntry(c),c&&(c.properties=l),i&&(s=`${e};${s}`),`${s}${p.join("; ")};`}}H.prototype.detectMixin=H.prototype.detectMixin,H.prototype.transformStyle=H.prototype.transformStyle,H.prototype.transformCustomStyle=H.prototype.transformCustomStyle,H.prototype.transformRules=H.prototype.transformRules,H.prototype.transformRule=H.prototype.transformRule,H.prototype.transformTemplate=H.prototype.transformTemplate,H.prototype._separator=I,Object.defineProperty(H.prototype,"invalidCallback",{get:()=>O,set(e){O=e}});var L=H; /** @license Copyright (c) 2017 The Polymer Project Authors. All rights reserved. @@ -991,7 +991,7 @@ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as part of the polymer project is also subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt -*/var V={}; +*/var D={}; /** @license Copyright (c) 2017 The Polymer Project Authors. All rights reserved. @@ -1000,7 +1000,7 @@ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as part of the polymer project is also subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt -*/const D="_applyShimCurrentVersion",N="_applyShimNextVersion",R="_applyShimValidatingVersion",P=Promise.resolve();function B(e){let t=V[e];t&&function(e){e[D]=e[D]||0,e[R]=e[R]||0,e[N]=(e[N]||0)+1}(t)}function F(e){return e[D]===e[N]}function j(e){return!F(e)&&e[R]===e[N]}function U(e){e[R]=e[N],e._validating||(e._validating=!0,P.then((function(){e[D]=e[N],e._validating=!1})))}i(62); +*/const V="_applyShimCurrentVersion",N="_applyShimNextVersion",R="_applyShimValidatingVersion",P=Promise.resolve();function B(e){let t=D[e];t&&function(e){e[V]=e[V]||0,e[R]=e[R]||0,e[N]=(e[N]||0)+1}(t)}function F(e){return e[V]===e[N]}function j(e){return!F(e)&&e[R]===e[N]}function q(e){e[R]=e[N],e._validating||(e._validating=!0,P.then((function(){e[V]=e[N],e._validating=!1})))}i(62); /** @license Copyright (c) 2017 The Polymer Project Authors. All rights reserved. @@ -1009,7 +1009,7 @@ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as part of the polymer project is also subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt -*/const q=new L;class ${constructor(){this.customStyleInterface=null,q.invalidCallback=B}ensure(){this.customStyleInterface||window.ShadyCSS.CustomStyleInterface&&(this.customStyleInterface=window.ShadyCSS.CustomStyleInterface,this.customStyleInterface.transformCallback=e=>{q.transformCustomStyle(e)},this.customStyleInterface.validateCallback=()=>{requestAnimationFrame(()=>{this.customStyleInterface.enqueued&&this.flushCustomStyles()})})}prepareTemplate(e,t){if(this.ensure(),E(e))return;V[t]=e;let i=q.transformTemplate(e,t);e._styleAst=i}flushCustomStyles(){if(this.ensure(),!this.customStyleInterface)return;let e=this.customStyleInterface.processStyles();if(this.customStyleInterface.enqueued){for(let t=0;t-1?i=t:(n=t,i=e.getAttribute&&e.getAttribute("is")||""):(i=e.is,n=e.extends),{is:i,typeExtension:n}}(e),i=V[t];if((!i||!E(i))&&i&&!F(i)){j(i)||(this.prepareTemplate(i,t),U(i));let n=e.shadowRoot;if(n){let e=n.querySelector("style");e&&(e.__cssRules=i._styleAst,e.textContent=_(i._styleAst))}}}styleDocument(e){this.ensure(),this.styleSubtree(document.body,e)}}if(!window.ShadyCSS||!window.ShadyCSS.ScopingShim){const e=new $;let t=window.ShadyCSS&&window.ShadyCSS.CustomStyleInterface;window.ShadyCSS={prepareTemplate(t,i,n){e.flushCustomStyles(),e.prepareTemplate(t,i)},prepareTemplateStyles(e,t,i){window.ShadyCSS.prepareTemplate(e,t,i)},prepareTemplateDom(e,t){},styleSubtree(t,i){e.flushCustomStyles(),e.styleSubtree(t,i)},styleElement(t){e.flushCustomStyles(),e.styleElement(t)},styleDocument(t){e.flushCustomStyles(),e.styleDocument(t)},getComputedStyleValue:(e,t)=>Object(S.b)(e,t),flushCustomStyles(){e.flushCustomStyles()},nativeCss:n.c,nativeShadow:n.d,cssBuild:n.a,disableRuntime:n.b},t&&(window.ShadyCSS.CustomStyleInterface=t)}window.ShadyCSS.ApplyShim=q;var K=i(33),W=i(49),G=i(46),Y=i(12); +*/const U=new L;class ${constructor(){this.customStyleInterface=null,U.invalidCallback=B}ensure(){this.customStyleInterface||window.ShadyCSS.CustomStyleInterface&&(this.customStyleInterface=window.ShadyCSS.CustomStyleInterface,this.customStyleInterface.transformCallback=e=>{U.transformCustomStyle(e)},this.customStyleInterface.validateCallback=()=>{requestAnimationFrame(()=>{this.customStyleInterface.enqueued&&this.flushCustomStyles()})})}prepareTemplate(e,t){if(this.ensure(),S(e))return;D[t]=e;let i=U.transformTemplate(e,t);e._styleAst=i}flushCustomStyles(){if(this.ensure(),!this.customStyleInterface)return;let e=this.customStyleInterface.processStyles();if(this.customStyleInterface.enqueued){for(let t=0;t-1?i=t:(n=t,i=e.getAttribute&&e.getAttribute("is")||""):(i=e.is,n=e.extends),{is:i,typeExtension:n}}(e),i=D[t];if((!i||!S(i))&&i&&!F(i)){j(i)||(this.prepareTemplate(i,t),q(i));let n=e.shadowRoot;if(n){let e=n.querySelector("style");e&&(e.__cssRules=i._styleAst,e.textContent=_(i._styleAst))}}}styleDocument(e){this.ensure(),this.styleSubtree(document.body,e)}}if(!window.ShadyCSS||!window.ShadyCSS.ScopingShim){const e=new $;let t=window.ShadyCSS&&window.ShadyCSS.CustomStyleInterface;window.ShadyCSS={prepareTemplate(t,i,n){e.flushCustomStyles(),e.prepareTemplate(t,i)},prepareTemplateStyles(e,t,i){window.ShadyCSS.prepareTemplate(e,t,i)},prepareTemplateDom(e,t){},styleSubtree(t,i){e.flushCustomStyles(),e.styleSubtree(t,i)},styleElement(t){e.flushCustomStyles(),e.styleElement(t)},styleDocument(t){e.flushCustomStyles(),e.styleDocument(t)},getComputedStyleValue:(e,t)=>Object(E.b)(e,t),flushCustomStyles(){e.flushCustomStyles()},nativeCss:n.c,nativeShadow:n.d,cssBuild:n.a,disableRuntime:n.b},t&&(window.ShadyCSS.CustomStyleInterface=t)}window.ShadyCSS.ApplyShim=U;var K=i(33),W=i(49),G=i(46),Y=i(12); /** * @fileoverview * @suppress {checkPrototypalTypes} @@ -1021,7 +1021,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN * Google as part of the polymer project is also subject to an additional IP * rights grant found at http://polymer.github.io/PATENTS.txt */ -const X=/:host\(:dir\((ltr|rtl)\)\)/g,Z=':host([dir="$1"])',J=/([\s\w-#\.\[\]\*]*):dir\((ltr|rtl)\)/g,Q=':host([dir="$2"]) $1',ee=/:dir\((?:ltr|rtl)\)/,te=Boolean(window.ShadyDOM&&window.ShadyDOM.inUse),ie=[];let ne=null,re="";function ae(){re=document.documentElement.getAttribute("dir")}function se(e){if(!e.__autoDirOptOut){e.setAttribute("dir",re)}}function oe(){ae(),re=document.documentElement.getAttribute("dir");for(let e=0;e{te||ne||(ae(),(ne=new MutationObserver(oe)).observe(document.documentElement,{attributes:!0,attributeFilter:["dir"]}));const t=Object(G.a)(e);class i extends t{static _processStyleText(e,i){return e=t._processStyleText.call(this,e,i),!te&&ee.test(e)&&(e=this._replaceDirInCssText(e),this.__activateDir=!0),e}static _replaceDirInCssText(e){let t=e;return t=(t=t.replace(X,Z)).replace(J,Q)}constructor(){super(),this.__autoDirOptOut=!1}ready(){super.ready(),this.__autoDirOptOut=this.hasAttribute("dir")}connectedCallback(){t.prototype.connectedCallback&&super.connectedCallback(),this.constructor.__activateDir&&(ne&&ne.takeRecords().length&&oe(),ie.push(this),se(this))}disconnectedCallback(){if(t.prototype.disconnectedCallback&&super.disconnectedCallback(),this.constructor.__activateDir){const e=ie.indexOf(this);e>-1&&ie.splice(e,1)}}}return i.__activateDir=!1,i});i(32); +const X=/:host\(:dir\((ltr|rtl)\)\)/g,J=':host([dir="$1"])',Z=/([\s\w-#\.\[\]\*]*):dir\((ltr|rtl)\)/g,Q=':host([dir="$2"]) $1',ee=/:dir\((?:ltr|rtl)\)/,te=Boolean(window.ShadyDOM&&window.ShadyDOM.inUse),ie=[];let ne=null,re="";function ae(){re=document.documentElement.getAttribute("dir")}function se(e){if(!e.__autoDirOptOut){e.setAttribute("dir",re)}}function oe(){ae(),re=document.documentElement.getAttribute("dir");for(let e=0;e{te||ne||(ae(),(ne=new MutationObserver(oe)).observe(document.documentElement,{attributes:!0,attributeFilter:["dir"]}));const t=Object(G.a)(e);class i extends t{static _processStyleText(e,i){return e=t._processStyleText.call(this,e,i),!te&&ee.test(e)&&(e=this._replaceDirInCssText(e),this.__activateDir=!0),e}static _replaceDirInCssText(e){let t=e;return t=(t=t.replace(X,J)).replace(Z,Q)}constructor(){super(),this.__autoDirOptOut=!1}ready(){super.ready(),this.__autoDirOptOut=this.hasAttribute("dir")}connectedCallback(){t.prototype.connectedCallback&&super.connectedCallback(),this.constructor.__activateDir&&(ne&&ne.takeRecords().length&&oe(),ie.push(this),se(this))}disconnectedCallback(){if(t.prototype.disconnectedCallback&&super.disconnectedCallback(),this.constructor.__activateDir){const e=ie.indexOf(this);e>-1&&ie.splice(e,1)}}}return i.__activateDir=!1,i});i(32); /** @license Copyright (c) 2017 The Polymer Project Authors. All rights reserved. @@ -1082,7 +1082,7 @@ The complete set of contributors may be found at http://polymer.github.io/CONTRI Code distributed by Google as part of the polymer project is also subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt */ -const a="link[rel=import][type~=css]",s="include",o="shady-unscoped";function l(e){return n.a.import(e)}function c(e){let t=e.body?e.body:e;const i=Object(r.b)(t.textContent,e.baseURI),n=document.createElement("style");return n.textContent=i,n}function h(e){const t=e.trim().split(/\s+/),i=[];for(let e=0;e-1}let b=!1;function _(e){if(!v(e)&&"touchend"!==e)return o&&b&&a.d?{passive:!0}:void 0}!function(){try{let e=Object.defineProperty({},"passive",{get(){b=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}}();let y=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/);const w=[],C={button:!0,input:!0,keygen:!0,meter:!0,output:!0,textarea:!0,progress:!0,select:!0},z={button:!0,command:!0,fieldset:!0,input:!0,keygen:!0,optgroup:!0,option:!0,select:!0,textarea:!0};function A(e){let t=Array.prototype.slice.call(e.labels||[]);if(!t.length){t=[];let i=e.getRootNode();if(e.id){let n=i.querySelectorAll(`label[for = ${e.id}]`);for(let e=0;e-1}if(n[e]===x.mouse.target)return}if(t)return;e.preventDefault(),e.stopPropagation()}};function S(e){let t=y?["click"]:m;for(let i,n=0;ne.composedPath&&e.composedPath()||[],O={},H=[];function L(e){const t=k(e);return t.length>0?t[0]:e.target}function V(e){let t,i=e.type,n=e.currentTarget[l];if(!n)return;let r=n[i];if(r){if(!e[c]&&(e[c]={},"touch"===i.slice(0,5))){let t=(e=e).changedTouches[0];if("touchstart"===i&&1===e.touches.length&&(x.touch.id=t.identifier),x.touch.id!==t.identifier)return;o||"touchstart"!==i&&"touchmove"!==i||function(e){let t=e.changedTouches[0],i=e.type;if("touchstart"===i)x.touch.x=t.clientX,x.touch.y=t.clientY,x.touch.scrollDecided=!1;else if("touchmove"===i){if(x.touch.scrollDecided)return;x.touch.scrollDecided=!0;let i=function(e){let t="auto",i=k(e);for(let e,n=0;nr:"pan-y"===i&&(n=r>a)),n?e.preventDefault():F("track")}}(e)}if(!(t=e[c]).skip){for(let i,n=0;n-1&&i.reset&&i.reset();for(let n,a=0;a{e.style.touchAction=t}),e[h]=t}function B(e,t,i){let n=new Event(t,{bubbles:!0,cancelable:!0,composed:!0});if(n.detail=i,Object(s.a)(e).dispatchEvent(n),n.defaultPrevented){let e=i.preventer||i.sourceEvent;e&&e.preventDefault&&e.preventDefault()}}function F(e){let t=function(e){for(let t,i=0;i=u||r>=u}function q(e,t,i){if(!t)return;let n,r=e.moves[e.moves.length-2],a=e.moves[e.moves.length-1],s=a.x-e.x,o=a.y-e.y,l=0;r&&(n=a.x-r.x,l=a.y-r.y),B(t,"track",{state:e.state,x:i.clientX,y:i.clientY,dx:s,dy:o,ddx:n,ddy:l,sourceEvent:i,hover:function(){return function(e,t){let i=document.elementFromPoint(e,t),n=i;for(;n&&n.shadowRoot&&!window.ShadyDOM;){if(n===(n=n.shadowRoot.elementFromPoint(e,t)))break;n&&(i=n)}return i}(i.clientX,i.clientY)}})}function $(e,t,i){let n=Math.abs(t.clientX-e.x),r=Math.abs(t.clientY-e.y),a=L(i||t);!a||z[a.localName]&&a.hasAttribute("disabled")||(isNaN(n)||isNaN(r)||n<=d&&r<=d||function(e){if("click"===e.type){if(0===e.detail)return!0;let t=L(e);if(!t.nodeType||t.nodeType!==Node.ELEMENT_NODE)return!0;let i=t.getBoundingClientRect(),n=e.pageX,r=e.pageY;return!(n>=i.left&&n<=i.right&&r>=i.top&&r<=i.bottom)}return!1}(t))&&(e.prevent||B(a,"tap",{x:t.clientX,y:t.clientY,sourceEvent:t,preventer:i}))}R({name:"downup",deps:["mousedown","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["down","up"],info:{movefn:null,upfn:null},reset:function(){I(this.info)},mousedown:function(e){if(!M(e))return;let t=L(e),i=this;T(this.info,(function(e){M(e)||(j("up",t,e),I(i.info))}),(function(e){M(e)&&j("up",t,e),I(i.info)})),j("down",t,e)},touchstart:function(e){j("down",L(e),e.changedTouches[0],e)},touchend:function(e){j("up",L(e),e.changedTouches[0],e)}}),R({name:"track",touchAction:"none",deps:["mousedown","touchstart","touchmove","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["track"],info:{x:0,y:0,state:"start",started:!1,moves:[],addMove:function(e){this.moves.length>2&&this.moves.shift(),this.moves.push(e)},movefn:null,upfn:null,prevent:!1},reset:function(){this.info.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.y=0,this.info.prevent=!1,I(this.info)},mousedown:function(e){if(!M(e))return;let t=L(e),i=this,n=function(e){let n=e.clientX,r=e.clientY;U(i.info,n,r)&&(i.info.state=i.info.started?"mouseup"===e.type?"end":"track":"start","start"===i.info.state&&F("tap"),i.info.addMove({x:n,y:r}),M(e)||(i.info.state="end",I(i.info)),t&&q(i.info,t,e),i.info.started=!0)};T(this.info,n,(function(e){i.info.started&&n(e),I(i.info)})),this.info.x=e.clientX,this.info.y=e.clientY},touchstart:function(e){let t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchmove:function(e){let t=L(e),i=e.changedTouches[0],n=i.clientX,r=i.clientY;U(this.info,n,r)&&("start"===this.info.state&&F("tap"),this.info.addMove({x:n,y:r}),q(this.info,t,i),this.info.state="track",this.info.started=!0)},touchend:function(e){let t=L(e),i=e.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:i.clientX,y:i.clientY}),q(this.info,t,i))}}),R({name:"tap",deps:["mousedown","click","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","touchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset:function(){this.info.x=NaN,this.info.y=NaN,this.info.prevent=!1},mousedown:function(e){M(e)&&(this.info.x=e.clientX,this.info.y=e.clientY)},click:function(e){M(e)&&$(this.info,e)},touchstart:function(e){const t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchend:function(e){$(this.info,e.changedTouches[0],e)}})},function(e,t,i){"use strict";i.d(t,"b",(function(){return s})),i.d(t,"a",(function(){return o}));i(5);var n=i(22),r=i(19),a=i(26); +let o="string"==typeof document.head.style.touchAction,l="__polymerGestures",c="__polymerGesturesHandled",h="__polymerGesturesTouchAction",d=25,u=5,p=2500,m=["mousedown","mousemove","mouseup","click"],g=[0,1,4,2],f=function(){try{return 1===new MouseEvent("test",{buttons:1}).buttons}catch(e){return!1}}();function v(e){return m.indexOf(e)>-1}let b=!1;function _(e){if(!v(e)&&"touchend"!==e)return o&&b&&a.d?{passive:!0}:void 0}!function(){try{let e=Object.defineProperty({},"passive",{get(){b=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}}();let y=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/);const w=[],C={button:!0,input:!0,keygen:!0,meter:!0,output:!0,textarea:!0,progress:!0,select:!0},A={button:!0,command:!0,fieldset:!0,input:!0,keygen:!0,optgroup:!0,option:!0,select:!0,textarea:!0};function z(e){let t=Array.prototype.slice.call(e.labels||[]);if(!t.length){t=[];let i=e.getRootNode();if(e.id){let n=i.querySelectorAll(`label[for = ${e.id}]`);for(let e=0;e-1}if(n[e]===x.mouse.target)return}if(t)return;e.preventDefault(),e.stopPropagation()}};function E(e){let t=y?["click"]:m;for(let i,n=0;ne.composedPath&&e.composedPath()||[],O={},H=[];function L(e){const t=k(e);return t.length>0?t[0]:e.target}function D(e){let t,i=e.type,n=e.currentTarget[l];if(!n)return;let r=n[i];if(r){if(!e[c]&&(e[c]={},"touch"===i.slice(0,5))){let t=(e=e).changedTouches[0];if("touchstart"===i&&1===e.touches.length&&(x.touch.id=t.identifier),x.touch.id!==t.identifier)return;o||"touchstart"!==i&&"touchmove"!==i||function(e){let t=e.changedTouches[0],i=e.type;if("touchstart"===i)x.touch.x=t.clientX,x.touch.y=t.clientY,x.touch.scrollDecided=!1;else if("touchmove"===i){if(x.touch.scrollDecided)return;x.touch.scrollDecided=!0;let i=function(e){let t="auto",i=k(e);for(let e,n=0;nr:"pan-y"===i&&(n=r>a)),n?e.preventDefault():F("track")}}(e)}if(!(t=e[c]).skip){for(let i,n=0;n-1&&i.reset&&i.reset();for(let n,a=0;a{e.style.touchAction=t}),e[h]=t}function B(e,t,i){let n=new Event(t,{bubbles:!0,cancelable:!0,composed:!0});if(n.detail=i,Object(s.a)(e).dispatchEvent(n),n.defaultPrevented){let e=i.preventer||i.sourceEvent;e&&e.preventDefault&&e.preventDefault()}}function F(e){let t=function(e){for(let t,i=0;i=u||r>=u}function U(e,t,i){if(!t)return;let n,r=e.moves[e.moves.length-2],a=e.moves[e.moves.length-1],s=a.x-e.x,o=a.y-e.y,l=0;r&&(n=a.x-r.x,l=a.y-r.y),B(t,"track",{state:e.state,x:i.clientX,y:i.clientY,dx:s,dy:o,ddx:n,ddy:l,sourceEvent:i,hover:function(){return function(e,t){let i=document.elementFromPoint(e,t),n=i;for(;n&&n.shadowRoot&&!window.ShadyDOM;){if(n===(n=n.shadowRoot.elementFromPoint(e,t)))break;n&&(i=n)}return i}(i.clientX,i.clientY)}})}function $(e,t,i){let n=Math.abs(t.clientX-e.x),r=Math.abs(t.clientY-e.y),a=L(i||t);!a||A[a.localName]&&a.hasAttribute("disabled")||(isNaN(n)||isNaN(r)||n<=d&&r<=d||function(e){if("click"===e.type){if(0===e.detail)return!0;let t=L(e);if(!t.nodeType||t.nodeType!==Node.ELEMENT_NODE)return!0;let i=t.getBoundingClientRect(),n=e.pageX,r=e.pageY;return!(n>=i.left&&n<=i.right&&r>=i.top&&r<=i.bottom)}return!1}(t))&&(e.prevent||B(a,"tap",{x:t.clientX,y:t.clientY,sourceEvent:t,preventer:i}))}R({name:"downup",deps:["mousedown","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["down","up"],info:{movefn:null,upfn:null},reset:function(){I(this.info)},mousedown:function(e){if(!M(e))return;let t=L(e),i=this;T(this.info,(function(e){M(e)||(j("up",t,e),I(i.info))}),(function(e){M(e)&&j("up",t,e),I(i.info)})),j("down",t,e)},touchstart:function(e){j("down",L(e),e.changedTouches[0],e)},touchend:function(e){j("up",L(e),e.changedTouches[0],e)}}),R({name:"track",touchAction:"none",deps:["mousedown","touchstart","touchmove","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["track"],info:{x:0,y:0,state:"start",started:!1,moves:[],addMove:function(e){this.moves.length>2&&this.moves.shift(),this.moves.push(e)},movefn:null,upfn:null,prevent:!1},reset:function(){this.info.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.y=0,this.info.prevent=!1,I(this.info)},mousedown:function(e){if(!M(e))return;let t=L(e),i=this,n=function(e){let n=e.clientX,r=e.clientY;q(i.info,n,r)&&(i.info.state=i.info.started?"mouseup"===e.type?"end":"track":"start","start"===i.info.state&&F("tap"),i.info.addMove({x:n,y:r}),M(e)||(i.info.state="end",I(i.info)),t&&U(i.info,t,e),i.info.started=!0)};T(this.info,n,(function(e){i.info.started&&n(e),I(i.info)})),this.info.x=e.clientX,this.info.y=e.clientY},touchstart:function(e){let t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchmove:function(e){let t=L(e),i=e.changedTouches[0],n=i.clientX,r=i.clientY;q(this.info,n,r)&&("start"===this.info.state&&F("tap"),this.info.addMove({x:n,y:r}),U(this.info,t,i),this.info.state="track",this.info.started=!0)},touchend:function(e){let t=L(e),i=e.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:i.clientX,y:i.clientY}),U(this.info,t,i))}}),R({name:"tap",deps:["mousedown","click","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","touchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset:function(){this.info.x=NaN,this.info.y=NaN,this.info.prevent=!1},mousedown:function(e){M(e)&&(this.info.x=e.clientX,this.info.y=e.clientY)},click:function(e){M(e)&&$(this.info,e)},touchstart:function(e){const t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchend:function(e){$(this.info,e.changedTouches[0],e)}})},function(e,t,i){"use strict";i.d(t,"b",(function(){return s})),i.d(t,"a",(function(){return o}));i(5);var n=i(22),r=i(19),a=i(26); /** @license Copyright (c) 2015 The Polymer Project Authors. All rights reserved. @@ -3483,7 +3483,7 @@ var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__p
- `}onClickSummaryTab(){this.store.dispatch({type:"SHOW_SUMMARY"}),setTimeout(()=>{this.querySelector("[summary]").scrollIntoView({behavior:"smooth",block:"start"})},200)}onClickResponseTab(){this.store.dispatch({type:"SHOW_RESPONSE"}),this.querySelectorAll("tangy-form-item")[0].scrollIntoView({behavior:"smooth",block:"center"})}static get is(){return"tangy-form"}static get properties(){return{fullscreen:{type:Boolean,value:!1,reflectToAttribute:!0},title:{type:String,value:""},complete:{type:Boolean,value:!1,reflectToAttribute:!0},linearMode:{type:Boolean,value:!1,reflectToAttribute:!0},hideClosedItems:{type:Boolean,value:!1,reflectToAttribute:!0},hideCompleteFab:{type:Boolean,value:!1,reflectToAttribute:!0},tabIndex:{type:Number,value:0,reflectToAttribute:!0},showResponse:{type:Boolean,value:!1,reflectToAttribute:!0},showSummary:{type:Boolean,value:!1,reflectToAttribute:!0},hasSummary:{type:Boolean,value:!1,reflectToAttribute:!0},fullScreenGranted:{type:Boolean,value:!1},exitClicks:{type:Number,value:void 0,reflectToAttribute:!0}}}constructor(){super(),this.t={summary:"summary",response:"response"},this._responseHasBeenSet=!1,this.store=Redux.createStore(_tangy_form_reducer_js__WEBPACK_IMPORTED_MODULE_5__.a,window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__())}ready(){super.ready(),this.hasLazyItems=!1,this.querySelectorAll("tangy-form-item").forEach(e=>{e.getAttribute("src")&&(this.hasLazyItems=!0),e.store=this.store,this.linearMode&&(e.noButtons=!0),e.addEventListener("change",this.onItemChange.bind(this)),e.addEventListener("ITEM_NEXT",this.onItemNext.bind(this)),e.addEventListener("ITEM_BACK",this.onItemBack.bind(this)),e.addEventListener("ITEM_CLOSED",this.onItemClosed.bind(this)),e.addEventListener("ITEM_OPENED",this.onItemOpened.bind(this)),e.addEventListener("FORM_RESPONSE_COMPLETE",this.onFormResponseComplete.bind(this)),e.addEventListener("FORM_RESPONSE_NO_CONSENT",this.onFormResponseNoConsent.bind(this)),e.addEventListener("logic-error",this.onItemError.bind(this)),e.addEventListener("go-to",e=>this.onItemGoTo(e))}),this.hasLazyItems?this.unsubscribe=this.store.subscribe(this.throttledReflect.bind(this)):this.unsubscribe=this.store.subscribe(this.reflect.bind(this)),this.store.subscribe(e=>{this.dispatchEvent(new CustomEvent("TANGY_FORM_UPDATE"))}),this.hasAttribute("on-submit")&&this.addEventListener("submit",e=>{this.fireHook("on-submit")}),Object(_polymer_polymer_lib_utils_render_status_js__WEBPACK_IMPORTED_MODULE_1__.a)(this,(function(){!1===this._responseHasBeenSet&&this.newResponse()})),this.addEventListener("enter-fullscreen",()=>{this.store.dispatch({type:"ENTER_FULLSCREEN"})}),this.addEventListener("exit-fullscreen",()=>{this.store.dispatch({type:"EXIT_FULLSCREEN"})})}disconnectedCallback(){this.unsubscribe&&this.unsubscribe()}onFormResponseComplete(e){this.store.dispatch({type:"ITEM_SAVE",item:e.target.getProps()}),this.dispatchEvent(new CustomEvent("submit",{cancelable:!0}))&&(this.store.dispatch({type:"FORM_RESPONSE_COMPLETE"}),!this.dispatchEvent(new CustomEvent("tangy-form-complete",{cancelable:!0}))||(this.hasSummary?this.store.dispatch({type:"SHOW_SUMMARY"}):this.store.dispatch({type:"SHOW_RESPONSE"})))}onFormResponseNoConsent(e){this.store.dispatch({type:"ITEM_SAVE",item:e.target.getProps()}),!this.dispatchEvent(new CustomEvent("submit",{cancelable:!0}))||(this.store.dispatch({type:"FORM_RESPONSE_COMPLETE"}),this.hasSummary?this.store.dispatch({type:"SHOW_SUMMARY"}):this.store.dispatch({type:"SHOW_RESPONSE"}))}onItemChange(e){this.store.dispatch({type:"ITEM_CHANGE",itemId:e.target.id})}onItemNext(e){this.store.dispatch({type:"ITEM_SAVE",item:e.target.getProps()}),this.fireHook("on-change"),this.focusOnNextItem()}onItemBack(e){this.store.dispatch({type:"ITEM_SAVE",item:e.target.getProps()}),this.fireHook("on-change"),this.focusOnPreviousItem()}onItemGoTo(e){this.store.dispatch({type:"ITEM_SAVE",item:e.target.getProps()}),this.fireHook("on-change"),this.store.dispatch({type:"ITEM_GO_TO",itemId:e.detail})}onItemOpened(e){this.store.dispatch({type:"ITEM_SAVE",item:e.target.getProps()})}onItemClosed(e){this.store.dispatch({type:"ITEM_SAVE",item:e.target.getProps()})}onItemError(e){this.errorMessage(e.detail)}throttledReflect(e=!1){this.reflectQueued&&!e||(this.reflectRunning?(this.reflectQueued=!0,setTimeout(()=>this.throttledReflect(!0),200)):(this.reflectRunning=!0,this.reflect(),this.reflectRunning=!1,e&&(this.reflectQueued=!1)))}reflect(){let e=this.store.getState();this.previousState||(this.previousState=e),this.setProps(e.form),e.form&&e.form.complete;let t=[].slice.call(this.querySelectorAll("tangy-form-item"));t.forEach(t=>{let i=e.items.findIndex(e=>t.id==e.id);-1!==i&&t.setProps(e.items[i])}),e.focusIndex!==this.previousState.focusIndex&&t[e.focusIndex]&&t[e.focusIndex].scrollIntoView({behavior:"smooth",block:"start"});let i=this.previousState.items.filter(e=>!e.open).length,n=e.items.filter(e=>!e.open).length;i!==n&&n===e.items.length&&this.dispatchEvent(new CustomEvent("ALL_ITEMS_CLOSED")),e.form&&e.form.fullscreen?!this.previousState.form.fullscreenEnabled&&e.form.fullscreenEnabled?this.enableFullscreen():this.previousState.form.fullscreenEnabled&&!e.form.fullscreenEnabled&&this.disableFullscreen():this.previousState.form.fullscreen&&!e.form.fullscreen&&this.disableFullscreen(),this.previousState=Object.assign({},e)}fireHook(hook,event){if(this.locked)return;if(!this.getAttribute(hook))return;let state=this.store.getState(),inputsArray=[];state.items.forEach(e=>inputsArray=[...inputsArray,...e.inputs]);let inputsKeyedByName={};inputsArray.forEach(e=>inputsKeyedByName[e.name]=e);let inputs=inputsKeyedByName,items={};state.items.forEach(e=>items[e.name]=e);let inputEls=this.shadowRoot.querySelectorAll("[name]"),tangyFormStore=this.store,itemEnable=e=>this.itemEnable(e),itemDisable=e=>this.itemDisable(e),sectionEnable=e=>this.itemEnable(e),sectionDisable=e=>this.itemDisable(e),helpers=new _tangy_form_item_callback_helpers_js__WEBPACK_IMPORTED_MODULE_7__.a(this),getValue=e=>this.getValue(e),inputHide=e=>helpers.inputHide(e),inputShow=e=>helpers.inputShow(e),inputDisable=e=>helpers.inputDisable(e),inputEnable=e=>helpers.inputEnable(e),itemsPerMinute=e=>helpers.itemsPerMinute(e),numberOfItemsAttempted=e=>helpers.numberOfItemsAttempted(e),numberOfCorrectItems=e=>helpers.numberOfCorrectItems(e),numberOfIncorrectItems=e=>helpers.numberOfIncorrectItems(e),gridAutoStopped=e=>helpers.gridAutoStopped(e),itemInputs=[...this.shadowRoot.querySelectorAll("[name]")].reduce((e,t)=>Object.assign({},e,{[t.name]:t}),{});try{eval(this.getAttribute(hook))}catch(e){const t=`${Object(_util_t_js__WEBPACK_IMPORTED_MODULE_4__.a)("Error detected in the form's logic:")} ${hook}`;console.log(t),console.log(e),this.errorMessage(t)}}errorMessage(e){if(!this.hasAttribute("error-logging"))return;const t=document.createElement("div");t.innerHTML=e,t.classList.add("error"),this.shadowRoot.querySelector("#errors").appendChild(t),this.style.background="red",setTimeout(()=>{this.style.background="transparent"},400)}focusOnPreviousItem(e){let t=this.store.getState().items.find(e=>e.open);this.store.dispatch({type:"ITEM_BACK",itemId:t.id})}focusOnNextItem(e){let t=this.store.getState().items.find(e=>e.open);this.store.dispatch({type:"ITEM_NEXT",itemId:t.id})}disableFullscreen(){document.webkitExitFullscreen&&document.webkitExitFullscreen(),document.exitFullscreen&&document.exitFullscreen(),this.removeEventListener("click",this.enableFullscreen,!0)}enableFullscreen(){this.requestFullscreen?this.requestFullscreen().then(e=>{this.fullScreenGranted=!0}).catch(e=>{console.log(`Error attempting to enable full-screen mode: ${e.message} (${e.name})`),this.fullScreenGranted=!1,this.dispatchEvent(new CustomEvent("fullscreen-rejected"))}):this.mozRequestFullScreen?this.mozRequestFullScreen():this.webkitRequestFullscreen?this.webkitRequestFullscreen():this.msRequestFullscreen&&this.msRequestFullscreen()}}window.customElements.define(TangyForm.is,TangyForm)},function(module,__webpack_exports__,__webpack_require__){"use strict";var _polymer_polymer_polymer_element_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),_util_t_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(1),_util_html_element_props_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(11),_util_html_element_props_js__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_util_html_element_props_js__WEBPACK_IMPORTED_MODULE_2__),_polymer_paper_card_paper_card_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(59),_style_tangy_common_styles_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(9),_style_tangy_common_styles_js__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_style_tangy_common_styles_js__WEBPACK_IMPORTED_MODULE_4__),_tangy_form_item_callback_helpers_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(48);class TangyFormItem extends _polymer_polymer_polymer_element_js__WEBPACK_IMPORTED_MODULE_0__.a{static get is(){return"tangy-form-item"}connectedCallback(){this.querySelector("template")?this.template=this.querySelector("template").innerHTML:this.template=this.innerHTML,this.innerHTML="",super.connectedCallback(),this.t={back:Object(_util_t_js__WEBPACK_IMPORTED_MODULE_1__.a)("back"),next:Object(_util_t_js__WEBPACK_IMPORTED_MODULE_1__.a)("next"),open:Object(_util_t_js__WEBPACK_IMPORTED_MODULE_1__.a)("open"),close:Object(_util_t_js__WEBPACK_IMPORTED_MODULE_1__.a)("close"),save:Object(_util_t_js__WEBPACK_IMPORTED_MODULE_1__.a)("save"),submit:Object(_util_t_js__WEBPACK_IMPORTED_MODULE_1__.a)("submit")}}static get template(){return _polymer_polymer_polymer_element_js__WEBPACK_IMPORTED_MODULE_0__.b` + `}onClickSummaryTab(){this.store.dispatch({type:"SHOW_SUMMARY"}),setTimeout(()=>{this.querySelector("[summary]").scrollIntoView({behavior:"smooth",block:"start"})},200)}onClickResponseTab(){this.store.dispatch({type:"SHOW_RESPONSE"}),this.querySelectorAll("tangy-form-item")[0].scrollIntoView({behavior:"smooth",block:"center"})}static get is(){return"tangy-form"}static get properties(){return{fullscreen:{type:Boolean,value:!1,reflectToAttribute:!0},title:{type:String,value:""},complete:{type:Boolean,value:!1,reflectToAttribute:!0},linearMode:{type:Boolean,value:!1,reflectToAttribute:!0},hideClosedItems:{type:Boolean,value:!1,reflectToAttribute:!0},hideCompleteFab:{type:Boolean,value:!1,reflectToAttribute:!0},tabIndex:{type:Number,value:0,reflectToAttribute:!0},showResponse:{type:Boolean,value:!1,reflectToAttribute:!0},showSummary:{type:Boolean,value:!1,reflectToAttribute:!0},hasSummary:{type:Boolean,value:!1,reflectToAttribute:!0},fullScreenGranted:{type:Boolean,value:!1},exitClicks:{type:Number,value:void 0,reflectToAttribute:!0}}}constructor(){super(),this.t={summary:"summary",response:"response"},this._responseHasBeenSet=!1,this.store=Redux.createStore(_tangy_form_reducer_js__WEBPACK_IMPORTED_MODULE_5__.a,window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__())}ready(){super.ready(),this.hasLazyItems=!1,this.querySelectorAll("tangy-form-item").forEach(e=>{e.getAttribute("src")&&(this.hasLazyItems=!0),e.store=this.store,this.linearMode&&(e.noButtons=!0),e.addEventListener("change",this.onItemChange.bind(this)),e.addEventListener("ITEM_NEXT",this.onItemNext.bind(this)),e.addEventListener("ITEM_BACK",this.onItemBack.bind(this)),e.addEventListener("ITEM_CLOSED",this.onItemClosed.bind(this)),e.addEventListener("ITEM_OPENED",this.onItemOpened.bind(this)),e.addEventListener("FORM_RESPONSE_COMPLETE",this.onFormResponseComplete.bind(this)),e.addEventListener("FORM_RESPONSE_NO_CONSENT",this.onFormResponseNoConsent.bind(this)),e.addEventListener("logic-error",this.onItemError.bind(this)),e.addEventListener("go-to",e=>this.onItemGoTo(e))}),this.hasLazyItems?this.unsubscribe=this.store.subscribe(this.throttledReflect.bind(this)):this.unsubscribe=this.store.subscribe(this.reflect.bind(this)),this.store.subscribe(e=>{this.dispatchEvent(new CustomEvent("TANGY_FORM_UPDATE"))}),this.hasAttribute("on-submit")&&this.addEventListener("submit",e=>{this.fireHook("on-submit")}),Object(_polymer_polymer_lib_utils_render_status_js__WEBPACK_IMPORTED_MODULE_1__.a)(this,(function(){!1===this._responseHasBeenSet&&this.newResponse()})),this.addEventListener("enter-fullscreen",()=>{this.store.dispatch({type:"ENTER_FULLSCREEN"})}),this.addEventListener("exit-fullscreen",()=>{this.store.dispatch({type:"EXIT_FULLSCREEN"})})}disconnectedCallback(){this.unsubscribe&&this.unsubscribe()}onFormResponseComplete(e){this.store.dispatch({type:"ITEM_SAVE",item:e.target.getProps()}),this.dispatchEvent(new CustomEvent("submit",{cancelable:!0}))&&(this.store.dispatch({type:"FORM_RESPONSE_COMPLETE"}),!this.dispatchEvent(new CustomEvent("tangy-form-complete",{cancelable:!0}))||(this.hasSummary?this.store.dispatch({type:"SHOW_SUMMARY"}):this.store.dispatch({type:"SHOW_RESPONSE"})))}onFormResponseNoConsent(e){this.store.dispatch({type:"ITEM_SAVE",item:e.target.getProps()}),!this.dispatchEvent(new CustomEvent("submit",{cancelable:!0}))||(this.store.dispatch({type:"FORM_RESPONSE_COMPLETE"}),this.hasSummary?this.store.dispatch({type:"SHOW_SUMMARY"}):this.store.dispatch({type:"SHOW_RESPONSE"}))}onItemChange(e){this.store.dispatch({type:"ITEM_CHANGE",itemId:e.target.id})}onItemNext(e){this.store.dispatch({type:"ITEM_SAVE",item:e.target.getProps()}),this.fireHook("on-change"),this.focusOnNextItem()}onItemBack(e){this.store.dispatch({type:"ITEM_SAVE",item:e.target.getProps()}),this.fireHook("on-change"),this.focusOnPreviousItem()}onItemGoTo(e){this.store.dispatch({type:"ITEM_SAVE",item:e.target.getProps()}),this.fireHook("on-change"),this.store.dispatch({type:"ITEM_GO_TO",itemId:e.detail})}onItemOpened(e){this.store.dispatch({type:"ITEM_SAVE",item:e.target.getProps()})}onItemClosed(e){this.store.dispatch({type:"ITEM_SAVE",item:e.target.getProps()})}onItemError(e){this.errorMessage(e.detail)}throttledReflect(e=!1){this.reflectQueued&&!e||(this.reflectRunning?(this.reflectQueued=!0,setTimeout(()=>this.throttledReflect(!0),200)):(this.reflectRunning=!0,this.reflect(),this.reflectRunning=!1,e&&(this.reflectQueued=!1)))}reflect(){let e=this.store.getState();this.previousState||(this.previousState=e),this.setProps(e.form),e.form&&e.form.complete;let t=[].slice.call(this.querySelectorAll("tangy-form-item"));t.forEach(t=>{let i=e.items.findIndex(e=>t.id==e.id);-1!==i&&t.setProps(e.items[i])}),e.focusIndex!==this.previousState.focusIndex&&t[e.focusIndex]&&t[e.focusIndex].scrollIntoView({behavior:"smooth",block:"start"});let i=this.previousState.items.filter(e=>!e.open).length,n=e.items.filter(e=>!e.open).length;i!==n&&n===e.items.length&&this.dispatchEvent(new CustomEvent("ALL_ITEMS_CLOSED")),e.form&&e.form.fullscreen?!this.previousState.form.fullscreenEnabled&&e.form.fullscreenEnabled?this.enableFullscreen():this.previousState.form.fullscreenEnabled&&!e.form.fullscreenEnabled&&this.disableFullscreen():this.previousState.form.fullscreen&&!e.form.fullscreen&&this.disableFullscreen(),this.previousState=Object.assign({},e)}fireHook(hook,event){if(this.locked)return;if(!this.getAttribute(hook))return;let state=this.store.getState(),inputsArray=[];state.items.forEach(e=>inputsArray=[...inputsArray,...e.inputs]);let inputsKeyedByName={};inputsArray.forEach(e=>inputsKeyedByName[e.name]=e);let inputs=inputsKeyedByName,items={};state.items.forEach(e=>items[e.name]=e);let inputEls=this.shadowRoot.querySelectorAll("[name]"),tangyFormStore=this.store,itemEnable=e=>this.itemEnable(e),itemDisable=e=>this.itemDisable(e),sectionEnable=e=>this.itemEnable(e),sectionDisable=e=>this.itemDisable(e),helpers=new _tangy_form_item_callback_helpers_js__WEBPACK_IMPORTED_MODULE_7__.a(this),getValue=e=>this.getValue(e),inputHide=e=>helpers.inputHide(e),inputShow=e=>helpers.inputShow(e),inputDisable=e=>helpers.inputDisable(e),inputEnable=e=>helpers.inputEnable(e),itemsPerMinute=e=>helpers.itemsPerMinute(e),numberOfItemsAttempted=e=>helpers.numberOfItemsAttempted(e),numberOfCorrectItems=e=>helpers.numberOfCorrectItems(e),numberOfIncorrectItems=e=>helpers.numberOfIncorrectItems(e),gridAutoStopped=e=>helpers.gridAutoStopped(e),itemInputs=[...this.shadowRoot.querySelectorAll("[name]")].reduce((e,t)=>Object.assign({},e,{[t.name]:t}),{});try{eval(this.getAttribute(hook))}catch(e){const t=`${Object(_util_t_js__WEBPACK_IMPORTED_MODULE_4__.a)("Error detected in the form's logic:")} ${hook}`;console.log(t),console.log(e),this.errorMessage(t)}}errorMessage(e){if(!this.hasAttribute("error-logging"))return;const t=document.createElement("div");t.innerHTML=e,t.classList.add("error"),this.shadowRoot.querySelector("#errors").appendChild(t),this.style.background="red",setTimeout(()=>{this.style.background="transparent"},400)}focusOnPreviousItem(e){let t=this.store.getState().items.find(e=>e.open);this.store.dispatch({type:"ITEM_BACK",itemId:t.id})}focusOnNextItem(e){let t=this.store.getState().items.find(e=>e.open);this.store.dispatch({type:"ITEM_NEXT",itemId:t.id})}disableFullscreen(){document.webkitExitFullscreen&&document.webkitExitFullscreen(),document.exitFullscreen&&document.exitFullscreen(),this.removeEventListener("click",this.enableFullscreen,!0)}enableFullscreen(){this.requestFullscreen?this.requestFullscreen().then(e=>{this.fullScreenGranted=!0}).catch(e=>{console.log(`Error attempting to enable full-screen mode: ${e.message} (${e.name})`),this.fullScreenGranted=!1,this.dispatchEvent(new CustomEvent("fullscreen-rejected"))}):this.mozRequestFullScreen?this.mozRequestFullScreen():this.webkitRequestFullscreen?this.webkitRequestFullscreen():this.msRequestFullscreen&&this.msRequestFullscreen()}}window.customElements.define(TangyForm.is,TangyForm)},function(module,__webpack_exports__,__webpack_require__){"use strict";var _polymer_polymer_polymer_element_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0),_util_t_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(1),_util_html_element_props_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(11),_util_html_element_props_js__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_util_html_element_props_js__WEBPACK_IMPORTED_MODULE_2__),_polymer_paper_card_paper_card_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(59),_style_tangy_common_styles_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(9),_style_tangy_common_styles_js__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_style_tangy_common_styles_js__WEBPACK_IMPORTED_MODULE_4__),_tangy_form_item_callback_helpers_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(48);class TangyFormItem extends _polymer_polymer_polymer_element_js__WEBPACK_IMPORTED_MODULE_0__.a{static get is(){return"tangy-form-item"}connectedCallback(){this.querySelector("template")?this.template=this.querySelector("template").innerHTML:this.template=this.innerHTML,this.innerHTML="",super.connectedCallback(),this.t={back:Object(_util_t_js__WEBPACK_IMPORTED_MODULE_1__.a)("back"),next:Object(_util_t_js__WEBPACK_IMPORTED_MODULE_1__.a)("next"),open:Object(_util_t_js__WEBPACK_IMPORTED_MODULE_1__.a)("open"),close:Object(_util_t_js__WEBPACK_IMPORTED_MODULE_1__.a)("close"),save:Object(_util_t_js__WEBPACK_IMPORTED_MODULE_1__.a)("save"),submit:Object(_util_t_js__WEBPACK_IMPORTED_MODULE_1__.a)("submit")},this.hadDiscrepancies=[],this.hadWarnings=[]}static get template(){return _polymer_polymer_polymer_element_js__WEBPACK_IMPORTED_MODULE_0__.b`
-`}static get properties(){return{name:{type:String,value:"location"},hintText:{type:String,value:""},errorText:{type:String,value:""},value:{type:Array,value:[],observer:"render"},required:{type:Boolean,value:!1,observer:"render"},invalid:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"onInvalidChange"},showMetaData:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"render"},locationSrc:{type:String,value:"./assets/location-list.json",observer:"render"},showLevels:{type:String,value:"",observer:"onShowLevelsChange"},hidden:{type:Boolean,reflectToAttribute:!0,value:!1},disabled:{type:Boolean,value:!1,observer:"render"},filterBy:{type:String,value:"",observer:"render"},filterByGlobal:{type:Boolean,value:!1,observer:"render"}}}get locationList(){return this._locationList&&this.filterBy&&this.filterBy.length>0?_util_loc_js__WEBPACK_IMPORTED_MODULE_2__.a.filterById(this._locationList,this.filterBy.split(",")):this._locationList?this._locationList:void 0}set locationList(e){this._locationList=e,this._flatLocationList=_util_loc_js__WEBPACK_IMPORTED_MODULE_2__.a.flatten(e)}async connectedCallback(){super.connectedCallback(),this._template=this.innerHTML,this.filterByGlobal&&(this.filterBy=window.tangyLocationFilterBy),this.shadowRoot.addEventListener("change",this.onSelectionChange.bind(this));let e=this;const t=new XMLHttpRequest;t.onreadystatechange=function(){try{e.locationList=JSON.parse(this.responseText),e.render(),e.locationListLoaded=!0,e.dispatchEvent(new CustomEvent("location-list-loaded"))}catch(e){}},t.open("GET",this.locationSrc),t.send(),this.shadowRoot.querySelector("#label").innerHTML=this.hasAttribute("label")?this.getAttribute("label"):""}onShowLevelsChange(e,t){void 0!==t&&(this.value=[])}render(){if(!this.locationList)return this.$.container.innerHTML=Object(_util_t_js__WEBPACK_IMPORTED_MODULE_1__.a)("loading");let levels=[];""!==this.showLevels?this.showLevels.split(",").forEach(e=>levels.push(e)):this.locationList.locationsLevels.forEach(e=>levels.push(e));let selections=[...this.value];0===selections.length&&levels.forEach(e=>{selections=[...selections,{level:e,value:""}]});let options=this.calculateLevelOptions(selections,levels);this.$.container.innerHTML=`\n\n
\n
${this.hasAttribute("question-number")?``:""}
\n
\n \n ${selections.map((selection,i)=>`\n \n
\n \n
\n \n
\n ${this.showMetaData&&selection.value?`\n
\n ${[this._flatLocationList.locations.find(e=>e.id===selection.value)].map(node=>this._template?eval(`\`${this._template}\``):Object.keys(node).map(e=>"parent"!==e&&"children"!==e?`${e}: ${node[e]}
`:"").join("")).join("")}\n
\n `:""}\n
\n
\n\n `).join("")}\n ${this.hintText?``:""}\n
\n
\n
\n
\n `}onInvalidChange(e){this.shadowRoot.querySelector("#error-text")&&(this.shadowRoot.querySelector("#error-text").innerHTML=this.invalid?`
${this.hasAttribute("error-text")?this.getAttribute("error-text"):""}
`:"")}calculateLevelOptions(e,t){let i={},n={},r="",a=e.find(e=>""===e.value);return r=a?a.level:"",e.forEach((t,i)=>{if(""===t.value&&t.level!==r)return;let a=e.slice(0,i),s=a.map(e=>e.level),o={};a.forEach(e=>o[e.level]=e.value),n[t.level]={levels:s,criteria:o}}),e.forEach(e=>{if(n[e.level]){let r=n[e.level];_util_loc_js__WEBPACK_IMPORTED_MODULE_2__.a.query(t,r.criteria,this.locationList,t=>{i[e.level]=t})}else i[e.level]=[]}),i}onSelectionChange(e){let t=[];""!==this.showLevels?this.showLevels.split(",").forEach(e=>t.push(e)):this.locationList.locationsLevels.forEach(e=>t.push(e));let i=[...this.value];0===i.length&&t.forEach(e=>{i=[...i,{level:e,value:""}]});let n=i.map(i=>i.level===e.target.name?{level:e.target.name,value:e.target.value}:t.indexOf(i.level)>t.indexOf(e.target.name)?{level:i.level,value:""}:i),r=!1;n.find(e=>""===e.value),this.value=n,this.dispatchEvent(new Event("change"))}validate(){if(this.required&&!this.locationListLoaded)return!1;let e=!1;return this.shadowRoot.querySelectorAll("select").forEach(t=>{t.value||(e=!0)}),this.required&&(!this.required||this.disabled||this.hidden||e)?(this.invalid=!0,!1):(this.invalid=!1,!0)}getSelectedLocation(){let e=!1;if(this.shadowRoot.querySelectorAll("select").forEach(t=>{t.value||(e=!0)}),e)return!1;let t=[...this.value],i=this.locationList.locations[t.shift().value];return t.forEach(e=>i=i.children[e.value]),i}}window.customElements.define(TangyLocation.is,TangyLocation)},function(e,t,i){(function(e,i){var n;!function(){var r="object"==typeof self&&self.self===self&&self||"object"==typeof e&&e.global===e&&e||this||{},a=r._,s=Array.prototype,o=Object.prototype,l="undefined"!=typeof Symbol?Symbol.prototype:null,c=s.push,h=s.slice,d=o.toString,u=o.hasOwnProperty,p=Array.isArray,m=Object.keys,g=Object.create,f=function(){},v=function(e){return e instanceof v?e:this instanceof v?void(this._wrapped=e):new v(e)};t.nodeType?r._=v:(!i.nodeType&&i.exports&&(t=i.exports=v),t._=v),v.VERSION="1.9.1";var b,_=function(e,t,i){if(void 0===t)return e;switch(null==i?3:i){case 1:return function(i){return e.call(t,i)};case 3:return function(i,n,r){return e.call(t,i,n,r)};case 4:return function(i,n,r,a){return e.call(t,i,n,r,a)}}return function(){return e.apply(t,arguments)}},y=function(e,t,i){return v.iteratee!==b?v.iteratee(e,t):null==e?v.identity:v.isFunction(e)?_(e,t,i):v.isObject(e)&&!v.isArray(e)?v.matcher(e):v.property(e)};v.iteratee=b=function(e,t){return y(e,t,1/0)};var w=function(e,t){return t=null==t?e.length-1:+t,function(){for(var i=Math.max(arguments.length-t,0),n=Array(i),r=0;r=0&&t<=S};v.each=v.forEach=function(e,t,i){var n,r;if(t=_(t,i),x(e))for(n=0,r=e.length;n0?0:s-1;for(r||(n=t[a?a[o]:o],o+=e);o>=0&&o=3;return t(e,_(i,r,4),n,a)}};v.reduce=v.foldl=v.inject=T(1),v.reduceRight=v.foldr=T(-1),v.find=v.detect=function(e,t,i){var n=(x(e)?v.findIndex:v.findKey)(e,t,i);if(void 0!==n&&-1!==n)return e[n]},v.filter=v.select=function(e,t,i){var n=[];return t=y(t,i),v.each(e,(function(e,i,r){t(e,i,r)&&n.push(e)})),n},v.reject=function(e,t,i){return v.filter(e,v.negate(y(t)),i)},v.every=v.all=function(e,t,i){t=y(t,i);for(var n=!x(e)&&v.keys(e),r=(n||e).length,a=0;a=0},v.invoke=w((function(e,t,i){var n,r;return v.isFunction(t)?r=t:v.isArray(t)&&(n=t.slice(0,-1),t=t[t.length-1]),v.map(e,(function(e){var a=r;if(!a){if(n&&n.length&&(e=E(e,n)),null==e)return;a=e[t]}return null==a?a:a.apply(e,i)}))})),v.pluck=function(e,t){return v.map(e,v.property(t))},v.where=function(e,t){return v.filter(e,v.matcher(t))},v.findWhere=function(e,t){return v.find(e,v.matcher(t))},v.max=function(e,t,i){var n,r,a=-1/0,s=-1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var o=0,l=(e=x(e)?e:v.values(e)).length;oa&&(a=n);else t=y(t,i),v.each(e,(function(e,i,n){((r=t(e,i,n))>s||r===-1/0&&a===-1/0)&&(a=e,s=r)}));return a},v.min=function(e,t,i){var n,r,a=1/0,s=1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var o=0,l=(e=x(e)?e:v.values(e)).length;on||void 0===i)return 1;if(i0?0:r-1;a>=0&&a0?s=a>=0?a:Math.max(a+o,s):o=a>=0?Math.min(a+1,o):a+o+1;else if(i&&a&&o)return n[a=i(n,r)]===r?a:-1;if(r!=r)return(a=t(h.call(n,s,o),v.isNaN))>=0?a+s:-1;for(a=e>0?s:o-1;a>=0&&at?(n&&(clearTimeout(n),n=null),o=c,s=e.apply(r,a),n||(r=a=null)):n||!1===i.trailing||(n=setTimeout(l,h)),s};return c.cancel=function(){clearTimeout(n),o=0,n=r=a=null},c},v.debounce=function(e,t,i){var n,r,a=function(t,i){n=null,i&&(r=e.apply(t,i))},s=w((function(s){if(n&&clearTimeout(n),i){var o=!n;n=setTimeout(a,t),o&&(r=e.apply(this,s))}else n=v.delay(a,t,this,s);return r}));return s.cancel=function(){clearTimeout(n),n=null},s},v.wrap=function(e,t){return v.partial(t,e)},v.negate=function(e){return function(){return!e.apply(this,arguments)}},v.compose=function(){var e=arguments,t=e.length-1;return function(){for(var i=t,n=e[t].apply(this,arguments);i--;)n=e[i].call(this,n);return n}},v.after=function(e,t){return function(){if(--e<1)return t.apply(this,arguments)}},v.before=function(e,t){var i;return function(){return--e>0&&(i=t.apply(this,arguments)),e<=1&&(t=null),i}},v.once=v.partial(v.before,2),v.restArguments=w;var D=!{toString:null}.propertyIsEnumerable("toString"),N=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],R=function(e,t){var i=N.length,n=e.constructor,r=v.isFunction(n)&&n.prototype||o,a="constructor";for(A(e,a)&&!v.contains(t,a)&&t.push(a);i--;)(a=N[i])in e&&e[a]!==r[a]&&!v.contains(t,a)&&t.push(a)};v.keys=function(e){if(!v.isObject(e))return[];if(m)return m(e);var t=[];for(var i in e)A(e,i)&&t.push(i);return D&&R(e,t),t},v.allKeys=function(e){if(!v.isObject(e))return[];var t=[];for(var i in e)t.push(i);return D&&R(e,t),t},v.values=function(e){for(var t=v.keys(e),i=t.length,n=Array(i),r=0;r1&&(n=_(n,t[1])),t=v.allKeys(e)):(n=j,t=O(t,!1,!1),e=Object(e));for(var r=0,a=t.length;r1&&(i=t[1])):(t=v.map(O(t,!1,!1),String),n=function(e,i){return!v.contains(t,i)}),v.pick(e,n,i)})),v.defaults=P(v.allKeys,!0),v.create=function(e,t){var i=C(e);return t&&v.extendOwn(i,t),i},v.clone=function(e){return v.isObject(e)?v.isArray(e)?e.slice():v.extend({},e):e},v.tap=function(e,t){return t(e),e},v.isMatch=function(e,t){var i=v.keys(t),n=i.length;if(null==e)return!n;for(var r=Object(e),a=0;a":">",'"':""","'":"'","`":"`"},$=v.invert(q),K=function(e){var t=function(t){return e[t]},i="(?:"+v.keys(e).join("|")+")",n=RegExp(i),r=RegExp(i,"g");return function(e){return e=null==e?"":""+e,n.test(e)?e.replace(r,t):e}};v.escape=K(q),v.unescape=K($),v.result=function(e,t,i){v.isArray(t)||(t=[t]);var n=t.length;if(!n)return v.isFunction(i)?i.call(e):i;for(var r=0;r/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var G=/(.)^/,Y={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},X=/\\|'|\r|\n|\u2028|\u2029/g,Z=function(e){return"\\"+Y[e]};v.template=function(e,t,i){!t&&i&&(t=i),t=v.defaults({},t,v.templateSettings);var n,r=RegExp([(t.escape||G).source,(t.interpolate||G).source,(t.evaluate||G).source].join("|")+"|$","g"),a=0,s="__p+='";e.replace(r,(function(t,i,n,r,o){return s+=e.slice(a,o).replace(X,Z),a=o+t.length,i?s+="'+\n((__t=("+i+"))==null?'':_.escape(__t))+\n'":n?s+="'+\n((__t=("+n+"))==null?'':__t)+\n'":r&&(s+="';\n"+r+"\n__p+='"),t})),s+="';\n",t.variable||(s="with(obj||{}){\n"+s+"}\n"),s="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+s+"return __p;\n";try{n=new Function(t.variable||"obj","_",s)}catch(e){throw e.source=s,e}var o=function(e){return n.call(this,e,v)},l=t.variable||"obj";return o.source="function("+l+"){\n"+s+"}",o},v.chain=function(e){var t=v(e);return t._chain=!0,t};var J=function(e,t){return e._chain?v(t).chain():t};v.mixin=function(e){return v.each(v.functions(e),(function(t){var i=v[t]=e[t];v.prototype[t]=function(){var e=[this._wrapped];return c.apply(e,arguments),J(this,i.apply(v,e))}})),v},v.mixin(v),v.each(["pop","push","reverse","shift","sort","splice","unshift"],(function(e){var t=s[e];v.prototype[e]=function(){var i=this._wrapped;return t.apply(i,arguments),"shift"!==e&&"splice"!==e||0!==i.length||delete i[0],J(this,i)}})),v.each(["concat","join","slice"],(function(e){var t=s[e];v.prototype[e]=function(){return J(this,t.apply(this._wrapped,arguments))}})),v.prototype.value=function(){return this._wrapped},v.prototype.valueOf=v.prototype.toJSON=v.prototype.value,v.prototype.toString=function(){return String(this._wrapped)},void 0===(n=function(){return v}.apply(t,[]))||(i.exports=n)}()}).call(this,i(84),i(85)(e))},function(e,t){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,i){"use strict";i.r(t);i(74);var n=i(0),r=(i(11),i(5),i(31),i(23),i(53)),a=i(7),s=i(3),o=i(32); +`}static get properties(){return{name:{type:String,value:"location"},hintText:{type:String,value:""},errorText:{type:String,value:""},warnText:{type:String,value:"",reflectToAttribute:!0},discrepancyText:{type:String,value:"",reflectToAttribute:!0},value:{type:Array,value:[],observer:"render"},required:{type:Boolean,value:!1,observer:"render"},invalid:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"render"},hasWarning:{type:Boolean,value:!1,observer:"render",reflectToAttribute:!0},hasDiscrepancy:{type:Boolean,value:!1,observer:"render",reflectToAttribute:!0},showMetaData:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"render"},locationSrc:{type:String,value:"./assets/location-list.json",observer:"render"},showLevels:{type:String,value:"",observer:"onShowLevelsChange"},hidden:{type:Boolean,reflectToAttribute:!0,value:!1},disabled:{type:Boolean,value:!1,observer:"render"},filterBy:{type:String,value:"",observer:"render"},filterByGlobal:{type:Boolean,value:!1,observer:"render"}}}get locationList(){return this._locationList&&this.filterBy&&this.filterBy.length>0?_util_loc_js__WEBPACK_IMPORTED_MODULE_2__.a.filterById(this._locationList,this.filterBy.split(",")):this._locationList?this._locationList:void 0}set locationList(e){this._locationList=e,this._flatLocationList=_util_loc_js__WEBPACK_IMPORTED_MODULE_2__.a.flatten(e)}async connectedCallback(){super.connectedCallback(),this._template=this.innerHTML,this.filterByGlobal&&(this.filterBy=window.tangyLocationFilterBy),this.shadowRoot.addEventListener("change",this.onSelectionChange.bind(this));let e=this;const t=new XMLHttpRequest;t.onreadystatechange=function(){try{e.locationList=JSON.parse(this.responseText),e.render(),e.locationListLoaded=!0,e.dispatchEvent(new CustomEvent("location-list-loaded"))}catch(e){}},t.open("GET",this.locationSrc),t.send(),this.shadowRoot.querySelector("#label").innerHTML=this.hasAttribute("label")?this.getAttribute("label"):""}onShowLevelsChange(e,t){void 0!==t&&(this.value=[])}render(){if(!this.locationList)return this.$.container.innerHTML=Object(_util_t_js__WEBPACK_IMPORTED_MODULE_1__.a)("loading");let levels=[];""!==this.showLevels?this.showLevels.split(",").forEach(e=>levels.push(e)):this.locationList.locationsLevels.forEach(e=>levels.push(e));let selections=[...this.value];0===selections.length&&levels.forEach(e=>{selections=[...selections,{level:e,value:""}]});let options=this.calculateLevelOptions(selections,levels);this.$.container.innerHTML=`\n\n
\n
${this.hasAttribute("question-number")?``:""}
\n
\n \n ${selections.map((selection,i)=>`\n \n
\n \n
\n \n
\n ${this.showMetaData&&selection.value?`\n
\n ${[this._flatLocationList.locations.find(e=>e.id===selection.value)].map(node=>this._template?eval(`\`${this._template}\``):Object.keys(node).map(e=>"parent"!==e&&"children"!==e?`${e}: ${node[e]}
`:"").join("")).join("")}\n
\n `:""}\n
\n
\n\n `).join("")}\n ${this.hintText?``:""}\n
\n ${this.invalid?`
${this.hasAttribute("error-text")?this.getAttribute("error-text"):""}
`:""}\n
\n
\n ${this.hasWarning?`
${this.hasAttribute("warn-text")?this.getAttribute("warn-text"):""}
`:""}\n
\n
\n ${this.hasDiscrepancy?`
${this.hasAttribute("discrepancy-text")?this.getAttribute("discrepancy-text"):""}
`:""}\n
\n
\n
\n `}calculateLevelOptions(e,t){let i={},n={},r="",a=e.find(e=>""===e.value);return r=a?a.level:"",e.forEach((t,i)=>{if(""===t.value&&t.level!==r)return;let a=e.slice(0,i),s=a.map(e=>e.level),o={};a.forEach(e=>o[e.level]=e.value),n[t.level]={levels:s,criteria:o}}),e.forEach(e=>{if(n[e.level]){let r=n[e.level];_util_loc_js__WEBPACK_IMPORTED_MODULE_2__.a.query(t,r.criteria,this.locationList,t=>{i[e.level]=t})}else i[e.level]=[]}),i}onSelectionChange(e){let t=[];""!==this.showLevels?this.showLevels.split(",").forEach(e=>t.push(e)):this.locationList.locationsLevels.forEach(e=>t.push(e));let i=[...this.value];0===i.length&&t.forEach(e=>{i=[...i,{level:e,value:""}]});let n=i.map(i=>i.level===e.target.name?{level:e.target.name,value:e.target.value}:t.indexOf(i.level)>t.indexOf(e.target.name)?{level:i.level,value:""}:i),r=!1;n.find(e=>""===e.value),this.value=n,this.dispatchEvent(new Event("change"))}validate(){if(this.required&&!this.locationListLoaded)return!1;let e=!1;return this.shadowRoot.querySelectorAll("select").forEach(t=>{t.value||(e=!0)}),this.required&&(!this.required||this.disabled||this.hidden||e)?(this.invalid=!0,!1):(this.invalid=!1,!0)}getSelectedLocation(){let e=!1;if(this.shadowRoot.querySelectorAll("select").forEach(t=>{t.value||(e=!0)}),e)return!1;let t=[...this.value],i=this.locationList.locations[t.shift().value];return t.forEach(e=>i=i.children[e.value]),i}}window.customElements.define(TangyLocation.is,TangyLocation)},function(e,t,i){(function(e,i){var n;!function(){var r="object"==typeof self&&self.self===self&&self||"object"==typeof e&&e.global===e&&e||this||{},a=r._,s=Array.prototype,o=Object.prototype,l="undefined"!=typeof Symbol?Symbol.prototype:null,c=s.push,h=s.slice,d=o.toString,u=o.hasOwnProperty,p=Array.isArray,m=Object.keys,g=Object.create,f=function(){},v=function(e){return e instanceof v?e:this instanceof v?void(this._wrapped=e):new v(e)};t.nodeType?r._=v:(!i.nodeType&&i.exports&&(t=i.exports=v),t._=v),v.VERSION="1.9.1";var b,_=function(e,t,i){if(void 0===t)return e;switch(null==i?3:i){case 1:return function(i){return e.call(t,i)};case 3:return function(i,n,r){return e.call(t,i,n,r)};case 4:return function(i,n,r,a){return e.call(t,i,n,r,a)}}return function(){return e.apply(t,arguments)}},y=function(e,t,i){return v.iteratee!==b?v.iteratee(e,t):null==e?v.identity:v.isFunction(e)?_(e,t,i):v.isObject(e)&&!v.isArray(e)?v.matcher(e):v.property(e)};v.iteratee=b=function(e,t){return y(e,t,1/0)};var w=function(e,t){return t=null==t?e.length-1:+t,function(){for(var i=Math.max(arguments.length-t,0),n=Array(i),r=0;r=0&&t<=E};v.each=v.forEach=function(e,t,i){var n,r;if(t=_(t,i),x(e))for(n=0,r=e.length;n0?0:s-1;for(r||(n=t[a?a[o]:o],o+=e);o>=0&&o=3;return t(e,_(i,r,4),n,a)}};v.reduce=v.foldl=v.inject=T(1),v.reduceRight=v.foldr=T(-1),v.find=v.detect=function(e,t,i){var n=(x(e)?v.findIndex:v.findKey)(e,t,i);if(void 0!==n&&-1!==n)return e[n]},v.filter=v.select=function(e,t,i){var n=[];return t=y(t,i),v.each(e,(function(e,i,r){t(e,i,r)&&n.push(e)})),n},v.reject=function(e,t,i){return v.filter(e,v.negate(y(t)),i)},v.every=v.all=function(e,t,i){t=y(t,i);for(var n=!x(e)&&v.keys(e),r=(n||e).length,a=0;a=0},v.invoke=w((function(e,t,i){var n,r;return v.isFunction(t)?r=t:v.isArray(t)&&(n=t.slice(0,-1),t=t[t.length-1]),v.map(e,(function(e){var a=r;if(!a){if(n&&n.length&&(e=S(e,n)),null==e)return;a=e[t]}return null==a?a:a.apply(e,i)}))})),v.pluck=function(e,t){return v.map(e,v.property(t))},v.where=function(e,t){return v.filter(e,v.matcher(t))},v.findWhere=function(e,t){return v.find(e,v.matcher(t))},v.max=function(e,t,i){var n,r,a=-1/0,s=-1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var o=0,l=(e=x(e)?e:v.values(e)).length;oa&&(a=n);else t=y(t,i),v.each(e,(function(e,i,n){((r=t(e,i,n))>s||r===-1/0&&a===-1/0)&&(a=e,s=r)}));return a},v.min=function(e,t,i){var n,r,a=1/0,s=1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var o=0,l=(e=x(e)?e:v.values(e)).length;on||void 0===i)return 1;if(i0?0:r-1;a>=0&&a0?s=a>=0?a:Math.max(a+o,s):o=a>=0?Math.min(a+1,o):a+o+1;else if(i&&a&&o)return n[a=i(n,r)]===r?a:-1;if(r!=r)return(a=t(h.call(n,s,o),v.isNaN))>=0?a+s:-1;for(a=e>0?s:o-1;a>=0&&at?(n&&(clearTimeout(n),n=null),o=c,s=e.apply(r,a),n||(r=a=null)):n||!1===i.trailing||(n=setTimeout(l,h)),s};return c.cancel=function(){clearTimeout(n),o=0,n=r=a=null},c},v.debounce=function(e,t,i){var n,r,a=function(t,i){n=null,i&&(r=e.apply(t,i))},s=w((function(s){if(n&&clearTimeout(n),i){var o=!n;n=setTimeout(a,t),o&&(r=e.apply(this,s))}else n=v.delay(a,t,this,s);return r}));return s.cancel=function(){clearTimeout(n),n=null},s},v.wrap=function(e,t){return v.partial(t,e)},v.negate=function(e){return function(){return!e.apply(this,arguments)}},v.compose=function(){var e=arguments,t=e.length-1;return function(){for(var i=t,n=e[t].apply(this,arguments);i--;)n=e[i].call(this,n);return n}},v.after=function(e,t){return function(){if(--e<1)return t.apply(this,arguments)}},v.before=function(e,t){var i;return function(){return--e>0&&(i=t.apply(this,arguments)),e<=1&&(t=null),i}},v.once=v.partial(v.before,2),v.restArguments=w;var V=!{toString:null}.propertyIsEnumerable("toString"),N=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],R=function(e,t){var i=N.length,n=e.constructor,r=v.isFunction(n)&&n.prototype||o,a="constructor";for(z(e,a)&&!v.contains(t,a)&&t.push(a);i--;)(a=N[i])in e&&e[a]!==r[a]&&!v.contains(t,a)&&t.push(a)};v.keys=function(e){if(!v.isObject(e))return[];if(m)return m(e);var t=[];for(var i in e)z(e,i)&&t.push(i);return V&&R(e,t),t},v.allKeys=function(e){if(!v.isObject(e))return[];var t=[];for(var i in e)t.push(i);return V&&R(e,t),t},v.values=function(e){for(var t=v.keys(e),i=t.length,n=Array(i),r=0;r1&&(n=_(n,t[1])),t=v.allKeys(e)):(n=j,t=O(t,!1,!1),e=Object(e));for(var r=0,a=t.length;r1&&(i=t[1])):(t=v.map(O(t,!1,!1),String),n=function(e,i){return!v.contains(t,i)}),v.pick(e,n,i)})),v.defaults=P(v.allKeys,!0),v.create=function(e,t){var i=C(e);return t&&v.extendOwn(i,t),i},v.clone=function(e){return v.isObject(e)?v.isArray(e)?e.slice():v.extend({},e):e},v.tap=function(e,t){return t(e),e},v.isMatch=function(e,t){var i=v.keys(t),n=i.length;if(null==e)return!n;for(var r=Object(e),a=0;a":">",'"':""","'":"'","`":"`"},$=v.invert(U),K=function(e){var t=function(t){return e[t]},i="(?:"+v.keys(e).join("|")+")",n=RegExp(i),r=RegExp(i,"g");return function(e){return e=null==e?"":""+e,n.test(e)?e.replace(r,t):e}};v.escape=K(U),v.unescape=K($),v.result=function(e,t,i){v.isArray(t)||(t=[t]);var n=t.length;if(!n)return v.isFunction(i)?i.call(e):i;for(var r=0;r/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var G=/(.)^/,Y={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},X=/\\|'|\r|\n|\u2028|\u2029/g,J=function(e){return"\\"+Y[e]};v.template=function(e,t,i){!t&&i&&(t=i),t=v.defaults({},t,v.templateSettings);var n,r=RegExp([(t.escape||G).source,(t.interpolate||G).source,(t.evaluate||G).source].join("|")+"|$","g"),a=0,s="__p+='";e.replace(r,(function(t,i,n,r,o){return s+=e.slice(a,o).replace(X,J),a=o+t.length,i?s+="'+\n((__t=("+i+"))==null?'':_.escape(__t))+\n'":n?s+="'+\n((__t=("+n+"))==null?'':__t)+\n'":r&&(s+="';\n"+r+"\n__p+='"),t})),s+="';\n",t.variable||(s="with(obj||{}){\n"+s+"}\n"),s="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+s+"return __p;\n";try{n=new Function(t.variable||"obj","_",s)}catch(e){throw e.source=s,e}var o=function(e){return n.call(this,e,v)},l=t.variable||"obj";return o.source="function("+l+"){\n"+s+"}",o},v.chain=function(e){var t=v(e);return t._chain=!0,t};var Z=function(e,t){return e._chain?v(t).chain():t};v.mixin=function(e){return v.each(v.functions(e),(function(t){var i=v[t]=e[t];v.prototype[t]=function(){var e=[this._wrapped];return c.apply(e,arguments),Z(this,i.apply(v,e))}})),v},v.mixin(v),v.each(["pop","push","reverse","shift","sort","splice","unshift"],(function(e){var t=s[e];v.prototype[e]=function(){var i=this._wrapped;return t.apply(i,arguments),"shift"!==e&&"splice"!==e||0!==i.length||delete i[0],Z(this,i)}})),v.each(["concat","join","slice"],(function(e){var t=s[e];v.prototype[e]=function(){return Z(this,t.apply(this._wrapped,arguments))}})),v.prototype.value=function(){return this._wrapped},v.prototype.valueOf=v.prototype.toJSON=v.prototype.value,v.prototype.toString=function(){return String(this._wrapped)},void 0===(n=function(){return v}.apply(t,[]))||(i.exports=n)}()}).call(this,i(84),i(85)(e))},function(e,t){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,i){"use strict";i.r(t);i(74);var n=i(0),r=(i(11),i(5),i(31),i(23),i(53)),a=i(7),s=i(3),o=i(32); /** @license Copyright (c) 2015 The Polymer Project Authors. All rights reserved. @@ -4629,8 +4629,10 @@ Object(a.a)({_template:s.a`
- - `}static get is(){return"tangy-input"}static get properties(){return{name:{type:String,value:""},private:{type:Boolean,value:!1},label:{type:String,observer:"reflect",value:""},innerLabel:{type:String,observer:"reflect",value:""},placeholder:{type:String,observer:"reflect",value:""},hintText:{type:String,observer:"reflect",value:""},type:{type:String,observer:"reflect",value:""},required:{type:Boolean,value:!1,observer:"reflect",reflectToAttribute:!0},disabled:{type:Boolean,value:!1,observer:"reflect",reflectToAttribute:!0},hidden:{type:Boolean,value:!1,reflectToAttribute:!0},invalid:{type:Boolean,value:!1,observer:"onInvalidChange",reflectToAttribute:!0},incomplete:{type:Boolean,value:!0,reflectToAttribute:!0},value:{type:String,value:"",observer:"reflect",reflectToAttribute:!0},min:{type:String,value:"",observer:"reflect",reflectToAttribute:!0},max:{type:String,value:"",observer:"reflect",reflectToAttribute:!0},questionNumber:{type:String,value:"",observer:"reflect",reflectToAttribute:!0},errorText:{type:String,value:"",observer:"reflect",reflectToAttribute:!0},allowedPattern:{type:String,value:"",observer:"reflect",reflectToAttribute:!0},errorMessage:{type:String,observer:"reflect",value:""}}}connectedCallback(){super.connectedCallback(),this.$.container.innerHTML=` \n \n \n ${"email"===this.getAttribute("type")||"number"===this.getAttribute("type")||"date"===this.getAttribute("type")||"time"===this.getAttribute("type")||this.getAttribute("allowed-pattern")?'':''}\n
\n \n `,this.shadowRoot.querySelector("#input").addEventListener("value-changed",e=>{if(this.justReflectedValue)return void(this.justReflectedValue=!1);this.value=e.target.value;let t=""===e.target.value;this.dispatchEvent(new Event("change",{detail:{inputName:this.name,inputValue:e.target.value,inputIncomplete:t,inputInvalid:!this.shadowRoot.querySelector("#input").validate()},bubbles:!0}))}),this.ready=!0,this.reflect()}reflect(){if(!this.ready)return;if(!this.shadowRoot.querySelector("#input"))return;this.hasAttribute("disabled")&&this.hasAttribute("invalid")&&(this.removeAttribute("invalid"),this.shadowRoot.querySelector("#input").removeAttribute("invalid")),this.$["qnum-number"].innerHTML=``,this.shadowRoot.querySelector("#hintText").innerHTML=this.hintText,this.shadowRoot.querySelector("#label").innerHTML=this.label,this.shadowRoot.querySelector("#input").placeholder=f(this.placeholder),this.shadowRoot.querySelector("#input").label=""===this.innerLabel?Object(h.a)("Enter your response to above question here"):f(this.innerLabel),this.shadowRoot.querySelector("#input").errorMessage=f(this.errorMessage),this.shadowRoot.querySelector("#input").allowedPattern=this.allowedPattern,this.shadowRoot.querySelector("#input").setAttribute("type",this.type?this.type:"text"),(this.value?this.value:"")===(this.shadowRoot.querySelector("#input").value?this.shadowRoot.querySelector("#input").value:"")&&void 0!==this.shadowRoot.querySelector("#input").value||(this.justReflectedValue=!0,this.shadowRoot.querySelector("#input").value=this.value),this.shadowRoot.querySelector("#input").setAttribute("min",this.min),this.shadowRoot.querySelector("#input").setAttribute("max",this.max),!1===this.required?this.shadowRoot.querySelector("#input").removeAttribute("required"):this.shadowRoot.querySelector("#input").setAttribute("required",!0),!1===this.disabled?this.shadowRoot.querySelector("#input").removeAttribute("disabled"):this.shadowRoot.querySelector("#input").setAttribute("disabled",!0)}onInvalidChange(e){this.shadowRoot.querySelector("#error-text")&&(this.shadowRoot.querySelector("#error-text").innerHTML=this.invalid?`
${this.hasAttribute("error-text")?this.getAttribute("error-text"):""}
`:"")}validate(){return this.hasAttribute("disabled")||this.hasAttribute("hidden")?(this.removeAttribute("invalid"),!0):this.shadowRoot.querySelector("#input").validate()?(this.removeAttribute("invalid"),!0):(this.setAttribute("invalid",""),!1)}}window.customElements.define(v.is,v);i(45),i(58),i(17),i(40); +
+
+
+ `}static get is(){return"tangy-input"}static get properties(){return{name:{type:String,value:""},private:{type:Boolean,value:!1},label:{type:String,observer:"reflect",value:""},innerLabel:{type:String,observer:"reflect",value:""},placeholder:{type:String,observer:"reflect",value:""},hintText:{type:String,observer:"reflect",value:""},type:{type:String,observer:"reflect",value:""},required:{type:Boolean,value:!1,observer:"reflect",reflectToAttribute:!0},disabled:{type:Boolean,value:!1,observer:"reflect",reflectToAttribute:!0},hidden:{type:Boolean,value:!1,reflectToAttribute:!0},invalid:{type:Boolean,value:!1,observer:"onInvalidChange",reflectToAttribute:!0},hasWarning:{type:Boolean,value:!1,observer:"onWarnChange",reflectToAttribute:!0},hasDiscrepancy:{type:Boolean,value:!1,observer:"onDiscrepancyChange",reflectToAttribute:!0},incomplete:{type:Boolean,value:!0,reflectToAttribute:!0},value:{type:String,value:"",observer:"reflect",reflectToAttribute:!0},min:{type:String,value:"",observer:"reflect",reflectToAttribute:!0},max:{type:String,value:"",observer:"reflect",reflectToAttribute:!0},questionNumber:{type:String,value:"",observer:"reflect",reflectToAttribute:!0},errorText:{type:String,value:"",observer:"reflect",reflectToAttribute:!0},allowedPattern:{type:String,value:"",observer:"reflect",reflectToAttribute:!0},errorMessage:{type:String,observer:"reflect",value:""},warnText:{type:String,value:"",reflectToAttribute:!0},discrepancyText:{type:String,value:"",reflectToAttribute:!0}}}connectedCallback(){super.connectedCallback(),this.$.container.innerHTML=` \n \n \n ${"email"===this.getAttribute("type")||"number"===this.getAttribute("type")||"date"===this.getAttribute("type")||"time"===this.getAttribute("type")||this.getAttribute("allowed-pattern")?'':''}\n `,this.shadowRoot.querySelector("#input").addEventListener("value-changed",e=>{if(this.justReflectedValue)return void(this.justReflectedValue=!1);this.value=e.target.value;let t=""===e.target.value;this.dispatchEvent(new Event("change",{detail:{inputName:this.name,inputValue:e.target.value,inputIncomplete:t,inputInvalid:!this.shadowRoot.querySelector("#input").validate()},bubbles:!0}))}),this.ready=!0,this.reflect()}reflect(){if(!this.ready)return;if(!this.shadowRoot.querySelector("#input"))return;this.hasAttribute("disabled")&&this.hasAttribute("invalid")&&(this.removeAttribute("invalid"),this.shadowRoot.querySelector("#input").removeAttribute("invalid")),this.$["qnum-number"].innerHTML=``,this.shadowRoot.querySelector("#hintText").innerHTML=this.hintText,this.shadowRoot.querySelector("#label").innerHTML=this.label,this.shadowRoot.querySelector("#input").placeholder=f(this.placeholder),this.shadowRoot.querySelector("#input").label=""===this.innerLabel?Object(h.a)("Enter your response to above question here"):f(this.innerLabel),this.shadowRoot.querySelector("#input").errorMessage=f(this.errorMessage),this.shadowRoot.querySelector("#input").allowedPattern=this.allowedPattern,this.shadowRoot.querySelector("#input").setAttribute("type",this.type?this.type:"text"),(this.value?this.value:"")===(this.shadowRoot.querySelector("#input").value?this.shadowRoot.querySelector("#input").value:"")&&void 0!==this.shadowRoot.querySelector("#input").value||(this.justReflectedValue=!0,this.shadowRoot.querySelector("#input").value=this.value),this.shadowRoot.querySelector("#input").setAttribute("min",this.min),this.shadowRoot.querySelector("#input").setAttribute("max",this.max),!1===this.required?this.shadowRoot.querySelector("#input").removeAttribute("required"):this.shadowRoot.querySelector("#input").setAttribute("required",!0),!1===this.disabled?this.shadowRoot.querySelector("#input").removeAttribute("disabled"):this.shadowRoot.querySelector("#input").setAttribute("disabled",!0)}onInvalidChange(e){this.shadowRoot.querySelector("#error-text")&&(this.shadowRoot.querySelector("#error-text").innerHTML=this.invalid?`
${this.hasAttribute("error-text")?this.getAttribute("error-text"):""}
`:"")}onDiscrepancyChange(e){this.shadowRoot.querySelector("#discrepancy-text")&&(this.shadowRoot.querySelector("#discrepancy-text").innerHTML=this.hasDiscrepancy?`
${this.hasAttribute("discrepancy-text")?this.getAttribute("discrepancy-text"):""}
`:"")}onWarnChange(e){this.shadowRoot.querySelector("#warn-text")&&(this.shadowRoot.querySelector("#warn-text").innerHTML=this.hasWarning?`
${this.hasAttribute("warn-text")?this.getAttribute("warn-text"):""}
`:"")}validate(){return this.hasAttribute("disabled")||this.hasAttribute("hidden")?(this.removeAttribute("invalid"),!0):this.shadowRoot.querySelector("#input").validate()?(this.removeAttribute("invalid"),!0):(this.setAttribute("invalid",""),!1)}}window.customElements.define(v.is,v);i(45),i(58),i(17),i(40); /** @license Copyright (c) 2014 The Polymer Project Authors. All rights reserved. @@ -4867,7 +4869,7 @@ const _=s.a` - `}static get is(){return"tangy-toggle-button"}static get properties(){return{name:{type:String,value:"",reflectToAttribute:!0},value:{type:String,value:"",reflectToAttribute:!0,observer:"onValueChange"},disabled:{type:Boolean,value:!1,reflectToAttribute:!0},highlighted:{type:Boolean,value:!1,reflectToAttribute:!0},captured:{type:Boolean,value:!1,reflectToAttribute:!0},pressed:{type:Boolean,value:!1,reflectToAttribute:!0}}}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this.togglePressed.bind(this))}togglePressed(){this.disabled||(""==this.value?this.value="on":this.value="")}onValueChange(e,t){this.pressed=""!=e}}window.customElements.define(y.is,y);const w="TANGY_TIMED_MODE_UNTOUCHED",C="TANGY_TIMED_MODE_RUN",z="TANGY_TIMED_MODE_MARK",A="TANGY_TIMED_MODE_LAST_ATTEMPTED",E="TANGY_TIMED_MODE_DONE",S="TANGY_TIMED_MODE_DISABLED",M="TANGY_TIMED_CAPTURE_ITEM_AT";class x extends n.a{constructor(){super(),this.t={mark:Object(h.a)("MARK"),lastAttempted:Object(h.a)("LAST ATTEMPTED"),start:Object(h.a)("START"),stop:Object(h.a)("STOP"),reset:Object(h.a)("RESET")}}static get template(){return n.b` + `}static get is(){return"tangy-toggle-button"}static get properties(){return{name:{type:String,value:"",reflectToAttribute:!0},value:{type:String,value:"",reflectToAttribute:!0,observer:"onValueChange"},disabled:{type:Boolean,value:!1,reflectToAttribute:!0},highlighted:{type:Boolean,value:!1,reflectToAttribute:!0},captured:{type:Boolean,value:!1,reflectToAttribute:!0},pressed:{type:Boolean,value:!1,reflectToAttribute:!0}}}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this.togglePressed.bind(this))}togglePressed(){this.disabled||(""==this.value?this.value="on":this.value="")}onValueChange(e,t){this.pressed=""!=e}}window.customElements.define(y.is,y);const w="TANGY_TIMED_MODE_UNTOUCHED",C="TANGY_TIMED_MODE_RUN",A="TANGY_TIMED_MODE_MARK",z="TANGY_TIMED_MODE_LAST_ATTEMPTED",S="TANGY_TIMED_MODE_DONE",E="TANGY_TIMED_MODE_DISABLED",M="TANGY_TIMED_CAPTURE_ITEM_AT";class x extends n.a{constructor(){super(),this.t={mark:Object(h.a)("MARK"),lastAttempted:Object(h.a)("LAST ATTEMPTED"),start:Object(h.a)("START"),stop:Object(h.a)("STOP"),reset:Object(h.a)("RESET")}}static get template(){return n.b` @@ -5305,7 +5314,7 @@ const _=s.a`
- `}static get is(){return"tangy-select"}static get properties(){return{name:{type:String,value:""},value:{type:String,value:"",reflectToAttribute:!0},hintText:{type:String,value:"",reflectToAttribute:!0},required:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1,reflectToAttribute:!0},label:{type:String,value:"",reflectToAttribute:!0},optionSelectLabel:{type:String,value:Object(h.a)("----"),reflectToAttribute:!0},secondaryLabel:{type:String,value:"",reflectToAttribute:!0},hidden:{type:Boolean,value:!1},invalid:{type:Boolean,observer:"onInvalidChange",value:!1,reflectToAttribute:!0},incomplete:{type:Boolean,value:!0},questionNumber:{type:String,value:"",reflectToAttribute:!0},errorText:{type:String,value:"",observer:"onInvalidChange",reflectToAttribute:!0}}}connectedCallback(){super.connectedCallback(),new MutationObserver(this.render.bind(this)).observe(this,{attributes:!0,childList:!0,subtree:!0}),this.render()}render(){this.$["qnum-number"].innerHTML=``,this.$.container.innerHTML="";let e=[];this.querySelectorAll("option").forEach(t=>e.push(t)),this.optionSelectLabel=""===this.secondaryLabel?this.optionSelectLabel:this.secondaryLabel,this.$.container.innerHTML=`\n \n \n
\n \n
\n
\n \n `,this._onChangeListener=this.shadowRoot.querySelector("select").addEventListener("change",this.onChange.bind(this)),this.dispatchEvent(new CustomEvent("render"))}onInvalidChange(e){this.shadowRoot.querySelector("#error-text")&&(this.shadowRoot.querySelector("#error-text").innerHTML=this.invalid?`
${this.hasAttribute("error-text")?this.getAttribute("error-text"):""}
`:"")}onChange(e){this.value=e.target.value,this.dispatchEvent(new CustomEvent("change"))}validate(){return!this.required||this.hidden||this.disabled||this.value?(this.invalid=!1,!0):(this.invalid=!0,!1)}}window.customElements.define(F.is,F);i(82);class j extends n.a{static get is(){return"tangy-gps"}constructor(){super(),this.t={searching:Object(h.a)("Searching"),latitude:Object(h.a)("Latitude"),longitude:Object(h.a)("Longitude"),accuracy:Object(h.a)("Accuracy"),accuracyLevel:Object(h.a)("Accuracy Level"),distanceFromReference:Object(h.a)("Distance from reference")}}static get template(){return n.b` + `}static get is(){return"tangy-select"}static get properties(){return{name:{type:String,value:""},value:{type:String,value:"",reflectToAttribute:!0},hintText:{type:String,value:"",reflectToAttribute:!0},required:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1,reflectToAttribute:!0},hasWarning:{type:Boolean,value:!1,observer:"onWarnChange",reflectToAttribute:!0},hasDiscrepancy:{type:Boolean,value:!1,observer:"onDiscrepancyChange",reflectToAttribute:!0},label:{type:String,value:"",reflectToAttribute:!0},optionSelectLabel:{type:String,value:Object(h.a)("----"),reflectToAttribute:!0},secondaryLabel:{type:String,value:"",reflectToAttribute:!0},hidden:{type:Boolean,value:!1},invalid:{type:Boolean,observer:"onInvalidChange",value:!1,reflectToAttribute:!0},incomplete:{type:Boolean,value:!0},questionNumber:{type:String,value:"",reflectToAttribute:!0},errorText:{type:String,value:"",observer:"onInvalidChange",reflectToAttribute:!0},warnText:{type:String,value:"",reflectToAttribute:!0},discrepancyText:{type:String,value:"",reflectToAttribute:!0}}}connectedCallback(){super.connectedCallback(),new MutationObserver(this.render.bind(this)).observe(this,{attributes:!0,childList:!0,subtree:!0}),this.render()}render(){this.$["qnum-number"].innerHTML=``,this.$.container.innerHTML="";let e=[];this.querySelectorAll("option").forEach(t=>e.push(t)),this.optionSelectLabel=""===this.secondaryLabel?this.optionSelectLabel:this.secondaryLabel,this.$.container.innerHTML=`\n \n \n
\n \n
\n
\n \n
\n ${this.hasWarning?`
${this.hasAttribute("warn-text")?this.getAttribute("warn-text"):""}
`:""}\n
\n
\n ${this.hasDiscrepancy?`
${this.hasAttribute("discrepancy-text")?this.getAttribute("discrepancy-text"):""}
`:""}\n
\n `,this._onChangeListener=this.shadowRoot.querySelector("select").addEventListener("change",this.onChange.bind(this)),this.dispatchEvent(new CustomEvent("render"))}onInvalidChange(e){this.shadowRoot.querySelector("#error-text")&&(this.shadowRoot.querySelector("#error-text").innerHTML=this.invalid?`
${this.hasAttribute("error-text")?this.getAttribute("error-text"):""}
`:"")}onChange(e){this.value=e.target.value,this.dispatchEvent(new CustomEvent("change"))}validate(){return!this.required||this.hidden||this.disabled||this.value?(this.invalid=!1,!0):(this.invalid=!0,!1)}}window.customElements.define(F.is,F);i(82);class j extends n.a{static get is(){return"tangy-gps"}constructor(){super(),this.t={searching:Object(h.a)("Searching"),latitude:Object(h.a)("Latitude"),longitude:Object(h.a)("Longitude"),accuracy:Object(h.a)("Accuracy"),accuracyLevel:Object(h.a)("Accuracy Level"),distanceFromReference:Object(h.a)("Distance from reference")}}static get template(){return n.b` @@ -5435,7 +5446,7 @@ const _=s.a` - `}static get is(){return"tangy-acasi"}static get properties(){return{name:{type:String,value:""},introSrc:{type:String,value:"./assets/sounds/1.mp3"},transitionSrc:{type:String,value:"./assets/sounds/swish.mp3"},touchSrc:{type:String,value:"./assets/sounds/pop.mp3"},touchSources:{type:Array},images:{type:String,value:"./assets/images/never.png,./assets/images/once.png,./assets/images/few.png,./assets/images/many.png"},onChange:{type:String,value:"",reflectToAttribute:!0},value:{type:String,value:"",reflectToAttribute:!0,observer:"onValueChange"},required:{type:Boolean,value:!1,reflectToAttribute:!0},disabled:{type:Boolean,value:!1,observer:"onDisabledChange",reflectToAttribute:!0},label:{type:String,value:"",reflectToAttribute:!0},hidden:{type:Boolean,value:!1,observer:"onHiddenChange",reflectToAttribute:!0},invalid:{type:Boolean,value:!1,reflectToAttribute:!0},incomplete:{type:Boolean,value:!0,reflectToAttribute:!0}}}connectedCallback(){super.connectedCallback(),this.isReady=!1,this.renderOptions()}renderOptions(){let e=this.shadowRoot.querySelector("paper-radio-group");e.addEventListener("change",this.onPaperRadioGroupChange.bind(this),!1);let t=this.getAttribute("images").split(",");for(let i of t){let t=document.createElement("paper-radio-button"),n=i.split("/"),r=n[n.length-1].replace(".png","");t.name=r,this.disabled&&t.setAttribute("disabled",!0);let a=document.createElement("img");a.src=i,a.className="acasi-image",t.innerHTML=a.outerHTML,e.appendChild(t)}e.selected=this.value,this.required&&(e.required=!0),this.isReady=!0,this.imgElements=Array.prototype.slice.call(this.shadowRoot.querySelectorAll("img"));for(let e=0,t=this.imgElements.length;e1){let i=this.touchSources[e];t.dataTouchSrc=i}else t.dataTouchSrc=this.touchSrc}}ready(){super.ready();this.getAttribute("introSrc")?this.introSound=new Audio(this.getAttribute("introSrc")):this.introSound=new Audio("./assets/sounds/swish.mp3"),this.introSound.load(),setTimeout(()=>this.introSound.play(),0),this.getAttribute("touchsrc")&&(this.touchSources=this.getAttribute("touchsrc").split(","),1==this.touchSources.length&&(this.touchSound=new Audio(this.touchSources[0]),this.touchSound.load())),setTimeout(()=>this._prepareForm(),200)}_prepareForm(){Array.prototype.slice.call(this.shadowRoot.querySelectorAll("paper-radio-button")).forEach(e=>{e.$.radioContainer.style="display:none"});let e=e=>{this.imgElements=Array.prototype.slice.call(this.shadowRoot.querySelectorAll("img"));for(let e=0,t=this.imgElements.length;e1){let e=new Audio(t.dataTouchSrc);e.load(),e.play()}else this.touchSound.play()};this.imgElements.forEach(t=>{t.addEventListener("click",e)})}onPaperRadioGroupChange(e){if(e.stopPropagation(),!this.isReady)return;let t=[];this.shadowRoot.querySelectorAll("paper-radio-button").forEach(e=>t.push(e.getProps())),this.value=e.target.name,this.dispatchEvent(new CustomEvent("change"))}onValueChange(e){this.isReady&&(this.$["paper-radio-group"].selected=e)}onDisabledChange(e){let t=this.shadowRoot.querySelectorAll("paper-radio-button");1==e&&t.forEach(e=>e.setAttribute("disabled",!0)),0==e&&t.forEach(e=>e.removeAttribute("disabled"))}onHiddenChange(e){}replay(){console.log("Replay"),this.introSound=new Audio(this.getAttribute("introSrc")),this.introSound.play()}validate(){return this.required&&""===this.value?(this.invalid=!0,!1):(this.invalid=!1,!0)}}window.customElements.define(U.is,U);class q extends n.a{static get is(){return"tangy-eftouch"}static get properties(){return{fromTopOfScreen:{type:Number,value:115,reflectToAttribute:!0,observer:"render"},height:{type:Number,value:400,reflectToAttribute:!0,observer:"render"},hintText:{type:String,value:"",reflectToAttribute:!0},errorMessage:{type:String,value:"",reflectToAttribute:!0},width:{type:Number,reflectToAttribute:!0,observer:"render"},goNextOnTimeLimit:{type:Boolean,value:!1,reflectToAttribute:!0},correct:{type:Boolean,value:!1,reflectToAttribute:!0},incorrect:{type:Boolean,value:!1,reflectToAttribute:!0},transitionMessage:{type:String,value:"",reflectToAttribute:!0},transitionSound:{type:String,value:"",reflectToAttribute:!0},openSound:{type:String,value:"",reflectToAttribute:!0},transitionDelay:{type:Number,value:0,reflectToAttribute:!0},inputSound:{type:String,value:"",reflectToAttribute:!0},timeLimit:{type:Number,value:0,reflectToAttribute:!0},warningTime:{type:Number,value:0,reflectToAttribute:!0},warningMessage:{type:String,value:"",reflectToAttribute:!0},name:{type:String,value:""},onChange:{type:String,value:"",reflectToAttribute:!0},value:{type:Object,value:{startTime:0,selectionTime:0,selection:[]},reflectToAttribute:!0,observer:"render"},required:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1,reflectToAttribute:!0},label:{type:String,value:"",reflectToAttribute:!0},hidden:{type:Boolean,value:!1,reflectToAttribute:!0},invalid:{type:Boolean,value:!1,observer:"render",reflectToAttribute:!0},incomplete:{type:Boolean,value:!0,reflectToAttribute:!0},inputSoundTriggered:{type:Boolean,value:!1},openSoundTriggered:{type:Boolean,value:!1},transitionSoundTriggered:{type:Boolean,value:!1}}}static get template(){return n.b``}connectedCallback(){if(super.connectedCallback(),this.openSound){try{new Audio(this.openSound).play()}catch(e){}this.openSoundTriggered=!0}this.width||(this.width=document.documentElement.offsetWidth),this.style.width=`${this.width}px`,this.style.height=`${this.height}px`,this.render(),0===this.value.startTime&&(this.value.startTime=(new Date).getTime()),this.warningMessage&&(this.warningTimeout=setTimeout(()=>{this.setAttribute("warning-triggered",!0)},this.warningTime)),this.timeLimit&&(this.timeLimitTimeout=setTimeout(()=>{this.disabled=!0,this.hasAttribute("go-next-on-time-limit")&&this.transition(!0)},this.timeLimit)),this.fitItInterval=setInterval(this.fitIt.bind(this),Math.floor(1e3/30)),this.fitIt()}disconnectedCallback(){if(super.disconnectedCallback(),this.fitItInterval&&clearInterval(this.fitItInterval),this.warningTimeout&&clearTimeout(this.warningTimeout),this.timeLimitTimeout&&clearTimeout(this.timeLimitTimeout),this.transitionSound&&!this.transitionSoundTriggered){try{new Audio(this.transitionSound).play()}catch(e){}this.transitionSoundTriggered=!0,this.dispatchEvent(new CustomEvent("manual-next"))}}render(e){const t=[...this.querySelectorAll("option")];this.shadowRoot&&(this.shadowRoot.innerHTML=`\n \n
\n ${this.transitionMessage?`\n
\n ${this.transitionMessage}\n
\n `:""}\n ${this.warningMessage?`\n
\n ${this.warningMessage}\n
\n `:""}\n ${this.incorrect&&this.hasAttribute("incorrect-message")?`\n
\n ${this.getAttribute("incorrect-message")}\n
\n `:""}\n ${this.correct&&this.hasAttribute("correct-message")?`\n
\n ${this.getAttribute("correct-message")}\n
\n `:""}\n ${this.invalid&&this.hasAttribute("error-message")?`\n
\n ${this.getAttribute("error-message")}\n
\n `:""}\n
\n
\n ${t.map(e=>`\n \n \n \n `).join("")}\n
\n `,this.shadowRoot.querySelectorAll("img:not([disabled])").forEach(e=>e.addEventListener("click",e=>this.onSelection(e.target))))}onSelection(e){if(!(!0===this.disabled||e.hasAttribute("disabled")||this.hasAttribute("disable-after-selection")&&!this.hasAttribute("multi-select")&&this.value&&1===this.value.selection.length||this.hasAttribute("disable-after-selection")&&this.hasAttribute("multi-select")&&this.value&&this.value.selection&&this.value.selection.includes(e.getAttribute("value")))){if(this.inputSound){try{new Audio(this.inputSound).play()}catch(e){}this.inputSoundTriggered=!0}if(this.value=Object.assign({},this.value,{selection:this.hasAttribute("multi-select")?this.value.selection.includes(e.getAttribute("value"))?this.value.selection.reduce((t,i)=>i!==e.getAttribute("value")?[i,...t]:t,[]):parseInt(this.getAttribute("multi-select"))!==this.value.selection.length?[...this.value.selection,e.getAttribute("value")]:this.value.selection:[e.getAttribute("value")],selectionTime:(new Date).getTime()}),this.querySelectorAll("[correct]").length>0){const e=[...this.querySelectorAll("[correct]")].map(e=>e.getAttribute("value"));this.value={...this.value,correct:this.hasAttribute("multi-select")?e.reduce((e,t)=>!1!==e&&this.value.selection.includes(t),!0):e.includes(this.value.selection[0])},this.value.correct?(this.correct=!0,this.incorrect=!1):(this.correct=!1,this.incorrect=!0)}this.hasAttribute("if-incorrect-then-highlight-correct")&&!0===this.incorrect?this.setAttribute("highlight-correct",""):this.hasAttribute("if-incorrect-then-highlight-correct")&&!0===this.correct&&this.removeAttribute("highlight-correct"),this.render(),this.dispatchEvent(new Event("change")),this.hasAttribute("go-next-on-selection")&&this.validate()&&(this.hasAttribute("multi-select")&&parseInt(this.getAttribute("multi-select"))===this.value.selection.length?this.transition(!0):this.hasAttribute("multi-select")||this.transition(!0))}}transition(e=!1){if(this.hasAttribute("transition-triggered"))return;this.setAttribute("transition-triggered",!0);const t=()=>{if(this.transitionSound){try{new Audio(this.transitionSound).play()}catch(e){}this.transitionSoundTriggered=!0}e&&this.dispatchEvent(new CustomEvent("next"))};this.transitionDelay>0?setTimeout(()=>{t()},this.transitionDelay):t()}fitIt(){const e=this.shadowRoot.querySelector("#options-box"),t=window.innerHeight-e.offsetTop-60,i=e.clientWidth;i>0&&(e.style.opacity="1");e.querySelectorAll("#cell").forEach(e=>{e.setAttribute("style",`\n display: inline-block;\n width:${Math.floor(e.getAttribute("ef-width")/100*i)-10-10}px;\n height:${Math.floor(e.getAttribute("ef-height")/100*t)-10}px;\n `)})}validate(){return this.hasAttribute("required-correct")?!!this.value.correct:this.hasAttribute("required-all")&&this.hasAttribute("multi-select")?!(!this.value.selection||this.value.selection.length!==parseInt(this.getAttribute("multi-select"))):!this.hasAttribute("required")||!!(this.value.selection&&this.value.selection.length>0)}}window.customElements.define(q.is,q);class $ extends n.a{static get template(){return n.b` + `}static get is(){return"tangy-acasi"}static get properties(){return{name:{type:String,value:""},introSrc:{type:String,value:"./assets/sounds/1.mp3"},transitionSrc:{type:String,value:"./assets/sounds/swish.mp3"},touchSrc:{type:String,value:"./assets/sounds/pop.mp3"},touchSources:{type:Array},images:{type:String,value:"./assets/images/never.png,./assets/images/once.png,./assets/images/few.png,./assets/images/many.png"},onChange:{type:String,value:"",reflectToAttribute:!0},value:{type:String,value:"",reflectToAttribute:!0,observer:"onValueChange"},required:{type:Boolean,value:!1,reflectToAttribute:!0},disabled:{type:Boolean,value:!1,observer:"onDisabledChange",reflectToAttribute:!0},label:{type:String,value:"",reflectToAttribute:!0},hidden:{type:Boolean,value:!1,observer:"onHiddenChange",reflectToAttribute:!0},invalid:{type:Boolean,value:!1,reflectToAttribute:!0},incomplete:{type:Boolean,value:!0,reflectToAttribute:!0}}}connectedCallback(){super.connectedCallback(),this.isReady=!1,this.renderOptions()}renderOptions(){let e=this.shadowRoot.querySelector("paper-radio-group");e.addEventListener("change",this.onPaperRadioGroupChange.bind(this),!1);let t=this.getAttribute("images").split(",");for(let i of t){let t=document.createElement("paper-radio-button"),n=i.split("/"),r=n[n.length-1].replace(".png","");t.name=r,this.disabled&&t.setAttribute("disabled",!0);let a=document.createElement("img");a.src=i,a.className="acasi-image",t.innerHTML=a.outerHTML,e.appendChild(t)}e.selected=this.value,this.required&&(e.required=!0),this.isReady=!0,this.imgElements=Array.prototype.slice.call(this.shadowRoot.querySelectorAll("img"));for(let e=0,t=this.imgElements.length;e1){let i=this.touchSources[e];t.dataTouchSrc=i}else t.dataTouchSrc=this.touchSrc}}ready(){super.ready();this.getAttribute("introSrc")?this.introSound=new Audio(this.getAttribute("introSrc")):this.introSound=new Audio("./assets/sounds/swish.mp3"),this.introSound.load(),setTimeout(()=>this.introSound.play(),0),this.getAttribute("touchsrc")&&(this.touchSources=this.getAttribute("touchsrc").split(","),1==this.touchSources.length&&(this.touchSound=new Audio(this.touchSources[0]),this.touchSound.load())),setTimeout(()=>this._prepareForm(),200)}_prepareForm(){Array.prototype.slice.call(this.shadowRoot.querySelectorAll("paper-radio-button")).forEach(e=>{e.$.radioContainer.style="display:none"});let e=e=>{this.imgElements=Array.prototype.slice.call(this.shadowRoot.querySelectorAll("img"));for(let e=0,t=this.imgElements.length;e1){let e=new Audio(t.dataTouchSrc);e.load(),e.play()}else this.touchSound.play()};this.imgElements.forEach(t=>{t.addEventListener("click",e)})}onPaperRadioGroupChange(e){if(e.stopPropagation(),!this.isReady)return;let t=[];this.shadowRoot.querySelectorAll("paper-radio-button").forEach(e=>t.push(e.getProps())),this.value=e.target.name,this.dispatchEvent(new CustomEvent("change"))}onValueChange(e){this.isReady&&(this.$["paper-radio-group"].selected=e)}onDisabledChange(e){let t=this.shadowRoot.querySelectorAll("paper-radio-button");1==e&&t.forEach(e=>e.setAttribute("disabled",!0)),0==e&&t.forEach(e=>e.removeAttribute("disabled"))}onHiddenChange(e){}replay(){console.log("Replay"),this.introSound=new Audio(this.getAttribute("introSrc")),this.introSound.play()}validate(){return this.required&&""===this.value?(this.invalid=!0,!1):(this.invalid=!1,!0)}}window.customElements.define(q.is,q);class U extends n.a{static get is(){return"tangy-eftouch"}static get properties(){return{fromTopOfScreen:{type:Number,value:115,reflectToAttribute:!0,observer:"render"},height:{type:Number,value:400,reflectToAttribute:!0,observer:"render"},hintText:{type:String,value:"",reflectToAttribute:!0},errorMessage:{type:String,value:"",reflectToAttribute:!0},width:{type:Number,reflectToAttribute:!0,observer:"render"},goNextOnTimeLimit:{type:Boolean,value:!1,reflectToAttribute:!0},correct:{type:Boolean,value:!1,reflectToAttribute:!0},incorrect:{type:Boolean,value:!1,reflectToAttribute:!0},transitionMessage:{type:String,value:"",reflectToAttribute:!0},transitionSound:{type:String,value:"",reflectToAttribute:!0},openSound:{type:String,value:"",reflectToAttribute:!0},transitionDelay:{type:Number,value:0,reflectToAttribute:!0},inputSound:{type:String,value:"",reflectToAttribute:!0},timeLimit:{type:Number,value:0,reflectToAttribute:!0},warningTime:{type:Number,value:0,reflectToAttribute:!0},warningMessage:{type:String,value:"",reflectToAttribute:!0},name:{type:String,value:""},onChange:{type:String,value:"",reflectToAttribute:!0},value:{type:Object,value:{startTime:0,selectionTime:0,selection:[]},reflectToAttribute:!0,observer:"render"},required:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1,reflectToAttribute:!0},label:{type:String,value:"",reflectToAttribute:!0},hidden:{type:Boolean,value:!1,reflectToAttribute:!0},invalid:{type:Boolean,value:!1,observer:"render",reflectToAttribute:!0},incomplete:{type:Boolean,value:!0,reflectToAttribute:!0},inputSoundTriggered:{type:Boolean,value:!1},openSoundTriggered:{type:Boolean,value:!1},transitionSoundTriggered:{type:Boolean,value:!1}}}static get template(){return n.b``}connectedCallback(){if(super.connectedCallback(),this.openSound){try{new Audio(this.openSound).play()}catch(e){}this.openSoundTriggered=!0}this.width||(this.width=document.documentElement.offsetWidth),this.style.width=`${this.width}px`,this.style.height=`${this.height}px`,this.render(),0===this.value.startTime&&(this.value.startTime=(new Date).getTime()),this.warningMessage&&(this.warningTimeout=setTimeout(()=>{this.setAttribute("warning-triggered",!0)},this.warningTime)),this.timeLimit&&(this.timeLimitTimeout=setTimeout(()=>{this.disabled=!0,this.hasAttribute("go-next-on-time-limit")&&this.transition(!0)},this.timeLimit)),this.fitItInterval=setInterval(this.fitIt.bind(this),Math.floor(1e3/30)),this.fitIt()}disconnectedCallback(){if(super.disconnectedCallback(),this.fitItInterval&&clearInterval(this.fitItInterval),this.warningTimeout&&clearTimeout(this.warningTimeout),this.timeLimitTimeout&&clearTimeout(this.timeLimitTimeout),this.transitionSound&&!this.transitionSoundTriggered){try{new Audio(this.transitionSound).play()}catch(e){}this.transitionSoundTriggered=!0,this.dispatchEvent(new CustomEvent("manual-next"))}}render(e){const t=[...this.querySelectorAll("option")];this.shadowRoot&&(this.shadowRoot.innerHTML=`\n \n
\n ${this.transitionMessage?`\n
\n ${this.transitionMessage}\n
\n `:""}\n ${this.warningMessage?`\n
\n ${this.warningMessage}\n
\n `:""}\n ${this.incorrect&&this.hasAttribute("incorrect-message")?`\n
\n ${this.getAttribute("incorrect-message")}\n
\n `:""}\n ${this.correct&&this.hasAttribute("correct-message")?`\n
\n ${this.getAttribute("correct-message")}\n
\n `:""}\n ${this.invalid&&this.hasAttribute("error-message")?`\n
\n ${this.getAttribute("error-message")}\n
\n `:""}\n
\n
\n ${t.map(e=>`\n \n \n \n `).join("")}\n
\n `,this.shadowRoot.querySelectorAll("img:not([disabled])").forEach(e=>e.addEventListener("click",e=>this.onSelection(e.target))))}onSelection(e){if(!(!0===this.disabled||e.hasAttribute("disabled")||this.hasAttribute("disable-after-selection")&&!this.hasAttribute("multi-select")&&this.value&&1===this.value.selection.length||this.hasAttribute("disable-after-selection")&&this.hasAttribute("multi-select")&&this.value&&this.value.selection&&this.value.selection.includes(e.getAttribute("value")))){if(this.inputSound){try{new Audio(this.inputSound).play()}catch(e){}this.inputSoundTriggered=!0}if(this.value=Object.assign({},this.value,{selection:this.hasAttribute("multi-select")?this.value.selection.includes(e.getAttribute("value"))?this.value.selection.reduce((t,i)=>i!==e.getAttribute("value")?[i,...t]:t,[]):parseInt(this.getAttribute("multi-select"))!==this.value.selection.length?[...this.value.selection,e.getAttribute("value")]:this.value.selection:[e.getAttribute("value")],selectionTime:(new Date).getTime()}),this.querySelectorAll("[correct]").length>0){const e=[...this.querySelectorAll("[correct]")].map(e=>e.getAttribute("value"));this.value={...this.value,correct:this.hasAttribute("multi-select")?e.reduce((e,t)=>!1!==e&&this.value.selection.includes(t),!0):e.includes(this.value.selection[0])},this.value.correct?(this.correct=!0,this.incorrect=!1):(this.correct=!1,this.incorrect=!0)}this.hasAttribute("if-incorrect-then-highlight-correct")&&!0===this.incorrect?this.setAttribute("highlight-correct",""):this.hasAttribute("if-incorrect-then-highlight-correct")&&!0===this.correct&&this.removeAttribute("highlight-correct"),this.render(),this.dispatchEvent(new Event("change")),this.hasAttribute("go-next-on-selection")&&this.validate()&&(this.hasAttribute("multi-select")&&parseInt(this.getAttribute("multi-select"))===this.value.selection.length?this.transition(!0):this.hasAttribute("multi-select")||this.transition(!0))}}transition(e=!1){if(this.hasAttribute("transition-triggered"))return;this.setAttribute("transition-triggered",!0);const t=()=>{if(this.transitionSound){try{new Audio(this.transitionSound).play()}catch(e){}this.transitionSoundTriggered=!0}e&&this.dispatchEvent(new CustomEvent("next"))};this.transitionDelay>0?setTimeout(()=>{t()},this.transitionDelay):t()}fitIt(){const e=this.shadowRoot.querySelector("#options-box"),t=window.innerHeight-e.offsetTop-60,i=e.clientWidth;i>0&&(e.style.opacity="1");e.querySelectorAll("#cell").forEach(e=>{e.setAttribute("style",`\n display: inline-block;\n width:${Math.floor(e.getAttribute("ef-width")/100*i)-10-10}px;\n height:${Math.floor(e.getAttribute("ef-height")/100*t)-10}px;\n `)})}validate(){return this.hasAttribute("required-correct")?!!this.value.correct:this.hasAttribute("required-all")&&this.hasAttribute("multi-select")?!(!this.value.selection||this.value.selection.length!==parseInt(this.getAttribute("multi-select"))):!this.hasAttribute("required")||!!(this.value.selection&&this.value.selection.length>0)}}window.customElements.define(U.is,U);class $ extends n.a{static get template(){return n.b` @@ -5795,7 +5812,9 @@ found at http://polymer.github.io/PATENTS.txt
- `}static get is(){return"tangy-partial-date"}static get properties(){return{name:{type:String,value:""},value:{type:String,value:"",reflectToAttribute:!0,observer:"render"},hintText:{type:String,value:"",reflectToAttribute:!0},required:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"render"},label:{type:String,value:"",reflectToAttribute:!0},hidden:{type:Boolean,value:!1},invalid:{type:Boolean,value:!1,observer:"render",reflectToAttribute:!0},incomplete:{type:Boolean,value:!0},minYear:{type:Number,value:0,observer:"render",reflectToAttribute:!0},maxYear:{type:Number,value:0,observer:"render",reflectToAttribute:!0},allowUnknownDay:{type:Boolean,observer:"render",reflectToAttribute:!0},allowUnknownMonth:{type:Boolean,observer:"render",reflectToAttribute:!0},allowUnknownYear:{type:Boolean,observer:"render",reflectToAttribute:!0},numericMonth:{type:Boolean,value:!1,reflectToAttribute:!0},disallowFutureDate:{type:Boolean,observer:"render",reflectToAttribute:!0},showTodayButton:{type:Boolean,observer:"render",reflectToAttribute:!0},errorText:{type:String,value:"",observer:"render"},missingDateErrorText:{type:String,value:"",observer:"render",reflectToAttribute:!0},invalidDateErrorText:{type:String,value:"",observer:"render",reflectToAttribute:!0},futureDateErrorText:{type:String,value:"",observer:"render",reflectToAttribute:!0},questionNumber:{type:String,value:"",observer:"render",reflectToAttribute:!0}}}connectedCallback(){super.connectedCallback(),this.missingDateErrorText=""===this.missingDateErrorText?Object(h.a)("The date is missing. Please enter a valid date."):this.missingDateErrorText,this.invalidDateErrorText=""===this.invalidDateErrorText?Object(h.a)("The date is not valid. Please enter a valid date."):this.invalidDateErrorText,this.futureDateErrorText=""===this.futureDateErrorText?Object(h.a)("The date cannot be in the future. Please enter a date that is on or before today."):this.futureDateErrorText,this.render()}render(){const e=[Object(h.a)("January"),Object(h.a)("February"),Object(h.a)("March"),Object(h.a)("April"),Object(h.a)("May"),Object(h.a)("June"),Object(h.a)("July"),Object(h.a)("August"),Object(h.a)("September"),Object(h.a)("October"),Object(h.a)("November"),Object(h.a)("December")],t=Array.from({length:31},(e,t)=>t+1),i=Array.from({length:parseInt(this.maxYear)-parseInt(this.minYear)+1},(e,t)=>parseInt(this.minYear)+t),n=Object(h.a)("Unknown");if(this.allowUnknownDay&&t.push(99),this.allowUnknownMonth&&e.push(n),this.allowUnknownYear&&i.push(9999),this.$["qnum-number"].innerHTML=``,this.$.container.innerHTML=`\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n ${this.showTodayButton?` \n \n  \n ${Object(h.a)("Today")}\n `:""}\n
\n ${this.invalid&&this.errorText&&!this.internalErrorText?`\n
\n \n
${this.errorText}
\n
\n `:""}\n ${this.invalid&&this.internalErrorText?`\n
\n \n
${this.internalErrorText}
\n
\n `:""}\n `,this.showTodayButton&&(this._onClickListener=this.shadowRoot.querySelector("paper-button").addEventListener("click",this.onTodayClick.bind(this))),this._onChangeListener=this.shadowRoot.querySelector('select[name="day"]').addEventListener("change",this.onChange.bind(this)),this._onChangeListener=this.shadowRoot.querySelector('select[name="month"]').addEventListener("change",this.onChange.bind(this)),this._onChangeListener=this.shadowRoot.querySelector('select[name="year"]').addEventListener("change",this.onChange.bind(this)),this.dispatchEvent(new CustomEvent("render")),""!==this.value){const e=this.value;this.shadowRoot.querySelector("select[name='day']").value=this.unpad(e.split("-")[2]),this.shadowRoot.querySelector("select[name='month']").value=this.unpad(e.split("-")[1]),this.shadowRoot.querySelector("select[name='year']").value=e.split("-")[0]}}onTodayClick(e){const t=new Date,i=String(t.getDate()).padStart(2,"0"),n=String(t.getMonth()+1).padStart(2,"0"),r=t.getFullYear();this.value=r+"-"+n+"-"+i,this.shadowRoot.querySelector("select[name='day']").value=r,this.shadowRoot.querySelector("select[name='month']").value=n,this.shadowRoot.querySelector("select[name='year']").value=i,this.render()}onChange(e){this.value=this.shadowRoot.querySelector("select[name='year']").value+"-"+this.pad(this.shadowRoot.querySelector("select[name='month']").value,2)+"-"+this.pad(this.shadowRoot.querySelector("select[name='day']").value,2),console.log("Date value updated to "+this.value),this.dispatchEvent(new CustomEvent("change"))}validate(){return!this.required||this.hidden||this.disabled||this.value?this.isValidDate(this.value)?this.disallowFutureDate&&this.isFutureDate(this.value)?(this.internalErrorText=this.futureDateErrorText,this.invalid=!0,!1):(this.internalErrorText="",this.invalid=!1,!0):(this.internalErrorText=this.invalidDateErrorText,this.invalid=!0,!1):(this.internalErrorText=this.missingDateErrorText,this.invalid=!0,!1)}pad(e,t){return""!==e?(1e15+e+"").slice(-t):""}unpad(e){return+e}isFutureDate(e){const t=new Date,i=parseInt(this.unpad(e.split("-")[2])),n=parseInt(this.unpad(e.split("-")[1])),r=parseInt(e.split("-")[0]);if(99!==i&&99!==n&&9999!==r){return new Date(r,n-1,i)>t}if(99!==n&&9999!==r){return new Date(r,n-1,1)>t}if(9999!==r){return new Date(r,0,1)>t}return!1}isValidDate(e){var t=e.split("-");if(t.length<3)return!1;var i=parseInt(t[2]),n=parseInt(t[1]),r=parseInt(t[0]);if(isNaN(i)||isNaN(n)||isNaN(r))return!1;if(i<1||r<1)return!1;if((n>12||n<1)&99!==n)return!1;if((1==n||3==n||5==n||7==n||8==n||10==n||12==n)&&i>31&&99!==i)return!1;if((4==n||6==n||9==n||11==n)&&i>30&99!==i)return!1;if(2==n){if(99===i)return!0;if(r%4==0&&r%100!=0||r%400==0&&r%100==0){if(i>29)return!1}else if(i>28)return!1}return!0}}window.customElements.define(ai.is,ai)},function(e,t,i){"use strict";i(5),i(23),i(17),i(64),i(56),i(40);var n=i(3); +
+
+ `}static get is(){return"tangy-partial-date"}static get properties(){return{name:{type:String,value:""},value:{type:String,value:"",reflectToAttribute:!0,observer:"render"},hintText:{type:String,value:"",reflectToAttribute:!0},required:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"render"},label:{type:String,value:"",reflectToAttribute:!0},hidden:{type:Boolean,value:!1},invalid:{type:Boolean,value:!1,observer:"render",reflectToAttribute:!0},hasWarning:{type:Boolean,value:!1,observer:"onWarnChange",reflectToAttribute:!0},hasDiscrepancy:{type:Boolean,value:!1,observer:"onDiscrepancyChange",reflectToAttribute:!0},incomplete:{type:Boolean,value:!0},minYear:{type:Number,value:0,observer:"render",reflectToAttribute:!0},maxYear:{type:Number,value:0,observer:"render",reflectToAttribute:!0},allowUnknownDay:{type:Boolean,observer:"render",reflectToAttribute:!0},allowUnknownMonth:{type:Boolean,observer:"render",reflectToAttribute:!0},allowUnknownYear:{type:Boolean,observer:"render",reflectToAttribute:!0},numericMonth:{type:Boolean,value:!1,reflectToAttribute:!0},disallowFutureDate:{type:Boolean,observer:"render",reflectToAttribute:!0},showTodayButton:{type:Boolean,observer:"render",reflectToAttribute:!0},errorText:{type:String,value:"",observer:"render"},missingDateErrorText:{type:String,value:"",observer:"render",reflectToAttribute:!0},invalidDateErrorText:{type:String,value:"",observer:"render",reflectToAttribute:!0},futureDateErrorText:{type:String,value:"",observer:"render",reflectToAttribute:!0},questionNumber:{type:String,value:"",observer:"render",reflectToAttribute:!0},warnText:{type:String,value:"",reflectToAttribute:!0},discrepancyText:{type:String,value:"",reflectToAttribute:!0}}}connectedCallback(){super.connectedCallback(),this.missingDateErrorText=""===this.missingDateErrorText?Object(h.a)("The date is missing. Please enter a valid date."):this.missingDateErrorText,this.invalidDateErrorText=""===this.invalidDateErrorText?Object(h.a)("The date is not valid. Please enter a valid date."):this.invalidDateErrorText,this.futureDateErrorText=""===this.futureDateErrorText?Object(h.a)("The date cannot be in the future. Please enter a date that is on or before today."):this.futureDateErrorText,this.render()}render(){const e=[Object(h.a)("January"),Object(h.a)("February"),Object(h.a)("March"),Object(h.a)("April"),Object(h.a)("May"),Object(h.a)("June"),Object(h.a)("July"),Object(h.a)("August"),Object(h.a)("September"),Object(h.a)("October"),Object(h.a)("November"),Object(h.a)("December")],t=Array.from({length:31},(e,t)=>t+1),i=Array.from({length:parseInt(this.maxYear)-parseInt(this.minYear)+1},(e,t)=>parseInt(this.minYear)+t),n=Object(h.a)("Unknown");if(this.allowUnknownDay&&t.push(99),this.allowUnknownMonth&&e.push(n),this.allowUnknownYear&&i.push(9999),this.$["qnum-number"].innerHTML=``,this.$.container.innerHTML=`\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n ${this.showTodayButton?` \n \n  \n ${Object(h.a)("Today")}\n `:""}\n
\n ${this.invalid&&this.errorText&&!this.internalErrorText?`\n
\n \n
${this.errorText}
\n
\n `:""}\n ${this.invalid&&this.internalErrorText?`\n
\n \n
${this.internalErrorText}
\n
\n `:""}\n `,this.showTodayButton&&(this._onClickListener=this.shadowRoot.querySelector("paper-button").addEventListener("click",this.onTodayClick.bind(this))),this._onChangeListener=this.shadowRoot.querySelector('select[name="day"]').addEventListener("change",this.onChange.bind(this)),this._onChangeListener=this.shadowRoot.querySelector('select[name="month"]').addEventListener("change",this.onChange.bind(this)),this._onChangeListener=this.shadowRoot.querySelector('select[name="year"]').addEventListener("change",this.onChange.bind(this)),this.dispatchEvent(new CustomEvent("render")),""!==this.value){const e=this.value;this.shadowRoot.querySelector("select[name='day']").value=this.unpad(e.split("-")[2]),this.shadowRoot.querySelector("select[name='month']").value=this.unpad(e.split("-")[1]),this.shadowRoot.querySelector("select[name='year']").value=e.split("-")[0]}}onTodayClick(e){const t=new Date,i=String(t.getDate()).padStart(2,"0"),n=String(t.getMonth()+1).padStart(2,"0"),r=t.getFullYear();this.value=r+"-"+n+"-"+i,this.shadowRoot.querySelector("select[name='day']").value=r,this.shadowRoot.querySelector("select[name='month']").value=n,this.shadowRoot.querySelector("select[name='year']").value=i,this.render()}onChange(e){this.value=this.shadowRoot.querySelector("select[name='year']").value+"-"+this.pad(this.shadowRoot.querySelector("select[name='month']").value,2)+"-"+this.pad(this.shadowRoot.querySelector("select[name='day']").value,2),console.log("Date value updated to "+this.value),this.dispatchEvent(new CustomEvent("change"))}validate(){return!this.required||this.hidden||this.disabled||this.value?this.isValidDate(this.value)?this.disallowFutureDate&&this.isFutureDate(this.value)?(this.internalErrorText=this.futureDateErrorText,this.invalid=!0,!1):(this.internalErrorText="",this.invalid=!1,!0):(this.internalErrorText=this.invalidDateErrorText,this.invalid=!0,!1):(this.internalErrorText=this.missingDateErrorText,this.invalid=!0,!1)}pad(e,t){return""!==e?(1e15+e+"").slice(-t):""}unpad(e){return+e}isFutureDate(e){const t=new Date,i=parseInt(this.unpad(e.split("-")[2])),n=parseInt(this.unpad(e.split("-")[1])),r=parseInt(e.split("-")[0]);if(99!==i&&99!==n&&9999!==r){return new Date(r,n-1,i)>t}if(99!==n&&9999!==r){return new Date(r,n-1,1)>t}if(9999!==r){return new Date(r,0,1)>t}return!1}isValidDate(e){var t=e.split("-");if(t.length<3)return!1;var i=parseInt(t[2]),n=parseInt(t[1]),r=parseInt(t[0]);if(isNaN(i)||isNaN(n)||isNaN(r))return!1;if(i<1||r<1)return!1;if((n>12||n<1)&99!==n)return!1;if((1==n||3==n||5==n||7==n||8==n||10==n||12==n)&&i>31&&99!==i)return!1;if((4==n||6==n||9==n||11==n)&&i>30&99!==i)return!1;if(2==n){if(99===i)return!0;if(r%4==0&&r%100!=0||r%400==0&&r%100==0){if(i>29)return!1}else if(i>28)return!1}return!0}onDiscrepancyChange(e){this.shadowRoot.querySelector("#discrepancy-text").innerHTML=this.hasDiscrepancy?`
${this.hasAttribute("discrepancy-text")?this.getAttribute("discrepancy-text"):""}
`:""}onWarnChange(e){this.shadowRoot.querySelector("#warn-text").innerHTML=this.hasWarning?`
${this.hasAttribute("warn-text")?this.getAttribute("warn-text"):""}
`:""}}window.customElements.define(ai.is,ai)},function(e,t,i){"use strict";i(5),i(23),i(17),i(64),i(56),i(40);var n=i(3); /** @license Copyright (c) 2015 The Polymer Project Authors. All rights reserved. diff --git a/package.json b/package.json index 16170d58..d67e718b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "tangy-form", "description": "A form element for lazy loaded multipage forms", - "version": "4.7.1", + "version": "4.8.0", "main": "tangy-form.js", "scripts": { "start": "polymer serve",