@reactive-web-components/rwc 2.60.3 → 2.61.6
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/main.d.ts +0 -5
- package/package.json +5 -5
- package/reactive-web-component.B46eIyPx.js +1097 -0
- package/reactive-web-component.D0ciMQRw.umd.cjs +2 -0
- package/shared/utils/html-elements/dd-list.d.ts +3 -0
- package/shared/utils/html-elements/element.d.ts +2 -1
- package/shared/utils/html-elements/get-list.d.ts +3 -0
- package/shared/utils/html-elements/index.d.ts +2 -0
- package/shared/utils/signal/signal.d.ts +1 -1
- package/reactive-web-component.Dgp6Cnfz.umd.cjs +0 -2
- package/reactive-web-component.DiO79eYt.js +0 -988
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(function(r,A){typeof exports=="object"&&typeof module<"u"?A(exports):typeof define=="function"&&define.amd?define(["exports"],A):(r=typeof globalThis<"u"?globalThis:r||self,A(r.ReactiveComponent={}))})(this,function(r){"use strict";var fn=Object.defineProperty;var hn=(r,A,_)=>A in r?fn(r,A,{enumerable:!0,configurable:!0,writable:!0,value:_}):r[A]=_;var u=(r,A,_)=>hn(r,typeof A!="symbol"?A+"":A,_);const A=e=>e&&typeof e=="object"&&("classList"in e||"attributes"in e||"customAttributes"in e||"reactiveClassList"in e||"listeners"in e||"customListeners"in e||"children"in e||"effects"in e||"style"in e||Object.keys(e).some(t=>t.startsWith(".")||t.startsWith("@")||t.startsWith("$")))&&!("hostElement"in e),_=e=>e&&typeof e=="object"&&"hostElement"in e&&"append"in e&&"set"in e&&"addStyle"in e&&"setAttribute"in e&&"addClass"in e&&"addEffect"in e&&"addReactiveContent"in e&&"setReactiveContent"in e&&"clear"in e,D=(e,t,...n)=>{t&&t.apply(e,n)};let G=!0;const S=(...e)=>{G&&console.debug(["[rwc]",...e].join(" | "),...Array.from(e.join("").matchAll(/%c/gm)).map((t,n)=>n%2===0?"color:red":"color:inherit"))},B=e=>e.replace(/([A-Z])/gm,t=>`-${t.toLowerCase()}`),ot=e=>e.replace(/-(\w)/gm,(t,n)=>n.toUpperCase()),F=(e,...t)=>{if(!G)return;const n={r:"color: #ff0000",g:"color: #00ff00",b:"color: #0000ff",y:"color: #ffff00",p:"color: #800080",c:"color: #00ffff",o:"color: #ffa500",w:"color: #808080"},s=e.match(/@[rgbpycow]/g)||[],o=s.map(c=>{const a=c.slice(1);return n[a]||"color: inherit"});let i=e;s.forEach(c=>{const a=new RegExp(`\\${c}([^\\s,]+)`,"g");i=i.replace(a,"%c$1")}),console.log(i,...o,...t)},jt=()=>{G=!0},rt=()=>{G=!1};rt();const Ot=(e,t)=>{e.every(Boolean)&&t(e)},N=new Set;let K=!1;const it=()=>{if(K=!1,N.size===0)return;const e=Array.from(N);N.clear(),e.forEach(t=>{t.status==="active"&&(Y(t),O.push(t),t(),O.pop())}),N.size>0&&(K=!0,Promise.resolve().then(it))},Mt=e=>{N.add(e),K||(K=!0,Promise.resolve().then(it))},O=[],Y=e=>{var t,n,s,o;(t=e.children)==null||t.forEach(i=>{var c;return(c=i.destroy)==null?void 0:c.call(i)}),(n=e.children)==null||n.clear(),(s=e.cleanupSet)==null||s.forEach(i=>i()),(o=e.cleanupSet)==null||o.clear()};function T(e,t){let n=(t==null?void 0:t.signalCompareFn)||(()=>!0);const s=new Set;function o(){var c;const i=O[O.length-1];return i&&!i.fake&&!s.has(i)&&i.status==="active"&&(s.add(i),(c=i.cleanupSet)==null||c.add(()=>s.delete(i))),!(t!=null&&t.name)&&(i!=null&&i.effectId)&&o.setName(i.effectId),e}return o.signalId=`${(t==null?void 0:t.name)||""}_${Math.random().toString(36).substring(2,15)}`,o.setName=function(i){return o.signalId=`${i}_${Math.random().toString(36).substring(2,15)}`,o},o.setCompareFn=function(i){return n=i,o},o.clearSubscribers=function(){s.clear()},o.getSubscribers=function(){return s},o.peek=function(){return Object.freeze(e)},o.initValue=Object.freeze(e),o.forceSet=function(i){e=i,s.forEach(c=>{Mt(c)})},o.set=function(i,c=n){e!==i&&c(e,i)&&o.forceSet(i)},o.update=function(i){o.set(i(e))},o.pipe=(i,c)=>{c!=null&&c.name&&o.setName(c.name);const a=T(null);return v(()=>{const d=o();v(()=>{const h=i(d);h instanceof Promise?h.then(E=>a.set(E)):R(h)?v(()=>a.set(h()),{name:"pipe_effect_inner"}):a.set(h)},{name:"pipe_effect"})},{name:(c==null?void 0:c.name)||`pipe_${o.signalId}`}),a},o}function v(e,t){var i;const n=`${(t==null?void 0:t.name)||""}_${Math.random().toString(36).substring(2,15)}`;S("current effect",`%c${n}%c`);const s=e;s.status="active",s.children=new Set,s.effectId=n;const o=O[O.length-1];o&&((i=o.children)==null||i.add(s),s.parent=new WeakRef(o),s.destroy=()=>{var c;Y(s),(c=o.children)==null||c.delete(s),s.destroy=void 0,s.status="inactive"}),s.cleanupSet=new Set,O.push(s),s(),O.pop()}const R=e=>!!e&&["object","function"].includes(typeof e)&&"set"in e&&"update"in e&&"forceSet"in e&&"signalId"in e;function $t(e,...t){const n=T("");return v(()=>{const s=t.map(i=>R(i)?String(i()):String(i)),o=[e[0]];s.forEach((i,c)=>{o.push(i,e[c+1])}),n.set(o.join(""))}),n}function _t(e,t){const n=T(t??null),s=o=>n.set(o);return e instanceof Promise?e.then(s):typeof e=="function"&&v(()=>{const o=e();o instanceof Promise?o.then(s):R(o)?v(()=>s(o())):s(o)}),n}function Ht(e,t){let n=e(),s=t();v(()=>{const o=e(),i=t();o!==i&&(o!==n?t.set(o):i!==s&&e.set(i)),n=o,s=i})}function Wt(...e){let t=e.map(s=>s());const n=T(t);return e.forEach((s,o)=>{v(()=>{const i=()=>t.filter(c=>c!==void 0).length;i()===e.length&&(t=Array.from(t).fill(void 0)),t[o]=s(),i()===e.length&&n.set([...t])})}),n}const kt=(...e)=>{const t=T([]);return v(()=>{t.set(e.map(n=>n()))}),t},Z="eventProps",U="EVENT_CONFIG",V="observedAttributes",Pt=()=>(e,t)=>{Reflect.get(e,V)||Reflect.defineProperty(e,V,{value:[]}),Reflect.get(e,V).push(B(t))},Bt=e=>(t,n)=>{Reflect.get(t,Z)||Reflect.defineProperty(t,Z,{value:[]}),Reflect.get(t,U)||Reflect.defineProperty(t,U,{value:{}}),Reflect.get(t,U)[n]={bubbles:(e==null?void 0:e.bubbles)??!1,composed:(e==null?void 0:e.composed)??!1},Reflect.get(t,Z).push(n)},x=(e,t=!1)=>n=>{S(e,"start register static attr",n.prototype[V]);const s=[];if(n.styles){const i=n.styles,c=[];Array.isArray(i)?c.push(...i):c.push(i),c.forEach(a=>{const d=new CSSStyleSheet;d.replaceSync(a),s.push(d);const b=new CSSStyleSheet;b.replaceSync(a.slice(a.indexOf("@property"))),document.adoptedStyleSheets.push(b)})}class o extends n{constructor(...c){S("constructor",`%c${e}%c`),super(t,...c),s.length>0&&this.shadow.adoptedStyleSheets.push(...s)}render(){return S("rwc: render from new class"),n.prototype.render.call(this)}attributeChangedCallback(c,a,d){S("%cAttribute has changed.%c",`%c${c}%c`,`oldValue: ${a}, newValue: ${d}`,`%c${e}%c`);try{d=JSON.parse(d)}catch{}const b=ot(c);if(b in this&&R(this[b])){const h=this[b];h.setName(c),d===null?(h.set(h.initValue),this.removeAttribute(c)):h.set(d)}D(this,n.prototype.attributeChangedCallback,c,a,d)}connectedCallback(){const c=()=>{var d,b;S("rwc: connectedCallback"),S("connectedCallback",`%c${e}%c`,this),(d=this.init)==null||d.call(this),this.providers&&Object.keys(this.providers).length>0&&(S("WRAPPER for providers",e),Object.entries(this.providers).forEach(([h,f])=>{S("register provider",h,f()),this.addEventListener(h,E=>{var m;S("send provider",h,f());const p=E;((m=p.detail)==null?void 0:m.context)===h&&(p.stopPropagation(),p.detail.callback(f))})})),this.checkInjects(),(b=n.prototype[Z])==null||b.forEach(h=>{this[h]=f=>{const E=n.prototype[U][h],{bubbles:p,composed:m}=E;R(f)?v(()=>{F("@oemit reactive value",f()),this.dispatchEvent(new CustomEvent(h,{detail:f(),bubbles:p,composed:m}))}):(F("@oemit value",f),this.dispatchEvent(new CustomEvent(h,{detail:f,bubbles:p,composed:m})))}}),S("start render",`%c${e}%c`,e);const a=()=>{S("rwc: insertRenderTemplate");const f=this.render().hostElement;f&&this.shadow.appendChild(f),D(this,n.prototype.connectedCallback),this.appendSlotContent()};if(this.rootStyle&&!n.styles){const h=p=>p instanceof Promise||Array.isArray(p)&&p.every(m=>m instanceof Promise),f=this.rootStyle,E=p=>{const m=new CSSStyleSheet;m.replaceSync(p),this.shadow.adoptedStyleSheets.push(m);const w=new CSSStyleSheet;w.replaceSync(p.slice(p.indexOf("@property"))),document.adoptedStyleSheets.push(w)};if(h(f)){const p=[];Array.isArray(f)?p.push(...f):p.push(f),Promise.all(p).then(m=>m.forEach(w=>E(w.default))).then(()=>a())}else{const p=[];Array.isArray(f)?p.push(...f):p.push(f),p.forEach(m=>E(m)),a()}}else a();this.slotContext&&Object.keys(this.slotContext).length>0&&this.shadow.querySelectorAll("slot").forEach(h=>{S(this.slotContext,this.slotContext&&this.slotContext[h.name]),F("@bslot element",h,`name:${h.name};`,h.assignedElements()),h.assignedElements().forEach(f=>{const E=this.slotContext[h.name];this.slotContext&&R(E)&&(F("@oslot element",h,`name:${h.name};`,h.assignedElements()),v(()=>{f.dispatchEvent(new CustomEvent("handleSlotContext",{detail:E()}))}))})})};c.fake=!0,c.component=new WeakRef(this),this.effectSet.add(new WeakRef(c)),v(c,{name:"FAKE_wrapperEffect"})}disconnectedCallback(){this.allSlotContent=[],this.slotContent={},this.htmlSlotContent={},this.effectSet.forEach(c=>{var a,d;return(d=(a=c.deref())==null?void 0:a.destroy)==null?void 0:d.call(a)}),this.effectSet.clear(),this.shadow.replaceChildren(),this.replaceChildren(),D(this,n.prototype.disconnectedCallback)}}return u(o,"observedAttributes",n.prototype[V]??[]),u(o,"renderTagName",e),o.toString=()=>e,customElements.get(e)?console.error(`название тега ${e} повторяется, компонент ${n.name} не зарегистрирован`):customElements.define(e,o),n.renderTagName=e,n};class H extends HTMLElement{constructor(n=!1){super();u(this,"init");u(this,"isSlotLazyLoading",!1);u(this,"slotTemplate");u(this,"slotContext");u(this,"rootStyle");u(this,"modelValue");u(this,"providers");u(this,"effectSet",new Set);u(this,"appendAllSlotContent");u(this,"allSlotContent",[]);u(this,"slotContent",{});u(this,"htmlSlotContent",{});u(this,"shadow");u(this,"injects",{});this.shadow=this.attachShadow({mode:n?"closed":"open"})}appendChild(n,s=!0){var o;if(this.isSlotLazyLoading&&s){if(n instanceof HTMLElement){const i=n.slot||"default";this.htmlSlotContent[i]||(this.htmlSlotContent[i]=[]),(o=this.htmlSlotContent[i])==null||o.push(n)}}else return super.appendChild(n)}appendSlotContent(){var n;(n=this.appendAllSlotContent)==null||n.call(this)}inject(n){return S("%cinject%c",n),this.injects[n]||(this.injects[n]=T(null)),this.injects[n]}checkInjects(){Object.entries(this.injects).forEach(([n,s])=>{S("%cinject%c",`%c${n}%c`,"from BaseElement (dispatch event)"),this.shadow.dispatchEvent(new CustomEvent(n,{detail:{context:n,callback:o=>v(()=>{s.set(o())},{name:n})},bubbles:!0,composed:!0}))})}setReactiveValue(n){this.modelValue=n}}u(H,"observedAttributes",[]),u(H,"renderTagName",""),u(H,"styles");const Ft=e=>"render"in e&&"setReactiveValue"in e,Nt="handleSlotContext",ct="onConnected",lt=e=>typeof e=="string"?e:JSON.stringify(e),Vt=e=>{const t=document.createElement("span");return t.textContent=lt(e),t},at=(e,t)=>(e.appendChild(Vt(t)),e),Jt=(e,t)=>(e.replaceChildren(),at(e,t)),dt=e=>{const t=document.createElement("span");return v(()=>{const n=e();t.textContent=lt(n)}),t};class ft{constructor(t){u(this,"wrapper");u(this,"keyedEffects",new Map);u(this,"append",(...t)=>(t.forEach(n=>{var o;const s=n.hostElement;s&&((o=this.hostElement)==null||o.appendChild(s),ct in s&&setTimeout(()=>{var i;(i=s.onConnected)==null||i.call(s,n,s)}))}),this));u(this,"set",(...t)=>{var s;this.clear();const n=document.createDocumentFragment();return t.forEach(o=>{const i=o.hostElement;i&&n.appendChild(i)}),(s=this.hostElement)==null||s.appendChild(n),this});u(this,"removeChild",(...t)=>(t.forEach(n=>{var s,o;if(Array.from(((s=this.hostElement)==null?void 0:s.childNodes.values())||[]).some(i=>i===n.hostElement)){const i=n.hostElement;i&&((o=this.hostElement)==null||o.removeChild(i))}}),this));u(this,"addHtmlContent",t=>{const n=this.hostElement;return n?(at(n,t),this):this});u(this,"setHtmlContent",t=>{const n=this.hostElement;return n?(Jt(n,t),this):this});u(this,"setAttribute",(t,n)=>{var i;const s=this.hostElement;if(!s)return this;let o;if(typeof n=="boolean"&&!(s instanceof H))if(n)o="";else{this.removeAttribute(t);const c=t.toLowerCase();return c in s&&(s[c]=null),this}else typeof n!="string"?o=JSON.stringify(n):o=n;if((i=this.hostElement)==null||i.setAttribute(B(t),o),!(s instanceof H)){const c=t.toLowerCase();c in s&&(s[c]=n)}return this});u(this,"setCustomAttribute",(t,n)=>{var o;let s;return typeof n!="string"?s=JSON.stringify(n):s=n,(o=this.hostElement)==null||o.setAttribute(B(t),s),this});u(this,"setReactiveAttribute",(t,n)=>(this.addEffect(s=>{s.setAttribute(t,n())},t),this));u(this,"setReactiveCustomAttribute",(t,n)=>(this.addEffect(s=>{s.setCustomAttribute(t,n())}),this));u(this,"removeAttribute",t=>{var n;return(n=this.hostElement)==null||n.removeAttribute(B(t)),this});u(this,"addStyle",t=>{const n=this.hostElement;return n?(Object.entries(t).forEach(([s,o])=>{const i=s.startsWith("--");typeof o=="function"?this.addEffect(()=>{if(i){const c=String(o()||"");n.style.setProperty(s,c)}else n.style[s]=o()}):typeof o=="string"&&(i?n.style.setProperty(s,o):n.style[s]=o)}),this):this});u(this,"onConnected",t=>this.hostElement?(Reflect.defineProperty(this.hostElement,ct,{get(){return t}}),this):this);u(this,"addClass",(...t)=>(t.forEach(n=>{var s;typeof n=="string"?(s=this.hostElement)==null||s.classList.add(...n.split(" ").flatMap(o=>o.split(`
|
|
2
|
+
`)).map(o=>o.trim()).filter(Boolean)):(()=>{let o=null;this.addEffect(()=>{const i=n();i.length>0&&(o?this.replaceClass(o,i):this.addClass(i),o=i)})})()}),this));u(this,"setClass",(...t)=>{var n,s,o;return(s=this.hostElement)==null||s.classList.remove(...((n=this.hostElement)==null?void 0:n.classList)||[]),(o=this.hostElement)==null||o.classList.add(...t),this});u(this,"addReactiveClass",t=>(Object.keys(t).forEach(n=>{this.addEffect(s=>{t[n]()?s.addClass(n):s.removeClass(n)})}),this));u(this,"removeClass",(...t)=>{var n;return(n=this.hostElement)==null||n.classList.remove(...t),this});u(this,"replaceClass",(t,n)=>{var s;return(s=this.hostElement)==null||s.classList.replace(t,n),this});u(this,"addEffect",(t,n)=>{var i,c;const s=this.hostElement;if(!s)return this;const o=()=>t(this,s);if(n){const a=(i=this.keyedEffects.get(n))==null?void 0:i.deref();a&&Y(a)}return(c=s.effectSet)==null||c.add(new WeakRef(o)),o.component=this.wrapper,v(o,{name:(n==null?void 0:n.toString())||s.tagName}),this});u(this,"addReactiveContent",t=>{var n;return(n=this.hostElement)==null||n.appendChild(dt(t)),this});u(this,"setReactiveContent",t=>{var n;return this.clear(),(n=this.hostElement)==null||n.appendChild(dt(t)),this});u(this,"clear",()=>{var t;return(t=this.hostElement)==null||t.replaceChildren(),this});this.wrapper=t;const n=t.deref();n&&(n.effectSet=new Set)}get hostElement(){return this.wrapper.deref()}addEventlistener(t,n,s=!1){var o;return(o=this.hostElement)==null||o.addEventListener(t,i=>n(i,this,this.hostElement),s),this}}class qt extends ft{constructor(){super(...arguments);u(this,"setReactiveValue",n=>(this.hostElement instanceof H&&this.hostElement.setReactiveValue(n),this));u(this,"setSlotTemplate",n=>{var o;const s=(o=this.hostElement)==null?void 0:o.slotTemplate;return s&&Object.entries(n).forEach(([i,c])=>{s[i]=c}),this})}}const zt=()=>()=>{},ht=e=>new qt(new WeakRef(e)),ut=e=>new ft(new WeakRef(e)),mt=(e,...t)=>({classList:[...e.map(n=>n.trim()).filter(Boolean),...t]}),Dt=(e,...t)=>mt(e,...t),tt=(e,t)=>{if(!t||!e.deref())return;const n=Object.keys(t||{}).filter(o=>o.startsWith(".")||o.startsWith("@")||o.startsWith("$"));n.filter(o=>o.startsWith(".")).forEach(o=>{t!=null&&t.attributes||(t.attributes={}),t.attributes[o.slice(1)]=t[o]}),n.filter(o=>o.startsWith("@")).forEach(o=>{t!=null&&t.listeners||(t.listeners={});const i=o.slice(1);t.listeners[i]=t[o]}),n.filter(o=>o.startsWith("$")).forEach(o=>{t!=null&&t.effects||(t.effects=[]),t.effects.push(t[o])});const s=e.deref();if(s)return bt(s,t.classList),yt(s,t.style),vt(s,t.attributes),St(s,t.reactiveClassList),Ct(s,t.customAttributes),Et(s,t.children),pt(s,t.effects),et(s,t.listeners),et(s,t.customListeners),s},et=(e,t)=>{t&&Object.entries(t).forEach(([n,s])=>{typeof s=="function"&&e.addEventlistener(n,s)})},pt=(e,t)=>t==null?void 0:t.forEach(n=>e.addEffect(n)),Et=(e,t)=>J(new WeakRef(e),...t||[])??e,Ct=(e,t)=>{const n=t;n&&Object.keys(n).forEach(s=>{R(n[s])?e.setReactiveCustomAttribute(s,n[s]):typeof n[s]=="function"?e.addEffect(()=>{e.setCustomAttribute(s,n[s]())}):e.setCustomAttribute(s,n[s])})},bt=(e,t)=>e.addClass(...t||[]),St=(e,t)=>e.addReactiveClass(t||{}),yt=(e,t)=>e.addStyle(t||{}),vt=(e,t)=>{const n=t,s=(o,i)=>{i&&(R(i)?e.setReactiveAttribute(o,i):typeof i=="function"?e.addEffect(()=>{e.setAttribute(o,i())}):e.setAttribute(o,i))};n&&Object.keys(n).forEach(o=>{s(o,n[o])})},J=(e,...t)=>{const n=e.deref();if(n)return t.forEach(s=>{typeof s=="string"?s.trim().length>0&&n.addHtmlContent(s):R(s)?n.addReactiveContent(s):n.append(s)}),n},W=(e,t)=>{const n=document.createElement(e),s=ut(n);return tt(new WeakRef(s),t)??s},X=(e,t)=>{const[n,...s]=e.split(" ").map(i=>i.trim()),o=W(n,t);return s.length>0&&o.addClass(...s),(...i)=>J(new WeakRef(o),...i.filter(Boolean).flat().flatMap(c=>typeof c=="function"&&!R(c)?j(()=>c(o)):c))??o},j=e=>{const t=`getSignalContent_${Math.random().toString(36).substring(2,15)}`;return W("div").addStyle({display:"contents"}).addEffect(n=>{n.clear(),J(new WeakRef(n),...[e()].flat())},t)},Gt=(e,t,n)=>{const s=W("div").addStyle({display:"contents"}),o=new Map,i=new Map,c=new Map,a=new Map;let d=[];const b=new Set;let h=e.peek();const f=m=>{b.delete(m),o.delete(m),i.delete(m),c.delete(m),a.delete(m)},E=m=>{if(!a.has(m)){const w=d.indexOf(m);return a.set(m,w),w}return a.get(m)},p=(m,w,q)=>Array.from(q.children).indexOf(m)!==w;return v(()=>{const m=e(),w=m.map(t).map(C=>typeof C=="string"?C:C.toString()),q=new Set(w);a.clear(),w.forEach((C,y)=>{a.set(C,y)}),d=w;const M=s.hostElement;if(!M)return;S("containerChildren",Array.from(M.children),d);const z=[];Array.from(M.children).forEach(C=>{const y=C.dataset.key;y&&!q.has(y)&&z.push(C)}),z.forEach(C=>{const y=C.dataset.key;S("remove element",y,C),C.remove(),f(y)}),w.forEach((C,y)=>{var g;const L=m[y],P=h[y];if(!o.has(C))S("create new element",C,L),o.set(C,T(Math.random().toString(36).substring(2,15))),i.set(C,()=>n(L,y,m).setCustomAttribute("data-key",C));else if(P&&JSON.stringify(L)!==JSON.stringify(P)){const I=c.get(C);(g=o.get(C))==null||g.set(Math.random().toString(36).substring(2,15)),i.set(C,()=>n(L,y,m).setCustomAttribute("data-key",C)),I&&I.parentNode&&S("mark element for update",C)}}),h=[...m.map(C=>({...C}))];const Q=()=>{o.forEach((C,y)=>{S("key from setTimeout foreach currItemSignalMap",y),b.has(y)||(b.add(y),v(()=>{var Tt;C();const L=E(y),P=(Tt=i.get(y))==null?void 0:Tt();if(!P||!P.hostElement)return;const g=s.hostElement,I=P.hostElement;if(!g)return;S("call effect from setTimeout",y,I);const $=c.get(y);if($&&$.parentNode===g){if(p($,L,g)){const k=g.children[L];k&&k!==$?g.insertBefore($,k):k||g.appendChild($)}I!==$&&($.replaceWith(I),c.set(y,I))}else if(c.set(y,I),L<g.children.length){const k=g.children[L];k?g.insertBefore(I,k):g.appendChild(I)}else g.appendChild(I)}))})};Promise.resolve().then(()=>Q())}),s},Kt=e=>{let t=[W("div")],n=!1;return v(()=>{var i,c;const s=e();n=Array.isArray(s);const o=[];o.push(...[s].flat()),o.length===0&&o.push(W("div").addStyle({display:"none"}).setAttribute("id","empty_template"));try{S("newReactiveComponent.map",o.map(a=>{var d;return S("newReactiveComponent hostElement",a.hostElement),(d=a.hostElement)==null?void 0:d.id})),S("currComponent[0].hostElement?.id",(i=t[0].hostElement)==null?void 0:i.id,t),(c=t[0].hostElement)==null||c.replaceWith(...o.map(a=>a.hostElement).filter(Boolean)),t.slice(1).forEach(a=>{var d;return(d=a.hostElement)==null?void 0:d.remove()}),t=o}catch(a){console.error(a)}}),n?t:t[0]},Yt=e=>Nt in e,Zt=e=>{const t=X("div")().addStyle({display:"contents"}),n=s=>{const o=t.hostElement;return o&&(o.innerHTML=s),t};return typeof e=="string"?n(e):t.addEffect(()=>{n(e())}),t},nt=(e,t,n)=>e?j(t):n?j(n):X("div")().setAttribute("id","empty_div_renderIf").addStyle({display:"none"}),wt=(e,t,n)=>j(()=>nt(!!e(),t,n)),Ut=(e,t,n)=>typeof e=="boolean"?nt(e,t,n):wt(e,t,n),st=(e,t)=>j(t).addEffect((n,s)=>{if(typeof e=="boolean")s.style.display=e?"block":"none";else{const o=e()?"block":"none";s.style.display=o}}),Xt=(e,t,n)=>{const s=[st(e,t)].flat();return n&&s.push(...[st(()=>typeof e=="boolean"?!e:!e(),n)].flat()),j(()=>s)},At=(e,t)=>{S("createCustomElement",e);const n=document.createElement(e),s=ht(n);return n.init=()=>{tt(new WeakRef(s),t)},s},gt=(e,t)=>{const n=e.split(" ").slice(1).map(o=>o.trim()),s=At(e.split(" ")[0],t);return Array.isArray(n)&&n.length>0&&s.addClass(...n),(...o)=>{const i=o.filter(Boolean).flat().flatMap(a=>typeof a=="function"&&!R(a)?j(()=>a(s)):a),c=s.hostElement;return c&&(c.allSlotContent=i,c.slotContent=i.filter(_).reduce((a,d)=>{var h;const b=((h=d.hostElement)==null?void 0:h.getAttribute("slot"))||"default";return a[b]||(a[b]=[]),a[b].push(d),a},{}),c.appendAllSlotContent=()=>{J(new WeakRef(s),...i)}),s}},Rt=(e,t,n)=>gt(`${e.renderTagName}${t&&typeof t=="string"?" "+t:""}`,A(t)?t:t&&typeof t=="string"?n:void 0),Qt=()=>{const e=()=>{};return e.oldValue=null,e},xt=()=>({}),Lt=(e,t,n)=>{const s=t?x(t,n)(e):e;return(o,...i)=>{const c=[...i];return o&&!A(o)&&c.unshift(o),Rt(s,A(o)?o:{})(...c)}},te=e=>[Lt(e),(t,n)=>{x(t,n)(e)}],l={};["div","span","section","input","button","table","tr","td","th","ul","li","ol","form","label","select","option","textarea","img","a","p","h1","h2","h3","h4","h5","h6","br","hr","pre","code","nav","header","footer","main","aside","article","figure","figcaption","blockquote","cite","small","strong","em","b","i","u","s","sub","sup","mark","del","ins","details","summary","progress","meter","audio","video","canvas","slot"].forEach(e=>{l[e]=(t,...n)=>{let s=[...n];return t&&!A(t)&&(s=[t].concat(s)),X(e,A(t)?t:{})(...s)}});const It=l.div,ee=l.span,ne=l.section,se=l.input,oe=l.button,re=l.table,ie=l.tr,ce=l.td,le=l.th,ae=l.ul,de=l.li,fe=l.ol,he=l.form,ue=l.label,me=l.select,pe=l.option,Ee=l.textarea,Ce=l.img,be=l.a,Se=l.p,ye=l.h1,ve=l.h2,we=l.h3,Ae=l.h4,ge=l.h5,Re=l.h6,Le=l.br,Ie=l.hr,Te=l.pre,je=l.code,Oe=l.nav,Me=l.header,$e=l.footer,_e=l.main,He=l.aside,We=l.article,ke=l.figure,Pe=l.figcaption,Be=l.blockquote,Fe=l.cite,Ne=l.small,Ve=l.strong,Je=l.em,qe=l.b,ze=l.i,De=l.u,Ge=l.s,Ke=l.sub,Ye=l.sup,Ze=l.mark,Ue=l.del,Xe=l.ins,Qe=l.details,xe=l.summary,tn=l.progress,en=l.meter,nn=l.audio,sn=l.video,on=l.canvas,rn=l.slot,cn=e=>t=>e(t).addClass(...t.classList??[]).addReactiveClass(t.reactiveClassList??{});function ln(e,t){let n=0;return(...s)=>{const o=Date.now();o-n>=t&&(e(...s),n=o)}}const an=(e,t)=>j(()=>{const n=e();let s=null;return n.map((o,i)=>It({"@dragstart":(c,a,d)=>{s=d},"@dragend":(c,a,d)=>{d.style.transform="",d.removeAttribute("draggable")},"@mousedown":(c,a,d)=>{d.style.transform="translateZ(0)",d.setAttribute("draggable","true")},"@dragover":c=>{c.preventDefault()},"@dragenter":ln((c,a,d)=>{var b,h,f;if(c.preventDefault(),s){let E=s,p=d;const m=((b=s.getClientRects().item(0))==null?void 0:b.y)??0,w=((h=d.getClientRects().item(0))==null?void 0:h.y)??0;m<w&&([E,p]=[d,s]),(f=d.parentElement)==null||f.insertBefore(E,p)}},200)},t(o,i,[...e.peek()])))}),dn=(e,t,n)=>{let s=[],o=[];const i=W("div"),c=new Map,a=new Map;return v(()=>{const d=e(),b=d.map(t);o.filter(f=>!b.includes(f)).forEach(f=>{var E,p;c.delete(f),(p=(E=i.hostElement)==null?void 0:E.querySelector(`[data-key="${f}"]`))==null||p.remove()}),b.forEach((f,E)=>{o.includes(f)||c.set(f,()=>n(d[E],E,d).setCustomAttribute("data-key",f))}),b.forEach((f,E)=>{var p;if(o.includes(f)){JSON.stringify(s[o.indexOf(f)])!==JSON.stringify(d[E])&&((p=a.get(f))==null||p.set({templateFunc:()=>n(d[E],E,d),items:d,itemsKey:b,index:E}));return}a.set(f,T({templateFunc:()=>n(d[E],E,d),items:d,itemsKey:b,index:E})),queueMicrotask(()=>{v(()=>{var z,Q,C;const{templateFunc:m,index:w}=((z=a.get(f))==null?void 0:z())??{},q=(Q=i.hostElement)==null?void 0:Q.querySelector(`[data-key="${f}"]`),M=(m==null?void 0:m().setCustomAttribute("data-key",f).hostElement)??document.createElement("div");q?(C=i.hostElement)==null||C.childNodes.forEach((y,L)=>{y instanceof HTMLElement&&y.getAttribute("data-key")===f&&(w===L?(h(w??0,i.hostElement,M),y.remove()):h(w??0,i.hostElement,M))}):h(w??0,i.hostElement,M)})})});const h=(f,E,p)=>{p&&E&&(f<E.children.length?E.insertBefore(p,E.children[f]):E.appendChild(p))};o=b,s=[...d]}),i};r.BaseElement=H,r.a=be,r.addAttributeList=vt,r.addClassList=bt,r.addCustomAttributes=Ct,r.addReactiveClassList=St,r.addStyleList=yt,r.appendContentItem=J,r.article=We,r.aside=He,r.audio=nn,r.b=qe,r.bindReactiveSignals=Ht,r.blockquote=Be,r.br=Le,r.button=oe,r.camelToKebab=B,r.canvas=on,r.checkCall=D,r.checkRef=Ot,r.cite=Fe,r.classList=mt,r.cls=Dt,r.code=je,r.colorLog=F,r.combineLatest=kt,r.component=x,r.configCustomComponent=te,r.createComponent=cn,r.createCustom=Rt,r.createCustomEl=gt,r.createCustomElement=At,r.createEl=X,r.createElement=W,r.createSignal=_t,r.customElementHelpers=ht,r.ddList=an,r.defineSlotTemplate=xt,r.del=Ue,r.details=Qe,r.disableLogs=rt,r.div=It,r.effect=v,r.elementHelpers=ut,r.em=Je,r.enableLogs=jt,r.event=Bt,r.eventEmitter=zt,r.figcaption=Pe,r.figure=ke,r.footer=$e,r.forkJoin=Wt,r.form=he,r.getList=dn,r.getSignalContent=j,r.h1=ye,r.h2=ve,r.h3=we,r.h4=Ae,r.h5=ge,r.h6=Re,r.header=Me,r.hr=Ie,r.i=ze,r.img=Ce,r.initComponent=tt,r.input=se,r.ins=Xe,r.isBaseElement=Ft,r.isComponentConfig=_,r.isComponentInitConfig=A,r.isReactiveSignal=R,r.isSlotTemplate=Yt,r.kebabToCamel=ot,r.label=ue,r.li=de,r.main=_e,r.mark=Ze,r.meter=en,r.nav=Oe,r.newEventEmitter=Qt,r.ol=fe,r.oldGetList=Gt,r.option=pe,r.p=Se,r.pre=Te,r.progress=tn,r.projectLog=S,r.property=Pt,r.removeEffect=Y,r.renderIf=nt,r.rs=$t,r.rxRenderIf=wt,r.s=Ge,r.section=ne,r.select=me,r.setChildren=Et,r.setEffects=pt,r.setListeners=et,r.show=Xt,r.showIf=st,r.signal=T,r.signalComponent=Kt,r.slot=rn,r.small=Ne,r.span=ee,r.strong=Ve,r.sub=Ke,r.summary=xe,r.sup=Ye,r.table=re,r.td=ce,r.textarea=Ee,r.th=le,r.tr=ie,r.u=De,r.ul=ae,r.unsafeHtml=Zt,r.useCustomComponent=Lt,r.video=sn,r.when=Ut,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ComponentConfig } from '../../types';
|
|
2
|
+
import { ReactiveSignal } from '../signal';
|
|
3
|
+
export declare const ddList: <Item extends Record<string, any>>(items: ReactiveSignal<Item[]>, template: (item: Item, index: number, items: Item[]) => ComponentConfig<HTMLElement>) => ComponentConfig<HTMLDivElement>;
|
|
@@ -7,6 +7,7 @@ export declare const getSignalContent: (cb: CompFuncContent) => ComponentConfig<
|
|
|
7
7
|
* Создает реактивный список элементов, который автоматически обновляется при изменении массива данных.
|
|
8
8
|
* Поддерживает эффективное обновление DOM с минимальными перерисовками.
|
|
9
9
|
*
|
|
10
|
+
* @deprecated
|
|
10
11
|
* @template I - Тип элементов массива (должен быть объектом)
|
|
11
12
|
* @template K - Ключ для уникальной идентификации элементов
|
|
12
13
|
* @param items - Реактивный сигнал с массивом данных
|
|
@@ -14,7 +15,7 @@ export declare const getSignalContent: (cb: CompFuncContent) => ComponentConfig<
|
|
|
14
15
|
* @param cb - Функция рендеринга элемента, принимающая элемент, индекс и весь массив
|
|
15
16
|
* @returns Контейнер с реактивным списком элементов
|
|
16
17
|
*/
|
|
17
|
-
export declare const
|
|
18
|
+
export declare const oldGetList: <I extends Record<string, any>, K extends keyof I>(items: ReactiveSignal<I[]>, keyFn: (item: I) => I[K] | string, cb: (item: I, index: number, items: I[]) => ComponentConfig<any>) => ComponentConfig<HTMLDivElement>;
|
|
18
19
|
/**
|
|
19
20
|
* Создает реактивный компонент, который автоматически обновляется при изменении его зависимостей.
|
|
20
21
|
*
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ComponentConfig } from '../../types';
|
|
2
|
+
import { ReactiveSignal } from '../signal';
|
|
3
|
+
export declare const getList: <I extends Record<string, any>, K extends keyof I>(items: ReactiveSignal<I[]>, keyFn: (item: I) => I[K] | string, cb: (item: I, index: number, items: I[]) => ComponentConfig<HTMLElement>) => ComponentConfig<HTMLDivElement>;
|
|
@@ -7,7 +7,7 @@ export type EffectCb = (() => void) & {
|
|
|
7
7
|
parent?: WeakRef<EffectCb>;
|
|
8
8
|
cleanupSet?: Set<() => void>;
|
|
9
9
|
component?: WeakRef<HTMLElement>;
|
|
10
|
-
status:
|
|
10
|
+
status: "active" | "inactive";
|
|
11
11
|
destroy?: () => void;
|
|
12
12
|
};
|
|
13
13
|
export declare const removeEffect: (effectCb: EffectCb) => void;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(function(r,y){typeof exports=="object"&&typeof module<"u"?y(exports):typeof define=="function"&&define.amd?define(["exports"],y):(r=typeof globalThis<"u"?globalThis:r||self,y(r.ReactiveComponent={}))})(this,function(r){"use strict";var sn=Object.defineProperty;var on=(r,y,$)=>y in r?sn(r,y,{enumerable:!0,configurable:!0,writable:!0,value:$}):r[y]=$;var d=(r,y,$)=>on(r,typeof y!="symbol"?y+"":y,$);const y=n=>n&&typeof n=="object"&&("classList"in n||"attributes"in n||"customAttributes"in n||"reactiveClassList"in n||"listeners"in n||"customListeners"in n||"children"in n||"effects"in n||"style"in n||Object.keys(n).some(t=>t.startsWith(".")||t.startsWith("@")||t.startsWith("$")))&&!("hostElement"in n),$=n=>n&&typeof n=="object"&&"hostElement"in n&&"append"in n&&"set"in n&&"addStyle"in n&&"setAttribute"in n&&"addClass"in n&&"addEffect"in n&&"addReactiveContent"in n&&"setReactiveContent"in n&&"clear"in n,V=(n,t,...e)=>{t&&t.apply(n,e)};let J=!0;const p=(...n)=>{J&&console.debug(["[rwc]",...n].join(" | "),...Array.from(n.join("").matchAll(/%c/gm)).map((t,e)=>e%2===0?"color:red":"color:inherit"))},_=n=>n.replace(/([A-Z])/gm,t=>`-${t.toLowerCase()}`),tt=n=>n.replace(/-(\w)/gm,(t,e)=>e.toUpperCase()),B=(n,...t)=>{if(!J)return;const e={r:"color: #ff0000",g:"color: #00ff00",b:"color: #0000ff",y:"color: #ffff00",p:"color: #800080",c:"color: #00ffff",o:"color: #ffa500",w:"color: #808080"},s=n.match(/@[rgbpycow]/g)||[],o=s.map(c=>{const l=c.slice(1);return e[l]||"color: inherit"});let i=n;s.forEach(c=>{const l=new RegExp(`\\${c}([^\\s,]+)`,"g");i=i.replace(l,"%c$1")}),console.log(i,...o,...t)},Rt=()=>{J=!0},et=()=>{J=!1};et();const Lt=(n,t)=>{n.every(Boolean)&&t(n)},T=[],q=n=>{var t,e,s,o;(t=n.children)==null||t.forEach(i=>{var c;return(c=i.destroy)==null?void 0:c.call(i)}),(e=n.children)==null||e.clear(),(s=n.cleanupSet)==null||s.forEach(i=>i()),(o=n.cleanupSet)==null||o.clear()};function j(n,t){let e=(t==null?void 0:t.signalCompareFn)||(()=>!0);const s=new Set;function o(){var c;const i=T[T.length-1];return i&&!i.fake&&!s.has(i)&&i.status==="active"&&(s.add(i),(c=i.cleanupSet)==null||c.add(()=>s.delete(i))),!(t!=null&&t.name)&&(i!=null&&i.effectId)&&o.setName(i.effectId),n}return o.signalId=`${(t==null?void 0:t.name)||""}_${Math.random().toString(36).substring(2,15)}`,o.setName=function(i){return o.signalId=`${i}_${Math.random().toString(36).substring(2,15)}`,o},o.setCompareFn=function(i){return e=i,o},o.clearSubscribers=function(){s.clear()},o.getSubscribers=function(){return s},o.peek=function(){return Object.freeze(n)},o.initValue=Object.freeze(n),o.forceSet=function(i){n=i,s.forEach(c=>{q(c),Promise.resolve().then(()=>{T.push(c),c(),T.pop()})})},o.set=function(i,c=e){n!==i&&c(n,i)&&o.forceSet(i)},o.update=function(i){o.set(i(n))},o.pipe=(i,c)=>{c!=null&&c.name&&o.setName(c.name);const l=j(null);return S(()=>{const u=o();S(()=>{const h=i(u);h instanceof Promise?h.then(R=>l.set(R)):L(h)?S(()=>l.set(h()),{name:"pipe_effect_inner"}):l.set(h)},{name:"pipe_effect"})},{name:(c==null?void 0:c.name)||`pipe_${o.signalId}`}),l},o}function S(n,t){var i;const e=`${(t==null?void 0:t.name)||""}_${Math.random().toString(36).substring(2,15)}`;p("current effect",`%c${e}%c`);const s=n;s.status="active",s.children=new Set,s.effectId=e;const o=T[T.length-1];o&&((i=o.children)==null||i.add(s),s.parent=new WeakRef(o),s.destroy=()=>{var c;q(s),(c=o.children)==null||c.delete(s),s.destroy=void 0,s.status="inactive"}),s.cleanupSet=new Set,T.push(s),s(),T.pop()}const L=n=>!!n&&["object","function"].includes(typeof n)&&"set"in n&&"update"in n&&"forceSet"in n&&"signalId"in n;function gt(n,...t){const e=j("");return S(()=>{const s=t.map(i=>L(i)?String(i()):String(i)),o=[n[0]];s.forEach((i,c)=>{o.push(i,n[c+1])}),e.set(o.join(""))}),e}function It(n,t){const e=j(t??null),s=o=>e.set(o);return n instanceof Promise?n.then(s):typeof n=="function"&&S(()=>{const o=n();o instanceof Promise?o.then(s):L(o)?S(()=>s(o())):s(o)}),e}function Tt(n,t){let e=n(),s=t();S(()=>{const o=n(),i=t();o!==i&&(o!==e?t.set(o):i!==s&&n.set(i)),e=o,s=i})}function jt(...n){let t=n.map(s=>s());const e=j(t);return n.forEach((s,o)=>{S(()=>{const i=()=>t.filter(c=>c!==void 0).length;i()===n.length&&(t=Array.from(t).fill(void 0)),t[o]=s(),i()===n.length&&e.set([...t])})}),e}const Ot=(...n)=>{const t=j([]);return S(()=>{t.set(n.map(e=>e()))}),t},z="eventProps",G="EVENT_CONFIG",F="observedAttributes",kt=()=>(n,t)=>{Reflect.get(n,F)||Reflect.defineProperty(n,F,{value:[]}),Reflect.get(n,F).push(_(t))},$t=n=>(t,e)=>{Reflect.get(t,z)||Reflect.defineProperty(t,z,{value:[]}),Reflect.get(t,G)||Reflect.defineProperty(t,G,{value:{}}),Reflect.get(t,G)[e]={bubbles:(n==null?void 0:n.bubbles)??!1,composed:(n==null?void 0:n.composed)??!1},Reflect.get(t,z).push(e)},X=(n,t=!1)=>e=>{p(n,"start register static attr",e.prototype[F]);const s=[];if(e.styles){const i=e.styles,c=[];Array.isArray(i)?c.push(...i):c.push(i),c.forEach(l=>{const u=new CSSStyleSheet;u.replaceSync(l),s.push(u);const v=new CSSStyleSheet;v.replaceSync(l.slice(l.indexOf("@property"))),document.adoptedStyleSheets.push(v)})}class o extends e{constructor(...c){p("constructor",`%c${n}%c`),super(t,...c),s.length>0&&this.shadow.adoptedStyleSheets.push(...s)}render(){return p("rwc: render from new class"),e.prototype.render.call(this)}attributeChangedCallback(c,l,u){p("%cAttribute has changed.%c",`%c${c}%c`,`oldValue: ${l}, newValue: ${u}`,`%c${n}%c`);try{u=JSON.parse(u)}catch{}const v=tt(c);if(v in this&&L(this[v])){const h=this[v];h.setName(c),u===null?(h.set(h.initValue),this.removeAttribute(c)):h.set(u)}V(this,e.prototype.attributeChangedCallback,c,l,u)}connectedCallback(){const c=()=>{var u,v;p("rwc: connectedCallback"),p("connectedCallback",`%c${n}%c`,this),(u=this.init)==null||u.call(this),this.providers&&Object.keys(this.providers).length>0&&(p("WRAPPER for providers",n),Object.entries(this.providers).forEach(([h,C])=>{p("register provider",h,C()),this.addEventListener(h,R=>{var f;p("send provider",h,C());const E=R;((f=E.detail)==null?void 0:f.context)===h&&(E.stopPropagation(),E.detail.callback(C))})})),this.checkInjects(),(v=e.prototype[z])==null||v.forEach(h=>{this[h]=C=>{const R=e.prototype[G][h],{bubbles:E,composed:f}=R;L(C)?S(()=>{B("@oemit reactive value",C()),this.dispatchEvent(new CustomEvent(h,{detail:C(),bubbles:E,composed:f}))}):(B("@oemit value",C),this.dispatchEvent(new CustomEvent(h,{detail:C,bubbles:E,composed:f})))}}),p("start render",`%c${n}%c`,n);const l=()=>{p("rwc: insertRenderTemplate");const C=this.render().hostElement;C&&this.shadow.appendChild(C),V(this,e.prototype.connectedCallback),this.appendSlotContent()};if(this.rootStyle&&!e.styles){const h=E=>E instanceof Promise||Array.isArray(E)&&E.every(f=>f instanceof Promise),C=this.rootStyle,R=E=>{const f=new CSSStyleSheet;f.replaceSync(E),this.shadow.adoptedStyleSheets.push(f);const w=new CSSStyleSheet;w.replaceSync(E.slice(E.indexOf("@property"))),document.adoptedStyleSheets.push(w)};if(h(C)){const E=[];Array.isArray(C)?E.push(...C):E.push(C),Promise.all(E).then(f=>f.forEach(w=>R(w.default))).then(()=>l())}else{const E=[];Array.isArray(C)?E.push(...C):E.push(C),E.forEach(f=>R(f)),l()}}else l();this.slotContext&&Object.keys(this.slotContext).length>0&&this.shadow.querySelectorAll("slot").forEach(h=>{p(this.slotContext,this.slotContext&&this.slotContext[h.name]),B("@bslot element",h,`name:${h.name};`,h.assignedElements()),h.assignedElements().forEach(C=>{const R=this.slotContext[h.name];this.slotContext&&L(R)&&(B("@oslot element",h,`name:${h.name};`,h.assignedElements()),S(()=>{C.dispatchEvent(new CustomEvent("handleSlotContext",{detail:R()}))}))})})};c.fake=!0,c.component=new WeakRef(this),this.effectSet.add(new WeakRef(c)),S(c,{name:"FAKE_wrapperEffect"})}disconnectedCallback(){this.allSlotContent=[],this.slotContent={},this.htmlSlotContent={},this.effectSet.forEach(c=>{var l,u;return(u=(l=c.deref())==null?void 0:l.destroy)==null?void 0:u.call(l)}),this.effectSet.clear(),this.shadow.replaceChildren(),this.replaceChildren(),V(this,e.prototype.disconnectedCallback)}}return d(o,"observedAttributes",e.prototype[F]??[]),d(o,"renderTagName",n),o.toString=()=>n,customElements.get(n)?console.error(`название тега ${n} повторяется, компонент ${e.name} не зарегистрирован`):customElements.define(n,o),e.renderTagName=n,e};class M extends HTMLElement{constructor(e=!1){super();d(this,"init");d(this,"isSlotLazyLoading",!1);d(this,"slotTemplate");d(this,"slotContext");d(this,"rootStyle");d(this,"modelValue");d(this,"providers");d(this,"effectSet",new Set);d(this,"appendAllSlotContent");d(this,"allSlotContent",[]);d(this,"slotContent",{});d(this,"htmlSlotContent",{});d(this,"shadow");d(this,"injects",{});this.shadow=this.attachShadow({mode:e?"closed":"open"})}appendChild(e,s=!0){var o;if(this.isSlotLazyLoading&&s){if(e instanceof HTMLElement){const i=e.slot||"default";this.htmlSlotContent[i]||(this.htmlSlotContent[i]=[]),(o=this.htmlSlotContent[i])==null||o.push(e)}}else return super.appendChild(e)}appendSlotContent(){var e;(e=this.appendAllSlotContent)==null||e.call(this)}inject(e){return p("%cinject%c",e),this.injects[e]||(this.injects[e]=j(null)),this.injects[e]}checkInjects(){Object.entries(this.injects).forEach(([e,s])=>{p("%cinject%c",`%c${e}%c`,"from BaseElement (dispatch event)"),this.shadow.dispatchEvent(new CustomEvent(e,{detail:{context:e,callback:o=>S(()=>{s.set(o())},{name:e})},bubbles:!0,composed:!0}))})}setReactiveValue(e){this.modelValue=e}}d(M,"observedAttributes",[]),d(M,"renderTagName",""),d(M,"styles");const Mt=n=>"render"in n&&"setReactiveValue"in n,Wt="handleSlotContext",nt="onConnected",st=n=>typeof n=="string"?n:JSON.stringify(n),Ht=n=>{const t=document.createElement("span");return t.textContent=st(n),t},ot=(n,t)=>(n.appendChild(Ht(t)),n),Pt=(n,t)=>(n.replaceChildren(),ot(n,t)),rt=n=>{const t=document.createElement("span");return S(()=>{const e=n();t.textContent=st(e)}),t};class it{constructor(t){d(this,"wrapper");d(this,"keyedEffects",new Map);d(this,"append",(...t)=>(t.forEach(e=>{var o;const s=e.hostElement;s&&((o=this.hostElement)==null||o.appendChild(s),nt in s&&setTimeout(()=>{var i;(i=s.onConnected)==null||i.call(s,e,s)}))}),this));d(this,"set",(...t)=>{var s;this.clear();const e=document.createDocumentFragment();return t.forEach(o=>{const i=o.hostElement;i&&e.appendChild(i)}),(s=this.hostElement)==null||s.appendChild(e),this});d(this,"removeChild",(...t)=>(t.forEach(e=>{var s,o;if(Array.from(((s=this.hostElement)==null?void 0:s.childNodes.values())||[]).some(i=>i===e.hostElement)){const i=e.hostElement;i&&((o=this.hostElement)==null||o.removeChild(i))}}),this));d(this,"addHtmlContent",t=>{const e=this.hostElement;return e?(ot(e,t),this):this});d(this,"setHtmlContent",t=>{const e=this.hostElement;return e?(Pt(e,t),this):this});d(this,"setAttribute",(t,e)=>{var i;const s=this.hostElement;if(!s)return this;let o;if(typeof e=="boolean"&&!(s instanceof M))if(e)o="";else{this.removeAttribute(t);const c=t.toLowerCase();return c in s&&(s[c]=null),this}else typeof e!="string"?o=JSON.stringify(e):o=e;if((i=this.hostElement)==null||i.setAttribute(_(t),o),!(s instanceof M)){const c=t.toLowerCase();c in s&&(s[c]=e)}return this});d(this,"setCustomAttribute",(t,e)=>{var o;let s;return typeof e!="string"?s=JSON.stringify(e):s=e,(o=this.hostElement)==null||o.setAttribute(_(t),s),this});d(this,"setReactiveAttribute",(t,e)=>(this.addEffect(s=>{s.setAttribute(t,e())},t),this));d(this,"setReactiveCustomAttribute",(t,e)=>(this.addEffect(s=>{s.setCustomAttribute(t,e())}),this));d(this,"removeAttribute",t=>{var e;return(e=this.hostElement)==null||e.removeAttribute(_(t)),this});d(this,"addStyle",t=>{const e=this.hostElement;return e?(Object.entries(t).forEach(([s,o])=>{const i=s.startsWith("--");typeof o=="function"?this.addEffect(()=>{if(i){const c=String(o()||"");e.style.setProperty(s,c)}else e.style[s]=o()}):typeof o=="string"&&(i?e.style.setProperty(s,o):e.style[s]=o)}),this):this});d(this,"onConnected",t=>this.hostElement?(Reflect.defineProperty(this.hostElement,nt,{get(){return t}}),this):this);d(this,"addClass",(...t)=>(t.forEach(e=>{var s;typeof e=="string"?(s=this.hostElement)==null||s.classList.add(...e.split(" ").flatMap(o=>o.split(`
|
|
2
|
-
`)).map(o=>o.trim()).filter(Boolean)):(()=>{let o=null;this.addEffect(()=>{const i=e();i.length>0&&(o?this.replaceClass(o,i):this.addClass(i),o=i)})})()}),this));d(this,"setClass",(...t)=>{var e,s,o;return(s=this.hostElement)==null||s.classList.remove(...((e=this.hostElement)==null?void 0:e.classList)||[]),(o=this.hostElement)==null||o.classList.add(...t),this});d(this,"addReactiveClass",t=>(Object.keys(t).forEach(e=>{this.addEffect(s=>{t[e]()?s.addClass(e):s.removeClass(e)})}),this));d(this,"removeClass",(...t)=>{var e;return(e=this.hostElement)==null||e.classList.remove(...t),this});d(this,"replaceClass",(t,e)=>{var s;return(s=this.hostElement)==null||s.classList.replace(t,e),this});d(this,"addEffect",(t,e)=>{var i,c;const s=this.hostElement;if(!s)return this;const o=()=>t(this,s);if(e){const l=(i=this.keyedEffects.get(e))==null?void 0:i.deref();l&&q(l)}return(c=s.effectSet)==null||c.add(new WeakRef(o)),o.component=this.wrapper,S(o,{name:(e==null?void 0:e.toString())||s.tagName}),this});d(this,"addReactiveContent",t=>{var e;return(e=this.hostElement)==null||e.appendChild(rt(t)),this});d(this,"setReactiveContent",t=>{var e;return this.clear(),(e=this.hostElement)==null||e.appendChild(rt(t)),this});d(this,"clear",()=>{var t;return(t=this.hostElement)==null||t.replaceChildren(),this});this.wrapper=t;const e=t.deref();e&&(e.effectSet=new Set)}get hostElement(){return this.wrapper.deref()}addEventlistener(t,e,s=!1){var o;return(o=this.hostElement)==null||o.addEventListener(t,i=>e(i,this,this.hostElement),s),this}}class _t extends it{constructor(){super(...arguments);d(this,"setReactiveValue",e=>(this.hostElement instanceof M&&this.hostElement.setReactiveValue(e),this));d(this,"setSlotTemplate",e=>{var o;const s=(o=this.hostElement)==null?void 0:o.slotTemplate;return s&&Object.entries(e).forEach(([i,c])=>{s[i]=c}),this})}}const Bt=()=>()=>{},ct=n=>new _t(new WeakRef(n)),at=n=>new it(new WeakRef(n)),lt=(n,...t)=>({classList:[...n.map(e=>e.trim()).filter(Boolean),...t]}),Ft=(n,...t)=>lt(n,...t),Z=(n,t)=>{if(!t||!n.deref())return;const e=Object.keys(t||{}).filter(o=>o.startsWith(".")||o.startsWith("@")||o.startsWith("$"));e.filter(o=>o.startsWith(".")).forEach(o=>{t!=null&&t.attributes||(t.attributes={}),t.attributes[o.slice(1)]=t[o]}),e.filter(o=>o.startsWith("@")).forEach(o=>{t!=null&&t.listeners||(t.listeners={});const i=o.slice(1);t.listeners[i]=t[o]}),e.filter(o=>o.startsWith("$")).forEach(o=>{t!=null&&t.effects||(t.effects=[]),t.effects.push(t[o])});const s=n.deref();if(s)return ut(s,t.classList),pt(s,t.style),Ct(s,t.attributes),mt(s,t.reactiveClassList),ft(s,t.customAttributes),ht(s,t.children),dt(s,t.effects),Q(s,t.listeners),Q(s,t.customListeners),s},Q=(n,t)=>{t&&Object.entries(t).forEach(([e,s])=>{typeof s=="function"&&n.addEventlistener(e,s)})},dt=(n,t)=>t==null?void 0:t.forEach(e=>n.addEffect(e)),ht=(n,t)=>N(new WeakRef(n),...t||[])??n,ft=(n,t)=>{const e=t;e&&Object.keys(e).forEach(s=>{L(e[s])?n.setReactiveCustomAttribute(s,e[s]):typeof e[s]=="function"?n.addEffect(()=>{n.setCustomAttribute(s,e[s]())}):n.setCustomAttribute(s,e[s])})},ut=(n,t)=>n.addClass(...t||[]),mt=(n,t)=>n.addReactiveClass(t||{}),pt=(n,t)=>n.addStyle(t||{}),Ct=(n,t)=>{const e=t,s=(o,i)=>{i&&(L(i)?n.setReactiveAttribute(o,i):typeof i=="function"?n.addEffect(()=>{n.setAttribute(o,i())}):n.setAttribute(o,i))};e&&Object.keys(e).forEach(o=>{s(o,e[o])})},N=(n,...t)=>{const e=n.deref();if(e)return t.forEach(s=>{typeof s=="string"?s.trim().length>0&&e.addHtmlContent(s):L(s)?e.addReactiveContent(s):e.append(s)}),e},H=(n,t)=>{const e=document.createElement(n),s=at(e);return Z(new WeakRef(s),t)??s},D=(n,t)=>{const[e,...s]=n.split(" ").map(i=>i.trim()),o=H(e,t);return s.length>0&&o.addClass(...s),(...i)=>N(new WeakRef(o),...i.filter(Boolean).flat().flatMap(c=>typeof c=="function"&&!L(c)?O(()=>c(o)):c))??o},O=n=>{const t=`getSignalContent_${Math.random().toString(36).substring(2,15)}`;return H("div").addStyle({display:"contents"}).addEffect(e=>{e.clear(),N(new WeakRef(e),...[n()].flat())},t)},Nt=(n,t,e)=>{const s=H("div").addStyle({display:"contents"}),o=new Map,i=new Map,c=new Map,l=new Map;let u=[];const v=new Set;let h=n.peek();const C=f=>{v.delete(f),o.delete(f),i.delete(f),c.delete(f),l.delete(f)},R=f=>{if(!l.has(f)){const w=u.indexOf(f);return l.set(f,w),w}return l.get(f)},E=(f,w,x)=>Array.from(x.children).indexOf(f)!==w;return S(()=>{const f=n(),w=f.map(t).map(m=>typeof m=="string"?m:m.toString()),x=new Set(w);l.clear(),w.forEach((m,b)=>{l.set(m,b)}),u=w;const U=s.hostElement;if(!U)return;p("containerChildren",Array.from(U.children),u);const wt=[];Array.from(U.children).forEach(m=>{const b=m.dataset.key;b&&!x.has(b)&&wt.push(m)}),wt.forEach(m=>{const b=m.dataset.key;p("remove element",b,m),m.remove(),C(b)}),w.forEach((m,b)=>{var A;const I=f[b],P=h[b];if(!o.has(m))p("create new element",m,I),o.set(m,j(Math.random().toString(36).substring(2,15))),i.set(m,()=>e(I,b,f).setCustomAttribute("data-key",m));else if(P&&JSON.stringify(I)!==JSON.stringify(P)){const g=c.get(m);(A=o.get(m))==null||A.set(Math.random().toString(36).substring(2,15)),i.set(m,()=>e(I,b,f).setCustomAttribute("data-key",m)),g&&g.parentNode&&p("mark element for update",m)}}),h=[...f.map(m=>({...m}))];const nn=()=>{o.forEach((m,b)=>{p("key from setTimeout foreach currItemSignalMap",b),v.has(b)||(v.add(b),S(()=>{var At;m();const I=R(b),P=(At=i.get(b))==null?void 0:At();if(!P||!P.hostElement)return;const A=s.hostElement,g=P.hostElement;if(!A)return;p("call effect from setTimeout",b,g);const k=c.get(b);if(k&&k.parentNode===A){if(E(k,I,A)){const W=A.children[I];W&&W!==k?A.insertBefore(k,W):W||A.appendChild(k)}g!==k&&(k.replaceWith(g),c.set(b,g))}else if(c.set(b,g),I<A.children.length){const W=A.children[I];W?A.insertBefore(g,W):A.appendChild(g)}else A.appendChild(g)}))})};Promise.resolve().then(()=>nn())}),s},Vt=n=>{let t=[H("div")],e=!1;return S(()=>{var i,c;const s=n();e=Array.isArray(s);const o=[];o.push(...[s].flat()),o.length===0&&o.push(H("div").addStyle({display:"none"}).setAttribute("id","empty_template"));try{p("newReactiveComponent.map",o.map(l=>{var u;return p("newReactiveComponent hostElement",l.hostElement),(u=l.hostElement)==null?void 0:u.id})),p("currComponent[0].hostElement?.id",(i=t[0].hostElement)==null?void 0:i.id,t),(c=t[0].hostElement)==null||c.replaceWith(...o.map(l=>l.hostElement).filter(Boolean)),t.slice(1).forEach(l=>{var u;return(u=l.hostElement)==null?void 0:u.remove()}),t=o}catch(l){console.error(l)}}),e?t:t[0]},Jt=n=>Wt in n,qt=n=>{const t=D("div")().addStyle({display:"contents"}),e=s=>{const o=t.hostElement;return o&&(o.innerHTML=s),t};return typeof n=="string"?e(n):t.addEffect(()=>{e(n())}),t},Y=(n,t,e)=>n?O(t):e?O(e):D("div")().setAttribute("id","empty_div_renderIf").addStyle({display:"none"}),Et=(n,t,e)=>O(()=>Y(!!n(),t,e)),zt=(n,t,e)=>typeof n=="boolean"?Y(n,t,e):Et(n,t,e),K=(n,t)=>O(t).addEffect((e,s)=>{if(typeof n=="boolean")s.style.display=n?"block":"none";else{const o=n()?"block":"none";s.style.display=o}}),Gt=(n,t,e)=>{const s=[K(n,t)].flat();return e&&s.push(...[K(()=>typeof n=="boolean"?!n:!n(),e)].flat()),O(()=>s)},bt=(n,t)=>{p("createCustomElement",n);const e=document.createElement(n),s=ct(e);return e.init=()=>{Z(new WeakRef(s),t)},s},St=(n,t)=>{const e=n.split(" ").slice(1).map(o=>o.trim()),s=bt(n.split(" ")[0],t);return Array.isArray(e)&&e.length>0&&s.addClass(...e),(...o)=>{const i=o.filter(Boolean).flat().flatMap(l=>typeof l=="function"&&!L(l)?O(()=>l(s)):l),c=s.hostElement;return c&&(c.allSlotContent=i,c.slotContent=i.filter($).reduce((l,u)=>{var h;const v=((h=u.hostElement)==null?void 0:h.getAttribute("slot"))||"default";return l[v]||(l[v]=[]),l[v].push(u),l},{}),c.appendAllSlotContent=()=>{N(new WeakRef(s),...i)}),s}},yt=(n,t,e)=>St(`${n.renderTagName}${t&&typeof t=="string"?" "+t:""}`,y(t)?t:t&&typeof t=="string"?e:void 0),Dt=()=>{const n=()=>{};return n.oldValue=null,n},Ut=()=>({}),vt=(n,t,e)=>{const s=t?X(t,e)(n):n;return(o,...i)=>{const c=[...i];return o&&!y(o)&&c.unshift(o),yt(s,y(o)?o:{})(...c)}},Xt=n=>[vt(n),(t,e)=>{X(t,e)(n)}],a={};["div","span","section","input","button","table","tr","td","th","ul","li","ol","form","label","select","option","textarea","img","a","p","h1","h2","h3","h4","h5","h6","br","hr","pre","code","nav","header","footer","main","aside","article","figure","figcaption","blockquote","cite","small","strong","em","b","i","u","s","sub","sup","mark","del","ins","details","summary","progress","meter","audio","video","canvas","slot"].forEach(n=>{a[n]=(t,...e)=>{let s=[...e];return t&&!y(t)&&(s=[t].concat(s)),D(n,y(t)?t:{})(...s)}});const Zt=a.div,Qt=a.span,Yt=a.section,Kt=a.input,xt=a.button,te=a.table,ee=a.tr,ne=a.td,se=a.th,oe=a.ul,re=a.li,ie=a.ol,ce=a.form,ae=a.label,le=a.select,de=a.option,he=a.textarea,fe=a.img,ue=a.a,me=a.p,pe=a.h1,Ce=a.h2,Ee=a.h3,be=a.h4,Se=a.h5,ye=a.h6,ve=a.br,we=a.hr,Ae=a.pre,Re=a.code,Le=a.nav,ge=a.header,Ie=a.footer,Te=a.main,je=a.aside,Oe=a.article,ke=a.figure,$e=a.figcaption,Me=a.blockquote,We=a.cite,He=a.small,Pe=a.strong,_e=a.em,Be=a.b,Fe=a.i,Ne=a.u,Ve=a.s,Je=a.sub,qe=a.sup,ze=a.mark,Ge=a.del,De=a.ins,Ue=a.details,Xe=a.summary,Ze=a.progress,Qe=a.meter,Ye=a.audio,Ke=a.video,xe=a.canvas,tn=a.slot,en=n=>t=>n(t).addClass(...t.classList??[]).addReactiveClass(t.reactiveClassList??{});r.BaseElement=M,r.a=ue,r.addAttributeList=Ct,r.addClassList=ut,r.addCustomAttributes=ft,r.addReactiveClassList=mt,r.addStyleList=pt,r.appendContentItem=N,r.article=Oe,r.aside=je,r.audio=Ye,r.b=Be,r.bindReactiveSignals=Tt,r.blockquote=Me,r.br=ve,r.button=xt,r.camelToKebab=_,r.canvas=xe,r.checkCall=V,r.checkRef=Lt,r.cite=We,r.classList=lt,r.cls=Ft,r.code=Re,r.colorLog=B,r.combineLatest=Ot,r.component=X,r.configCustomComponent=Xt,r.createComponent=en,r.createCustom=yt,r.createCustomEl=St,r.createCustomElement=bt,r.createEl=D,r.createElement=H,r.createSignal=It,r.customElementHelpers=ct,r.defineSlotTemplate=Ut,r.del=Ge,r.details=Ue,r.disableLogs=et,r.div=Zt,r.effect=S,r.elementHelpers=at,r.em=_e,r.enableLogs=Rt,r.event=$t,r.eventEmitter=Bt,r.figcaption=$e,r.figure=ke,r.footer=Ie,r.forkJoin=jt,r.form=ce,r.getList=Nt,r.getSignalContent=O,r.h1=pe,r.h2=Ce,r.h3=Ee,r.h4=be,r.h5=Se,r.h6=ye,r.header=ge,r.hr=we,r.i=Fe,r.img=fe,r.initComponent=Z,r.input=Kt,r.ins=De,r.isBaseElement=Mt,r.isComponentConfig=$,r.isComponentInitConfig=y,r.isReactiveSignal=L,r.isSlotTemplate=Jt,r.kebabToCamel=tt,r.label=ae,r.li=re,r.main=Te,r.mark=ze,r.meter=Qe,r.nav=Le,r.newEventEmitter=Dt,r.ol=ie,r.option=de,r.p=me,r.pre=Ae,r.progress=Ze,r.projectLog=p,r.property=kt,r.removeEffect=q,r.renderIf=Y,r.rs=gt,r.rxRenderIf=Et,r.s=Ve,r.section=Yt,r.select=le,r.setChildren=ht,r.setEffects=dt,r.setListeners=Q,r.show=Gt,r.showIf=K,r.signal=j,r.signalComponent=Vt,r.slot=tn,r.small=He,r.span=Qt,r.strong=Pe,r.sub=Je,r.summary=Xe,r.sup=qe,r.table=te,r.td=ne,r.textarea=he,r.th=se,r.tr=ee,r.u=Ne,r.ul=oe,r.unsafeHtml=qt,r.useCustomComponent=vt,r.video=Ke,r.when=zt,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})});
|