web-component-wrapper 0.0.601 → 0.0.604

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1,941 @@
1
- "use strict";if("undefined"!=typeof module&&null!==module&&"undefined"!==eval("typeof require")&&null!==eval("require")&&"main"in eval("require")&&"undefined"!==eval("typeof require.main")&&null!==eval("require.main")){var ORIGINAL_MAIN_MODULE=module;module!==eval("require.main")&&"paths"in module&&"paths"in eval("require.main")&&"undefined"!=typeof __dirname&&null!==__dirname&&(module.paths=eval("require.main.paths").concat(module.paths.filter((function(path){return eval("require.main.paths").includes(path)}))))}if(null==window)var window="undefined"==typeof global||null===global?{}:global;!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@babel/runtime/helpers/extends"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/helpers/inheritsLoose"),require("@babel/runtime/regenerator"),require("clientnode"),require("clientnode/property-types"),require("react"),require("@jest/globals"),require("react-dom"),require("react-dom/client"),require("@babel/runtime/helpers/initializerDefineProperty"),require("@babel/runtime/helpers/applyDecoratedDescriptor"),require("@babel/runtime/helpers/initializerWarningHelper"));else if("function"==typeof define&&define.amd)define(["@babel/runtime/helpers/extends","@babel/runtime/helpers/asyncToGenerator","@babel/runtime/helpers/inheritsLoose","@babel/runtime/regenerator","clientnode","clientnode/property-types","react","@jest/globals","react-dom","react-dom/client","@babel/runtime/helpers/initializerDefineProperty","@babel/runtime/helpers/applyDecoratedDescriptor","@babel/runtime/helpers/initializerWarningHelper"],t);else{var r="object"==typeof exports?t(require("@babel/runtime/helpers/extends"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/helpers/inheritsLoose"),require("@babel/runtime/regenerator"),require("clientnode"),require("clientnode/property-types"),require("react"),require("@jest/globals"),require("react-dom"),require("react-dom/client"),require("@babel/runtime/helpers/initializerDefineProperty"),require("@babel/runtime/helpers/applyDecoratedDescriptor"),require("@babel/runtime/helpers/initializerWarningHelper")):t(e["@babel/runtime/helpers/extends"],e["@babel/runtime/helpers/asyncToGenerator"],e["@babel/runtime/helpers/inheritsLoose"],e["@babel/runtime/regenerator"],e.clientnode,e["clientnode/property-types"],e.react,e["@jest/globals"],e["react-dom"],e["react-dom/client"],e["@babel/runtime/helpers/initializerDefineProperty"],e["@babel/runtime/helpers/applyDecoratedDescriptor"],e["@babel/runtime/helpers/initializerWarningHelper"]);for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(this,(function(e,t,r,n,o,i,s,a,p,l,c,u,d){return function(){var h=[function(t){t.exports=e},function(e){e.exports=o},function(e){e.exports=i},function(e){e.exports=r},function(e){e.exports=t},function(e){e.exports=n},function(e,t,r){var n=r(0),o=r.n(n),i=r(1),s=r(2);t.default=function(e){return void 0===e&&(e={}),e=o()({readAttribute:!0,type:s.string},e),function(t,r){if("string"==typeof r){var n,s=t.self||t.constructor;if(e.readAttribute){Object.prototype.hasOwnProperty.call(s,"observedAttributes")||(s.observedAttributes=s.observedAttributes?[].concat(s.observedAttributes):[]);var a=(0,i.camelCaseToDelimited)(r);s.observedAttributes&&!s.observedAttributes.includes(a)&&s.observedAttributes.push(a)}if(e.type&&(Object.prototype.hasOwnProperty.call(s,"propertyTypes")||(s.propertyTypes=s.propertyTypes?o()({},s.propertyTypes):{}),!s.propertyTypes||!e.update&&Object.prototype.hasOwnProperty.call(s,r)||(s.propertyTypes[r]=e.type)),e.writeAttribute)if(Object.prototype.hasOwnProperty.call(s,"propertiesToReflectAsAttributes")||(s.propertiesToReflectAsAttributes=s.propertiesToReflectAsAttributes?(0,i.copy)(s.propertiesToReflectAsAttributes):[]),e.update||s.propertiesToReflectAsAttributes instanceof Map&&!s.propertiesToReflectAsAttributes.has(r)||Array.isArray(s.propertiesToReflectAsAttributes)&&!s.propertiesToReflectAsAttributes.includes(r)||"object"==typeof s.propertiesToReflectAsAttributes&&!Object.prototype.hasOwnProperty.call(s.propertiesToReflectAsAttributes,r))"boolean"==typeof e.writeAttribute?e.writeAttribute&&s.propertyTypes&&Object.prototype.hasOwnProperty.call(s.propertyTypes,r)&&(n=s.propertyTypes[r]):n=e.writeAttribute,void 0!==n&&(Array.isArray(s.propertiesToReflectAsAttributes)&&(!0===e.writeAttribute?s.propertiesToReflectAsAttributes.push(r):s.normalizePropertyTypeList&&(s.propertiesToReflectAsAttributes=s.normalizePropertyTypeList(s.propertiesToReflectAsAttributes))),s.propertiesToReflectAsAttributes instanceof Map&&s.propertiesToReflectAsAttributes.set(r,n),"object"==typeof s.propertiesToReflectAsAttributes&&(s.propertiesToReflectAsAttributes[r]=n));e.alias&&(Object.prototype.hasOwnProperty.call(s,"propertyAliases")||(s.propertyAliases=s.propertyAliases?o()({},s.propertyAliases):{}),!s.propertyAliases||!e.update&&Object.prototype.hasOwnProperty.call(s,r)||(s.propertyAliases[r]=e.alias))}}}},function(e,t,r){var n,o,i,s,a=r(4),p=r.n(a),l=r(8),c=r.n(l),u=r(0),d=r.n(u),h=r(3),f=r.n(h),m=r(9),y=r.n(m),v=(r(10),r(5)),b=r.n(v),g=r(1),P=r(2),A=r(6);function w(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return x(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?x(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var T=new g.Logger({name:"web-component-wrapper-web"}),C="undefined"==typeof HTMLElement?function(){}:HTMLElement,S=(n=(0,A.default)({type:P.boolean,writeAttribute:!0}),s=function(e){function t(){var r;return(r=e.call(this)||this).renderState={promise:Promise.resolve(""),pending:!1,resolve:g.NOOP},r.childComponentInstances=[],r.batchAttributeUpdates=!0,r.batchPropertyUpdates=!0,r.batchUpdates=!0,r.batchedAttributeUpdateRunning=!0,r.batchedPropertyUpdateRunning=!0,r.batchedUpdateRunning=!0,r.connectionRegistered=!1,r.pendingAttributeUpdates=[],r.parentInstance=null,r.rootInstance=void 0,r.hostDomNode=void 0,r.scope=d()({},g.UTILITY_SCOPE),r.domNodeEventBindings=new Map,r.domNodeTemplateCache=new Map,r.externalProperties={},r.ignoreAttributeUpdateObservations=!1,r.internalProperties={},r.outputEventNames=new Set,r.instance=null,c()(r,"isRoot",i,r),r.runDomConnectionAndRenderingInSameEventQueue=!1,r.self=t,r.slots={},r.prepareNewRenderingPromise(),r.self=r.constructor,r.self._propertiesToReflectAsAttributes||(r.self._propertiesToReflectAsAttributes=r.self.normalizePropertyTypeList(r.self.propertiesToReflectAsAttributes)),r.generateAliasIndex(),r.hostDomNode=r,r.rootInstance=r,r.defineGetterAndSetterInterface(),r}f()(t,e);var r=t.prototype;return r.attributeChangedCallback=function(e,t,r){this.ignoreAttributeUpdateObservations||t===r||this.onUpdateAttribute(e,r)},r.onUpdateAttribute=function(e,t){var r=this,n=new Promise((function(n){return r.pendingAttributeUpdates.push((function(){r.evaluateStringOrNullAndSetAsProperty(e,t),r.batchAttributeUpdates?r.batchedAttributeUpdateRunning||r.batchedUpdateRunning||(r.batchedAttributeUpdateRunning=!0,r.batchedUpdateRunning=!0,(0,g.timeout)((function(){r.batchedAttributeUpdateRunning=!1,r.batchedUpdateRunning=!1,r.render("attributeChanged")}))):r.render("attributeChanged"),n()}))}));if(this.connectionRegistered)for(;this.pendingAttributeUpdates.length;)this.pendingAttributeUpdates.shift()();return n},r.connectedCallback=function(){var e=this;try{this.isConnected=!0}catch(e){}for(this.connectionRegistered=!0,this.parentInstance=this,this.rootInstance=this,this.attachEventHandler(),this.self.determineRootBinding&&(this.determineRootBinding(),this.parentInstance!==this&&this.parentInstance.childComponentInstances&&this.parentInstance.childComponentInstances.push(this)),this.self.applyRootBinding&&this.isRoot&&(this.determineRenderScope(),this.applyBinding(this,this.scope));this.pendingAttributeUpdates.length;)this.pendingAttributeUpdates.shift()();this.batchedAttributeUpdateRunning=!1,this.batchedPropertyUpdateRunning=!1,this.batchedUpdateRunning=!1,this.grabGivenSlots(),this.reflectExternalProperties(this.externalProperties),this.runDomConnectionAndRenderingInSameEventQueue?this.render("connected"):(0,g.timeout)((function(){e.render("connected")}))},r.disconnectedCallback=function(){this.unRender("disconnected"),this.unregisterConnectionState()},r.defineGetterAndSetterInterface=function(){for(var e,t=this,r=function(){var r=e.value;Object.prototype.hasOwnProperty.call(t,r)&&t.setPropertyValue(r,t[r]),Object.defineProperty(t,r,{configurable:!0,get:function(){return t.getPropertyValue(r)},set:function(e){t.setPropertyValue(r,e),t.triggerPropertySpecificRendering(r,e)}})},n=w((0,g.unique)(Object.keys(this.self.propertyTypes).concat(this.self._propertyAliasIndex?Object.keys(this.self._propertyAliasIndex):[])));!(e=n()).done;)r()},r.getPropertyAlias=function(e){return this.self._propertyAliasIndex&&Object.prototype.hasOwnProperty.call(this.self._propertyAliasIndex,e)?this.self._propertyAliasIndex[e]:null},r.getPropertyValue=function(e){var r,n,o,i=null!=(r=this.instance)&&null!=(r=r.current)&&r.properties&&(Object.prototype.hasOwnProperty.call(!t.propertyTypes,e)||Object.prototype.hasOwnProperty.call(this.instance.current.properties,e))?this.instance.current.properties[e]:null!==(n=this.internalProperties[e])&&void 0!==n?n:this.externalProperties[e];return null!=(o=this.instance)&&null!=(o=o.current)&&o.state&&Object.prototype.hasOwnProperty.call(this.instance.current.state,e)?this.instance.current.state[e]:i},r.setExternalPropertyValue=function(e,t){this.externalProperties[e]=t;var r=this.getPropertyAlias(e);r&&(this.externalProperties[r]=t)},r.setInternalPropertyValue=function(e,t){this.internalProperties[e]=t;var r=this.getPropertyAlias(e);r&&(this.internalProperties[r]=t)},r.setPropertyValue=function(e,t){var r;this.reflectProperties(((r={})[e]=t,r)),this.setInternalPropertyValue(e,t)},r.triggerPropertySpecificRendering=function(e,t){var r=this;if(this.batchPropertyUpdates)this.batchedPropertyUpdateRunning||this.batchedUpdateRunning||(this.batchedPropertyUpdateRunning=!0,this.batchedUpdateRunning=!0,(0,g.timeout)((function(){void 0!==t&&r.isStateProperty(e)?(r.render("preStatePropertyChanged"),(0,g.timeout)((function(){r.setInternalPropertyValue(e,void 0),r.batchedPropertyUpdateRunning=!1,r.batchedUpdateRunning=!1,r.render("postStatePropertyChanged"),r.triggerOutputEvents()}))):(r.batchedPropertyUpdateRunning=!1,r.batchedUpdateRunning=!1,r.render("propertyChanged"),r.triggerOutputEvents())})));else{var n=this.isStateProperty(e);this.render(n?"preStatePropertyChanged":"propertyChanged"),void 0!==t&&n&&(this.setInternalPropertyValue(e,void 0),this.render("postStatePropertyChanged")),this.triggerOutputEvents()}},r.unregisterConnectionState=function(){try{this.isConnected=!1}catch(e){}this.connectionRegistered=!1,this.slots={}},r.unregisterDomNodeEventBindings=function(){for(var e,t=w(this.domNodeEventBindings.values());!(e=t()).done;)for(var r,n=w(e.value.values());!(r=n()).done;){(0,r.value)()}},r.applyBinding=function(e,t){var r=this;if(e.getAttributeNames)for(var n,o=function(){var o,i=n.value;if(i.startsWith("data-bind-")?o=i.substring(10):i.startsWith("bind-")&&(o=i.substring(5)),o){var s=e.getAttribute(i);if(null===s)return 0;if(o.startsWith("attribute-")||o.startsWith("property-")){var a=(0,g.evaluate)(s,t,!1,!0,e);if(a.error)return T.warn("Error occurred during processing given",'attribute binding "'+i+'" on node:',e,a.error),0;o.startsWith("attribute-")?e.setAttribute(o.substring(10),a.result):e[(0,g.delimitedToCamelCase)(o.substring(9))]=a.result}else if(o.startsWith("on-")){o=(0,g.delimitedToCamelCase)(o.substring(3)),t=d()({log:T,event:void 0,parameters:void 0},t);var p=(0,g.compile)(s,t,!0,!0,e);p.error?T.warn("Error occurred during compiling given event",'binding "'+i+'" on node:',e,p.error):r.addSecureEventListener(e,o,(function(){for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];t.event=n[0],t.parameters=n;try{p.templateFunction.apply(p,p.originalScopeNames.map((function(e){return t[e]})))}catch(t){T.warn("Error occurred during processing","given event binding",'"'+i+'" on node:',e,'Given expression "'+s+'" could',"not be evaluated with given scope",'names "'+p.scopeNames.join('", "')+'": '+(0,g.represent)(t))}}))}}},i=w(e.getAttributeNames());!(n=i()).done;)o()},r.applyBindings=function(e,t,r){for(void 0===r&&(r=!0);e;){var n;null==(n=e.attributes)||!n.length||!r&&e.getAttribute("slot")||this.applyBinding(e,t),e.nodeName.toLowerCase().includes("-")||this.applyBindings(e.firstChild,t),e=e.nextSibling}},r.compileDomNodeTemplate=function(e,t,r){void 0===t&&(t=[]),void 0===r&&(r={}),r=d()({ignoreComponents:!0,ignoreNestedComponents:!0,unsafe:this.self.renderUnsafe},r);var n=e.nodeName.toLowerCase();if(r.ignoreComponents&&n.includes("-"))return null;if(r.unsafe){var o=e.innerHTML;if(!o&&e.template&&(o=e.template),this.self.hasCode(o)){var i=(0,g.compile)("`"+o+"`",t);return{domNode:e,children:[],error:i.error,scopeNames:i.scopeNames,template:o,templateFunction:i.templateFunction}}return null}var s=null;if("#text"===n){var a=e.textContent;a&&this.self.hasCode(a)&&(s=a.replace(/&nbsp;/g," ").trim())}var p=[],l={children:p,domNode:e};if(s){var c=(0,g.compile)("`"+s+"`",t);l.error=c.error,l.scopeNames=c.scopeNames,l.template=s,l.templateFunction=c.templateFunction}for(var u=e.firstChild;u;){if(!r.filter||r.filter(u)){var h=this.compileDomNodeTemplate(u,t,d()({},r,{ignoreComponents:r.ignoreNestedComponents}));h&&p.push(h)}u=u.nextSibling}return l},r.evaluateCompiledDomNodeTemplate=function(e,t){var r=e.domNode,n=e.error,o=e.templateFunction,i=e.scopeNames;if(!o||!i)return null;if(n)return T.warn("Error occurred during compiling node content:",n),null;var s=null;try{s=o.apply(void 0,i.map((function(e){return t[e]})))}catch(n){T.warn('Error occurred when "'+this.self._name+'" is running','"'+String(o)+'": with bound','names "'+i.join('", "')+'":','"'+n+'". Rendering node:',r)}return s},r.evaluateDomNodeTemplate=function(e,t,r){var n=this;void 0===t&&(t={}),void 0===r&&(r={});var o=(r=d()({domNodeTemplateCache:this.domNodeTemplateCache,ignoreComponents:!0,ignoreNestedComponents:!0,unsafe:this.self.renderUnsafe},r)).domNodeTemplateCache;if(!o.has(e)){var i={filter:r.filter,ignoreComponents:r.ignoreComponents,ignoreNestedComponents:r.ignoreNestedComponents,unsafe:r.unsafe},s=this.compileDomNodeTemplate(e,t,i);s&&o.set(e,s)}if(o.has(e)){var a=o.get(e),p=this.evaluateCompiledDomNodeTemplate(a,t);if(null!==p&&(r.unsafe&&e.innerHTML?e.innerHTML=p:e.textContent=p),a.children.length){var l=function(e){for(var r,o=w(e);!(r=o()).done;){var i=r.value,s=n.evaluateCompiledDomNodeTemplate(i,t);null!==s&&(i.domNode.textContent=s),i.children.length&&l(i.children)}};l(a.children)}}r.applyBindings&&this.applyBindings(e,t)},r.addSecureEventListener=function(e,t,r,n,o){var i=this;this.domNodeEventBindings.has(e)||this.domNodeEventBindings.set(e,new Map);var s=this.domNodeEventBindings.get(e),a=s.get(t);a&&a!==r&&a();var p=function(){e.removeEventListener(t,r,o),s.delete(t),0===s.size&&i.domNodeEventBindings.delete(e)};return s.set(t,p),e.addEventListener(t,r,n),p},r.determineRootBinding=function(){for(var e=this.parentNode;e;){var r=e instanceof t||e.nodeName.includes("-")&&"#document-fragment"!==e.nodeName,n=null===e.parentNode&&"[object ShadowRoot]"===e.toString();r?(this.rootInstance===this&&(this.parentInstance=e,this.setPropertyValue("isRoot",!1)),this.rootInstance=e):n&&this.setPropertyValue("isRoot",!1),e=e.parentNode}},t.hasCode=function(e){return"string"==typeof e&&e.includes("${")&&e.includes("}")&&/\${[\s\S]+}/.test(e)},t.normalizePropertyTypeList=function(e){if("string"==typeof e&&(e=[e]),Array.isArray(e)){for(var r,n=e,o=new Map,i=w(n);!(r=i()).done;){var s=r.value;Object.prototype.hasOwnProperty.call(t.propertyTypes,s)&&o.set(s,t.propertyTypes[s])}return o}return(0,g.convertPlainObjectToMap)(e)},r.attachEventHandler=function(){if(null!==this.self.eventToPropertyMapping){var e=this.attachExplicitDefinedOutputEventHandler();this.attachImplicitDefinedOutputEventHandler(!e)}},r.attachExplicitDefinedOutputEventHandler=function(){var e=this;if(!this.self.eventToPropertyMapping)return!1;for(var t=!1,r=function(){var r=o[n];Object.prototype.hasOwnProperty.call(e.internalProperties,r)||(t=!0,e.outputEventNames.add(r),e.setInternalPropertyValue(r,p()(b().mark((function t(){var n,o,i,s,a=arguments;return b().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(n=a.length,o=new Array(n),i=0;i<n;i++)o[i]=a[i];return t.next=1,e.reflectEventToProperties(r,o);case 1:(s=t.sent)&&(o[0]=s),e.forwardEvent(r,o);case 2:case"end":return t.stop()}}),t)})))))},n=0,o=Object.keys(this.self.eventToPropertyMapping);n<o.length;n++)r();return t},r.attachImplicitDefinedOutputEventHandler=function(e){var t=this;void 0===e&&(e=!0);for(var r=function(){var r=o[n],i=r[0],s=r[1];Object.prototype.hasOwnProperty.call(t.internalProperties,i)||![P.func,"function"].includes(s)||t.self.renderProperties.includes(i)||(t.outputEventNames.add(i),t.setInternalPropertyValue(i,(function(){for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];e&&t.reflectEventToProperties(i,n),t.forwardEvent(i,n)})))},n=0,o=Object.entries(this.self.propertyTypes);n<o.length;n++)r()},r.triggerOutputEvents=function(){for(var e,t=w(this.outputEventNames);!(e=t()).done;){var r=e.value;this.forwardEvent(r,[this.externalProperties])}},r.forwardEvent=function(e,t){return e.length>3&&e.startsWith("on")&&(e=(0,g.lowerCase)(e.substring(2))),this.dispatchEvent(new CustomEvent(e,{detail:{parameters:t}}))},r.applySlots=function(e,r){for(var n=this,o=0,i=Array.from(e.querySelectorAll("slot"));o<i.length;o++){var s=i[o],a=s.getAttribute("name");if(null===a||"default"===a)if(this.slots.default){if(this.self.renderSlots){if(this.self.evaluateSlots)for(var p,l=w(this.slots.default);!(p=l()).done;){var c=p.value;this.evaluateDomNodeTemplate(c,r)}(0,g.replace)(s,this.slots.default,t.trimSlots)}}else this.slots.default=(0,g.unwrap)(s).map((function(e){return n.grabSlotContent(e)}));else this.slots[a]?this.self.renderSlots&&(this.self.evaluateSlots&&this.evaluateDomNodeTemplate(this.slots[a],r),(0,g.replace)(s,this.slots[a],t.trimSlots)):this.slots[a]=this.grabSlotContent((0,g.unwrap)(s).filter((function(e){return"#text"!==e.nodeName.toLowerCase()}))[0])}},r.grabSlotContent=function(e){var t,r=P.node.firstElementChild?e:null;if(r&&"textarea"===(null==(t=r.firstElementChild)?void 0:t.nodeName.toLowerCase())&&(!r.firstElementChild.hasAttribute("data-no-template")||"false"===r.firstElementChild.getAttribute("data-no-template"))){var n=r.firstElementChild.value;r.classList.remove("web-component-template");var o=r.cloneNode();return r.classList.add("web-component-template"),o.innerHTML="",o.template=n,o}return this.self.cloneSlots?e.cloneNode(!0):e},r.grabGivenSlots=function(){var e=this;this.slots={};for(var t=0,r=Array.from(this.querySelectorAll("[slot]"));t<r.length;t++){for(var n,o=r[t],i=o.parentNode,s=!0;i;){if(i.nodeName.includes("-")){i===this&&(s=!1);break}i=i.parentNode}if(!s){var a=null==(n=o.getAttribute("slot"))?void 0:n.trim();this.slots[null!=a?a:o.nodeName.toLowerCase()]=this.grabSlotContent(o)}}this.slots.default?this.slots.default=[].concat(this.slots.default):this.childNodes.length>0?this.slots.default=Array.from(this.childNodes).map((function(t){return e.grabSlotContent(t)})):this.slots.default=[]},r.isStateProperty=function(e){var t;return Boolean((null==(t=this.instance)||null==(t=t.current)?void 0:t.state)&&(Object.prototype.hasOwnProperty.call(this.instance.current.state,e)||this.instance.current.state.modelState&&Object.prototype.hasOwnProperty.call(this.instance.current.state.modelState,e)))},r.generateAliasIndex=function(){if(!this.self._propertyAliasIndex){this.self._propertyAliasIndex=d()({},this.self.propertyAliases);for(var e=0,t=Object.entries(this.self._propertyAliasIndex);e<t.length;e++){var r=t[e],n=r[0],o=r[1];Object.prototype.hasOwnProperty.call(this.self._propertyAliasIndex,o)||(this.self._propertyAliasIndex[o]=n)}}},r.reflectExternalProperties=function(e){this.ignoreAttributeUpdateObservations=!0;for(var t=0,r=Object.entries(e);t<r.length;t++){var n,o=r[t],i=o[0],s=o[1];if(this.setExternalPropertyValue(i,s),this.isConnected){var a=(0,g.camelCaseToDelimited)(i);if(null!=(n=this.self._propertiesToReflectAsAttributes)&&n.has(i))switch(this.self._propertiesToReflectAsAttributes.get(i)){case P.boolean:case"boolean":s?""!==this.getAttribute(a)&&this.setAttribute(a,""):this.hasAttribute(a)&&this.removeAttribute(a);break;case P.func:case"function":break;case"json":if(s){var p=JSON.stringify(s);if(p&&this.getAttribute(a)!==p){this.setAttribute(a,p);break}}this.hasAttribute(a)&&this.removeAttribute(a);break;case P.number:case"number":if("number"!=typeof s||isNaN(s))this.hasAttribute(a)&&this.removeAttribute(a);else{var l=String(s);this.getAttribute(a)!==l&&this.setAttribute(a,l)}break;case P.string:case"string":s?this.getAttribute(a)!==s&&this.setAttribute(a,s):this.hasAttribute(a)&&this.removeAttribute(a);break;case P.any:case P.array:case P.arrayOf:case P.element:case P.elementType:case P.instanceOf:case P.node:case P.object:case"object":case P.objectOf:case P.shape:case P.exact:case P.symbol:default:if(s){var c=(0,g.represent)(s);if(c&&this.getAttribute(a)!==c){this.setAttribute(a,c);break}}this.hasAttribute(a)&&this.removeAttribute(a)}}}this.ignoreAttributeUpdateObservations=!1},r.reflectProperties=function(e){var t,r;if(this.reflectExternalProperties(e),null!=(t=this.instance)&&null!=(t=t.current)&&t.state&&"object"==typeof this.instance.current.state)for(var n,o=w(Object.keys(this.instance.current.state).concat(this.instance.current.state.modelState?Object.keys(this.instance.current.state.modelState):[]));!(n=o()).done;){var i=n.value;Object.prototype.hasOwnProperty.call(this.internalProperties,i)&&this.setInternalPropertyValue(i,void 0)}null!=(r=this.internalProperties.model)&&r.state&&(delete this.internalProperties.model.state,this.setInternalPropertyValue("model",this.internalProperties.model));for(var s,a=w(this.self.controllableProperties);!(s=a()).done;){var p=s.value;Object.prototype.hasOwnProperty.call(e,p)&&this.setInternalPropertyValue(p,e[p])}},r.reflectEventToProperties=function(){var e=p()(b().mark((function e(t,r){var n,o,i,s,a,p,l,c,u,h,f,m,y,v,P,A,x;return b().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=this.batchUpdates,this.batchUpdates=!1,o=null,i=!1,!(this.self.eventToPropertyMapping&&Object.prototype.hasOwnProperty.call(this.self.eventToPropertyMapping,t)&&(0,g.isFunction)(this.self.eventToPropertyMapping[t]))){e.next=4;break}if(!((a=(s=this.self.eventToPropertyMapping)[t].apply(s,r.concat([this])))&&"then"in a&&(0,g.isFunction)(a.then))){e.next=2;break}return e.next=1,a;case 1:x=e.sent,e.next=3;break;case 2:x=a;case 3:p=x,i=!0,Array.isArray(p)?(o=p[0],this.reflectProperties(o),(0,g.extend)(!0,this.internalProperties,p[1])):null===p?i=!1:"object"==typeof p&&(o=p,this.reflectProperties(p));case 4:if(!i&&r.length>0&&(0,g.isObject)(r[0])){if(c=r[0],"persist"in r[0]&&(0,g.isFunction)(r[0].persist))for(c={},u=0,h=Object.keys(this.self.propertyTypes);u<h.length;u++)for(f=h[u],m=w([f].concat(null!==(v=this.getPropertyAlias(f))&&void 0!==v?v:[]));!(y=m()).done;)P=y.value,(A=r[0].currentTarget&&Object.prototype.hasOwnProperty.call(r[0].currentTarget,P)?r[0].currentTarget[P]:this.getPropertyValue(P))!==this.externalProperties[P]&&(c[P]=A);else[null,void 0].includes(null==(l=c.detail)?void 0:l.value)||(c=d()({},c.detail));o=c,this.reflectProperties(c)}return this.triggerRender("propertyReflected"),this.batchUpdates=n,e.abrupt("return",o);case 5:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.evaluateStringOrNullAndSetAsProperty=function(e,t){var r=this,n=e.startsWith("-"),o=n?e.substring(1):e,i=(0,g.delimitedToCamelCase)(o),s=this.getPropertyAlias(i);if(s&&Object.prototype.hasOwnProperty.call(this.self.propertyTypes,s)&&(i=s),Object.prototype.hasOwnProperty.call(this.self.propertyTypes,i)){var a=this.self.propertyTypes[i];if(n){if(t){var p=(0,g.evaluate)(t,d()({},g.UTILITY_SCOPE),!1,!0,this);p.error?(T.warn("Failed to process pre-evaluation attribute",'"'+e+'": '+p.error+". Will be",'set to "undefined".'),this.setInternalPropertyValue(i,void 0)):(this.setInternalPropertyValue(i,p.result),this.setExternalPropertyValue(i,p.result))}}else switch(a){case P.boolean:case"boolean":var l=![null,"false"].includes(t);this.setInternalPropertyValue(i,l),this.setExternalPropertyValue(i,l);break;case P.func:case"function":var c,u=null,h=["data","event","firstArgument","firstParameter","options"];if(t){var f=(0,g.compile)(t,h.concat("parameters","scope",g.UTILITY_SCOPE_NAMES),!0,!0,this);u=f.error,c=f.templateFunction,u&&T.warn("Failed to compile given handler",'"'+e+'": '+u+".")}this.setInternalPropertyValue(i,(function(){for(var n=arguments.length,o=new Array(n),s=0;s<n;s++)o[s]=arguments[s];r.outputEventNames.has(i)&&r.reflectEventToProperties(i,o);var a=void 0;if(!u){for(var p=d()({parameters:o},g.UTILITY_SCOPE),l=0,f=h;l<f.length;l++){var m=f[l];p[m]=o[0]}try{a=null==c?void 0:c.apply(void 0,h.map((function(e){return p[e]})).concat([o,p],g.UTILITY_SCOPE_NAMES.map((function(e){return g.UTILITY_SCOPE[e]}))))}catch(r){T.warn("Failed to evaluate function",'"'+e+'" with expression','"'+t+'" and scope',"variables",'"'+h.join('", "')+'" set to','"'+(0,g.represent)(o)+'":',r+". Set property",'to "undefined".')}}return r.self.renderProperties.includes(i)||r.forwardEvent(i,o),a})),u||this.setExternalPropertyValue(i,c);break;case"json":if(t){var m;try{m=JSON.parse(t)}catch(u){T.warn("Error occurred during parsing given json",'attribute "'+e+'":',(0,g.represent)(u));break}this.setInternalPropertyValue(i,m),this.setExternalPropertyValue(i,(0,g.copy)(m,!1,1))}else this.setInternalPropertyValue(i,null),this.setExternalPropertyValue(i,null);break;case P.number:case"number":if(null===t){this.setInternalPropertyValue(i,t),this.setExternalPropertyValue(i,t);break}var y=parseFloat(t);isNaN(y)&&(y=void 0),this.setInternalPropertyValue(i,y),this.setExternalPropertyValue(i,y);break;case P.string:case"string":this.setInternalPropertyValue(i,t),this.setExternalPropertyValue(i,t);break;case P.any:case P.array:case P.arrayOf:case P.element:case P.elementType:case P.instanceOf:case P.node:case P.object:case"object":case P.objectOf:case P.oneOf:case P.oneOfType:case P.shape:case P.exact:case P.symbol:default:if(t){var v=(0,g.evaluate)(t,{},!1,!0,this);if(v.error){T.warn("Error occurred during processing given",'attribute configuration "'+e+'":',v.error);break}this.setInternalPropertyValue(i,v.result),this.setExternalPropertyValue(i,(0,g.copy)(v.result,!1,1))}else this.hasAttribute(e)?(this.setInternalPropertyValue(i,!0),this.setExternalPropertyValue(i,!0)):(this.setInternalPropertyValue(i,null),this.setExternalPropertyValue(i,null))}}},r.waitForNestedComponentRendering=function(){var e=p()(b().mark((function e(){return b().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.childComponentInstances){e.next=1;break}return e.abrupt("return");case 1:return e.next=2,Promise.all(this.childComponentInstances.map((function(e){return e.renderState.pending?e.renderState.promise:Promise.resolve()})));case 2:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.resolveRenderingPromiseIfSet=function(){var e=p()(b().mark((function e(t,r){return b().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r){e.next=2;break}return e.next=1,this.waitForNestedComponentRendering();case 1:this.renderState.pending=!1,this.renderState.resolve(t),this.prepareNewRenderingPromise();case 2:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.prepareNewRenderingPromise=function(){var e=this;this.renderState.pending||(this.renderState.promise=new Promise((function(t){e.renderState.resolve=function(r){e.renderState.pending=!1,t(r)}})))},r.triggerRender=function(e){var t=this;this.batchUpdates?this.batchedUpdateRunning||(this.batchedUpdateRunning=!0,(0,g.timeout)((function(){t.batchedUpdateRunning=!1,t.render(e)}))):this.render(e)},r.applyShadowRootIfNotExisting=function(){this.self.shadowDOM&&this.hostDomNode===this&&(this.hostDomNode=(!("attachShadow"in this)&&"ShadyDOM"in window?window.ShadyDOM.wrap(this):this).attachShadow((0,g.isObject)(this.self.shadowDOM)?this.self.shadowDOM:{mode:"open"}))},r.determineRenderScope=function(e){var t,r;void 0===e&&(e={}),this.scope=d()({},(null==(t=this.parentInstance)?void 0:t.scope)||{},this.scope,this.internalProperties,((r={parentInstance:this.parentInstance,rootInstance:this.rootInstance,self:this})[(0,g.lowerCase)(this.self._name)||"instance"]=this,r),e),this.scope.scope=this.scope},r.render=function(){var e=p()(b().mark((function e(t,r){var n,o,i=this;return b().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===t&&(t="unknown"),void 0===r&&(r=!0),this.unRender("reRender",t),this.childComponentInstances=[],this.renderState.pending=!0,!this.isRoot){e.next=3;break}return e.next=1,this.resolveRenderingPromiseIfSet(t,r);case 1:if(!r){e.next=3;break}return e.next=2,Promise.all(this.self.pendingRenderPromises);case 2:this.self.pendingRenderPromises=[];case 3:if(this.self.pendingRenderPromises.push(this.renderState.promise),this.determineRenderScope(),this.self.doRender&&this.dispatchEvent(new CustomEvent("render",{detail:{reason:t,scope:this.scope}}))){e.next=5;break}return e.next=4,this.resolveRenderingPromiseIfSet(t,r);case 4:return e.abrupt("return");case 5:if(!(n=(0,g.evaluate)("`"+this.self.content+"`",this.scope)).error){e.next=7;break}return T.warn("Failed to process template: "+n.error),this.renderState.resolve(t),e.next=6,Promise.all(this.self.pendingRenderPromises);case 6:return e.abrupt("return");case 7:return this.applyShadowRootIfNotExisting(),(o=document.createElement("div")).innerHTML=n.result,this.applySlots(o,d()({},this.scope,{parentInstance:this})),this.hostDomNode.innerHTML=o.innerHTML,e.next=8,(0,g.timeout)();case 8:return this.waitForNestedComponentRendering().then((function(){i.applyBindings(i.hostDomNode.firstChild,i.scope,i.self.renderSlots)})),e.next=9,this.resolveRenderingPromiseIfSet(t,r);case 9:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}(),r.unRender=function(e,t){void 0===e&&(e="unknown"),this.unregisterDomNodeEventBindings()},t}(C),s.applyRootBinding=!0,s.pendingRenderPromises=[],s.content="<slot>Please provide a template to transclude.</slot>",s.determineRootBinding=!0,s.shadowDOM=null,s.observedAttributes=[],s.controllableProperties=[],s.eventToPropertyMapping={},s.propertyAliases={},s.propertyTypes={onClick:P.func},s.propertiesToReflectAsAttributes=[],s.renderProperties=["children"],s.doRender=!1,s.cloneSlots=!1,s.evaluateSlots=!1,s.renderSlots=!0,s.trimSlots=!0,s.renderUnsafe=!1,s._name="BaseWeb",s._propertyAliasIndex=void 0,s._propertiesToReflectAsAttributes=void 0,o=s,i=y()(o.prototype,"isRoot",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),o);t.default=S},function(e){e.exports=c},function(e){e.exports=u},function(e){e.exports=d},function(e){e.exports=s},function(e,t,r){var n=r(0),o=r.n(n),i=r(4),s=r.n(i),a=r(3),p=r.n(a),l=r(5),c=r.n(l),u=r(1),d=r(2),h=r(11),f=r.n(h),m=r(13),y=r(14),v=r(7);function b(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return g(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?g(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var P=new u.Logger({name:"web-component-wrapper-web"}),A=function(e){function t(){for(var r,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return(r=e.call.apply(e,[this].concat(o))||this).unmountOnDisconnect=!0,r.compiledSlots={},r.preparedSlots={},r.reactRoot=null,r.rootReactInstance=null,r.self=t,r.wrapMemorizingWrapper=null,r.isWrapped=!1,r.reflectInstanceProperties=function(){var e;null!=(e=r.instance)&&e.current&&r.instance.current.properties&&r.reflectProperties(r.instance.current.properties)},r}p()(t,e);var r=t.prototype;return r.connectedCallback=function(){this.applyComponentWrapper(),this.rootReactInstance=this,e.prototype.connectedCallback.call(this)},r.disconnectedCallback=function(){var e;this.unRender("disconnected"),this.unmountOnDisconnect&&(null==(e=this.reactRoot)||e.unmount()),this.unregisterConnectionState()},r.reflectExternalProperties=function(t){this.isRoot&&e.prototype.reflectExternalProperties.call(this,t)},r.render=function(){var t=s()(c().mark((function t(r,n){var i,s,a,p,l=this;return c().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0===r&&(r="unknown"),void 0===n&&(n=!0),e.prototype.unRender.call(this,"reRender",r),this.childComponentInstances=[],this.renderState.pending=!0,this.isRoot&&(this.self.pendingRenderPromises=[]),this.self.pendingRenderPromises.push(this.renderState.promise),this.rootReactInstance===this&&this.dispatchEvent(new CustomEvent("render",{detail:{reason:r,scope:this.scope}}))){t.next=1;break}return t.abrupt("return",this.resolveRenderingPromiseIfSet(r,n));case 1:if(this.determineRenderScope(),0===Object.keys(this.compiledSlots).length&&this.preCompileSlots(),this.evaluateSlots(o()({},this.scope,{parentInstance:this})),this.prepareProperties(this.internalProperties),this.applyShadowRootIfNotExisting(),this.rootInstance!==this&&!this.reactRoot)for(i=this.firstChild;i;)s=i.nextSibling,this.removeChild(i),i=s;if(this.reactRoot||(a=this.id||this.internalProperties.id||this.externalProperties.id||this.name||this.internalProperties.name||this.externalProperties.name,p="","string"==typeof a&&(p=a),this.reactRoot=(0,y.createRoot)(this.hostDomNode,{identifierPrefix:p})),(0,m.flushSync)((function(){var e;null==(e=l.reactRoot)||e.render((0,h.createElement)(l.self.content,l.internalProperties)),l.resolveRenderingPromiseIfSet(r,n)})),!n){t.next=2;break}return t.next=2,this.renderState.promise;case 2:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.setPropertyValue=function(e,t){var r;this.reflectProperties(((r={})[e]=(0,u.copy)(t,!1,1),r)),this.setInternalPropertyValue(e,(0,u.copy)(t,!1,1))},r.setInternalPropertyValue=function(t,r){null===r?r=d.NullSymbol:void 0===r&&(r=d.UndefinedSymbol),e.prototype.setInternalPropertyValue.call(this,t,r)},r.preCompileDomNodes=function(e,t,r){if(void 0===t&&(t={}),void 0===r&&(r=!1),1===(e=e.filter((function(e){return e.nodeType!==Node.TEXT_NODE||"string"==typeof e.nodeValue&&""!==e.nodeValue.trim()}))).length)return this.preCompileDomNode(e[0],t,r);for(var n,o=1,i=[],s=b(e);!(n=s()).done;){var a=n.value,p=this.preCompileDomNode(a,t,r,o.toString());i.push(p),o+=1}return r?function(e){return function(){for(var t,r=[],n=b(i);!(t=n()).done;){var o=(0,t.value)(e);"function"==typeof o&&r.push(o.apply(void 0,arguments))}return(0,h.createElement)(h.Fragment,{children:r})}}:i},r.preCompileDomNode=function(e,t,r,n){var i=this;if(void 0===t&&(t={}),void 0===r&&(r=!1),r){var s=this.preCompileDomNode(e,o()({},t,{data:void 0,firstArgument:void 0,firstParameter:void 0,options:void 0,scope:void 0,parameters:void 0}),!1,n);return function(e){return function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=r.length>0?r[0]:null;return s(o()({},e,{data:i,firstArgument:i,firstParameter:i,options:i,scope:i,parameters:r}))}}}if(e.nodeType===Node.TEXT_NODE){var a="string"==typeof e.nodeValue?e.nodeValue.trim():"",p=n&&a?(0,h.createElement)(h.Fragment,{children:a,key:n}):a||null;return function(){return p}}if(!e.getAttributeNames)return function(){return null};var l,c={},d=this.self.isReactComponent(e);d?(e.determineRenderScope(),0===Object.keys(this.compiledSlots).length&&e.preCompileSlots(),n&&!Object.prototype.hasOwnProperty.call(c,"key")&&(c.key=n),l=e.constructor.content):(c.key=n,l=e.tagName.toLowerCase());for(var f,m=Object.keys(t),y={},v=function(){var r,n=f.value,o=e.getAttribute(n);if(null===o)return 0;var s=!1,a="";if(n.startsWith("data-bind-")?a=n.substring(10):n.startsWith("bind-")&&(a=n.substring(5)),a.startsWith("attribute-")||"attributes"===a||a.startsWith("property-")||"properties"===a){var p=(0,u.compile)(o,m),l=p.error,h=p.originalScopeNames,v=p.templateFunction;if(l)return P.warn("Error occurred during compiling given attribute",'binding "'+n+'" on node:',e,l),0;"attributes"===a||"properties"===a?s=!0:a=a.startsWith("attribute-")?a.substring(10):a.substring(9),o={originalScopeNames:h,templateFunction:v.bind(i)}}else if(a.startsWith("on-")){a=(0,u.delimitedToCamelCase)(a),Object.prototype.hasOwnProperty.call(t,"event")||(m=[].concat(m,["event"])),Object.prototype.hasOwnProperty.call(t,"parameters")||(m=[].concat(m,["parameters"]));var b=(0,u.compile)(o,m,!0),g=b.error,A=b.originalScopeNames,w=b.scopeNames,x=b.templateFunction;if(g)return P.warn("Error occurred during compiling given event",'binding "'+n+'" on node:',e,g),0;var T=x.bind(i);o=function(){for(var r=arguments.length,i=new Array(r),s=0;s<r;s++)i[s]=arguments[s];t.event=i[0],t.parameters=i;try{T.apply(void 0,A.map((function(e){return t[e]})))}catch(t){P.warn("Error occurred during processing given",'event binding "'+n+'" on node: ',e,'Given expression "'+o+'" could',"not be evaluated with given scope names",'"'+w.join('", "')+'":',(0,u.represent)(t))}}}else a=n;var C={class:"className",for:"htmlFor"};Object.prototype.hasOwnProperty.call(C,a)&&(a=C[a]),a=(0,u.delimitedToCamelCase)(a),null!=(r=o)&&r.originalScopeNames?y[s?"":a]=o:d||(c[a]=o)},g=b(e.getAttributeNames());!(f=g()).done;)v();if(!d){var A=Array.from(e.childNodes);A.length&&(c.children=this.preCompileDomNodes(A,t))}return function(r){(r=o()({},t,r)).scope=r;for(var n=o()({},c),s=0,a=Object.entries(y);s<a.length;s++){var p=a[s],u=p[0],f=p[1],m=f.originalScopeNames,v=f.templateFunction.apply(void 0,m.map((function(e){return r[e]})));""===u?n=o()({},n,v):n[u]=v}return Object.prototype.hasOwnProperty.call(n,"innerHTML")&&(n.dangerouslySetInnerHTML={__html:n.innerHTML},delete n.children,delete n.innerHTML),Object.prototype.hasOwnProperty.call(n,"textContent")?(n.children=n.textContent,delete n.textContent):d?(n=o()({},e.internalProperties,n),r=o()({},n,r,{parentInstance:e}),e.evaluateSlots(r),e.prepareProperties(n)):n.children&&(n.children=i.evaluatePreCompiledDomNodes(n.children,r)),(0,h.createElement)(l,n)}},r.evaluatePreCompiledDomNodes=function(e,t){if(void 0===t&&(t={}),!Array.isArray(e))return e(t);if(1===e.length)return e[0](t);for(var r,n=[],o=b(e);!(r=o()).done;){var i=(0,r.value)(t);i&&n.push(i)}return n},r.preCompileSlots=function(){for(var e in this.slots)this.slots[e]&&"default"!==e&&(this.compiledSlots[e]=this.preCompileDomNode(this.slots[e],o()({},this.scope,{parentInstance:this}),[d.func,"function"].includes(this.self.propertyTypes[e])));this.slots.default&&this.slots.default.length>0&&(this.compiledSlots.children=this.preCompileDomNodes(this.slots.default,o()({},this.scope,{parentInstance:this}),[d.func,"function"].includes(this.self.propertyTypes.children)))},r.evaluateSlots=function(e){for(var t in this.preparedSlots={},this.compiledSlots)Object.prototype.hasOwnProperty.call(this.compiledSlots,t)&&("children"===t?this.preparedSlots.children=this.evaluatePreCompiledDomNodes(this.compiledSlots[t],e):this.preparedSlots[t]=this.compiledSlots[t](e))},t.isReactComponent=function(e){var t=e.constructor;return"object"==typeof t.content&&(!t.attachWebComponentAdapterIfNotExists||"react"===t.content.webComponentAdapterWrapped)},r.determineRootBinding=function(){e.prototype.determineRootBinding.call(this);for(var t=this.parentNode;t;){if(this.self.isReactComponent(t)){this.rootReactInstance=t;break}t=t.parentNode}},r.applyComponentWrapper=function(){if("string"!=typeof this.self.content&&!this.isWrapped){this.isWrapped=!0;var e=this.self.content.wrapped||this.self.content;this.self.content.webComponentAdapterWrapped?this.wrapMemorizingWrapper&&(this.self.content=(0,h.memo)(this.self.content),this.self.content.wrapped=e):this.self.attachWebComponentAdapterIfNotExists?(this.self.content.displayName||(this.self.content.displayName=this.self._name),this.self.content=(0,h.forwardRef)((function(t,r){return(0,h.useImperativeHandle)(r,(function(){return{properties:t}}),[t]),(0,h.createElement)(e,t)})),(this.wrapMemorizingWrapper||null===this.wrapMemorizingWrapper)&&(this.self.content=(0,h.memo)(this.self.content)),this.self.content.wrapped=e,this.self.content.webComponentAdapterWrapped="react"):this.wrapMemorizingWrapper&&(this.self.content=(0,h.memo)(this.self.content),this.self.content.wrapped=e)}},r.prepareProperties=function(e){var t=this;(0,u.extend)(e,this.preparedSlots),this.self.removeKnownUnwantedPropertyKeys(this.self,e),e.ref||(this.instance=(0,h.createRef)(),e.ref=function(e){t.instance?t.instance.current=e:t.instance={current:e},t.reflectInstanceProperties()})},t.removeKnownUnwantedPropertyKeys=function(e,t){if("string"!=typeof e.content)for(var r,n=b(["isRoot","isTrusted","__composed"]);!(r=n()).done;){var o=r.value;Object.prototype.hasOwnProperty.call(t,o)&&(Object.prototype.hasOwnProperty.call(e.content,"propTypes")&&!Object.prototype.hasOwnProperty.call(e.content.propTypes,o)||Object.prototype.hasOwnProperty.call(e.content,"wrapped")&&Object.prototype.hasOwnProperty.call(e.content.wrapped,"propTypes")&&!Object.prototype.hasOwnProperty.call(e.content.wrapped.propTypes,o))&&delete t[o]}},t}(v.default);A.attachWebComponentAdapterIfNotExists=!0,A.content="div",A.react=f(),A._name="ReactWebComponent";t.default=A},function(e){e.exports=p},function(e){e.exports=l},function(e,t,r){var n=r(0),o=r.n(n),i=r(3),s=r.n(i),a=r(1),p=r(12).default;t.default=function(e,t,r){var n,i,l;void 0===t&&(t="NoName"),void 0===r&&(r={});var c=e._name||(null==(n=e.___types)||null==(n=n.name)?void 0:n.name)||t.replace(/^(.*\/+)?([^/]+)\.tsx$/,"$2");r.propTypes&&(e.propTypes=r.propTypes);var u=e.propTypes||{},d=r.propertyAliases||e.propertyAliases||{},h=(0,a.unique)(Object.keys(u).concat(Object.keys(d)).concat(Object.values(d))),f=r.propertiesToReflectAsAttributes||e.propertiesToReflectAsAttributes||[];if(p.propertiesToReflectAsAttributes)if(Array.isArray(f))f=[].concat(p.propertiesToReflectAsAttributes,f);else if(f instanceof Map)for(var m=0,y=p.propertiesToReflectAsAttributes;m<y.length;m++){var v=y[m];f.set(v,p.propertyTypes[v])}else if("object"==typeof f)for(var b=0,g=p.propertiesToReflectAsAttributes;b<g.length;b++){var P=g[b];f[P]=p.propertyTypes[P]}var A=h.map((function(e){return(0,a.camelCaseToDelimited)(e)})),w=function(t){function n(){for(var i,s,a=arguments.length,p=new Array(a),l=0;l<a;l++)p[l]=arguments[l];return(s=t.call.apply(t,[this].concat(p))||this).self=n,s.internalProperties=r.internalProperties?o()({},r.internalProperties):e.internalProperties?o()({},e.internalProperties):{},s.unmountOnDisconnect=null===(i=r.unmountOnDisconnect)||void 0===i||i,s}return s()(n,t),n}(p);return w.attachWebComponentAdapterIfNotExists="boolean"!=typeof r.attachWebComponentAdapterIfNotExists||r.attachWebComponentAdapterIfNotExists,w.content=e,w.observedAttributes=p.observedAttributes.concat(A).concat(A.map((function(e){return"-"+e}))),w.controllableProperties=e.controllableProperties||r.controllableProperties||[],w.eventToPropertyMapping=null===r.eventToPropertyMapping?r.eventToPropertyMapping:r.eventToPropertyMapping?o()({},r.eventToPropertyMapping):null===e.eventToPropertyMapping?e.eventToPropertyMapping:e.eventToPropertyMapping?o()({},e.eventToPropertyMapping):{},w.propertyAliases=o()({},p.propertyAliases,d),w.propertiesToReflectAsAttributes=f,w.propertyTypes=o()({},p.propertyTypes,u),w.renderProperties=null!==(i=null!==(l=r.renderProperties)&&void 0!==l?l:e.renderProperties)&&void 0!==i?i:p.renderProperties,w._name=c,{component:w,register:function(e){void 0===e&&(e=(0,a.camelCaseToDelimited)(c)),customElements.define(e,w)}}}},,function(e){e.exports=a}],f={};function m(e){var t=f[e];if(void 0!==t)return t.exports;var r=f[e]={exports:{}};return h[e](r,r.exports,m),r.exports}m.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return m.d(t,{a:t}),t},m.d=function(e,t){for(var r in t)m.o(t,r)&&!m.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},m.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},m.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var y={};m.r(y);var v=m(0),b=m.n(v),g=m(4),P=m.n(g),A=m(3),w=m.n(A),x=m(5),T=m.n(x),C=m(1),S=m(2),O=m(11),R=m(17),N=m(15),E=m(12),I=m(7);return(0,R.describe)("Web",(function(){(0,R.test)("constructor",(function(){var e=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return(t=e.call.apply(e,[this].concat(n))||this).onClick=R.jest.fn(),t}return w()(t,e),t}(I.default);e.observedAttributes=["is-root","on-click","on-event"],(0,R.expect)(e).toHaveProperty("content"),(0,R.expect)(e).toHaveProperty("observedAttributes"),customElements.define("test-web",e);var t=document.createElement("test-web");(0,R.expect)(t).not.toHaveProperty("clicked"),t.setAttribute("on-click","this.clicked = true"),(0,R.expect)(t).not.toHaveProperty("clicked"),document.body.appendChild(t),(0,R.expect)(t).toHaveProperty("rootInstance",t),(0,R.expect)(t).not.toHaveProperty("clicked"),t.onClick(),(0,R.expect)(t).toHaveProperty("clicked",!0);var r=R.jest.fn();t.addEventListener("click",r),(0,R.expect)(r).not.toHaveBeenCalled(),t.onClick(),(0,R.expect)(r).toHaveBeenCalled()}))})),(0,R.describe)("ReactWeb",(function(){(0,R.test)("constructor",P()(T().mark((function e(){var t,r,n,o,i,s,a,p,l;return T().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o="initial",i=function(e){var t=e.onEvent,r=e.property,i=void 0===r?o:r;return n=t,o=i,(0,O.createElement)("div",{className:i})},s=function(e){function t(){for(var r,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return(r=e.call.apply(e,[this].concat(o))||this).self=t,r.onClick=R.jest.fn(),r.onEvent=R.jest.fn(),r}return w()(t,e),t}(E.default),s._name="Test",s.content=i,s.observedAttributes=["is-root","on-click","on-event"],s.propertyTypes=b()({},I.default.propertyTypes,{onEvent:S.func,property:S.string}),(0,R.expect)(s).toHaveProperty("content"),(0,R.expect)(s).toHaveProperty("observedAttributes"),customElements.define("test-react",s),a=document.createElement("test-react"),(0,R.expect)(a).not.toHaveProperty("clicked"),a.setAttribute("on-click","this.clicked = true"),(0,R.expect)(a).toHaveProperty("onClick"),(0,R.expect)(a).not.toHaveProperty("clicked"),a.setAttribute("on-event","this.eventHappened = true"),(0,R.expect)(a).toHaveProperty("onEvent"),(0,R.expect)(n).not.toBeDefined(),document.body.appendChild(a),(0,R.expect)(a).toHaveProperty("rootInstance",a),(0,R.expect)(a).toHaveProperty("reactRoot"),(0,R.expect)(n).not.toBeDefined(),e.next=1,(0,C.timeout)();case 1:return(0,R.expect)(n).toBeDefined(),(0,R.expect)(a).not.toHaveProperty("eventHappened"),n&&n(),(0,R.expect)(a).toHaveProperty("eventHappened",!0),p=R.jest.fn(),a.addEventListener("event",p),(0,R.expect)(p).not.toHaveBeenCalled(),n&&n(),(0,R.expect)(p).toHaveBeenCalled(),(0,R.expect)(a).not.toHaveProperty("clicked"),a.onClick(),(0,R.expect)(a).toHaveProperty("clicked",!0),l=R.jest.fn(),a.addEventListener("click",l),(0,R.expect)(l).not.toHaveBeenCalled(),a.onClick(),(0,R.expect)(l).toHaveBeenCalled(),(0,R.expect)(o).toStrictEqual("initial"),(0,R.expect)(null==(t=document.querySelector("div"))?void 0:t.className).toStrictEqual("initial"),a.property="test",e.next=2,(0,C.timeout)();case 2:(0,R.expect)(a).toHaveProperty("property","test"),(0,R.expect)(null==(r=document.querySelector("div"))?void 0:r.className).toStrictEqual("test");case 3:case"end":return e.stop()}}),e)}))))})),(0,R.describe)("index",(function(){(0,R.test)("wrapAsWebComponent",(function(){var e=(0,N.default)((function(){return(0,O.createElement)("div")}),"TestComponent",{eventToPropertyMapping:{},propertyAliases:{alternateName:"name"},propertiesToReflectAsAttributes:[],propTypes:{name:"string"}});(0,R.expect)(e).toHaveProperty("component"),(0,R.expect)(e).toHaveProperty("register"),(0,R.expect)(e.component).toHaveProperty("_name","TestComponent"),(0,R.expect)(e.component).toHaveProperty("propertyTypes.name","string"),(0,R.expect)(e.component).toHaveProperty("propertiesToReflectAsAttributes",["isRoot"]),(0,R.expect)(e.component).toHaveProperty("eventToPropertyMapping",{})}))})),y}()}));
1
+ if(typeof window==='undefined'||window===null)var window=(typeof global==='undefined'||global===null)?{}:global;import { flushSync as __WEBPACK_EXTERNAL_MODULE_react_dom_c0b5c364_flushSync__ } from "react-dom";
2
+ import { createRoot as __WEBPACK_EXTERNAL_MODULE_react_dom_client_82ef521c_createRoot__ } from "react-dom/client";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_clientnode__ from "clientnode";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__ from "clientnode/property-types";
5
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
6
+ import { describe as __WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_describe__, expect as __WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__, jest as __WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_jest__, test as __WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_test__ } from "@jest/globals";
7
+ /******/ var __webpack_modules__ = ([
8
+ /* 0 */
9
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
10
+
11
+ var x = function(y) {
12
+ var x = {}; __webpack_require__.d(x, y); return x
13
+ }
14
+ var y = function(x) { return function() { return x; }; }
15
+ module.exports = x({ ["Logger"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.Logger; }, ["NOOP"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.NOOP; }, ["UTILITY_SCOPE"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.UTILITY_SCOPE; }, ["UTILITY_SCOPE_NAMES"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.UTILITY_SCOPE_NAMES; }, ["camelCaseToDelimited"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.camelCaseToDelimited; }, ["compile"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.compile; }, ["convertPlainObjectToMap"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.convertPlainObjectToMap; }, ["copy"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.copy; }, ["delimitedToCamelCase"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.delimitedToCamelCase; }, ["evaluate"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.evaluate; }, ["extend"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.extend; }, ["isFunction"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.isFunction; }, ["isObject"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.isObject; }, ["lowerCase"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.lowerCase; }, ["replace"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.replace; }, ["represent"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.represent; }, ["timeout"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.timeout; }, ["unique"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.unique; }, ["unwrap"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.unwrap; } });
16
+
17
+ /***/ }),
18
+ /* 1 */
19
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
20
+
21
+ var x = function(y) {
22
+ var x = {}; __webpack_require__.d(x, y); return x
23
+ }
24
+ var y = function(x) { return function() { return x; }; }
25
+ module.exports = x({ ["NullSymbol"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.NullSymbol; }, ["UndefinedSymbol"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.UndefinedSymbol; }, ["any"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.any; }, ["array"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.array; }, ["arrayOf"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.arrayOf; }, ["boolean"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.boolean; }, ["element"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.element; }, ["elementType"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.elementType; }, ["exact"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.exact; }, ["func"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.func; }, ["instanceOf"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.instanceOf; }, ["node"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.node; }, ["number"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.number; }, ["object"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.object; }, ["objectOf"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.objectOf; }, ["oneOf"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.oneOf; }, ["oneOfType"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.oneOfType; }, ["shape"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.shape; }, ["string"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.string; }, ["symbol"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode_property_types_4789ebe2__.symbol; } });
26
+
27
+ /***/ }),
28
+ /* 2 */
29
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
30
+
31
+ /* unused harmony export property */
32
+ /* harmony import */ var clientnode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
33
+ /* harmony import */ var clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
34
+ // #!/usr/bin/env babel-node
35
+ // -*- coding: utf-8 -*-
36
+ /** @module decorator *//* !
37
+ region header
38
+ [Project page](https://torben.website/web-component-wrapper)
39
+
40
+ Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
41
+
42
+ License
43
+ -------
44
+
45
+ This library written by Torben Sickert stands under a creative commons
46
+ naming 3.0 unported license.
47
+ See https://creativecommons.org/licenses/by/3.0/deed.de
48
+ endregion
49
+ */// region imports
50
+ function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}// endregion
51
+ /**
52
+ * Generates a decorator based on given configuration.
53
+ * @param options - Property configuration to define how to transfer attributes
54
+ * and properties into each other.
55
+ * @param options.alias - Alternate property name.
56
+ * @param options.readAttribute - Indicates whether to read from existing
57
+ * attribute also.
58
+ * @param options.type - Value type to parse value.
59
+ * @param options.update - Indicates whether to overwrite already existing
60
+ * property configurations.
61
+ * @param options.writeAttribute - Indicates whether to sync attribute
62
+ * representation back into dom.
63
+ * @returns Generated decorator.
64
+ */function property(options){if(options===void 0){options={}}options=_objectSpread({readAttribute:true,type:clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.string},options);/**
65
+ * Registers given property to different property / attribute conversion
66
+ * data structures.
67
+ * NOTE: It is important to set static configuration properties on its
68
+ * "own" properties instead of some inherited one. So we have to check via
69
+ * "hasOwnProperty" for existence in this decorator.
70
+ * @param target - Instance to apply given property to.
71
+ * @param name - Field name to apply.
72
+ */return function(target,name){if(typeof name!=="string")return;var self=target.self||target.constructor;if(options.readAttribute){if(!Object.prototype.hasOwnProperty.call(self,"observedAttributes"))self.observedAttributes=self.observedAttributes?_toConsumableArray(self.observedAttributes):[];var attributeName=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.camelCaseToDelimited)(name);if(self.observedAttributes&&!self.observedAttributes.includes(attributeName))self.observedAttributes.push(attributeName)}if(options.type){if(!Object.prototype.hasOwnProperty.call(self,"propertyTypes"))self.propertyTypes=self.propertyTypes?_objectSpread({},self.propertyTypes):{};if(self.propertyTypes&&(options.update||!Object.prototype.hasOwnProperty.call(self,name)))self.propertyTypes[name]=options.type}if(options.writeAttribute){if(!Object.prototype.hasOwnProperty.call(self,"propertiesToReflectAsAttributes"))self.propertiesToReflectAsAttributes=self.propertiesToReflectAsAttributes?(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.copy)(self.propertiesToReflectAsAttributes):[];if(options.update||self.propertiesToReflectAsAttributes instanceof Map&&!self.propertiesToReflectAsAttributes.has(name)||Array.isArray(self.propertiesToReflectAsAttributes)&&!self.propertiesToReflectAsAttributes.includes(name)||_typeof(self.propertiesToReflectAsAttributes)==="object"&&!Object.prototype.hasOwnProperty.call(self.propertiesToReflectAsAttributes,name)){var result;if(typeof options.writeAttribute==="boolean"){if(options.writeAttribute&&self.propertyTypes&&Object.prototype.hasOwnProperty.call(self.propertyTypes,name))result=self.propertyTypes[name]}else result=options.writeAttribute;if(result!==undefined){if(Array.isArray(self.propertiesToReflectAsAttributes))if(options.writeAttribute===true)self.propertiesToReflectAsAttributes.push(name);else if(self.normalizePropertyTypeList)self.propertiesToReflectAsAttributes=self.normalizePropertyTypeList(self.propertiesToReflectAsAttributes);if(self.propertiesToReflectAsAttributes instanceof Map)self.propertiesToReflectAsAttributes.set(name,result);if(_typeof(self.propertiesToReflectAsAttributes)==="object")self.propertiesToReflectAsAttributes[name]=result}}}if(options.alias){if(!Object.prototype.hasOwnProperty.call(self,"propertyAliases"))self.propertyAliases=self.propertyAliases?_objectSpread({},self.propertyAliases):{};if(self.propertyAliases&&(options.update||!Object.prototype.hasOwnProperty.call(self,name)))self.propertyAliases[name]=options.alias}}}/* harmony default export */ __webpack_exports__.A = (property);
73
+
74
+ /***/ }),
75
+ /* 3 */
76
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
77
+
78
+ /* unused harmony exports log, GenericHTMLElement, Web, api */
79
+ /* unused harmony import specifier */ var camelCaseToDelimited;
80
+ /* harmony import */ var clientnode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
81
+ /* harmony import */ var clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
82
+ /* harmony import */ var _decorator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2);
83
+ // #!/usr/bin/env babel-node
84
+ // -*- coding: utf-8 -*-
85
+ /** @module web *//* !
86
+ region header
87
+ [Project page](https://torben.website/web-component-wrapper)
88
+
89
+ Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
90
+
91
+ License
92
+ -------
93
+
94
+ This library written by Torben Sickert stands under a creative commons
95
+ naming 3.0 unported license.
96
+ See https://creativecommons.org/licenses/by/3.0/deed.de
97
+ endregion
98
+ */// region imports
99
+ var _dec,_class,_descriptor,_Web;function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof Generator?n:Generator,u=Object.create(c.prototype);return _regeneratorDefine2(u,"_invoke",function(r,n,o){var i,c,u,f=0,p=o||[],y=!1,G={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function d(t,r){return i=t,c=0,u=e,G.n=r,a}};function d(r,n){for(c=r,u=n,t=0;!y&&f&&!o&&t<p.length;t++){var o,i=p[t],d=G.p,l=i[2];r>3?(o=l===n)&&(u=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=r<2&&d<i[1])?(c=0,G.v=n,G.n=i[1]):d<l&&(o=r<3||i[0]>n||n>l)&&(i[4]=r,i[5]=n,G.n=l,c=0))}if(o||r>1)return a;throw y=!0,n}return function(o,p,l){if(f>1)throw TypeError("Generator is already running");for(y&&1===p&&d(p,l),c=p,u=l;(t=c<2?e:u)||!y;){i||(c?c<3?(c>1&&(G.n=-1),d(c,u)):G.n=u:G.v=u);try{if(f=2,i){if(c||(o="next"),t=i[o]){if(!(t=t.call(i,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,c<2&&(c=0)}else 1===c&&(t=i.return)&&t.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=e}else if((t=(y=G.n<0)?u:r.call(n,G))!==a)break}catch(t){i=e,c=1,u=t}finally{f=1}}return{value:t,done:y}}}(r,o,i),!0),u}var a={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}t=Object.getPrototypeOf;var c=[][n]?t(t([][n]())):(_regeneratorDefine2(t={},n,function(){return this}),t),u=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(c);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,GeneratorFunctionPrototype):(e.__proto__=GeneratorFunctionPrototype,_regeneratorDefine2(e,o,"GeneratorFunction")),e.prototype=Object.create(u),e}return GeneratorFunction.prototype=GeneratorFunctionPrototype,_regeneratorDefine2(u,"constructor",GeneratorFunctionPrototype),_regeneratorDefine2(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName="GeneratorFunction",_regeneratorDefine2(GeneratorFunctionPrototype,o,"GeneratorFunction"),_regeneratorDefine2(u),_regeneratorDefine2(u,o,"Generator"),_regeneratorDefine2(u,n,function(){return this}),_regeneratorDefine2(u,"toString",function(){return"[object Generator]"}),(_regenerator=function _regenerator(){return{w:i,m:f}})()}function _regeneratorDefine2(e,r,n,t){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}_regeneratorDefine2=function _regeneratorDefine(e,r,n,t){function o(r,n){_regeneratorDefine2(e,r,function(e){return this._invoke(r,n,e)})}r?i?i(e,r,{value:n,enumerable:!t,configurable:!t,writable:!t}):e[r]=n:(o("next",0),o("throw",1),o("return",2))},_regeneratorDefine2(e,r,n,t)}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value}catch(n){return void e(n)}i.done?t(u):Promise.resolve(u).then(r,o)}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n)}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n)}_next(void 0)})}}function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]}},e:function e(r){throw r},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function s(){t=t.call(r)},n:function n(){var r=t.next();return a=r.done,r},e:function e(r){u=!0,o=r},f:function f(){try{a||null==t.return||t.return()}finally{if(u)throw o}}}}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _initializerDefineProperty(e,i,r,l){r&&Object.defineProperty(e,i,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(l):void 0})}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e)}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e))}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _applyDecoratedDescriptor(i,e,r,n,l){var a={};return Object.keys(n).forEach(function(i){a[i]=n[i]}),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=r.slice().reverse().reduce(function(r,n){return n(i,e,r)||r},a),l&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(l):void 0,a.initializer=void 0),void 0===a.initializer?(Object.defineProperty(i,e,a),null):a}function _initializerWarningHelper(r,e){throw Error("Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform.")}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o)}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function")}// endregion
100
+ var log=new clientnode__WEBPACK_IMPORTED_MODULE_0__.Logger({name:"web-component-wrapper.web"});/*
101
+ NOTE: We mock HTMLElement to be able to load this class and derived one
102
+ into node environments.
103
+ */var GenericHTMLElement=typeof HTMLElement==="undefined"?/*#__PURE__*/// eslint-disable-next-line @typescript-eslint/no-extraneous-class
104
+ _createClass(function HTMLElement(){_classCallCheck(this,HTMLElement)}):HTMLElement;/**
105
+ * Generic web component to render a content against instance-specific values.
106
+ * @property applyRootBinding - If determined itself as root declarative event
107
+ * and property bindings will be applied to itself.
108
+ * @property content - Content to render when changes happened.
109
+ * @property determineRootBinding - If checked this component determines if it
110
+ * is a root component (not wrapped by another web-component).
111
+ * @property shadowDOM - Configures if a shadow dom should be used during
112
+ * web-component instantiation. Can hold initialize configuration.
113
+ * @property observedAttributes - Attribute names to observe for changes.
114
+ * @property controllableProperties - A list of controllable property names.
115
+ * @property eventToPropertyMapping - Explicitly defined output events (a
116
+ * mapping of event names to a potential parameter to properties-transformer).
117
+ * @property propertyAliases - A mapping of property names to be treated as
118
+ * equal.
119
+ * @property propertyTypes - Configuration defining how to convert attributes
120
+ * into properties and reflect property changes back to attributes.
121
+ * @property propertiesToReflectAsAttributes - An Item, List, or Mapping of
122
+ * properties to reflect as attributes.
123
+ * @property renderProperties - List of known render properties.
124
+ * @property cloneSlots - Indicates whether to clone slot before to transclude
125
+ * content into them. If a slot should be used multiple times (for example,
126
+ * when it works as a template node.) they should be copied to avoid unexpected
127
+ * mutations.
128
+ * @property doRender - Configures whether this component instance should
129
+ * evaluate its given body content.
130
+ * @property evaluateSlots - Indicates whether to evaluate slot content when
131
+ * before rendering them.
132
+ * @property renderSlots - Indicates whether determined slots should be
133
+ * rendered into root node.
134
+ * @property trimSlots - Ignore empty text nodes while applying slots.
135
+ * @property renderUnsafe - Defines default render behavior.
136
+ * @property _name - Name to access instance-evaluated content or used
137
+ * to derive default component name. This is also useful for logging.
138
+ * @property _propertyAliasIndex - Internal alias index to quickly match
139
+ * properties in both directions.
140
+ * @property _propertiesToReflectAsAttributes - A mapping of property names to
141
+ * set as attributes when they are set/updated. Uses a map to hold order and
142
+ * determine if a property exists in constant runtime.
143
+ * @property renderState - Holds data about currently running render state.
144
+ * @property renderState.promise - Promise resolving when next rendering has
145
+ * been finished.
146
+ * @property renderState.pending - Indicates whether a rendering task is
147
+ * performing.
148
+ * @property renderState.resolve - Callback to trigger when rendering has been
149
+ * finished.
150
+ * @property childComponentInstances - List of direct child components (needed
151
+ * to wait for them to finish dom manipulation).
152
+ * @property batchAttributeUpdates - Indicates whether to directly update dom
153
+ * after each attribute mutation or to wait and batch mutations after current
154
+ * queue has been finished.
155
+ * @property batchPropertyUpdates - Indicates whether to directly update dom
156
+ * after each property mutation or to wait and batch mutations after current
157
+ * queue has been finished.
158
+ * @property batchUpdates - Indicates whether to directly perform a
159
+ * re-rendering after changes on properties have been made.
160
+ * @property batchedAttributeUpdateRunning - A boolean indicator to identify if
161
+ * an attribute update is currently batched.
162
+ * @property batchedPropertyUpdateRunning - A boolean indicator to identify if
163
+ * a property update is currently batched.
164
+ * @property batchedUpdateRunning - Indicates whether a batched render update
165
+ * is currently running.
166
+ * @param connectionRegistered - Indicates whether this component is connected
167
+ * to DOM and could run its connectedCallback.
168
+ * @param pendingAttributeUpdates - Holds pending attribute updates which
169
+ * should be performed when the component is connected to DOM.
170
+ * @property parentInstance - Parent component instance.
171
+ * @property rootInstance - Root component instance.
172
+ * @property scope - Render scope.
173
+ * @property domNodeEventBindings - Holds a mapping from nodes with registered
174
+ * event handlers mapped to their deregistration function.
175
+ * @property domNodeTemplateCache - Caches template compilation results.
176
+ * @property externalProperties - Holds currently evaluated or seen properties.
177
+ * @property ignoreAttributeUpdateObservations - Indicates whether attribute
178
+ * updates should be considered (usually only needed internally).
179
+ * @property internalProperties - Holds currently evaluated properties which
180
+ * are owned by this instance and should always be delegated.
181
+ * @property outputEventNames - Set of determined output event names.
182
+ * @property instance - Wrapped component instance.
183
+ * @property isRoot - Indicates whether their exists another web-derived
184
+ * component up the tree or not.
185
+ * @property root - Hosting dom node.
186
+ * @property runDomConnectionAndRenderingInSameEventQueue - Indicates whether
187
+ * we should render initial dom immediately after the component is connected to
188
+ * dom. Deactivating this allows wrapped components to detect their parents
189
+ * since their parent-connected callback will be called before the children's
190
+ * render method.
191
+ * @property self - Back-reference to this class.
192
+ * @property slots - Grabbed slots that where present in the connecting phase.
193
+ */var Web=(_dec=(0,_decorator_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)({type:clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.boolean,writeAttribute:true}),_class=(_Web=/*#__PURE__*/function(_GenericHTMLElement){// endregion
194
+ // region live cycle hooks
195
+ /**
196
+ * Initializes host dom content and properties.
197
+ * @returns Nothing.
198
+ */function Web(){var _this;_classCallCheck(this,Web);_this=_callSuper(this,Web);_defineProperty(_this,"renderState",{promise:Promise.resolve(""),pending:false,resolve:clientnode__WEBPACK_IMPORTED_MODULE_0__.NOOP});// Constructor might be executed when accessed via child components.
199
+ _defineProperty(_this,"childComponentInstances",[]);_defineProperty(_this,"batchAttributeUpdates",true);_defineProperty(_this,"batchPropertyUpdates",true);_defineProperty(_this,"batchUpdates",true);/*
200
+ NOTE: We set these properties to true initially since we want to
201
+ prevent any updates until the component is connected to dom.
202
+ */_defineProperty(_this,"batchedAttributeUpdateRunning",true);_defineProperty(_this,"batchedPropertyUpdateRunning",true);_defineProperty(_this,"batchedUpdateRunning",true);_defineProperty(_this,"connectionRegistered",false);_defineProperty(_this,"pendingAttributeUpdates",[]);_defineProperty(_this,"parentInstance",null);_defineProperty(_this,"rootInstance",void 0);_defineProperty(_this,"hostDomNode",void 0);_defineProperty(_this,"scope",_objectSpread({},clientnode__WEBPACK_IMPORTED_MODULE_0__.UTILITY_SCOPE));_defineProperty(_this,"domNodeEventBindings",new Map);_defineProperty(_this,"domNodeTemplateCache",new Map);_defineProperty(_this,"externalProperties",{});_defineProperty(_this,"ignoreAttributeUpdateObservations",false);_defineProperty(_this,"internalProperties",{});_defineProperty(_this,"outputEventNames",new Set);_defineProperty(_this,"instance",null);_initializerDefineProperty(_this,"isRoot",_descriptor,_this);_defineProperty(_this,"runDomConnectionAndRenderingInSameEventQueue",false);_defineProperty(_this,"self",Web);_defineProperty(_this,"slots",{});_this.prepareNewRenderingPromise();/*
203
+ NOTE: We cannot use something like "this." e.g. "this.self" to
204
+ determine class properties since instance properties like "self"
205
+ may not set properly yet because this method is called during
206
+ constructing this instance itself.
207
+ */_this.self=_this.constructor;if(!_this.self._propertiesToReflectAsAttributes)_this.self._propertiesToReflectAsAttributes=_this.self.normalizePropertyTypeList(_this.self.propertiesToReflectAsAttributes);_this.generateAliasIndex();// NOTE: Shadow root will be applied when rendering the first time.
208
+ _this.hostDomNode=_this;_this.rootInstance=_this;/*
209
+ NOTE: We define getter and setter at the end to avoid shadowing
210
+ existing property names.
211
+ */_this.defineGetterAndSetterInterface();return _this}/**
212
+ * Triggered when ever a given attribute has changed and triggers to update
213
+ * configured dom content.
214
+ * @param name - Attribute name which was updates.
215
+ * @param oldValue - Old attribute value.
216
+ * @param newValue - New updated value.
217
+ */_inherits(Web,_GenericHTMLElement);return _createClass(Web,[{key:"attributeChangedCallback",value:function attributeChangedCallback(name,oldValue,newValue){if(this.ignoreAttributeUpdateObservations||oldValue===newValue)return;void this.onUpdateAttribute(name,newValue)}/**
218
+ * Updates given attribute representation.
219
+ * @param name - Attribute name which was updates.
220
+ * @param newValue - New updated value.
221
+ * @returns Promise resolving when attribute has been updated.
222
+ */},{key:"onUpdateAttribute",value:function onUpdateAttribute(name,newValue){var _this2=this;var promise=new Promise(function(resolve){return _this2.pendingAttributeUpdates.push(function(){_this2.evaluateStringOrNullAndSetAsProperty(name,newValue);if(_this2.batchAttributeUpdates){if(!(_this2.batchedAttributeUpdateRunning||_this2.batchedUpdateRunning)){_this2.batchedAttributeUpdateRunning=true;_this2.batchedUpdateRunning=true;void (0,clientnode__WEBPACK_IMPORTED_MODULE_0__.timeout)(function(){_this2.batchedAttributeUpdateRunning=false;_this2.batchedUpdateRunning=false;void _this2.render("attributeChanged")})}}else void _this2.render("attributeChanged");resolve()})});if(this.connectionRegistered)while(this.pendingAttributeUpdates.length)this.pendingAttributeUpdates.shift()();return promise}/**
223
+ * Triggered when this component is mounted into the document.
224
+ * Attaches event handler, grabs given slots, reflects external properties,
225
+ * and enqueues first rendering.
226
+ */},{key:"connectedCallback",value:function connectedCallback(){var _this3=this;// NOTE: Hack to support IE 11 here.
227
+ try{this.isConnected=true}catch(_unused){// Ignore error.
228
+ }this.connectionRegistered=true;// NOTE: Can be overwritten during optional root determining.
229
+ this.parentInstance=this;this.rootInstance=this;this.attachEventHandler();if(this.self.determineRootBinding){this.determineRootBinding();if(this.parentInstance!==this&&this.parentInstance.childComponentInstances)this.parentInstance.childComponentInstances.push(this)}if(this.self.applyRootBinding&&this.isRoot){this.determineRenderScope();this.applyBinding(this,this.scope)}while(this.pendingAttributeUpdates.length)this.pendingAttributeUpdates.shift()();this.batchedAttributeUpdateRunning=false;this.batchedPropertyUpdateRunning=false;this.batchedUpdateRunning=false;this.grabGivenSlots();this.reflectExternalProperties(this.externalProperties);if(this.runDomConnectionAndRenderingInSameEventQueue)void this.render("connected");else void (0,clientnode__WEBPACK_IMPORTED_MODULE_0__.timeout)(function(){void _this3.render("connected")})}/**
230
+ * Triggered when this component is unmounted from the document. Event
231
+ * handlers will be removed and state updated accordingly.
232
+ */},{key:"disconnectedCallback",value:function disconnectedCallback(){this.unRender("disconnected");this.unregisterConnectionState()}// endregion
233
+ // region getter/setter
234
+ /**
235
+ * Registers needed getter and setter to get notified about changes and
236
+ * reflect them.
237
+ */},{key:"defineGetterAndSetterInterface",value:function defineGetterAndSetterInterface(){var _this4=this;var allPropertyNames=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.unique)(Object.keys(this.self.propertyTypes).concat(this.self._propertyAliasIndex?Object.keys(this.self._propertyAliasIndex):[]));var _iterator=_createForOfIteratorHelper(allPropertyNames),_step;try{var _loop=function _loop(){var propertyName=_step.value;// If there already exists a local value, use them.
238
+ if(Object.prototype.hasOwnProperty.call(_this4,propertyName))_this4.setPropertyValue(/* eslint-disable @typescript-eslint/unbound-method */propertyName,_this4[propertyName]/* eslint-enable @typescript-eslint/unbound-method */);Object.defineProperty(_this4,propertyName,{configurable:true,get:function get(){return _this4.getPropertyValue(propertyName)},set:function set(value){_this4.setPropertyValue(propertyName,value);_this4.triggerPropertySpecificRendering(propertyName,value)}})};for(_iterator.s();!(_step=_iterator.n()).done;){_loop()}}catch(err){_iterator.e(err)}finally{_iterator.f()}}/**
239
+ * Creates an index to match alias source and target against each other on
240
+ * constant runtime.
241
+ * @param name - Name to search an alternate name for.
242
+ * @returns Found alias or "null".
243
+ */},{key:"getPropertyAlias",value:function getPropertyAlias(name){if(this.self._propertyAliasIndex&&Object.prototype.hasOwnProperty.call(this.self._propertyAliasIndex,name))return this.self._propertyAliasIndex[name];return null}/**
244
+ * Generic property getter. Forwards properties from the "properties"
245
+ * field.
246
+ * @param name - Property name to retrieve.
247
+ * @returns Retrieved property value.
248
+ */},{key:"getPropertyValue",value:function getPropertyValue(name){var _this$instance,_name,_this$instance2;var result=(_this$instance=this.instance)!==null&&_this$instance!==void 0&&(_this$instance=_this$instance.current)!==null&&_this$instance!==void 0&&_this$instance.properties&&(// NOTE: Base properties should not be shadowed.
249
+ Object.prototype.hasOwnProperty.call(!Web.propertyTypes,name)||Object.prototype.hasOwnProperty.call(this.instance.current.properties,name))?this.instance.current.properties[name]:(_name=this.internalProperties[name])!==null&&_name!==void 0?_name:this.externalProperties[name];if((_this$instance2=this.instance)!==null&&_this$instance2!==void 0&&(_this$instance2=_this$instance2.current)!==null&&_this$instance2!==void 0&&_this$instance2.state&&Object.prototype.hasOwnProperty.call(this.instance.current.state,name))return this.instance.current.state[name];return result}/**
250
+ * External property setter. Respects configured aliases.
251
+ * @param name - Property name to write.
252
+ * @param value - New value to write.
253
+ */},{key:"setExternalPropertyValue",value:function setExternalPropertyValue(name,value){this.externalProperties[name]=value;var alias=this.getPropertyAlias(name);if(alias)this.externalProperties[alias]=value}/**
254
+ * Internal property setter. Respects configured aliases.
255
+ * @param name - Property name to write.
256
+ * @param value - New value to write.
257
+ */},{key:"setInternalPropertyValue",value:function setInternalPropertyValue(name,value){this.internalProperties[name]=value;var alias=this.getPropertyAlias(name);if(alias)this.internalProperties[alias]=value}/**
258
+ * Generic property setter. Forwards field writes into internal and
259
+ * external property representations.
260
+ * @param name - Property name to write.
261
+ * @param value - New value to write.
262
+ */},{key:"setPropertyValue",value:function setPropertyValue(name,value){this.reflectProperties(_defineProperty({},name,value));this.setInternalPropertyValue(name,value)}/**
263
+ * Triggers a new rendering cycle and respects property-specific state
264
+ * connection.
265
+ * @param name - Property name to write.
266
+ * @param value - New value to write.
267
+ */},{key:"triggerPropertySpecificRendering",value:function triggerPropertySpecificRendering(name,value){var _this5=this;if(this.batchPropertyUpdates){if(!(this.batchedPropertyUpdateRunning||this.batchedUpdateRunning)){this.batchedPropertyUpdateRunning=true;this.batchedUpdateRunning=true;void (0,clientnode__WEBPACK_IMPORTED_MODULE_0__.timeout)(function(){if(value!==undefined&&_this5.isStateProperty(name)){void _this5.render("preStatePropertyChanged");void (0,clientnode__WEBPACK_IMPORTED_MODULE_0__.timeout)(function(){_this5.setInternalPropertyValue(name,undefined);_this5.batchedPropertyUpdateRunning=false;_this5.batchedUpdateRunning=false;void _this5.render("postStatePropertyChanged");_this5.triggerOutputEvents()})}else{_this5.batchedPropertyUpdateRunning=false;_this5.batchedUpdateRunning=false;void _this5.render("propertyChanged");_this5.triggerOutputEvents()}})}}else{var isStateProperty=this.isStateProperty(name);void this.render(isStateProperty?"preStatePropertyChanged":"propertyChanged");if(value!==undefined&&isStateProperty){this.setInternalPropertyValue(name,undefined);void this.render("postStatePropertyChanged")}this.triggerOutputEvents()}}// endregion
268
+ // region helper
269
+ /// region utility
270
+ },{key:"unregisterConnectionState",value:function unregisterConnectionState(){// NOTE: Hack to support IE 11 here.
271
+ try{this.isConnected=false}catch(_unused2){// Ignore error.
272
+ }this.connectionRegistered=false;this.slots={}}},{key:"unregisterDomNodeEventBindings",value:function unregisterDomNodeEventBindings(){var _iterator2=_createForOfIteratorHelper(this.domNodeEventBindings.values()),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var map=_step2.value;var _iterator3=_createForOfIteratorHelper(map.values()),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var deregister=_step3.value;deregister()}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}}//// region dom nodes
273
+ /**
274
+ * Binds properties and event handler to the given dom node.
275
+ * @param domNode - Node to start traversing from.
276
+ * @param scope - Scope to render property value again.
277
+ */},{key:"applyBinding",value:function applyBinding(domNode,scope){var _this6=this;if(!domNode.getAttributeNames)return;var _iterator4=_createForOfIteratorHelper(domNode.getAttributeNames()),_step4;try{var _loop2=function _loop2(){var attributeName=_step4.value;var name;if(attributeName.startsWith("data-bind-"))name=attributeName.substring("data-bind-".length);else if(attributeName.startsWith("bind-"))name=attributeName.substring("bind-".length);if(name){var value=domNode.getAttribute(attributeName);if(value===null)return 0;// continue
278
+ if(name.startsWith("attribute-")||name.startsWith("property-")){var evaluated=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.evaluate)(value,scope,false,true,domNode);if(evaluated.error){log.warn("Error occurred during processing given","attribute binding \"".concat(attributeName,"\" on node:"),domNode,evaluated.error);return 0;// continue
279
+ }if(name.startsWith("attribute-"))domNode.setAttribute(name.substring("attribute-".length),evaluated.result);else/*
280
+ NOTE: Cast to "textContent" to have a writable
281
+ property here.
282
+ */domNode[(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.delimitedToCamelCase)(name.substring("property-".length))]=evaluated.result}else if(name.startsWith("on-")){name=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.delimitedToCamelCase)(name.substring("on-".length));scope=_objectSpread({log:log,event:undefined,parameters:undefined},scope);/*
283
+ NOTE: We pre-compile event listener since they should
284
+ usually be called more often than binded.
285
+ */var compilation=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.compile)(value,scope,true,true,domNode);if(compilation.error)log.warn("Error occurred during compiling given event","binding \"".concat(attributeName,"\" on node:"),domNode,compilation.error);else _this6.addSecureEventListener(domNode,name,function(){for(var _len=arguments.length,parameters=new Array(_len),_key=0;_key<_len;_key++){parameters[_key]=arguments[_key]}scope.event=parameters[0];scope.parameters=parameters;try{compilation.templateFunction.apply(compilation,_toConsumableArray(compilation.originalScopeNames.map(function(name){return scope[name]})))}catch(error){log.warn("Error occurred during processing","given event binding","\"".concat(attributeName,"\" on node:"),domNode,"Given expression \"".concat(value,"\" could"),"not be evaluated with given scope","names \""+compilation.scopeNames.join("\", \"")+"\": ".concat((0,clientnode__WEBPACK_IMPORTED_MODULE_0__.represent)(error)))}})}}},_ret;for(_iterator4.s();!(_step4=_iterator4.n()).done;){_ret=_loop2();if(_ret===0)continue}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}}/**
286
+ * Binds properties and event handler to given, sibling, and nested nodes.
287
+ * @param domNode - Node to start traversing from.
288
+ * @param scope - Scope to render property value again.
289
+ * @param renderSlots - Indicates whether to render nested elements of
290
+ * slots (determined by an existing corresponding attribute).
291
+ */},{key:"applyBindings",value:function applyBindings(domNode,scope,renderSlots){if(renderSlots===void 0){renderSlots=true}while(domNode){var _attributes;if((_attributes=domNode.attributes)!==null&&_attributes!==void 0&&_attributes.length&&(renderSlots||!domNode.getAttribute("slot")))this.applyBinding(domNode,scope);/*
292
+ NOTE: Slots of nested custom components (recognized by their
293
+ dash in name) should be rendered by their own.
294
+ */if(!domNode.nodeName.toLowerCase().includes("-"))this.applyBindings(domNode.firstChild,scope);domNode=domNode.nextSibling}}/**
295
+ * Compiles given node content and their children. Provides a corresponding
296
+ * map of compiled template functions connected to their (sub) nodes and
297
+ * expected scope names.
298
+ * @param domNode - Node to compile.
299
+ * @param scope - Scope to extract names from.
300
+ * @param options - Additional compile options.
301
+ * @param options.filter - Callback to exclude some node from being
302
+ * compiled.
303
+ * @param options.ignoreComponents - Indicates if component properties
304
+ * should be traversed or not.
305
+ * @param options.ignoreNestedComponents - Indicates if nested components
306
+ * should be traversed or not.
307
+ * @param options.unsafe - Indicates if full HTML generation should be
308
+ * allowed.
309
+ * @returns Map of compiled templates.
310
+ */},{key:"compileDomNodeTemplate",value:function compileDomNodeTemplate(domNode,scope,options){if(scope===void 0){scope=[]}if(options===void 0){options={}}options=_objectSpread({ignoreComponents:true,ignoreNestedComponents:true,unsafe:this.self.renderUnsafe},options);var nodeName=domNode.nodeName.toLowerCase();/*
311
+ NOTE: Slots of nested custom components (recognized by their dash
312
+ in name) should be rendered / controlled by them on their own.
313
+ */if(options.ignoreComponents&&nodeName.includes("-"))return null;if(options.unsafe){var _template=domNode.innerHTML;if(!_template&&domNode.template)_template=domNode.template;if(this.self.hasCode(_template)){var _result=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.compile)("`".concat(_template,"`"),scope);return{domNode:domNode,children:[],error:_result.error,scopeNames:_result.scopeNames,template:_template,templateFunction:_result.templateFunction}}return null}var template=null;if(nodeName==="#text"){var content=domNode.textContent;if(content&&this.self.hasCode(content))template=content.replace(/&nbsp;/g," ").trim()}var children=[];var result={children:children,domNode:domNode};if(template){var compilationResult=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.compile)("`".concat(template,"`"),scope);result.error=compilationResult.error;result.scopeNames=compilationResult.scopeNames;result.template=template;result.templateFunction=compilationResult.templateFunction}// Compile content of each nested node.
314
+ var currentDomNode=domNode.firstChild;while(currentDomNode){if(!options.filter||options.filter(currentDomNode)){var _result2=this.compileDomNodeTemplate(currentDomNode,scope,_objectSpread(_objectSpread({},options),{},{ignoreComponents:options.ignoreNestedComponents}));if(_result2)children.push(_result2)}currentDomNode=currentDomNode.nextSibling}return result}/**
315
+ * @param options - Evaluation options.
316
+ * @param scope - Scope to evaluate against.
317
+ * @returns Evaluated string result or null.
318
+ */},{key:"evaluateCompiledDomNodeTemplate",value:function evaluateCompiledDomNodeTemplate(options,scope){var domNode=options.domNode,error=options.error,templateFunction=options.templateFunction,scopeNames=options.scopeNames;if(!(templateFunction&&scopeNames))return null;if(error){log.warn("Error occurred during compiling node content:",error);return null}var output=null;try{output=templateFunction.apply(void 0,_toConsumableArray(scopeNames.map(function(name){return scope[name]})))}catch(error){log.warn("Error occurred when \"".concat(this.self._name,"\" is running"),"\"".concat(String(templateFunction),"\": with bound"),"names \"".concat(scopeNames.join("\", \""),"\":"),"\"".concat(error,"\". Rendering node:"),domNode)}return output}/**
319
+ * Compiles and evaluates given node content and their children. Replaces
320
+ * each node content with their evaluated representation.
321
+ * @param domNode - Node to evaluate.
322
+ * @param scope - Scope to render against.
323
+ * @param options - Compile options.
324
+ * @param options.applyBindings - Indicates whether to apply bindings to
325
+ * given dom nodes.
326
+ * @param options.filter - Callback to exclude some node from being
327
+ * compiled.
328
+ * @param options.ignoreComponents - Indicates if component properties
329
+ * should be traversed or not.
330
+ * @param options.ignoreNestedComponents - Indicates if nested components
331
+ * should be traversed or not.
332
+ * @param options.domNodeTemplateCache - Yet compiled dom nodes to just
333
+ * reference instead of recompiling.
334
+ * @param options.unsafe - Indicates if full HTML generation should be
335
+ * allowed.
336
+ */},{key:"evaluateDomNodeTemplate",value:function evaluateDomNodeTemplate(domNode,scope,options){var _this7=this;if(scope===void 0){scope={}}if(options===void 0){options={}}options=_objectSpread({domNodeTemplateCache:this.domNodeTemplateCache,ignoreComponents:true,ignoreNestedComponents:true,unsafe:this.self.renderUnsafe},options);var domNodeTemplateCache=options.domNodeTemplateCache;if(!domNodeTemplateCache.has(domNode)){var compilerOptions={filter:options.filter,ignoreComponents:options.ignoreComponents,ignoreNestedComponents:options.ignoreNestedComponents,unsafe:options.unsafe};var compiledDomNode=this.compileDomNodeTemplate(domNode,scope,compilerOptions);if(compiledDomNode)domNodeTemplateCache.set(domNode,compiledDomNode)}if(domNodeTemplateCache.has(domNode)){var _compiledDomNode=domNodeTemplateCache.get(domNode);var output=this.evaluateCompiledDomNodeTemplate(_compiledDomNode,scope);if(output!==null)if(options.unsafe&&domNode.innerHTML)domNode.innerHTML=output;else domNode.textContent=output;if(_compiledDomNode.children.length){var _evaluateChildDomNode=function evaluateChildDomNode(children){var _iterator5=_createForOfIteratorHelper(children),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var childCompiledDomNode=_step5.value;var _output=_this7.evaluateCompiledDomNodeTemplate(childCompiledDomNode,scope);if(_output!==null)childCompiledDomNode.domNode.textContent=_output;if(childCompiledDomNode.children.length)_evaluateChildDomNode(childCompiledDomNode.children)}}catch(err){_iterator5.e(err)}finally{_iterator5.f()}};_evaluateChildDomNode(_compiledDomNode.children)}}if(options.applyBindings)this.applyBindings(domNode,scope)}/**
337
+ * Adds an event listener to the given dom node so that it will be
338
+ * deregistered when the component instance is destroyed.
339
+ * @param domNode - Node to assign event handler to.
340
+ * @param name - Event name.
341
+ * @param handler - Callback to trigger when given event occurs.
342
+ * @param options - Add event listener options.
343
+ * @param removeOptions - Remove event listener options.
344
+ * @returns Deregister function.
345
+ */},{key:"addSecureEventListener",value:function addSecureEventListener(domNode,name,handler,options,removeOptions){var _this8=this;if(!this.domNodeEventBindings.has(domNode))this.domNodeEventBindings.set(// eslint-disable-next-line func-call-spacing
346
+ domNode,new Map);var eventMap=this.domNodeEventBindings.get(domNode);var oldHandler=eventMap.get(name);if(oldHandler&&oldHandler!==handler)oldHandler();var deregister=function deregister(){domNode.removeEventListener(name,handler,removeOptions);eventMap.delete(name);if(eventMap.size===0)_this8.domNodeEventBindings.delete(domNode)};eventMap.set(name,deregister);domNode.addEventListener(name,handler,options);return deregister}//// endregion
347
+ /**
348
+ * Determines initial root which initializes rendering digest.
349
+ */},{key:"determineRootBinding",value:function determineRootBinding(){/*
350
+ If this component is the root component, we have to trigger
351
+ nested event handler by our own in global context since there is no
352
+ parent doing that for us.
353
+ */var currentElement=this.parentNode;while(currentElement){var isComponent=currentElement instanceof Web||currentElement.nodeName.includes("-")&&currentElement.nodeName!=="#document-fragment";var isInShadowDOM=currentElement.parentNode===null&&/* eslint-disable @typescript-eslint/no-base-to-string */currentElement.toString()==="[object ShadowRoot]";/* eslint-enable @typescript-eslint/no-base-to-string */if(isComponent){// Check whether we found the first parent component.
354
+ if(this.rootInstance===this){this.parentInstance=currentElement;/*
355
+ NOTE: There is at least one parent, so we can set
356
+ "isRoot" to "false".
357
+ */this.setPropertyValue("isRoot",false)}this.rootInstance=currentElement}else if(isInShadowDOM)/*
358
+ NOTE: Assume none root if determined a wrapped closed
359
+ shadow DOM.
360
+ */this.setPropertyValue("isRoot",false);currentElement=currentElement.parentNode}}/**
361
+ * Checks if given content hast code (to compile and render).
362
+ * @param content - Potential string with code inside.
363
+ * @returns A boolean indicating whether given content has code.
364
+ */},{key:"attachEventHandler",value:/// endregion
365
+ /// region events
366
+ /**
367
+ * Attaches event handler to keep in sync with nested components properties
368
+ * states.
369
+ */function attachEventHandler(){if(this.self.eventToPropertyMapping===null)return;/*
370
+ NOTE: We only reflect properties by implicit determined events if
371
+ their where no explicitly defined.
372
+ */var somethingDefined=this.attachExplicitDefinedOutputEventHandler();this.attachImplicitDefinedOutputEventHandler(!somethingDefined)}/**
373
+ * Attach explicitly defined event handler to synchronize internal and
374
+ * external property states.
375
+ * @returns Returns "true" if there are some defined and "false" otherwise.
376
+ */},{key:"attachExplicitDefinedOutputEventHandler",value:function attachExplicitDefinedOutputEventHandler(){var _this9=this;if(!this.self.eventToPropertyMapping)return false;// Grab all existing output to property definitions
377
+ var result=false;var _loop3=function _loop3(){var name=_Object$keys[_i];if(!Object.prototype.hasOwnProperty.call(_this9.internalProperties,name)){result=true;_this9.outputEventNames.add(name);_this9.setInternalPropertyValue(name,/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(){var _len2,parameters,_key2,result,_args=arguments;return _regenerator().w(function(_context){while(1)switch(_context.n){case 0:for(_len2=_args.length,parameters=new Array(_len2),_key2=0;_key2<_len2;_key2++){parameters[_key2]=_args[_key2]}_context.n=1;return _this9.reflectEventToProperties(name,parameters);case 1:result=_context.v;if(result)parameters[0]=result;_this9.forwardEvent(name,parameters);case 2:return _context.a(2)}},_callee)})))}};for(var _i=0,_Object$keys=Object.keys(this.self.eventToPropertyMapping);_i<_Object$keys.length;_i++){_loop3()}return result}/**
378
+ * Attach implicitly defined event handler to synchronize internal and
379
+ * external property states.
380
+ * @param reflectProperties - Indicates whether implicitly determined
381
+ * properties should be reflected.
382
+ */},{key:"attachImplicitDefinedOutputEventHandler",value:function attachImplicitDefinedOutputEventHandler(reflectProperties){var _this0=this;if(reflectProperties===void 0){reflectProperties=true}var _loop4=function _loop4(){var _Object$entries$_i=_slicedToArray(_Object$entries[_i2],2),name=_Object$entries$_i[0],type=_Object$entries$_i[1];if(!Object.prototype.hasOwnProperty.call(_this0.internalProperties,name)&&[clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.func,"function"].includes(type)&&!_this0.self.renderProperties.includes(name)){_this0.outputEventNames.add(name);_this0.setInternalPropertyValue(name,function(){for(var _len3=arguments.length,parameters=new Array(_len3),_key3=0;_key3<_len3;_key3++){parameters[_key3]=arguments[_key3]}if(reflectProperties)void _this0.reflectEventToProperties(name,parameters);_this0.forwardEvent(name,parameters)})}};// Determine all event handlers to inject
383
+ for(var _i2=0,_Object$entries=Object.entries(this.self.propertyTypes);_i2<_Object$entries.length;_i2++){_loop4()}}/**
384
+ * Triggers all identified events to communicate internal property / state
385
+ * changes.
386
+ */},{key:"triggerOutputEvents",value:function triggerOutputEvents(){var _iterator6=_createForOfIteratorHelper(this.outputEventNames),_step6;try{for(_iterator6.s();!(_step6=_iterator6.n()).done;){var name=_step6.value;this.forwardEvent(name,[this.externalProperties])}}catch(err){_iterator6.e(err)}finally{_iterator6.f()}}/**
387
+ * Forwards given event as the native web event.
388
+ * @param name - Event name.
389
+ * @param parameters - Event parameters.
390
+ * @returns False if event is cancelable, and at least one of the event
391
+ * handlers which received event called "Event.preventDefault()",
392
+ * otherwise true will be returned.
393
+ */},{key:"forwardEvent",value:function forwardEvent(name,parameters){if(name.length>"onX".length&&name.startsWith("on"))name=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.lowerCase)(name.substring(2));return this.dispatchEvent(new CustomEvent(name,{detail:{parameters:parameters}}))}/// endregion
394
+ /// region slots
395
+ /**
396
+ * Renders component given slot contents into the given dom node. If
397
+ * expected slots are not given but a fallback is specified, they will be
398
+ * loaded into internal slot mapping.
399
+ * @param targetDomNode - Target dom node to render slots into.
400
+ * @param scope - Environment to render slots again if specified.
401
+ */},{key:"applySlots",value:function applySlots(targetDomNode,scope){var _this1=this;for(var _i3=0,_Array$from=Array.from(targetDomNode.querySelectorAll("slot"));_i3<_Array$from.length;_i3++){var domNode=_Array$from[_i3];var name=domNode.getAttribute("name");if(name===null||name==="default"){if(this.slots.default){if(this.self.renderSlots){if(this.self.evaluateSlots){var _iterator7=_createForOfIteratorHelper(this.slots.default),_step7;try{for(_iterator7.s();!(_step7=_iterator7.n()).done;){var _domNode=_step7.value;this.evaluateDomNodeTemplate(_domNode,scope)}}catch(err){_iterator7.e(err)}finally{_iterator7.f()}}(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.replace)(domNode,this.slots.default,Web.trimSlots)}}else this.slots.default=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.unwrap)(domNode).map(function(domNode){return _this1.grabSlotContent(domNode)});}else if(this.slots[name]){if(this.self.renderSlots){if(this.self.evaluateSlots)this.evaluateDomNodeTemplate(this.slots[name],scope);(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.replace)(domNode,this.slots[name],Web.trimSlots)}}else this.slots[name]=this.grabSlotContent((0,clientnode__WEBPACK_IMPORTED_MODULE_0__.unwrap)(domNode).filter(function(domNode){return domNode.nodeName.toLowerCase()!=="#text"})[0])}}/**
402
+ * Determines slot content from the given node.
403
+ * @param slot - Node to grab slot content from.
404
+ * @returns Determined slot.
405
+ */},{key:"grabSlotContent",value:function grabSlotContent(slot){var _element$firstElement;/*
406
+ If real (template) code is wrapped in a "textarea" tag, unwrap it
407
+ now. This extra wrapping can be used to avoid first dom rendering
408
+ before template code has been evaluated.
409
+ */var element=clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.node.firstElementChild?slot:null;if(element&&((_element$firstElement=element.firstElementChild)===null||_element$firstElement===void 0?void 0:_element$firstElement.nodeName.toLowerCase())==="textarea"&&(!element.firstElementChild.hasAttribute("data-no-template")||element.firstElementChild.getAttribute("data-no-template")==="false")){var content=element.firstElementChild.value;/*
410
+ NOTE: These kinds of slots are always used as a template and
411
+ should therefore be copied in every case.
412
+ NOTE: A flat copy should suffice since we will replace nested
413
+ content.
414
+ NOTE: Remove template content in copied node to avoid rendering
415
+ them before being evaluated. We cannot remove template code
416
+ from the source node since this would make it impossible to
417
+ re-instantiate this slot during whole component
418
+ re-instantiation.
419
+ */element.classList.remove("web-component-template");var newSlot=element.cloneNode();element.classList.add("web-component-template");newSlot.innerHTML="";newSlot.template=content;return newSlot}return this.self.cloneSlots?slot.cloneNode(true):slot}/**
420
+ * Saves given slots.
421
+ */},{key:"grabGivenSlots",value:function grabGivenSlots(){var _this10=this;this.slots={};for(var _i4=0,_Array$from2=Array.from(this.querySelectorAll("[slot]"));_i4<_Array$from2.length;_i4++){var _slot$getAttribute;var slot=_Array$from2[_i4];// NOTE: This is how we avoid grabbing slots from nested components.
422
+ var currentElement=slot.parentNode;var skip=true;while(currentElement){if(currentElement.nodeName.includes("-")){if(currentElement===this)skip=false;break}currentElement=currentElement.parentNode}if(skip)continue;var slotValue=(_slot$getAttribute=slot.getAttribute("slot"))===null||_slot$getAttribute===void 0?void 0:_slot$getAttribute.trim();this.slots[slotValue!==null&&slotValue!==void 0?slotValue:slot.nodeName.toLowerCase()]=this.grabSlotContent(slot)}if(this.slots.default)this.slots.default=[].concat(this.slots.default);else if(this.childNodes.length>0)this.slots.default=Array.from(this.childNodes).map(function(domNode){return _this10.grabSlotContent(domNode)});else this.slots.default=[]}/// endregion
423
+ /// region properties
424
+ /**
425
+ * Determines if a given property name exists in wrapped component state.
426
+ * @param name - Property name to check if exists in state.
427
+ * @returns Boolean result.
428
+ */},{key:"isStateProperty",value:function isStateProperty(name){var _this$instance3;return Boolean(((_this$instance3=this.instance)===null||_this$instance3===void 0||(_this$instance3=_this$instance3.current)===null||_this$instance3===void 0?void 0:_this$instance3.state)&&(Object.prototype.hasOwnProperty.call(this.instance.current.state,name)||this.instance.current.state.modelState&&Object.prototype.hasOwnProperty.call(this.instance.current.state.modelState,name)))}/**
429
+ * Generates an alias to name and the other way around mapping if not
430
+ * exists.
431
+ */},{key:"generateAliasIndex",value:function generateAliasIndex(){if(!this.self._propertyAliasIndex){this.self._propertyAliasIndex=_objectSpread({},this.self.propertyAliases);// Align alias mapping for better performance while mapping them.
432
+ for(var _i5=0,_Object$entries2=Object.entries(this.self._propertyAliasIndex);_i5<_Object$entries2.length;_i5++){var _Object$entries2$_i=_slicedToArray(_Object$entries2[_i5],2),name=_Object$entries2$_i[0],value=_Object$entries2$_i[1];if(!Object.prototype.hasOwnProperty.call(this.self._propertyAliasIndex,value))this.self._propertyAliasIndex[value]=name}}}/**
433
+ * Reflects wrapped component state back to web-component's attributes.
434
+ * @param properties - Properties to update in reflected attribute state.
435
+ */},{key:"reflectExternalProperties",value:function reflectExternalProperties(properties){/*
436
+ NOTE: We can avoid an additional attribute parsing for
437
+ reflections.
438
+ */this.ignoreAttributeUpdateObservations=true;for(var _i6=0,_Object$entries3=Object.entries(properties);_i6<_Object$entries3.length;_i6++){var _this$self$_propertie;var _Object$entries3$_i=_slicedToArray(_Object$entries3[_i6],2),name=_Object$entries3$_i[0],value=_Object$entries3$_i[1];this.setExternalPropertyValue(name,value);if(!this.isConnected)continue;var attributeName=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.camelCaseToDelimited)(name);if((_this$self$_propertie=this.self._propertiesToReflectAsAttributes)!==null&&_this$self$_propertie!==void 0&&_this$self$_propertie.has(name))switch(this.self._propertiesToReflectAsAttributes.get(name)){case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.boolean:case"boolean":if(value){if(this.getAttribute(attributeName)!=="")this.setAttribute(attributeName,"")}else if(this.hasAttribute(attributeName))this.removeAttribute(attributeName);break;case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.func:case"function":break;case"json":if(value){var representation=JSON.stringify(value);if(representation&&this.getAttribute(attributeName)!==representation){this.setAttribute(attributeName,representation);break}}if(this.hasAttribute(attributeName))this.removeAttribute(attributeName);break;case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.number:case"number":if(typeof value==="number"&&!isNaN(value)){var valueAsString=String(value);if(this.getAttribute(attributeName)!==valueAsString)this.setAttribute(attributeName,valueAsString)}else if(this.hasAttribute(attributeName))this.removeAttribute(attributeName);break;case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.string:case"string":if(value){if(this.getAttribute(attributeName)!==value)this.setAttribute(attributeName,value)}else if(this.hasAttribute(attributeName))this.removeAttribute(attributeName);break;case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.any:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.array:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.arrayOf:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.element:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.elementType:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.instanceOf:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.node:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.object:case"object":case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.objectOf:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.shape:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.exact:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.symbol:default:if(value){var _representation=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.represent)(value);if(_representation&&this.getAttribute(attributeName)!==_representation){this.setAttribute(attributeName,_representation);break}}if(this.hasAttribute(attributeName))this.removeAttribute(attributeName);break}}this.ignoreAttributeUpdateObservations=false}/**
439
+ * Reflects wrapped component state back to web-component's attributes and
440
+ * properties.
441
+ * @param properties - Properties to update in reflected property state.
442
+ */},{key:"reflectProperties",value:function reflectProperties(properties){var _this$instance4,_this$internalPropert;this.reflectExternalProperties(properties);/*
443
+ NOTE: Do not reflect properties which are hold in state. These
444
+ values are only set once when they are explicitly set
445
+ (see "setPropertyValue").
446
+ */if((_this$instance4=this.instance)!==null&&_this$instance4!==void 0&&(_this$instance4=_this$instance4.current)!==null&&_this$instance4!==void 0&&_this$instance4.state&&_typeof(this.instance.current.state)==="object"){var _iterator8=_createForOfIteratorHelper(Object.keys(this.instance.current.state).concat(this.instance.current.state.modelState?Object.keys(this.instance.current.state.modelState):[])),_step8;try{for(_iterator8.s();!(_step8=_iterator8.n()).done;){var name=_step8.value;if(Object.prototype.hasOwnProperty.call(this.internalProperties,name))/*
447
+ We want to avoid fully deleting this property to know
448
+ which properties exist in the underlying instance.
449
+ */this.setInternalPropertyValue(name,undefined)}}catch(err){_iterator8.e(err)}finally{_iterator8.f()}}if((_this$internalPropert=this.internalProperties.model)!==null&&_this$internalPropert!==void 0&&_this$internalPropert.state){delete this.internalProperties.model.state;this.setInternalPropertyValue("model",this.internalProperties.model)}var _iterator9=_createForOfIteratorHelper(this.self.controllableProperties),_step9;try{for(_iterator9.s();!(_step9=_iterator9.n()).done;){var _name2=_step9.value;if(Object.prototype.hasOwnProperty.call(properties,_name2))this.setInternalPropertyValue(_name2,properties[_name2])}}catch(err){_iterator9.e(err)}finally{_iterator9.f()}}/**
450
+ * Reflect the given event handler call with the given parameter back to
451
+ * current properties state.
452
+ * @param name - Event name.
453
+ * @param parameters - List of parameter to given event handler call.
454
+ * @returns Mapped properties or null if nothing could be mapped.
455
+ */},{key:"reflectEventToProperties",value:(function(){var _reflectEventToProperties=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(name,parameters){var oldBatchUpdatesConfiguration,result,handled,_this$self$eventToPro,wrappedMapping,mapping,_newProperties$detail,newProperties,_i7,_Object$keys2,_this$getPropertyAlia,propertyName,_iterator0,_step0,_name3,currentValue,_t;return _regenerator().w(function(_context2){while(1)switch(_context2.n){case 0:/*
456
+ NOTE: We enforce to update component state immediately after an
457
+ event occurs since batching usually does not make sense here. An
458
+ event runs within its own context.
459
+ On the other hand, it can be necessary to immediately reflect a
460
+ property change to the component internal state to avoid
461
+ contradicting internal render cycles.
462
+ */oldBatchUpdatesConfiguration=this.batchUpdates;this.batchUpdates=false;result=null;handled=false;// region check if there exists an explicit mapper
463
+ if(!(this.self.eventToPropertyMapping&&Object.prototype.hasOwnProperty.call(this.self.eventToPropertyMapping,name)&&(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.isFunction)(this.self.eventToPropertyMapping[name]))){_context2.n=4;break}wrappedMapping=(_this$self$eventToPro=this.self.eventToPropertyMapping)[name].apply(_this$self$eventToPro,_toConsumableArray(parameters).concat([this]));if(!(wrappedMapping&&"then"in wrappedMapping&&(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.isFunction)(wrappedMapping.then))){_context2.n=2;break}_context2.n=1;return wrappedMapping;case 1:_t=_context2.v;_context2.n=3;break;case 2:_t=wrappedMapping;case 3:mapping=_t;handled=true;if(Array.isArray(mapping)){result=mapping[0];this.reflectProperties(result);(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.extend)(true,this.internalProperties,mapping[1])}else if(mapping===null)handled=false;else if(_typeof(mapping)==="object"){result=mapping;this.reflectProperties(mapping)}case 4:// endregion
464
+ if(!handled&&parameters.length>0&&(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.isObject)(parameters[0])){/*
465
+ Identified as somehow throw data back event (no synthetic
466
+ event; derived from a user-triggered one) when following
467
+ condition does not hold.
468
+ */newProperties=parameters[0];if("persist"in parameters[0]&&(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.isFunction)(parameters[0].persist)){newProperties={};for(_i7=0,_Object$keys2=Object.keys(this.self.propertyTypes);_i7<_Object$keys2.length;_i7++){propertyName=_Object$keys2[_i7];_iterator0=_createForOfIteratorHelper([propertyName].concat((_this$getPropertyAlia=this.getPropertyAlias(propertyName))!==null&&_this$getPropertyAlia!==void 0?_this$getPropertyAlia:[]));try{for(_iterator0.s();!(_step0=_iterator0.n()).done;){_name3=_step0.value;currentValue=parameters[0].currentTarget&&Object.prototype.hasOwnProperty.call(parameters[0].currentTarget,_name3)?/*
469
+ Update all known properties from event
470
+ target instance.
471
+ */parameters[0].currentTarget[_name3]:/*
472
+ Update all known properties from adapter
473
+ instance.
474
+ */this.getPropertyValue(_name3);if(currentValue!==this.externalProperties[_name3])newProperties[_name3]=currentValue}}catch(err){_iterator0.e(err)}finally{_iterator0.f()}}}else if(![null,undefined].includes((_newProperties$detail=newProperties.detail)===null||_newProperties$detail===void 0?void 0:_newProperties$detail.value))newProperties=_objectSpread({},newProperties.detail);result=newProperties;this.reflectProperties(newProperties)}this.triggerRender("propertyReflected");this.batchUpdates=oldBatchUpdatesConfiguration;return _context2.a(2,result)}},_callee2,this)}));function reflectEventToProperties(_x,_x2){return _reflectEventToProperties.apply(this,arguments)}return reflectEventToProperties}()/**
475
+ * Evaluates the given property value depending on its property definition
476
+ * and registers in a property mapping object.
477
+ * @param attributeName - Name of given value.
478
+ * @param value - Value to evaluate.
479
+ */)},{key:"evaluateStringOrNullAndSetAsProperty",value:function evaluateStringOrNullAndSetAsProperty(attributeName,value){var _this11=this;var preEvaluate=attributeName.startsWith("-");var effectiveAttributeName=preEvaluate?attributeName.substring(1):attributeName;var name=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.delimitedToCamelCase)(effectiveAttributeName);var alias=this.getPropertyAlias(name);if(alias&&Object.prototype.hasOwnProperty.call(this.self.propertyTypes,alias))name=alias;if(Object.prototype.hasOwnProperty.call(this.self.propertyTypes,name)){var type=this.self.propertyTypes[name];if(preEvaluate){if(value){var result=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.evaluate)(value,_objectSpread({},clientnode__WEBPACK_IMPORTED_MODULE_0__.UTILITY_SCOPE),false,true,this);if(result.error){log.warn("Failed to process pre-evaluation attribute","\"".concat(attributeName,"\": ").concat(result.error,". Will be"),"set to \"undefined\".");this.setInternalPropertyValue(name,undefined)}else{this.setInternalPropertyValue(name,result.result);this.setExternalPropertyValue(name,result.result)}}}else switch(type){case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.boolean:case"boolean":{var booleanValue=![null,"false"].includes(value);this.setInternalPropertyValue(name,booleanValue);this.setExternalPropertyValue(name,booleanValue);break}case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.func:case"function":{var error=null;var templateFunction;var scopeNames=["data","event","firstArgument","firstParameter","options"];if(value){var _result3=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.compile)(value,scopeNames.concat("parameters","scope",clientnode__WEBPACK_IMPORTED_MODULE_0__.UTILITY_SCOPE_NAMES),true,true,this);error=_result3.error;templateFunction=_result3.templateFunction;if(error)log.warn("Failed to compile given handler","\"".concat(attributeName,"\": ").concat(error,"."))}this.setInternalPropertyValue(name,function(){for(var _len4=arguments.length,parameters=new Array(_len4),_key4=0;_key4<_len4;_key4++){parameters[_key4]=arguments[_key4]}if(_this11.outputEventNames.has(name))void _this11.reflectEventToProperties(name,parameters);var result=undefined;if(!error){var scope=_objectSpread({parameters:parameters},clientnode__WEBPACK_IMPORTED_MODULE_0__.UTILITY_SCOPE);for(var _i8=0,_scopeNames=scopeNames;_i8<_scopeNames.length;_i8++){var _name4=_scopeNames[_i8];scope[_name4]=parameters[0]}try{var _templateFunction;result=(_templateFunction=templateFunction)===null||_templateFunction===void 0?void 0:_templateFunction.apply(void 0,_toConsumableArray(scopeNames.map(function(name){return scope[name]})).concat([parameters,scope],_toConsumableArray(clientnode__WEBPACK_IMPORTED_MODULE_0__.UTILITY_SCOPE_NAMES.map(function(name){return clientnode__WEBPACK_IMPORTED_MODULE_0__.UTILITY_SCOPE[name]}))))}catch(error){log.warn("Failed to evaluate function","\"".concat(attributeName,"\" with expression"),"\"".concat(value,"\" and scope"),"variables","\"".concat(scopeNames.join("\", \""),"\" set to"),"\"".concat((0,clientnode__WEBPACK_IMPORTED_MODULE_0__.represent)(parameters),"\":"),"".concat(error,". Set property"),"to \"undefined\".")}}if(!_this11.self.renderProperties.includes(name))_this11.forwardEvent(name,parameters);return result});if(!error)this.setExternalPropertyValue(name,templateFunction);break}case"json":{if(value){var evaluated;try{evaluated=JSON.parse(value)}catch(error){log.warn("Error occurred during parsing given json","attribute \"".concat(attributeName,"\":"),(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.represent)(error));break}// NOTE: That both values do have to be avoided.
480
+ this.setInternalPropertyValue(name,evaluated);this.setExternalPropertyValue(name,(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.copy)(evaluated,false,1))}else{this.setInternalPropertyValue(name,null);this.setExternalPropertyValue(name,null)}break}case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.number:case"number":{if(value===null){this.setInternalPropertyValue(name,value);this.setExternalPropertyValue(name,value);break}/*
481
+ NOTE: You should not name this variable "number" since
482
+ babel gets confused caused by existing module wide
483
+ property type variable "number".
484
+ */var numberValue=parseFloat(value);if(isNaN(numberValue))numberValue=undefined;this.setInternalPropertyValue(name,numberValue);this.setExternalPropertyValue(name,numberValue);break}case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.string:case"string":{this.setInternalPropertyValue(name,value);this.setExternalPropertyValue(name,value);break}case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.any:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.array:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.arrayOf:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.element:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.elementType:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.instanceOf:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.node:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.object:case"object":case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.objectOf:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.oneOf:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.oneOfType:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.shape:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.exact:case clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.symbol:default:{if(value){var _evaluated=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.evaluate)(value,{},false,true,this);if(_evaluated.error){log.warn("Error occurred during processing given","attribute configuration \"".concat(attributeName,"\":"),_evaluated.error);break}// NOTE: That both values do have to be avoided.
485
+ this.setInternalPropertyValue(name,_evaluated.result);this.setExternalPropertyValue(name,(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.copy)(_evaluated.result,false,1))}else if(this.hasAttribute(attributeName)){this.setInternalPropertyValue(name,true);this.setExternalPropertyValue(name,true)}else{this.setInternalPropertyValue(name,null);this.setExternalPropertyValue(name,null)}break}}}}/// endregion
486
+ /// region render
487
+ /**
488
+ * Produces a promise resolving when all nested rendering promises have
489
+ * been resolved. This only waits for registered nested components. That
490
+ * means that nested components which where connected before the parent
491
+ * component got initialized will not be waited for. That might happen
492
+ * when nested component types got registered before the parent ones.
493
+ */},{key:"waitForNestedComponentRendering",value:function(){var _waitForNestedComponentRendering=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(){return _regenerator().w(function(_context3){while(1)switch(_context3.n){case 0:if(this.childComponentInstances){_context3.n=1;break}return _context3.a(2);case 1:_context3.n=2;return Promise.all(this.childComponentInstances.map(function(component){return component.renderState.pending?component.renderState.promise:Promise.resolve()}));case 2:return _context3.a(2)}},_callee3,this)}));function waitForNestedComponentRendering(){return _waitForNestedComponentRendering.apply(this,arguments)}return waitForNestedComponentRendering}()/**
494
+ * Resolves the rendering promise.
495
+ * @param reason - Rendering reason description.
496
+ * @param resolveRendering - Indicates whether to resolve the rendering or
497
+ * just return a resolving promise directly.
498
+ * @returns A promise resolving when all nested render promises have been
499
+ * resolved.
500
+ */},{key:"resolveRenderingPromiseIfSet",value:(function(){var _resolveRenderingPromiseIfSet=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(reason,resolveRendering){return _regenerator().w(function(_context4){while(1)switch(_context4.n){case 0:if(!resolveRendering){_context4.n=2;break}_context4.n=1;return this.waitForNestedComponentRendering();case 1:this.renderState.pending=false;this.renderState.resolve(reason);this.prepareNewRenderingPromise();case 2:return _context4.a(2)}},_callee4,this)}));function resolveRenderingPromiseIfSet(_x3,_x4){return _resolveRenderingPromiseIfSet.apply(this,arguments)}return resolveRenderingPromiseIfSet}()/**
501
+ * Sets up a new rendering cycle representing promise.
502
+ */)},{key:"prepareNewRenderingPromise",value:function prepareNewRenderingPromise(){var _this12=this;if(!this.renderState.pending)this.renderState.promise=new Promise(function(resolve){_this12.renderState.resolve=function(reason){_this12.renderState.pending=false;resolve(reason)}})}/**
503
+ * Triggers a new rendering cycle by respecting batch configuration.
504
+ * @param reason - A description why rendering should be triggered.
505
+ */},{key:"triggerRender",value:function triggerRender(reason){var _this13=this;if(this.batchUpdates){if(!this.batchedUpdateRunning){this.batchedUpdateRunning=true;void (0,clientnode__WEBPACK_IMPORTED_MODULE_0__.timeout)(function(){_this13.batchedUpdateRunning=false;void _this13.render(reason)})}}else void this.render(reason)}/**
506
+ * Creates shadow root if not created yet and assigns to the current root
507
+ * property.
508
+ */},{key:"applyShadowRootIfNotExisting",value:function applyShadowRootIfNotExisting(){if(this.self.shadowDOM&&this.hostDomNode===this)this.hostDomNode=(!("attachShadow"in this)&&"ShadyDOM"in window?window.ShadyDOM.wrap(this):this).attachShadow((0,clientnode__WEBPACK_IMPORTED_MODULE_0__.isObject)(this.self.shadowDOM)?this.self.shadowDOM:{mode:"open"})}/**
509
+ * Determines a new scope object with a useful default set of environment
510
+ * values.
511
+ * @param scope - To apply to generated scope.
512
+ */},{key:"determineRenderScope",value:function determineRenderScope(scope){var _this$parentInstance;if(scope===void 0){scope={}}this.scope=_objectSpread(_objectSpread(_objectSpread(_objectSpread({},((_this$parentInstance=this.parentInstance)===null||_this$parentInstance===void 0?void 0:_this$parentInstance.scope)||{}),this.scope),this.internalProperties),{},_defineProperty({parentInstance:this.parentInstance,rootInstance:this.rootInstance,self:this},(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.lowerCase)(this.self._name)||"instance",this),scope);this.scope.scope=this.scope}/**
513
+ * Does the rendering job. Should be called when ever state changes should
514
+ * be projected to the hosts dom content.
515
+ * @param reason - Description why rendering is necessary.
516
+ * @param resolveRendering - Indicates whether rendering should be resolved
517
+ * finally. Should be set to "false" via super calls in inherited render
518
+ * methods which do further dom manipulations afterward and resolve the
519
+ * rendering process by their own.
520
+ * @returns A promise resolving when rendering has been finished. A promise
521
+ * may be needed for classes inheriting from this class.
522
+ */},{key:"render",value:(function(){var _render=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(reason,resolveRendering){var _this14=this;var evaluated,renderTargetDomNode;return _regenerator().w(function(_context5){while(1)switch(_context5.n){case 0:if(reason===void 0){reason="unknown"}if(resolveRendering===void 0){resolveRendering=true}this.unRender("reRender",reason);this.childComponentInstances=[];this.renderState.pending=true;if(!this.isRoot){_context5.n=3;break}_context5.n=1;return this.resolveRenderingPromiseIfSet(reason,resolveRendering);case 1:if(!resolveRendering){_context5.n=3;break}_context5.n=2;return Promise.all(this.self.pendingRenderPromises);case 2:this.self.pendingRenderPromises=[];case 3:this.self.pendingRenderPromises.push(this.renderState.promise);this.determineRenderScope();if(this.self.doRender&&this.dispatchEvent(new CustomEvent("render",{detail:{reason:reason,scope:this.scope}}))){_context5.n=5;break}_context5.n=4;return this.resolveRenderingPromiseIfSet(reason,resolveRendering);case 4:return _context5.a(2);case 5:evaluated=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.evaluate)("`".concat(this.self.content,"`"),this.scope);if(!evaluated.error){_context5.n=7;break}log.warn("Failed to process template: ".concat(evaluated.error));this.renderState.resolve(reason);_context5.n=6;return Promise.all(this.self.pendingRenderPromises);case 6:return _context5.a(2);case 7:this.applyShadowRootIfNotExisting();/*
523
+ NOTE: We first render into an intermediate render target and apply
524
+ slot content until we finally publish everything to the document.
525
+ This avoids painting twice and internetexplorer bugs with an empty
526
+ node after first overwriting the content of "this.rootInstance".
527
+ */renderTargetDomNode=document.createElement("div");renderTargetDomNode.innerHTML=evaluated.result;this.applySlots(renderTargetDomNode,_objectSpread(_objectSpread({},this.scope),{},{parentInstance:this}));this.hostDomNode.innerHTML=renderTargetDomNode.innerHTML;/*
528
+ NOTE: Wait until nested components have registered themselves to be
529
+ able to wait for their rendering.
530
+ */_context5.n=8;return (0,clientnode__WEBPACK_IMPORTED_MODULE_0__.timeout)();case 8:void this.waitForNestedComponentRendering().then(function(){_this14.applyBindings(_this14.hostDomNode.firstChild,_this14.scope,_this14.self.renderSlots)});_context5.n=9;return this.resolveRenderingPromiseIfSet(reason,resolveRendering);case 9:return _context5.a(2)}},_callee5,this)}));function render(_x5,_x6){return _render.apply(this,arguments)}return render}()/**
531
+ * Should free up memory listeners related to deprecated HTML.
532
+ * @param _reason - Description why rendering is necessary.
533
+ * @param _reRenderReason - Description why a re-rendering is necessary.
534
+ */)},{key:"unRender",value:function unRender(_reason,_reRenderReason){if(_reason===void 0){_reason="unknown"}this.unregisterDomNodeEventBindings()}/// endregion
535
+ // endregion
536
+ }],[{key:"hasCode",value:function hasCode(content){return(// NOTE: First three conditions are only for performance.
537
+ typeof content==="string"&&content.includes("${")&&content.includes("}")&&/\${[\s\S]+}/.test(content))}/**
538
+ * Converts given the list, item, or map to a map (with ordering).
539
+ * @param value - Attribute reflection configuration.
540
+ * @returns Generated map.
541
+ */},{key:"normalizePropertyTypeList",value:function normalizePropertyTypeList(value){if(typeof value==="string")value=[value];if(Array.isArray(value)){var givenValue=value;var newValue=new Map;var _iterator1=_createForOfIteratorHelper(givenValue),_step1;try{for(_iterator1.s();!(_step1=_iterator1.n()).done;){var name=_step1.value;if(Object.prototype.hasOwnProperty.call(Web.propertyTypes,name))newValue.set(name,Web.propertyTypes[name])}}catch(err){_iterator1.e(err)}finally{_iterator1.f()}return newValue}return (0,clientnode__WEBPACK_IMPORTED_MODULE_0__.convertPlainObjectToMap)(value)}}])}(GenericHTMLElement),_defineProperty(_Web,"applyRootBinding",true),_defineProperty(_Web,"pendingRenderPromises",[]),_defineProperty(_Web,"content","<slot>Please provide a template to transclude.</slot>"),_defineProperty(_Web,"determineRootBinding",true),_defineProperty(_Web,"shadowDOM",null),_defineProperty(_Web,"observedAttributes",[]),_defineProperty(_Web,"controllableProperties",[]),_defineProperty(_Web,"eventToPropertyMapping",{}),_defineProperty(_Web,"propertyAliases",{}),_defineProperty(_Web,"propertyTypes",{onClick:clientnode_property_types__WEBPACK_IMPORTED_MODULE_1__.func}),_defineProperty(_Web,"propertiesToReflectAsAttributes",[]),_defineProperty(_Web,"renderProperties",["children"]),_defineProperty(_Web,"doRender",false),_defineProperty(_Web,"cloneSlots",false),_defineProperty(_Web,"evaluateSlots",false),_defineProperty(_Web,"renderSlots",true),_defineProperty(_Web,"trimSlots",true),_defineProperty(_Web,"renderUnsafe",false),_defineProperty(_Web,"_name","BaseWeb"),_defineProperty(_Web,"_propertyAliasIndex",void 0),_defineProperty(_Web,"_propertiesToReflectAsAttributes",void 0),_Web),_descriptor=_applyDecoratedDescriptor(_class.prototype,"isRoot",[_dec],{configurable:true,enumerable:true,writable:true,initializer:function initializer(){return true}}),_class);var api=(/* unused pure expression or super */ null && ({component:Web,register:function register(tagName){if(tagName===void 0){tagName=camelCaseToDelimited(Web._name)}customElements.define(tagName,Web)}}));/* harmony default export */ __webpack_exports__.Ay = (Web);
542
+
543
+ /***/ }),
544
+ /* 4 */
545
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
546
+
547
+
548
+ // EXPORTS
549
+ __webpack_require__.d(__webpack_exports__, {
550
+ Ay: function() { return /* binding */ src_ReactWeb; }
551
+ });
552
+
553
+ // UNUSED EXPORTS: ReactWeb, api, log
554
+
555
+ // EXTERNAL MODULE: external "clientnode"
556
+ var external_clientnode_ = __webpack_require__(0);
557
+ // EXTERNAL MODULE: external "clientnode/property-types"
558
+ var property_types_ = __webpack_require__(1);
559
+ // EXTERNAL MODULE: external "react"
560
+ var external_react_ = __webpack_require__(6);
561
+ ;// external "react-dom"
562
+
563
+ ;// external "react-dom/client"
564
+
565
+ // EXTERNAL MODULE: ./src/Web.ts
566
+ var Web = __webpack_require__(3);
567
+ ;// ./src/ReactWeb.ts
568
+ /* unused harmony import specifier */ var camelCaseToDelimited;
569
+ // #!/usr/bin/env babel-node
570
+ // -*- coding: utf-8 -*-
571
+ /** @module react *//* !
572
+ region header
573
+ [Project page](https://torben.website/web-component-wrapper)
574
+
575
+ Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
576
+
577
+ License
578
+ -------
579
+
580
+ This library written by Torben Sickert stands under a creative commons
581
+ naming 3.0 unported license.
582
+ See https://creativecommons.org/licenses/by/3.0/deed.de
583
+ endregion
584
+ */// region imports
585
+ function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]}},e:function e(r){throw r},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function s(){t=t.call(r)},n:function n(){var r=t.next();return a=r.done,r},e:function e(r){u=!0,o=r},f:function f(){try{a||null==t.return||t.return()}finally{if(u)throw o}}}}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof Generator?n:Generator,u=Object.create(c.prototype);return _regeneratorDefine2(u,"_invoke",function(r,n,o){var i,c,u,f=0,p=o||[],y=!1,G={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function d(t,r){return i=t,c=0,u=e,G.n=r,a}};function d(r,n){for(c=r,u=n,t=0;!y&&f&&!o&&t<p.length;t++){var o,i=p[t],d=G.p,l=i[2];r>3?(o=l===n)&&(u=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=r<2&&d<i[1])?(c=0,G.v=n,G.n=i[1]):d<l&&(o=r<3||i[0]>n||n>l)&&(i[4]=r,i[5]=n,G.n=l,c=0))}if(o||r>1)return a;throw y=!0,n}return function(o,p,l){if(f>1)throw TypeError("Generator is already running");for(y&&1===p&&d(p,l),c=p,u=l;(t=c<2?e:u)||!y;){i||(c?c<3?(c>1&&(G.n=-1),d(c,u)):G.n=u:G.v=u);try{if(f=2,i){if(c||(o="next"),t=i[o]){if(!(t=t.call(i,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,c<2&&(c=0)}else 1===c&&(t=i.return)&&t.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=e}else if((t=(y=G.n<0)?u:r.call(n,G))!==a)break}catch(t){i=e,c=1,u=t}finally{f=1}}return{value:t,done:y}}}(r,o,i),!0),u}var a={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}t=Object.getPrototypeOf;var c=[][n]?t(t([][n]())):(_regeneratorDefine2(t={},n,function(){return this}),t),u=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(c);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,GeneratorFunctionPrototype):(e.__proto__=GeneratorFunctionPrototype,_regeneratorDefine2(e,o,"GeneratorFunction")),e.prototype=Object.create(u),e}return GeneratorFunction.prototype=GeneratorFunctionPrototype,_regeneratorDefine2(u,"constructor",GeneratorFunctionPrototype),_regeneratorDefine2(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName="GeneratorFunction",_regeneratorDefine2(GeneratorFunctionPrototype,o,"GeneratorFunction"),_regeneratorDefine2(u),_regeneratorDefine2(u,o,"Generator"),_regeneratorDefine2(u,n,function(){return this}),_regeneratorDefine2(u,"toString",function(){return"[object Generator]"}),(_regenerator=function _regenerator(){return{w:i,m:f}})()}function _regeneratorDefine2(e,r,n,t){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}_regeneratorDefine2=function _regeneratorDefine(e,r,n,t){function o(r,n){_regeneratorDefine2(e,r,function(e){return this._invoke(r,n,e)})}r?i?i(e,r,{value:n,enumerable:!t,configurable:!t,writable:!t}):e[r]=n:(o("next",0),o("throw",1),o("return",2))},_regeneratorDefine2(e,r,n,t)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value}catch(n){return void e(n)}i.done?t(u):Promise.resolve(u).then(r,o)}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n)}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n)}_next(void 0)})}}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o)}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e)}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e))}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t)}:p}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value}},_get.apply(null,arguments)}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););return t}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}// endregion
586
+ var log=new external_clientnode_.Logger({name:"web-component-wrapper.react-web"});/*
587
+ Live cycle:
588
+
589
+ 1. Render the React component with properties (defined in a web-component)
590
+ and start listing to "onChange" events.
591
+ 2. Reflect component properties to web-component properties and
592
+ attributes (with prevented re-rendering caused by new properties).
593
+ 3. Component triggers an "onChange" event (caused by some react event)
594
+ which delivers updated properties to the web-component.
595
+ -> Starting with the first step.
596
+ *//**
597
+ * Adapter for exposing a React component as a web-component.
598
+ * @property attachWebComponentAdapterIfNotExists - Indicates whether to wrap
599
+ * with a reference wrapper to get updated about internal state changes.
600
+ * @property content - React component to wrap.
601
+ * @property react - React namespace.
602
+ * @property compiledSlots - Cache of yet pre-compiled slot elements.
603
+ * @property preparedSlots - Cache of yet evaluated slot react elements.
604
+ * @property rootReactInstance - Saves determined root react instance.
605
+ * @property self - Back-reference to this class.
606
+ * @property wrapMemorizingWrapper - Determines whether to wrap component with
607
+ * React's memorizing wrapper to cache component render results.
608
+ * @property isWrapped - Indicates whether a React component is wrapped
609
+ * already.
610
+ */var ReactWeb=/*#__PURE__*/function(_Web){function ReactWeb(){var _this;_classCallCheck(this,ReactWeb);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}_this=_callSuper(this,ReactWeb,[].concat(args));_defineProperty(_this,"unmountOnDisconnect",true);_defineProperty(_this,"compiledSlots",{});_defineProperty(_this,"preparedSlots",{});_defineProperty(_this,"reactRoot",null);_defineProperty(_this,"rootReactInstance",null);_defineProperty(_this,"self",ReactWeb);_defineProperty(_this,"wrapMemorizingWrapper",null);_defineProperty(_this,"isWrapped",false);/**
611
+ * Updates the current component instance and reflects newly determined
612
+ * properties.
613
+ */_defineProperty(_this,"reflectInstanceProperties",function(){var _this$instance;if((_this$instance=_this.instance)!==null&&_this$instance!==void 0&&_this$instance.current&&_this.instance.current.properties)_this.reflectProperties(_this.instance.current.properties)});return _this}_inherits(ReactWeb,_Web);return _createClass(ReactWeb,[{key:"connectedCallback",value:// region live-cycle
614
+ /**
615
+ * Triggered when this component is mounted into the document. Event
616
+ * handlers will be attached and the final render proceeds.
617
+ */function connectedCallback(){this.applyComponentWrapper();// NOTE: Can be overwritten during optional root determining.
618
+ this.rootReactInstance=this;/*
619
+ Attaches event handler, grabs given slots, reflects external
620
+ properties and enqueues first rendering.
621
+ */_superPropGet(ReactWeb,"connectedCallback",this,3)([])}/**
622
+ * Triggered when this component is unmounted from the document. Event
623
+ * handlers will be removed and state updated accordingly.
624
+ */},{key:"disconnectedCallback",value:function disconnectedCallback(){var _this$reactRoot;this.unRender("disconnected");if(this.unmountOnDisconnect)(_this$reactRoot=this.reactRoot)===null||_this$reactRoot===void 0||_this$reactRoot.unmount();this.unregisterConnectionState()}/**
625
+ * Reflects wrapped component state back to web-component's attributes.
626
+ * @param properties - Properties to update in reflected attribute state.
627
+ */},{key:"reflectExternalProperties",value:function reflectExternalProperties(properties){if(this.isRoot)_superPropGet(ReactWeb,"reflectExternalProperties",this,3)([properties])}/**
628
+ * Method that does the rendering job. Should be called when ever state
629
+ * changes should be projected to the hosts dom content.
630
+ * @param reason - Description why rendering is necessary.
631
+ * @param resolveRendering - Indicates whether rendering should be resolved
632
+ * finally. Should be set to "false" via super calls in inherited render
633
+ * methods which do further dom manipulations afterward and resolve the
634
+ * rendering process by their own.
635
+ * @returns A promise resolving when rendering has finished. A promise may
636
+ * be needed for classes inheriting from this class.
637
+ */},{key:"render",value:(function(){var _render=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(reason,resolveRendering){var _this2=this;var domNode,nextDomNode,identifierPrefixCandidate,identifierPrefix;return _regenerator().w(function(_context){while(1)switch(_context.n){case 0:if(reason===void 0){reason="unknown"}if(resolveRendering===void 0){resolveRendering=true}_superPropGet(ReactWeb,"unRender",this,3)(["reRender",reason]);this.childComponentInstances=[];this.renderState.pending=true;if(this.isRoot)this.self.pendingRenderPromises=[];this.self.pendingRenderPromises.push(this.renderState.promise);/*
638
+ NOTE: We prevent a nested React component from self-rendering since
639
+ they will be rendered by highest react parent.
640
+ */if(!(this.rootReactInstance!==this||!this.dispatchEvent(new CustomEvent("render",{detail:{reason:reason,scope:this.scope}})))){_context.n=1;break}return _context.a(2,this.resolveRenderingPromiseIfSet(reason,resolveRendering));case 1:this.determineRenderScope();if(Object.keys(this.compiledSlots).length===0)this.preCompileSlots();this.evaluateSlots(_objectSpread(_objectSpread({},this.scope),{},{parentInstance:this}));this.prepareProperties(this.internalProperties);this.applyShadowRootIfNotExisting();if(this.rootInstance!==this&&!this.reactRoot){/*
641
+ Remove template nodes since they will be replaced by reacts
642
+ render result (only necessary when having a dedicated rendering
643
+ target like shadow root and only on first render before React
644
+ takes over DOM management).
645
+ */domNode=this.firstChild;while(domNode){nextDomNode=domNode.nextSibling;this.removeChild(domNode);domNode=nextDomNode}}if(!this.reactRoot){identifierPrefixCandidate=this.id||this.internalProperties.id||this.externalProperties.id||this.name||this.internalProperties.name||this.externalProperties.name;identifierPrefix="";if(typeof identifierPrefixCandidate==="string")identifierPrefix=identifierPrefixCandidate;this.reactRoot=__WEBPACK_EXTERNAL_MODULE_react_dom_client_82ef521c_createRoot__(this.hostDomNode,{identifierPrefix:identifierPrefix})}__WEBPACK_EXTERNAL_MODULE_react_dom_c0b5c364_flushSync__(function(){var _this2$reactRoot;(_this2$reactRoot=_this2.reactRoot)===null||_this2$reactRoot===void 0||_this2$reactRoot.render((0,external_react_.createElement)(_this2.self.content,_this2.internalProperties));void _this2.resolveRenderingPromiseIfSet(reason,resolveRendering)});if(!resolveRendering){_context.n=2;break}_context.n=2;return this.renderState.promise;case 2:return _context.a(2)}},_callee,this)}));function render(_x,_x2){return _render.apply(this,arguments)}return render}()// endregion
646
+ // region property handling
647
+ /**
648
+ * Generic property setter. Forwards field writes into internal and
649
+ * external property representations.
650
+ *
651
+ * In general, it is a bad idea to write properties which shadow state
652
+ * properties (move to a controlled component instance) and re-set the
653
+ * property to "undefined" later to lose control.
654
+ *
655
+ * The reason causes in avoiding this scenario:
656
+ *
657
+ * 1. Property overwrites the state.
658
+ * 2. State changes but is shadowed by recent changes in property.
659
+ *
660
+ * So the following will be ensured:
661
+ *
662
+ * 1. Property overwrites the state.
663
+ * 2. Property is overwritten to "undefined" to lose control over the
664
+ * state.
665
+ * 3. Now a state change can be represented back after property adaptions.
666
+ * (Converts reacts declarative nature into an imperative web-component
667
+ * style).
668
+ * 4. Further state changes should be communicated back via output events.
669
+ * @param name - Property name to write.
670
+ * @param value - New value to write.
671
+ */)},{key:"setPropertyValue",value:function setPropertyValue(name,value){this.reflectProperties(_defineProperty({},name,(0,external_clientnode_.copy)(value,false,1)));this.setInternalPropertyValue(name,(0,external_clientnode_.copy)(value,false,1))}/**
672
+ * Internal property setter. Respects configured aliases.
673
+ * @param name - Property name to write.
674
+ * @param value - New value to write.
675
+ */},{key:"setInternalPropertyValue",value:function setInternalPropertyValue(name,value){if(value===null)value=property_types_.NullSymbol;else if(value===undefined)value=property_types_.UndefinedSymbol;_superPropGet(ReactWeb,"setInternalPropertyValue",this,3)([name,value])}// endregion
676
+ // region handle slots
677
+ /**
678
+ * Converts given html dom nodes into a compiled function to generate a
679
+ * react-element or a react-element list.
680
+ * @param domNodes - Nodes to convert.
681
+ * @param scope - Additional scope to render subcomponents against.
682
+ * Necessary to bound necessary environment variables into compiled context.
683
+ * @param isFunction - Indicates whether a given render result should be
684
+ * provided as function (render property) with bound parameters environment
685
+ * variable name.
686
+ * @returns Transformed react elements.
687
+ */},{key:"preCompileDomNodes",value:function preCompileDomNodes(domNodes,scope,isFunction){if(scope===void 0){scope={}}if(isFunction===void 0){isFunction=false}// NOTE: We ignore empty text nodes (like React's jsx does).
688
+ domNodes=domNodes.filter(function(domNode){return domNode.nodeType!==Node.TEXT_NODE||typeof domNode.nodeValue==="string"&&domNode.nodeValue.trim()!==""});if(domNodes.length===1)return this.preCompileDomNode(domNodes[0],scope,isFunction);var index=1;var result=[];var _iterator=_createForOfIteratorHelper(domNodes),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var node=_step.value;var element=this.preCompileDomNode(node,scope,isFunction,index.toString());result.push(element);index+=1}}catch(err){_iterator.e(err)}finally{_iterator.f()}if(isFunction)return function(scope){return function(){var renderResult=[];var _iterator2=_createForOfIteratorHelper(result),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var factory=_step2.value;var renderItem=factory(scope);if(typeof renderItem==="function")renderResult.push(renderItem.apply(void 0,arguments))}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}return (0,external_react_.createElement)(external_react_.Fragment,{children:renderResult})}};return result}/**
689
+ * Converts a given html dom node into a react-element.
690
+ * @param domNode - Node to convert.
691
+ * @param scope - Additional scope to render subcomponents against.
692
+ * @param isFunction - Indicates whether given nodes should be provided as
693
+ * function (render property).
694
+ * @param key - Optional key to add to component properties.
695
+ * @returns Transformed react element.
696
+ */},{key:"preCompileDomNode",value:function preCompileDomNode(domNode,scope,isFunction,key){var _this3=this;if(scope===void 0){scope={}}if(isFunction===void 0){isFunction=false}// region render property
697
+ if(isFunction){var node=this.preCompileDomNode(domNode,_objectSpread(_objectSpread({},scope),{},{data:undefined,firstArgument:undefined,firstParameter:undefined,options:undefined,scope:undefined,parameters:undefined}),false,key);return function(scope){return function(){for(var _len2=arguments.length,parameters=new Array(_len2),_key2=0;_key2<_len2;_key2++){parameters[_key2]=arguments[_key2]}var firstArgument=parameters.length>0?parameters[0]:null;return node(_objectSpread(_objectSpread({},scope),{},{data:firstArgument,firstArgument:firstArgument,firstParameter:firstArgument,options:firstArgument,scope:firstArgument,parameters:parameters}))}}}// endregion
698
+ // region text node
699
+ if(domNode.nodeType===Node.TEXT_NODE){var value=typeof domNode.nodeValue==="string"?domNode.nodeValue.trim():"";var result=key&&value?(0,external_react_.createElement)(external_react_.Fragment,{children:value,key:key}):value?value:null;return function(){return result}}// endregion
700
+ if(!domNode.getAttributeNames)return function(){return null};// region native elements and wrapped react components
701
+ /// region prepare type and static properties
702
+ var staticProperties={};var target;var isComponent=this.self.isReactComponent(domNode);if(isComponent){// region pre-compile nested render context
703
+ domNode.determineRenderScope();if(Object.keys(this.compiledSlots).length===0)domNode.preCompileSlots();// endregion
704
+ /*
705
+ NOTE: Nested components are already instantiated and connected,
706
+ so use their initialized properties. We need to merge them when
707
+ actually rendering the nested component.
708
+ */if(key&&!Object.prototype.hasOwnProperty.call(staticProperties,"key"))staticProperties.key=key;target=domNode.constructor.content}else{staticProperties.key=key;target=domNode.tagName.toLowerCase()}/// endregion
709
+ /// region pre-compile dynamic properties
710
+ var knownScopeNames=Object.keys(scope);var compiledProperties={};var _iterator3=_createForOfIteratorHelper(domNode.getAttributeNames()),_step3;try{var _loop=function _loop(){var _value3;var attributeName=_step3.value;var _value2=domNode.getAttribute(attributeName);if(_value2===null)return 0;// continue
711
+ var extend=false;var name="";if(attributeName.startsWith("data-bind-"))name=attributeName.substring("data-bind-".length);else if(attributeName.startsWith("bind-"))name=attributeName.substring("bind-".length);if(name.startsWith("attribute-")||name==="attributes"||name.startsWith("property-")||name==="properties"){var _compile=(0,external_clientnode_.compile)(_value2,knownScopeNames),error=_compile.error,originalScopeNames=_compile.originalScopeNames,templateFunction=_compile.templateFunction;if(error){log.warn("Error occurred during compiling given attribute","binding \"".concat(attributeName,"\" on node:"),domNode,error);return 0;// continue
712
+ }if(name==="attributes"||name==="properties")extend=true;else name=name.startsWith("attribute-")?name.substring("attribute-".length):name.substring("property-".length);_value2={originalScopeNames:originalScopeNames,templateFunction:templateFunction.bind(_this3)}}else if(name.startsWith("on-")){name=(0,external_clientnode_.delimitedToCamelCase)(name);if(!Object.prototype.hasOwnProperty.call(scope,"event"))knownScopeNames=[].concat(_toConsumableArray(knownScopeNames),["event"]);if(!Object.prototype.hasOwnProperty.call(scope,"parameters"))knownScopeNames=[].concat(_toConsumableArray(knownScopeNames),["parameters"]);/*
713
+ NOTE: We pre-compile event listener since they should
714
+ usually be called more than it would be re-rendered.
715
+ */var _compile2=(0,external_clientnode_.compile)(_value2,knownScopeNames,true),_error=_compile2.error,_originalScopeNames=_compile2.originalScopeNames,scopeNames=_compile2.scopeNames,_templateFunction=_compile2.templateFunction;if(_error){log.warn("Error occurred during compiling given event","binding \"".concat(attributeName,"\" on node:"),domNode,_error);return 0;// continue
716
+ }var eventHandler=_templateFunction.bind(_this3);_value2=function value(){for(var _len3=arguments.length,parameters=new Array(_len3),_key3=0;_key3<_len3;_key3++){parameters[_key3]=arguments[_key3]}scope.event=parameters[0];scope.parameters=parameters;try{eventHandler.apply(void 0,_toConsumableArray(_originalScopeNames.map(function(name){return scope[name]})))}catch(error){log.warn("Error occurred during processing given","event binding \"".concat(attributeName,"\" on node: "),domNode,"Given expression \"".concat(_value2,"\" could"),"not be evaluated with given scope names","\"".concat(scopeNames.join("\", \""),"\":"),(0,external_clientnode_.represent)(error))}}}else name=attributeName;var mapping={class:"className",for:"htmlFor"};if(Object.prototype.hasOwnProperty.call(mapping,name))name=mapping[name];name=(0,external_clientnode_.delimitedToCamelCase)(name);if((_value3=_value2)!==null&&_value3!==void 0&&_value3.originalScopeNames)// NOTE: "''" marks a property set like in JSX "{...props}".
717
+ compiledProperties[extend?"":name]=_value2;else if(!isComponent)/*
718
+ NOTE: Properties of components are evaluated already by
719
+ them self and set as "internalProperties". Those
720
+ properties, which need to be evaluated against the parent
721
+ scope, should be marked via the "bind-property-" prefix.
722
+ That's why they are omitted here.
723
+ */staticProperties[name]=_value2},_ret;for(_iterator3.s();!(_step3=_iterator3.n()).done;){_ret=_loop();if(_ret===0)continue}/// endregion
724
+ /// region pre-compiled nested nodes of native elements
725
+ }catch(err){_iterator3.e(err)}finally{_iterator3.f()}if(!isComponent){var childNodes=Array.from(domNode.childNodes);if(childNodes.length)staticProperties.children=this.preCompileDomNodes(childNodes,scope)}/// endregion
726
+ /// region create evaluable render function
727
+ return function(runtimeScope){// region prepare scope
728
+ runtimeScope=_objectSpread(_objectSpread({},scope),runtimeScope);runtimeScope.scope=runtimeScope;// endregion
729
+ var properties=_objectSpread({},staticProperties);// region evaluate dynamic properties
730
+ for(var _i=0,_Object$entries=Object.entries(compiledProperties);_i<_Object$entries.length;_i++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i],2),name=_Object$entries$_i[0],_Object$entries$_i$=_Object$entries$_i[1],originalScopeNames=_Object$entries$_i$.originalScopeNames,templateFunction=_Object$entries$_i$.templateFunction;var _value=templateFunction.apply(void 0,_toConsumableArray(originalScopeNames.map(function(name){return runtimeScope[name]})));if(name==="")properties=_objectSpread(_objectSpread({},properties),_value);else properties[name]=_value}// endregion
731
+ // region prepare react specific element property handling
732
+ if(Object.prototype.hasOwnProperty.call(properties,"innerHTML")){properties.dangerouslySetInnerHTML={__html:properties.innerHTML};delete properties.children;delete properties.innerHTML}if(Object.prototype.hasOwnProperty.call(properties,"textContent")){properties.children=properties.textContent;delete properties.textContent}else if(isComponent){// region evaluate nested render contexts
733
+ /*
734
+ NOTE: Properties of components are evaluated already by
735
+ them self and set as "internalProperties". Those
736
+ properties, which need to be evaluated against the parent
737
+ scope, should be marked via the "bind-property-" prefix.
738
+ */properties=_objectSpread(_objectSpread({},domNode.internalProperties),properties);runtimeScope=_objectSpread(_objectSpread(_objectSpread({},properties),runtimeScope),{},{parentInstance:domNode});domNode.evaluateSlots(runtimeScope);domNode.prepareProperties(properties);// endregion
739
+ }else if(properties.children)properties.children=_this3.evaluatePreCompiledDomNodes(properties.children,runtimeScope);// endregion
740
+ return (0,external_react_.createElement)(target,properties)};/// endregion
741
+ // endregion
742
+ }/**
743
+ * Evaluates given pre-compiled nodes into a single react element or a
744
+ * React element list.
745
+ * @param nodes - Pre-compiled nodes.
746
+ * @param scope - Additional scope to render subcomponents against.
747
+ * @returns Transformed react elements.
748
+ */},{key:"evaluatePreCompiledDomNodes",value:function evaluatePreCompiledDomNodes(nodes,scope){if(scope===void 0){scope={}}if(!Array.isArray(nodes))return nodes(scope);if(nodes.length===1)return nodes[0](scope);var result=[];var _iterator4=_createForOfIteratorHelper(nodes),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var node=_step4.value;var element=node(scope);if(element)result.push(element)}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}return result}/**
749
+ * Pre compiles and caches determined slots.
750
+ */},{key:"preCompileSlots",value:function preCompileSlots(){for(var name in this.slots)if(this.slots[name]&&name!=="default")this.compiledSlots[name]=this.preCompileDomNode(this.slots[name],_objectSpread(_objectSpread({},this.scope),{},{parentInstance:this}),[property_types_.func,"function"].includes(this.self.propertyTypes[name]));if(this.slots.default&&this.slots.default.length>0)this.compiledSlots.children=this.preCompileDomNodes(this.slots.default,_objectSpread(_objectSpread({},this.scope),{},{parentInstance:this}),[property_types_.func,"function"].includes(this.self.propertyTypes.children))}/**
751
+ * Evaluates pre-compiled slots.
752
+ * @param scope - To render again.
753
+ */},{key:"evaluateSlots",value:function evaluateSlots(scope){this.preparedSlots={};for(var name in this.compiledSlots)if(Object.prototype.hasOwnProperty.call(this.compiledSlots,name))if(name==="children")this.preparedSlots.children=this.evaluatePreCompiledDomNodes(this.compiledSlots[name],scope);else this.preparedSlots[name]=this.compiledSlots[name](scope)}// endregion
754
+ // region helper
755
+ /**
756
+ * Determines if the given element type is a react-wrapped component.
757
+ * @param domNode - Node to determine from.
758
+ * @returns Boolean indicator.
759
+ */},{key:"determineRootBinding",value:/**
760
+ * Determines initial root and react root who initializes their rendering
761
+ * digests.
762
+ */function determineRootBinding(){_superPropGet(ReactWeb,"determineRootBinding",this,3)([]);var currentElement=this.parentNode;while(currentElement){if(this.self.isReactComponent(currentElement)){this.rootReactInstance=currentElement;break}currentElement=currentElement.parentNode}}/**
763
+ * Applies missing forward ref and or memorizing wrapper to a current react
764
+ * component.
765
+ */},{key:"applyComponentWrapper",value:function applyComponentWrapper(){if(typeof this.self.content==="string"||this.isWrapped)return;this.isWrapped=true;var wrapped=this.self.content.wrapped||this.self.content;if(this.self.content.webComponentAdapterWrapped){if(this.wrapMemorizingWrapper){this.self.content=(0,external_react_.memo)(this.self.content);this.self.content.wrapped=wrapped}}else if(this.self.attachWebComponentAdapterIfNotExists){if(!this.self.content.displayName)this.self.content.displayName=this.self._name;this.self.content=(0,external_react_.forwardRef)(function(properties,reference){(0,external_react_.useImperativeHandle)(reference,function(){return{properties:properties}},[properties]);return (0,external_react_.createElement)(wrapped,properties)});if(this.wrapMemorizingWrapper||this.wrapMemorizingWrapper===null)this.self.content=(0,external_react_.memo)(this.self.content);this.self.content.wrapped=wrapped;this.self.content.webComponentAdapterWrapped="react"}else if(this.wrapMemorizingWrapper){this.self.content=(0,external_react_.memo)(this.self.content);this.self.content.wrapped=wrapped}}/**
766
+ * Prepares a given properties object to render against the current
767
+ * component. Creates a reference for being recognized of reacts internal
768
+ * state updates.
769
+ * @param properties - Properties to prepare.
770
+ */},{key:"prepareProperties",value:function prepareProperties(properties){var _this4=this;(0,external_clientnode_.extend)(properties,this.preparedSlots);this.self.removeKnownUnwantedPropertyKeys(this.self,properties);/*
771
+ NOTE: Provide instance if and only if not explicitly requested from
772
+ parent via properties.
773
+ */if(!properties.ref){this.instance=(0,external_react_.createRef)();properties.ref=function(reference){if(_this4.instance)_this4.instance.current=reference;else _this4.instance={current:reference};_this4.reflectInstanceProperties()}}}}],[{key:"isReactComponent",value:function isReactComponent(domNode){var type=domNode.constructor;return _typeof(type.content)==="object"&&(!type.attachWebComponentAdapterIfNotExists||type.content.webComponentAdapterWrapped==="react")}},{key:"removeKnownUnwantedPropertyKeys",value:/**
774
+ * Removes unwanted known and not specified properties from a given
775
+ * properties object (usually added by dev-tools).
776
+ * @param target - ReactElement where properties belong to.
777
+ * @param properties - Properties object to trim.
778
+ */function removeKnownUnwantedPropertyKeys(target,properties){if(typeof target.content==="string")return;// NOTE: Known root of errors caused by browser dev-tools.
779
+ var _iterator5=_createForOfIteratorHelper(["isRoot","isTrusted","__composed"]),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var name=_step5.value;if(Object.prototype.hasOwnProperty.call(properties,name)&&(Object.prototype.hasOwnProperty.call(target.content,"propTypes")&&!Object.prototype.hasOwnProperty.call(target.content.propTypes,name)||Object.prototype.hasOwnProperty.call(target.content,"wrapped")&&Object.prototype.hasOwnProperty.call(target.content.wrapped,"propTypes")&&!Object.prototype.hasOwnProperty.call(target.content.wrapped.propTypes,name)))delete properties[name]}}catch(err){_iterator5.e(err)}finally{_iterator5.f()}}// endregion
780
+ }])}(Web/* default */.Ay);_defineProperty(ReactWeb,"attachWebComponentAdapterIfNotExists",true);_defineProperty(ReactWeb,"content","div");_defineProperty(ReactWeb,"react",external_react_["default"]);_defineProperty(ReactWeb,"_name","ReactWebComponent");var api=(/* unused pure expression or super */ null && ({component:ReactWeb,register:function register(tagName){if(tagName===void 0){tagName=camelCaseToDelimited(ReactWeb._name)}customElements.define(tagName,ReactWeb)}}));/* harmony default export */ var src_ReactWeb = (ReactWeb);
781
+
782
+ /***/ }),
783
+ /* 5 */
784
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
785
+
786
+ /* unused harmony exports property, ReactWeb, reactWebAPI, webAPI, Web, wrapAsWebComponent */
787
+ /* unused harmony import specifier */ var propertyImport;
788
+ /* unused harmony import specifier */ var reactWebAPIImport;
789
+ /* unused harmony import specifier */ var webAPIImport;
790
+ /* unused harmony import specifier */ var WebImport;
791
+ /* harmony import */ var clientnode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
792
+ /* harmony import */ var _ReactWeb_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4);
793
+ // #!/usr/bin/env babel-node
794
+ // -*- coding: utf-8 -*-
795
+ /** @module index *//* !
796
+ region header
797
+ [Project page](https://torben.website/web-component-wrapper)
798
+
799
+ Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
800
+
801
+ License
802
+ -------
803
+
804
+ This library written by Torben Sickert stands under a creative commons
805
+ naming 3.0 unported license.
806
+ See https://creativecommons.org/licenses/by/3.0/deed.de
807
+ endregion
808
+ */// region imports
809
+ function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o)}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function")}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e)}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e))}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}// endregion
810
+ var property=(/* unused pure expression or super */ null && (propertyImport));var ReactWeb=_ReactWeb_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Ay;var reactWebAPI=(/* unused pure expression or super */ null && (reactWebAPIImport));var webAPI=(/* unused pure expression or super */ null && (webAPIImport));var Web=(/* unused pure expression or super */ null && (WebImport));/**
811
+ * Wraps given react component as web component.
812
+ * @param component - React component to wrap.
813
+ * @param nameHint - A name to set as property in runtime generated web
814
+ * component class.
815
+ * @param configuration - Additional web component configurations.
816
+ * @returns Generated object to register and retrieve generated web component.
817
+ */var wrapAsWebComponent=function wrapAsWebComponent(component,nameHint,configuration){var _component$___types,_ref,_configuration$render;if(nameHint===void 0){nameHint="NoName"}if(configuration===void 0){configuration={}}// Determine class / function name.
818
+ var name=component._name||(// NOTE: Not minifyable save: "component.name ||"
819
+ /*
820
+ NOTE: There exists babel plugins which reflects component name and
821
+ member variables under this property. Try to respect these.
822
+ */(_component$___types=component.___types)===null||_component$___types===void 0||(_component$___types=_component$___types.name)===null||_component$___types===void 0?void 0:_component$___types.name)||nameHint.replace(/^(.*\/+)?([^/]+)\.tsx$/,"$2");if(configuration.propTypes)component.propTypes=configuration.propTypes;var propertyTypes=component.propTypes||{};var propertyAliases=configuration.propertyAliases||component.propertyAliases||{};var allPropertyNames=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.unique)(Object.keys(propertyTypes).concat(Object.keys(propertyAliases)).concat(Object.values(propertyAliases)));// NOTE: We extend given configuration properties by base class defined.
823
+ var propertiesToReflectAsAttributes=configuration.propertiesToReflectAsAttributes||component.propertiesToReflectAsAttributes||[];if(ReactWeb.propertiesToReflectAsAttributes)if(Array.isArray(propertiesToReflectAsAttributes))propertiesToReflectAsAttributes=[].concat(_toConsumableArray(ReactWeb.propertiesToReflectAsAttributes),_toConsumableArray(propertiesToReflectAsAttributes));else if(propertiesToReflectAsAttributes instanceof Map)for(var _i=0,_arr=ReactWeb.propertiesToReflectAsAttributes;_i<_arr.length;_i++){var _name=_arr[_i];propertiesToReflectAsAttributes.set(_name,ReactWeb.propertyTypes[_name])}else if(_typeof(propertiesToReflectAsAttributes)==="object")for(var _i2=0,_arr2=ReactWeb.propertiesToReflectAsAttributes;_i2<_arr2.length;_i2++){var _name2=_arr2[_i2];propertiesToReflectAsAttributes[_name2]=ReactWeb.propertyTypes[_name2]}var attributeNames=allPropertyNames.map(function(name){return (0,clientnode__WEBPACK_IMPORTED_MODULE_0__.camelCaseToDelimited)(name)});/**
824
+ * Runtime generated web component.
825
+ */var ConcreteComponent=/*#__PURE__*/function(_ReactWeb){function ConcreteComponent(){var _configuration$unmoun;var _this;_classCallCheck(this,ConcreteComponent);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}_this=_callSuper(this,ConcreteComponent,[].concat(args));_defineProperty(_this,"self",ConcreteComponent);_defineProperty(_this,"internalProperties",configuration.internalProperties?_objectSpread({},configuration.internalProperties):component.internalProperties?_objectSpread({},component.internalProperties):{});_defineProperty(_this,"unmountOnDisconnect",(_configuration$unmoun=configuration.unmountOnDisconnect)!==null&&_configuration$unmoun!==void 0?_configuration$unmoun:true);return _this}_inherits(ConcreteComponent,_ReactWeb);return _createClass(ConcreteComponent)}(ReactWeb);_defineProperty(ConcreteComponent,"attachWebComponentAdapterIfNotExists",typeof configuration.attachWebComponentAdapterIfNotExists==="boolean"?configuration.attachWebComponentAdapterIfNotExists:true);_defineProperty(ConcreteComponent,"content",component);_defineProperty(ConcreteComponent,"observedAttributes",ReactWeb.observedAttributes.concat(attributeNames)// NOTE: Respect pre-evaluation indicator attributes.
826
+ .concat(attributeNames.map(function(name){return"-".concat(name)})));_defineProperty(ConcreteComponent,"controllableProperties",component.controllableProperties||configuration.controllableProperties||[]);_defineProperty(ConcreteComponent,"eventToPropertyMapping",configuration.eventToPropertyMapping===null?configuration.eventToPropertyMapping:configuration.eventToPropertyMapping?_objectSpread({},configuration.eventToPropertyMapping):component.eventToPropertyMapping===null?component.eventToPropertyMapping:component.eventToPropertyMapping?_objectSpread({},component.eventToPropertyMapping):{});_defineProperty(ConcreteComponent,"propertyAliases",_objectSpread(_objectSpread({},ReactWeb.propertyAliases),propertyAliases));_defineProperty(ConcreteComponent,"propertiesToReflectAsAttributes",propertiesToReflectAsAttributes);_defineProperty(ConcreteComponent,"propertyTypes",_objectSpread(_objectSpread({},ReactWeb.propertyTypes),propertyTypes));_defineProperty(ConcreteComponent,"renderProperties",(_ref=(_configuration$render=configuration.renderProperties)!==null&&_configuration$render!==void 0?_configuration$render:component.renderProperties)!==null&&_ref!==void 0?_ref:ReactWeb.renderProperties);_defineProperty(ConcreteComponent,"_name",name);var webComponentAPI={component:ConcreteComponent,register:function register(tagName){if(tagName===void 0){tagName=(0,clientnode__WEBPACK_IMPORTED_MODULE_0__.camelCaseToDelimited)(name)}customElements.define(tagName,ConcreteComponent)}};return webComponentAPI};/* harmony default export */ __webpack_exports__.Ay = (wrapAsWebComponent);
827
+
828
+ /***/ }),
829
+ /* 6 */
830
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
831
+
832
+ var x = function(y) {
833
+ var x = {}; __webpack_require__.d(x, y); return x
834
+ }
835
+ var y = function(x) { return function() { return x; }; }
836
+ module.exports = x({ ["Fragment"]: function() { return __WEBPACK_EXTERNAL_MODULE_react__.Fragment; }, ["createElement"]: function() { return __WEBPACK_EXTERNAL_MODULE_react__.createElement; }, ["createRef"]: function() { return __WEBPACK_EXTERNAL_MODULE_react__.createRef; }, ["default"]: function() { return __WEBPACK_EXTERNAL_MODULE_react__["default"]; }, ["forwardRef"]: function() { return __WEBPACK_EXTERNAL_MODULE_react__.forwardRef; }, ["memo"]: function() { return __WEBPACK_EXTERNAL_MODULE_react__.memo; }, ["useImperativeHandle"]: function() { return __WEBPACK_EXTERNAL_MODULE_react__.useImperativeHandle; } });
837
+
838
+ /***/ })
839
+ /******/ ]);
840
+ /************************************************************************/
841
+ /******/ // The module cache
842
+ /******/ var __webpack_module_cache__ = {};
843
+ /******/
844
+ /******/ // The require function
845
+ /******/ function __webpack_require__(moduleId) {
846
+ /******/ // Check if module is in cache
847
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
848
+ /******/ if (cachedModule !== undefined) {
849
+ /******/ return cachedModule.exports;
850
+ /******/ }
851
+ /******/ // Create a new module (and put it into the cache)
852
+ /******/ var module = __webpack_module_cache__[moduleId] = {
853
+ /******/ // no module.id needed
854
+ /******/ // no module.loaded needed
855
+ /******/ exports: {}
856
+ /******/ };
857
+ /******/
858
+ /******/ // Execute the module function
859
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
860
+ /******/
861
+ /******/ // Return the exports of the module
862
+ /******/ return module.exports;
863
+ /******/ }
864
+ /******/
865
+ /************************************************************************/
866
+ /******/ /* webpack/runtime/define property getters */
867
+ /******/ !function() {
868
+ /******/ // define getter/value functions for harmony exports
869
+ /******/ __webpack_require__.d = function(exports, definition) {
870
+ /******/ if(Array.isArray(definition)) {
871
+ /******/ var i = 0;
872
+ /******/ while(i < definition.length) {
873
+ /******/ var key = definition[i++];
874
+ /******/ var binding = definition[i++];
875
+ /******/ if(!__webpack_require__.o(exports, key)) {
876
+ /******/ if(binding === 0) {
877
+ /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
878
+ /******/ } else {
879
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
880
+ /******/ }
881
+ /******/ } else if(binding === 0) { i++; }
882
+ /******/ }
883
+ /******/ } else {
884
+ /******/ for(var key in definition) {
885
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
886
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
887
+ /******/ }
888
+ /******/ }
889
+ /******/ }
890
+ /******/ };
891
+ /******/ }();
892
+ /******/
893
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
894
+ /******/ !function() {
895
+ /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
896
+ /******/ }();
897
+ /******/
898
+ /************************************************************************/
899
+
900
+ // EXTERNAL MODULE: external "clientnode"
901
+ var external_clientnode_ = __webpack_require__(0);
902
+ // EXTERNAL MODULE: external "clientnode/property-types"
903
+ var property_types_ = __webpack_require__(1);
904
+ // EXTERNAL MODULE: external "react"
905
+ var external_react_ = __webpack_require__(6);
906
+ ;// external "@jest/globals"
907
+
908
+ // EXTERNAL MODULE: ./src/index.ts
909
+ var src = __webpack_require__(5);
910
+ // EXTERNAL MODULE: ./src/ReactWeb.ts + 2 modules
911
+ var ReactWeb = __webpack_require__(4);
912
+ // EXTERNAL MODULE: ./src/Web.ts
913
+ var Web = __webpack_require__(3);
914
+ ;// ./src/test.ts
915
+ // #!/usr/bin/env babel-node
916
+ // -*- coding: utf-8 -*-
917
+ /* !
918
+ region header
919
+ Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
920
+
921
+ License
922
+ -------
923
+
924
+ This library written by Torben Sickert stands under a creative commons
925
+ naming 3.0 unported license.
926
+ See https://creativecommons.org/licenses/by/3.0/deed.de
927
+ endregion
928
+ */// region imports
929
+ function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof Generator?n:Generator,u=Object.create(c.prototype);return _regeneratorDefine2(u,"_invoke",function(r,n,o){var i,c,u,f=0,p=o||[],y=!1,G={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function d(t,r){return i=t,c=0,u=e,G.n=r,a}};function d(r,n){for(c=r,u=n,t=0;!y&&f&&!o&&t<p.length;t++){var o,i=p[t],d=G.p,l=i[2];r>3?(o=l===n)&&(u=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=r<2&&d<i[1])?(c=0,G.v=n,G.n=i[1]):d<l&&(o=r<3||i[0]>n||n>l)&&(i[4]=r,i[5]=n,G.n=l,c=0))}if(o||r>1)return a;throw y=!0,n}return function(o,p,l){if(f>1)throw TypeError("Generator is already running");for(y&&1===p&&d(p,l),c=p,u=l;(t=c<2?e:u)||!y;){i||(c?c<3?(c>1&&(G.n=-1),d(c,u)):G.n=u:G.v=u);try{if(f=2,i){if(c||(o="next"),t=i[o]){if(!(t=t.call(i,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,c<2&&(c=0)}else 1===c&&(t=i.return)&&t.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=e}else if((t=(y=G.n<0)?u:r.call(n,G))!==a)break}catch(t){i=e,c=1,u=t}finally{f=1}}return{value:t,done:y}}}(r,o,i),!0),u}var a={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}t=Object.getPrototypeOf;var c=[][n]?t(t([][n]())):(_regeneratorDefine2(t={},n,function(){return this}),t),u=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(c);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,GeneratorFunctionPrototype):(e.__proto__=GeneratorFunctionPrototype,_regeneratorDefine2(e,o,"GeneratorFunction")),e.prototype=Object.create(u),e}return GeneratorFunction.prototype=GeneratorFunctionPrototype,_regeneratorDefine2(u,"constructor",GeneratorFunctionPrototype),_regeneratorDefine2(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName="GeneratorFunction",_regeneratorDefine2(GeneratorFunctionPrototype,o,"GeneratorFunction"),_regeneratorDefine2(u),_regeneratorDefine2(u,o,"Generator"),_regeneratorDefine2(u,n,function(){return this}),_regeneratorDefine2(u,"toString",function(){return"[object Generator]"}),(_regenerator=function _regenerator(){return{w:i,m:f}})()}function _regeneratorDefine2(e,r,n,t){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}_regeneratorDefine2=function _regeneratorDefine(e,r,n,t){function o(r,n){_regeneratorDefine2(e,r,function(e){return this._invoke(r,n,e)})}r?i?i(e,r,{value:n,enumerable:!t,configurable:!t,writable:!t}):e[r]=n:(o("next",0),o("throw",1),o("return",2))},_regeneratorDefine2(e,r,n,t)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value}catch(n){return void e(n)}i.done?t(u):Promise.resolve(u).then(r,o)}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n)}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n)}_next(void 0)})}}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o)}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function")}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e)}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e))}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t})()}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}// endregion
930
+ // region Web
931
+ __WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_describe__("Web",function(){__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_test__("constructor",function(){/**
932
+ * Mock Test class.
933
+ */var WebTest=/*#__PURE__*/function(_Web){function WebTest(){_classCallCheck(this,WebTest);return _callSuper(this,WebTest,arguments)}_inherits(WebTest,_Web);return _createClass(WebTest)}(Web/* default */.Ay);_defineProperty(WebTest,"observedAttributes",["is-root","on-click","on-event"]);__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(WebTest).toHaveProperty("content");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(WebTest).toHaveProperty("observedAttributes");customElements.define("test-web",WebTest);var web=document.createElement("test-web");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(web).not.toHaveProperty("clicked");web.setAttribute("on-click","this.clicked = true");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(web).not.toHaveProperty("clicked");document.body.appendChild(web);__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(web).toHaveProperty("rootInstance",web);__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(web).not.toHaveProperty("clicked");web.onClick();__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(web).toHaveProperty("clicked",true);var clickCallback=__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_jest__.fn();web.addEventListener("click",clickCallback);__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(clickCallback).not.toHaveBeenCalled();web.onClick();__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(clickCallback).toHaveBeenCalled()})});// endregion
934
+ // region ReactWeb
935
+ __WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_describe__("ReactWeb",function(){__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_test__("constructor",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(){var _document$querySelect,_document$querySelect2;var triggerOnEvent,componentProperty,component,TestReactWeb,react,eventCallback,clickCallback;return _regenerator().w(function(_context){while(1)switch(_context.n){case 0:componentProperty="initial";component=function component(_ref2){var onEvent=_ref2.onEvent,_ref2$property=_ref2.property,property=_ref2$property===void 0?componentProperty:_ref2$property;/*
936
+ eslint-enable @typescript-eslint/no-useless-default-assignment
937
+ */triggerOnEvent=onEvent;componentProperty=property;return (0,external_react_.createElement)("div",{className:property})};/**
938
+ * Mock test class.
939
+ */TestReactWeb=/*#__PURE__*/function(_ReactWeb){function TestReactWeb(){var _this;_classCallCheck(this,TestReactWeb);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}_this=_callSuper(this,TestReactWeb,[].concat(args));_defineProperty(_this,"self",TestReactWeb);return _this}_inherits(TestReactWeb,_ReactWeb);return _createClass(TestReactWeb)}(ReactWeb/* default */.Ay);_defineProperty(TestReactWeb,"_name","Test");_defineProperty(TestReactWeb,"content",component);_defineProperty(TestReactWeb,"observedAttributes",["is-root","on-click","on-event"]);_defineProperty(TestReactWeb,"propertyTypes",_objectSpread(_objectSpread({},Web/* default */.Ay.propertyTypes),{},{onEvent:property_types_.func,property:property_types_.string}));__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(TestReactWeb).toHaveProperty("content");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(TestReactWeb).toHaveProperty("observedAttributes");customElements.define("test-react",TestReactWeb);react=document.createElement("test-react");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(react).not.toHaveProperty("clicked");react.setAttribute("on-click","this.clicked = true");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(react).toHaveProperty("onClick");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(react).not.toHaveProperty("clicked");react.setAttribute("on-event","this.eventHappened = true");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(react).toHaveProperty("onEvent");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(triggerOnEvent).not.toBeDefined();document.body.appendChild(react);__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(react).toHaveProperty("rootInstance",react);__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(react).toHaveProperty("reactRoot");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(triggerOnEvent).not.toBeDefined();_context.n=1;return (0,external_clientnode_.timeout)();case 1:__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(triggerOnEvent).toBeDefined();__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(react).not.toHaveProperty("eventHappened");if(triggerOnEvent)triggerOnEvent();__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(react).toHaveProperty("eventHappened",true);eventCallback=__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_jest__.fn();react.addEventListener("event",eventCallback);__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(eventCallback).not.toHaveBeenCalled();if(triggerOnEvent)triggerOnEvent();__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(eventCallback).toHaveBeenCalled();__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(react).not.toHaveProperty("clicked");react.onClick();__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(react).toHaveProperty("clicked",true);clickCallback=__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_jest__.fn();react.addEventListener("click",clickCallback);__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(clickCallback).not.toHaveBeenCalled();react.onClick();__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(clickCallback).toHaveBeenCalled();__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(componentProperty).toStrictEqual("initial");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__((_document$querySelect=document.querySelector("div"))===null||_document$querySelect===void 0?void 0:_document$querySelect.className).toStrictEqual("initial");react.property="test";_context.n=2;return (0,external_clientnode_.timeout)();case 2:__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(react).toHaveProperty("property","test");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__((_document$querySelect2=document.querySelector("div"))===null||_document$querySelect2===void 0?void 0:_document$querySelect2.className).toStrictEqual("test");case 3:return _context.a(2)}},_callee)})))});// endregion
940
+ // region index
941
+ __WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_describe__("index",function(){__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_test__("wrapAsWebComponent",function(){var componentAPI=(0,src/* default */.Ay)(function(){return (0,external_react_.createElement)("div")},"TestComponent",{eventToPropertyMapping:{},propertyAliases:{alternateName:"name"},propertiesToReflectAsAttributes:[],propTypes:{name:"string"}});__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(componentAPI).toHaveProperty("component");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(componentAPI).toHaveProperty("register");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(componentAPI.component).toHaveProperty("_name","TestComponent");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(componentAPI.component).toHaveProperty("propertyTypes.name","string");__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(componentAPI.component).toHaveProperty("propertiesToReflectAsAttributes",["isRoot"]);__WEBPACK_EXTERNAL_MODULE__jest_globals_d700ac6c_expect__(componentAPI.component).toHaveProperty("eventToPropertyMapping",{})})});// endregion