@elenajs/components 0.0.26 → 0.2.0
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/avatar.js +1 -1
- package/dist/bundle.js +1 -1
- package/dist/bundle.js.map +1 -1
- package/dist/button.js +1 -1
- package/dist/{elena-e73eqYug.js → elena-CDZJGWta.js} +2 -2
- package/dist/elena-CDZJGWta.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/input.js +1 -1
- package/dist/stack.js +1 -1
- package/package.json +3 -3
- package/dist/elena-e73eqYug.js.map +0 -1
package/dist/avatar.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{r as e,e as a,o as t}from"./elena-CDZJGWta.js";const n={props:["icon","state"],tagName:"elena-avatar",element:".elena-avatar"};class s extends(e(HTMLElement,n)){constructor(){super(),this.state="initial"}renderImage(){return a`<img class="elena-image" src="..">`}renderFallback(){return a`
|
|
2
2
|
${this.icon?a`<elena-icon name="${this.icon}"></elena-icon>`:a`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27 27"></svg>`}
|
|
3
3
|
`}render(){return a`<div class="elena-avatar">${"initial"!==this.state?this.renderImage():t} ${"loaded"!==this.state?this.renderFallback():t}</div>`}}s.define();export{s as default};
|
|
4
4
|
//# sourceMappingURL=avatar.js.map
|
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?null:t}else switch(e){case"object":case"array":if(!t)return t;try{return JSON.parse(t)}catch{return console.warn("░█ [ELENA]: Invalid JSON for prop, received: "+t),null}case"boolean":return t;case"number":return null!==t?+t:t;default:return 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=class extends Event{constructor(e,t){super(e,{bubbles:!0,composed:!0,...t})}};function s(e){const t={"&":"&","<":"<",">":">",'"':""","'":"'"};return String(e).replace(/[&<>"']/g,e=>t[e])}function
|
|
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":if(!t)return t;try{return JSON.parse(t)}catch{return console.warn("░█ [ELENA]: Invalid JSON for prop, received: "+t),null}case"boolean":return t;case"number":return null!==t?+t:t;default:return 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=class extends Event{constructor(e,t){super(e,{bubbles:!0,composed:!0,...t})}};function s(e){const t={"&":"&","<":"<",">":">",'"':""","'":"'"};return String(e).replace(/[&<>"']/g,e=>t[e])}function i(e,...t){const n=e.reduce((e,n,i)=>{const r=t[i];return e+n+(r&&r.__raw?String(r):s(String(r??"")))},"");return{__raw:!0,strings:e,values:t,toString:()=>n}}const r=new WeakMap;function l(e,t,n){(function(e,t,n){if(e._tplStrings!==t||!e._tplParts)return!1;let i=!1;for(let t=0;t<n.length;t++){const r=n[t],l=r&&r.__raw,a=l?String(r):s(String(r??""));if(a!==e._tplValues[t])if(e._tplValues[t]=a,l)i=!0;else{const n=e._tplParts[t];n?n.textContent=String(r??""):i=!0}}return!i})(e,t,n)||function(e,t,n){const i=n.map(e=>e&&e.__raw?String(e):s(String(e??"")));let l=r.get(t);l||(l=Array.from(t,e=>e.replace(/\n\s*/g," ")),r.set(t,l));const a=l.reduce((e,t,n)=>e+t+(i[n]??""),"").replace(/>\s+</g,"><").replace(/>\s+/g,">").replace(/\s+</g,"<").trim();(function(e,t){e?e.replaceChildren(e.ownerDocument.createRange().createContextualFragment(t)):console.warn("░█ [ELENA]: Cannot render to a null element.")})(e,a),e._tplStrings=t,e._tplValues=i,e._tplParts=function(e,t){const n=new Array(t.length),s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);let i,r=0;for(;(i=s.nextNode())&&r<t.length;)i.textContent===t[r]&&(n[r]=i,r++);return n}(e,i)}(e,t,n)}function a(s,i){const r=i&&i.element?/^[a-z][a-z0-9-]*$/i.test(i.element)?e=>e.getElementsByClassName(i.element)[0]:e=>e.querySelector(i.element):e=>e.firstElementChild;class a extends s{element=null;attributeChangedCallback(t,n,s){(function(t,n,s,i){if(s!==i){const s=e(typeof t[n],i,"toProp");t[n]=s}})(this,t,n,s),this._hydrated&&n!==s&&!this._isRendering&&(this._isRendering=!0,this._applyRender(),this._isRendering=!1)}static get observedAttributes(){return i&&i.props?i.props:[]}render(){}_applyRender(){const e=this.render();if(e&&e.strings){let t;if(this._lightDOM&&this.element&&(t=[...this.element.childNodes]),l(this,e.strings,e.values),t){const e=r(this);e!==this.element&&(this.element=e,this.element?.replaceChildren(...t))}}}connectedCallback(){const n=!!this.firstChild;if(n&&i&&i.element&&!this._lightDOM&&!this._hydrated&&(this._lightDOM=[...this.childNodes]),this._applyRender(),this.element||(this.element=r(this),this.element||(i&&i.element&&console.warn("░█ [ELENA]: No element found, using firstElementChild as fallback."),this.element=this.firstElementChild)),this._lightDOM&&this.element&&this.element.replaceChildren(...this._lightDOM),this._props){const n=!(!i||!i.element);for(const[s,i]of this._props){const r=e(typeof i,i,"toAttribute");t(this,s,r),n&&t(this.element,s,r)}}!this._events&&i&&i.events&&(this._events=!0,i.events?.forEach(e=>{this.element.addEventListener(e,this),this[e]=(...t)=>this.element[e](...t)})),this._childObserver||n||(this._childObserver=new MutationObserver(()=>{this._childObserver.disconnect(),this._childObserver=null,this._applyRender()}),this._childObserver.observe(this,{childList:!0})),this.updated()}updated(){this._hydrated||(this._hydrated=!0,this.classList.add("elena-hydrated"))}disconnectedCallback(){this._events&&(this._events=!1,i.events?.forEach(e=>{this.element?.removeEventListener(e,this)})),this._childObserver?.disconnect(),this._childObserver=null}handleEvent(e){i.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new n(e.type,{cancelable:!0})))}}return i&&i.props?.length&&function(n,s,i=!0){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),i&&this.element&&t(this.element,r,s)}})}(a.prototype,i.props,!(!i||!i.element)),i&&i.tagName&&(a._tagName=i.tagName),a.define=function(){this._tagName&&function(e,t){"undefined"!=typeof window&&"customElements"in window&&(window.customElements.get(e)||window.customElements.define(e,t))}(this._tagName,this)},a}const o={tagName:"elena-button",props:["variant","size","disabled","name","value","type"],events:["click","focus","blur"],element:".elena-button"};class c extends(a(HTMLElement,o)){constructor(){super(),this.variant="default",this.size="md",this.disabled=!1,this.name="",this.value="",this.type="button"}render(){return i`<button class="elena-button">${this.textContent.trim()}</button>`}}c.define();const h={tagName:"elena-input",props:["size","disabled","name","value","type","label","error","placeholder"],events:["click","focus","blur"],element:".elena-input"};class u extends(a(HTMLElement,h)){constructor(){super(),this.size="md",this.disabled=!1,this.name="",this.label="",this.value="",this.placeholder="",this.type="text",this.error=""}render(){return i`<label for="input">${this.label}</label><div class="elena-input-container"><span class="elena-input-start"></span> <input id="input" class="elena-input"> <span class="elena-input-end"></span></div>${this.error?i`<div class="elena-error" role="alert">${this.error}</div>`:""}`}}u.define();const d={tagName:"elena-stack",props:["direction"]};class p extends(a(HTMLElement,d)){constructor(){super(),this.direction="column"}}p.define();export{c as Button,u as Input,p as Stack};
|
|
2
2
|
//# sourceMappingURL=bundle.js.map
|
package/dist/bundle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sources":["../../core/dist/props.js","../../core/dist/events.js","../../core/dist/utils.js","../../core/dist/render.js","../../core/dist/elena.js","../src/button/button.js","../src/input/input.js","../src/stack/stack.js"],"sourcesContent":["function e(e,t,r){if(t=\"boolean\"===e&&\"boolean\"!=typeof t?null!==t:t,!r)return t;if(\"toAttribute\"===r)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\":if(!t)return t;try{return JSON.parse(t)}catch{return console.warn(\"░█ [ELENA]: Invalid JSON for prop, received: \"+t),null}case\"boolean\":return t;case\"number\":return null!==t?+t:t;default:return t}}function t(e,t,r){e?null===r?e.removeAttribute(t):e.setAttribute(t,r):console.warn(\"░█ [ELENA]: Cannot sync attributes to a null element.\")}function r(r,n,o=!0){for(const s of n)Object.defineProperty(r,s,{configurable:!0,enumerable:!0,get(){return this._props?this._props.get(s):void 0},set(r){if(this._props||(this._props=new Map),r===this._props.get(s))return;if(this._props.set(s,r),!this.isConnected)return;const n=e(typeof r,r,\"toAttribute\");t(this,s,n),o&&this.element&&t(this.element,s,n)}})}function n(t,r,n,o){if(n!==o){const n=e(typeof t[r],o,\"toProp\");t[r]=n}}export{e as getPropValue,n as getProps,r as setProps,t 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","function n(n,t){\"undefined\"!=typeof window&&\"customElements\"in window&&(window.customElements.get(n)||window.customElements.define(n,t))}function t(n){const t={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"};return String(n).replace(/[&<>\"']/g,n=>t[n])}function e(n,...e){const o=n.reduce((n,o,r)=>{const i=e[r];return n+o+(i&&i.__raw?String(i):t(String(i??\"\")))},\"\");return{__raw:!0,strings:n,values:e,toString:()=>o}}const o={__raw:!0,toString:()=>\"\"};export{n as defineElement,t as escapeHtml,e as html,o as nothing};\n//# sourceMappingURL=utils.js.map\n","import{escapeHtml as t}from\"./utils.js\";const e=new WeakMap;function n(n,l,o){(function(e,n,r){if(e._tplStrings!==n||!e._tplParts)return!1;let l=!1;for(let n=0;n<r.length;n++){const o=r[n],a=o&&o.__raw,c=a?String(o):t(String(o??\"\"));if(c!==e._tplValues[n])if(e._tplValues[n]=c,a)l=!0;else{const t=e._tplParts[n];t?t.textContent=String(o??\"\"):l=!0}}return!l})(n,l,o)||function(n,l,o){const a=o.map(e=>e&&e.__raw?String(e):t(String(e??\"\")));let c=e.get(l);c||(c=Array.from(l,t=>t.replace(/\\n\\s*/g,\" \")),e.set(l,c));const s=c.reduce((t,e,n)=>t+e+(a[n]??\"\"),\"\").replace(/>\\s+</g,\"><\").replace(/>\\s+/g,\">\").replace(/\\s+</g,\"<\").trim();r(n,s),n._tplStrings=l,n._tplValues=a,n._tplParts=function(t,e){const n=new Array(e.length),r=document.createTreeWalker(t,NodeFilter.SHOW_TEXT);let l,o=0;for(;(l=r.nextNode())&&o<e.length;)l.textContent===e[o]&&(n[o]=l,o++);return n}(n,a)}(n,l,o)}function r(t,e){t?t.replaceChildren(t.ownerDocument.createRange().createContextualFragment(e)):console.warn(\"░█ [ELENA]: Cannot render to a null element.\")}export{r as renderHtml,n as renderTemplate};\n//# sourceMappingURL=render.js.map\n","import{setProps as e,getProps as t,getPropValue as s,syncAttribute as i}from\"./props.js\";import{ElenaEvent as n}from\"./events.js\";import{defineElement as r}from\"./utils.js\";export{html,nothing}from\"./utils.js\";import{renderTemplate as h}from\"./render.js\";function l(l,a){const d=a&&a.element?/^[a-z][a-z0-9-]*$/i.test(a.element)?e=>e.getElementsByClassName(a.element)[0]:e=>e.querySelector(a.element):e=>e.firstElementChild;class o extends l{element=null;attributeChangedCallback(e,s,i){t(this,e,s,i),this._hydrated&&s!==i&&!this._isRendering&&(this._isRendering=!0,this._applyRender(),this._isRendering=!1)}static get observedAttributes(){return a&&a.props?a.props:[]}render(){}_applyRender(){const e=this.render();e&&e.strings&&h(this,e.strings,e.values)}connectedCallback(){if(this._applyRender(),this.element||(this.element=d(this),this.element||(a&&a.element&&console.warn(\"░█ [ELENA]: No element found, using firstElementChild as fallback.\"),this.element=this.firstElementChild)),this._props){const e=!(!a||!a.element);for(const[t,n]of this._props){const r=s(typeof n,n,\"toAttribute\");i(this,t,r),e&&i(this.element,t,r)}}!this._events&&a&&a.events&&(this._events=!0,a.events?.forEach(e=>{this.element.addEventListener(e,this),this[e]=(...t)=>this.element[e](...t)})),this._childObserver||(this._childObserver=new MutationObserver(()=>{this._childObserver.disconnect(),this._childObserver=null,this._applyRender()}),this._childObserver.observe(this,{childList:!0})),this.updated()}updated(){this._hydrated||(this._hydrated=!0,this.classList.add(\"elena-hydrated\"))}disconnectedCallback(){this._events&&(this._events=!1,a.events?.forEach(e=>{this.element?.removeEventListener(e,this)})),this._childObserver?.disconnect(),this._childObserver=null}handleEvent(e){a.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new n(e.type,{cancelable:!0})))}}return a&&a.props?.length&&e(o.prototype,a.props,!(!a||!a.element)),a&&a.tagName&&(o._tagName=a.tagName),o.define=function(){this._tagName&&r(this._tagName,this)},o}export{l as Elena};\n//# sourceMappingURL=elena.js.map\n","import { Elena, html } from \"@elenajs/core\";\n\nconst options = {\n tagName: \"elena-button\",\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 template.\n *\n * @internal\n */\n render() {\n const slottedContent = this.textContent.trim();\n\n return html`\n <button class=\"elena-button\">\n ${slottedContent}\n </button>\n `;\n }\n}\n\n/**\n * Register the web component\n */\nButton.define();\n","import { Elena, html } from \"@elenajs/core\";\n\nconst options = {\n tagName: \"elena-input\",\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 template.\n *\n * @internal\n */\n render() {\n return html`\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 />\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 web component\n */\nInput.define();\n","import { Elena } from \"@elenajs/core\";\n\nconst options = {\n tagName: \"elena-stack\",\n props: [\"direction\"],\n};\n\n/**\n * Stack component manages layout of immediate children\n * with optional spacing between each child.\n *\n * @displayName Stack\n * @slot - The stacked content\n * @status alpha\n */\nexport default class Stack extends Elena(HTMLElement, options) {\n constructor() {\n super();\n\n /**\n * The direction of the stack.\n *\n * @attribute\n * @type {\"column\" | \"row\"}\n */\n this.direction = \"column\";\n }\n}\n\n/**\n * Register the web component\n */\nStack.define();\n"],"names":["e","t","r","JSON","stringify","parse","console","warn","removeAttribute","setAttribute","e$2","Event","constructor","s","super","bubbles","composed","n","String","replace","o","reduce","i","__raw","strings","values","toString","WeakMap","l","_tplStrings","_tplParts","length","a","c","_tplValues","textContent","map","get","Array","from","set","trim","replaceChildren","ownerDocument","createRange","createContextualFragment","document","createTreeWalker","NodeFilter","SHOW_TEXT","nextNode","d","element","test","getElementsByClassName","querySelector","firstElementChild","attributeChangedCallback","this","_hydrated","_isRendering","_applyRender","observedAttributes","props","render","h","connectedCallback","_props","_events","events","forEach","addEventListener","_childObserver","MutationObserver","disconnect","observe","childList","updated","classList","add","disconnectedCallback","removeEventListener","handleEvent","includes","type","stopPropagation","dispatchEvent","cancelable","Object","defineProperty","configurable","enumerable","Map","isConnected","prototype","tagName","_tagName","define","window","customElements","options","Button","Elena","HTMLElement","variant","size","disabled","name","value","html","Input","label","placeholder","error","Stack","direction"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bundle.js","sources":["../../core/dist/props.js","../../core/dist/events.js","../../core/dist/utils.js","../../core/dist/render.js","../../core/dist/elena.js","../src/button/button.js","../src/input/input.js","../src/stack/stack.js"],"sourcesContent":["function e(e,t,r){if(t=\"boolean\"===e&&\"boolean\"!=typeof t?null!==t:t,!r)return t;if(\"toAttribute\"===r)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\":if(!t)return t;try{return JSON.parse(t)}catch{return console.warn(\"░█ [ELENA]: Invalid JSON for prop, received: \"+t),null}case\"boolean\":return t;case\"number\":return null!==t?+t:t;default:return t}}function t(e,t,r){e?null===r?e.removeAttribute(t):e.setAttribute(t,r):console.warn(\"░█ [ELENA]: Cannot sync attributes to a null element.\")}function r(r,n,o=!0){for(const s of n)Object.defineProperty(r,s,{configurable:!0,enumerable:!0,get(){return this._props?this._props.get(s):void 0},set(r){if(this._props||(this._props=new Map),r===this._props.get(s))return;if(this._props.set(s,r),!this.isConnected)return;const n=e(typeof r,r,\"toAttribute\");t(this,s,n),o&&this.element&&t(this.element,s,n)}})}function n(t,r,n,o){if(n!==o){const n=e(typeof t[r],o,\"toProp\");t[r]=n}}export{e as getPropValue,n as getProps,r as setProps,t 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","function n(n,t){\"undefined\"!=typeof window&&\"customElements\"in window&&(window.customElements.get(n)||window.customElements.define(n,t))}function t(n){const t={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"};return String(n).replace(/[&<>\"']/g,n=>t[n])}function e(n,...e){const o=n.reduce((n,o,r)=>{const i=e[r];return n+o+(i&&i.__raw?String(i):t(String(i??\"\")))},\"\");return{__raw:!0,strings:n,values:e,toString:()=>o}}const o={__raw:!0,toString:()=>\"\"};export{n as defineElement,t as escapeHtml,e as html,o as nothing};\n//# sourceMappingURL=utils.js.map\n","import{escapeHtml as t}from\"./utils.js\";const e=new WeakMap;function n(n,l,o){(function(e,n,r){if(e._tplStrings!==n||!e._tplParts)return!1;let l=!1;for(let n=0;n<r.length;n++){const o=r[n],a=o&&o.__raw,c=a?String(o):t(String(o??\"\"));if(c!==e._tplValues[n])if(e._tplValues[n]=c,a)l=!0;else{const t=e._tplParts[n];t?t.textContent=String(o??\"\"):l=!0}}return!l})(n,l,o)||function(n,l,o){const a=o.map(e=>e&&e.__raw?String(e):t(String(e??\"\")));let c=e.get(l);c||(c=Array.from(l,t=>t.replace(/\\n\\s*/g,\" \")),e.set(l,c));const s=c.reduce((t,e,n)=>t+e+(a[n]??\"\"),\"\").replace(/>\\s+</g,\"><\").replace(/>\\s+/g,\">\").replace(/\\s+</g,\"<\").trim();r(n,s),n._tplStrings=l,n._tplValues=a,n._tplParts=function(t,e){const n=new Array(e.length),r=document.createTreeWalker(t,NodeFilter.SHOW_TEXT);let l,o=0;for(;(l=r.nextNode())&&o<e.length;)l.textContent===e[o]&&(n[o]=l,o++);return n}(n,a)}(n,l,o)}function r(t,e){t?t.replaceChildren(t.ownerDocument.createRange().createContextualFragment(e)):console.warn(\"░█ [ELENA]: Cannot render to a null element.\")}export{r as renderHtml,n as renderTemplate};\n//# sourceMappingURL=render.js.map\n","import{setProps as e,getProps as t,getPropValue as s,syncAttribute as i}from\"./props.js\";import{ElenaEvent as n}from\"./events.js\";import{defineElement as h}from\"./utils.js\";export{html,nothing}from\"./utils.js\";import{renderTemplate as l}from\"./render.js\";function r(r,d){const a=d&&d.element?/^[a-z][a-z0-9-]*$/i.test(d.element)?e=>e.getElementsByClassName(d.element)[0]:e=>e.querySelector(d.element):e=>e.firstElementChild;class o extends r{element=null;attributeChangedCallback(e,s,i){t(this,e,s,i),this._hydrated&&s!==i&&!this._isRendering&&(this._isRendering=!0,this._applyRender(),this._isRendering=!1)}static get observedAttributes(){return d&&d.props?d.props:[]}render(){}_applyRender(){const e=this.render();if(e&&e.strings){let t;if(this._lightDOM&&this.element&&(t=[...this.element.childNodes]),l(this,e.strings,e.values),t){const e=a(this);e!==this.element&&(this.element=e,this.element?.replaceChildren(...t))}}}connectedCallback(){const e=!!this.firstChild;if(e&&d&&d.element&&!this._lightDOM&&!this._hydrated&&(this._lightDOM=[...this.childNodes]),this._applyRender(),this.element||(this.element=a(this),this.element||(d&&d.element&&console.warn(\"░█ [ELENA]: No element found, using firstElementChild as fallback.\"),this.element=this.firstElementChild)),this._lightDOM&&this.element&&this.element.replaceChildren(...this._lightDOM),this._props){const e=!(!d||!d.element);for(const[t,n]of this._props){const h=s(typeof n,n,\"toAttribute\");i(this,t,h),e&&i(this.element,t,h)}}!this._events&&d&&d.events&&(this._events=!0,d.events?.forEach(e=>{this.element.addEventListener(e,this),this[e]=(...t)=>this.element[e](...t)})),this._childObserver||e||(this._childObserver=new MutationObserver(()=>{this._childObserver.disconnect(),this._childObserver=null,this._applyRender()}),this._childObserver.observe(this,{childList:!0})),this.updated()}updated(){this._hydrated||(this._hydrated=!0,this.classList.add(\"elena-hydrated\"))}disconnectedCallback(){this._events&&(this._events=!1,d.events?.forEach(e=>{this.element?.removeEventListener(e,this)})),this._childObserver?.disconnect(),this._childObserver=null}handleEvent(e){d.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new n(e.type,{cancelable:!0})))}}return d&&d.props?.length&&e(o.prototype,d.props,!(!d||!d.element)),d&&d.tagName&&(o._tagName=d.tagName),o.define=function(){this._tagName&&h(this._tagName,this)},o}export{r as Elena};\n//# sourceMappingURL=elena.js.map\n","import { Elena, html } from \"@elenajs/core\";\n\nconst options = {\n tagName: \"elena-button\",\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 template.\n *\n * @internal\n */\n render() {\n const slottedContent = this.textContent.trim();\n\n return html`\n <button class=\"elena-button\">\n ${slottedContent}\n </button>\n `;\n }\n}\n\n/**\n * Register the web component\n */\nButton.define();\n","import { Elena, html } from \"@elenajs/core\";\n\nconst options = {\n tagName: \"elena-input\",\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 template.\n *\n * @internal\n */\n render() {\n return html`\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 />\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 web component\n */\nInput.define();\n","import { Elena } from \"@elenajs/core\";\n\nconst options = {\n tagName: \"elena-stack\",\n props: [\"direction\"],\n};\n\n/**\n * Stack component manages layout of immediate children\n * with optional spacing between each child.\n *\n * @displayName Stack\n * @slot - The stacked content\n * @status alpha\n */\nexport default class Stack extends Elena(HTMLElement, options) {\n constructor() {\n super();\n\n /**\n * The direction of the stack.\n *\n * @attribute\n * @type {\"column\" | \"row\"}\n */\n this.direction = \"column\";\n }\n}\n\n/**\n * Register the web component\n */\nStack.define();\n"],"names":["e","t","r","JSON","stringify","parse","console","warn","removeAttribute","setAttribute","e$2","Event","constructor","s","super","bubbles","composed","n","String","replace","o","reduce","i","__raw","strings","values","toString","WeakMap","l","_tplStrings","_tplParts","length","a","c","_tplValues","textContent","map","get","Array","from","set","trim","replaceChildren","ownerDocument","createRange","createContextualFragment","document","createTreeWalker","NodeFilter","SHOW_TEXT","nextNode","d","element","test","getElementsByClassName","querySelector","firstElementChild","attributeChangedCallback","this","_hydrated","_isRendering","_applyRender","observedAttributes","props","render","_lightDOM","childNodes","connectedCallback","firstChild","_props","h","_events","events","forEach","addEventListener","_childObserver","MutationObserver","disconnect","observe","childList","updated","classList","add","disconnectedCallback","removeEventListener","handleEvent","includes","type","stopPropagation","dispatchEvent","cancelable","Object","defineProperty","configurable","enumerable","Map","isConnected","prototype","tagName","_tagName","define","window","customElements","options","Button","Elena","HTMLElement","variant","size","disabled","name","value","html","Input","label","placeholder","error","Stack","direction"],"mappings":"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"}
|
package/dist/button.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{r as t,e}from"./elena-CDZJGWta.js";const n={tagName:"elena-button",props:["variant","size","disabled","name","value","type"],events:["click","focus","blur"],element:".elena-button"};class s extends(t(HTMLElement,n)){constructor(){super(),this.variant="default",this.size="md",this.disabled=!1,this.name="",this.value="",this.type="button"}render(){const t=this.textContent.trim();return e`<button class="elena-button">${t}</button>`}}s.define();export{s as default};
|
|
2
2
|
//# sourceMappingURL=button.js.map
|
|
@@ -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?null:t}else switch(e){case"object":case"array":if(!t)return t;try{return JSON.parse(t)}catch{return console.warn("░█ [ELENA]: Invalid JSON for prop, received: "+t),null}case"boolean":return t;case"number":return null!==t?+t:t;default:return 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=class extends Event{constructor(e,t){super(e,{bubbles:!0,composed:!0,...t})}};function s(e){const t={"&":"&","<":"<",">":">",'"':""","'":"'"};return String(e).replace(/[&<>"']/g,e=>t[e])}function r(e,...t){const n=e.reduce((e,n,r)=>{const i=t[r];return e+n+(i&&i.__raw?String(i):s(String(i??"")))},"");return{__raw:!0,strings:e,values:t,toString:()=>n}}const i={__raw:!0,toString:()=>""},l=new WeakMap;function o(e,t,n){(function(e,t,n){if(e._tplStrings!==t||!e._tplParts)return!1;let r=!1;for(let t=0;t<n.length;t++){const i=n[t],l=i&&i.__raw,o=l?String(i):s(String(i??""));if(o!==e._tplValues[t])if(e._tplValues[t]=o,l)r=!0;else{const n=e._tplParts[t];n?n.textContent=String(i??""):r=!0}}return!r})(e,t,n)||function(e,t,n){const r=n.map(e=>e&&e.__raw?String(e):s(String(e??"")));let i=l.get(t);i||(i=Array.from(t,e=>e.replace(/\n\s*/g," ")),l.set(t,i));const o=i.reduce((e,t,n)=>e+t+(r[n]??""),"").replace(/>\s+</g,"><").replace(/>\s+/g,">").replace(/\s+</g,"<").trim();(function(e,t){e?e.replaceChildren(e.ownerDocument.createRange().createContextualFragment(t)):console.warn("░█ [ELENA]: Cannot render to a null element.")})(e,o),e._tplStrings=t,e._tplValues=r,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,r)}(e,t,n)}function a(s,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 l extends s{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._hydrated&&n!==s&&!this._isRendering&&(this._isRendering=!0,this._applyRender(),this._isRendering=!1)}static get observedAttributes(){return r&&r.props?r.props:[]}render(){}_applyRender(){const e=this.render();e&&e.strings&&o(this,e.strings,e.values)}connectedCallback(){if(this._applyRender(),this.element||(this.element=i(this),this.element||(r&&r.element&&console.warn("░█ [ELENA]: No element found, using firstElementChild as fallback."),this.element=this.firstElementChild)),this._props){const n=!(!r||!r.element);for(const[s,r]of this._props){const i=e(typeof r,r,"toAttribute");t(this,s,i),n&&t(this.element,s,i)}}!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._childObserver||(this._childObserver=new MutationObserver(()=>{this._childObserver.disconnect(),this._childObserver=null,this._applyRender()}),this._childObserver.observe(this,{childList:!0})),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)})),this._childObserver?.disconnect(),this._childObserver=null}handleEvent(e){r.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new n(e.type,{cancelable:!0})))}}return r&&r.props?.length&&function(n,s,r=!0){for(const i of s)Object.defineProperty(n,i,{configurable:!0,enumerable:!0,get(){return this._props?this._props.get(i):void 0},set(n){if(this._props||(this._props=new Map),n===this._props.get(i))return;if(this._props.set(i,n),!this.isConnected)return;const s=e(typeof n,n,"toAttribute");t(this,i,s),r&&this.element&&t(this.element,i,s)}})}(l.prototype,r.props,!(!r||!r.element)),r&&r.tagName&&(l._tagName=r.tagName),l.define=function(){this._tagName&&function(e,t){"undefined"!=typeof window&&"customElements"in window&&(window.customElements.get(e)||window.customElements.define(e,t))}(this._tagName,this)},l}export{r as e,
|
|
2
|
-
//# sourceMappingURL=elena-
|
|
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":if(!t)return t;try{return JSON.parse(t)}catch{return console.warn("░█ [ELENA]: Invalid JSON for prop, received: "+t),null}case"boolean":return t;case"number":return null!==t?+t:t;default:return 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=class extends Event{constructor(e,t){super(e,{bubbles:!0,composed:!0,...t})}};function s(e){const t={"&":"&","<":"<",">":">",'"':""","'":"'"};return String(e).replace(/[&<>"']/g,e=>t[e])}function r(e,...t){const n=e.reduce((e,n,r)=>{const i=t[r];return e+n+(i&&i.__raw?String(i):s(String(i??"")))},"");return{__raw:!0,strings:e,values:t,toString:()=>n}}const i={__raw:!0,toString:()=>""},l=new WeakMap;function o(e,t,n){(function(e,t,n){if(e._tplStrings!==t||!e._tplParts)return!1;let r=!1;for(let t=0;t<n.length;t++){const i=n[t],l=i&&i.__raw,o=l?String(i):s(String(i??""));if(o!==e._tplValues[t])if(e._tplValues[t]=o,l)r=!0;else{const n=e._tplParts[t];n?n.textContent=String(i??""):r=!0}}return!r})(e,t,n)||function(e,t,n){const r=n.map(e=>e&&e.__raw?String(e):s(String(e??"")));let i=l.get(t);i||(i=Array.from(t,e=>e.replace(/\n\s*/g," ")),l.set(t,i));const o=i.reduce((e,t,n)=>e+t+(r[n]??""),"").replace(/>\s+</g,"><").replace(/>\s+/g,">").replace(/\s+</g,"<").trim();(function(e,t){e?e.replaceChildren(e.ownerDocument.createRange().createContextualFragment(t)):console.warn("░█ [ELENA]: Cannot render to a null element.")})(e,o),e._tplStrings=t,e._tplValues=r,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,r)}(e,t,n)}function a(s,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 l extends s{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._hydrated&&n!==s&&!this._isRendering&&(this._isRendering=!0,this._applyRender(),this._isRendering=!1)}static get observedAttributes(){return r&&r.props?r.props:[]}render(){}_applyRender(){const e=this.render();if(e&&e.strings){let t;if(this._lightDOM&&this.element&&(t=[...this.element.childNodes]),o(this,e.strings,e.values),t){const e=i(this);e!==this.element&&(this.element=e,this.element?.replaceChildren(...t))}}}connectedCallback(){const n=!!this.firstChild;if(n&&r&&r.element&&!this._lightDOM&&!this._hydrated&&(this._lightDOM=[...this.childNodes]),this._applyRender(),this.element||(this.element=i(this),this.element||(r&&r.element&&console.warn("░█ [ELENA]: No element found, using firstElementChild as fallback."),this.element=this.firstElementChild)),this._lightDOM&&this.element&&this.element.replaceChildren(...this._lightDOM),this._props){const n=!(!r||!r.element);for(const[s,r]of this._props){const i=e(typeof r,r,"toAttribute");t(this,s,i),n&&t(this.element,s,i)}}!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._childObserver||n||(this._childObserver=new MutationObserver(()=>{this._childObserver.disconnect(),this._childObserver=null,this._applyRender()}),this._childObserver.observe(this,{childList:!0})),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)})),this._childObserver?.disconnect(),this._childObserver=null}handleEvent(e){r.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new n(e.type,{cancelable:!0})))}}return r&&r.props?.length&&function(n,s,r=!0){for(const i of s)Object.defineProperty(n,i,{configurable:!0,enumerable:!0,get(){return this._props?this._props.get(i):void 0},set(n){if(this._props||(this._props=new Map),n===this._props.get(i))return;if(this._props.set(i,n),!this.isConnected)return;const s=e(typeof n,n,"toAttribute");t(this,i,s),r&&this.element&&t(this.element,i,s)}})}(l.prototype,r.props,!(!r||!r.element)),r&&r.tagName&&(l._tagName=r.tagName),l.define=function(){this._tagName&&function(e,t){"undefined"!=typeof window&&"customElements"in window&&(window.customElements.get(e)||window.customElements.define(e,t))}(this._tagName,this)},l}export{r as e,i as o,a as r};
|
|
2
|
+
//# sourceMappingURL=elena-CDZJGWta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elena-CDZJGWta.js","sources":["../../core/dist/props.js","../../core/dist/events.js","../../core/dist/utils.js","../../core/dist/render.js","../../core/dist/elena.js"],"sourcesContent":["function e(e,t,r){if(t=\"boolean\"===e&&\"boolean\"!=typeof t?null!==t:t,!r)return t;if(\"toAttribute\"===r)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\":if(!t)return t;try{return JSON.parse(t)}catch{return console.warn(\"░█ [ELENA]: Invalid JSON for prop, received: \"+t),null}case\"boolean\":return t;case\"number\":return null!==t?+t:t;default:return t}}function t(e,t,r){e?null===r?e.removeAttribute(t):e.setAttribute(t,r):console.warn(\"░█ [ELENA]: Cannot sync attributes to a null element.\")}function r(r,n,o=!0){for(const s of n)Object.defineProperty(r,s,{configurable:!0,enumerable:!0,get(){return this._props?this._props.get(s):void 0},set(r){if(this._props||(this._props=new Map),r===this._props.get(s))return;if(this._props.set(s,r),!this.isConnected)return;const n=e(typeof r,r,\"toAttribute\");t(this,s,n),o&&this.element&&t(this.element,s,n)}})}function n(t,r,n,o){if(n!==o){const n=e(typeof t[r],o,\"toProp\");t[r]=n}}export{e as getPropValue,n as getProps,r as setProps,t 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","function n(n,t){\"undefined\"!=typeof window&&\"customElements\"in window&&(window.customElements.get(n)||window.customElements.define(n,t))}function t(n){const t={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"};return String(n).replace(/[&<>\"']/g,n=>t[n])}function e(n,...e){const o=n.reduce((n,o,r)=>{const i=e[r];return n+o+(i&&i.__raw?String(i):t(String(i??\"\")))},\"\");return{__raw:!0,strings:n,values:e,toString:()=>o}}const o={__raw:!0,toString:()=>\"\"};export{n as defineElement,t as escapeHtml,e as html,o as nothing};\n//# sourceMappingURL=utils.js.map\n","import{escapeHtml as t}from\"./utils.js\";const e=new WeakMap;function n(n,l,o){(function(e,n,r){if(e._tplStrings!==n||!e._tplParts)return!1;let l=!1;for(let n=0;n<r.length;n++){const o=r[n],a=o&&o.__raw,c=a?String(o):t(String(o??\"\"));if(c!==e._tplValues[n])if(e._tplValues[n]=c,a)l=!0;else{const t=e._tplParts[n];t?t.textContent=String(o??\"\"):l=!0}}return!l})(n,l,o)||function(n,l,o){const a=o.map(e=>e&&e.__raw?String(e):t(String(e??\"\")));let c=e.get(l);c||(c=Array.from(l,t=>t.replace(/\\n\\s*/g,\" \")),e.set(l,c));const s=c.reduce((t,e,n)=>t+e+(a[n]??\"\"),\"\").replace(/>\\s+</g,\"><\").replace(/>\\s+/g,\">\").replace(/\\s+</g,\"<\").trim();r(n,s),n._tplStrings=l,n._tplValues=a,n._tplParts=function(t,e){const n=new Array(e.length),r=document.createTreeWalker(t,NodeFilter.SHOW_TEXT);let l,o=0;for(;(l=r.nextNode())&&o<e.length;)l.textContent===e[o]&&(n[o]=l,o++);return n}(n,a)}(n,l,o)}function r(t,e){t?t.replaceChildren(t.ownerDocument.createRange().createContextualFragment(e)):console.warn(\"░█ [ELENA]: Cannot render to a null element.\")}export{r as renderHtml,n as renderTemplate};\n//# sourceMappingURL=render.js.map\n","import{setProps as e,getProps as t,getPropValue as s,syncAttribute as i}from\"./props.js\";import{ElenaEvent as n}from\"./events.js\";import{defineElement as h}from\"./utils.js\";export{html,nothing}from\"./utils.js\";import{renderTemplate as l}from\"./render.js\";function r(r,d){const a=d&&d.element?/^[a-z][a-z0-9-]*$/i.test(d.element)?e=>e.getElementsByClassName(d.element)[0]:e=>e.querySelector(d.element):e=>e.firstElementChild;class o extends r{element=null;attributeChangedCallback(e,s,i){t(this,e,s,i),this._hydrated&&s!==i&&!this._isRendering&&(this._isRendering=!0,this._applyRender(),this._isRendering=!1)}static get observedAttributes(){return d&&d.props?d.props:[]}render(){}_applyRender(){const e=this.render();if(e&&e.strings){let t;if(this._lightDOM&&this.element&&(t=[...this.element.childNodes]),l(this,e.strings,e.values),t){const e=a(this);e!==this.element&&(this.element=e,this.element?.replaceChildren(...t))}}}connectedCallback(){const e=!!this.firstChild;if(e&&d&&d.element&&!this._lightDOM&&!this._hydrated&&(this._lightDOM=[...this.childNodes]),this._applyRender(),this.element||(this.element=a(this),this.element||(d&&d.element&&console.warn(\"░█ [ELENA]: No element found, using firstElementChild as fallback.\"),this.element=this.firstElementChild)),this._lightDOM&&this.element&&this.element.replaceChildren(...this._lightDOM),this._props){const e=!(!d||!d.element);for(const[t,n]of this._props){const h=s(typeof n,n,\"toAttribute\");i(this,t,h),e&&i(this.element,t,h)}}!this._events&&d&&d.events&&(this._events=!0,d.events?.forEach(e=>{this.element.addEventListener(e,this),this[e]=(...t)=>this.element[e](...t)})),this._childObserver||e||(this._childObserver=new MutationObserver(()=>{this._childObserver.disconnect(),this._childObserver=null,this._applyRender()}),this._childObserver.observe(this,{childList:!0})),this.updated()}updated(){this._hydrated||(this._hydrated=!0,this.classList.add(\"elena-hydrated\"))}disconnectedCallback(){this._events&&(this._events=!1,d.events?.forEach(e=>{this.element?.removeEventListener(e,this)})),this._childObserver?.disconnect(),this._childObserver=null}handleEvent(e){d.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new n(e.type,{cancelable:!0})))}}return d&&d.props?.length&&e(o.prototype,d.props,!(!d||!d.element)),d&&d.tagName&&(o._tagName=d.tagName),o.define=function(){this._tagName&&h(this._tagName,this)},o}export{r as Elena};\n//# sourceMappingURL=elena.js.map\n"],"names":["e","t","r","JSON","stringify","parse","console","warn","removeAttribute","setAttribute","e$2","Event","constructor","s","super","bubbles","composed","n","String","replace","o","reduce","i","__raw","strings","values","toString","WeakMap","l","_tplStrings","_tplParts","length","a","c","_tplValues","textContent","map","get","Array","from","set","trim","replaceChildren","ownerDocument","createRange","createContextualFragment","document","createTreeWalker","NodeFilter","SHOW_TEXT","nextNode","d","element","test","getElementsByClassName","querySelector","firstElementChild","attributeChangedCallback","this","_hydrated","_isRendering","_applyRender","observedAttributes","props","render","_lightDOM","childNodes","connectedCallback","firstChild","_props","h","_events","events","forEach","addEventListener","_childObserver","MutationObserver","disconnect","observe","childList","updated","classList","add","disconnectedCallback","removeEventListener","handleEvent","includes","type","stopPropagation","dispatchEvent","cancelable","Object","defineProperty","configurable","enumerable","Map","isConnected","prototype","tagName","_tagName","define","window","customElements"],"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-
|
|
1
|
+
export{default as Button}from"./button.js";export{default as Input}from"./input.js";export{default as Stack}from"./stack.js";import"./elena-CDZJGWta.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/input.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{r as e,e as s}from"./elena-CDZJGWta.js";const t={tagName:"elena-input",props:["size","disabled","name","value","type","label","error","placeholder"],events:["click","focus","blur"],element:".elena-input"};class l 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(){return s`<label for="input">${this.label}</label><div class="elena-input-container"><span class="elena-input-start"></span> <input id="input" class="elena-input"> <span class="elena-input-end"></span></div>${this.error?s`<div class="elena-error" role="alert">${this.error}</div>`:""}`}}l.define();export{l as default};
|
|
2
2
|
//# sourceMappingURL=input.js.map
|
package/dist/stack.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{r as e}from"./elena-CDZJGWta.js";const t={tagName:"elena-stack",props:["direction"]};class s extends(e(HTMLElement,t)){constructor(){super(),this.direction="column"}}s.define();export{s as default};
|
|
2
2
|
//# sourceMappingURL=stack.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elenajs/components",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Elena component library demonstrating how to build progressive web components.",
|
|
5
5
|
"author": "Elena <hi@elenajs.com>",
|
|
6
6
|
"homepage": "https://elenajs.com/",
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
"clean": "rm -rf dist/"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@elenajs/core": "^0.
|
|
36
|
+
"@elenajs/core": "^0.3.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@elenajs/bundler": "^0.0.8",
|
|
40
40
|
"@web/dev-server": "0.4.6"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "290fc9aed54d50424fd11e07a0e610a68dd45375"
|
|
43
43
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"elena-e73eqYug.js","sources":["../../core/dist/props.js","../../core/dist/events.js","../../core/dist/utils.js","../../core/dist/render.js","../../core/dist/elena.js"],"sourcesContent":["function e(e,t,r){if(t=\"boolean\"===e&&\"boolean\"!=typeof t?null!==t:t,!r)return t;if(\"toAttribute\"===r)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\":if(!t)return t;try{return JSON.parse(t)}catch{return console.warn(\"░█ [ELENA]: Invalid JSON for prop, received: \"+t),null}case\"boolean\":return t;case\"number\":return null!==t?+t:t;default:return t}}function t(e,t,r){e?null===r?e.removeAttribute(t):e.setAttribute(t,r):console.warn(\"░█ [ELENA]: Cannot sync attributes to a null element.\")}function r(r,n,o=!0){for(const s of n)Object.defineProperty(r,s,{configurable:!0,enumerable:!0,get(){return this._props?this._props.get(s):void 0},set(r){if(this._props||(this._props=new Map),r===this._props.get(s))return;if(this._props.set(s,r),!this.isConnected)return;const n=e(typeof r,r,\"toAttribute\");t(this,s,n),o&&this.element&&t(this.element,s,n)}})}function n(t,r,n,o){if(n!==o){const n=e(typeof t[r],o,\"toProp\");t[r]=n}}export{e as getPropValue,n as getProps,r as setProps,t 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","function n(n,t){\"undefined\"!=typeof window&&\"customElements\"in window&&(window.customElements.get(n)||window.customElements.define(n,t))}function t(n){const t={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"};return String(n).replace(/[&<>\"']/g,n=>t[n])}function e(n,...e){const o=n.reduce((n,o,r)=>{const i=e[r];return n+o+(i&&i.__raw?String(i):t(String(i??\"\")))},\"\");return{__raw:!0,strings:n,values:e,toString:()=>o}}const o={__raw:!0,toString:()=>\"\"};export{n as defineElement,t as escapeHtml,e as html,o as nothing};\n//# sourceMappingURL=utils.js.map\n","import{escapeHtml as t}from\"./utils.js\";const e=new WeakMap;function n(n,l,o){(function(e,n,r){if(e._tplStrings!==n||!e._tplParts)return!1;let l=!1;for(let n=0;n<r.length;n++){const o=r[n],a=o&&o.__raw,c=a?String(o):t(String(o??\"\"));if(c!==e._tplValues[n])if(e._tplValues[n]=c,a)l=!0;else{const t=e._tplParts[n];t?t.textContent=String(o??\"\"):l=!0}}return!l})(n,l,o)||function(n,l,o){const a=o.map(e=>e&&e.__raw?String(e):t(String(e??\"\")));let c=e.get(l);c||(c=Array.from(l,t=>t.replace(/\\n\\s*/g,\" \")),e.set(l,c));const s=c.reduce((t,e,n)=>t+e+(a[n]??\"\"),\"\").replace(/>\\s+</g,\"><\").replace(/>\\s+/g,\">\").replace(/\\s+</g,\"<\").trim();r(n,s),n._tplStrings=l,n._tplValues=a,n._tplParts=function(t,e){const n=new Array(e.length),r=document.createTreeWalker(t,NodeFilter.SHOW_TEXT);let l,o=0;for(;(l=r.nextNode())&&o<e.length;)l.textContent===e[o]&&(n[o]=l,o++);return n}(n,a)}(n,l,o)}function r(t,e){t?t.replaceChildren(t.ownerDocument.createRange().createContextualFragment(e)):console.warn(\"░█ [ELENA]: Cannot render to a null element.\")}export{r as renderHtml,n as renderTemplate};\n//# sourceMappingURL=render.js.map\n","import{setProps as e,getProps as t,getPropValue as s,syncAttribute as i}from\"./props.js\";import{ElenaEvent as n}from\"./events.js\";import{defineElement as r}from\"./utils.js\";export{html,nothing}from\"./utils.js\";import{renderTemplate as h}from\"./render.js\";function l(l,a){const d=a&&a.element?/^[a-z][a-z0-9-]*$/i.test(a.element)?e=>e.getElementsByClassName(a.element)[0]:e=>e.querySelector(a.element):e=>e.firstElementChild;class o extends l{element=null;attributeChangedCallback(e,s,i){t(this,e,s,i),this._hydrated&&s!==i&&!this._isRendering&&(this._isRendering=!0,this._applyRender(),this._isRendering=!1)}static get observedAttributes(){return a&&a.props?a.props:[]}render(){}_applyRender(){const e=this.render();e&&e.strings&&h(this,e.strings,e.values)}connectedCallback(){if(this._applyRender(),this.element||(this.element=d(this),this.element||(a&&a.element&&console.warn(\"░█ [ELENA]: No element found, using firstElementChild as fallback.\"),this.element=this.firstElementChild)),this._props){const e=!(!a||!a.element);for(const[t,n]of this._props){const r=s(typeof n,n,\"toAttribute\");i(this,t,r),e&&i(this.element,t,r)}}!this._events&&a&&a.events&&(this._events=!0,a.events?.forEach(e=>{this.element.addEventListener(e,this),this[e]=(...t)=>this.element[e](...t)})),this._childObserver||(this._childObserver=new MutationObserver(()=>{this._childObserver.disconnect(),this._childObserver=null,this._applyRender()}),this._childObserver.observe(this,{childList:!0})),this.updated()}updated(){this._hydrated||(this._hydrated=!0,this.classList.add(\"elena-hydrated\"))}disconnectedCallback(){this._events&&(this._events=!1,a.events?.forEach(e=>{this.element?.removeEventListener(e,this)})),this._childObserver?.disconnect(),this._childObserver=null}handleEvent(e){a.events?.includes(e.type)&&(e.stopPropagation(),this.dispatchEvent(new n(e.type,{cancelable:!0})))}}return a&&a.props?.length&&e(o.prototype,a.props,!(!a||!a.element)),a&&a.tagName&&(o._tagName=a.tagName),o.define=function(){this._tagName&&r(this._tagName,this)},o}export{l as Elena};\n//# sourceMappingURL=elena.js.map\n"],"names":["e","t","r","JSON","stringify","parse","console","warn","removeAttribute","setAttribute","e$2","Event","constructor","s","super","bubbles","composed","n","String","replace","o","reduce","i","__raw","strings","values","toString","WeakMap","l","_tplStrings","_tplParts","length","a","c","_tplValues","textContent","map","get","Array","from","set","trim","replaceChildren","ownerDocument","createRange","createContextualFragment","document","createTreeWalker","NodeFilter","SHOW_TEXT","nextNode","d","element","test","getElementsByClassName","querySelector","firstElementChild","attributeChangedCallback","this","_hydrated","_isRendering","_applyRender","observedAttributes","props","render","h","connectedCallback","_props","_events","events","forEach","addEventListener","_childObserver","MutationObserver","disconnect","observe","childList","updated","classList","add","disconnectedCallback","removeEventListener","handleEvent","includes","type","stopPropagation","dispatchEvent","cancelable","Object","defineProperty","configurable","enumerable","Map","isConnected","prototype","tagName","_tagName","define","window","customElements"],"mappings":"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"}
|