@simplybuilder/core 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- /*! SBCore version 2.0.0 */
2
- 'use strict';Object.defineProperties(exports,{__esModule:{value:true},[Symbol.toStringTag]:{value:'Module'}});/*! SBCoreDom version 2.0.0 */
3
- const e$1={};function addElementToStore(t){const{key:n,value:r}=t;n&&r&&void 0===e$1[n]&&(e$1[n]=r);}function getElementFromStore(t){if(t)return e$1[t]}function removeElementFromStore(t){const{key:n,mode:r=1,EventModule:o={}}=t;if(!n)return false;try{const t=e$1[n];return !!t&&(1===r&&"function"==typeof o.removeAllEventsFromStore&&o.removeAllEventsFromStore(t),delete e$1[n],!0)}catch{return false}}const t$1={app:{name:"DomModule",version:"2.0.0"},register:{},allow:{SBCoreEvent:{major:2}},clearExtensions(){for(const e of Object.keys(this.register))delete this.register[e];}};function validVersionSupport(e){const{name:n,version:r}=e,o=t$1.allow[n];if(o&&r){const e=r.split(".");if(e.length>=1){if(void 0!==o.major&&e[0]&&o.major>Number(e[0]))return false;if(void 0!==o.minor&&e[1]&&o.minor>Number(e[1]))return false;if(void 0!==o.patch&&e[2]&&o.patch>Number(e[2]))return false}return true}return false}function domModuleExtends(e){try{const{name:n}=e;if(validVersionSupport(e))return t$1.register[n]=e,!0}catch{return false}return false}function getAnyExtension(){for(const e of Object.keys(t$1.register))return t$1.register[e]}function setAttr(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttribute(r.name,r.value);}}function setAttrNS(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttributeNS(null,r.name,r.value);}}function setData(e){const{element:t,dataset:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&(t.dataset[r.name]=r.value,"state"===r.name&&addElementToStore({key:r.value,value:t}));}}function attachShadow(e,t){return e.attachShadow({mode:t})}function applyAttributes(e,t){t.attr?.length&&setAttr({element:e,attrs:t.attr}),"attrNS"in t&&t.attrNS?.length&&setAttrNS({element:e,attrs:t.attrNS}),t.dataset?.length&&setData({element:e,dataset:t.dataset});}function createHTMLElement(e={}){try{const{parent:t,element:n,shadow:r}=e,o=document.createElement(n.type);applyAttributes(o,n);const a=t??document.body;if((a instanceof HTMLElement||a instanceof SVGElement||a instanceof ShadowRoot)&&a.appendChild(o),r&&o.dataset?.state){const e=function createShadowFromConfig(e,t){if("string"==typeof t)return attachShadow(e,t);if("object"==typeof t&&null!==t&&"mode"in t){const n=t,r=attachShadow(e,n.mode);if(n.styles&&"undefined"!=typeof CSSStyleSheet)try{const e=new CSSStyleSheet;e.replaceSync(n.styles),r.adoptedStyleSheets=[e];}catch{}return r}}(o,r);if(e)return e}return o}catch(e){return void console.error(e)}}function createSVGElement(e={}){try{const{parent:t,element:n}=e,r=document.createElementNS("http://www.w3.org/2000/svg",n.type);return applyAttributes(r,n),t&&(t instanceof HTMLElement||t instanceof SVGElement)&&t.appendChild(r),r}catch(e){return void console.error(e)}}function createEventElement(e){const{struct:t,element:n}=e,r=getAnyExtension();if(r&&t.event?.action&&t.event?.type){const e=r.EventActions;if(e&&e[t.event.action]){const o={element:n,type:t.event.type,handler:e[t.event.action]};t.event.node&&(o.nodeId=t.event.node);(0, r.addEventToStore)(o);}}}function createFromStruct(e){try{if("object"!=typeof e||!e)return !1;const{struct:t,parent:n=document.body}=e;if(!t?.element)return !1;const r=t.type&&"svg"===t.type.toLowerCase(),o=t.attr?Object.entries(t.attr).map(([e,t])=>({name:e,value:t})):[],a=t.dataset?Object.entries(t.dataset).map(([e,t])=>({name:e,value:t})):[];let l;if(r){const e=t.attrNS?Object.entries(t.attrNS).map(([e,t])=>({name:e,value:t})):[];l=createSVGElement({parent:n,element:{type:t.element,attr:o,attrNS:e,dataset:a}});}else {const e=createHTMLElement({parent:n,element:{type:t.element,attr:o,dataset:a},shadow:t.shadow});l=e instanceof ShadowRoot?e.host:e;}if(!l)return !1;if(void 0!==t.text&&(l.textContent=t.text),void 0!==t.html&&(l.innerHTML=t.html),createEventElement({struct:t,element:l}),t.children&&t.children.length>0)for(const e of t.children)createFromStruct({struct:e,parent:l});return l}catch(e){return console.error(e),false}}function removeElementFromStoreOrEvents(e){try{const t=getAnyExtension(),n=e;if(n.dataset?.state)return removeElementFromStore({key:n.dataset.state,mode:t?1:2,EventModule:t}),!0;if(t&&"function"==typeof t.removeAllEventsFromStore){return (0,t.removeAllEventsFromStore)(e),!0}}catch{}return false}function removeElement(e){if(!e)return;removeElementFromStoreOrEvents(e);const t=e.querySelectorAll('[listener="true"]');for(let e=t.length-1;e>=0;e--){const n=t[e];n&&removeElementFromStoreOrEvents(n);}const n=e.querySelectorAll("[data-state]");for(let e=n.length-1;e>=0;e--){const t=n[e];if(t){const e=getAnyExtension();removeElementFromStore({key:t.dataset.state,mode:e?1:2,EventModule:e}),t.removeAttribute("data-state");}}e.remove();}/*! https://simplybuilder.github.io */
1
+ /*! SBCore version 2.0.1 */
2
+ 'use strict';Object.defineProperties(exports,{__esModule:{value:true},[Symbol.toStringTag]:{value:'Module'}});/*! SBCoreDom version 2.0.1 */
3
+ const e$1={};function addElementToStore(t){const{key:n,value:r}=t;n&&r&&void 0===e$1[n]&&(e$1[n]=r);}function getElementFromStore(t){if(t)return e$1[t]}function removeElementFromStore(t){const{key:n,mode:r=1,EventModule:o={}}=t;if(!n)return false;try{const t=e$1[n];return !!t&&(1===r&&"function"==typeof o.removeAllEventsFromStore&&o.removeAllEventsFromStore(t),delete e$1[n],!0)}catch{return false}}const t$1={app:{name:"DomModule",version:"2.0.1"},register:{},allow:{SBCoreEvent:{major:2}},clearExtensions(){for(const e of Object.keys(this.register))delete this.register[e];}};function validVersionSupport(e){const{name:n,version:r}=e,o=t$1.allow[n];if(o&&r){const e=r.split(".");if(e.length>=1){if(void 0!==o.major&&e[0]&&o.major>Number(e[0]))return false;if(void 0!==o.minor&&e[1]&&o.minor>Number(e[1]))return false;if(void 0!==o.patch&&e[2]&&o.patch>Number(e[2]))return false}return true}return false}function domModuleExtends(e){try{const{name:n}=e;if(validVersionSupport(e))return t$1.register[n]=e,!0}catch{return false}return false}function getAnyExtension(){for(const e of Object.keys(t$1.register))return t$1.register[e]}function setAttr(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttribute(r.name,r.value);}}function setAttrNS(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttributeNS(null,r.name,r.value);}}function setData(e){const{element:t,dataset:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&(t.dataset[r.name]=r.value,"state"===r.name&&addElementToStore({key:r.value,value:t}));}}function attachShadow(e,t){return e.attachShadow({mode:t})}function applyAttributes(e,t){t.attr?.length&&setAttr({element:e,attrs:t.attr}),"attrNS"in t&&t.attrNS?.length&&setAttrNS({element:e,attrs:t.attrNS}),t.dataset?.length&&setData({element:e,dataset:t.dataset});}function createHTMLElement(e={}){try{const{parent:t,element:n}=e,r=document.createElement(n.type);applyAttributes(r,n);const o=t??document.body;return (o instanceof HTMLElement||o instanceof SVGElement||o instanceof ShadowRoot)&&o.appendChild(r),r}catch(e){return void console.error(e)}}function createSVGElement(e={}){try{const{parent:t,element:n}=e,r=document.createElementNS("http://www.w3.org/2000/svg",n.type);return applyAttributes(r,n),t&&(t instanceof HTMLElement||t instanceof SVGElement)&&t.appendChild(r),r}catch(e){return void console.error(e)}}function createEventElement(e){const{struct:t,element:n}=e,r=getAnyExtension();if(r&&t.event?.action&&t.event?.type){const e=r.EventActions;if(e&&e[t.event.action]){const o={element:n,type:t.event.type,handler:e[t.event.action]};t.event.node&&(o.nodeId=t.event.node);(0, r.addEventToStore)(o);}}}function createFromStruct(e){try{if("object"!=typeof e||!e)return !1;const{struct:t,parent:n=document.body}=e;if(!t?.element)return !1;const r=t.type&&"svg"===t.type.toLowerCase(),o=t.attr?Object.entries(t.attr).map(([e,t])=>({name:e,value:t})):[],a=t.dataset?Object.entries(t.dataset).map(([e,t])=>({name:e,value:t})):[];let l,c;if(r){const e=t.attrNS?Object.entries(t.attrNS).map(([e,t])=>({name:e,value:t})):[];l=createSVGElement({parent:n,element:{type:t.element,attr:o,attrNS:e,dataset:a}});}else {l=createHTMLElement({parent:n,element:{type:t.element,attr:o,dataset:a}});}if(!l)return !1;const m=l.dataset.state;if(t.shadow&&m){const e=getElementFromStore(m);e&&(c=function createShadowFromConfig(e,t){if("string"==typeof t)return attachShadow(e,t);if("object"==typeof t&&null!==t&&"mode"in t){const n=t,r=attachShadow(e,n.mode);if(n.styles&&"undefined"!=typeof CSSStyleSheet)try{const e=new CSSStyleSheet;e.replaceSync(n.styles),r.adoptedStyleSheets=[e];}catch{}return r}}(e,t.shadow));}if(void 0!==t.text&&(l.textContent=t.text),void 0!==t.html&&(l.innerHTML=t.html),createEventElement({struct:t,element:l}),t.children&&t.children.length>0){const e=c??l;for(const n of t.children)createFromStruct({struct:n,parent:e});}return l}catch(e){return console.error(e),false}}function removeElementFromStoreOrEvents(e){try{const t=getAnyExtension(),n=e;if(n.dataset?.state)return removeElementFromStore({key:n.dataset.state,mode:t?1:2,EventModule:t}),!0;if(t&&"function"==typeof t.removeAllEventsFromStore){return (0,t.removeAllEventsFromStore)(e),!0}}catch{}return false}function removeElement(e){if(!e)return;removeElementFromStoreOrEvents(e);const t=e.querySelectorAll('[listener="true"]');for(let e=t.length-1;e>=0;e--){const n=t[e];n&&removeElementFromStoreOrEvents(n);}const n=e.querySelectorAll("[data-state]");for(let e=n.length-1;e>=0;e--){const t=n[e];if(t){const e=getAnyExtension();removeElementFromStore({key:t.dataset.state,mode:e?1:2,EventModule:e}),t.removeAttribute("data-state");}}e.remove();}/*! https://simplybuilder.github.io */
4
4
  /*! SBCoreEvent version 2.0.0 */
