@elenajs/elements 0.0.6 → 0.0.7

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.
package/dist/bundle.js CHANGED
@@ -1,2 +1,2 @@
1
- function e(e,t,n){if(t="boolean"===e&&"boolean"!=typeof t?null!==t:t,!n)return t;if("toAttribute"===n)switch(e){case"object":case"array":return null===t?null:JSON.stringify(t);case"boolean":return t?"":null;case"number":return null===t?null:t;default:return t}else switch(e){case"object":case"array":return t&&JSON.parse(t);case"boolean":default:return t;case"number":return null!==t?+t:t}}function t(e,t,n){e?null===n?e.removeAttribute(t):e.setAttribute(t,n):console.warn("░█ [ELENA]: Cannot sync attributes to a null element.")}let n,s=class extends Event{constructor(e,t){super(e,{bubbles:!0,composed:!0,...t})}};function r(e,t){"undefined"!=typeof window&&"customElements"in window&&(window.customElements.get(e)||window.customElements.define(e,t))}function l(e){const t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return String(e).replace(/[&<>"']/g,e=>t[e])}function i(e,...t){const n=e.reduce((e,n,s)=>e+n+l(String(t[s]??"")),"");return{__raw:!0,toString:()=>n}}function a(e,t,n){(function(e,t,n){if(e._tplStrings!==t||!e._tplParts)return!1;let s=!1;for(let t=0;t<n.length;t++){const r=n[t],i=r&&r.__raw,a=i?String(r):l(String(r??""));if(a!==e._tplValues[t])if(e._tplValues[t]=a,i)s=!0;else{const n=e._tplParts[t];n?n.textContent=String(r??""):s=!0}}return!s})(e,t,n)||function(e,t,n){const s=n.map(e=>e&&e.__raw?String(e):l(String(e??""))),r=t.reduce((e,t,n)=>e+t.replace(/\n\s*/g," ")+(s[n]??""),"").replace(/>\s+</g,"><").replace(/>\s+/g,">").replace(/\s+</g,"<").trim();o(e,r),e._tplStrings=t,e._tplValues=s,e._tplParts=function(e,t){const n=new Array(t.length),s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);let r,l=0;for(;(r=s.nextNode())&&l<t.length;)r.textContent===t[l]&&(n[l]=r,l++);return n}(e,s)}(e,t,n)}function o(e,t){e?e.replaceChildren((n??=document.createRange()).createContextualFragment(t)):console.warn("░█ [ELENA]: Cannot render to a null element.")}function u(n,r){const l=r&&r.element?/^[a-z][a-z0-9-]*$/i.test(r.element)?e=>e.getElementsByClassName(r.element)[0]:e=>e.querySelector(r.element):e=>e.firstElementChild;class i extends n{element=null;attributeChangedCallback(t,n,s){(function(t,n,s,r){if(s!==r){const s=e(typeof t[n],r,"toProp");t[n]=s}})(this,t,n,s),this.element&&n!==s&&this.render()}static get observedAttributes(){return r&&r.props?r.props:[]}render(){}template(e,...t){a(this,e,t)}connectedCallback(){if(this.render(),this.element||(this.element=l(this),this.element||(console.warn("░█ [ELENA]: No element found, using firstElementChild as fallback."),this.element=this.firstElementChild)),this._props)for(const[n,s]of this._props){const r=e(typeof s,s,"toAttribute");"string"==typeof s&&""===s?(this.removeAttribute(n),this.element.removeAttribute(n)):(t(this,n,r),t(this.element,n,r))}!this._events&&r&&r.events&&(this._events=!0,r.events?.forEach(e=>{this.element.addEventListener(e,this),this[e]=(...t)=>this.element[e](...t)})),this.updated()}updated(){this._hydrated||(this._hydrated=!0,this.classList.add("elena-hydrated"))}disconnectedCallback(){this._events&&(this._events=!1,r.events?.forEach(e=>{this.element?.removeEventListener(e,this)}))}handleEvent(e){r.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new s(e.type,{cancelable:!0})))}}return r&&r.props?.length&&function(n,s){for(const r of s)Object.defineProperty(n,r,{configurable:!0,enumerable:!0,get(){return this._props?this._props.get(r):void 0},set(n){if(this._props||(this._props=new Map),n===this._props.get(r))return;if(this._props.set(r,n),!this.isConnected)return;const s=e(typeof n,n,"toAttribute");t(this,r,s),this.element&&t(this.element,r,s)}})}(i.prototype,r.props),i}const c={props:["variant","size","disabled","name","value","type"],events:["click","focus","blur"],element:".elena-button"};class h extends(u(HTMLElement,c)){constructor(){super(),this.variant="default",this.size="md",this.disabled=!1,this.name="",this.value="",this.type="button"}render(){const e=this.textContent.trim();this.template`<button class="elena-button" type="${this.type||"button"}" ${this.name?`name="${this.name}"`:""} ${this.value?`value="${this.value}"`:""} ${this.disabled?"disabled":""}>${e}</button>`}}r("elena-button",h);const p={props:["size","disabled","name","value","type","label","error","placeholder"],events:["click","focus","blur"],element:".elena-input"};class d extends(u(HTMLElement,p)){constructor(){super(),this.size="md",this.disabled=!1,this.name="",this.label="",this.value="",this.placeholder="",this.type="text",this.error=""}render(){this.template`<label for="input">${this.label}</label><div class="elena-input-container"><span class="elena-input-start"></span> <input id="input" class="elena-input" type="${this.type}" value="${this.value}" placeholder="${this.placeholder}" ${this.name?`name="${this.name}"`:""} ${this.value?`value="${this.value}"`:""} ${this.disabled?"disabled":""}> <span class="elena-input-end"></span></div>${this.error?i`<div class="elena-error" role="alert">${this.error}</div>`:""}`}}r("elena-input",d);class m extends(u(HTMLElement)){constructor(){super()}}r("elena-stack",m);export{h as Button,d as Input,m as Stack};
1
+ function e(e,t,n){if(t="boolean"===e&&"boolean"!=typeof t?null!==t:t,!n)return t;if("toAttribute"===n)switch(e){case"object":case"array":return null===t?null:JSON.stringify(t);case"boolean":return t?"":null;case"number":return null===t?null:t;default:return""===t?null:t}else switch(e){case"object":case"array":return t&&JSON.parse(t);case"boolean":default:return t;case"number":return null!==t?+t:t}}function t(e,t,n){e?null===n?e.removeAttribute(t):e.setAttribute(t,n):console.warn("░█ [ELENA]: Cannot sync attributes to a null element.")}let n,s=class extends Event{constructor(e,t){super(e,{bubbles:!0,composed:!0,...t})}};function l(e,t){"undefined"!=typeof window&&"customElements"in window&&(window.customElements.get(e)||window.customElements.define(e,t))}function r(e){const t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return String(e).replace(/[&<>"']/g,e=>t[e])}function i(e,...t){const n=e.reduce((e,n,s)=>e+n+r(String(t[s]??"")),"");return{__raw:!0,toString:()=>n}}function a(e,t,n){(function(e,t,n){if(e._tplStrings!==t||!e._tplParts)return!1;let s=!1;for(let t=0;t<n.length;t++){const l=n[t],i=l&&l.__raw,a=i?String(l):r(String(l??""));if(a!==e._tplValues[t])if(e._tplValues[t]=a,i)s=!0;else{const n=e._tplParts[t];n?n.textContent=String(l??""):s=!0}}return!s})(e,t,n)||function(e,t,n){const s=n.map(e=>e&&e.__raw?String(e):r(String(e??""))),l=t.reduce((e,t,n)=>e+t.replace(/\n\s*/g," ")+(s[n]??""),"").replace(/>\s+</g,"><").replace(/>\s+/g,">").replace(/\s+</g,"<").trim();o(e,l),e._tplStrings=t,e._tplValues=s,e._tplParts=function(e,t){const n=new Array(t.length),s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);let l,r=0;for(;(l=s.nextNode())&&r<t.length;)l.textContent===t[r]&&(n[r]=l,r++);return n}(e,s)}(e,t,n)}function o(e,t){e?e.replaceChildren((n??=document.createRange()).createContextualFragment(t)):console.warn("░█ [ELENA]: Cannot render to a null element.")}function u(n,l){const r=l&&l.element?/^[a-z][a-z0-9-]*$/i.test(l.element)?e=>e.getElementsByClassName(l.element)[0]:e=>e.querySelector(l.element):e=>e.firstElementChild;class i extends n{element=null;attributeChangedCallback(t,n,s){(function(t,n,s,l){if(s!==l){const s=e(typeof t[n],l,"toProp");t[n]=s}})(this,t,n,s),this.element&&n!==s&&this.render()}static get observedAttributes(){return l&&l.props?l.props:[]}render(){}template(e,...t){a(this,e,t)}connectedCallback(){if(this.render(),this.element||(this.element=r(this),this.element||(console.warn("░█ [ELENA]: No element found, using firstElementChild as fallback."),this.element=this.firstElementChild)),this._props)for(const[n,s]of this._props){const l=e(typeof s,s,"toAttribute");t(this,n,l),t(this.element,n,l)}!this._events&&l&&l.events&&(this._events=!0,l.events?.forEach(e=>{this.element.addEventListener(e,this),this[e]=(...t)=>this.element[e](...t)})),this.updated()}updated(){this._hydrated||(this._hydrated=!0,this.classList.add("elena-hydrated"))}disconnectedCallback(){this._events&&(this._events=!1,l.events?.forEach(e=>{this.element?.removeEventListener(e,this)}))}handleEvent(e){l.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new s(e.type,{cancelable:!0})))}}return l&&l.props?.length&&function(n,s){for(const l of s)Object.defineProperty(n,l,{configurable:!0,enumerable:!0,get(){return this._props?this._props.get(l):void 0},set(n){if(this._props||(this._props=new Map),n===this._props.get(l))return;if(this._props.set(l,n),!this.isConnected)return;const s=e(typeof n,n,"toAttribute");t(this,l,s),this.element&&t(this.element,l,s)}})}(i.prototype,l.props),i}const c={props:["variant","size","disabled","name","value","type"],events:["click","focus","blur"],element:".elena-button"};class h extends(u(HTMLElement,c)){constructor(){super(),this.variant="default",this.size="md",this.disabled=!1,this.name="",this.value="",this.type="button"}render(){const e=this.textContent.trim();this.template`<button class="elena-button" type="${this.type||"button"}" ${this.name?`name="${this.name}"`:""} ${this.value?`value="${this.value}"`:""} ${this.disabled?"disabled":""}>${e}</button>`}}l("elena-button",h);const p={props:["size","disabled","name","value","type","label","error","placeholder"],events:["click","focus","blur"],element:".elena-input"};class d extends(u(HTMLElement,p)){constructor(){super(),this.size="md",this.disabled=!1,this.name="",this.label="",this.value="",this.placeholder="",this.type="text",this.error=""}render(){this.template`<label for="input">${this.label}</label><div class="elena-input-container"><span class="elena-input-start"></span> <input id="input" class="elena-input" type="${this.type}" value="${this.value}" placeholder="${this.placeholder}" ${this.name?`name="${this.name}"`:""} ${this.value?`value="${this.value}"`:""} ${this.disabled?"disabled":""}> <span class="elena-input-end"></span></div>${this.error?i`<div class="elena-error" role="alert">${this.error}</div>`:""}`}}l("elena-input",d);class m extends(u(HTMLElement)){constructor(){super()}}l("elena-stack",m);export{h as Button,d as Input,m as Stack};
2
2
  //# sourceMappingURL=bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sources":["../../core/dist/props.js","../../core/dist/events.js","../../core/dist/render.js","../../core/dist/utils.js","../../core/dist/elena.js","../src/button/button.js","../src/input/input.js","../src/stack/stack.js"],"sourcesContent":["function t(t,e,n){if(e=\"boolean\"===t&&\"boolean\"!=typeof e?null!==e:e,!n)return e;if(\"toAttribute\"===n)switch(t){case\"object\":case\"array\":return null===e?null:JSON.stringify(e);case\"boolean\":return e?\"\":null;case\"number\":return null===e?null:e;default:return e}else switch(t){case\"object\":case\"array\":return e&&JSON.parse(e);case\"boolean\":default:return e;case\"number\":return null!==e?+e:e}}function e(t,e,n){t?null===n?t.removeAttribute(e):t.setAttribute(e,n):console.warn(\"░█ [ELENA]: Cannot sync attributes to a null element.\")}function n(n,r){for(const o of r)Object.defineProperty(n,o,{configurable:!0,enumerable:!0,get(){return this._props?this._props.get(o):void 0},set(n){if(this._props||(this._props=new Map),n===this._props.get(o))return;if(this._props.set(o,n),!this.isConnected)return;const r=t(typeof n,n,\"toAttribute\");e(this,o,r),this.element&&e(this.element,o,r)}})}function r(e,n,r,o){if(r!==o){const r=t(typeof e[n],o,\"toProp\");e[n]=r}}export{t as getPropValue,r as getProps,n as setProps,e as syncAttribute};\n//# sourceMappingURL=props.js.map\n","class e extends Event{constructor(e,s){super(e,{bubbles:!0,composed:!0,...s})}}export{e as ElenaEvent};\n//# sourceMappingURL=events.js.map\n","import{escapeHtml as t}from\"./utils.js\";function e(e,n,l){(function(e,n,r){if(e._tplStrings!==n||!e._tplParts)return!1;let l=!1;for(let n=0;n<r.length;n++){const a=r[n],o=a&&a.__raw,c=o?String(a):t(String(a??\"\"));if(c!==e._tplValues[n])if(e._tplValues[n]=c,o)l=!0;else{const t=e._tplParts[n];t?t.textContent=String(a??\"\"):l=!0}}return!l})(e,n,l)||function(e,n,l){const a=l.map(e=>e&&e.__raw?String(e):t(String(e??\"\"))),o=n.reduce((t,e,n)=>t+e.replace(/\\n\\s*/g,\" \")+(a[n]??\"\"),\"\").replace(/>\\s+</g,\"><\").replace(/>\\s+/g,\">\").replace(/\\s+</g,\"<\").trim();r(e,o),e._tplStrings=n,e._tplValues=a,e._tplParts=function(t,e){const n=new Array(e.length),r=document.createTreeWalker(t,NodeFilter.SHOW_TEXT);let l,a=0;for(;(l=r.nextNode())&&a<e.length;)l.textContent===e[a]&&(n[a]=l,a++);return n}(e,a)}(e,n,l)}let n;function r(t,e){t?t.replaceChildren((n??=document.createRange()).createContextualFragment(e)):console.warn(\"░█ [ELENA]: Cannot render to a null element.\")}export{r as renderHtml,e as renderTemplate};\n//# sourceMappingURL=render.js.map\n","function n(n,t){\"undefined\"!=typeof window&&\"customElements\"in window&&(window.customElements.get(n)||window.customElements.define(n,t))}function t(n){const t={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"};return String(n).replace(/[&<>\"']/g,n=>t[n])}function e(n,...e){const o=n.reduce((n,o,i)=>n+o+t(String(e[i]??\"\")),\"\");return{__raw:!0,toString:()=>o}}export{n as defineElement,t as escapeHtml,e as html};\n//# sourceMappingURL=utils.js.map\n","import{setProps as e,getProps as t,getPropValue as s,syncAttribute as n}from\"./props.js\";import{ElenaEvent as i}from\"./events.js\";export{defineElement,html}from\"./utils.js\";import{renderTemplate as r}from\"./render.js\";function l(l,h){const o=h&&h.element?/^[a-z][a-z0-9-]*$/i.test(h.element)?e=>e.getElementsByClassName(h.element)[0]:e=>e.querySelector(h.element):e=>e.firstElementChild;class a extends l{element=null;attributeChangedCallback(e,s,n){t(this,e,s,n),this.element&&s!==n&&this.render()}static get observedAttributes(){return h&&h.props?h.props:[]}render(){}template(e,...t){r(this,e,t)}connectedCallback(){if(this.render(),this.element||(this.element=o(this),this.element||(console.warn(\"░█ [ELENA]: No element found, using firstElementChild as fallback.\"),this.element=this.firstElementChild)),this._props)for(const[e,t]of this._props){const i=s(typeof t,t,\"toAttribute\");\"string\"==typeof t&&\"\"===t?(this.removeAttribute(e),this.element.removeAttribute(e)):(n(this,e,i),n(this.element,e,i))}!this._events&&h&&h.events&&(this._events=!0,h.events?.forEach(e=>{this.element.addEventListener(e,this),this[e]=(...t)=>this.element[e](...t)})),this.updated()}updated(){this._hydrated||(this._hydrated=!0,this.classList.add(\"elena-hydrated\"))}disconnectedCallback(){this._events&&(this._events=!1,h.events?.forEach(e=>{this.element?.removeEventListener(e,this)}))}handleEvent(e){h.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new i(e.type,{cancelable:!0})))}}return h&&h.props?.length&&e(a.prototype,h.props),a}export{l as Elena};\n//# sourceMappingURL=elena.js.map\n","import { Elena, defineElement } from \"@elenajs/core\";\n\nconst options = {\n props: [\"variant\", \"size\", \"disabled\", \"name\", \"value\", \"type\"],\n events: [\"click\", \"focus\", \"blur\"],\n element: \".elena-button\",\n};\n\n/**\n * Button component is used for interface actions.\n *\n * @displayName Button\n * @status alpha\n *\n * @event click - Programmatically fire click on the component.\n * @event focus - Programmatically move focus to the component.\n * @event blur - Programmatically remove focus from the component.\n *\n * @cssprop [--elena-button-color-text] - Controls the color of the text.\n * @cssprop [--elena-button-color-bg] - Controls the color of the background.\n * @cssprop [--elena-button-color-border] - Controls the color of the border.\n * @cssprop [--elena-button-radius] - Controls the radius of the component.\n */\nexport default class Button extends Elena(HTMLElement, options) {\n constructor() {\n super();\n\n /**\n * The style variant of the button.\n *\n * @attribute\n * @type {\"default\" | \"primary\" | \"danger\"}\n */\n this.variant = \"default\";\n\n /**\n * The size of the button.\n *\n * @attribute\n * @type {\"sm\" | \"md\" | \"lg\"}\n */\n this.size = \"md\";\n\n /**\n * Makes the component disabled.\n *\n * @attribute\n * @type {Boolean}\n */\n this.disabled = false;\n\n /**\n * The name used to identify the button in forms.\n *\n * @attribute\n * @type {string}\n */\n this.name = \"\";\n\n /**\n * The value used to identify the button in forms.\n *\n * @attribute\n * @type {string}\n */\n this.value = \"\";\n\n /**\n * The type of the button.\n *\n * @attribute\n * @type {\"submit\" | \"reset\" | \"button\"}\n */\n this.type = \"button\";\n }\n\n /**\n * Renders the custom element template.\n *\n * @internal\n */\n render() {\n const slottedContent = this.textContent.trim();\n\n this.template`\n <button\n class=\"elena-button\"\n type=\"${this.type || \"button\"}\"\n ${this.name ? `name=\"${this.name}\"` : \"\"}\n ${this.value ? `value=\"${this.value}\"` : \"\"}\n ${this.disabled ? \"disabled\" : \"\"}>\n ${slottedContent}\n </button>\n `;\n }\n}\n\n/**\n * Register the custom element\n */\ndefineElement(\"elena-button\", Button);\n","import { Elena, defineElement, html } from \"@elenajs/core\";\n\nconst options = {\n props: [\"size\", \"disabled\", \"name\", \"value\", \"type\", \"label\", \"error\", \"placeholder\"],\n events: [\"click\", \"focus\", \"blur\"],\n element: \".elena-input\",\n};\n\n/**\n * The description of the component goes here.\n *\n * @displayName Input\n * @status alpha\n *\n * @event click - Programmatically fire click on the component.\n * @event focus - Programmatically move focus to the component.\n * @event blur - Programmatically remove focus from the component.\n *\n * @cssprop [--elena-input-color-text] - Controls the color of the text.\n * @cssprop [--elena-input-color-bg] - Controls the color of the background.\n * @cssprop [--elena-input-color-border] - Controls the color of the border.\n * @cssprop [--elena-input-radius] - Controls the radius of the component.\n */\nexport default class Input extends Elena(HTMLElement, options) {\n constructor() {\n super();\n\n /**\n * The size of the input.\n *\n * @attribute\n * @type {\"sm\" | \"md\" | \"lg\"}\n */\n this.size = \"md\";\n\n /**\n * Makes the component disabled.\n *\n * @attribute\n * @type {Boolean}\n */\n this.disabled = false;\n\n /**\n * The name used to identify the input in forms.\n *\n * @attribute\n * @type {string}\n */\n this.name = \"\";\n\n /**\n * The label for the input\n *\n * @attribute\n * @type {string}\n */\n this.label = \"\";\n\n /**\n * The value used to identify the input in forms.\n *\n * @attribute\n * @type {string}\n */\n this.value = \"\";\n\n /**\n * The placeholder text for the input.\n *\n * @attribute\n * @type {string}\n */\n this.placeholder = \"\";\n\n /**\n * The type of the input\n *\n * @attribute\n * @type {\"text\" | \"email\" | \"password\" | \"tel\" | \"url\" | \"search\" | \"number\" | \"unit\" | \"button\"}\n */\n this.type = \"text\";\n\n /**\n * The error to display\n *\n * @attribute\n * @type {string}\n */\n this.error = \"\";\n }\n\n /**\n * Renders the custom element template.\n *\n * @internal\n */\n render() {\n this.template`\n <label for=\"input\">${this.label}</label>\n <div class=\"elena-input-container\">\n <span class=\"elena-input-start\"></span>\n <input\n id=\"input\"\n class=\"elena-input\"\n type=\"${this.type}\"\n value=\"${this.value}\"\n placeholder=\"${this.placeholder}\"\n ${this.name ? `name=\"${this.name}\"` : \"\"}\n ${this.value ? `value=\"${this.value}\"` : \"\"}\n ${this.disabled ? \"disabled\" : \"\"}\n />\n <span class=\"elena-input-end\"></span>\n </div>\n ${this.error ? html`<div class=\"elena-error\" role=\"alert\">${this.error}</div>` : \"\"}\n `;\n }\n}\n\n/**\n * Register the custom element\n */\ndefineElement(\"elena-input\", Input);\n","import { Elena, defineElement } from \"@elenajs/core\";\n\n/**\n * Stack component manages layout of immediate children\n * with optional spacing between each child.\n *\n * @displayName Stack\n * @status alpha\n */\nexport default class Stack extends Elena(HTMLElement) {\n constructor() {\n super();\n }\n}\n\n/**\n * Register the custom element\n */\ndefineElement(\"elena-stack\", Stack);\n"],"names":["t","e","n","JSON","stringify","parse","removeAttribute","setAttribute","console","warn","e$2","Event","constructor","s","super","bubbles","composed","window","customElements","get","define","String","replace","o","reduce","i","__raw","toString","l","r","_tplStrings","_tplParts","length","a","c","_tplValues","textContent","map","trim","Array","document","createTreeWalker","NodeFilter","SHOW_TEXT","nextNode","replaceChildren","createRange","createContextualFragment","h","element","test","getElementsByClassName","querySelector","firstElementChild","attributeChangedCallback","this","render","observedAttributes","props","template","connectedCallback","_props","_events","events","forEach","addEventListener","updated","_hydrated","classList","add","disconnectedCallback","removeEventListener","handleEvent","includes","type","stopPropagation","dispatchEvent","cancelable","Object","defineProperty","configurable","enumerable","set","Map","isConnected","prototype","options","Button","Elena","HTMLElement","variant","size","disabled","name","value","slottedContent","defineElement","Input","label","placeholder","error","html","Stack"],"mappings":"AAAA,SAASA,EAAEA,EAAEC,EAAEC,GAAG,GAAGD,EAAE,YAAYD,GAAG,kBAAkBC,EAAE,OAAOA,EAAEA,GAAGC,EAAE,OAAOD,EAAE,GAAG,gBAAgBC,EAAE,OAAOF,GAAG,IAAI,SAAS,IAAI,QAAQ,OAAO,OAAOC,EAAE,KAAKE,KAAKC,UAAUH,GAAG,IAAI,UAAU,OAAOA,EAAE,GAAG,KAAK,IAAI,SAAS,OAAO,OAAOA,EAAE,KAAKA,EAAE,QAAQ,OAAOA,OAAO,OAAOD,GAAG,IAAI,SAAS,IAAI,QAAQ,OAAOC,GAAGE,KAAKE,MAAMJ,GAAG,IAAI,UAAU,QAAQ,OAAOA,EAAE,IAAI,SAAS,OAAO,OAAOA,GAAGA,EAAEA,EAAE,CAAC,SAASA,EAAED,EAAEC,EAAEC,GAAGF,EAAE,OAAOE,EAAEF,EAAEM,gBAAgBL,GAAGD,EAAEO,aAAaN,EAAEC,GAAGM,QAAQC,KAAK,wDAAwD,CCAjhB,ICAmyBP,EDAnyBQ,EAAA,cAAgBC,MAAM,WAAAC,CAAYX,EAAEY,GAAGC,MAAMb,EAAE,CAACc,SAAQ,EAAGC,UAAS,KAAMH,GAAG,GEA7E,SAASX,EAAEA,EAAEF,GAAG,oBAAoBiB,QAAQ,mBAAmBA,SAASA,OAAOC,eAAeC,IAAIjB,IAAIe,OAAOC,eAAeE,OAAOlB,EAAEF,GAAG,CAAC,SAASA,EAAEE,GAAG,MAAMF,EAAE,CAAC,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,IAAI,SAAS,IAAI,SAAS,OAAOqB,OAAOnB,GAAGoB,QAAQ,WAAWpB,GAAGF,EAAEE,GAAG,CAAC,SAASD,EAAEC,KAAKD,GAAG,MAAMsB,EAAErB,EAAEsB,OAAO,CAACtB,EAAEqB,EAAEE,IAAIvB,EAAEqB,EAAEvB,EAAEqB,OAAOpB,EAAEwB,IAAI,KAAK,IAAI,MAAM,CAACC,OAAM,EAAGC,SAAS,IAAIJ,EAAE,CDAzU,SAAStB,EAAEA,EAAEC,EAAE0B,IAAG,SAAU3B,EAAEC,EAAE2B,GAAG,GAAG5B,EAAE6B,cAAc5B,IAAID,EAAE8B,UAAU,OAAM,EAAG,IAAIH,GAAE,EAAG,IAAI,IAAI1B,EAAE,EAAEA,EAAE2B,EAAEG,OAAO9B,IAAI,CAAC,MAAM+B,EAAEJ,EAAE3B,GAAGqB,EAAEU,GAAGA,EAAEP,MAAMQ,EAAEX,EAAEF,OAAOY,GAAGjC,EAAEqB,OAAOY,GAAG,KAAK,GAAGC,IAAIjC,EAAEkC,WAAWjC,GAAG,GAAGD,EAAEkC,WAAWjC,GAAGgC,EAAEX,EAAEK,GAAE,MAAO,CAAC,MAAM5B,EAAEC,EAAE8B,UAAU7B,GAAGF,EAAEA,EAAEoC,YAAYf,OAAOY,GAAG,IAAIL,GAAE,CAAE,CAAC,CAAC,OAAOA,CAAE,EAAvR,CAAyR3B,EAAEC,EAAE0B,IAAI,SAAS3B,EAAEC,EAAE0B,GAAG,MAAMK,EAAEL,EAAES,IAAIpC,GAAGA,GAAGA,EAAEyB,MAAML,OAAOpB,GAAGD,EAAEqB,OAAOpB,GAAG,MAAMsB,EAAErB,EAAEsB,OAAO,CAACxB,EAAEC,EAAEC,IAAIF,EAAEC,EAAEqB,QAAQ,SAAS,MAAMW,EAAE/B,IAAI,IAAI,IAAIoB,QAAQ,SAAS,MAAMA,QAAQ,QAAQ,KAAKA,QAAQ,QAAQ,KAAKgB,OAAOT,EAAE5B,EAAEsB,GAAGtB,EAAE6B,YAAY5B,EAAED,EAAEkC,WAAWF,EAAEhC,EAAE8B,UAAU,SAAS/B,EAAEC,GAAG,MAAMC,EAAE,IAAIqC,MAAMtC,EAAE+B,QAAQH,EAAEW,SAASC,iBAAiBzC,EAAE0C,WAAWC,WAAW,IAAIf,EAAEK,EAAE,EAAE,MAAML,EAAEC,EAAEe,aAAaX,EAAEhC,EAAE+B,QAAQJ,EAAEQ,cAAcnC,EAAEgC,KAAK/B,EAAE+B,GAAGL,EAAEK,KAAK,OAAO/B,CAAC,CAAtL,CAAwLD,EAAEgC,EAAE,CAA3b,CAA6bhC,EAAEC,EAAE0B,EAAE,CAAO,SAASC,EAAE7B,EAAEC,GAAGD,EAAEA,EAAE6C,iBAAiB3C,IAAIsC,SAASM,eAAeC,yBAAyB9C,IAAIO,QAAQC,KAAK,+CAA+C,CEAruB,SAASmB,EAAEA,EAAEoB,GAAG,MAAMzB,EAAEyB,GAAGA,EAAEC,QAAQ,qBAAqBC,KAAKF,EAAEC,SAAShD,GAAGA,EAAEkD,uBAAuBH,EAAEC,SAAS,GAAGhD,GAAGA,EAAEmD,cAAcJ,EAAEC,SAAShD,GAAGA,EAAEoD,kBAAkB,MAAMpB,UAAUL,EAAEqB,QAAQ,KAAK,wBAAAK,CAAyBrD,EAAEY,EAAEX,IJAkb,SAAWD,EAAEC,EAAE2B,EAAEN,GAAG,GAAGM,IAAIN,EAAE,CAAC,MAAMM,EAAE7B,SAASC,EAAEC,GAAGqB,EAAE,UAAUtB,EAAEC,GAAG2B,CAAC,CAAC,EIAtf7B,CAAEuD,KAAKtD,EAAEY,EAAEX,GAAGqD,KAAKN,SAASpC,IAAIX,GAAGqD,KAAKC,QAAQ,CAAC,6BAAWC,GAAqB,OAAOT,GAAGA,EAAEU,MAAMV,EAAEU,MAAM,EAAE,CAAC,MAAAF,GAAS,CAAC,QAAAG,CAAS1D,KAAKD,GAAG6B,EAAE0B,KAAKtD,EAAED,EAAE,CAAC,iBAAA4D,GAAoB,GAAGL,KAAKC,SAASD,KAAKN,UAAUM,KAAKN,QAAQ1B,EAAEgC,MAAMA,KAAKN,UAAUzC,QAAQC,KAAK,sEAAsE8C,KAAKN,QAAQM,KAAKF,oBAAoBE,KAAKM,OAAO,IAAI,MAAM5D,EAAED,KAAKuD,KAAKM,OAAO,CAAC,MAAMpC,EAAEZ,SAASb,EAAEA,EAAE,eAAe,iBAAiBA,GAAG,KAAKA,GAAGuD,KAAKjD,gBAAgBL,GAAGsD,KAAKN,QAAQ3C,gBAAgBL,KAAKC,EAAEqD,KAAKtD,EAAEwB,GAAGvB,EAAEqD,KAAKN,QAAQhD,EAAEwB,GAAG,EAAE8B,KAAKO,SAASd,GAAGA,EAAEe,SAASR,KAAKO,SAAQ,EAAGd,EAAEe,QAAQC,QAAQ/D,IAAIsD,KAAKN,QAAQgB,iBAAiBhE,EAAEsD,MAAMA,KAAKtD,GAAG,IAAID,IAAIuD,KAAKN,QAAQhD,MAAMD,MAAMuD,KAAKW,SAAS,CAAC,OAAAA,GAAUX,KAAKY,YAAYZ,KAAKY,WAAU,EAAGZ,KAAKa,UAAUC,IAAI,kBAAkB,CAAC,oBAAAC,GAAuBf,KAAKO,UAAUP,KAAKO,SAAQ,EAAGd,EAAEe,QAAQC,QAAQ/D,IAAIsD,KAAKN,SAASsB,oBAAoBtE,EAAEsD,QAAQ,CAAC,WAAAiB,CAAYvE,GAAG+C,EAAEe,QAAQU,SAASxE,EAAEyE,QAAQzE,EAAE0E,kBAAkBpB,KAAKqB,cAAc,IAAInD,EAAExB,EAAEyE,KAAK,CAACG,YAAW,KAAM,EAAE,OAAO7B,GAAGA,EAAEU,OAAO1B,QJA/8B,SAAW9B,EAAE2B,GAAG,IAAI,MAAMN,KAAKM,EAAEiD,OAAOC,eAAe7E,EAAEqB,EAAE,CAACyD,cAAa,EAAGC,YAAW,EAAG,GAAA9D,GAAM,OAAOoC,KAAKM,OAAON,KAAKM,OAAO1C,IAAII,QAAG,CAAM,EAAE,GAAA2D,CAAIhF,GAAG,GAAGqD,KAAKM,SAASN,KAAKM,OAAO,IAAIsB,KAAKjF,IAAIqD,KAAKM,OAAO1C,IAAII,GAAG,OAAO,GAAGgC,KAAKM,OAAOqB,IAAI3D,EAAErB,IAAIqD,KAAK6B,YAAY,OAAO,MAAMvD,EAAE7B,SAASE,EAAEA,EAAE,eAAeD,EAAEsD,KAAKhC,EAAEM,GAAG0B,KAAKN,SAAShD,EAAEsD,KAAKN,QAAQ1B,EAAEM,EAAE,GAAG,CIAynB5B,CAAEgC,EAAEoD,UAAUrC,EAAEU,OAAOzB,CAAC,CCEjgD,MAAMqD,EAAU,CACd5B,MAAO,CAAC,UAAW,OAAQ,WAAY,OAAQ,QAAS,QACxDK,OAAQ,CAAC,QAAS,QAAS,QAC3Bd,QAAS,iBAkBI,MAAMsC,UAAeC,EAAMC,YAAaH,IACrD,WAAA1E,GACEE,QAQAyC,KAAKmC,QAAU,UAQfnC,KAAKoC,KAAO,KAQZpC,KAAKqC,UAAW,EAQhBrC,KAAKsC,KAAO,GAQZtC,KAAKuC,MAAQ,GAQbvC,KAAKmB,KAAO,QACd,CAOA,MAAAlB,GACE,MAAMuC,EAAiBxC,KAAKnB,YAAYE,OAExCiB,KAAKI,QAAQ,sCAGDJ,KAAKmB,MAAQ,aACnBnB,KAAKsC,KAAO,SAAStC,KAAKsC,QAAU,MACpCtC,KAAKuC,MAAQ,UAAUvC,KAAKuC,SAAW,MACvCvC,KAAKqC,SAAW,WAAa,MAC3BG,YAGV,EAMFC,EAAc,eAAgBT,GClG9B,MAAMD,EAAU,CACd5B,MAAO,CAAC,OAAQ,WAAY,OAAQ,QAAS,OAAQ,QAAS,QAAS,eACvEK,OAAQ,CAAC,QAAS,QAAS,QAC3Bd,QAAS,gBAkBI,MAAMgD,UAAcT,EAAMC,YAAaH,IACpD,WAAA1E,GACEE,QAQAyC,KAAKoC,KAAO,KAQZpC,KAAKqC,UAAW,EAQhBrC,KAAKsC,KAAO,GAQZtC,KAAK2C,MAAQ,GAQb3C,KAAKuC,MAAQ,GAQbvC,KAAK4C,YAAc,GAQnB5C,KAAKmB,KAAO,OAQZnB,KAAK6C,MAAQ,EACf,CAOA,MAAA5C,GACED,KAAKI,QAAQ,sBACYJ,KAAK2C,uIAMV3C,KAAKmB,gBACJnB,KAAKuC,uBACCvC,KAAK4C,gBAClB5C,KAAKsC,KAAO,SAAStC,KAAKsC,QAAU,MACpCtC,KAAKuC,MAAQ,UAAUvC,KAAKuC,SAAW,MACvCvC,KAAKqC,SAAW,WAAa,kDAIrCrC,KAAK6C,MAAQC,CAAI,yCAAyC9C,KAAK6C,cAAgB,IAEvF,EAMFJ,EAAc,cAAeC,GCjHd,MAAMK,UAAcd,EAAMC,cACvC,WAAA7E,GACEE,OACF,EAMFkF,EAAc,cAAeM"}
1
+ {"version":3,"file":"bundle.js","sources":["../../core/dist/props.js","../../core/dist/events.js","../../core/dist/render.js","../../core/dist/utils.js","../../core/dist/elena.js","../src/button/button.js","../src/input/input.js","../src/stack/stack.js"],"sourcesContent":["function t(t,e,n){if(e=\"boolean\"===t&&\"boolean\"!=typeof e?null!==e:e,!n)return e;if(\"toAttribute\"===n)switch(t){case\"object\":case\"array\":return null===e?null:JSON.stringify(e);case\"boolean\":return e?\"\":null;case\"number\":return null===e?null:e;default:return\"\"===e?null:e}else switch(t){case\"object\":case\"array\":return e&&JSON.parse(e);case\"boolean\":default:return e;case\"number\":return null!==e?+e:e}}function e(t,e,n){t?null===n?t.removeAttribute(e):t.setAttribute(e,n):console.warn(\"░█ [ELENA]: Cannot sync attributes to a null element.\")}function n(n,r){for(const o of r)Object.defineProperty(n,o,{configurable:!0,enumerable:!0,get(){return this._props?this._props.get(o):void 0},set(n){if(this._props||(this._props=new Map),n===this._props.get(o))return;if(this._props.set(o,n),!this.isConnected)return;const r=t(typeof n,n,\"toAttribute\");e(this,o,r),this.element&&e(this.element,o,r)}})}function r(e,n,r,o){if(r!==o){const r=t(typeof e[n],o,\"toProp\");e[n]=r}}export{t as getPropValue,r as getProps,n as setProps,e as syncAttribute};\n//# sourceMappingURL=props.js.map\n","class e extends Event{constructor(e,s){super(e,{bubbles:!0,composed:!0,...s})}}export{e as ElenaEvent};\n//# sourceMappingURL=events.js.map\n","import{escapeHtml as t}from\"./utils.js\";function e(e,n,l){(function(e,n,r){if(e._tplStrings!==n||!e._tplParts)return!1;let l=!1;for(let n=0;n<r.length;n++){const a=r[n],o=a&&a.__raw,c=o?String(a):t(String(a??\"\"));if(c!==e._tplValues[n])if(e._tplValues[n]=c,o)l=!0;else{const t=e._tplParts[n];t?t.textContent=String(a??\"\"):l=!0}}return!l})(e,n,l)||function(e,n,l){const a=l.map(e=>e&&e.__raw?String(e):t(String(e??\"\"))),o=n.reduce((t,e,n)=>t+e.replace(/\\n\\s*/g,\" \")+(a[n]??\"\"),\"\").replace(/>\\s+</g,\"><\").replace(/>\\s+/g,\">\").replace(/\\s+</g,\"<\").trim();r(e,o),e._tplStrings=n,e._tplValues=a,e._tplParts=function(t,e){const n=new Array(e.length),r=document.createTreeWalker(t,NodeFilter.SHOW_TEXT);let l,a=0;for(;(l=r.nextNode())&&a<e.length;)l.textContent===e[a]&&(n[a]=l,a++);return n}(e,a)}(e,n,l)}let n;function r(t,e){t?t.replaceChildren((n??=document.createRange()).createContextualFragment(e)):console.warn(\"░█ [ELENA]: Cannot render to a null element.\")}export{r as renderHtml,e as renderTemplate};\n//# sourceMappingURL=render.js.map\n","function n(n,t){\"undefined\"!=typeof window&&\"customElements\"in window&&(window.customElements.get(n)||window.customElements.define(n,t))}function t(n){const t={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"};return String(n).replace(/[&<>\"']/g,n=>t[n])}function e(n,...e){const o=n.reduce((n,o,i)=>n+o+t(String(e[i]??\"\")),\"\");return{__raw:!0,toString:()=>o}}export{n as defineElement,t as escapeHtml,e as html};\n//# sourceMappingURL=utils.js.map\n","import{setProps as e,getProps as t,getPropValue as s,syncAttribute as n}from\"./props.js\";import{ElenaEvent as i}from\"./events.js\";export{defineElement,html}from\"./utils.js\";import{renderTemplate as r}from\"./render.js\";function l(l,h){const o=h&&h.element?/^[a-z][a-z0-9-]*$/i.test(h.element)?e=>e.getElementsByClassName(h.element)[0]:e=>e.querySelector(h.element):e=>e.firstElementChild;class a extends l{element=null;attributeChangedCallback(e,s,n){t(this,e,s,n),this.element&&s!==n&&this.render()}static get observedAttributes(){return h&&h.props?h.props:[]}render(){}template(e,...t){r(this,e,t)}connectedCallback(){if(this.render(),this.element||(this.element=o(this),this.element||(console.warn(\"░█ [ELENA]: No element found, using firstElementChild as fallback.\"),this.element=this.firstElementChild)),this._props)for(const[e,t]of this._props){const i=s(typeof t,t,\"toAttribute\");n(this,e,i),n(this.element,e,i)}!this._events&&h&&h.events&&(this._events=!0,h.events?.forEach(e=>{this.element.addEventListener(e,this),this[e]=(...t)=>this.element[e](...t)})),this.updated()}updated(){this._hydrated||(this._hydrated=!0,this.classList.add(\"elena-hydrated\"))}disconnectedCallback(){this._events&&(this._events=!1,h.events?.forEach(e=>{this.element?.removeEventListener(e,this)}))}handleEvent(e){h.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new i(e.type,{cancelable:!0})))}}return h&&h.props?.length&&e(a.prototype,h.props),a}export{l as Elena};\n//# sourceMappingURL=elena.js.map\n","import { Elena, defineElement } from \"@elenajs/core\";\n\nconst options = {\n props: [\"variant\", \"size\", \"disabled\", \"name\", \"value\", \"type\"],\n events: [\"click\", \"focus\", \"blur\"],\n element: \".elena-button\",\n};\n\n/**\n * Button component is used for interface actions.\n *\n * @displayName Button\n * @status alpha\n *\n * @event click - Programmatically fire click on the component.\n * @event focus - Programmatically move focus to the component.\n * @event blur - Programmatically remove focus from the component.\n *\n * @cssprop [--elena-button-color-text] - Controls the color of the text.\n * @cssprop [--elena-button-color-bg] - Controls the color of the background.\n * @cssprop [--elena-button-color-border] - Controls the color of the border.\n * @cssprop [--elena-button-radius] - Controls the radius of the component.\n */\nexport default class Button extends Elena(HTMLElement, options) {\n constructor() {\n super();\n\n /**\n * The style variant of the button.\n *\n * @attribute\n * @type {\"default\" | \"primary\" | \"danger\"}\n */\n this.variant = \"default\";\n\n /**\n * The size of the button.\n *\n * @attribute\n * @type {\"sm\" | \"md\" | \"lg\"}\n */\n this.size = \"md\";\n\n /**\n * Makes the component disabled.\n *\n * @attribute\n * @type {Boolean}\n */\n this.disabled = false;\n\n /**\n * The name used to identify the button in forms.\n *\n * @attribute\n * @type {string}\n */\n this.name = \"\";\n\n /**\n * The value used to identify the button in forms.\n *\n * @attribute\n * @type {string}\n */\n this.value = \"\";\n\n /**\n * The type of the button.\n *\n * @attribute\n * @type {\"submit\" | \"reset\" | \"button\"}\n */\n this.type = \"button\";\n }\n\n /**\n * Renders the custom element template.\n *\n * @internal\n */\n render() {\n const slottedContent = this.textContent.trim();\n\n this.template`\n <button\n class=\"elena-button\"\n type=\"${this.type || \"button\"}\"\n ${this.name ? `name=\"${this.name}\"` : \"\"}\n ${this.value ? `value=\"${this.value}\"` : \"\"}\n ${this.disabled ? \"disabled\" : \"\"}>\n ${slottedContent}\n </button>\n `;\n }\n}\n\n/**\n * Register the custom element\n */\ndefineElement(\"elena-button\", Button);\n","import { Elena, defineElement, html } from \"@elenajs/core\";\n\nconst options = {\n props: [\"size\", \"disabled\", \"name\", \"value\", \"type\", \"label\", \"error\", \"placeholder\"],\n events: [\"click\", \"focus\", \"blur\"],\n element: \".elena-input\",\n};\n\n/**\n * The description of the component goes here.\n *\n * @displayName Input\n * @status alpha\n *\n * @event click - Programmatically fire click on the component.\n * @event focus - Programmatically move focus to the component.\n * @event blur - Programmatically remove focus from the component.\n *\n * @cssprop [--elena-input-color-text] - Controls the color of the text.\n * @cssprop [--elena-input-color-bg] - Controls the color of the background.\n * @cssprop [--elena-input-color-border] - Controls the color of the border.\n * @cssprop [--elena-input-radius] - Controls the radius of the component.\n */\nexport default class Input extends Elena(HTMLElement, options) {\n constructor() {\n super();\n\n /**\n * The size of the input.\n *\n * @attribute\n * @type {\"sm\" | \"md\" | \"lg\"}\n */\n this.size = \"md\";\n\n /**\n * Makes the component disabled.\n *\n * @attribute\n * @type {Boolean}\n */\n this.disabled = false;\n\n /**\n * The name used to identify the input in forms.\n *\n * @attribute\n * @type {string}\n */\n this.name = \"\";\n\n /**\n * The label for the input\n *\n * @attribute\n * @type {string}\n */\n this.label = \"\";\n\n /**\n * The value used to identify the input in forms.\n *\n * @attribute\n * @type {string}\n */\n this.value = \"\";\n\n /**\n * The placeholder text for the input.\n *\n * @attribute\n * @type {string}\n */\n this.placeholder = \"\";\n\n /**\n * The type of the input\n *\n * @attribute\n * @type {\"text\" | \"email\" | \"password\" | \"tel\" | \"url\" | \"search\" | \"number\" | \"unit\" | \"button\"}\n */\n this.type = \"text\";\n\n /**\n * The error to display\n *\n * @attribute\n * @type {string}\n */\n this.error = \"\";\n }\n\n /**\n * Renders the custom element template.\n *\n * @internal\n */\n render() {\n this.template`\n <label for=\"input\">${this.label}</label>\n <div class=\"elena-input-container\">\n <span class=\"elena-input-start\"></span>\n <input\n id=\"input\"\n class=\"elena-input\"\n type=\"${this.type}\"\n value=\"${this.value}\"\n placeholder=\"${this.placeholder}\"\n ${this.name ? `name=\"${this.name}\"` : \"\"}\n ${this.value ? `value=\"${this.value}\"` : \"\"}\n ${this.disabled ? \"disabled\" : \"\"}\n />\n <span class=\"elena-input-end\"></span>\n </div>\n ${this.error ? html`<div class=\"elena-error\" role=\"alert\">${this.error}</div>` : \"\"}\n `;\n }\n}\n\n/**\n * Register the custom element\n */\ndefineElement(\"elena-input\", Input);\n","import { Elena, defineElement } from \"@elenajs/core\";\n\n/**\n * Stack component manages layout of immediate children\n * with optional spacing between each child.\n *\n * @displayName Stack\n * @status alpha\n */\nexport default class Stack extends Elena(HTMLElement) {\n constructor() {\n super();\n }\n}\n\n/**\n * Register the custom element\n */\ndefineElement(\"elena-stack\", Stack);\n"],"names":["t","e","n","JSON","stringify","parse","removeAttribute","setAttribute","console","warn","e$2","Event","constructor","s","super","bubbles","composed","window","customElements","get","define","String","replace","o","reduce","i","__raw","toString","l","r","_tplStrings","_tplParts","length","a","c","_tplValues","textContent","map","trim","Array","document","createTreeWalker","NodeFilter","SHOW_TEXT","nextNode","replaceChildren","createRange","createContextualFragment","h","element","test","getElementsByClassName","querySelector","firstElementChild","attributeChangedCallback","this","render","observedAttributes","props","template","connectedCallback","_props","_events","events","forEach","addEventListener","updated","_hydrated","classList","add","disconnectedCallback","removeEventListener","handleEvent","includes","type","stopPropagation","dispatchEvent","cancelable","Object","defineProperty","configurable","enumerable","set","Map","isConnected","prototype","options","Button","Elena","HTMLElement","variant","size","disabled","name","value","slottedContent","defineElement","Input","label","placeholder","error","html","Stack"],"mappings":"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"}
package/dist/button.js CHANGED
@@ -1,2 +1,2 @@
1
- import{l as t,n as e}from"./elena-f59Xc5oc.js";const s={props:["variant","size","disabled","name","value","type"],events:["click","focus","blur"],element:".elena-button"};class a extends(t(HTMLElement,s)){constructor(){super(),this.variant="default",this.size="md",this.disabled=!1,this.name="",this.value="",this.type="button"}render(){const t=this.textContent.trim();this.template`<button class="elena-button" type="${this.type||"button"}" ${this.name?`name="${this.name}"`:""} ${this.value?`value="${this.value}"`:""} ${this.disabled?"disabled":""}>${t}</button>`}}e("elena-button",a);export{a as default};
1
+ import{l as t,n as e}from"./elena-CDjBzzhm.js";const s={props:["variant","size","disabled","name","value","type"],events:["click","focus","blur"],element:".elena-button"};class a extends(t(HTMLElement,s)){constructor(){super(),this.variant="default",this.size="md",this.disabled=!1,this.name="",this.value="",this.type="button"}render(){const t=this.textContent.trim();this.template`<button class="elena-button" type="${this.type||"button"}" ${this.name?`name="${this.name}"`:""} ${this.value?`value="${this.value}"`:""} ${this.disabled?"disabled":""}>${t}</button>`}}e("elena-button",a);export{a as default};
2
2
  //# sourceMappingURL=button.js.map
@@ -0,0 +1,2 @@
1
+ function e(e,t,n){if(t="boolean"===e&&"boolean"!=typeof t?null!==t:t,!n)return t;if("toAttribute"===n)switch(e){case"object":case"array":return null===t?null:JSON.stringify(t);case"boolean":return t?"":null;case"number":return null===t?null:t;default:return""===t?null:t}else switch(e){case"object":case"array":return t&&JSON.parse(t);case"boolean":default:return t;case"number":return null!==t?+t:t}}function t(e,t,n){e?null===n?e.removeAttribute(t):e.setAttribute(t,n):console.warn("░█ [ELENA]: Cannot sync attributes to a null element.")}let n,s=class extends Event{constructor(e,t){super(e,{bubbles:!0,composed:!0,...t})}};function r(e,t){"undefined"!=typeof window&&"customElements"in window&&(window.customElements.get(e)||window.customElements.define(e,t))}function l(e){const t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return String(e).replace(/[&<>"']/g,e=>t[e])}function i(e,...t){const n=e.reduce((e,n,s)=>e+n+l(String(t[s]??"")),"");return{__raw:!0,toString:()=>n}}function o(e,t,n){(function(e,t,n){if(e._tplStrings!==t||!e._tplParts)return!1;let s=!1;for(let t=0;t<n.length;t++){const r=n[t],i=r&&r.__raw,o=i?String(r):l(String(r??""));if(o!==e._tplValues[t])if(e._tplValues[t]=o,i)s=!0;else{const n=e._tplParts[t];n?n.textContent=String(r??""):s=!0}}return!s})(e,t,n)||function(e,t,n){const s=n.map(e=>e&&e.__raw?String(e):l(String(e??""))),r=t.reduce((e,t,n)=>e+t.replace(/\n\s*/g," ")+(s[n]??""),"").replace(/>\s+</g,"><").replace(/>\s+/g,">").replace(/\s+</g,"<").trim();a(e,r),e._tplStrings=t,e._tplValues=s,e._tplParts=function(e,t){const n=new Array(t.length),s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);let r,l=0;for(;(r=s.nextNode())&&l<t.length;)r.textContent===t[l]&&(n[l]=r,l++);return n}(e,s)}(e,t,n)}function a(e,t){e?e.replaceChildren((n??=document.createRange()).createContextualFragment(t)):console.warn("░█ [ELENA]: Cannot render to a null element.")}function c(n,r){const l=r&&r.element?/^[a-z][a-z0-9-]*$/i.test(r.element)?e=>e.getElementsByClassName(r.element)[0]:e=>e.querySelector(r.element):e=>e.firstElementChild;class i extends n{element=null;attributeChangedCallback(t,n,s){(function(t,n,s,r){if(s!==r){const s=e(typeof t[n],r,"toProp");t[n]=s}})(this,t,n,s),this.element&&n!==s&&this.render()}static get observedAttributes(){return r&&r.props?r.props:[]}render(){}template(e,...t){o(this,e,t)}connectedCallback(){if(this.render(),this.element||(this.element=l(this),this.element||(console.warn("░█ [ELENA]: No element found, using firstElementChild as fallback."),this.element=this.firstElementChild)),this._props)for(const[n,s]of this._props){const r=e(typeof s,s,"toAttribute");t(this,n,r),t(this.element,n,r)}!this._events&&r&&r.events&&(this._events=!0,r.events?.forEach(e=>{this.element.addEventListener(e,this),this[e]=(...t)=>this.element[e](...t)})),this.updated()}updated(){this._hydrated||(this._hydrated=!0,this.classList.add("elena-hydrated"))}disconnectedCallback(){this._events&&(this._events=!1,r.events?.forEach(e=>{this.element?.removeEventListener(e,this)}))}handleEvent(e){r.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new s(e.type,{cancelable:!0})))}}return r&&r.props?.length&&function(n,s){for(const r of s)Object.defineProperty(n,r,{configurable:!0,enumerable:!0,get(){return this._props?this._props.get(r):void 0},set(n){if(this._props||(this._props=new Map),n===this._props.get(r))return;if(this._props.set(r,n),!this.isConnected)return;const s=e(typeof n,n,"toAttribute");t(this,r,s),this.element&&t(this.element,r,s)}})}(i.prototype,r.props),i}export{i as e,c as l,r as n};
2
+ //# sourceMappingURL=elena-CDjBzzhm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elena-CDjBzzhm.js","sources":["../../core/dist/props.js","../../core/dist/events.js","../../core/dist/render.js","../../core/dist/utils.js","../../core/dist/elena.js"],"sourcesContent":["function t(t,e,n){if(e=\"boolean\"===t&&\"boolean\"!=typeof e?null!==e:e,!n)return e;if(\"toAttribute\"===n)switch(t){case\"object\":case\"array\":return null===e?null:JSON.stringify(e);case\"boolean\":return e?\"\":null;case\"number\":return null===e?null:e;default:return\"\"===e?null:e}else switch(t){case\"object\":case\"array\":return e&&JSON.parse(e);case\"boolean\":default:return e;case\"number\":return null!==e?+e:e}}function e(t,e,n){t?null===n?t.removeAttribute(e):t.setAttribute(e,n):console.warn(\"░█ [ELENA]: Cannot sync attributes to a null element.\")}function n(n,r){for(const o of r)Object.defineProperty(n,o,{configurable:!0,enumerable:!0,get(){return this._props?this._props.get(o):void 0},set(n){if(this._props||(this._props=new Map),n===this._props.get(o))return;if(this._props.set(o,n),!this.isConnected)return;const r=t(typeof n,n,\"toAttribute\");e(this,o,r),this.element&&e(this.element,o,r)}})}function r(e,n,r,o){if(r!==o){const r=t(typeof e[n],o,\"toProp\");e[n]=r}}export{t as getPropValue,r as getProps,n as setProps,e as syncAttribute};\n//# sourceMappingURL=props.js.map\n","class e extends Event{constructor(e,s){super(e,{bubbles:!0,composed:!0,...s})}}export{e as ElenaEvent};\n//# sourceMappingURL=events.js.map\n","import{escapeHtml as t}from\"./utils.js\";function e(e,n,l){(function(e,n,r){if(e._tplStrings!==n||!e._tplParts)return!1;let l=!1;for(let n=0;n<r.length;n++){const a=r[n],o=a&&a.__raw,c=o?String(a):t(String(a??\"\"));if(c!==e._tplValues[n])if(e._tplValues[n]=c,o)l=!0;else{const t=e._tplParts[n];t?t.textContent=String(a??\"\"):l=!0}}return!l})(e,n,l)||function(e,n,l){const a=l.map(e=>e&&e.__raw?String(e):t(String(e??\"\"))),o=n.reduce((t,e,n)=>t+e.replace(/\\n\\s*/g,\" \")+(a[n]??\"\"),\"\").replace(/>\\s+</g,\"><\").replace(/>\\s+/g,\">\").replace(/\\s+</g,\"<\").trim();r(e,o),e._tplStrings=n,e._tplValues=a,e._tplParts=function(t,e){const n=new Array(e.length),r=document.createTreeWalker(t,NodeFilter.SHOW_TEXT);let l,a=0;for(;(l=r.nextNode())&&a<e.length;)l.textContent===e[a]&&(n[a]=l,a++);return n}(e,a)}(e,n,l)}let n;function r(t,e){t?t.replaceChildren((n??=document.createRange()).createContextualFragment(e)):console.warn(\"░█ [ELENA]: Cannot render to a null element.\")}export{r as renderHtml,e as renderTemplate};\n//# sourceMappingURL=render.js.map\n","function n(n,t){\"undefined\"!=typeof window&&\"customElements\"in window&&(window.customElements.get(n)||window.customElements.define(n,t))}function t(n){const t={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"};return String(n).replace(/[&<>\"']/g,n=>t[n])}function e(n,...e){const o=n.reduce((n,o,i)=>n+o+t(String(e[i]??\"\")),\"\");return{__raw:!0,toString:()=>o}}export{n as defineElement,t as escapeHtml,e as html};\n//# sourceMappingURL=utils.js.map\n","import{setProps as e,getProps as t,getPropValue as s,syncAttribute as n}from\"./props.js\";import{ElenaEvent as i}from\"./events.js\";export{defineElement,html}from\"./utils.js\";import{renderTemplate as r}from\"./render.js\";function l(l,h){const o=h&&h.element?/^[a-z][a-z0-9-]*$/i.test(h.element)?e=>e.getElementsByClassName(h.element)[0]:e=>e.querySelector(h.element):e=>e.firstElementChild;class a extends l{element=null;attributeChangedCallback(e,s,n){t(this,e,s,n),this.element&&s!==n&&this.render()}static get observedAttributes(){return h&&h.props?h.props:[]}render(){}template(e,...t){r(this,e,t)}connectedCallback(){if(this.render(),this.element||(this.element=o(this),this.element||(console.warn(\"░█ [ELENA]: No element found, using firstElementChild as fallback.\"),this.element=this.firstElementChild)),this._props)for(const[e,t]of this._props){const i=s(typeof t,t,\"toAttribute\");n(this,e,i),n(this.element,e,i)}!this._events&&h&&h.events&&(this._events=!0,h.events?.forEach(e=>{this.element.addEventListener(e,this),this[e]=(...t)=>this.element[e](...t)})),this.updated()}updated(){this._hydrated||(this._hydrated=!0,this.classList.add(\"elena-hydrated\"))}disconnectedCallback(){this._events&&(this._events=!1,h.events?.forEach(e=>{this.element?.removeEventListener(e,this)}))}handleEvent(e){h.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new i(e.type,{cancelable:!0})))}}return h&&h.props?.length&&e(a.prototype,h.props),a}export{l as Elena};\n//# sourceMappingURL=elena.js.map\n"],"names":["t","e","n","JSON","stringify","parse","removeAttribute","setAttribute","console","warn","e$2","Event","constructor","s","super","bubbles","composed","window","customElements","get","define","String","replace","o","reduce","i","__raw","toString","l","r","_tplStrings","_tplParts","length","a","c","_tplValues","textContent","map","trim","Array","document","createTreeWalker","NodeFilter","SHOW_TEXT","nextNode","replaceChildren","createRange","createContextualFragment","h","element","test","getElementsByClassName","querySelector","firstElementChild","attributeChangedCallback","this","render","observedAttributes","props","template","connectedCallback","_props","_events","events","forEach","addEventListener","updated","_hydrated","classList","add","disconnectedCallback","removeEventListener","handleEvent","includes","type","stopPropagation","dispatchEvent","cancelable","Object","defineProperty","configurable","enumerable","set","Map","isConnected","prototype"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{default as Button}from"./button.js";export{default as Input}from"./input.js";export{default as Stack}from"./stack.js";import"./elena-f59Xc5oc.js";
1
+ export{default as Button}from"./button.js";export{default as Input}from"./input.js";export{default as Stack}from"./stack.js";import"./elena-CDjBzzhm.js";
2
2
  //# sourceMappingURL=index.js.map
package/dist/input.js CHANGED
@@ -1,2 +1,2 @@
1
- import{l as e,e as s,n as l}from"./elena-f59Xc5oc.js";const t={props:["size","disabled","name","value","type","label","error","placeholder"],events:["click","focus","blur"],element:".elena-input"};class a extends(e(HTMLElement,t)){constructor(){super(),this.size="md",this.disabled=!1,this.name="",this.label="",this.value="",this.placeholder="",this.type="text",this.error=""}render(){this.template`<label for="input">${this.label}</label><div class="elena-input-container"><span class="elena-input-start"></span> <input id="input" class="elena-input" type="${this.type}" value="${this.value}" placeholder="${this.placeholder}" ${this.name?`name="${this.name}"`:""} ${this.value?`value="${this.value}"`:""} ${this.disabled?"disabled":""}> <span class="elena-input-end"></span></div>${this.error?s`<div class="elena-error" role="alert">${this.error}</div>`:""}`}}l("elena-input",a);export{a as default};
1
+ import{l as e,e as s,n as l}from"./elena-CDjBzzhm.js";const t={props:["size","disabled","name","value","type","label","error","placeholder"],events:["click","focus","blur"],element:".elena-input"};class a extends(e(HTMLElement,t)){constructor(){super(),this.size="md",this.disabled=!1,this.name="",this.label="",this.value="",this.placeholder="",this.type="text",this.error=""}render(){this.template`<label for="input">${this.label}</label><div class="elena-input-container"><span class="elena-input-start"></span> <input id="input" class="elena-input" type="${this.type}" value="${this.value}" placeholder="${this.placeholder}" ${this.name?`name="${this.name}"`:""} ${this.value?`value="${this.value}"`:""} ${this.disabled?"disabled":""}> <span class="elena-input-end"></span></div>${this.error?s`<div class="elena-error" role="alert">${this.error}</div>`:""}`}}l("elena-input",a);export{a as default};
2
2
  //# sourceMappingURL=input.js.map
package/dist/stack.js CHANGED
@@ -1,2 +1,2 @@
1
- import{l as e,n as s}from"./elena-f59Xc5oc.js";class t extends(e(HTMLElement)){constructor(){super()}}s("elena-stack",t);export{t as default};
1
+ import{l as e,n as s}from"./elena-CDjBzzhm.js";class t extends(e(HTMLElement)){constructor(){super()}}s("elena-stack",t);export{t as default};
2
2
  //# sourceMappingURL=stack.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elenajs/elements",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "An example Elena custom element library",
5
5
  "author": "Ariel Salminen <info@arielsalminen.com>",
6
6
  "main": "./dist/index.js",
@@ -33,7 +33,7 @@
33
33
  "analyze": "custom-elements-manifest analyze --config './elena.config.js'"
34
34
  },
35
35
  "dependencies": {
36
- "@elenajs/core": "^0.0.3"
36
+ "@elenajs/core": "^0.0.4"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@custom-elements-manifest/analyzer": "0.11.0",
@@ -46,5 +46,5 @@
46
46
  "rollup-plugin-minify-html-literals-v3": "^1.3.4",
47
47
  "rollup-plugin-summary": "3.0.1"
48
48
  },
49
- "gitHead": "ecee01a1000911557a1abe36b265aa9cd08e04a2"
49
+ "gitHead": "1128441ee6620bec259f704ef351e64c1344d514"
50
50
  }
@@ -1,2 +0,0 @@
1
- function e(e,t,n){if(t="boolean"===e&&"boolean"!=typeof t?null!==t:t,!n)return t;if("toAttribute"===n)switch(e){case"object":case"array":return null===t?null:JSON.stringify(t);case"boolean":return t?"":null;case"number":return null===t?null:t;default:return t}else switch(e){case"object":case"array":return t&&JSON.parse(t);case"boolean":default:return t;case"number":return null!==t?+t:t}}function t(e,t,n){e?null===n?e.removeAttribute(t):e.setAttribute(t,n):console.warn("░█ [ELENA]: Cannot sync attributes to a null element.")}let n,s=class extends Event{constructor(e,t){super(e,{bubbles:!0,composed:!0,...t})}};function r(e,t){"undefined"!=typeof window&&"customElements"in window&&(window.customElements.get(e)||window.customElements.define(e,t))}function i(e){const t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return String(e).replace(/[&<>"']/g,e=>t[e])}function o(e,...t){const n=e.reduce((e,n,s)=>e+n+i(String(t[s]??"")),"");return{__raw:!0,toString:()=>n}}function l(e,t,n){(function(e,t,n){if(e._tplStrings!==t||!e._tplParts)return!1;let s=!1;for(let t=0;t<n.length;t++){const r=n[t],o=r&&r.__raw,l=o?String(r):i(String(r??""));if(l!==e._tplValues[t])if(e._tplValues[t]=l,o)s=!0;else{const n=e._tplParts[t];n?n.textContent=String(r??""):s=!0}}return!s})(e,t,n)||function(e,t,n){const s=n.map(e=>e&&e.__raw?String(e):i(String(e??""))),r=t.reduce((e,t,n)=>e+t.replace(/\n\s*/g," ")+(s[n]??""),"").replace(/>\s+</g,"><").replace(/>\s+/g,">").replace(/\s+</g,"<").trim();a(e,r),e._tplStrings=t,e._tplValues=s,e._tplParts=function(e,t){const n=new Array(t.length),s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);let r,i=0;for(;(r=s.nextNode())&&i<t.length;)r.textContent===t[i]&&(n[i]=r,i++);return n}(e,s)}(e,t,n)}function a(e,t){e?e.replaceChildren((n??=document.createRange()).createContextualFragment(t)):console.warn("░█ [ELENA]: Cannot render to a null element.")}function c(n,r){const i=r&&r.element?/^[a-z][a-z0-9-]*$/i.test(r.element)?e=>e.getElementsByClassName(r.element)[0]:e=>e.querySelector(r.element):e=>e.firstElementChild;class o extends n{element=null;attributeChangedCallback(t,n,s){(function(t,n,s,r){if(s!==r){const s=e(typeof t[n],r,"toProp");t[n]=s}})(this,t,n,s),this.element&&n!==s&&this.render()}static get observedAttributes(){return r&&r.props?r.props:[]}render(){}template(e,...t){l(this,e,t)}connectedCallback(){if(this.render(),this.element||(this.element=i(this),this.element||(console.warn("░█ [ELENA]: No element found, using firstElementChild as fallback."),this.element=this.firstElementChild)),this._props)for(const[n,s]of this._props){const r=e(typeof s,s,"toAttribute");"string"==typeof s&&""===s?(this.removeAttribute(n),this.element.removeAttribute(n)):(t(this,n,r),t(this.element,n,r))}!this._events&&r&&r.events&&(this._events=!0,r.events?.forEach(e=>{this.element.addEventListener(e,this),this[e]=(...t)=>this.element[e](...t)})),this.updated()}updated(){this._hydrated||(this._hydrated=!0,this.classList.add("elena-hydrated"))}disconnectedCallback(){this._events&&(this._events=!1,r.events?.forEach(e=>{this.element?.removeEventListener(e,this)}))}handleEvent(e){r.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new s(e.type,{cancelable:!0})))}}return r&&r.props?.length&&function(n,s){for(const r of s)Object.defineProperty(n,r,{configurable:!0,enumerable:!0,get(){return this._props?this._props.get(r):void 0},set(n){if(this._props||(this._props=new Map),n===this._props.get(r))return;if(this._props.set(r,n),!this.isConnected)return;const s=e(typeof n,n,"toAttribute");t(this,r,s),this.element&&t(this.element,r,s)}})}(o.prototype,r.props),o}export{o as e,c as l,r as n};
2
- //# sourceMappingURL=elena-f59Xc5oc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"elena-f59Xc5oc.js","sources":["../../core/dist/props.js","../../core/dist/events.js","../../core/dist/render.js","../../core/dist/utils.js","../../core/dist/elena.js"],"sourcesContent":["function t(t,e,n){if(e=\"boolean\"===t&&\"boolean\"!=typeof e?null!==e:e,!n)return e;if(\"toAttribute\"===n)switch(t){case\"object\":case\"array\":return null===e?null:JSON.stringify(e);case\"boolean\":return e?\"\":null;case\"number\":return null===e?null:e;default:return e}else switch(t){case\"object\":case\"array\":return e&&JSON.parse(e);case\"boolean\":default:return e;case\"number\":return null!==e?+e:e}}function e(t,e,n){t?null===n?t.removeAttribute(e):t.setAttribute(e,n):console.warn(\"░█ [ELENA]: Cannot sync attributes to a null element.\")}function n(n,r){for(const o of r)Object.defineProperty(n,o,{configurable:!0,enumerable:!0,get(){return this._props?this._props.get(o):void 0},set(n){if(this._props||(this._props=new Map),n===this._props.get(o))return;if(this._props.set(o,n),!this.isConnected)return;const r=t(typeof n,n,\"toAttribute\");e(this,o,r),this.element&&e(this.element,o,r)}})}function r(e,n,r,o){if(r!==o){const r=t(typeof e[n],o,\"toProp\");e[n]=r}}export{t as getPropValue,r as getProps,n as setProps,e as syncAttribute};\n//# sourceMappingURL=props.js.map\n","class e extends Event{constructor(e,s){super(e,{bubbles:!0,composed:!0,...s})}}export{e as ElenaEvent};\n//# sourceMappingURL=events.js.map\n","import{escapeHtml as t}from\"./utils.js\";function e(e,n,l){(function(e,n,r){if(e._tplStrings!==n||!e._tplParts)return!1;let l=!1;for(let n=0;n<r.length;n++){const a=r[n],o=a&&a.__raw,c=o?String(a):t(String(a??\"\"));if(c!==e._tplValues[n])if(e._tplValues[n]=c,o)l=!0;else{const t=e._tplParts[n];t?t.textContent=String(a??\"\"):l=!0}}return!l})(e,n,l)||function(e,n,l){const a=l.map(e=>e&&e.__raw?String(e):t(String(e??\"\"))),o=n.reduce((t,e,n)=>t+e.replace(/\\n\\s*/g,\" \")+(a[n]??\"\"),\"\").replace(/>\\s+</g,\"><\").replace(/>\\s+/g,\">\").replace(/\\s+</g,\"<\").trim();r(e,o),e._tplStrings=n,e._tplValues=a,e._tplParts=function(t,e){const n=new Array(e.length),r=document.createTreeWalker(t,NodeFilter.SHOW_TEXT);let l,a=0;for(;(l=r.nextNode())&&a<e.length;)l.textContent===e[a]&&(n[a]=l,a++);return n}(e,a)}(e,n,l)}let n;function r(t,e){t?t.replaceChildren((n??=document.createRange()).createContextualFragment(e)):console.warn(\"░█ [ELENA]: Cannot render to a null element.\")}export{r as renderHtml,e as renderTemplate};\n//# sourceMappingURL=render.js.map\n","function n(n,t){\"undefined\"!=typeof window&&\"customElements\"in window&&(window.customElements.get(n)||window.customElements.define(n,t))}function t(n){const t={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"};return String(n).replace(/[&<>\"']/g,n=>t[n])}function e(n,...e){const o=n.reduce((n,o,i)=>n+o+t(String(e[i]??\"\")),\"\");return{__raw:!0,toString:()=>o}}export{n as defineElement,t as escapeHtml,e as html};\n//# sourceMappingURL=utils.js.map\n","import{setProps as e,getProps as t,getPropValue as s,syncAttribute as n}from\"./props.js\";import{ElenaEvent as i}from\"./events.js\";export{defineElement,html}from\"./utils.js\";import{renderTemplate as r}from\"./render.js\";function l(l,h){const o=h&&h.element?/^[a-z][a-z0-9-]*$/i.test(h.element)?e=>e.getElementsByClassName(h.element)[0]:e=>e.querySelector(h.element):e=>e.firstElementChild;class a extends l{element=null;attributeChangedCallback(e,s,n){t(this,e,s,n),this.element&&s!==n&&this.render()}static get observedAttributes(){return h&&h.props?h.props:[]}render(){}template(e,...t){r(this,e,t)}connectedCallback(){if(this.render(),this.element||(this.element=o(this),this.element||(console.warn(\"░█ [ELENA]: No element found, using firstElementChild as fallback.\"),this.element=this.firstElementChild)),this._props)for(const[e,t]of this._props){const i=s(typeof t,t,\"toAttribute\");\"string\"==typeof t&&\"\"===t?(this.removeAttribute(e),this.element.removeAttribute(e)):(n(this,e,i),n(this.element,e,i))}!this._events&&h&&h.events&&(this._events=!0,h.events?.forEach(e=>{this.element.addEventListener(e,this),this[e]=(...t)=>this.element[e](...t)})),this.updated()}updated(){this._hydrated||(this._hydrated=!0,this.classList.add(\"elena-hydrated\"))}disconnectedCallback(){this._events&&(this._events=!1,h.events?.forEach(e=>{this.element?.removeEventListener(e,this)}))}handleEvent(e){h.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new i(e.type,{cancelable:!0})))}}return h&&h.props?.length&&e(a.prototype,h.props),a}export{l as Elena};\n//# sourceMappingURL=elena.js.map\n"],"names":["t","e","n","JSON","stringify","parse","removeAttribute","setAttribute","console","warn","e$2","Event","constructor","s","super","bubbles","composed","window","customElements","get","define","String","replace","o","reduce","i","__raw","toString","l","r","_tplStrings","_tplParts","length","a","c","_tplValues","textContent","map","trim","Array","document","createTreeWalker","NodeFilter","SHOW_TEXT","nextNode","replaceChildren","createRange","createContextualFragment","h","element","test","getElementsByClassName","querySelector","firstElementChild","attributeChangedCallback","this","render","observedAttributes","props","template","connectedCallback","_props","_events","events","forEach","addEventListener","updated","_hydrated","classList","add","disconnectedCallback","removeEventListener","handleEvent","includes","type","stopPropagation","dispatchEvent","cancelable","Object","defineProperty","configurable","enumerable","set","Map","isConnected","prototype"],"mappings":"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"}