-
Notifications
You must be signed in to change notification settings - Fork 5
/
inter.min.js
11 lines (10 loc) · 34.9 KB
/
inter.min.js
1
2
3
4
5
6
7
8
9
10
11
/**
* Interjs
* Version - 2.2.3
* MIT LICENSED BY - Denis Power
* Repo - https://github.com/interjs/inter
* 2021 - 2024
* GENERATED BY INTER BUILDER
*
*/
!function(){function e(e){Y(`The "${e}" event was not created because\n its handler is not a function, in the tempate function.`)}function t(e){Y(`"${e}" doesn't seem to be a valid dom event.`)}function n(e){Y(`"${e}" doesn't seem to be a valid style name.`)}function o(e){H(`"${M(e)}" is an invalid tag name,\n in the template function.`)}function r(){H('The "events", "attrs" and "styles" options in the template function\n must be plain Javascript objects, and you didn\'t define\n one or more of those options as plain Javascript object.')}function i(e){const t=`You shoud not use "${e}" as an attribute name, it seems to be a dom event,\n use it as property of the "events" object, like:\n\n {\n tag: "button", text: "Some text", events: { ${e}: () => { //Some code here } }\n }\n `;W(e.startsWith("on")?t:'You should not use the style attribute(in attrs object) to create styles for the element,\n use the "styles" object instead, like:\n\n {\n tag: "p", text: "Some text", styles: { color: "green" }\n }\n')}function s(e,t){Y(`"${t}" is an invalid value for the "${e}" style.`)}function a(e){W(`"${e}" is a reserved property, do not create a property with this name.`)}function c(e){H(`The value of "setProps" must be a plain Javascript object, and you\n defined "${M(e)}" as its value`)}function l(){q("Inter failed to define the reactivity,\n because the Array of the each option is not configurable.")}function f(e){H(`"${M(e)}" is not a valid value for the "each" option in renderList.\n The values that are accepted in "each" option, are:\n Array.\n Plain js object.\n Number.\n Map.\n Set.`)}function u(){H('The template function is not being returned inside the "do" method in\n renderList(reactive listing), just return the template function.')}function h(){H('The arguments of "okay", "error" and "response" methods must be\n functions.')}function d(e){W(`"${e}" is a reserved reference name, use other name.`)}function p(e){W(`"${e}" was not defined as a conditional property.`)}function b(e){q(`The value of a conditional property must be boolean(true/false),\n and the value of "${e}" property is not boolean.`)}function m(e){Y(`The conditional rendering parser found a/an "${x(e)}"\n element which has more than one conditional atribute, it's forbidden.`)}function y(e,t,n){Y(`\n \n The conditional rendering parser found\n an element with the "_ifNot" attribute and the value\n of this attribute is not a conditional property.\n \n {\n element: ${e.nodeName.toLowerCase()},\n _ifNot: ${t},\n data: { ${Object.keys(n)} }\n }\n \n `)}function g(e){Y(`a/an "${x(e)}" element has the "_elseIf" attribute,\n but it does not come after an element with the "_if" or a valid "_elseIf" attribute.`)}function v(e,t,n){Y(`\n The conditional rendering parser found\n an element which has the "_if" attribute and the value\n of this attribute is not a conditional property.\n \n {\n element: ${t.nodeName.toLowerCase()},\n _if: ${e},\n data: { ${Object.keys(n)} }\n }\n \n `)}function w(e){W(` \n The "${e}" property was not defined in the manager object.\n `)}function j(e){return O(e)&&e.element&&e[Symbol.for("template")]}function A(e){return Object.isFrozen(e)||Object.isSealed(e)||!Object.isExtensible(e)}function O(e){return"[object Object]"==Object.prototype.toString.apply(e,void 0)}function x(e){return e.nodeName.toLowerCase()}function T(e){return e instanceof Set}function C(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function S(e){return e instanceof Map}function I(e){return null!=e}function $(e){return Object.is(e,!0)}function k(e){return Object.is(e,!1)}function P(e){return"function"==typeof e}function R(e){return 0==Object.keys(e).length}function N(e){return e instanceof HTMLElement}function E(e){return e in HTMLElement.prototype}function _(e){return e in document.createElement("p").style}function L(e){return document.createTextNode(e)}function z(e){return"string"==typeof e}function J(e,t,n){return O(e)&&O(t)&&O(n)}function B(e){"string"!=typeof e&&H("The value of the id attribute must be a string.");const t=document.getElementById(e);if(null!=t)return t;q(`There's not an element on the document with id "${e}".`)}function M(e){return void 0===e||"symbol"==typeof e||"bigint"==typeof e||"boolean"==typeof e||"function"==typeof e||"number"==typeof e||"string"==typeof e?typeof e:function(e){const t=I(e)&&Object.prototype.toString.call(e).startsWith("[object");return t?Object.prototype.toString.call(e).replace("[object","").replace("]","").replace(/\s/g,"").toLowerCase():"null"}(e)}function H(e){throw new Error(`Inter syntaxError : ${e}`)}function q(e){throw new Error(`Inter error: ${e}`)}function W(e){console.warn(`Inter warning: ${e}`)}function Y(e){console.error(`Inter parser error: ${e}`)}function D(e){return Array.isArray(e)}function F(e){return 1==e||0==e}function U(e){return e instanceof Array||O(e)||e instanceof Map||e instanceof Set||"number"==typeof e}function X(e){this.source=function(e){const t={values:new Array,type:void 0};if(D(e))t.values=e,t.type="array";else if(O(e))t.values=Object.entries(e),t.type="object";else if(e instanceof Map)e.forEach(((e,n)=>{t.values.push([n,e])})),t.type="object";else if(e instanceof Set)t.values=Array.from(e),t.type="set";else if("number"==typeof e){for(let n=0;n<e;n++)t.values.push(n);t.type="number"}return t}(e),this.break=!1}function G(e){e="string"==typeof e?e.trim():e;return new Set([0,!1,null,void 0,""]).has(e)}function K(e){return/{\s*.*\s*}/.test(e)}function Q(e){const t=new Set;return e.replace(/{\s*(:?[\w-\s]+)\s*}/g,(e=>{const n=e.replace("{","").replace("}","").trim();t.add(n)})),Array.from(t)}function V(e,t){return new RegExp(`{\\s*${t}\\s*}`).test(e)}X.prototype.each=function(e){let t=-1;for(const n of this.source.values)if(t++,e(n,t,this.source.type),this.break)break};const Z=new Set(["currentTime","value"]);function ee(e,t,n){const o=e.getElementsByTagName("*");function r(e){function o(e){for(const o in t)if(e.textContent.trim().length>0&&V(e.textContent,o)){const t={target:e,text:e.textContent};n.add(t);break}}if(1==e.nodeType)for(const t of e.childNodes)t.hasChildNodes()&&1==t.nodeType?r(t):o(t);else 3==e.nodeType&&o(e)}function i(e){const o={target:e,attrs:Object.create(null),refs:t};for(const r of e.attributes)for(const i in t)if(V(r.value,i)){Z.has(r.name)?(n.specialAttrs.add({target:e,attr:{[r.name]:r.value}}),e.removeAttribute(r.name)):o.attrs[r.name]=r.value;break}var r;r=o.attrs,Object.keys(r).length>0&&n.add(o,!0)}const s=function(e){const t=new Set;if(e.hasChildNodes())for(const n of e.childNodes)3==n.nodeType&&n.textContent.trim().length>0&&K(n.textContent)&&t.add(n);return Array.from(t)}(e);if(s.length>0)for(const e of s)r(e);for(const e of o)r(e),i(e);n.updateRefs()}function te(e){return null==e}function ne(e){return e.replace("{...","").replace("}","")}function oe(e,t){return C(e,t)}function re(e){return/{(:?\.){3}(:?\S+)}/.test(e)}function ie(e){return/{(:?[\s\S]+)}/.test(e)}function se(e,t){const n=new Set(["value","currentTime"]),o=e=>!n.has(e),r=e=>e.startsWith("on")&&E(e),i=new Map;for(const[n,s]of Object.entries(t))!o(n)||r(n)||te(s)?o(n)||te(s)?r(n)&&!te(s)&&le(e,n,s,t):ce(e,n,s):ae(e,n,s),fe(t,n,s,e,i);var s;s=t,Object.defineProperty(s,"setAttrs",{set(e){O(e)||function(e){H(`\n "${M(e)}" is an invalid value for the "setAttrs" property.\n The "setAttrs" property only accepts a plain Javascript object as its\n value.\n `)}(e);for(const[t,n]of Object.entries(e))C(this,t)?this[t]=n:w(t)}}),function(e,t){Object.defineProperty(e,"observe",{value:e=>0===t.size&&(P(e)||H(`The argument of the observe method must be a function,\n and you defined ${M(e)} as its argument.`),t.set("observeCallBack",e),!0)})}(t,i)}function ae(e,t,n){te(n)||n===(()=>e.getAttribute(t))?te(n)&&e.hasAttribute(t)&&e.removeAttribute(t):e.setAttribute(t,n)}function ce(e,t,n){I(n)?e[t]=n:te(n)&&(e[t]="")}function le(e,t,n,o){I(n)&&!P(n)?function(e,t){H(`\n "${M(t)}" is an invalid\n handler for the "${e}" event, you must\n define only a function as the handler of a dom event.\n `)}(t,n):te(n)?e[t]=void 0:e[t]=e=>n.call(o,e)}function fe(e,t,n,o,r){const i=new Set(["value","currentTime","checked"]),s=()=>!i.has(t),a=()=>t.startsWith("on")&&E(t),c=()=>!s();let l=n;Object.defineProperty(e,t,{set(e){a()?le(o,t,e,this):s()?ae(o,t,e):c()&&ce(o,t,e),l=e;const n=r.get("observeCallBack");r.has("observeCallBack")&&n(t,e)},get:()=>c()?o[t]:a()?(function(e){W(`\n you are trying to get the value of "${e}",\n it's an event, and you can not get the value of an event.\n `)}(t),!1):l})}function ue(e){const t=new Array;return e.childNodes.forEach((e=>{(1==e.nodeType||3==e.nodeType&&0==!e.textContent.trim().length)&&t.push(e)})),t}function he(e){W(`"${e}" is a reserved property, you can not use it as a conditional property.`)}const de={store:new Set,set(e){for(const t of e)I(t)&&this.store.add(t)},getSize(){const e=this.store.size;return this.store.clear(),e}};function pe(e){const t=e.getAttribute("_if"),n=e.getAttribute("_elseIf"),o=e.getAttribute("_ifNot"),r=!!e.hasAttribute("_else")||void 0;return de.set([t,n,o,r]),de.getSize()>1}function be(e){const t=e.hasAttribute("_if"),n=e.hasAttribute("_elseIf"),o=e.hasAttribute("_ifNot"),r=e.hasAttribute("_else");return!(t||n||o||r)}function me(n,o){Object.entries(n).forEach((n=>{const[r,i]=n;E(r)?P(i)?o[r]=i:e(r):t(r)}))}function ye(e,t){Object.entries(e).forEach((e=>{let[n,o]=e,r=!1;const s=new Set(["value","currentTime","checked"]);(n.startsWith("on")&&E(n)||"style"==n)&&(i(n),r=!0);const a=e=>{I(e)&&!k(e)&&(s.has(n)?t[n]=e:t.setAttribute(n,e)),t.template.attrs[n]=e};r||(P(o)?(o=o(),a(o)):a(o))}))}function ge(e,t){Object.entries(e).forEach((e=>{const[o,r]=e;if(_(o)){const e=P(r)?r():r;I(e)&&(t.style[o]=e,t.template.styles[o]=e,t.style[o]||s(o,e))}else n(o)}))}function ve(e,t,n){if(I(e)&&0==t.length){const t=P(e)?L(e()):L(e);I(t)&&n.appendChild(t)}else I(e)&&t.length>0?(Y("The template parser found an element \n with both the text property and the children property,\n and in this case Inter ignores the text property."),je(n,t)):t.length>0&&je(n,t)}function we(e,t,n){let{tag:i,text:s,attrs:a={},events:c={},styles:l={},children:f=[]}=e;i=P(i)?i():i,s=P(s)?s():s;C(e,"renderIf")&&!t&&Y("You can not conditionally render the main\n container in the template function."),z(i)||o(i),J(a,l,c)||r();const u=document.createElement(i);return u.template=Object.assign(e,{target:u,tag:i,text:s}),t&&(u.index=n),ye(a,u),me(c,u),ge(l,u),ve(s,f,u),u}function je(e,t){let n=-1;for(const i of t){let{tag:t,text:s,attrs:a={},events:c={},styles:l={},children:f=[],renderIf:u}=i;if(n++,i.index=n,t=P(t)?t():t,s=P(s)?s():s,G(u)&&C(i,"renderIf"))continue;z(t)||o(t),J(a,l,c)||r();const h=document.createElement(t);h.index=n,h.template=Object.assign(i,{target:h,tag:t,text:s}),ye(a,h),me(c,h),ge(l,h),ve(s,f,h),e.appendChild(h)}}function Ae(e,t,n,o){O(e)?function(e,t,n){const o=new Set(["setProps","defineProps","deleteProps"]);function r(t){for(const{name:n,setHandler:o}of t)Object.defineProperty(e,n,{set:o})}const i=Symbol.for("index");O(n)&&(e[i]=n);function s(o){let r=e[o];e[o]=void 0,Object.defineProperty(e,o,{set(o){if(r=o,e[i]){const n=e[i].index;t(n)}else t();const s=O(n);Ae(o,t,null,s?n:null)},get:()=>r,configurable:!0})}function l(r){D(r)||function(e){H(`The value of "deleteProps" must be an Array object, and you\n defined "${M(e)}" as its value`)}(r);const i=O(n)?n.index:void 0;for(const t of r)"string"==typeof t&&C(e,t)&&(o.has(t)||delete e[t]);t(i)}function f(r){O(r)||function(e){H(`The value of "defineProps" must be a plain Javascript object, and you\n defined "${M(e)}" as its value`)}(r);const i=O(n)?n.index:void 0;for(const[a,c]of Object.entries(r))a in this||o.has(a)||(e[a]=c,s(a),Ae(e[a],t,null,n)),t(i)}function u(t){O(t)||c(t);for(const[n,r]of Object.entries(t))o.has(n)||(e[n]=r)}if(xe(e))return!0;if(A(e))return W("Inter failed to define reactivity\n in a plain Javascript object, because it is not configurable."),!1;for(const r of Object.keys(e))o.has(r)&&a(r),s(r),Ae(e[r],t,null,n);r([{name:"defineProps",setHandler:f},{name:"setProps",setHandler:u},{name:"deleteProps",setHandler:l}]),Oe(e)}(e,t,o):D(e)?function(e,t,n){if(xe(e))return!1;const o=["push","unshift","pop","shift","splice","sort","reverse"];for(const r of o)Object.defineProperty(e,r,{value(e,o,...i){"pop"==r?this.mutationInfo={method:"pop",renderingSystem:t}:"shift"==r?this.mutationInfo={method:"shift",renderingSystem:t}:"push"==r?this.mutationInfo={method:"push",itemsLength:arguments.length,renderingSystem:t}:"unshift"==r?this.mutationInfo={method:"unshift",itemsLength:arguments.length,renderingSystem:t}:"splice"==r&&(this.mutationInfo={method:"splice",start:e,deleteCount:o,itemsLength:I(i)?i.length:0,renderingSystem:t});const s=Array.prototype[r].apply(this,arguments);if(t(),this.mutationInfo=void 0,"push"===r||"unshift"===r)for(const e of arguments)Ae(e,t,null,n);else if("splice"===r&&I(i))for(const e of i)Ae(e,t,null,n);return s}});(function(e,t,n){for(const o of e)Ae(o,t,null,n)})(e,t,n),Oe(e),function(e){Object.defineProperty(e,"map",{value(e){const t=new Array;t.reactor=this;let n=-1;for(const o of this){n++;const r=e(o,n,this);t.push(r)}return t}})}(e)}(e,t,o):S(e)?ke(e,t):T(e)&&Pe(e,t,!1,null,o)}function Oe(e){if(xe(e))return!1;const t=Symbol.for("reactive");Object.defineProperty(e,t,{get:()=>!0})}function xe(e){return C(e,Symbol.for("reactive"))}function Te(e){O(e)?function(e,t,n){const o=Object.keys(e);o.some(((e,o)=>{e==t&&Ce(n,o)}))}(...arguments):T(e)?function(e,t,n){const o=Array.from(e);o.some(((e,o)=>{e==t&&Ce(n,o)}))}(...arguments):function(e,t,n){let o=-1;e.forEach((()=>{o++;arguments[1]==t&&Ce(n,o)}))}(...arguments)}function Ce(e,t){const n=e.children[t];N(n)&&e.removeChild(n)}function Se(e,t){const n=Symbol.for("observe");"function"==typeof e[n]&&e[n](I(t)?t:e)}function Ie(e,t){Object.defineProperty(e,"setProps",{set(n){O(n)||c();for(const[o,r]of Object.entries(n))O(e)?this[o]=r:S(e)&&e.set(o,r),Ae(r,t);O(e)&&t()}})}function $e(e,t,n){A(e)&&l(),Ie(e,t);const o=new Set(["observe"]),r=new Set(["setEach","setProps"]);return Oe(e),new Proxy(e,{set(n,i,s,a){return!o.has(i)&&(Reflect.set(...arguments),function(e){return!r.has(e)}(i)&&(t(),Se(e,a),"number"!=typeof s&&U(s)&&Ae(s,t)),!0)},get(){return Reflect.get(...arguments)},deleteProperty(o,r,i){if(r in o)return Te(o,r,n),Reflect.deleteProperty(...arguments),t(),Se(e,i),!0;W(`You are trying to delete the "${r}" property in the list\n reactor, but that property does not exist in the list reactor.`)}})}function ke(e,t,n,o){if(xe(e))return!1;const r=["set","delete","clear"];for(const i of r)Object.defineProperty(e,i,{value(){"delete"==i&&n&&Te(this,arguments[0],o);const e=Map.prototype[i].apply(this,arguments);if(n&&Se(this),t(),"set"==i){Ae(arguments[1],t)}return e}});!function(e,t){e.forEach((e=>{Ae(e,t)}))}(e,t),Oe(e),n&&Ie(e,t)}function Pe(e,t,n,o,r){if(xe(e))return!1;const i=["add","clear","delete"];for(const r of i)Object.defineProperty(e,r,{value(){"delete"==r&&n&&Te(this,arguments[0],o);const e=Set.prototype[r].apply(this,arguments);return t(),n&&Se(this),"add"===r&&Ae(arguments[0],t),e}});!function(e,t,n){e.forEach((e=>{Ae(e,t,0,n)}))}(e,t,r),Oe(e)}function Re(e){return"function"==typeof e&&(e=e()),e}function Ne(e,t,n,o){if(null==e.mutationInfo)return;const{mutationInfo:{method:r,start:i,deleteCount:s,itemsLength:a}}=e;function c(e){function r(e,o){for(let r=o-1;r>-1;r--){const o=t.children[e],i=n[r],s=we(i,!0,i.index);o?t.insertBefore(s,o):t.appendChild(s),c.unshift(i)}}const c=new Array;if("splice"==e&&0==s&&a>0)r(i,a),o.splice(i,s,...c);else if("splice"==e&&s>0){for(let e=0;e<s;e++){const e=t.children[i];e&&t.removeChild(e)}r(i,a),o.splice(i,s,c)}else"unshift"==e&&(r(0,a),o.unshift(...c))}const l=t.children[t.children.length-1],f=t.children[0];if("pop"==r&&l)t.removeChild(l),o.pop();else if("shift"==r&&f)t.removeChild(f),o.shift();else if("push"==r)!function(){let e=a;for(;e>0;e--){const r=n[n.length-e];t.appendChild(we(r,!0,r.index)),o.push(r)}}();else if("unshift"==r)c(r);else if("splice"==r)if("number"==typeof i&&"number"==typeof s&&0==a)!function(){let e=i;for(;n.length<t.children.length;e++){const e=t.children[i];e&&t.removeChild(e)}o.splice(i,s)}();else if(a>0)c(r);else if(null==s){He(t,{source:{values:n}})}}function Ee(e,t){Object.assign(e,t)}function _e(e,t){return e.length>t.length?e:t}function Le(e,t,n){function o(t){e.hasAttribute(t)?e.removeAttribute(t):c.has(t)&&("checked"===t?e.checked=!1:e[t]="")}const r=Object.keys(t),s=Object.keys(n),a=_e(r,s),c=new Set(["value","currentTime","checked"]);for(let l=0;a.length>l;l++){const a=r[l],f=s[l],u=Re(t[a]),h=Re(n[f]);a in n?!I(h)||k(h)?o(f):I(h)&&!k(h)&&(f.startsWith("on")&&E(f)||"style"==f?i(f):f===a&&h===u||(c.has(f)?e[f]=h:e.setAttribute(f,h))):o(a),t[a]=h}}function ze(e,t,o){const r=Object.keys(t),i=Object.keys(o),a=_e(r,i);for(let c=0;a.length>c;c++){const a=r[c],l=i[c],f=Re(t[a]),u=Re(o[l]);if(a in o&&I(u))I(u)&&u!==f&&(_(l)?(e.style[l]=u,e.style[l]||s(l,u)):n(l));else{const t=e.style[a],n=e.getAttribute("style");I(t)&&0!==t.trim().length&&(e.style[a]=null),n&&0==n.trim().length&&e.removeAttribute("style")}t[a]=u}}function Je(n,o,r){const i=Object.keys(o),s=Object.keys(r),a=_e(i,s);for(let o=0;a.length>o;o++){const a=i[o],c=s[o];a in r&&I(r[a])||(n[a]=void 0),P(r[c])||!E(c)?I(r[c])&&(E(c)?n[c]=r[c]:t(c)):(n[a]=void 0,e(c))}}function Be(e,t,n){for(let o=0;o<e.children.length;o++){const r=e.children[o];if(r.index>t){e.insertBefore(n,r);break}}}function Me(e,t,n){const o=Array.from(e),r=Array.from(t);for(let s=0;s<o.length;s++){const a=o[s],c=r[s];let l=!1;const{children:f=[],events:u={},attrs:h={},styles:d={},renderIf:p}=a,{children:b=[],events:m={},attrs:y={},styles:g={},target:v,index:w}=c;let j;const A=Re(a.text),O=Re(c.text),x=Re(a.tag),T=Re(c.tag);function i(){const e=we(a,!0,w);Object.assign(c,a),c.target=e,j&&j.index>w?Be(n,w,e):n.appendChild(e)}if(n&&(j=n.children[n.children.length-1]),f.length!==b.length){const{reactor:S}=f;if(null!=S)Ne(S,v,f,b);else if(v&&null!=v.parentNode){const I=we(a,!0,w);n.replaceChild(I,v),Object.assign(c,a),c.target=I;continue}}if(x===T)G(p)&&C(a,"renderIf")?v&&null!=v.parentNode&&n.removeChild(v):G(p)||(v&&null==v.parentNode?i():v||i()),f.length==b.length&&0!==f.length&&(l=!0,Me(f,b,v)),O!==A&&v&&!l&&(v.textContent=A,c.text=A),c.tag=x,v&&(Le(v,y,h),ze(v,g,d),Je(v,m,u));else{const $=we(a,!0,w);Object.assign(c,a),v&&null!=v.parentNode&&(n.replaceChild($,v),c.target=$)}}}function He(e,t){if(e.children.length>t.source.values.length){let n=e.children.length-t.source.values.length;for(;n--;){const t=e.children.length-1,n=e.children[t];e.removeChild(n)}}}function qe(e,t,n,o,r){e.open(t,n,!0,o,r)}function We(e,t,n){Object.entries(t).forEach((([t,o])=>{n.has(t)?"onprogress"!==t?e[t]=()=>{o()}:e.onprogress=t=>{const n={abort:()=>e.abort(),progress:100*t.loaded/t.total};o(n)}:function(e){W(`There's not any event named "${e}" in Ajax request.`)}(t)}))}function Ye(e,t){const n={};return e.replace(/(:?[\S]+):/g,(e=>{var o,r;e=e.replace(":",""),t.getResponseHeader(e)&&((o=n)[r=e]=void 0,Object.defineProperty(o,r,{get:()=>t.getResponseHeader(r)}))})),Object.freeze(n)}function De(){void 0===new.target&&q("Backend is a constructor, call it with the new keyword.")}De.prototype={get[Symbol.toStringTag](){return"Ajax"},request(e){O(e)||H(`The argument of [Backend instance].request method\n must be a plain javascript object, and you defined "${M(e)}"\n as its argument.`);const{type:t,path:n,events:o={},timeout:r,withCredentials:i,body:s=null,headers:a={},security:c}=e,l=new Set(["connect","trace"]);I(t)&&"string"==typeof t||H('You must define the type(method) of request, in Ajax with the "type" option and\n it must be a string.'),I(n)&&"string"==typeof n||H('You must define the path where the request will be sent, with the "path" option and \n it must be a string.'),l.has(n.toLowerCase())&&function(e){q(`"${e}" is an unsupported request type in Ajax.`)}(t);const f=new Map;let u=!1;function d(){const e=new XMLHttpRequest,l=t.toUpperCase(),h=new Set(["onprogress","ontimeout","onabort"]),d={get status(){return e.status},get statusText(){return e.statusText},get headers(){return Ye(e.getAllResponseHeaders(),e)},get data(){return function(e){if(void 0!==e)try{return JSON.parse(e)}catch(t){return e}}(e.responseText)},get[Symbol.toStringTag](){return"AjaxResponse"},isObj:()=>function(e){try{return O(JSON.parse(e))}catch(e){return!1}}(e.responseText)};O(c)&&Object.keys(c).length>=2&&(c.username&&c.password?(qe(e,l,n,c.username,c.password),u=!0):W('Invalid "security" object, security object must have the username and passoword \n properties.')),u||(qe(e,l,n),u=!0),O(a)||function(e){H(`the "headers" property must be an object, and\n you defined it as : ${M(e)}.`)}(a),O(o)||function(e){H(`the "events" property must be an object, and\n you defined it as : ${M(e)}.`)}(o),R(a)||function(e,t){Object.entries(e).forEach((([e,n])=>{t.setRequestHeader(e,n)}))}(a,e),R(o)||We(e,o,h),e.onreadystatechange=function(){4==this.readyState&&(this.status>=200&&this.status<300?f.has("okay")&&f.get("okay")(d):f.has("error")&&f.get("error")(d))},F(i)&&(e.withCredentials=i),"number"!=typeof r&&(e.timeout=r),e.send(function(e){return I(e)?e instanceof FormData||"string"==typeof e?e:JSON.stringify(e):null}(s))}const p={okay(e){P(e)||h(),f.set("okay",e),d()},error(e){P(e)||h(),f.set("error",e),d()},response(e,t){const n=arguments.length;n<2&&function(e){H(`The response method must have two arguments and you only\n defined ${e} argument.`)}(n),P(e)||P(t)||h(),f.set("okay",e),f.set("error",t),d()}};return p}},Object.freeze(De.prototype),window.Ref=function(e){if(null!=new.target)H("Do not call the Ref function with the new keyword.");else{if(O(e)){const{in:n,data:o}=e;"string"!=typeof n&&H("The value of the 'in' property on the Ref function must be a string."),O(o)||H("The value of the 'data' property on the Ref function must be a plain Javascript object. ");const r=new Set(["setRefs","observe"]);for(const c in o)r.has(c)?(d(c),delete o[c]):P(o[c])&&(o[c]=o[c].call(o));const i=Object.assign({},o),s={attrs:new Set,texts:new Set,specialAttrs:new Set,observed:new Map,refs:i,hadIteratedOverSpecialAttrs:!1,add(e,t){t?this.attrs.add(e):this.texts.add(e)},updateSpecialAttrs(){for(const e of this.specialAttrs){const{target:t}=e;let[n,o]=Object.entries(e.attr)[0];const i=Q(o);for(const e of i)if(!r.has(e)&&e in this.refs){const t=new RegExp(`{\\s*(:?${e})\\s*}`,"g");if(o=o.replace(t,this.refs[e]),!K(o))break}t[n]=o}},updateAttrRef(){for(const e of this.attrs){const{target:t,attrs:n}=e;for(let[e,o]of Object.entries(n)){const n=Q(o);for(const e of n)if(!r.has(e)&&e in this.refs){const t=new RegExp(`{\\s*(:?${e})\\s*}`,"g");if(o=o.replace(t,this.refs[e]),!K(o))break}t.getAttribute(e)!==o&&t.setAttribute(e,o)}}},updateTextRef(){if(this.texts.size>0)for(const e of this.texts){let{target:t,text:n}=e;const o=Q(n);for(const e of o)if(!r.has(e)&&e in this.refs){const t=new RegExp(`{\\s*(:?${e})\\s*}`,"g");if(n=n.replace(t,this.refs[e]),!K(n))break}t.textContent!==n&&(t.textContent=n)}},updateRefs(){this.texts.size>0&&this.updateTextRef(),this.attrs.size>0&&this.updateAttrRef(),this.specialAttrs.size>0&&this.updateSpecialAttrs()}};function t(e,t,n){if(1==s.observed.size&&!r.has(e)){s.observed.get("callBack")(e,t,n)}}ee(B(n),i,s);const a=new Proxy(i,{set(e,o,r,a){if(o in e&&e[o]==r)return!1;const c=e[o];if(P(r)&&(r=r.call(a)),Reflect.set(...arguments),t(o,r,c),o in a)return s.updateRefs(),!0;ee(B(n),i,s)},get:(...e)=>Reflect.get(...e)});return Object.defineProperties(a,{setRefs:{set(e){if(O(e)){let o=!1;for(const[n,s]of Object.entries(e)){if(r.has(n)){d(n);continue}if(C(this,n)||(o=!0),C(this,n)&&this[n]==s)continue;const e=i[n];P(s)?i[n]=s.call(this):i[n]=s,t(n,s,e)}o&&ee(B(n),i,s)}else H(`"${M(e)}" is not a valid value for the "setRefs" property.\n The value of the setRefs property must be a plain Javascript object.`)},enumerable:!1},observe:{value:e=>(P(e)||H("The argument of [Reference reactor].observe() must be a function."),0===s.observed.size&&(s.observed.set("callBack",e),!0)),enumerable:!1,writable:!1}}),a}H("The argument of the Ref function must be a plain Javascript object.")}},window.renderIf=function(e){if(O(e)||H("The argument of renderIf must be a plain Javascript object."),void 0===new.target){const{in:t,data:n}=e,o=new Set(["setConds","observe"]),r=B(t),i=new Array;"string"!=typeof t&&H('The value of the "in" property in the renderIf function\n must be a string.'),O(n)||H('The value of the "data" property in the renderIf function \n must be a plain Javascript object.');for(let[e,t]of Object.entries(n))o.has(e)?he(e):(t=P(t)?t.call(n):t,F(t)||b(e),n[e]=t);!function e(t){let o=-1;const r={target:void 0,if:void 0,else:void 0,ifNot:void 0,elseIfs:new Set,index:void 0,lastRendered:{target:void 0,prop:void 0},conditionalProps:new Set,rootElement:t,set setOptions(e){for(const[t,n]of Object.entries(e))this[t]=n,"if"==t&&I(n)&&this.conditionalProps.add(n)},canCache(){return null!=this.if},addElseIf(e){const{elseIf:t}=e;this.conditionalProps.has(t)?function(e){q(`\n Two elements with the "_elseIf" attribute can not have the same conditional property.\n Property: "${e}"\n `)}(t):(this.elseIfs.add(e),this.conditionalProps.add(t))},deleteData(){this.setOptions={target:void 0,if:void 0,else:void 0,ifNot:void 0,index:void 0},this.elseIfs.clear(),this.conditionalProps.clear()},getOptions(){const e=Object.assign({},this);return e.elseIfs=Array.from(this.elseIfs),e.conditionalProps=Array.from(this.conditionalProps),this.deleteData(),e}},s=()=>{const e=r.elseIfs.size,t=r.getOptions();e?i.unshift(t):i.push(t)},a=ue(t),c=a.length;for(const t of a){o++,t.index=o;const i=c-1==o;if(3!=t.nodeType)if(be(t)||t.parentNode.removeChild(t),t.children.length>0&&e(t),pe(t))m(t);else if(be(t)&&r.canCache())s();else{if(t.hasAttribute("_ifNot")){const e=t.getAttribute("_ifNot");if(C(n,e)){t.removeAttribute("_ifNot"),r.canCache()&&s(),r.setOptions={ifNot:e,target:t,index:o},s();continue}y(t,e,n)}else if(t.hasAttribute("_else"))r.if?(r.else=t,t.removeAttribute("_else"),s()):Y('The parser found an element with the "_else" attribute,\n but there is not an element with the "_if" or a valid "_elseIf" attribute before it.');else if(t.hasAttribute("_elseIf")){const e=t.getAttribute("_elseIf");t.removeAttribute("_elseIf"),r.if?C(n,e)?r.addElseIf({target:t,index:o,elseIf:e}):Y(`The conditional rendering parser found an element which has the "_elseIf"\n conditional property whose the value is: "${e}",\n but you did not define any conditional property with that name.\n \n `):g(t)}else if(t.hasAttribute("_if")){r.canCache()&&s();const e=t.getAttribute("_if");if(t.removeAttribute("_if"),!C(n,e)){v(e,t,n);continue}r.setOptions={if:e,target:t,index:o}}i&&r.canCache()&&s()}else r.canCache()&&s()}}(r);const s=function(e,t){function n(e,t){if(!(k(l[t])||e.length<2))for(const n of e){$(l[n])&&n!==t&&(l[n]=!1)}}function o(e,t){function n(){return null!=t.lastRendered.target.parentNode}let o=!1;for(const{target:r,elseIf:s}of e){const e=t.lastRendered;if(e.target&&$(l[e.prop])){o=!0;break}e.target&&k(l[e.prop])&&n()&&(t.rootElement.removeChild(e.target),t.lastRendered={prop:void 0,target:void 0}),$(l[s])&&(i(t.rootElement,r),t.lastRendered={prop:s,target:r},o=!0,e.target&&!I(e.prop)&&n()&&t.rootElement.removeChild(e.target))}return o}function r(t,r){for(const s of e){const{target:e,if:a,elseIfs:c,else:l,ifNot:f,rootElement:u}=s,h=s.conditionalProps,d=new Set(h).has(r);if(I(r)&&d&&n(h,r),f)k(t[f])&&null==e.parentNode?u.textContent.trim().length>0?i(u,e):u.appendChild(e):e.parentNode==u&&$(t[f])&&u.removeChild(e);else if(k(t[a]))if(e.parentNode!=u||l){if(l||c.length>0){const t=o(c,s);null!=e.parentNode&&u.removeChild(e),t&&l&&null!=l.parentNode?l.parentNode.removeChild(l):!t&&l&&null==l.parentNode&&(i(u,l),s.lastRendered={target:l,prop:void 0})}}else u.removeChild(e),o(c,s);else if($(t[a])&&null==e.parentNode){l&&null!=l.parentNode?(u.removeChild(l),i(u,e)):i(u,e);const{target:t}=s.lastRendered;N(t)&&null!=t.parentNode&&!t.isSameNode(e)&&t.parentNode.removeChild(t),s.lastRendered={target:e,prop:a}}}}function i(e,t){const n=ue(e),o=n[n.length-1];if(t&&null==t.parentNode)if(o&&o.index>t.index){for(const o of n)if(o.index>t.index){e.insertBefore(t,o);break}}else e.appendChild(t)}function s(e,t){if(1==c.size){c.get("callBack")(e,t)}}const a=new Set(["setConds","observe"]),c=new Map,l=Object.assign({},t);r(l);const f=new Proxy(l,{set:(e,n,o)=>(!(n in e)||e[n]!=o)&&(n in t||a.has(n)?F(o)||a.has(n)?(Reflect.set(e,n,o),a.has(n)||(r(l,n),s(n,o)),!0):(b(n),!1):(p(n),!1)),deleteProperty:()=>!1});return Object.defineProperties(f,{observe:{value:e=>(P(e)||H("The argument of [renderIf reactor].observe()\n must be a function."),0==c.size&&(c.set("callBack",e),!0)),enumerable:!1,writable:!1},setConds:{set(e){O(e)||H(`The value of [renderIf reactor].setConds must be\n a plain Javascript object, and you defined ${M(e)}\n as its value.`);for(let[n,o]of Object.entries(e))a.has(n)?he(n):(o=P(o)?o.call(t):o,F(o)||b(n),C(this,n)?this[n]!=o&&(l[n]=o,s(n,o)):p(n));r(l)},enumerable:!1}}),f}(i,n);return s}q("renderIf is not a constructor, do not call it with\n the new keyword.")},window.renderList=function(e){function t(e,t,n){return D(e)?(function(e){if(xe(e))return!1;function t(e,t){if(I(t)&&"number"!=typeof t&&H("The second argument of [LIST REACTOR].addItems must be a number."),D(e)||H("The first argument of [LIST REACTOR ].addItems must be an Array."),!I(t)||t>this.length-1)for(const t of e)this.push(t);else if(0==t||t<0)for(let t=e.length-1;t>-1;t--)this.unshift(e[t]);else for(let n=e.length-1;n>-1;n--)this.splice(t,0,e[n])}const n=[{name:"addItems",handler:t}];for(const{name:t,handler:o}of n)p(e,t,{value:o})}(e),function(e,t){A(e)&&l();const n=new Set(["addItems","setEach"]);return new Proxy(e,{set(o,r,i,s){return n.has(r)?(Reflect.set(...arguments),!0):(Reflect.set(...arguments),Se(e,s),t(),"number"!=typeof i&&U(i)&&Ae(i,t),!0)},get:(e,t)=>e[t]})}(e,t)):O(e)?$e(e,t,n):T(e)?(Pe(e,t,!0,n),e):S(e)?(ke(e,t,!0,n),e):void 0}void 0!==new.target&&H('renderList is not a constructor, do not call\n it with the "new" keyword.'),O(e)||H("The options(the argument of renderList) must be a plain Javascript object.");let{in:n,each:o,do:r,optimize:i}=e;const s=B(n);(function(e){return"string"==typeof e})(n)||H("The 'in' option in renderList must be a string."),U(o)||f(o),P(r)||H("The value of the 'do' option in renderList must be only a function."),I(i)&&!$(i)&&H("The value of the 'optimize' option in renderList must be only true"),I(i)&&!D(o)&&H("The 'optimize' option can only be enabled when the each's value is an Array.");let a,c=!0;function h(e){U(e)||f(e);const t=Symbol.for("observe");if(e[t]=o[t],o=e,xe(e)||d(),b(),Se(o),"number"!=typeof o){new X(o).each(((e,t,n)=>{"object"==n?Ae(e[1],b):"array"!=n&&"set"!=n||Ae(e,b)}))}}function d(){if(xe(o))return!1;Object.defineProperties(o,{setEach:{set:h},observe:{value(e){const t=Symbol.for("observe");return"function"!=typeof this[t]&&(P(e)?(Object.defineProperty(this,t,{value:e,configurable:!1}),!0):void H("The argument of the observe method must be a function."))}}}),a=t(o,b,s),D(o)&&function(e,t,n,o,r){function i(e,i,s,a){const c=o.call(r,e,i,r),l=we(c.element),f=t.children[s];j(c)||u(),l&&I(s)?t.insertBefore(l,f):t.appendChild(l),I(a)&&(i=a),n(i,!0)}const s=[{name:"unshift",handler:function(){const t=Array.prototype.unshift.apply(e,arguments);if(arguments.length>1){let e=arguments.length;for(let t=e-1;t>-1;t--)i(arguments[--e],0,0,e)}else 1==arguments.length&&i(...arguments,0,0);return n(),Se(e),t}},{name:"shift",handler:function(){const o=Array.prototype.shift.apply(e,void 0),r=t.children[0];return r&&(t.removeChild(r),n(),Se(e)),o}},{name:"push",handler:function(){const t=Array.prototype.push.apply(e,arguments);if(1==arguments.length)i(...arguments,e.length-1);else if(arguments.length>1){let t=arguments.length;for(const n of arguments)i(n,e.length-t--)}return n(),Se(e),t}},{name:"pop",handler:function(){const o=Array.prototype.pop.apply(e,arguments),r=t.children,i=r[r.length-1];return i&&(t.removeChild(i),n(),Se(e)),o}},{name:"splice",handler:function(o,r,...s){const a=Array.prototype.splice.apply(e,arguments);function c(){const e=r;for(let n=0;n<e;n++){const e=t.children[o];e&&t.removeChild(e)}}function l(){for(let e=s.length-1;e>-1;e--)i(s[e],e,o)}return r>0&&s.length>0&&(c(),l()),0==s.length?c():0==r&&s.length>0&&l(),n(),Se(e),a}}];if(A(e))return!1;if(xe(e))return!1;for(const{name:t,handler:n}of s)Object.defineProperty(e,t,{value:n})}(o,s,b,r,a),Oe(o)}function p(e,t,n){Object.defineProperty(e,t,n)}function b(e,t){const n=new X(o);He(s,n),n.each(((o,l,f)=>{let h,d;if("array"==f){I(e)&&(o=a[e],l=e,n.break=!0);const t=Symbol.for("index"),r=()=>$(i)&&(O(o)||D(o)||T(o))&&!C(o,t);if(d={index:l,sourceLength:a.length},r())o[t]=d;else if((O(o)||D(o)||T(o))&&C(o,t)){(()=>o[t].sourceLength!==d.sourceLength)()&&Ee(o[t],d)}}if((c||t)&&Ae("object"!==f?o:o[1],b,0,$(i)?d:null),!t)if(h="array"===f?r.call(a,o,l,a):"object"===f?r.call(a,o[0],o[1],a):"number"===f?r(o):r.call(a,o,a),j(h)){const e=s.children[l];N(e)?e.template?function(e,t,n){const o={children:!0,continue:!0};(function(e,t,n){const{attrs:o={},events:r={},styles:i={},children:s}=e,{attrs:a={},events:c={},styles:l={},children:f,target:u}=t;let h;D(s)&&(h=s.reactor);null!=h&&Ne(h,u,s,f);const d=u.parentNode,p=Re(e.text),b=Re(t.text),m=Re(e.tag),y=Re(t.tag);if(m!==y){const o=we(e);d.replaceChild(o,u),n.children=!1,Ee(t,e),t.target=o}else if(g=s,v=f,D(g)&&!D(v)||!D(g)&&D(v)){const o=we(e);d.replaceChild(o,u),n.children=!1,Ee(t,e),t.target=o}else if(function(e,t){return D(e)&&D(t)}(s,f)&&s.length!==f.length){const o=we(e);d.replaceChild(o,u),n.children=!1,Ee(t,e),t.target=o}else I(s)||I(f)||p!==b&&(u.textContent=p,Ee(t,e));var g,v;Le(u,a,o),Je(u,c,r),ze(u,l,i)})(e,t,o),o.children&&e.children&&e.children.length>0&&Me(e.children,t.children,n)}(h.element,e.template,e):(W("Avoid manipulating what Inter manipulates."),s.replaceChild(we(h.element),e)):s.appendChild(we(h.element))}else u()}))}return"number"!=typeof o&&d(),b(),c=!1,a},window.template=function(e){if(O(e)){return{[Symbol.for("template")]:!0,element:e}}H(`The argument of the template function must be a plain Javascript object,\n but you defined "${M(e)}" as its argument.\n \n `)},window.toAttrs=function(e){if(void 0!==new.target)H('the "toAttrs" function is not a constructor, do not call it with the\n new keyword.');else{if(O(e)){const{in:t,data:n}=e;return function(e,t){const n=e.getElementsByTagName("*");for(const e of n)if(1==e.attributes.length){const{name:n}=e.attributes[0];if(ie(n)&&re(n)){const o=ne(n);e.removeAttribute(n),oe(t,o)?se(e,t[o]):Y(`\n The attribute manager parser found an attribute manager\n named "${o}", but you did not define it in the "data" object.\n `)}}}(B(t),n),n}H(`"${M(e)}" is an invalid argument for\n "toAttrs" function, the argument must be a plain Javascript object.`)}},window.Backend=De,console.log("The global version 2.2.3 of Inter was loaded successfully.")}();