5
5
  const e={},t={};function eventRegister(n,r){if(!n||!r)return false;const o=n.toUpperCase();return !e[o]&&(e[o]=n,t[e[o]]=r,true)}function eventUnregister(n){if(!n)return false;const r=n.toUpperCase(),o=e[r];return !!o&&(delete e[r],t[o]&&delete t[o],true)}const n=new Map;function clearEvent(e,t=false){const r=n.get(e);return (t||r&&0===r.length)&&(n.delete(e),e instanceof Element&&e.removeAttribute("listener")),true}function addEventToStore(e){const{element:t,type:r,handler:o,eventId:s,nodeId:i}=e;if(!t||!r||!o)return false;t instanceof Element&&!t.getAttribute("listener")&&t.setAttribute("listener","true"),n.has(t)||n.set(t,[]);const v={type:r,handler:o};return void 0!==i&&(v.nodeId=i),void 0!==s&&(v.eventId=s),n.get(t).push(v),t.addEventListener(r,o,false),true}function removeAllEventsFromStore(e){const t=n.get(e);if(!t||0===t.length)return false;for(let n=t.length-1;n>=0;n--){const r=t[n];r&&e.removeEventListener(r.type,r.handler,false);}return clearEvent(e,true),true}function removeEventIdFromStore(e){const{element:t,eventId:r}=e,o=n.get(t);if(!o)return false;const s=o.findIndex(e=>e.eventId===r);if(-1===s)return false;const[i]=o.splice(s,1);return i&&t.removeEventListener(i.type,i.handler,false),clearEvent(t),true}const r="SBCoreEvent",o="2.0.0",s=Object.freeze({name:r,version:o,EventTypes:e,EventActions:t,eventRegister,eventUnregister,addEventToStore,removeAllEventsFromStore,removeEventIdFromStore});/*! https://simplybuilder.github.io */
6
6
  /**
@@ -13,7 +13,7 @@ const e={},t={};function eventRegister(n,r){if(!n||!r)return false;const o=n.to
13
13
  */
14
14
  domModuleExtends(s);
15
15
  const name = "SBCore";
