hyper-element 0.12.1 → 1.0.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/README.md CHANGED
@@ -521,7 +521,7 @@ Being able to set attributes at run-time should be the same for dealing with a n
521
521
 
522
522
  **⚠ To support dynamic attributes on custom elements YOU MUST USE `customElements.define` which requires native ES6 support! Use `/build/hyperElement.min.js`.**
523
523
 
524
- This is what allows for the passing any dynamic attributes from parent to child custom element! You can also pass a `function` to a child element (that extends hyperElement).
524
+ This is what allows for the passing any dynamic attributes from parent to child custom element! You can also pass a `function`, `boolean`, `number`, or `object` to a child element (that extends hyperElement).
525
525
 
526
526
  **Example:**
527
527
 
@@ -0,0 +1,2 @@
1
+ (function(x){window.hyperElement=x(window.hyperHTML)})(function(x){const E=/<+\w+[-]+\w/,O={},N={};function B(){for(var e="",t="bcdfghjklmnpqrstvwxyz",s=0;s<15;s++)e+=t.charAt(Math.floor(Math.random()*t.length));return e}function C(e){return typeof e!="string"?e:e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}const T=Symbol("safeHtml");function W(e){return{[T]:!0,value:e}}function H(e){return e&&e[T]===!0}function z(e,t){if(e==="template"&&t==="")return!0;if(+t+""===t.trim())return+t;const s=t.toLowerCase().trim();return s==="true"?!0:s==="false"?!1:s[0]==="["&&s.slice(-1)==="]"||s[0]==="{"&&s.slice(-1)==="}"?JSON.parse(t):t}function I(e){return typeof e=="function"?I(e()):typeof e=="string"?C(e):typeof e=="number"||typeof e=="boolean"?String(e):Array.isArray(e)?C(e.join(", ")):e!==null&&typeof e=="object"?C(JSON.stringify(e)):""}function U(e,t){let s=e;const r=/\{\+each\s+(\w+)\}([\s\S]*?)\{-each\}/g;s=s.replace(r,(a,c,l)=>{const f=t[c];return Array.isArray(f)?f.map((u,d)=>{let h=l;return h=h.replace(/\{@\}/g,d),h=h.replace(/\{\s*\.\.\.\s*\}/g,I(u)),typeof u=="object"&&u!==null&&Object.keys(u).forEach(b=>{h=h.replace(new RegExp("\\{"+b+"\\}","g"),C(String(u[b])))}),h}).join(""):""});const i=/\{\+if\s+(\w+)\}([\s\S]*?)\{else\}([\s\S]*?)\{-if\}/g;s=s.replace(i,(a,c,l,f)=>t[c]?l:f);const n=/\{\+if\s+(\w+)\}([\s\S]*?)\{-if\}/g;s=s.replace(n,(a,c,l)=>t[c]?l:"");const o=/\{\+unless\s+(\w+)\}([\s\S]*?)\{-unless\}/g;return s=s.replace(o,(a,c,l)=>t[c]?"":l),s}function _(e){if(/\{\+(if|each|unless)\s/.test(e))return function(o){if(typeof o!="object")throw new Error("Templates must be passed an object. You passed "+JSON.stringify(o));let a=U(e,o);return a=a.replace(/\{(\w+)\}/g,(c,l)=>o[l]!=null?C(String(o[l])):""),{html:a}};const s=/(\{[\w]+\})/g,r=e.split(s).reduce((n,o)=>(o[0]==="{"&&o.slice(-1)==="}"?n.keys.push(o.slice(1,-1)):n.markup.push(o),n),{markup:[],keys:[]});r.id=":"+r.markup.join().trim();function i(n){const o=[r.markup,...r.keys.map(a=>n[a])];return o.raw={value:r.markup},o}return function(o){if(typeof o!="object")throw new Error("Templates must be passed an object to be populated with. You passed "+JSON.stringify(o)+" to "+r.id);return x.wire(o,r.id)(...i(o))}}function P(e,t){const s=t.replace(/-([a-z])/g,r=>r[1].toUpperCase());Object.defineProperty(e,s,{enumerable:!0,configurable:!0,get:()=>z(s,this.dataset[s]),set:r=>{O[this.identifier].attrsToIgnore["data-"+t]=!0,typeof r=="string"?this.dataset[s]=r:this.dataset[s]=JSON.stringify(r)}})}function Z(){const e={};return Object.keys(this.dataset).forEach(t=>P.call(this,e,t.replace(/([A-Z])/g,s=>`-${s[0].toLowerCase()}`))),e}function q(e){const t={};for(let s=0;s<e.length;s++){const{value:r,name:i}=e[s];if(i==="template"&&!r){const n=O[this.identifier];n.Html.template=_(n.innerHTML),t[i]=!0}else(r.substr(0,3)==="fn-"||r.substr(0,3)==="ob-")&&N[r.substr(3)]&&N[r.substr(3)].localName===this.localName?t[i]=N[r.substr(3)].val:+r+""===(r+"").trim()?t[i]=+r:t[i]=r}return t}function Y(e){return e.some(t=>t.includes("{+each ")||t.includes("{+each{")||t.includes("{+if ")||t.includes("{+unless "))}function R(e,t){return t.split(".").reduce((s,r)=>s?.[r],e)}function $(e){const t=/\{(@|\s*\.\.\.\s*|\w+(?:\.\w+)*)\}/g,s=[],r=[];let i=0,n;for(;(n=t.exec(e))!==null;)s.push(e.substring(i,n.index)),r.push(n[1]),i=t.lastIndex;return s.push(e.substring(i)),{parts:s,props:r}}function F(e,t,s,r,i){let n=1;for(let o=t;o<e.length;o++){const a=e[o];let c=o===t?s:0;for(;c<a.length;){const l=a.indexOf(r,c),f=a.indexOf(i,c);if(f!==-1&&(l===-1||f<l)){if(--n===0)return{endIdx:o,endPos:f};c=f+i.length}else if(l!==-1)n++,c=l+r.length;else break}}throw new Error(`Unclosed ${r}} block. Missing ${i}.`)}function j(e){const t=[...e];return t.raw=[...e],t}const J=new WeakMap;function M(e,t,s){if(e!==null&&typeof e=="object")return e;let r=J.get(s);return r||(r={},J.set(s,r)),r[t]||(r[t]={_value:e,_index:t}),r[t]._value=e,r[t]}function v(e,t,s){return e==="@"?s:e.trim()==="..."?t:R(t,e)}function D(e,t,s,r,i){const n=/\{\+each\s*\{(\w+(?:\.\w+)*)\}\}([\s\S]*?)\{-each\}/g,o=n.test(e);if(n.lastIndex=0,o){const f=[];let u=e,d;for(;(d=n.exec(e))!==null;){const[y,w,S]=d,p=R(t,w);if(!Array.isArray(p)){u=u.replace(y,"");continue}const k=p.map((et,rt)=>D(S.trim(),et,rt,p,i));u=u.replace(y,`__NESTED_${f.length}__`),f.push(k)}const{parts:h,props:b}=$(u),g=[],A=[];let m=0;for(let y=0;y<h.length;y++){let w=h[y],S;for(;S=w.match(/__NESTED_(\d+)__/);){const[p,k]=w.split(S[0]);g.push(p),A.push(f[parseInt(S[1],10)]),w=k||""}g.push(w),y<b.length&&A.push(v(b[m++],t,s))}return i(M(t,s,r),JSON.stringify(g))(j(g),...A)}const{parts:a,props:c}=$(e);if(c.length===0)return i(M(t,s,r),JSON.stringify([e]))(j([e]));const l=c.map(f=>v(f,t,s));return i(M(t,s,r),JSON.stringify(a))(j(a),...l)}function L(e){const t=[{type:"each",pattern:"{+each "},{type:"if",pattern:"{+if "},{type:"unless",pattern:"{+unless "}];let s=null;for(const r of t){const i=e.indexOf(r.pattern);i!==-1&&(s===null||i<s.pos)&&(s={type:r.type,pos:i,pattern:r.pattern})}return s}function K(e,t,s){const r=[],i=[];let n=0;for(;n<e.length;){const o=e[n],a=L(o);if(!a){r.push(o),n<t.length&&i.push(t[n]),n++;continue}const{type:c,pos:l,pattern:f}=a,u=`{-${c}}`;r.push(o.substring(0,l));const d=t[n],h=e[n+1];if(!h||!h.startsWith("}"))throw new Error(`{+${c}} syntax error: expected "}" after value`);const b=h.substring(1),{endIdx:g,endPos:A}=F(e,n+1,1,f.slice(0,-1),u);let m,y="";if(g===n+1)m=b.substring(0,A-1);else{m=b;for(let p=n+2;p<=g;p++)m+=String(t[p-1]??"")+(p<g?e[p]:e[p].substring(0,A))}if(c==="if"||c==="unless"){const p=m.indexOf("{else}");p!==-1&&(y=m.substring(p+6),m=m.substring(0,p))}let w;if(c==="each"){if(!Array.isArray(d)&&d!=null)throw new Error(`{+each} expects an array, got ${typeof d}`);w=(d||[]).map((p,k)=>D(m.trim(),p,k,d||[],s))}else c==="if"?w=d?{html:m.trim()}:{html:y.trim()}:c==="unless"&&(w=d?{html:y.trim()}:{html:m.trim()});i.push(w);const S=e[g].substring(A+u.length);n=g,L(S)?(e=[...e.slice(0,g),S,...e.slice(g+1)],t=[...t.slice(0,g),...t.slice(g)]):(r.push(S),g<t.length&&i.push(t[g]),n=g+1)}for(;r.length<=i.length;)r.push("");return{strings:j(r),values:i}}function G(e){const t=x.bind(e);function s(...r){if(Y(r[0])){const a=K(r[0],r.slice(1),s.wire);r=[a.strings,...a.values]}const i=r.slice(1).some(a=>a!=null&&typeof a!="string"),n=r[0].some(a=>E.test(a));if(i&&n){let a=!1,c="";r[0].forEach((l,f,u)=>{if(E.test(l)?(a=l.substring(l.match(E).index).indexOf(">")===-1,c=a&&l.substring(l.indexOf(l.match(E))).split(" ")[0].substr(1)):0<=l.indexOf(">")&&(a=!1,c=""),!a)return;const d=r[f+1];if(d!=null&&typeof d!="string"){const h=l.split(" ").pop().slice(0,-1);if(h.substring(0,2)==="on")throw new Error(`'on' is reserve for native elements. Change: "${h}" for "${c}" to something else`);if(h==="style")return;const b=B();N[b]={attrName:h,val:d,localName:c},r[f+1]=(typeof d=="function"?"fn-":"ob-")+b}})}const o=[r[0]];for(let a=1;a<r.length;a++){const c=r[a];H(c)?o.push({html:c.value}):Array.isArray(c)?o.push(c.map(l=>H(l)?{html:l.value}:typeof l=="string"?C(l):l)):o.push(c)}return t(...o)}return s.wire=function(...i){return x.wire(...i)},s.lite=function(...i){return x(...i)},s.raw=function(i){return W(i)},s}function Q(e,t){const s=typeof t=="function"?t:()=>t,r=this.render,i=(...n)=>{t===void 0?(e.store=void 0,r(...n)):(e.store=s(),r(e.store,...n))};return this.render=i,i}function X(e){const t=e.this;new MutationObserver(r=>{if(!e.observe)return;if(r.filter(o=>o.type==="attributes").length>0){t.attrs=this.attachAttrs(this.attributes)||{},this.render();return}let n=this.textContent;e.innerHTML=this.innerHTML,t.attrs.template&&(t.attrs=this.attachAttrs(this.attributes)||{}),x.bind(e.shadow)``,t.wrappedContent=n,this.render()}).observe(this,{attributes:!0,childList:!0,subtree:!0})}function V(){this.identifier=Symbol(this.localName);const e=O[this.identifier]={attrsToIgnore:{}};e.innerHTML=this.innerHTML;const t=e.this={element:this};t.wrappedContent=this.textContent,X.call(this,e),Object.getOwnPropertyNames(this.__proto__).filter(i=>!(i==="constructor"||i==="setup"||i==="render")).forEach(i=>{if(/^[A-Z]/.test(i)){let n;const o={},a=c=>{if(n!==void 0&&n.once)return n;if(n=this[i](c),n.text!==void 0&&typeof n.text=="string"?n={any:n.text,once:n.once}:n.html!==void 0&&typeof n.html=="string"&&(n={any:{html:n.html},once:n.once}),n.template)if(typeof n.template=="string"){o[n.template]||(o[n.template]=_(n.template));const l=o[n.template](n.values||c);l&&l.html?n={any:{html:l.html},once:n.once}:n={any:l,once:n.once}}else if(typeof n.template=="object"&&typeof n.template.then=="function")n=Object.assign({},n,{any:n.template.then(l=>{let{template:f,values:u}=l;return!f&&typeof l=="string"&&(f=l,u={}),o[f]||(o[f]=_(f)),Array.isArray(u)?n={any:u.map(o[f]),once:n.once}:n={any:o[f](u||c),once:n.once},n.any})});else throw new Error("unknow template type:"+typeof n.template+" | "+JSON.stringify(n.template));return n};x.define(i,a)}else t[i]=this[i].bind(t);delete this[i]});function s(){return"hyper-element: "+this.localName}Object.defineProperty(t,"toString",{value:s.bind(this),writable:!1}),e.shadow=this,e.Html=G(e.shadow),t.attrs=this.attachAttrs(this.attributes),t.dataset=this.getDataset();const r=this.render;this.render=(...i)=>{e.observe=!1,setTimeout(()=>{e.observe=!0},0),r.call(t,e.Html,...i),Object.getOwnPropertyNames(t.dataset).filter(n=>!this.dataset[n]).forEach(n=>{const o=t.dataset[n];P.call(this,t.dataset,n.replace(/([A-Z])/g,a=>`-${a[0].toLowerCase()}`)),t.dataset[n]=o})},this.setup&&(e.teardown=this.setup.call(t,Q.bind(this,t))),this.render()}class tt extends HTMLElement{identifier;get innerShadow(){return O[this.identifier].shadow.innerHTML}connectedCallback(){V.call(this)}addDataset(t,s){P.call(this,t,s)}getDataset(){return Z.call(this)}attachAttrs(t){return q.call(this,t)}attributeChangedCallback(t,s,r){const i=O[this.identifier];if(!i)return;r!==null&&+r+""===r.trim()&&(r=+r);const{attrsToIgnore:n}=i,o=i.this;if(0<=t.indexOf("data-")){const a=t.slice(5);if(s===null)this.addDataset(o.dataset,a);else if(r===null){const c=a.replace(/-([a-z])/g,l=>l[1].toUpperCase());delete o.dataset[c]}}if(r!==o.attrs[t])if(r===null?delete o.attrs[t]:o.attrs[t]=r,n[t]){delete n[t];return}else this.render()}disconnectedCallback(){const t=O[this.identifier];t.teardown&&t.teardown()}setup(t){}render(t,...s){}}return tt});
2
+ //# sourceMappingURL=hyperElement.min.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["hyperElement.bundle.js"],
4
+ "sourcesContent": ["// Browser-only build - UMD wrapper simplified for E2E testing\n// CommonJS/AMD paths exist in full build but are not covered by browser tests\n(function (factory) {\n window.hyperElement = factory(window.hyperHTML);\n})(function (hyperHTML) {\n\n // core/constants.js\n const isCustomTag = /<+\\w+[-]+\\w/;\n\n // core/manager.js\n const manager = {};\n\n const sharedAttrs = {};\n\n // utils/makeid.js\n function makeid() {\n var text = '';\n var possible = 'bcdfghjklmnpqrstvwxyz';\n\n for (var i = 0; i < 15; i++)\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n\n return text;\n }\n\n // utils/escape.js\n function escapeHtml(str) {\n if (typeof str !== 'string') return str;\n return str\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n .replace(/'/g, '&#39;');\n }\n\n const SAFE_HTML = Symbol('safeHtml');\n\n function safeHtml(html) {\n return { [SAFE_HTML]: true, value: html };\n }\n\n function isSafeHtml(val) {\n return val && val[SAFE_HTML] === true;\n }\n\n // attributes/parseAttribute.js\n function parseAttribute(key, value) {\n if ('template' === key && '' === value) {\n return true;\n }\n\n if (+value + '' === value.trim()) {\n return +value; // to number\n }\n\n const lowerCaseValue = value.toLowerCase().trim();\n\n if ('true' === lowerCaseValue) {\n return true;\n } else if ('false' === lowerCaseValue) {\n return false;\n }\n\n if (\n (lowerCaseValue[0] === '[' && lowerCaseValue.slice(-1) === ']') ||\n (lowerCaseValue[0] === '{' && lowerCaseValue.slice(-1) === '}')\n ) {\n return JSON.parse(value);\n }\n\n return value;\n }\n\n // template/processAdvancedTemplate.js\n function formatValue(value) {\n if (typeof value === 'function') {\n return formatValue(value());\n }\n if (typeof value === 'string') {\n return escapeHtml(value);\n }\n if (typeof value === 'number' || typeof value === 'boolean') {\n return String(value);\n }\n if (Array.isArray(value)) {\n return escapeHtml(value.join(', '));\n }\n if (value !== null && typeof value === 'object') {\n return escapeHtml(JSON.stringify(value));\n }\n\n return '';\n }\n\n function processAdvancedTemplate(template, data) {\n let result = template;\n\n const eachRegex = /\\{\\+each\\s+(\\w+)\\}([\\s\\S]*?)\\{-each\\}/g;\n result = result.replace(eachRegex, (match, arrayName, content) => {\n const arr = data[arrayName];\n if (!Array.isArray(arr)) return '';\n return arr\n .map((item, index) => {\n let itemContent = content;\n\n itemContent = itemContent.replace(/\\{@\\}/g, index);\n\n itemContent = itemContent.replace(\n /\\{\\s*\\.\\.\\.\\s*\\}/g,\n formatValue(item)\n );\n\n if (typeof item === 'object' && item !== null) {\n Object.keys(item).forEach((key) => {\n itemContent = itemContent.replace(\n new RegExp('\\\\{' + key + '\\\\}', 'g'),\n escapeHtml(String(item[key]))\n );\n });\n }\n return itemContent;\n })\n .join('');\n });\n\n const ifElseRegex = /\\{\\+if\\s+(\\w+)\\}([\\s\\S]*?)\\{else\\}([\\s\\S]*?)\\{-if\\}/g;\n result = result.replace(\n ifElseRegex,\n (match, condition, ifContent, elseContent) => {\n return data[condition] ? ifContent : elseContent;\n }\n );\n\n const ifRegex = /\\{\\+if\\s+(\\w+)\\}([\\s\\S]*?)\\{-if\\}/g;\n result = result.replace(ifRegex, (match, condition, content) => {\n return data[condition] ? content : '';\n });\n\n const unlessRegex = /\\{\\+unless\\s+(\\w+)\\}([\\s\\S]*?)\\{-unless\\}/g;\n result = result.replace(unlessRegex, (match, condition, content) => {\n return data[condition] ? '' : content;\n });\n\n return result;\n }\n\n // template/buildTemplate.js\n function buildTemplate(innerHTML) {\n\n const hasAdvanced = /\\{\\+(if|each|unless)\\s/.test(innerHTML);\n\n if (hasAdvanced) {\n\n return function template(data) {\n if ('object' !== typeof data) {\n throw new Error(\n 'Templates must be passed an object. You passed ' +\n JSON.stringify(data)\n );\n }\n\n let result = processAdvancedTemplate(innerHTML, data);\n\n result = result.replace(/\\{(\\w+)\\}/g, (match, key) => {\n return data[key] != null ? escapeHtml(String(data[key])) : '';\n });\n\n return { html: result };\n };\n }\n\n const re = /(\\{[\\w]+\\})/g;\n const templateVals = innerHTML.split(re).reduce(\n (vals, item) => {\n if ('{' === item[0] && '}' === item.slice(-1)) {\n vals.keys.push(item.slice(1, -1));\n } else {\n vals.markup.push(item);\n }\n\n return vals;\n },\n { markup: [], keys: [] }\n );\n\n templateVals.id = ':' + templateVals.markup.join().trim();\n\n function fragment(data) {\n const output = [\n templateVals.markup,\n ...templateVals.keys.map((key) => data[key]),\n ];\n output.raw = { value: templateVals.markup };\n return output;\n }\n\n return function template(data) {\n if ('object' !== typeof data) {\n throw new Error(\n 'Templates must be passed an object to be populated with. You passed ' +\n JSON.stringify(data) +\n ' to ' +\n templateVals.id\n );\n }\n return hyperHTML.wire(data, templateVals.id)(...fragment(data));\n };\n }\n\n // attributes/dataset.js\n function addDataset(dataset, dash_key) {\n const camel_key = dash_key.replace(/-([a-z])/g, (g) => g[1].toUpperCase());\n\n Object.defineProperty(dataset, camel_key, {\n enumerable: true, // can be selected\n configurable: true, // can be delete\n get: () => parseAttribute(camel_key, this.dataset[camel_key]),\n set: (value) => {\n manager[this.identifier].attrsToIgnore['data-' + dash_key] = true;\n if ('string' === typeof value) {\n this.dataset[camel_key] = value;\n } else {\n this.dataset[camel_key] = JSON.stringify(value);\n }\n },\n });\n }\n\n function getDataset() {\n const dataset = {};\n Object.keys(this.dataset).forEach((key) =>\n addDataset.call(\n this,\n dataset,\n key.replace(/([A-Z])/g, (g) => `-${g[0].toLowerCase()}`)\n )\n );\n return dataset;\n }\n\n // attributes/attachAttrs.js\n function attachAttrs(attributes) {\n const accumulator = {};\n\n for (let i = 0; i < attributes.length; i++) {\n const { value, name } = attributes[i];\n\n if ('template' === name && !value) {\n const ref = manager[this.identifier];\n ref.Html.template = buildTemplate(ref.innerHTML);\n accumulator[name] = true;\n } else if (\n ('fn-' === value.substr(0, 3) || 'ob-' === value.substr(0, 3)) &&\n !!sharedAttrs[value.substr(3)] &&\n sharedAttrs[value.substr(3)].localName === this.localName\n ) {\n accumulator[name] = sharedAttrs[value.substr(3)].val;\n } else {\n if (+value + '' === (value + '').trim()) {\n accumulator[name] = +value;\n } else {\n accumulator[name] = value;\n }\n }\n }\n return accumulator;\n }\n\n // html/parseEachBlocks.js\n function hasEachBlocks(strings) {\n return strings.some(\n (s) =>\n s.includes('{+each ') ||\n s.includes('{+each{') ||\n s.includes('{+if ') ||\n s.includes('{+unless ')\n );\n }\n\n function resolvePropertyPath(obj, path) {\n return path.split('.').reduce((o, key) => o?.[key], obj);\n }\n\n function parsePropertyReferences(str) {\n const regex = /\\{(@|\\s*\\.\\.\\.\\s*|\\w+(?:\\.\\w+)*)\\}/g;\n const parts = [],\n props = [];\n let lastIndex = 0,\n match;\n while ((match = regex.exec(str)) !== null) {\n parts.push(str.substring(lastIndex, match.index));\n props.push(match[1]);\n lastIndex = regex.lastIndex;\n }\n parts.push(str.substring(lastIndex));\n return { parts, props };\n }\n\n function findMatchingClose(strings, startIdx, startPos, openTag, closeTag) {\n let depth = 1;\n for (let i = startIdx; i < strings.length; i++) {\n const str = strings[i];\n let searchStart = i === startIdx ? startPos : 0;\n while (searchStart < str.length) {\n const openPos = str.indexOf(openTag, searchStart);\n const closePos = str.indexOf(closeTag, searchStart);\n if (closePos !== -1 && (openPos === -1 || closePos < openPos)) {\n if (--depth === 0) return { endIdx: i, endPos: closePos };\n searchStart = closePos + closeTag.length;\n } else if (openPos !== -1) {\n depth++;\n searchStart = openPos + openTag.length;\n } else break;\n }\n }\n throw new Error(`Unclosed ${openTag}} block. Missing ${closeTag}.`);\n }\n\n function buildTemplateStrings(parts) {\n const arr = [...parts];\n arr.raw = [...parts];\n return arr;\n }\n\n const primitiveWrappers = new WeakMap();\n\n function getWireKey(item, index, array) {\n if (item !== null && typeof item === 'object') return item;\n let cache = primitiveWrappers.get(array);\n if (!cache) {\n cache = {};\n primitiveWrappers.set(array, cache);\n }\n if (!cache[index]) cache[index] = { _value: item, _index: index };\n cache[index]._value = item;\n return cache[index];\n }\n\n function resolveProp(prop, item, index) {\n if (prop === '@') return index;\n if (prop.trim() === '...') return item;\n return resolvePropertyPath(item, prop);\n }\n\n function processInnerContent(content, item, index, array, wireFunction) {\n const nestedRegex = /\\{\\+each\\s*\\{(\\w+(?:\\.\\w+)*)\\}\\}([\\s\\S]*?)\\{-each\\}/g;\n const hasNested = nestedRegex.test(content);\n nestedRegex.lastIndex = 0;\n\n if (hasNested) {\n const nestedMatches = [];\n let processedContent = content,\n match;\n while ((match = nestedRegex.exec(content)) !== null) {\n const [fullMatch, propPath, innerContent] = match;\n const nestedArray = resolvePropertyPath(item, propPath);\n if (!Array.isArray(nestedArray)) {\n processedContent = processedContent.replace(fullMatch, '');\n continue;\n }\n const nestedResults = nestedArray.map((nestedItem, nestedIndex) =>\n processInnerContent(\n innerContent.trim(),\n nestedItem,\n nestedIndex,\n nestedArray,\n wireFunction\n )\n );\n processedContent = processedContent.replace(\n fullMatch,\n `__NESTED_${nestedMatches.length}__`\n );\n nestedMatches.push(nestedResults);\n }\n const { parts, props } = parsePropertyReferences(processedContent);\n const finalParts = [],\n finalValues = [];\n let propIndex = 0;\n for (let i = 0; i < parts.length; i++) {\n let part = parts[i],\n placeholderMatch;\n while ((placeholderMatch = part.match(/__NESTED_(\\d+)__/))) {\n const [before, after] = part.split(placeholderMatch[0]);\n finalParts.push(before);\n finalValues.push(nestedMatches[parseInt(placeholderMatch[1], 10)]);\n part = after || '';\n }\n finalParts.push(part);\n if (i < props.length)\n finalValues.push(resolveProp(props[propIndex++], item, index));\n }\n return wireFunction(\n getWireKey(item, index, array),\n JSON.stringify(finalParts)\n )(buildTemplateStrings(finalParts), ...finalValues);\n }\n\n const { parts, props } = parsePropertyReferences(content);\n if (props.length === 0)\n return wireFunction(\n getWireKey(item, index, array),\n JSON.stringify([content])\n )(buildTemplateStrings([content]));\n const values = props.map((prop) => resolveProp(prop, item, index));\n return wireFunction(getWireKey(item, index, array), JSON.stringify(parts))(\n buildTemplateStrings(parts),\n ...values\n );\n }\n\n function findFirstBlock(str) {\n const blocks = [\n { type: 'each', pattern: '{+each ' },\n { type: 'if', pattern: '{+if ' },\n { type: 'unless', pattern: '{+unless ' },\n ];\n let first = null;\n for (const block of blocks) {\n const pos = str.indexOf(block.pattern);\n if (pos !== -1 && (first === null || pos < first.pos))\n first = { type: block.type, pos, pattern: block.pattern };\n }\n return first;\n }\n\n function transformEachBlocks(strings, values, wireFunction) {\n const resultStrings = [],\n resultValues = [];\n let i = 0;\n while (i < strings.length) {\n const str = strings[i],\n firstBlock = findFirstBlock(str);\n if (!firstBlock) {\n resultStrings.push(str);\n if (i < values.length) resultValues.push(values[i]);\n i++;\n continue;\n }\n const { type, pos: blockStartPos, pattern } = firstBlock;\n const closeTag = `{-${type}}`;\n resultStrings.push(str.substring(0, blockStartPos));\n const blockValue = values[i],\n nextStr = strings[i + 1];\n if (!nextStr || !nextStr.startsWith('}'))\n throw new Error(`{+${type}} syntax error: expected \"}\" after value`);\n const afterClose = nextStr.substring(1);\n const { endIdx, endPos } = findMatchingClose(\n strings,\n i + 1,\n 1,\n pattern.slice(0, -1),\n closeTag\n );\n let innerContent,\n elseContent = '';\n if (endIdx === i + 1) innerContent = afterClose.substring(0, endPos - 1);\n else {\n innerContent = afterClose;\n for (let j = i + 2; j <= endIdx; j++) {\n innerContent +=\n String(values[j - 1] ?? '') +\n (j < endIdx ? strings[j] : strings[j].substring(0, endPos));\n }\n }\n if (type === 'if' || type === 'unless') {\n const elsePos = innerContent.indexOf('{else}');\n if (elsePos !== -1) {\n elseContent = innerContent.substring(elsePos + 6);\n innerContent = innerContent.substring(0, elsePos);\n }\n }\n let blockResult;\n if (type === 'each') {\n if (!Array.isArray(blockValue) && blockValue != null)\n throw new Error(`{+each} expects an array, got ${typeof blockValue}`);\n blockResult = (blockValue || []).map((item, idx) =>\n processInnerContent(\n innerContent.trim(),\n item,\n idx,\n blockValue || [],\n wireFunction\n )\n );\n } else if (type === 'if')\n blockResult = blockValue\n ? { html: innerContent.trim() }\n : { html: elseContent.trim() };\n else if (type === 'unless')\n blockResult = blockValue\n ? { html: elseContent.trim() }\n : { html: innerContent.trim() };\n resultValues.push(blockResult);\n const afterBlock = strings[endIdx].substring(endPos + closeTag.length);\n i = endIdx;\n if (findFirstBlock(afterBlock)) {\n strings = [\n ...strings.slice(0, endIdx),\n afterBlock,\n ...strings.slice(endIdx + 1),\n ];\n values = [...values.slice(0, endIdx), ...values.slice(endIdx)];\n } else {\n resultStrings.push(afterBlock);\n if (endIdx < values.length) resultValues.push(values[endIdx]);\n i = endIdx + 1;\n }\n }\n while (resultStrings.length <= resultValues.length) resultStrings.push('');\n return { strings: buildTemplateStrings(resultStrings), values: resultValues };\n }\n\n // html/createHtml.js\n function createHtml(shadow) {\n const hyperHTMLbind = hyperHTML.bind(shadow);\n\n function Html(...args) {\n\n if (hasEachBlocks(args[0])) {\n const transformed = transformEachBlocks(\n args[0],\n args.slice(1),\n Html.wire\n );\n args = [transformed.strings, ...transformed.values];\n }\n\n const hasNonString = args\n .slice(1)\n .some((item) => item != null && typeof item !== 'string');\n const hasCustomTag = args[0].some((t) => isCustomTag.test(t));\n\n if (hasNonString && hasCustomTag) {\n let inCustomTag = false;\n let localName = '';\n args[0].forEach((item, index, _items) => {\n if (isCustomTag.test(item)) {\n inCustomTag =\n -1 === item.substring(item.match(isCustomTag).index).indexOf('>');\n localName =\n inCustomTag &&\n item\n .substring(item.indexOf(item.match(isCustomTag)))\n .split(' ')[0]\n .substr(1);\n } else if (0 <= item.indexOf('>')) {\n inCustomTag = false;\n localName = '';\n }\n\n if (!inCustomTag) {\n return;\n }\n const val = args[index + 1];\n\n if (val != null && typeof val !== 'string') {\n const attrName = item.split(' ').pop().slice(0, -1);\n if ('on' === attrName.substring(0, 2)) {\n throw new Error(\n `'on' is reserve for native elements. Change: \"${attrName}\" for \"${localName}\" to something else`\n );\n }\n\n if ('style' === attrName) {\n return;\n }\n const id = makeid();\n sharedAttrs[id] = { attrName, val, localName };\n args[index + 1] = ('function' === typeof val ? 'fn-' : 'ob-') + id;\n }\n });\n }\n\n const processedArgs = [args[0]];\n for (let i = 1; i < args.length; i++) {\n const val = args[i];\n if (isSafeHtml(val)) {\n\n processedArgs.push({ html: val.value });\n } else if (Array.isArray(val)) {\n\n processedArgs.push(\n val.map((item) => {\n if (isSafeHtml(item)) {\n return { html: item.value };\n } else if (typeof item === 'string') {\n\n return escapeHtml(item);\n }\n return item;\n })\n );\n } else {\n\n processedArgs.push(val);\n }\n }\n\n return hyperHTMLbind(...processedArgs);\n }\n\n Html.wire = function wire(...args) {\n return hyperHTML.wire(...args);\n };\n\n Html.lite = function lite(...args) {\n return hyperHTML(...args);\n };\n\n Html.raw = function raw(html) {\n return safeHtml(html);\n };\n\n return Html;\n }\n\n // lifecycle/onNext.js\n function onNext(that, store) {\n const storeFn = 'function' == typeof store ? store : () => store;\n\n const render = this.render;\n\n const render2 = (...data) => {\n if (undefined === store) {\n that.store = undefined;\n render(...data);\n } else {\n that.store = storeFn();\n render(that.store, ...data);\n }\n };\n this.render = render2;\n\n return render2;\n }\n\n // lifecycle/observer.js\n function observer(ref) {\n const that = ref.this;\n const mutationObserver = new MutationObserver((mutations) => {\n if (!ref.observe) return;\n\n const attrMutations = mutations.filter((m) => m.type === 'attributes');\n if (attrMutations.length > 0) {\n\n that.attrs = this.attachAttrs(this.attributes) || {};\n this.render();\n return;\n }\n\n let textContent = this.textContent;\n\n ref.innerHTML = this.innerHTML;\n if (that.attrs.template) {\n that.attrs = this.attachAttrs(this.attributes) || {};\n }\n\n hyperHTML.bind(ref.shadow)``;\n\n that.wrappedContent = textContent;\n this.render();\n });\n\n mutationObserver.observe(this, {\n\n attributes: true,\n\n childList: true,\n\n subtree: true,\n });\n }\n\n // lifecycle/connectedCallback.js\n function createdCallback() {\n\n this.identifier = Symbol(this.localName);\n const ref = (manager[this.identifier] = { attrsToIgnore: {} });\n ref.innerHTML = this.innerHTML;\n const that = (ref.this = { element: this });\n that.wrappedContent = this.textContent;\n\n observer.call(this, ref); // observer change to innerHTML\n\n Object.getOwnPropertyNames(this.__proto__)\n .filter(\n (name) =>\n !('constructor' === name || 'setup' === name || 'render' === name)\n )\n .forEach((name) => {\n if (/^[A-Z]/.test(name)) {\n let result;\n const templatestrings = {};\n \n const wrapFragment = (data) => {\n if (undefined !== result && result.once) return result;\n\n result = this[name](data);\n\n if (result.text !== undefined && typeof result.text === 'string') {\n\n result = { any: result.text, once: result.once };\n } else if (\n result.html !== undefined &&\n typeof result.html === 'string'\n ) {\n\n result = { any: { html: result.html }, once: result.once };\n }\n\n if (result.template) {\n if ('string' === typeof result.template) {\n if (!templatestrings[result.template]) {\n templatestrings[result.template] = buildTemplate(\n result.template\n );\n }\n const templateResult = templatestrings[result.template](\n result.values || data\n );\n\n if (templateResult && templateResult.html) {\n\n result = {\n any: { html: templateResult.html },\n once: result.once,\n };\n } else {\n result = { any: templateResult, once: result.once };\n }\n } else if (\n 'object' === typeof result.template &&\n 'function' === typeof result.template.then\n ) {\n result = Object.assign({}, result, {\n any: result.template.then((args) => {\n let { template, values } = args;\n if (!template && 'string' === typeof args) {\n template = args;\n values = {};\n }\n\n if (!templatestrings[template]) {\n templatestrings[template] = buildTemplate(template);\n }\n if (Array.isArray(values)) {\n result = {\n any: values.map(templatestrings[template]),\n once: result.once,\n };\n } else {\n result = {\n any: templatestrings[template](values || data),\n once: result.once,\n };\n }\n return result.any;\n }),\n });\n } else {\n throw new Error(\n 'unknow template type:' +\n typeof result.template +\n ' | ' +\n JSON.stringify(result.template)\n );\n }\n }\n return result;\n };\n hyperHTML.define(name, wrapFragment);\n } else {\n that[name] = this[name].bind(that);\n }\n delete this[name];\n });\n\n function toString() {\n return 'hyper-element: ' + this.localName;\n }\n Object.defineProperty(that, 'toString', {\n value: toString.bind(this),\n writable: false,\n });\n\n ref.shadow = this;\n\n ref.Html = createHtml(ref.shadow);\n\n that.attrs = this.attachAttrs(this.attributes);\n that.dataset = this.getDataset();\n const render = this.render;\n this.render = (...data) => {\n ref.observe = false;\n setTimeout(() => {\n ref.observe = true;\n }, 0);\n\n render.call(that, ref.Html, ...data);\n\n Object.getOwnPropertyNames(that.dataset)\n .filter((key) => !this.dataset[key])\n .forEach((key) => {\n const value = that.dataset[key];\n addDataset.call(\n this,\n that.dataset,\n key.replace(/([A-Z])/g, (g) => `-${g[0].toLowerCase()}`)\n );\n that.dataset[key] = value;\n });\n };\n\n if (this.setup) {\n ref.teardown = this.setup.call(that, onNext.bind(this, that));\n }\n\n this.render();\n }\n\n // hyperElement.js\n class hyperElement extends HTMLElement {\n \n identifier;\n\n get innerShadow() {\n return manager[this.identifier].shadow.innerHTML;\n }\n\n connectedCallback() {\n createdCallback.call(this);\n }\n\n addDataset(dataset, dash_key) {\n addDataset.call(this, dataset, dash_key);\n }\n\n getDataset() {\n return getDataset.call(this);\n }\n\n attachAttrs(attributes) {\n return attachAttrs.call(this, attributes);\n }\n\n attributeChangedCallback(name, oldVal, newVal) {\n\n const ref = manager[this.identifier];\n if (!ref) return;\n\n if (newVal !== null && +newVal + '' === newVal.trim()) {\n newVal = +newVal; // to number\n }\n const { attrsToIgnore } = ref;\n const that = ref.this;\n if (0 <= name.indexOf('data-')) {\n\n const dataSetName = name.slice('data-'.length);\n if (null === oldVal) {\n this.addDataset(that.dataset, dataSetName);\n } else if (null === newVal) {\n const camel_key = dataSetName.replace(/-([a-z])/g, (g) =>\n g[1].toUpperCase()\n );\n delete that.dataset[camel_key];\n }\n }\n\n if (newVal === that.attrs[name]) {\n return;\n }\n if (null === newVal) {\n delete that.attrs[name];\n } else {\n that.attrs[name] = newVal;\n }\n if (attrsToIgnore[name]) {\n delete attrsToIgnore[name];\n return;\n } else {\n this.render();\n }\n }\n\n disconnectedCallback() {\n const ref = manager[this.identifier];\n ref.teardown && ref.teardown();\n }\n\n setup(onNext) {} // eslint-disable-line no-unused-vars\n\n render(Html, ...data) {} // eslint-disable-line no-unused-vars\n }\n\n return hyperElement;\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["factory", "hyperHTML", "isCustomTag", "manager", "sharedAttrs", "makeid", "text", "possible", "i", "escapeHtml", "str", "SAFE_HTML", "safeHtml", "html", "isSafeHtml", "val", "parseAttribute", "key", "value", "lowerCaseValue", "formatValue", "processAdvancedTemplate", "template", "data", "result", "eachRegex", "match", "arrayName", "content", "arr", "item", "index", "itemContent", "ifElseRegex", "condition", "ifContent", "elseContent", "ifRegex", "unlessRegex", "buildTemplate", "innerHTML", "re", "templateVals", "vals", "fragment", "output", "addDataset", "dataset", "dash_key", "camel_key", "g", "getDataset", "attachAttrs", "attributes", "accumulator", "name", "ref", "hasEachBlocks", "strings", "s", "resolvePropertyPath", "obj", "path", "o", "parsePropertyReferences", "regex", "parts", "props", "lastIndex", "findMatchingClose", "startIdx", "startPos", "openTag", "closeTag", "depth", "searchStart", "openPos", "closePos", "buildTemplateStrings", "primitiveWrappers", "getWireKey", "array", "cache", "resolveProp", "prop", "processInnerContent", "wireFunction", "nestedRegex", "hasNested", "nestedMatches", "processedContent", "fullMatch", "propPath", "innerContent", "nestedArray", "nestedResults", "nestedItem", "nestedIndex", "finalParts", "finalValues", "propIndex", "part", "placeholderMatch", "before", "after", "values", "findFirstBlock", "blocks", "first", "block", "pos", "transformEachBlocks", "resultStrings", "resultValues", "firstBlock", "type", "blockStartPos", "pattern", "blockValue", "nextStr", "afterClose", "endIdx", "endPos", "j", "elsePos", "blockResult", "idx", "afterBlock", "createHtml", "shadow", "hyperHTMLbind", "Html", "args", "transformed", "hasNonString", "hasCustomTag", "t", "inCustomTag", "localName", "_items", "attrName", "id", "processedArgs", "onNext", "that", "store", "storeFn", "render", "render2", "observer", "mutations", "m", "textContent", "createdCallback", "templatestrings", "wrapFragment", "templateResult", "toString", "hyperElement", "oldVal", "newVal", "attrsToIgnore", "dataSetName"]
7
+ }
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.12.1",
2
+ "version": "1.0.0",
3
3
  "name": "hyper-element",
4
4
  "author": "Brian Shannon (github.com/codemeasandwich)",
5
5
  "description": "hyperHTML + WebComponents",