16
- const version = "2.0.0";
16
+ const version = "2.0.1";
17
17
  /**
18
18
  * Frozen singleton combining DOM and event capabilities.
19
19
  * Automatically integrates both modules via `domModuleExtends` at import time.
@@ -1,6 +1,6 @@
1
- /*! SBCore version 2.0.0 */
2
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});/*! SBCoreDom version 2.0.0 */
3
- const e={};function addElementToStore(t){const{key:n,value:r}=t;n&&r&&void 0===e[n]&&(e[n]=r)}function removeElementFromStore(t){const{key:n,mode:r=1,EventModule:o={}}=t;if(!n)return!1;try{const t=e[n];return!!t&&(1===r&&"function"==typeof o.removeAllEventsFromStore&&o.removeAllEventsFromStore(t),delete e[n],!0)}catch{return!1}}const t={app:{name:"DomModule",version:"2.0.0"},register:{},allow:{SBCoreEvent:{major:2}},clearExtensions(){for(const e of Object.keys(this.register))delete this.register[e]}};function getAnyExtension(){for(const e of Object.keys(t.register))return t.register[e]}function attachShadow(e,t){return e.attachShadow({mode:t})}function applyAttributes(e,t){t.attr?.length&&function setAttr(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttribute(r.name,r.value)}}({element:e,attrs:t.attr}),"attrNS"in t&&t.attrNS?.length&&function setAttrNS(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttributeNS(null,r.name,r.value)}}({element:e,attrs:t.attrNS}),t.dataset?.length&&function setData(e){const{element:t,dataset:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&(t.dataset[r.name]=r.value,"state"===r.name&&addElementToStore({key:r.value,value:t}))}}({element:e,dataset:t.dataset})}function removeElementFromStoreOrEvents(e){try{const t=getAnyExtension(),n=e;if(n.dataset?.state)return removeElementFromStore({key:n.dataset.state,mode:t?1:2,EventModule:t}),!0;if(t&&"function"==typeof t.removeAllEventsFromStore)return(0,t.removeAllEventsFromStore)(e),!0}catch{}return!1}/*! https://simplybuilder.github.io */
1
+ /*! SBCore version 2.0.1 */
2
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});/*! SBCoreDom version 2.0.1 */
3
+ const e={};function addElementToStore(t){const{key:n,value:r}=t;n&&r&&void 0===e[n]&&(e[n]=r)}function getElementFromStore(t){if(t)return e[t]}function removeElementFromStore(t){const{key:n,mode:r=1,EventModule:o={}}=t;if(!n)return!1;try{const t=e[n];return!!t&&(1===r&&"function"==typeof o.removeAllEventsFromStore&&o.removeAllEventsFromStore(t),delete e[n],!0)}catch{return!1}}const t={app:{name:"DomModule",version:"2.0.1"},register:{},allow:{SBCoreEvent:{major:2}},clearExtensions(){for(const e of Object.keys(this.register))delete this.register[e]}};function getAnyExtension(){for(const e of Object.keys(t.register))return t.register[e]}function attachShadow(e,t){return e.attachShadow({mode:t})}function applyAttributes(e,t){t.attr?.length&&function setAttr(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttribute(r.name,r.value)}}({element:e,attrs:t.attr}),"attrNS"in t&&t.attrNS?.length&&function setAttrNS(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttributeNS(null,r.name,r.value)}}({element:e,attrs:t.attrNS}),t.dataset?.length&&function setData(e){const{element:t,dataset:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&(t.dataset[r.name]=r.value,"state"===r.name&&addElementToStore({key:r.value,value:t}))}}({element:e,dataset:t.dataset})}function removeElementFromStoreOrEvents(e){try{const t=getAnyExtension(),n=e;if(n.dataset?.state)return removeElementFromStore({key:n.dataset.state,mode:t?1:2,EventModule:t}),!0;if(t&&"function"==typeof t.removeAllEventsFromStore)return(0,t.removeAllEventsFromStore)(e),!0}catch{}return!1}/*! https://simplybuilder.github.io */
4
4
  /*! SBCoreEvent version 2.0.0 */
5
- const n={},r={};function eventRegister(e,t){if(!e||!t)return!1;const o=e.toUpperCase();return!n[o]&&(n[o]=e,r[n[o]]=t,!0)}function eventUnregister(e){if(!e)return!1;const t=e.toUpperCase(),o=n[t];return!!o&&(delete n[t],r[o]&&delete r[o],!0)}const o=new Map;function clearEvent(e,t=!1){const n=o.get(e);return(t||n&&0===n.length)&&(o.delete(e),e instanceof Element&&e.removeAttribute("listener")),!0}const s=Object.freeze({name:"SBCoreEvent",version:"2.0.0",EventTypes:n,EventActions:r,eventRegister,eventUnregister,addEventToStore:function addEventToStore(e){const{element:t,type:n,handler:r,eventId:s,nodeId:a}=e;if(!t||!n||!r)return!1;t instanceof Element&&!t.getAttribute("listener")&&t.setAttribute("listener","true"),o.has(t)||o.set(t,[]);const c={type:n,handler:r};return void 0!==a&&(c.nodeId=a),void 0!==s&&(c.eventId=s),o.get(t).push(c),t.addEventListener(n,r,!1),!0},removeAllEventsFromStore:function removeAllEventsFromStore(e){const t=o.get(e);if(!t||0===t.length)return!1;for(let n=t.length-1;n>=0;n--){const r=t[n];r&&e.removeEventListener(r.type,r.handler,!1)}return clearEvent(e,!0),!0},removeEventIdFromStore:function removeEventIdFromStore(e){const{element:t,eventId:n}=e,r=o.get(t);if(!r)return!1;const s=r.findIndex(e=>e.eventId===n);if(-1===s)return!1;const[a]=r.splice(s,1);return a&&t.removeEventListener(a.type,a.handler,!1),clearEvent(t),!0}});/*! https://simplybuilder.github.io */!function domModuleExtends(e){try{const{name:n}=e;if(function validVersionSupport(e){const{name:n,version:r}=e,o=t.allow[n];if(o&&r){const e=r.split(".");if(e.length>=1){if(void 0!==o.major&&e[0]&&o.major>Number(e[0]))return!1;if(void 0!==o.minor&&e[1]&&o.minor>Number(e[1]))return!1;if(void 0!==o.patch&&e[2]&&o.patch>Number(e[2]))return!1}return!0}return!1}(e))return t.register[n]=e,!0}catch{return!1}return!1}(s);const a="SBCore",c="2.0.0",l=Object.freeze({name:a,version:c,getElementFromStore:function getElementFromStore(t){if(t)return e[t]},createFromStruct:function createFromStruct(e){try{if("object"!=typeof e||!e)return!1;const{struct:t,parent:n=document.body}=e;if(!t?.element)return!1;const r=t.type&&"svg"===t.type.toLowerCase(),o=t.attr?Object.entries(t.attr).map(([e,t])=>({name:e,value:t})):[],s=t.dataset?Object.entries(t.dataset).map(([e,t])=>({name:e,value:t})):[];let a;if(r){const e=t.attrNS?Object.entries(t.attrNS).map(([e,t])=>({name:e,value:t})):[];a=function createSVGElement(e={}){try{const{parent:t,element:n}=e,r=document.createElementNS("http://www.w3.org/2000/svg",n.type);return applyAttributes(r,n),t&&(t instanceof HTMLElement||t instanceof SVGElement)&&t.appendChild(r),r}catch(e){return void console.error(e)}}({parent:n,element:{type:t.element,attr:o,attrNS:e,dataset:s}})}else{const e=function createHTMLElement(e={}){try{const{parent:t,element:n,shadow:r}=e,o=document.createElement(n.type);applyAttributes(o,n);const s=t??document.body;if((s instanceof HTMLElement||s instanceof SVGElement||s instanceof ShadowRoot)&&s.appendChild(o),r&&o.dataset?.state){const e=function createShadowFromConfig(e,t){if("string"==typeof t)return attachShadow(e,t);if("object"==typeof t&&null!==t&&"mode"in t){const n=t,r=attachShadow(e,n.mode);if(n.styles&&"undefined"!=typeof CSSStyleSheet)try{const e=new CSSStyleSheet;e.replaceSync(n.styles),r.adoptedStyleSheets=[e]}catch{}return r}}(o,r);if(e)return e}return o}catch(e){return void console.error(e)}}({parent:n,element:{type:t.element,attr:o,dataset:s},shadow:t.shadow});a=e instanceof ShadowRoot?e.host:e}if(!a)return!1;if(void 0!==t.text&&(a.textContent=t.text),void 0!==t.html&&(a.innerHTML=t.html),function createEventElement(e){const{struct:t,element:n}=e,r=getAnyExtension();if(r&&t.event?.action&&t.event?.type){const e=r.EventActions;if(e&&e[t.event.action]){const o={element:n,type:t.event.type,handler:e[t.event.action]};t.event.node&&(o.nodeId=t.event.node),(0,r.addEventToStore)(o)}}}({struct:t,element:a}),t.children&&t.children.length>0)for(const e of t.children)createFromStruct({struct:e,parent:a});return a}catch(e){return console.error(e),!1}},removeElement:function removeElement(e){if(!e)return;removeElementFromStoreOrEvents(e);const t=e.querySelectorAll('[listener="true"]');for(let e=t.length-1;e>=0;e--){const n=t[e];n&&removeElementFromStoreOrEvents(n)}const n=e.querySelectorAll("[data-state]");for(let e=n.length-1;e>=0;e--){const t=n[e];if(t){const e=getAnyExtension();removeElementFromStore({key:t.dataset.state,mode:e?1:2,EventModule:e}),t.removeAttribute("data-state")}}e.remove()},eventRegister,eventUnregister});exports.CoreModule=l,exports.default=l,exports.name=a,exports.version=c;
5
+ const n={},r={};function eventRegister(e,t){if(!e||!t)return!1;const o=e.toUpperCase();return!n[o]&&(n[o]=e,r[n[o]]=t,!0)}function eventUnregister(e){if(!e)return!1;const t=e.toUpperCase(),o=n[t];return!!o&&(delete n[t],r[o]&&delete r[o],!0)}const o=new Map;function clearEvent(e,t=!1){const n=o.get(e);return(t||n&&0===n.length)&&(o.delete(e),e instanceof Element&&e.removeAttribute("listener")),!0}const s=Object.freeze({name:"SBCoreEvent",version:"2.0.0",EventTypes:n,EventActions:r,eventRegister,eventUnregister,addEventToStore:function addEventToStore(e){const{element:t,type:n,handler:r,eventId:s,nodeId:a}=e;if(!t||!n||!r)return!1;t instanceof Element&&!t.getAttribute("listener")&&t.setAttribute("listener","true"),o.has(t)||o.set(t,[]);const c={type:n,handler:r};return void 0!==a&&(c.nodeId=a),void 0!==s&&(c.eventId=s),o.get(t).push(c),t.addEventListener(n,r,!1),!0},removeAllEventsFromStore:function removeAllEventsFromStore(e){const t=o.get(e);if(!t||0===t.length)return!1;for(let n=t.length-1;n>=0;n--){const r=t[n];r&&e.removeEventListener(r.type,r.handler,!1)}return clearEvent(e,!0),!0},removeEventIdFromStore:function removeEventIdFromStore(e){const{element:t,eventId:n}=e,r=o.get(t);if(!r)return!1;const s=r.findIndex(e=>e.eventId===n);if(-1===s)return!1;const[a]=r.splice(s,1);return a&&t.removeEventListener(a.type,a.handler,!1),clearEvent(t),!0}});/*! https://simplybuilder.github.io */!function domModuleExtends(e){try{const{name:n}=e;if(function validVersionSupport(e){const{name:n,version:r}=e,o=t.allow[n];if(o&&r){const e=r.split(".");if(e.length>=1){if(void 0!==o.major&&e[0]&&o.major>Number(e[0]))return!1;if(void 0!==o.minor&&e[1]&&o.minor>Number(e[1]))return!1;if(void 0!==o.patch&&e[2]&&o.patch>Number(e[2]))return!1}return!0}return!1}(e))return t.register[n]=e,!0}catch{return!1}return!1}(s);const a="SBCore",c="2.0.1",l=Object.freeze({name:a,version:c,getElementFromStore,createFromStruct:function createFromStruct(e){try{if("object"!=typeof e||!e)return!1;const{struct:t,parent:n=document.body}=e;if(!t?.element)return!1;const r=t.type&&"svg"===t.type.toLowerCase(),o=t.attr?Object.entries(t.attr).map(([e,t])=>({name:e,value:t})):[],s=t.dataset?Object.entries(t.dataset).map(([e,t])=>({name:e,value:t})):[];let a,c;if(r){const e=t.attrNS?Object.entries(t.attrNS).map(([e,t])=>({name:e,value:t})):[];a=function createSVGElement(e={}){try{const{parent:t,element:n}=e,r=document.createElementNS("http://www.w3.org/2000/svg",n.type);return applyAttributes(r,n),t&&(t instanceof HTMLElement||t instanceof SVGElement)&&t.appendChild(r),r}catch(e){return void console.error(e)}}({parent:n,element:{type:t.element,attr:o,attrNS:e,dataset:s}})}else a=function createHTMLElement(e={}){try{const{parent:t,element:n}=e,r=document.createElement(n.type);applyAttributes(r,n);const o=t??document.body;return(o instanceof HTMLElement||o instanceof SVGElement||o instanceof ShadowRoot)&&o.appendChild(r),r}catch(e){return void console.error(e)}}({parent:n,element:{type:t.element,attr:o,dataset:s}});if(!a)return!1;const l=a.dataset.state;if(t.shadow&&l){const e=getElementFromStore(l);e&&(c=function createShadowFromConfig(e,t){if("string"==typeof t)return attachShadow(e,t);if("object"==typeof t&&null!==t&&"mode"in t){const n=t,r=attachShadow(e,n.mode);if(n.styles&&"undefined"!=typeof CSSStyleSheet)try{const e=new CSSStyleSheet;e.replaceSync(n.styles),r.adoptedStyleSheets=[e]}catch{}return r}}(e,t.shadow))}if(void 0!==t.text&&(a.textContent=t.text),void 0!==t.html&&(a.innerHTML=t.html),function createEventElement(e){const{struct:t,element:n}=e,r=getAnyExtension();if(r&&t.event?.action&&t.event?.type){const e=r.EventActions;if(e&&e[t.event.action]){const o={element:n,type:t.event.type,handler:e[t.event.action]};t.event.node&&(o.nodeId=t.event.node),(0,r.addEventToStore)(o)}}}({struct:t,element:a}),t.children&&t.children.length>0){const e=c??a;for(const n of t.children)createFromStruct({struct:n,parent:e})}return a}catch(e){return console.error(e),!1}},removeElement:function removeElement(e){if(!e)return;removeElementFromStoreOrEvents(e);const t=e.querySelectorAll('[listener="true"]');for(let e=t.length-1;e>=0;e--){const n=t[e];n&&removeElementFromStoreOrEvents(n)}const n=e.querySelectorAll("[data-state]");for(let e=n.length-1;e>=0;e--){const t=n[e];if(t){const e=getAnyExtension();removeElementFromStore({key:t.dataset.state,mode:e?1:2,EventModule:e}),t.removeAttribute("data-state")}}e.remove()},eventRegister,eventUnregister});exports.CoreModule=l,exports.default=l,exports.name=a,exports.version=c;
6
6
  /*! https://simplybuilder.github.io */
@@ -1,6 +1,6 @@
1
- /*! SBCore version 2.0.0 */
2
- /*! SBCoreDom version 2.0.0 */
3
- const e={};function addElementToStore(t){const{key:n,value:r}=t;n&&r&&void 0===e[n]&&(e[n]=r)}function removeElementFromStore(t){const{key:n,mode:r=1,EventModule:o={}}=t;if(!n)return!1;try{const t=e[n];return!!t&&(1===r&&"function"==typeof o.removeAllEventsFromStore&&o.removeAllEventsFromStore(t),delete e[n],!0)}catch{return!1}}const t={app:{name:"DomModule",version:"2.0.0"},register:{},allow:{SBCoreEvent:{major:2}},clearExtensions(){for(const e of Object.keys(this.register))delete this.register[e]}};function getAnyExtension(){for(const e of Object.keys(t.register))return t.register[e]}function attachShadow(e,t){return e.attachShadow({mode:t})}function applyAttributes(e,t){t.attr?.length&&function setAttr(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttribute(r.name,r.value)}}({element:e,attrs:t.attr}),"attrNS"in t&&t.attrNS?.length&&function setAttrNS(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttributeNS(null,r.name,r.value)}}({element:e,attrs:t.attrNS}),t.dataset?.length&&function setData(e){const{element:t,dataset:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&(t.dataset[r.name]=r.value,"state"===r.name&&addElementToStore({key:r.value,value:t}))}}({element:e,dataset:t.dataset})}function removeElementFromStoreOrEvents(e){try{const t=getAnyExtension(),n=e;if(n.dataset?.state)return removeElementFromStore({key:n.dataset.state,mode:t?1:2,EventModule:t}),!0;if(t&&"function"==typeof t.removeAllEventsFromStore)return(0,t.removeAllEventsFromStore)(e),!0}catch{}return!1}/*! https://simplybuilder.github.io */
1
+ /*! SBCore version 2.0.1 */
2
+ /*! SBCoreDom version 2.0.1 */
3
+ const e={};function addElementToStore(t){const{key:n,value:r}=t;n&&r&&void 0===e[n]&&(e[n]=r)}function getElementFromStore(t){if(t)return e[t]}function removeElementFromStore(t){const{key:n,mode:r=1,EventModule:o={}}=t;if(!n)return!1;try{const t=e[n];return!!t&&(1===r&&"function"==typeof o.removeAllEventsFromStore&&o.removeAllEventsFromStore(t),delete e[n],!0)}catch{return!1}}const t={app:{name:"DomModule",version:"2.0.1"},register:{},allow:{SBCoreEvent:{major:2}},clearExtensions(){for(const e of Object.keys(this.register))delete this.register[e]}};function getAnyExtension(){for(const e of Object.keys(t.register))return t.register[e]}function attachShadow(e,t){return e.attachShadow({mode:t})}function applyAttributes(e,t){t.attr?.length&&function setAttr(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttribute(r.name,r.value)}}({element:e,attrs:t.attr}),"attrNS"in t&&t.attrNS?.length&&function setAttrNS(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttributeNS(null,r.name,r.value)}}({element:e,attrs:t.attrNS}),t.dataset?.length&&function setData(e){const{element:t,dataset:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&(t.dataset[r.name]=r.value,"state"===r.name&&addElementToStore({key:r.value,value:t}))}}({element:e,dataset:t.dataset})}function removeElementFromStoreOrEvents(e){try{const t=getAnyExtension(),n=e;if(n.dataset?.state)return removeElementFromStore({key:n.dataset.state,mode:t?1:2,EventModule:t}),!0;if(t&&"function"==typeof t.removeAllEventsFromStore)return(0,t.removeAllEventsFromStore)(e),!0}catch{}return!1}/*! https://simplybuilder.github.io */
4
4
  /*! SBCoreEvent version 2.0.0 */
5
- const n={},r={};function eventRegister(e,t){if(!e||!t)return!1;const o=e.toUpperCase();return!n[o]&&(n[o]=e,r[n[o]]=t,!0)}function eventUnregister(e){if(!e)return!1;const t=e.toUpperCase(),o=n[t];return!!o&&(delete n[t],r[o]&&delete r[o],!0)}const o=new Map;function clearEvent(e,t=!1){const n=o.get(e);return(t||n&&0===n.length)&&(o.delete(e),e instanceof Element&&e.removeAttribute("listener")),!0}const s=Object.freeze({name:"SBCoreEvent",version:"2.0.0",EventTypes:n,EventActions:r,eventRegister,eventUnregister,addEventToStore:function addEventToStore(e){const{element:t,type:n,handler:r,eventId:s,nodeId:a}=e;if(!t||!n||!r)return!1;t instanceof Element&&!t.getAttribute("listener")&&t.setAttribute("listener","true"),o.has(t)||o.set(t,[]);const c={type:n,handler:r};return void 0!==a&&(c.nodeId=a),void 0!==s&&(c.eventId=s),o.get(t).push(c),t.addEventListener(n,r,!1),!0},removeAllEventsFromStore:function removeAllEventsFromStore(e){const t=o.get(e);if(!t||0===t.length)return!1;for(let n=t.length-1;n>=0;n--){const r=t[n];r&&e.removeEventListener(r.type,r.handler,!1)}return clearEvent(e,!0),!0},removeEventIdFromStore:function removeEventIdFromStore(e){const{element:t,eventId:n}=e,r=o.get(t);if(!r)return!1;const s=r.findIndex(e=>e.eventId===n);if(-1===s)return!1;const[a]=r.splice(s,1);return a&&t.removeEventListener(a.type,a.handler,!1),clearEvent(t),!0}});/*! https://simplybuilder.github.io */!function domModuleExtends(e){try{const{name:n}=e;if(function validVersionSupport(e){const{name:n,version:r}=e,o=t.allow[n];if(o&&r){const e=r.split(".");if(e.length>=1){if(void 0!==o.major&&e[0]&&o.major>Number(e[0]))return!1;if(void 0!==o.minor&&e[1]&&o.minor>Number(e[1]))return!1;if(void 0!==o.patch&&e[2]&&o.patch>Number(e[2]))return!1}return!0}return!1}(e))return t.register[n]=e,!0}catch{return!1}return!1}(s);const a="SBCore",c="2.0.0",i=Object.freeze({name:a,version:c,getElementFromStore:function getElementFromStore(t){if(t)return e[t]},createFromStruct:function createFromStruct(e){try{if("object"!=typeof e||!e)return!1;const{struct:t,parent:n=document.body}=e;if(!t?.element)return!1;const r=t.type&&"svg"===t.type.toLowerCase(),o=t.attr?Object.entries(t.attr).map(([e,t])=>({name:e,value:t})):[],s=t.dataset?Object.entries(t.dataset).map(([e,t])=>({name:e,value:t})):[];let a;if(r){const e=t.attrNS?Object.entries(t.attrNS).map(([e,t])=>({name:e,value:t})):[];a=function createSVGElement(e={}){try{const{parent:t,element:n}=e,r=document.createElementNS("http://www.w3.org/2000/svg",n.type);return applyAttributes(r,n),t&&(t instanceof HTMLElement||t instanceof SVGElement)&&t.appendChild(r),r}catch(e){return void console.error(e)}}({parent:n,element:{type:t.element,attr:o,attrNS:e,dataset:s}})}else{const e=function createHTMLElement(e={}){try{const{parent:t,element:n,shadow:r}=e,o=document.createElement(n.type);applyAttributes(o,n);const s=t??document.body;if((s instanceof HTMLElement||s instanceof SVGElement||s instanceof ShadowRoot)&&s.appendChild(o),r&&o.dataset?.state){const e=function createShadowFromConfig(e,t){if("string"==typeof t)return attachShadow(e,t);if("object"==typeof t&&null!==t&&"mode"in t){const n=t,r=attachShadow(e,n.mode);if(n.styles&&"undefined"!=typeof CSSStyleSheet)try{const e=new CSSStyleSheet;e.replaceSync(n.styles),r.adoptedStyleSheets=[e]}catch{}return r}}(o,r);if(e)return e}return o}catch(e){return void console.error(e)}}({parent:n,element:{type:t.element,attr:o,dataset:s},shadow:t.shadow});a=e instanceof ShadowRoot?e.host:e}if(!a)return!1;if(void 0!==t.text&&(a.textContent=t.text),void 0!==t.html&&(a.innerHTML=t.html),function createEventElement(e){const{struct:t,element:n}=e,r=getAnyExtension();if(r&&t.event?.action&&t.event?.type){const e=r.EventActions;if(e&&e[t.event.action]){const o={element:n,type:t.event.type,handler:e[t.event.action]};t.event.node&&(o.nodeId=t.event.node),(0,r.addEventToStore)(o)}}}({struct:t,element:a}),t.children&&t.children.length>0)for(const e of t.children)createFromStruct({struct:e,parent:a});return a}catch(e){return console.error(e),!1}},removeElement:function removeElement(e){if(!e)return;removeElementFromStoreOrEvents(e);const t=e.querySelectorAll('[listener="true"]');for(let e=t.length-1;e>=0;e--){const n=t[e];n&&removeElementFromStoreOrEvents(n)}const n=e.querySelectorAll("[data-state]");for(let e=n.length-1;e>=0;e--){const t=n[e];if(t){const e=getAnyExtension();removeElementFromStore({key:t.dataset.state,mode:e?1:2,EventModule:e}),t.removeAttribute("data-state")}}e.remove()},eventRegister,eventUnregister});export{i as CoreModule,i as default,a as name,c as version};
5
+ const n={},r={};function eventRegister(e,t){if(!e||!t)return!1;const o=e.toUpperCase();return!n[o]&&(n[o]=e,r[n[o]]=t,!0)}function eventUnregister(e){if(!e)return!1;const t=e.toUpperCase(),o=n[t];return!!o&&(delete n[t],r[o]&&delete r[o],!0)}const o=new Map;function clearEvent(e,t=!1){const n=o.get(e);return(t||n&&0===n.length)&&(o.delete(e),e instanceof Element&&e.removeAttribute("listener")),!0}const s=Object.freeze({name:"SBCoreEvent",version:"2.0.0",EventTypes:n,EventActions:r,eventRegister,eventUnregister,addEventToStore:function addEventToStore(e){const{element:t,type:n,handler:r,eventId:s,nodeId:a}=e;if(!t||!n||!r)return!1;t instanceof Element&&!t.getAttribute("listener")&&t.setAttribute("listener","true"),o.has(t)||o.set(t,[]);const c={type:n,handler:r};return void 0!==a&&(c.nodeId=a),void 0!==s&&(c.eventId=s),o.get(t).push(c),t.addEventListener(n,r,!1),!0},removeAllEventsFromStore:function removeAllEventsFromStore(e){const t=o.get(e);if(!t||0===t.length)return!1;for(let n=t.length-1;n>=0;n--){const r=t[n];r&&e.removeEventListener(r.type,r.handler,!1)}return clearEvent(e,!0),!0},removeEventIdFromStore:function removeEventIdFromStore(e){const{element:t,eventId:n}=e,r=o.get(t);if(!r)return!1;const s=r.findIndex(e=>e.eventId===n);if(-1===s)return!1;const[a]=r.splice(s,1);return a&&t.removeEventListener(a.type,a.handler,!1),clearEvent(t),!0}});/*! https://simplybuilder.github.io */!function domModuleExtends(e){try{const{name:n}=e;if(function validVersionSupport(e){const{name:n,version:r}=e,o=t.allow[n];if(o&&r){const e=r.split(".");if(e.length>=1){if(void 0!==o.major&&e[0]&&o.major>Number(e[0]))return!1;if(void 0!==o.minor&&e[1]&&o.minor>Number(e[1]))return!1;if(void 0!==o.patch&&e[2]&&o.patch>Number(e[2]))return!1}return!0}return!1}(e))return t.register[n]=e,!0}catch{return!1}return!1}(s);const a="SBCore",c="2.0.1",l=Object.freeze({name:a,version:c,getElementFromStore,createFromStruct:function createFromStruct(e){try{if("object"!=typeof e||!e)return!1;const{struct:t,parent:n=document.body}=e;if(!t?.element)return!1;const r=t.type&&"svg"===t.type.toLowerCase(),o=t.attr?Object.entries(t.attr).map(([e,t])=>({name:e,value:t})):[],s=t.dataset?Object.entries(t.dataset).map(([e,t])=>({name:e,value:t})):[];let a,c;if(r){const e=t.attrNS?Object.entries(t.attrNS).map(([e,t])=>({name:e,value:t})):[];a=function createSVGElement(e={}){try{const{parent:t,element:n}=e,r=document.createElementNS("http://www.w3.org/2000/svg",n.type);return applyAttributes(r,n),t&&(t instanceof HTMLElement||t instanceof SVGElement)&&t.appendChild(r),r}catch(e){return void console.error(e)}}({parent:n,element:{type:t.element,attr:o,attrNS:e,dataset:s}})}else a=function createHTMLElement(e={}){try{const{parent:t,element:n}=e,r=document.createElement(n.type);applyAttributes(r,n);const o=t??document.body;return(o instanceof HTMLElement||o instanceof SVGElement||o instanceof ShadowRoot)&&o.appendChild(r),r}catch(e){return void console.error(e)}}({parent:n,element:{type:t.element,attr:o,dataset:s}});if(!a)return!1;const l=a.dataset.state;if(t.shadow&&l){const e=getElementFromStore(l);e&&(c=function createShadowFromConfig(e,t){if("string"==typeof t)return attachShadow(e,t);if("object"==typeof t&&null!==t&&"mode"in t){const n=t,r=attachShadow(e,n.mode);if(n.styles&&"undefined"!=typeof CSSStyleSheet)try{const e=new CSSStyleSheet;e.replaceSync(n.styles),r.adoptedStyleSheets=[e]}catch{}return r}}(e,t.shadow))}if(void 0!==t.text&&(a.textContent=t.text),void 0!==t.html&&(a.innerHTML=t.html),function createEventElement(e){const{struct:t,element:n}=e,r=getAnyExtension();if(r&&t.event?.action&&t.event?.type){const e=r.EventActions;if(e&&e[t.event.action]){const o={element:n,type:t.event.type,handler:e[t.event.action]};t.event.node&&(o.nodeId=t.event.node),(0,r.addEventToStore)(o)}}}({struct:t,element:a}),t.children&&t.children.length>0){const e=c??a;for(const n of t.children)createFromStruct({struct:n,parent:e})}return a}catch(e){return console.error(e),!1}},removeElement:function removeElement(e){if(!e)return;removeElementFromStoreOrEvents(e);const t=e.querySelectorAll('[listener="true"]');for(let e=t.length-1;e>=0;e--){const n=t[e];n&&removeElementFromStoreOrEvents(n)}const n=e.querySelectorAll("[data-state]");for(let e=n.length-1;e>=0;e--){const t=n[e];if(t){const e=getAnyExtension();removeElementFromStore({key:t.dataset.state,mode:e?1:2,EventModule:e}),t.removeAttribute("data-state")}}e.remove()},eventRegister,eventUnregister});export{l as CoreModule,l as default,a as name,c as version};
6
6
  /*! https://simplybuilder.github.io */
package/lib/main.esm.mjs CHANGED
@@ -1,6 +1,6 @@
1
- /*! SBCore version 2.0.0 */
2
- /*! SBCoreDom version 2.0.0 */
3
- const e$1={};function addElementToStore(t){const{key:n,value:r}=t;n&&r&&void 0===e$1[n]&&(e$1[n]=r);}function getElementFromStore(t){if(t)return e$1[t]}function removeElementFromStore(t){const{key:n,mode:r=1,EventModule:o={}}=t;if(!n)return false;try{const t=e$1[n];return !!t&&(1===r&&"function"==typeof o.removeAllEventsFromStore&&o.removeAllEventsFromStore(t),delete e$1[n],!0)}catch{return false}}const t$1={app:{name:"DomModule",version:"2.0.0"},register:{},allow:{SBCoreEvent:{major:2}},clearExtensions(){for(const e of Object.keys(this.register))delete this.register[e];}};function validVersionSupport(e){const{name:n,version:r}=e,o=t$1.allow[n];if(o&&r){const e=r.split(".");if(e.length>=1){if(void 0!==o.major&&e[0]&&o.major>Number(e[0]))return false;if(void 0!==o.minor&&e[1]&&o.minor>Number(e[1]))return false;if(void 0!==o.patch&&e[2]&&o.patch>Number(e[2]))return false}return true}return false}function domModuleExtends(e){try{const{name:n}=e;if(validVersionSupport(e))return t$1.register[n]=e,!0}catch{return false}return false}function getAnyExtension(){for(const e of Object.keys(t$1.register))return t$1.register[e]}function setAttr(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttribute(r.name,r.value);}}function setAttrNS(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttributeNS(null,r.name,r.value);}}function setData(e){const{element:t,dataset:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&(t.dataset[r.name]=r.value,"state"===r.name&&addElementToStore({key:r.value,value:t}));}}function attachShadow(e,t){return e.attachShadow({mode:t})}function applyAttributes(e,t){t.attr?.length&&setAttr({element:e,attrs:t.attr}),"attrNS"in t&&t.attrNS?.length&&setAttrNS({element:e,attrs:t.attrNS}),t.dataset?.length&&setData({element:e,dataset:t.dataset});}function createHTMLElement(e={}){try{const{parent:t,element:n,shadow:r}=e,o=document.createElement(n.type);applyAttributes(o,n);const a=t??document.body;if((a instanceof HTMLElement||a instanceof SVGElement||a instanceof ShadowRoot)&&a.appendChild(o),r&&o.dataset?.state){const e=function createShadowFromConfig(e,t){if("string"==typeof t)return attachShadow(e,t);if("object"==typeof t&&null!==t&&"mode"in t){const n=t,r=attachShadow(e,n.mode);if(n.styles&&"undefined"!=typeof CSSStyleSheet)try{const e=new CSSStyleSheet;e.replaceSync(n.styles),r.adoptedStyleSheets=[e];}catch{}return r}}(o,r);if(e)return e}return o}catch(e){return void console.error(e)}}function createSVGElement(e={}){try{const{parent:t,element:n}=e,r=document.createElementNS("http://www.w3.org/2000/svg",n.type);return applyAttributes(r,n),t&&(t instanceof HTMLElement||t instanceof SVGElement)&&t.appendChild(r),r}catch(e){return void console.error(e)}}function createEventElement(e){const{struct:t,element:n}=e,r=getAnyExtension();if(r&&t.event?.action&&t.event?.type){const e=r.EventActions;if(e&&e[t.event.action]){const o={element:n,type:t.event.type,handler:e[t.event.action]};t.event.node&&(o.nodeId=t.event.node);(0, r.addEventToStore)(o);}}}function createFromStruct(e){try{if("object"!=typeof e||!e)return !1;const{struct:t,parent:n=document.body}=e;if(!t?.element)return !1;const r=t.type&&"svg"===t.type.toLowerCase(),o=t.attr?Object.entries(t.attr).map(([e,t])=>({name:e,value:t})):[],a=t.dataset?Object.entries(t.dataset).map(([e,t])=>({name:e,value:t})):[];let l;if(r){const e=t.attrNS?Object.entries(t.attrNS).map(([e,t])=>({name:e,value:t})):[];l=createSVGElement({parent:n,element:{type:t.element,attr:o,attrNS:e,dataset:a}});}else {const e=createHTMLElement({parent:n,element:{type:t.element,attr:o,dataset:a},shadow:t.shadow});l=e instanceof ShadowRoot?e.host:e;}if(!l)return !1;if(void 0!==t.text&&(l.textContent=t.text),void 0!==t.html&&(l.innerHTML=t.html),createEventElement({struct:t,element:l}),t.children&&t.children.length>0)for(const e of t.children)createFromStruct({struct:e,parent:l});return l}catch(e){return console.error(e),false}}function removeElementFromStoreOrEvents(e){try{const t=getAnyExtension(),n=e;if(n.dataset?.state)return removeElementFromStore({key:n.dataset.state,mode:t?1:2,EventModule:t}),!0;if(t&&"function"==typeof t.removeAllEventsFromStore){return (0,t.removeAllEventsFromStore)(e),!0}}catch{}return false}function removeElement(e){if(!e)return;removeElementFromStoreOrEvents(e);const t=e.querySelectorAll('[listener="true"]');for(let e=t.length-1;e>=0;e--){const n=t[e];n&&removeElementFromStoreOrEvents(n);}const n=e.querySelectorAll("[data-state]");for(let e=n.length-1;e>=0;e--){const t=n[e];if(t){const e=getAnyExtension();removeElementFromStore({key:t.dataset.state,mode:e?1:2,EventModule:e}),t.removeAttribute("data-state");}}e.remove();}/*! https://simplybuilder.github.io */
1
+ /*! SBCore version 2.0.1 */
2
+ /*! SBCoreDom version 2.0.1 */
3
+ const e$1={};function addElementToStore(t){const{key:n,value:r}=t;n&&r&&void 0===e$1[n]&&(e$1[n]=r);}function getElementFromStore(t){if(t)return e$1[t]}function removeElementFromStore(t){const{key:n,mode:r=1,EventModule:o={}}=t;if(!n)return false;try{const t=e$1[n];return !!t&&(1===r&&"function"==typeof o.removeAllEventsFromStore&&o.removeAllEventsFromStore(t),delete e$1[n],!0)}catch{return false}}const t$1={app:{name:"DomModule",version:"2.0.1"},register:{},allow:{SBCoreEvent:{major:2}},clearExtensions(){for(const e of Object.keys(this.register))delete this.register[e];}};function validVersionSupport(e){const{name:n,version:r}=e,o=t$1.allow[n];if(o&&r){const e=r.split(".");if(e.length>=1){if(void 0!==o.major&&e[0]&&o.major>Number(e[0]))return false;if(void 0!==o.minor&&e[1]&&o.minor>Number(e[1]))return false;if(void 0!==o.patch&&e[2]&&o.patch>Number(e[2]))return false}return true}return false}function domModuleExtends(e){try{const{name:n}=e;if(validVersionSupport(e))return t$1.register[n]=e,!0}catch{return false}return false}function getAnyExtension(){for(const e of Object.keys(t$1.register))return t$1.register[e]}function setAttr(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttribute(r.name,r.value);}}function setAttrNS(e){const{element:t,attrs:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&t.setAttributeNS(null,r.name,r.value);}}function setData(e){const{element:t,dataset:n}=e;if(n&&0!==n.length)for(let e=n.length-1;e>=0;e--){const r=n[e];r?.name&&(t.dataset[r.name]=r.value,"state"===r.name&&addElementToStore({key:r.value,value:t}));}}function attachShadow(e,t){return e.attachShadow({mode:t})}function applyAttributes(e,t){t.attr?.length&&setAttr({element:e,attrs:t.attr}),"attrNS"in t&&t.attrNS?.length&&setAttrNS({element:e,attrs:t.attrNS}),t.dataset?.length&&setData({element:e,dataset:t.dataset});}function createHTMLElement(e={}){try{const{parent:t,element:n}=e,r=document.createElement(n.type);applyAttributes(r,n);const o=t??document.body;return (o instanceof HTMLElement||o instanceof SVGElement||o instanceof ShadowRoot)&&o.appendChild(r),r}catch(e){return void console.error(e)}}function createSVGElement(e={}){try{const{parent:t,element:n}=e,r=document.createElementNS("http://www.w3.org/2000/svg",n.type);return applyAttributes(r,n),t&&(t instanceof HTMLElement||t instanceof SVGElement)&&t.appendChild(r),r}catch(e){return void console.error(e)}}function createEventElement(e){const{struct:t,element:n}=e,r=getAnyExtension();if(r&&t.event?.action&&t.event?.type){const e=r.EventActions;if(e&&e[t.event.action]){const o={element:n,type:t.event.type,handler:e[t.event.action]};t.event.node&&(o.nodeId=t.event.node);(0, r.addEventToStore)(o);}}}function createFromStruct(e){try{if("object"!=typeof e||!e)return !1;const{struct:t,parent:n=document.body}=e;if(!t?.element)return !1;const r=t.type&&"svg"===t.type.toLowerCase(),o=t.attr?Object.entries(t.attr).map(([e,t])=>({name:e,value:t})):[],a=t.dataset?Object.entries(t.dataset).map(([e,t])=>({name:e,value:t})):[];let l,c;if(r){const e=t.attrNS?Object.entries(t.attrNS).map(([e,t])=>({name:e,value:t})):[];l=createSVGElement({parent:n,element:{type:t.element,attr:o,attrNS:e,dataset:a}});}else {l=createHTMLElement({parent:n,element:{type:t.element,attr:o,dataset:a}});}if(!l)return !1;const m=l.dataset.state;if(t.shadow&&m){const e=getElementFromStore(m);e&&(c=function createShadowFromConfig(e,t){if("string"==typeof t)return attachShadow(e,t);if("object"==typeof t&&null!==t&&"mode"in t){const n=t,r=attachShadow(e,n.mode);if(n.styles&&"undefined"!=typeof CSSStyleSheet)try{const e=new CSSStyleSheet;e.replaceSync(n.styles),r.adoptedStyleSheets=[e];}catch{}return r}}(e,t.shadow));}if(void 0!==t.text&&(l.textContent=t.text),void 0!==t.html&&(l.innerHTML=t.html),createEventElement({struct:t,element:l}),t.children&&t.children.length>0){const e=c??l;for(const n of t.children)createFromStruct({struct:n,parent:e});}return l}catch(e){return console.error(e),false}}function removeElementFromStoreOrEvents(e){try{const t=getAnyExtension(),n=e;if(n.dataset?.state)return removeElementFromStore({key:n.dataset.state,mode:t?1:2,EventModule:t}),!0;if(t&&"function"==typeof t.removeAllEventsFromStore){return (0,t.removeAllEventsFromStore)(e),!0}}catch{}return false}function removeElement(e){if(!e)return;removeElementFromStoreOrEvents(e);const t=e.querySelectorAll('[listener="true"]');for(let e=t.length-1;e>=0;e--){const n=t[e];n&&removeElementFromStoreOrEvents(n);}const n=e.querySelectorAll("[data-state]");for(let e=n.length-1;e>=0;e--){const t=n[e];if(t){const e=getAnyExtension();removeElementFromStore({key:t.dataset.state,mode:e?1:2,EventModule:e}),t.removeAttribute("data-state");}}e.remove();}/*! https://simplybuilder.github.io */
4
4
  /*! SBCoreEvent version 2.0.0 */
5
5
  const e={},t={};function eventRegister(n,r){if(!n||!r)return false;const o=n.toUpperCase();return !e[o]&&(e[o]=n,t[e[o]]=r,true)}function eventUnregister(n){if(!n)return false;const r=n.toUpperCase(),o=e[r];return !!o&&(delete e[r],t[o]&&delete t[o],true)}const n=new Map;function clearEvent(e,t=false){const r=n.get(e);return (t||r&&0===r.length)&&(n.delete(e),e instanceof Element&&e.removeAttribute("listener")),true}function addEventToStore(e){const{element:t,type:r,handler:o,eventId:s,nodeId:i}=e;if(!t||!r||!o)return false;t instanceof Element&&!t.getAttribute("listener")&&t.setAttribute("listener","true"),n.has(t)||n.set(t,[]);const v={type:r,handler:o};return void 0!==i&&(v.nodeId=i),void 0!==s&&(v.eventId=s),n.get(t).push(v),t.addEventListener(r,o,false),true}function removeAllEventsFromStore(e){const t=n.get(e);if(!t||0===t.length)return false;for(let n=t.length-1;n>=0;n--){const r=t[n];r&&e.removeEventListener(r.type,r.handler,false);}return clearEvent(e,true),true}function removeEventIdFromStore(e){const{element:t,eventId:r}=e,o=n.get(t);if(!o)return false;const s=o.findIndex(e=>e.eventId===r);if(-1===s)return false;const[i]=o.splice(s,1);return i&&t.removeEventListener(i.type,i.handler,false),clearEvent(t),true}const r="SBCoreEvent",o="2.0.0",s=Object.freeze({name:r,version:o,EventTypes:e,EventActions:t,eventRegister,eventUnregister,addEventToStore,removeAllEventsFromStore,removeEventIdFromStore});/*! https://simplybuilder.github.io */
6
6
  /**
@@ -13,7 +13,7 @@ const e={},t={};function eventRegister(n,r){if(!n||!r)return false;const o=n.to
13
13
  */
14
14
  domModuleExtends(s);
15
15
  const name = "SBCore";
16
- const version = "2.0.0";
16
+ const version = "2.0.1";
17
17
  /**
18
18
  * Frozen singleton combining DOM and event capabilities.
19
19
  * Automatically integrates both modules via `domModuleExtends` at import time.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplybuilder/core",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "main": "lib/main.commonjs.min.cjs",
5
5
  "module": "lib/main.esm.min.mjs",
6
6
  "types": "lib/sb-core.d.ts",
@@ -55,7 +55,7 @@
55
55
  }
56
56
  ],
57
57
  "dependencies": {
58
- "@simplybuilder/core-dom": "2.0.0",
58
+ "@simplybuilder/core-dom": "2.0.1",
59
59
  "@simplybuilder/core-event": "2.0.0"
60
60
  },
61
61
  "devDependencies": {