@symbo.ls/element 3.14.765 → 3.14.778
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/CHANGELOG.md +12 -0
- package/dist/cjs/src/create.js +4 -4
- package/dist/cjs/src/update.js +1 -1
- package/dist/esm/src/create.js +4 -4
- package/dist/esm/src/update.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dist/cjs/src/create.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var dt=Object.defineProperty;var zt=Object.getOwnPropertyDescriptor;var Yt=Object.getOwnPropertyNames;var Qt=Object.prototype.hasOwnProperty;var Zt=(t,s)=>{for(var n in s)dt(t,n,{get:s[n],enumerable:!0})},qt=(t,s,n,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let e of Yt(s))!Qt.call(t,e)&&e!==n&&dt(t,e,{get:()=>s[e],enumerable:!(r=zt(s,e))||r.enumerable});return t};var Xt=t=>qt(dt({},"__esModule",{value:!0}),t);var So={};Zt(So,{BEFORE_UPDATE_MAX_CONSECUTIVE_FAILURES:()=>ct,acquireBeforeUpdateGuard:()=>Wt,create:()=>B,default:()=>ko,flushMounts:()=>et,releaseBeforeUpdateGuard:()=>st});module.exports=Xt(So);var O=require("@symbo.ls/signal"),v=require("@symbo.ls/signal"),H=require("./cache.js"),R=require("./registry.js"),Kt=require("./delegate.js"),Vt=require("./extends.js"),Ht=require("./methods.js"),Eo=require("./dispose.js"),rt=require("./devRuntime.js"),it=require("@symbo.ls/utils"),M=require("@symbo.ls/utils/function.js"),Z=require("@symbo.ls/state"),b=require("css-in-props"),K=require("@symbo.ls/css"),A=require("@symbo.ls/scratch"),j=require("attrs-in-props");let Jt=1;const J=[];let lt=!1;function vt(){return typeof Date<"u"&&typeof Date.now=="function"?Date.now():0}function mt(){return typeof document<"u"&&document.visibilityState==="hidden"}const to=250;function wt(){if(!lt){if(lt=!0,typeof requestAnimationFrame!="function"){setTimeout(et,0);return}mt()?setTimeout(et,to):requestAnimationFrame(et)}}const oo=300,so=15e4;function et(){if(lt=!1,!J.length)return;const t=J.splice(0,J.length);for(let s=0;s<t.length;s++){const n=t[s];if(n.node){if(!n.node.isConnected){const r=n.__ref||(n.__ref={});r.__mountAttempts=(r.__mountAttempts||0)+1,r.__mountFirstAttemptAt==null&&(r.__mountFirstAttemptAt=vt());const e=vt()-r.__mountFirstAttemptAt;r.__mountAttempts<=oo&&e<so?(J.push(n),wt()):console.warn("[DOMQL] onMounted dropped after",r.__mountAttempts,"attempts /",e,"ms \u2014 node never connected:",n.key||n.tag||n);continue}I("Mounted",n,n.__ref?.__mountOptions||{})}}}function Et(t,s){typeof t.onMounted=="function"&&(t.__ref.__mountOptions=s,J.push(t),wt())}function Pt(t,s){if(typeof t.onContentUpdate!="function")return;t.context?.plugins?.length&&(0,M.runPluginHook)("contentUpdate",t,s);const n=t.context?.designSystem;n&&(0,A.pushConfig)(n);try{t.onContentUpdate(t,t.state,t.context,s)}catch(r){if(t.context?.plugins?.length&&(0,M.runPluginHook)("error",t,{hook:"onContentUpdate",error:r})||console.error('[DOMQL] Lifecycle "onContentUpdate" error:',r),t.context?.strictMode)throw r}finally{n&&(0,A.popConfig)()}}function z(t){return t.length>2&&t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>=65&&t.charCodeAt(2)<=90}function no(t){return t.charAt(2).toLowerCase()+t.slice(3)}function ro(t){return t.toLowerCase()}function pt(t){const s=t.charCodeAt(0);return s===58||s===64||s===38}function m(t,s){const n={...t};for(const r in s){const e=n[r],o=s[r];e&&o&&typeof e=="object"&&typeof o=="object"&&!Array.isArray(e)&&!Array.isArray(o)&&typeof e!="function"&&typeof o!="function"?n[r]=m(e,o):n[r]=o}return n}function B(t,s,n,r={},e){if(t==null||t===!1)return null;(typeof t=="string"||typeof t=="number")&&(t={text:t});const o=Object.create(null);o.key=n||t.key||`_${Jt++}`,o.parent=s||null,o.context=t.context||s?.context||r.context||{},o.context.__create||(o.context.__create=B);const a=o.__ref={__if:!0,__children:[],__exec:{},__effects:[],__eventCleanup:[],root:s?.__ref?.root||o,path:s?.__ref?.path?[...s.__ref.path,o.key]:[o.key],origin:t};if(n&&!t.extends&&!t.extend){const l=n.indexOf("_");if(l>0){const _=n.substring(0,l),g=o.context?.components;g&&(g[_]||g["smbls."+_])?t={...t,extends:_}:g&&(0,rt.isLoudDevRuntime)()&&/^[A-Z]\w*_\d+$/.test(n)&&console.warn(`[smbls] auto-extend: key "${n}" looks like a multi-instance (${_}_N) but neither "${_}" nor "smbls.${_}" is registered in context.components \u2014 element will render as a plain <div>. Register the base component or rename the key.`)}}(0,Vt.applyExtends)(o,t,r);const i=new Set(["childProps","attr","style","scope","data"]),c=o.props&&typeof o.props=="object"?o.props:null;for(const l in t){if(l==="parent"||l==="node"||l==="__ref"||l==="extends"||l==="context"||l==="props")continue;const _=t[l],g=o[l],C=g&&_&&typeof g=="object"&&typeof _=="object"&&!Array.isArray(g)&&!Array.isArray(_)&&typeof g!="function"&&typeof _!="function";C&&l.charCodeAt(0)>=65&&l.charCodeAt(0)<=90?o[l]=m(g,_):C&&i.has(l)?o[l]={...g,..._}:C&&pt(l)?o[l]=m(g,_):o[l]=_}function f(l){for(const _ in l){const g=l[_],C=o[_],x=C&&g&&typeof C=="object"&&typeof g=="object"&&!Array.isArray(C)&&!Array.isArray(g)&&typeof C!="function"&&typeof g!="function";x&&_.charCodeAt(0)>=65&&_.charCodeAt(0)<=90?o[_]=m(C,g):x&&i.has(_)?o[_]={...C,...g}:x&&pt(_)?o[_]=m(C,g):o[_]=g}}c&&f(c),t.props&&typeof t.props=="object"&&f(t.props),t.data!==void 0&&(o.data=t.data),t.classlist!==void 0&&(o.classlist=t.classlist),t.text!==void 0&&(o.text=t.text),t.html!==void 0&&(o.html=t.html);const u=o.scope&&typeof o.scope=="object"?o.scope:null,d=s?.scope,p=o.context&&typeof o.context.globalScope=="object"&&o.context.globalScope||null,y=d||p||null;if(t.scope!==void 0||u){const l={};u&&Object.assign(l,u),t.scope!==void 0&&Object.assign(l,t.scope),o.scope=(0,O.createScopeStore)(l,y)}else y&&(o.scope=y);if(t.if!==void 0&&(o.if=t.if),(0,Ht.addMethods)(o),io(o,s,t),o.if!=null){let l;if(typeof o.if=="function")try{l=o.if(o,o.state,o.context)}catch(_){if(l=!1,a.__ifError=_,typeof console<"u"&&console.warn){const g=o.key||o.tag||"?";console.warn(`[smbls] \`if:\` evaluator threw on ${g} \u2014 treating as false:`,_?.message||_)}}else l=o.if;a.__if=!!l}if(a.__if)typeof o.if=="function"&&(a.__ifInitialized=!0);else return s&&(s[o.key]=o),typeof o.if=="function"&&Tt(o,a,o.if),o;o.tag||(o.tag=(0,H.detectTag)(o)),I("Init",o,r);const h=o.node=(0,H.cacheNode)(o);if(!h)return o;if(o.tag==="fragment"){const _=(o.context?.document||globalThis.document).createComment("");h.appendChild(_),a.__fragmentAnchor=_}I("AttachNode",o,r),h.setAttribute&&o.key&&h.setAttribute("data-key",o.key),s&&(s[o.key]=o,s.__ref?.__children&&(s.__ref.__children.includes(o.key)||s.__ref.__children.push(o.key))),h.setAttribute&&o.context?.scopeSelector&&o.context.scopeSelector!==":root"&&o.context.key&&o.key===o.context.key&&h.setAttribute("data-smbls-app",o.context.key),o.id&&h.setAttribute&&(h.id=o.id),Ut(o,r),Dt(o),ht(o),Mt(o),Ao(o);try{It(o,r)}catch(l){if(typeof console<"u"&&console.error){const _=o.__ref?.path?.join(".")||o.key||"<root>";console.error(`[smbls] createChildren failed at ${_}:`,l?.message||l,l?.stack?`
|
|
2
2
|
`+l.stack.split(`
|
|
3
3
|
`).slice(0,6).join(`
|
|
4
|
-
`):"")}}if(Ct(o,!0),Ut(o,s,i),typeof o.html=="function"&&o.node&&!o.node.innerHTML){const l=o.context?.designSystem;l&&(0,A.pushConfig)(l);try{const _=o.html(o,o.state,o.context);_!=null&&typeof _!="function"&&(o.node.innerHTML=_)}catch{}finally{l&&(0,A.popConfig)()}}if(I("Create",o,r),I("Complete",o,r),I("Render",o,r),I("RenderRouter",o,r),wt(o,r),typeof o.onFrame=="function"){const l=o.onFrame,_=o.context?.designSystem,g=()=>{if(o.node){if(o.node.isConnected){_&&(0,A.pushConfig)(_);try{l(o,o.state,o.context)}catch(C){console.error("[DOMQL] onFrame error:",C)}finally{_&&(0,A.popConfig)()}}requestAnimationFrame(g)}};requestAnimationFrame(g)}return o}function to(t,s,n){const r=!s,i=n.state&&typeof n.state=="object"&&!Array.isArray(n.state)&&Object.keys(n.state).length===0,o=r&&i&&t.context?.state,a=n.state!==void 0&&!o?n.state:t.state&&!(0,P.isStore)(t.state)?t.state:void 0;if(a==null){if(s?.state)t.state=s.state,(0,q.applyStateMethods)(t,t.state);else if(t.context?.state){const c=t.context.state,e={...c},f=t.context?.polyglot;if(f?.translations){const u=c.lang||f.defaultLang||"en",d=f.translations[u];if(d&&typeof d=="object")for(const y in d)e[y]===void 0&&(e[y]=d[y]);const p=new Set(f.languages||[]);for(const y in f.translations)!p.has(y)&&e[y]===void 0&&(e[y]=f.translations[y])}t.state=(0,P.isStore)(e)?e:(0,P.createStore)(e),t.state.__element=t,t.state.root=t.state,(0,q.applyStateMethods)(t,t.state)}else t.state={},Object.defineProperty(t.state,"root",{value:t.state,enumerable:!1,configurable:!0,writable:!0}),(0,q.applyStateMethods)(t,t.state);return}if(typeof a=="string"){if(t.state=Et(a,s),t.state&&typeof t.state=="object"&&!(0,P.isStore)(t.state)){const c=s?.state?.root||s?.state||t.state;Object.defineProperty(t.state,"root",{value:c,enumerable:!1,configurable:!0,writable:!0})}(0,q.applyStateMethods)(t,t.state);return}if(typeof a=="function"){const c=a(t,s?.state);t.state=(0,P.isStore)(c)?c:(0,P.createStore)(c||{})}else(0,P.isStore)(a)?t.state=a:t.state=(0,P.createStore)({...a});t.state.__element=t,s?.state?(t.state.parent=s.state,t.state.root=s.state.root||s.state):t.state.root=t.state,(0,q.applyStateMethods)(t,t.state)}function pt(t,s){if(!s)return t;const n=s.split("/");let r=t;for(const i of n){if(r==null)return{};r=r[i]}return r??{}}function Et(t,s){if(!s)return{};if(t===".")return s.state||{};if(t.startsWith("../")){const i=t.slice(3);return i?pt(s.state,i):s.state??{}}if(t.startsWith("~/")){const i=s.state?.root||s.state,o=t.slice(2);return o?pt(i,o):i??{}}if(s.state?.[t]!==void 0)return s.state[t];const n=pt(s.state,t);if(n!=null&&Object.keys(n).length>0)return n;const r=s.context?.polyglot;if(r?.translations){const i=s.state?.root?.lang||r.defaultLang||"en",o=r.translations[i];if(o?.[t]!==void 0)return o[t];if(r.translations[t]!==void 0)return r.translations[t]}return{}}const oo=new Set(["s","state","ctx","context"]);function so(t){try{const n=Function.prototype.toString.call(t).match(/^[^(]*\(([^)]*)\)/);return n?n[1].split(",").map(r=>r.trim().split("=")[0].trim()).filter(Boolean):[]}catch{return[]}}function no(t){if(typeof t!="function"||t.length!==2)return!1;const s=so(t);if(s.length<2)return!1;const n=s[1].replace(/[{}[\]]/g,"").trim();return n.length>0&&!oo.has(n)}function ro(t){const s=t.__ref,n=t.tag||"div",r=t.context?.designSystem,i=[],o=Object.keys(t);for(let a=0;a<o.length;a++){const c=o[a];if(typeof t[c]!="function"||T.REGISTRY.has(c))continue;const e=c.charCodeAt(0);e>=65&&e<=90||z(c)||b.CSS_PROPS_REGISTRY[c]||b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(c)||(0,$.checkAttributeByTagName)(n,c)||((0,rt.isLoudDevRuntime)()&&no(t[c])&&console.warn(`[smbls] custom prop "${c}"${t.key?` on key "${t.key}"`:""} is a function \u2014 it will be auto-invoked on read and its RETURN VALUE stored, not preserved as a callable reference. If you meant to stash a callback, use el.call('${c}', \u2026) instead of reading el.${c}(\u2026) directly (see RULES.md Rule 8).`),i.push({prop:c,fn:t[c]}))}for(let a=0;a<i.length;a++){const{prop:c,fn:e}=i[a];s.__exec[c]=e,Object.defineProperty(t,c,{get(){r&&(0,A.pushConfig)(r);try{return e(t,t.state,t.context)}catch{return}finally{r&&(0,A.popConfig)()}},set(f){delete s.__exec[c],Object.defineProperty(t,c,{value:f,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}}function co(t,s){if(!(!Array.isArray(s)||s.length===0))for(let n=0;n<s.length;n++){const r=s[n];try{typeof r=="function"?r(t,t.state,t.context):typeof r=="string"&&t.state?.[r]}catch{}}}function L(t,s,n){return!Array.isArray(s)||s.length===0?n:function(...r){return co(t,s),n.apply(this,r)}}function m(t,s){if(!(!t||Array.isArray(t)||typeof t!="object"))return t[s]}function Pt(t,s){const n=t.__ref,r=!!(s&&s.skipIfEffect);if(ro(t),typeof t.text=="function"){const o=t.text,a=L(t,t.textDeps,o),c=(0,v.createEffect)(()=>{if(!n.contentManaged)try{let e=a(t,t.state,t.context);t.node&&e!=null&&typeof e!="function"&&typeof e!="object"&&(typeof e=="string"&&e.includes("{{")&&(e=ct.replaceLiteralsWithObjectFields.call(t,e,t.state)),t.tag==="string"?t.node.nodeValue=e:t.node.textContent=e)}catch{}},{depth:n.path.length});n.__effects.push(c),n.__exec.text=o}else if(typeof t.text=="string"&&t.text.includes("{{")){const o=t.text,a=(0,v.createEffect)(()=>{if(n.contentManaged)return;const c=ct.replaceLiteralsWithObjectFields.call(t,o,t.state);c!=null&&(t.text=c),t.node&&(t.tag==="string"?t.node.nodeValue=c??"":t.node.textContent=c??"")},{depth:n.path.length});n.__effects.push(a),n.__exec.text=o}for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&typeof t[o]=="function"&&!T.REGISTRY.has(o)&&!z(o)&&!n.__exec[o]){if(b.CSS_PROPS_REGISTRY[o]){const a=t[o],c=L(t,t[o+"Deps"],a),e=o;let f;const u=(0,v.createEffect)(()=>{const d=t.context?.designSystem;d&&(0,A.pushConfig)(d);try{const p=c(t,t.state,t.context),y=b.CSS_PROPS_REGISTRY[e](p,t,t.state,t.context);if(y&&t.node){const h=ht(y);(h===null||h!==f)&&(f=h,Y(t.node,y))}else t.node&&(e==="show"||e==="hide")&&(f=void 0,t.node.style.display="")}finally{d&&(0,A.popConfig)()}},{depth:n.path.length});n.__effects.push(u),n.__exec[o]=a}else if(b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(o)){const a=t[o],c=L(t,t[o+"Deps"],a),e=o;let f;const u=(0,v.createEffect)(()=>{const d=t.context?.designSystem;d&&(0,A.pushConfig)(d);try{const p=c(t,t.state,t.context);if(t.node)if(p!=null){const y=e+":"+String(p);y!==f&&(f=y,Y(t.node,{[e]:p}))}else f=void 0,t.node.style[e]=""}finally{d&&(0,A.popConfig)()}},{depth:n.path.length});n.__effects.push(u),n.__exec[o]=a}}if(typeof t.html=="function"){const o=t.html,a=L(t,t.htmlDeps,o),c=(0,v.createEffect)(()=>{const e=t.context?.designSystem;e&&(0,A.pushConfig)(e);try{const f=a(t,t.state,t.context);t.node&&f!=null&&typeof f!="function"&&(t.node.innerHTML=f)}finally{e&&(0,A.popConfig)()}},{depth:n.path.length});n.__effects.push(c),n.__exec.html=o}if(typeof t.value=="function"){const o=t.value,a=L(t,t.valueDeps,o),c=(0,v.createEffect)(()=>{try{const e=a(t,t.state,t.context);if(!t.node||!("value"in t.node))return;const f=e==null?"":String(e);if(t.node.value===f)return;const u=typeof document<"u"&&document.activeElement===t.node,d=u&&typeof t.node.selectionStart=="number"?t.node.selectionStart:null,p=u&&typeof t.node.selectionEnd=="number"?t.node.selectionEnd:null;if(t.node.value=f,u&&d!=null&&p!=null)try{t.node.setSelectionRange(d,p)}catch{}}catch{}},{depth:n.path.length});n.__effects.push(c),n.__exec.value=o}if(typeof t.style=="function"){const o=t.style,a=L(t,t.styleDeps,o);let c;const e=(0,v.createEffect)(()=>{const f=a(t,t.state,t.context),u=ht(f);(u===null||u!==c)&&(c=u,Y(t.node,f))},{depth:n.path.length});n.__effects.push(e),n.__exec.style=o}else if(t.style&&typeof t.style=="object")for(const o in t.style){const a=t.style[o];if(typeof a!="function")continue;const c=L(t,m(t.styleDeps,o),a);let e;const f=(0,v.createEffect)(()=>{try{const u=c(t,t.state,t.context);if(t.node){const d=o+":"+String(u);d!==e&&(e=d,Y(t.node,{[o]:u}))}}catch{}},{depth:n.path.length});n.__effects.push(f)}if(t.attr&&typeof t.attr=="object"){for(const o in t.attr)if(typeof t.attr[o]=="function"){const a=L(t,m(t.attrDeps,o),t.attr[o]),c=o,e=(0,v.createEffect)(()=>{try{const f=a(t,t.state,t.context);t.node?.setAttribute&&(f==null||f===!1?t.node.removeAttribute(c):typeof f!="function"&&typeof f!="object"&&t.node.setAttribute(c,f===!0?"":f))}catch{}},{depth:n.path.length});n.__effects.push(e)}}if(t.aria&&typeof t.aria=="object")for(const o in t.aria){if(typeof t.aria[o]!="function")continue;const a=L(t,m(t.ariaDeps,o),t.aria[o]),c="aria-"+o.replace(/[A-Z]/g,f=>"-"+f.toLowerCase()),e=(0,v.createEffect)(()=>{try{const f=a(t,t.state,t.context);if(!t.node?.setAttribute)return;f==null||f===!1?t.node.removeAttribute(c):typeof f!="function"&&typeof f!="object"&&t.node.setAttribute(c,f===!0?"":f)}catch{}},{depth:n.path.length});n.__effects.push(e)}if(t.data&&typeof t.data=="object")for(const o in t.data){if(typeof t.data[o]!="function")continue;const a=L(t,m(t.dataDeps,o),t.data[o]),e="data-"+o.replace(/[A-Z]/g,u=>"-"+u.toLowerCase()),f=(0,v.createEffect)(()=>{try{const u=a(t,t.state,t.context);if(!t.node?.setAttribute)return;u==null||u===!1?t.node.removeAttribute(e):typeof u!="function"&&typeof u!="object"&&t.node.setAttribute(e,u===!0?"":u)}catch{}},{depth:n.path.length});n.__effects.push(f)}const i=t.classlist&&typeof t.classlist=="object"&&!Array.isArray(t.classlist)?t.classlist:t.class&&typeof t.class=="object"&&!Array.isArray(t.class)?t.class:null;if(i)for(const o in i){if(typeof i[o]!="function")continue;const a=L(t,m(t.classDeps,o),i[o]),c=(0,v.createEffect)(()=>{try{const e=a(t,t.state,t.context);if(!t.node?.classList)return;typeof e=="string"?t.node.classList.add(e):e?t.node.classList.add(o):t.node.classList.remove(o)}catch{}},{depth:n.path.length});n.__effects.push(c)}!r&&typeof t.if=="function"&&Lt(t,n,t.if);for(const o in t){if(!Object.prototype.hasOwnProperty.call(t,o)||T.REGISTRY.has(o)||typeof t[o]!="function")continue;const a=o.charCodeAt(0);if(a>=65&&a<=90||z(o))continue;const c=t[o];n.__exec[o]=c;const e=t.tag||"div";if((0,$.checkAttributeByTagName)(e,o)&&!b.CSS_PROPS_REGISTRY[o]&&!(b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(o))){const f=(0,$.camelToAttr)(o)||o,u=L(t,t[o+"Deps"],c),d=(0,v.createEffect)(()=>{try{const p=u(t,t.state,t.context);t.node?.setAttribute&&(p==null||p===!1?t.node.removeAttribute(f):typeof p!="function"&&typeof p!="object"&&(f==="src"&&"src"in t.node?t.node.src=p:t.node.setAttribute(f,p===!0?"":p)))}catch{}},{depth:n.path.length});n.__effects.push(d)}}if(ao(t),lo(t),typeof t.onStateUpdate=="function"&&Array.isArray(t.stateDeps)){const o=t.onStateUpdate,a=t.stateDeps;let c=!1,e=[];const f=(0,v.createEffect)(()=>{const u=[];for(let h=0;h<a.length;h++){const l=a[h];try{u[h]=typeof l=="function"?l(t,t.state,t.context):t.state?.[l]}catch{u[h]=void 0}}if(!c){c=!0,e=u;return}let d=u.length!==e.length;for(let h=0;!d&&h<u.length;h++)u[h]!==e[h]&&(d=!0);const p=e;if(e=u,!d)return;const y=t.context?.designSystem;y&&(0,A.pushConfig)(y);try{o(t,t.state,t.context,{prev:p,next:u})}catch(h){if(t.context?.plugins?.length&&(0,N.runPluginHook)("error",t,{hook:"onStateUpdate",error:h})||console.error('[DOMQL] Lifecycle "onStateUpdate" error:',h),t.context?.strictMode)throw h}finally{y&&(0,A.popConfig)()}},{depth:n.path.length});n.__effects.push(f)}uo(t)}function Ot(t){const s=t.parent,n=s?.node;if(!n||!t.node){Ut(t,t.parent);return}let r=null;const i=Object.keys(s),o=i.indexOf(t.key);for(let a=o+1;a<i.length;a++){const c=s[i[a]];if(c?.node?.parentNode===n){r=c.node;break}}r?n.insertBefore(t.node,r):n.appendChild(t.node)}function Lt(t,s,n){const r=L(t,t.ifDeps,n),i=(0,v.createEffect)(()=>{let o;try{o=r(t,t.state,t.context)}catch(c){if(o=!1,s.__ifError=c,typeof console<"u"&&console.warn){const e=t.key||t.tag||"?";console.warn(`[smbls] \`if:\` reactive effect threw on ${e} \u2014 treating as false:`,c?.message||c)}return}const a=s.__if;if(s.__if=!!o,a&&!s.__if&&t.node)t.node.remove();else if(!a&&s.__if)if(s.__ifInitialized)t.node||(t.node=(0,W.cacheNode)(t)),t.node&&(t.node.ref=t),Ot(t),yt(t);else{if(s.__ifInitialized=!0,t.tag||(t.tag=(0,W.detectTag)(t)),I("Init",t,{}),t.node||(t.node=(0,W.cacheNode)(t)),!t.node)return;if(t.parent?.__ref?.__children&&!t.parent.__ref.__children.includes(t.key)&&t.parent.__ref.__children.push(t.key),t.tag==="fragment"&&!s.__fragmentAnchor){const e=(t.context?.document||globalThis.document).createComment("");t.node.appendChild(e),s.__fragmentAnchor=e}I("AttachNode",t,{}),t.node.setAttribute&&t.key&&t.node.setAttribute("data-key",t.key),t.id&&t.node.setAttribute&&(t.node.id=t.id),Nt(t,{}),Pt(t,{skipIfEffect:!0}),yt(t),Tt(t),Mt(t,{}),Ot(t),wt(t,{})}},{depth:s.path.length});s.__effects.push(i)}function yt(t){const{node:s}=t;if(s){if(typeof t.text=="string"&&!t.text.includes("{{")?t.tag==="string"?s.nodeValue=t.text:s.textContent=t.text:typeof t.text=="number"&&(s.textContent=t.text),yo(t),typeof t.html=="string"&&(s.innerHTML=t.html),t.value!=null&&typeof t.value!="function"&&"value"in s){const n=String(t.value);s.value!==n&&(s.value=n)}if(t.style&&typeof t.style=="object"&&Y(s,t.style),t.attr&&typeof t.attr=="object")for(const n in t.attr){const r=t.attr[n];typeof r=="function"||typeof r=="object"||r==null||r===!1||s.setAttribute&&s.setAttribute(n,r===!0?"":r)}if(t.data&&typeof t.data=="object")for(const n in t.data){const r=t.data[n];typeof r=="function"||typeof r=="object"||r==null||r===!1||s.dataset&&(s.dataset[n]=r===!0?"":r)}if(t.classlist||t.class){const n=t.classlist||t.class;if(typeof n=="string")n.split(" ").forEach(r=>r&&s.classList.add(r));else if(typeof n=="object")for(const r in n){const i=typeof n[r]=="function"?n[r](t,t.state,t.context):n[r];i&&s.classList.add(typeof i=="string"?i:r)}}}}function ht(t){if(t==null||typeof t!="object")return"s:"+String(t);try{return"o:"+JSON.stringify(t)}catch{return null}}function Y(t,s){if(!t||!s||!t.style)return;let n=null;for(const r in s){const i=s[r];if(i!=null){if(r.charAt(0)==="&"&&typeof i=="object"){n||(n={}),n[r]=i;continue}try{const o=String(i),a=r.replace(/[A-Z]/g,u=>"-"+u.toLowerCase()),c=o.trim(),e=/\s*!important\s*$/.test(c),f=c.replace(/\s*!important\s*$/,"");t.style.setProperty(a,f,e?"important":"")}catch{}}}n&&eo(t,n)}let io=0;function eo(t,s){const n=`_ds${io++}`;t.classList.add(n);const r=t.ownerDocument;let i=r.querySelector("style[data-smbls-scoped]");i||(i=r.createElement("style"),i.setAttribute("data-smbls-scoped",""),r.head.appendChild(i));let o="";for(const a in s){const c="."+n,e=a.replace(/&/g,c).split(",").map(u=>{const d=u.trim();return d.includes(c)?d:c+d}).join(", "),f=s[a];if(typeof f=="object"){let u="",d="";for(const p in f){const y=f[p];if(typeof y=="object"){const h=p.includes("&")?e.split(", ").map(_=>p.replace(/&/g,_)).join(", "):e.split(", ").map(_=>`${_} ${p}`).join(", ");let l="";for(const _ in y)l+=`${_.replace(/[A-Z]/g,g=>"-"+g.toLowerCase())}: ${y[_]};`;d+=(0,K.wrapHoverRule)(`${h} { ${l} }`,h)+`
|
|
5
|
-
`}else u+=`${p.replace(/[A-Z]/g,h=>"-"+h.toLowerCase())}: ${y};`}u&&(o+=(0,K.wrapHoverRule)(`${
|
|
6
|
-
`),d&&(o+=d)}}o&&(i.textContent+=o)}function ao(t){let s=t.subscribeTo;if(typeof s=="function")try{s=s(t,t.state,t.context)}catch{s=null}if(!Array.isArray(s)||s.length===0)return;const n=t.__ref;for(let r=0;r<s.length;r++){const i=s[r];if(typeof i!="string"||i.length===0)continue;const o=i.split("."),a=o[0],c=o.slice(1),e={value:!1},f=(0,v.createEffect)(()=>{const u=t.state&&((0,P.isStore)(t.state)?t.state.root:null);if(!u||!(0,P.isStore)(u))return;let d=u;d=d[a];for(let y=0;y<c.length&&!(d==null||typeof d!="object");y++)if((0,P.isStore)(d))d=d[c[y]];else break;if(!e.value)return;let p=!1;if(typeof t.onBeforeUpdate=="function"){const y=t.context?.designSystem;y&&(0,A.pushConfig)(y);try{if(Vt(n)){const h=t.onBeforeUpdate(t,t.state,t.context,{updateBySubscription:!0});h&&typeof h.then=="function"?h.then(()=>ot(n,!1),l=>{ot(n,!0),t.context?.plugins?.length&&(0,N.runPluginHook)("error",t,{hook:"onBeforeUpdate",error:l})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",l)}):(ot(n,!1),h===!1&&(p=!0))}}catch(h){ot(n,!0),t.context?.plugins?.length&&(0,N.runPluginHook)("error",t,{hook:"onBeforeUpdate",error:h})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",h)}finally{y&&(0,A.popConfig)()}}if(!p&&t.node&&n.__effects)for(let y=0;y<n.__effects.length;y++){const h=n.__effects[y];h&&h!==f&&!h._disposed&&!h._isSubscribeToEffect&&typeof h._execute=="function"&&h._execute()}if(!p&&typeof t.onUpdate=="function"){const y=t.context?.designSystem;y&&(0,A.pushConfig)(y);try{t.onUpdate(t,t.state,t.context)}catch(h){t.context?.plugins?.length&&(0,N.runPluginHook)("error",t,{hook:"onUpdate",error:h})||console.error("[DOMQL] subscribeTo onUpdate error:",h)}finally{y&&(0,A.popConfig)()}}},{depth:n.path.length});e.value=!0,f._isSubscribeToEffect=!0,n.__effects.push(f)}}function _t(t,s){return t.charCodeAt(0)===64&&t.length>1&&!t.startsWith("@media")&&!t.startsWith("@keyframes")&&!t.startsWith("@supports")&&(t==="@dark"||t==="@light"||!s.context?.designSystem?.media?.[t.slice(1)])}const $t=new Set;function fo(t,s){const n=s?.__ref?.path?s.__ref.path.join("."):s?.key||"?",r=n+"::"+t;$t.has(r)||($t.add(r),console.warn(`[smbls/css] "${t}" at ${n} is a CHILD-COMPONENT key nested inside a pseudo/selector block (":hover", "@dark", etc.) \u2014 that is never a valid CSS selector fragment. The rule is DROPPED (not shipped as a dead/never-matching selector). To reveal a child on a parent state, target the child's OWN class from the parent selector instead, e.g. move the declaration onto the child element itself, or use a sibling-selector combinator in a top-level style block.`))}function Z(t,s,n){const r={},i=new Set,o=(a,c,e)=>{const f=e?new Set(Object.keys(r)):null;if(b.CSS_PROPS_REGISTRY[a]){const u=b.CSS_PROPS_REGISTRY[a](c,s,s.state,s.context);if(u){const d=Array.isArray(u)?u:[u];for(const p of d)p&&Object.assign(r,p)}}else r[a]=c;if(e)for(const u in r)f.has(u)||i.add(u)};for(const a in t){if(!Object.prototype.hasOwnProperty.call(t,a))continue;let c=t[a];if(typeof c=="function"&&(c=c(s,s.state,s.context)),c==null||typeof c=="function")continue;if(typeof c=="object"&&!Array.isArray(c)){if(a==="style"){for(const d in c){let p=c[d];if(typeof p=="function"&&(p=p(s,s.state,s.context)),p==null||typeof p=="function")continue;const y=typeof s[d]=="function"&&(b.CSS_PROPS_REGISTRY[d]||b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(d));o(d,p,y)}continue}if(_t(a,s)){const d=Z(c,s,!1);Object.keys(d).length&&(r[`[data-theme="${a.slice(1)}"] &`]=d);continue}if(/^[A-Z][A-Za-z0-9]*$/.test(a)){(0,rt.isLoudDevRuntime)()&&fo(a,s);continue}let f=a;if(a.charCodeAt(0)===64&&!a.startsWith("@media")&&!a.startsWith("@keyframes")){const d=s.context?.designSystem?.media?.[a.slice(1)];d&&(f=`@media ${d}`)}const u=Z(c,s,!1);Object.keys(u).length&&(r[f]=u);continue}const e=typeof s[a]=="function"&&(b.CSS_PROPS_REGISTRY[a]||b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(a));o(a,c,e)}if(n)for(const a in r)i.add(a);for(const a of i){const c=r[a];typeof c=="string"&&!c.includes("!important")&&(r[a]=c+" !important")}return r}function gt(t,s){if(s===void 0&&(s=0),s>8)return!1;if(typeof t=="function")return!0;if(t&&typeof t=="object"&&!Array.isArray(t)){for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&>(t[n],s+1))return!0}return!1}function Dt(t,s,n){if(!s||typeof s!="object"||Array.isArray(s))return null;if(_t(t,n)){const o=Z(s,n,!1);return Object.keys(o).length?{cssProp:`[data-theme="${t.slice(1)}"] &`,block:o}:null}let r=t;if(t.charAt(0)==="@"&&!t.startsWith("@media")&&!t.startsWith("@keyframes")){const o=n.context?.designSystem?.media?.[t.slice(1)];o&&(r=`@media ${o}`)}const i=Z(s,n,!1);return Object.keys(i).length?{cssProp:r,block:i}:null}function uo(t){const s=t.__ref;for(const n in t){if(!Object.prototype.hasOwnProperty.call(t,n)||!lt(n))continue;const r=t[n];if(!r||typeof r!="object"||Array.isArray(r)||!gt(r))continue;let i=null,o;const a=(0,v.createEffect)(()=>{if(!t.node)return;const c=t.context?.designSystem;c&&(0,A.pushConfig)(c);let e,f=!1;try{const u=Dt(n,r,t),d=u?ht(u.block)+"::"+u.cssProp:null;if(d!==null&&d===o)f=!0;else if(o=d,u){const p=(0,K.css)({[u.cssProp]:u.block},null,t.context?.cssPrefix);e=p?p.split(" ").filter(Boolean):null}else e=null}finally{c&&(0,A.popConfig)()}if(!(f||!t.node.classList)){if(i)for(const u of i)t.node.classList.remove(u);if(e&&e.length)for(const u of e)t.node.classList.add(u);i=e}},{depth:s.path.length});s.__effects.push(a)}}function lo(t){const s=t.__ref;s.__conditionalRunners=[];const n=new Map;for(const r in t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;const i=r.charAt(0);if(i!=="."&&i!=="!")continue;const o=r.slice(1);if(!o)continue;if(/[:@\s>~+[\]]/.test(o)){if(typeof console<"u"&&console.warn){const d=o.split(/[:@\s>~+[\]]/)[0];console.warn(`[smbls] conditional \`${r}\` on ${t.key||"?"} will never match \u2014 the whole string after \`${i}\` is read as one prop name. Nest the selector inside instead: \`${i}${d}: { '${o.slice(d.length)}': {...} }\`.`)}continue}const a=t[r];if(!a||typeof a!="object")continue;const c=i==="!",e={lastMatch:!1,appliedKeys:null,appliedClasses:null},f=()=>{let d;const p=t[o];if(p===void 0){const l=!!t.state&&o in t.state,_=t.state?t.state[o]:void 0;if(l||_!==void 0)d=_;else{const g=t.context?.cases?.[o];if(g===void 0)return;try{d=typeof g=="function"?g.call(t,t):g}catch(C){d=!1,s.__conditionalError=C,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` case fn threw on ${t.key||"?"} \u2014 treating as false:`,C?.message||C)}}}else if(typeof p=="function")try{d=p(t,t.state,t.context)}catch(l){d=!1,s.__conditionalError=l,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` predicate threw on ${t.key||"?"} \u2014 treating as false:`,l?.message||l)}else d=p;const y=c?!d:!!d;if(!t.node||y===e.lastMatch)return;e.lastMatch=y;const h=t.context?.designSystem;h&&(0,A.pushConfig)(h);try{if(y){const l={},_={};let g=!1;for(const x in a){if(!Object.prototype.hasOwnProperty.call(a,x))continue;const E=a[x],w=x.charAt(0);if((w===":"||w==="@"||w==="&")&&E&&typeof E=="object"&&!Array.isArray(E)){if(_t(x,t)){const D=Z(E,t,!1);Object.keys(D).length&&(_[`[data-theme="${x.slice(1)}"] &`]=D,g=!0)}else{let D=x;if(w==="@"&&!x.startsWith("@media")&&!x.startsWith("@keyframes")){const V=t.context?.designSystem?.media?.[x.slice(1)];V&&(D=`@media ${V}`)}const H=Z(E,t,!1);Object.keys(H).length&&(_[D]=H,g=!0)}continue}const j=typeof E=="function"?E(t,t.state,t.context):E;if(j!=null)if(b.CSS_PROPS_REGISTRY[x]){const D=b.CSS_PROPS_REGISTRY[x](j,t,t.state,t.context);if(D){const H=Array.isArray(D)?D:[D];for(const V of H)V&&Object.assign(l,V)}}else b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(x)&&(l[x]=j)}const C=Object.keys(l);if(C.length){Y(t.node,l);for(const x of C)n.set(x,r);e.appliedKeys=C}else e.appliedKeys=null;if(g){const x=(0,K.css)(_,null,t.context?.cssPrefix),E=x?x.split(" ").filter(Boolean):[];if(E.length&&t.node.classList){for(const w of E)t.node.classList.add(w);e.appliedClasses=E}else e.appliedClasses=null}else if(e.appliedClasses){for(const x of e.appliedClasses)t.node.classList.remove(x);e.appliedClasses=null}}else{if(e.appliedKeys){for(const l of e.appliedKeys)n.get(l)===r&&(t.node.style[l]="",n.delete(l));e.appliedKeys=null}if(e.appliedClasses){for(const l of e.appliedClasses)t.node.classList.remove(l);e.appliedClasses=null}}}finally{h&&(0,A.popConfig)()}};s.__conditionalRunners.push(f);const u=(0,v.createEffect)(f,{depth:s.path.length});s.__effects.push(u)}}const bt=new WeakSet;function po(t){const s=t.ownerDocument;!s||bt.has(s)||(bt.add(s),queueMicrotask(()=>{bt.delete(s);const n=s.body||s.documentElement;n&&n.offsetWidth}))}const xt=new WeakSet;let Rt=!1;function yo(t){const{node:s}=t;if(!s)return;if(Rt||(Rt=!0,(0,K.css)({display:"none"})),xt.has(t)){console.error("[applyCssInProps] re-entry detected for element",t.key,"prop path:",t.__ref?.path);return}xt.add(t);const n=t.context?.designSystem;n&&(0,A.pushConfig)(n);try{const r={};let i=!1;if(Object.prototype.hasOwnProperty.call(t,"theme")&&typeof t.theme!="function"&&b.CSS_PROPS_REGISTRY.theme){const o=b.CSS_PROPS_REGISTRY.theme(t.theme,t,t.state,t.context);if(o){if(Array.isArray(o))for(const a of o)a&&Object.assign(r,a);else Object.assign(r,o);i=!0}}for(const o in t){if(!Object.prototype.hasOwnProperty.call(t,o)||typeof t[o]=="function"||T.REGISTRY.has(o)||o==="theme")continue;const a=o.charCodeAt(0);if(!(a>=65&&a<=90)&&!z(o)){if(b.CSS_PROPS_REGISTRY[o]){const c=t[o],e=b.CSS_PROPS_REGISTRY[o](c,t,t.state,t.context);if(e){if(Array.isArray(e))for(const f of e)f&&Object.assign(r,f);else Object.assign(r,e);i=!0}}else if(b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(o)){const c=t[o];c!=null&&typeof c!="object"&&(r[o]=c,i=!0)}else if(o.charCodeAt(0)===45){const c=t[o];c!=null&&typeof c!="object"&&(r[o]=c,i=!0)}else if(o.charAt(0)==="&"||o.charAt(0)==="@"||o.charAt(0)===":"){const c=t[o];if(c&&typeof c=="object"&&!Array.isArray(c)){if(gt(c))continue;const e=Dt(o,c,t);e&&(r[e.cssProp]=e.block,i=!0)}}}}if(i){r.display&&String(r.display).includes("!important")&&(s.style.setProperty("display",String(r.display).replace(/\s*!important\s*$/,""),"important"),delete r.display);const o=(0,K.css)(r,null,t.context?.cssPrefix);if(o&&s.classList){const c=o.split(" ").filter(Boolean);let e=!1;for(const f of c)s.classList.add(f),e||(f.charCodeAt(0)===95&&f.charCodeAt(1)===99||f.charCodeAt(0)===95&&f.indexOf("_c",1)!==-1)&&(e=!0);e&&po(s)}const a=t.display!=null&&typeof t.display!="function"?t.display:t.hide===!0||t.show===!1?"none":null;if(a!=null){const c=r.display;if(c&&c!==a)if(a==="none"){const e=[];for(const f of s.classList)f.startsWith("_d-")&&f!=="_d-none"&&e.push(f);for(const f of e)s.classList.remove(f);s.classList.add("_d-none")}else s.style.display=t.display}}}finally{n&&(0,A.popConfig)(),xt.delete(t)}}function Tt(t){const{node:s}=t;if(!s||!s.setAttribute)return;if(t.aria&&typeof t.aria=="object")for(const i in t.aria){const o=t.aria[i];if(typeof o=="function"||typeof o=="object"||o==null||o===!1)continue;const a="aria-"+i.replace(/[A-Z]/g,c=>"-"+c.toLowerCase());s.setAttribute(a,o===!0?"":o)}const n=(0,$.applyAttrTransforms)(t);for(const i in n){const o=n[i];o!=null&&o!==!1&&typeof o!="function"&&typeof o!="object"&&s.setAttribute(i,o===!0?"":o)}const r=t.tag||"div";for(const i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||typeof t[i]=="function"||T.REGISTRY.has(i)||i==="on"||n[i]!==void 0)continue;const o=i.charCodeAt(0);if(!(o>=65&&o<=90)&&!z(i)&&!(b.CSS_PROPS_REGISTRY[i]||b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(i))&&(0,$.checkAttributeByTagName)(r,i)){let a=t[i];if(a==null||(typeof a=="string"&&a.includes("{{")&&(a=(0,ct.replaceLiteralsWithObjectFields)(a,t,t.state,t.context),t[i]=a),a==null||typeof a=="function"||typeof a=="object")||a===!1&&!(0,$.isEnumeratedTrueFalseAttr)((0,$.camelToAttr)(i)||i))continue;const c=(0,$.camelToAttr)(i)||i;s.setAttribute(c,(0,$.serializeAttrValue)(c,a))}}}function ho(t){if(!t.autoGrow)return;const s=t.node;if(!s||s.tagName!=="TEXTAREA")return;const n=t.autoGrow,r=n&&typeof n=="object"&&n.max?String(n.max):null;r&&(s.style.maxHeight=r);const i=()=>{s.style.height="auto",s.style.height=s.scrollHeight+"px"};i(),s.addEventListener("input",i),t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{try{s.removeEventListener("input",i)}catch{}})}const Ft=new Set(["onSwipe","onSwipeLeft","onSwipeRight","onSwipeUp","onSwipeDown"]);function Nt(t,s){for(const n in t){if(!Object.prototype.hasOwnProperty.call(t,n)||!z(n)||Ft.has(n))continue;let r=t[n];if(typeof r=="string"&&/^[A-Za-z_$][\w$]*$/.test(r)){const o=r;r=function(c){return t.call(o,c)}}if(typeof r!="function")continue;const i=Jt(n);T.LIFECYCLE_EVENTS.has(i)||(0,It.registerEvent)(mt(i),t,r)}_o(t)}function _o(t){const s=t.node;if(!s||!s.addEventListener)return;const n={};let r=!1;for(const p of Ft){const y=t[p];typeof y=="function"&&(n[p]=y,r=!0)}if(!r)return;const i=typeof t.swipeThreshold=="number"?t.swipeThreshold:40,o=typeof t.swipeMaxDuration=="number"?t.swipeMaxDuration:600;let a=0,c=0,e=0,f=!1;const u=p=>{const y=p.touches&&p.touches[0]||p.changedTouches&&p.changedTouches[0];y&&(a=y.clientX,c=y.clientY,e=Date.now(),f=!0)},d=p=>{if(!f)return;f=!1;const y=p.changedTouches&&p.changedTouches[0]||p.touches&&p.touches[0];if(!y)return;const h=y.clientX-a,l=y.clientY-c,_=Date.now()-e;if(_>o)return;const g=Math.abs(h),C=Math.abs(l);if(Math.max(g,C)<i)return;let x;if(g>C*1.2)x=h<0?"left":"right";else if(C>g*1.2)x=l<0?"up":"down";else return;const E="onSwipe"+x.charAt(0).toUpperCase()+x.slice(1),w=n[E],j=n.onSwipe;w&&w.call(t,p,t,t.state,t.context),j&&j.call(t,{direction:x,dx:h,dy:l,dt:_,event:p},t,t.state,t.context)};s.addEventListener("touchstart",u,{passive:!0}),s.addEventListener("touchend",d,{passive:!0}),t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{try{s.removeEventListener("touchstart",u)}catch{}try{s.removeEventListener("touchend",d)}catch{}})}function tt(t,s){const n={...t};for(const r in s){const i=n[r],o=s[r];i&&o&&typeof i=="object"&&typeof o=="object"&&!Array.isArray(i)&&!Array.isArray(o)&&typeof i!="function"&&typeof o!="function"?n[r]=tt(i,o):n[r]=o}return n}function At(t,s,n){if(!s||!t.node)return;const r=t.childExtends;if(Array.isArray(s)){const i=t.tag==="fragment",o=t.context?.document||globalThis.document,a=i?null:o?.createDocumentFragment();if(!i&&!a)return;const c=t.childProps,e=t.childrenAs;for(let f=0;f<s.length;f++){let u=s[f];const d=u;(typeof u=="string"||typeof u=="number")&&(u={text:u});let p=c;if(typeof c=="function")try{p=c(t,u)}catch{p=null}if(e==="state"){let l=d;(typeof d=="string"||typeof d=="number")&&(l={value:d,text:d}),u=p?{...p,state:l}:{state:l}}else p&&(u=tt(p,u));if(r&&!u.ignoreChildExtends)if(u.extends){const l=Array.isArray(u.extends)?u.extends:[u.extends],_=Array.isArray(r)?r:[r];u={...u,extends:[..._,...l]}}else u={...u,extends:r};const y=u?.key||d&&typeof d=="object"&&d.key||`${f}`;let h;try{h=B(u,t,y,n)}catch(l){if(typeof console<"u"&&console.error){const _=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${y}" failed to construct at ${_} (initial render, skipping this row):`,l?.message||l)}continue}!i&&h?.node&&a.appendChild(h.node)}return i||t.node.appendChild(a),!0}if(typeof s=="string"){const i=Et(s,t);if(Array.isArray(i))return At(t,i,n)}if(typeof s=="object")for(const i in s){if(T.REGISTRY.has(i))continue;let o=s[i];if(!(o==null||o===!1)){if((typeof o=="string"||typeof o=="number")&&(o={text:o}),t.childProps&&(o=tt(t.childProps,o)),r&&!o.ignoreChildExtends)if(o.extends){const a=Array.isArray(o.extends)?o.extends:[o.extends],c=Array.isArray(r)?r:[r];o={...o,extends:[...c,...a]}}else o={...o,extends:r};B(o,t,i,n)}}}function Ct(t,s){const n=t.node;if(!n||n.tagName!=="SELECT")return;const r=n.options;if(!r||!r.length)return;const i=t.__ref,o=i&&i.__exec&&i.__exec.value,a=typeof o=="function",c=t.value!=null&&typeof t.value!="function";if(a||c){let u;if(a)try{u=o(t,t.state,t.context)}catch{return}else u=t.value;const d=u==null?"":String(u);n.value!==d&&(n.value=d);return}const e=s||!(i&&i.__selectSynced);if(i&&(i.__selectSynced=!0),!e)return;let f=-1;for(let u=0;u<r.length;u++)r[u].defaultSelected&&(f=u);f>=0&&n.selectedIndex!==f&&(n.selectedIndex=f)}function Mt(t,s){let{children:n,content:r}=t;const i=t.childExtends;if(typeof n=="function"){const c=n;try{n=c(t,t.state,t.context)}catch(p){if(n=void 0,typeof console<"u"&&console.error){const y=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${y} (initial run, treating as empty):`,p?.message||p)}}t.children=n;const e=t.__ref;let f=!1;const u=L(t,t.childrenDeps,c),d=(0,v.createEffect)(()=>{const p=f;f=!0;let y;try{y=u(t,t.state,t.context)}catch(w){if(typeof console<"u"&&console.error){const j=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${j}${p?"":" (initial tracking run)"}:`,w?.message||w)}return}if(!p||y===t.children)return;t.children=y;const h=typeof t.onContentUpdate=="function",l=h?[]:null,_=h?[]:null,g=h?[]:null;if(Array.isArray(y)&&t.childrenAs==="state"){const w=t.childProps,j=[],D=new Map;for(let k=0;k<y.length;k++){const R=y[k];let S=w;if(typeof w=="function")try{S=w(t,R)}catch{S=null}const M=S&&S.key||R&&R.key||`${k}`;j.push(M),D.set(M,{rawChild:R,childProps:S})}const H=new Set(j),V=e.__children.slice();for(const k of V)if(!H.has(k)){const R=t[k];R?.remove&&R.remove(),delete t[k],_&&_.push(k)}const Q=t.childExtends,st=t.tag==="fragment",Wt=t.context?.document||globalThis.document,X=st?null:Wt?.createDocumentFragment(),et=new Set;for(const k of j){const R=D.get(k),S=R.rawChild,M=t[k];if(M&&M.state){if(S&&typeof S=="object"){const O=M.state,G=O.$replace||O.replace,vt=O.$update||O.update;if(typeof G=="function")G.call(O,S);else if(typeof vt=="function"){for(const U in O)if(!(U==="__element"||U==="root"||U==="parent"||U==="update")&&!Object.prototype.hasOwnProperty.call(S,U))try{O[U]=void 0}catch{}vt.call(O,S)}else for(const U in S)O[U]=S[U]}g&&g.push(k);continue}let at=S;(typeof S=="string"||typeof S=="number")&&(at={value:S,text:S});const St=R.childProps;let F=St?{...St,state:at}:{state:at};if(Q&&!F.ignoreChildExtends)if(F.extends){const O=Array.isArray(F.extends)?F.extends:[F.extends],G=Array.isArray(Q)?Q:[Q];F={...F,extends:[...G,...O]}}else F={...F,extends:Q};let ft;try{ft=B(F,t,k,s)}catch(O){if(typeof console<"u"&&console.error){const G=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${k}" failed to construct at ${G} (reconcile, skipping this row):`,O?.message||O)}et.add(k);continue}!st&&ft?.node&&X&&X.appendChild(ft.node),l&&l.push(k)}if(!st&&X&&X.childNodes.length&&t.node&&t.node.appendChild(X),!st&&t.node){let k=null;for(const R of j){const S=t[R]?.node;if(!S)continue;const M=k?k.nextSibling:t.node.firstChild;S!==M&&t.node.insertBefore(S,M),k=S}}e.__children=et.size?j.filter(k=>!et.has(k)):j,h&&(l.length||_.length)&&jt(t,{added:l,removed:_,kept:g}),Ct(t,!1);return}const E=h?[...e.__children]:null;for(const w of[...e.__children]){const j=t[w];j?.remove&&j.remove(),delete t[w]}e.__children=[],At(t,y,s),Ct(t,!1),h&&jt(t,{added:[...e.__children],removed:E,kept:[]})},{depth:e.path.length});e.__effects.push(d)}const o=At(t,n,s);if(r!=null&&!(r&&r.__ref)){let c=r;if(typeof c=="string"||typeof c=="number"?c={text:c}:typeof c!="object"&&(c={}),t.childProps&&(c=tt(t.childProps,c)),i&&!c.ignoreChildExtends)if(c.extends){const e=Array.isArray(c.extends)?c.extends:[c.extends],f=Array.isArray(i)?i:[i];c={...c,extends:[...f,...e]}}else c={...c,extends:i};B(c,t,"content",s)}if(n&&!o)return;const a=t.context?.components||{};{const c=Object.keys(t);for(let e=0;e<c.length;e++){const f=c[e];if(!f.endsWith("Extends")||typeof t[f]!="string")continue;const u=f.slice(0,-7);if(!u||u.charCodeAt(0)<65||u.charCodeAt(0)>90)continue;const d={extends:t[f]};delete t[f];for(let p=e+1;p<c.length;p++){const y=c[p],h=y.charCodeAt(0);if(h>=65&&h<=90||T.REGISTRY.has(y)||typeof t[y]=="function"&&(y.startsWith("on")||y.startsWith(".")))break;const l=t[y];l!==void 0&&(d[y]=l,delete t[y])}t[u]&&typeof t[u]=="object"?t[u]={...d,...t[u]}:t[u]=d}}for(const c in t){if(!Object.prototype.hasOwnProperty.call(t,c)||T.REGISTRY.has(c)||typeof t[c]!="object"||t[c]===null)continue;const e=c.charCodeAt(0);if(e<65||e>90)continue;let f=t[c];if(!f.__ref){if(!f.extends&&!f.extend){const u=a[c]||a[`smbls.${c}`];u&&(f={...f,extends:u})}if(t.childProps&&(f=tt(t.childProps,f)),i&&!f.ignoreChildExtends)if(f.extends){const u=Array.isArray(f.extends)?f.extends:[f.extends],d=Array.isArray(i)?i:[i];f={...f,extends:[...d,...u]}}else f={...f,extends:i};B(f,t,c,s)}}}function Ut(t,s,n){const{node:r}=t;if(!r)return;r.ref=t;const i=s?.tag==="fragment"?s.__ref?.__fragmentAnchor:null;if(i){const a=i.parentNode;if(a){if(n?.position==="before"&&n.node)a.insertBefore(r,n.node);else if(n?.position==="after"&&n.node){const c=n.node.nextSibling;a.insertBefore(r,c||i)}else a.insertBefore(r,i);return}}const o=s?.node||(s?.nodeType?s:null);if(o)if(n?.position==="before"&&n.node)o.insertBefore(r,n.node);else if(n?.position==="after"&&n.node){const a=n.node.nextSibling;a?o.insertBefore(r,a):o.appendChild(r)}else o.appendChild(r)}const it=3;function Vt(t){return!t||t.__inBeforeUpdate||(t.__beforeUpdateFailCount||0)>=it?!1:(t.__inBeforeUpdate=!0,!0)}function ot(t,s){t&&(t.__inBeforeUpdate=!1,s?(t.__beforeUpdateFailCount=(t.__beforeUpdateFailCount||0)+1,t.__beforeUpdateFailCount===it&&typeof console<"u"&&console.error&&console.error(`[DOMQL] onBeforeUpdate failed ${it}x in a row on this element \u2014 pausing automatic retries until a future prop/state change re-arms it.`)):t.__beforeUpdateFailCount=0)}function I(t,s,n){const r=t.charAt(0).toLowerCase()+t.slice(1);s.context?.plugins?.length&&(0,N.runPluginHook)(r,s,n);const i="on"+t,o=s[i];if(typeof o=="function"){const e=t==="Render"?"__inRender":t==="RenderRouter"?"__inRenderRouter":null;if(e){if(s.__ref[e])return!0;s.__ref[e]=!0}const f=s.context?.designSystem;f&&(0,A.pushConfig)(f);let u=!!e;try{const d=o(s,s.state,s.context,n);if(d&&typeof d.then=="function"){const p=s.__ref;return d.catch(y=>{s.context?.plugins?.length&&(0,N.runPluginHook)("error",s,{hook:i,error:y})||console.error(`[DOMQL] Lifecycle "${i}" error:`,y)}).finally(()=>{e&&p&&(p[e]=!1)}),u=!1,!0}if(d===!1)return!1}catch(d){if(s.context?.plugins?.length&&(0,N.runPluginHook)("error",s,{hook:i,error:d})||console.error(`[DOMQL] Lifecycle "${i}" error:`,d),s.context?.strictMode)throw d}finally{f&&(0,A.popConfig)(),u&&s.__ref&&(s.__ref[e]=!1)}}return!0}var go=B;
|
|
4
|
+
`):"")}}if(kt(o,!0),Bt(o,s,e),typeof o.html=="function"&&o.node&&!o.node.innerHTML){const l=o.context?.designSystem;l&&(0,A.pushConfig)(l);try{const _=o.html(o,o.state,o.context);_!=null&&typeof _!="function"&&(o.node.innerHTML=_)}catch{}finally{l&&(0,A.popConfig)()}}if(I("Create",o,r),I("Complete",o,r),I("Render",o,r),I("RenderRouter",o,r),Et(o,r),typeof o.onFrame=="function"){const l=o.onFrame,_=o.context?.designSystem,g=()=>{if(o.node){if(o.node.isConnected){_&&(0,A.pushConfig)(_);try{l(o,o.state,o.context)}catch(C){console.error("[DOMQL] onFrame error:",C)}finally{_&&(0,A.popConfig)()}}requestAnimationFrame(g)}};requestAnimationFrame(g)}return o}function io(t,s,n){const r=!s,e=n.state&&typeof n.state=="object"&&!Array.isArray(n.state)&&Object.keys(n.state).length===0,o=r&&e&&t.context?.state,a=n.state!==void 0&&!o?n.state:t.state&&!(0,O.isStore)(t.state)?t.state:void 0;if(a==null){if(s?.state)t.state=s.state,(0,Z.applyStateMethods)(t,t.state);else if(t.context?.state){const i=t.context.state,c={...i},f=t.context?.polyglot;if(f?.translations){const u=i.lang||f.defaultLang||"en",d=f.translations[u];if(d&&typeof d=="object")for(const y in d)c[y]===void 0&&(c[y]=d[y]);const p=new Set(f.languages||[]);for(const y in f.translations)!p.has(y)&&c[y]===void 0&&(c[y]=f.translations[y])}t.state=(0,O.isStore)(c)?c:(0,O.createStore)(c),t.state.__element=t,t.state.root=t.state,(0,Z.applyStateMethods)(t,t.state)}else t.state={},Object.defineProperty(t.state,"root",{value:t.state,enumerable:!1,configurable:!0,writable:!0}),(0,Z.applyStateMethods)(t,t.state);return}if(typeof a=="string"){if(t.state=Ot(a,s),t.state&&typeof t.state=="object"&&!(0,O.isStore)(t.state)){const i=s?.state?.root||s?.state||t.state;Object.defineProperty(t.state,"root",{value:i,enumerable:!1,configurable:!0,writable:!0})}(0,Z.applyStateMethods)(t,t.state);return}if(typeof a=="function"){const i=a(t,s?.state);t.state=(0,O.isStore)(i)?i:(0,O.createStore)(i||{})}else(0,O.isStore)(a)?t.state=a:t.state=(0,O.createStore)({...a});t.state.__element=t,s?.state?(t.state.parent=s.state,t.state.root=s.state.root||s.state):t.state.root=t.state,(0,Z.applyStateMethods)(t,t.state)}function yt(t,s){if(!s)return t;const n=s.split("/");let r=t;for(const e of n){if(r==null)return{};r=r[e]}return r??{}}function Ot(t,s){if(!s)return{};if(t===".")return s.state||{};if(t.startsWith("../")){const e=t.slice(3);return e?yt(s.state,e):s.state??{}}if(t.startsWith("~/")){const e=s.state?.root||s.state,o=t.slice(2);return o?yt(e,o):e??{}}if(s.state?.[t]!==void 0)return s.state[t];const n=yt(s.state,t);if(n!=null&&Object.keys(n).length>0)return n;const r=s.context?.polyglot;if(r?.translations){const e=s.state?.root?.lang||r.defaultLang||"en",o=r.translations[e];if(o?.[t]!==void 0)return o[t];if(r.translations[t]!==void 0)return r.translations[t]}return{}}const eo=new Set(["s","state","ctx","context"]);function co(t){try{const n=Function.prototype.toString.call(t).match(/^[^(]*\(([^)]*)\)/);return n?n[1].split(",").map(r=>r.trim().split("=")[0].trim()).filter(Boolean):[]}catch{return[]}}function ao(t){if(typeof t!="function"||t.length!==2)return!1;const s=co(t);if(s.length<2)return!1;const n=s[1].replace(/[{}[\]]/g,"").trim();return n.length>0&&!eo.has(n)}function fo(t){const s=t.__ref,n=t.tag||"div",r=t.context?.designSystem,e=[],o=Object.keys(t);for(let a=0;a<o.length;a++){const i=o[a];if(typeof t[i]!="function"||R.REGISTRY.has(i))continue;const c=i.charCodeAt(0);c>=65&&c<=90||z(i)||b.CSS_PROPS_REGISTRY[i]||b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(i)||(0,j.checkAttributeByTagName)(n,i)||((0,rt.isLoudDevRuntime)()&&ao(t[i])&&console.warn(`[smbls] custom prop "${i}"${t.key?` on key "${t.key}"`:""} is a function \u2014 it will be auto-invoked on read and its RETURN VALUE stored, not preserved as a callable reference. If you meant to stash a callback, use el.call('${i}', \u2026) instead of reading el.${i}(\u2026) directly (see RULES.md Rule 8).`),e.push({prop:i,fn:t[i]}))}for(let a=0;a<e.length;a++){const{prop:i,fn:c}=e[a];s.__exec[i]=c,Object.defineProperty(t,i,{get(){r&&(0,A.pushConfig)(r);try{return c(t,t.state,t.context)}catch{return}finally{r&&(0,A.popConfig)()}},set(f){delete s.__exec[i],Object.defineProperty(t,i,{value:f,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}}function uo(t,s){if(!(!Array.isArray(s)||s.length===0))for(let n=0;n<s.length;n++){const r=s[n];try{typeof r=="function"?r(t,t.state,t.context):typeof r=="string"&&t.state?.[r]}catch{}}}function L(t,s,n){return!Array.isArray(s)||s.length===0?n:function(...r){return uo(t,s),n.apply(this,r)}}function tt(t,s){if(!(!t||Array.isArray(t)||typeof t!="object"))return t[s]}function Dt(t,s){const n=t.__ref,r=!!(s&&s.skipIfEffect);if(fo(t),typeof t.text=="function"){const o=t.text,a=L(t,t.textDeps,o),i=(0,v.createEffect)(()=>{if(!n.contentManaged)try{let c=a(t,t.state,t.context);t.node&&c!=null&&typeof c!="function"&&typeof c!="object"&&(typeof c=="string"&&c.includes("{{")&&(c=it.replaceLiteralsWithObjectFields.call(t,c,t.state)),t.tag==="string"?t.node.nodeValue=c:t.node.textContent=c)}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(i),n.__exec.text=o}else if(typeof t.text=="string"&&t.text.includes("{{")){const o=t.text,a=(0,v.createEffect)(()=>{if(n.contentManaged)return;const i=it.replaceLiteralsWithObjectFields.call(t,o,t.state);i!=null&&(t.text=i),t.node&&(t.tag==="string"?t.node.nodeValue=i??"":t.node.textContent=i??"")},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(a),n.__exec.text=o}for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&typeof t[o]=="function"&&!R.REGISTRY.has(o)&&!z(o)&&!n.__exec[o]){if(b.CSS_PROPS_REGISTRY[o]){const a=t[o],i=L(t,t[o+"Deps"],a),c=o;let f;const u=(0,v.createEffect)(()=>{const d=t.context?.designSystem;d&&(0,A.pushConfig)(d);try{const p=i(t,t.state,t.context),y=b.CSS_PROPS_REGISTRY[c](p,t,t.state,t.context);if(y&&t.node){const h=_t(y);(h===null||h!==f)&&(f=h,Y(t.node,y))}else t.node&&(c==="show"||c==="hide")&&(f=void 0,t.node.style.display="")}finally{d&&(0,A.popConfig)()}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(u),n.__exec[o]=a}else if(b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(o)){const a=t[o],i=L(t,t[o+"Deps"],a),c=o;let f;const u=(0,v.createEffect)(()=>{const d=t.context?.designSystem;d&&(0,A.pushConfig)(d);try{const p=i(t,t.state,t.context);if(t.node)if(p!=null){const y=c+":"+String(p);y!==f&&(f=y,Y(t.node,{[c]:p}))}else f=void 0,t.node.style[c]=""}finally{d&&(0,A.popConfig)()}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(u),n.__exec[o]=a}}if(typeof t.html=="function"){const o=t.html,a=L(t,t.htmlDeps,o),i=(0,v.createEffect)(()=>{const c=t.context?.designSystem;c&&(0,A.pushConfig)(c);try{const f=a(t,t.state,t.context);t.node&&f!=null&&typeof f!="function"&&(t.node.innerHTML=f)}finally{c&&(0,A.popConfig)()}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(i),n.__exec.html=o}if(typeof t.value=="function"){const o=t.value,a=L(t,t.valueDeps,o),i=(0,v.createEffect)(()=>{try{const c=a(t,t.state,t.context);if(!t.node||!("value"in t.node))return;const f=c==null?"":String(c);if(t.node.value===f)return;const u=typeof document<"u"&&document.activeElement===t.node,d=u&&typeof t.node.selectionStart=="number"?t.node.selectionStart:null,p=u&&typeof t.node.selectionEnd=="number"?t.node.selectionEnd:null;if(t.node.value=f,u&&d!=null&&p!=null)try{t.node.setSelectionRange(d,p)}catch{}}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(i),n.__exec.value=o}if(typeof t.style=="function"){const o=t.style,a=L(t,t.styleDeps,o);let i;const c=(0,v.createEffect)(()=>{const f=a(t,t.state,t.context),u=_t(f);(u===null||u!==i)&&(i=u,Y(t.node,f))},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(c),n.__exec.style=o}else if(t.style&&typeof t.style=="object")for(const o in t.style){const a=t.style[o];if(typeof a!="function")continue;const i=L(t,tt(t.styleDeps,o),a);let c;const f=(0,v.createEffect)(()=>{try{const u=i(t,t.state,t.context);if(t.node){const d=o+":"+String(u);d!==c&&(c=d,Y(t.node,{[o]:u}))}}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(f)}if(t.attr&&typeof t.attr=="object"){for(const o in t.attr)if(typeof t.attr[o]=="function"){const a=L(t,tt(t.attrDeps,o),t.attr[o]),i=o,c=(0,v.createEffect)(()=>{try{const f=a(t,t.state,t.context);t.node?.setAttribute&&(f==null||f===!1&&!(0,j.isEnumeratedTrueFalseAttr)(i)?t.node.removeAttribute(i):typeof f!="function"&&typeof f!="object"&&t.node.setAttribute(i,(0,j.serializeAttrValue)(i,f)))}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(c)}}if(t.aria&&typeof t.aria=="object")for(const o in t.aria){if(typeof t.aria[o]!="function")continue;const a=L(t,tt(t.ariaDeps,o),t.aria[o]),i="aria-"+o.replace(/[A-Z]/g,f=>"-"+f.toLowerCase()),c=(0,v.createEffect)(()=>{try{const f=a(t,t.state,t.context);if(!t.node?.setAttribute)return;f==null?t.node.removeAttribute(i):typeof f!="function"&&typeof f!="object"&&t.node.setAttribute(i,(0,j.serializeAttrValue)(i,f))}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(c)}if(t.data&&typeof t.data=="object")for(const o in t.data){if(typeof t.data[o]!="function")continue;const a=L(t,tt(t.dataDeps,o),t.data[o]),c="data-"+o.replace(/[A-Z]/g,u=>"-"+u.toLowerCase()),f=(0,v.createEffect)(()=>{try{const u=a(t,t.state,t.context);if(!t.node?.setAttribute)return;u==null||u===!1?t.node.removeAttribute(c):typeof u!="function"&&typeof u!="object"&&t.node.setAttribute(c,u===!0?"":u)}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(f)}const e=t.classlist&&typeof t.classlist=="object"&&!Array.isArray(t.classlist)?t.classlist:t.class&&typeof t.class=="object"&&!Array.isArray(t.class)?t.class:null;if(e)for(const o in e){if(typeof e[o]!="function")continue;const a=L(t,tt(t.classDeps,o),e[o]),i=(0,v.createEffect)(()=>{try{const c=a(t,t.state,t.context);if(!t.node?.classList)return;typeof c=="string"?t.node.classList.add(c):c?t.node.classList.add(o):t.node.classList.remove(o)}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(i)}!r&&typeof t.if=="function"&&Tt(t,n,t.if);for(const o in t){if(!Object.prototype.hasOwnProperty.call(t,o)||R.REGISTRY.has(o)||typeof t[o]!="function")continue;const a=o.charCodeAt(0);if(a>=65&&a<=90||z(o))continue;const i=t[o];n.__exec[o]=i;const c=t.tag||"div";if((0,j.checkAttributeByTagName)(c,o)&&!b.CSS_PROPS_REGISTRY[o]&&!(b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(o))){const f=(0,j.camelToAttr)(o)||o,u=L(t,t[o+"Deps"],i),d=(0,v.createEffect)(()=>{try{const p=u(t,t.state,t.context);t.node?.setAttribute&&(p==null||p===!1&&!(0,j.isEnumeratedTrueFalseAttr)(f)?t.node.removeAttribute(f):typeof p!="function"&&typeof p!="object"&&(f==="src"&&"src"in t.node?t.node.src=p:t.node.setAttribute(f,(0,j.serializeAttrValue)(f,p))))}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(d)}}if(yo(t),go(t),typeof t.onStateUpdate=="function"&&Array.isArray(t.stateDeps)){const o=t.onStateUpdate,a=t.stateDeps;let i=!1,c=[];const f=(0,v.createEffect)(()=>{const u=[];for(let h=0;h<a.length;h++){const l=a[h];try{u[h]=typeof l=="function"?l(t,t.state,t.context):t.state?.[l]}catch{u[h]=void 0}}if(!i){i=!0,c=u;return}let d=u.length!==c.length;for(let h=0;!d&&h<u.length;h++)u[h]!==c[h]&&(d=!0);const p=c;if(c=u,!d)return;const y=t.context?.designSystem;y&&(0,A.pushConfig)(y);try{o(t,t.state,t.context,{prev:p,next:u})}catch(h){if(t.context?.plugins?.length&&(0,M.runPluginHook)("error",t,{hook:"onStateUpdate",error:h})||console.error('[DOMQL] Lifecycle "onStateUpdate" error:',h),t.context?.strictMode)throw h}finally{y&&(0,A.popConfig)()}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(f)}_o(t)}function Lt(t){const s=t.parent,n=s?.node;if(!n||!t.node){Bt(t,t.parent);return}let r=null;const e=Object.keys(s),o=e.indexOf(t.key);for(let a=o+1;a<e.length;a++){const i=s[e[a]];if(i?.node?.parentNode===n){r=i.node;break}}r?n.insertBefore(t.node,r):n.appendChild(t.node)}function Tt(t,s,n){const r=L(t,t.ifDeps,n),e=(0,v.createEffect)(()=>{let o;try{o=r(t,t.state,t.context)}catch(i){if(o=!1,s.__ifError=i,typeof console<"u"&&console.warn){const c=t.key||t.tag||"?";console.warn(`[smbls] \`if:\` reactive effect threw on ${c} \u2014 treating as false:`,i?.message||i)}return}const a=s.__if;if(s.__if=!!o,a&&!s.__if&&t.node)t.node.remove();else if(!a&&s.__if)if(s.__ifInitialized)t.node||(t.node=(0,H.cacheNode)(t)),t.node&&(t.node.ref=t),Lt(t),ht(t);else{if(s.__ifInitialized=!0,t.tag||(t.tag=(0,H.detectTag)(t)),I("Init",t,{}),t.node||(t.node=(0,H.cacheNode)(t)),!t.node)return;if(t.parent?.__ref?.__children&&!t.parent.__ref.__children.includes(t.key)&&t.parent.__ref.__children.push(t.key),t.tag==="fragment"&&!s.__fragmentAnchor){const c=(t.context?.document||globalThis.document).createComment("");t.node.appendChild(c),s.__fragmentAnchor=c}I("AttachNode",t,{}),t.node.setAttribute&&t.key&&t.node.setAttribute("data-key",t.key),t.id&&t.node.setAttribute&&(t.node.id=t.id),Ut(t,{}),Dt(t,{skipIfEffect:!0}),ht(t),Mt(t),It(t,{}),Lt(t),Et(t,{})}},{depth:s.path.length,label:()=>s.path.join(".")});s.__effects.push(e)}function ht(t){const{node:s}=t;if(s){if(typeof t.text=="string"&&!t.text.includes("{{")?t.tag==="string"?s.nodeValue=t.text:s.textContent=t.text:typeof t.text=="number"&&(s.textContent=t.text),xo(t),typeof t.html=="string"&&(s.innerHTML=t.html),t.value!=null&&typeof t.value!="function"&&"value"in s){const n=String(t.value);s.value!==n&&(s.value=n)}if(t.style&&typeof t.style=="object"&&Y(s,t.style),t.attr&&typeof t.attr=="object")for(const n in t.attr){const r=t.attr[n];typeof r=="function"||typeof r=="object"||r!=null&&(r===!1&&!(0,j.isEnumeratedTrueFalseAttr)(n)||s.setAttribute&&s.setAttribute(n,(0,j.serializeAttrValue)(n,r)))}if(t.data&&typeof t.data=="object")for(const n in t.data){const r=t.data[n];typeof r=="function"||typeof r=="object"||r==null||r===!1||s.dataset&&(s.dataset[n]=r===!0?"":r)}if(t.classlist||t.class){const n=t.classlist||t.class;if(typeof n=="string")n.split(" ").forEach(r=>r&&s.classList.add(r));else if(typeof n=="object")for(const r in n){const e=typeof n[r]=="function"?n[r](t,t.state,t.context):n[r];e&&s.classList.add(typeof e=="string"?e:r)}}}}function _t(t){if(t==null||typeof t!="object")return"s:"+String(t);try{return"o:"+JSON.stringify(t)}catch{return null}}function Y(t,s){if(!t||!s||!t.style)return;let n=null;for(const r in s){const e=s[r];if(e!=null){if(r.charAt(0)==="&"&&typeof e=="object"){n||(n={}),n[r]=e;continue}try{const o=String(e),a=r.replace(/[A-Z]/g,u=>"-"+u.toLowerCase()),i=o.trim(),c=/\s*!important\s*$/.test(i),f=i.replace(/\s*!important\s*$/,"");t.style.setProperty(a,f,c?"important":"")}catch{}}}n&&po(t,n)}let lo=0;function po(t,s){const n=`_ds${lo++}`;t.classList.add(n);const r=t.ownerDocument;let e=r.querySelector("style[data-smbls-scoped]");e||(e=r.createElement("style"),e.setAttribute("data-smbls-scoped",""),r.head.appendChild(e));let o="";for(const a in s){const i="."+n,c=a.replace(/&/g,i).split(",").map(u=>{const d=u.trim();return d.includes(i)?d:i+d}).join(", "),f=s[a];if(typeof f=="object"){let u="",d="";for(const p in f){const y=f[p];if(typeof y=="object"){const h=p.includes("&")?c.split(", ").map(_=>p.replace(/&/g,_)).join(", "):c.split(", ").map(_=>`${_} ${p}`).join(", ");let l="";for(const _ in y)l+=`${_.replace(/[A-Z]/g,g=>"-"+g.toLowerCase())}: ${y[_]};`;d+=(0,K.wrapHoverRule)(`${h} { ${l} }`,h)+`
|
|
5
|
+
`}else u+=`${p.replace(/[A-Z]/g,h=>"-"+h.toLowerCase())}: ${y};`}u&&(o+=(0,K.wrapHoverRule)(`${c} { ${u} }`,c)+`
|
|
6
|
+
`),d&&(o+=d)}}o&&(e.textContent+=o)}function yo(t){let s=t.subscribeTo;if(typeof s=="function")try{s=s(t,t.state,t.context)}catch{s=null}if(!Array.isArray(s)||s.length===0)return;const n=t.__ref;for(let r=0;r<s.length;r++){const e=s[r];if(typeof e!="string"||e.length===0)continue;const o=e.split("."),a=o[0],i=o.slice(1),c={value:!1},f=(0,v.createEffect)(()=>{const u=t.state&&((0,O.isStore)(t.state)?t.state.root:null);if(!u||!(0,O.isStore)(u))return;let d=u;d=d[a];for(let y=0;y<i.length&&!(d==null||typeof d!="object");y++)if((0,O.isStore)(d))d=d[i[y]];else break;if(!c.value)return;let p=!1;if(typeof t.onBeforeUpdate=="function"){const y=t.context?.designSystem;y&&(0,A.pushConfig)(y);try{if(Wt(n)){const h=t.onBeforeUpdate(t,t.state,t.context,{updateBySubscription:!0});h&&typeof h.then=="function"?h.then(()=>st(n,!1),l=>{st(n,!0),t.context?.plugins?.length&&(0,M.runPluginHook)("error",t,{hook:"onBeforeUpdate",error:l})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",l)}):(st(n,!1),h===!1&&(p=!0))}}catch(h){st(n,!0),t.context?.plugins?.length&&(0,M.runPluginHook)("error",t,{hook:"onBeforeUpdate",error:h})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",h)}finally{y&&(0,A.popConfig)()}}if(!p&&t.node&&n.__effects)for(let y=0;y<n.__effects.length;y++){const h=n.__effects[y];h&&h!==f&&!h._disposed&&!h._isSubscribeToEffect&&typeof h._execute=="function"&&h._execute()}if(!p&&typeof t.onUpdate=="function"){const y=t.context?.designSystem;y&&(0,A.pushConfig)(y);try{t.onUpdate(t,t.state,t.context)}catch(h){t.context?.plugins?.length&&(0,M.runPluginHook)("error",t,{hook:"onUpdate",error:h})||console.error("[DOMQL] subscribeTo onUpdate error:",h)}finally{y&&(0,A.popConfig)()}}},{depth:n.path.length,label:()=>n.path.join(".")});c.value=!0,f._isSubscribeToEffect=!0,n.__effects.push(f)}}function gt(t,s){return t.charCodeAt(0)===64&&t.length>1&&!t.startsWith("@media")&&!t.startsWith("@keyframes")&&!t.startsWith("@supports")&&(t==="@dark"||t==="@light"||!s.context?.designSystem?.media?.[t.slice(1)])}const $t=new Set;function ho(t,s){const n=s?.__ref?.path?s.__ref.path.join("."):s?.key||"?",r=n+"::"+t;$t.has(r)||($t.add(r),console.warn(`[smbls/css] "${t}" at ${n} is a CHILD-COMPONENT key nested inside a pseudo/selector block (":hover", "@dark", etc.) \u2014 that is never a valid CSS selector fragment. The rule is DROPPED (not shipped as a dead/never-matching selector). To reveal a child on a parent state, target the child's OWN class from the parent selector instead, e.g. move the declaration onto the child element itself, or use a sibling-selector combinator in a top-level style block.`))}function Q(t,s,n){const r={},e=new Set,o=(a,i,c)=>{const f=c?new Set(Object.keys(r)):null;if(b.CSS_PROPS_REGISTRY[a]){const u=b.CSS_PROPS_REGISTRY[a](i,s,s.state,s.context);if(u){const d=Array.isArray(u)?u:[u];for(const p of d)p&&Object.assign(r,p)}}else r[a]=i;if(c)for(const u in r)f.has(u)||e.add(u)};for(const a in t){if(!Object.prototype.hasOwnProperty.call(t,a))continue;let i=t[a];if(typeof i=="function"&&(i=i(s,s.state,s.context)),i==null||typeof i=="function")continue;if(typeof i=="object"&&!Array.isArray(i)){if(a==="style"){for(const d in i){let p=i[d];if(typeof p=="function"&&(p=p(s,s.state,s.context)),p==null||typeof p=="function")continue;const y=typeof s[d]=="function"&&(b.CSS_PROPS_REGISTRY[d]||b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(d));o(d,p,y)}continue}if(gt(a,s)){const d=Q(i,s,!1);Object.keys(d).length&&(r[`[data-theme="${a.slice(1)}"] &`]=d);continue}if(/^[A-Z][A-Za-z0-9]*$/.test(a)){(0,rt.isLoudDevRuntime)()&&ho(a,s);continue}let f=a;if(a.charCodeAt(0)===64&&!a.startsWith("@media")&&!a.startsWith("@keyframes")){const d=s.context?.designSystem?.media?.[a.slice(1)];d&&(f=`@media ${d}`)}const u=Q(i,s,!1);Object.keys(u).length&&(r[f]=u);continue}const c=typeof s[a]=="function"&&(b.CSS_PROPS_REGISTRY[a]||b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(a));o(a,i,c)}if(n)for(const a in r)e.add(a);for(const a of e){const i=r[a];typeof i=="string"&&!i.includes("!important")&&(r[a]=i+" !important")}return r}function bt(t,s){if(s===void 0&&(s=0),s>8)return!1;if(typeof t=="function")return!0;if(t&&typeof t=="object"&&!Array.isArray(t)){for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&bt(t[n],s+1))return!0}return!1}function Rt(t,s,n){if(!s||typeof s!="object"||Array.isArray(s))return null;if(gt(t,n)){const o=Q(s,n,!1);return Object.keys(o).length?{cssProp:`[data-theme="${t.slice(1)}"] &`,block:o}:null}let r=t;if(t.charAt(0)==="@"&&!t.startsWith("@media")&&!t.startsWith("@keyframes")){const o=n.context?.designSystem?.media?.[t.slice(1)];o&&(r=`@media ${o}`)}const e=Q(s,n,!1);return Object.keys(e).length?{cssProp:r,block:e}:null}function _o(t){const s=t.__ref;for(const n in t){if(!Object.prototype.hasOwnProperty.call(t,n)||!pt(n))continue;const r=t[n];if(!r||typeof r!="object"||Array.isArray(r)||!bt(r))continue;let e=null,o;const a=(0,v.createEffect)(()=>{if(!t.node)return;const i=t.context?.designSystem;i&&(0,A.pushConfig)(i);let c,f=!1;try{const u=Rt(n,r,t),d=u?_t(u.block)+"::"+u.cssProp:null;if(d!==null&&d===o)f=!0;else if(o=d,u){const p=(0,K.css)({[u.cssProp]:u.block},null,t.context?.cssPrefix);c=p?p.split(" ").filter(Boolean):null}else c=null}finally{i&&(0,A.popConfig)()}if(!(f||!t.node.classList)){if(e)for(const u of e)t.node.classList.remove(u);if(c&&c.length)for(const u of c)t.node.classList.add(u);e=c}},{depth:s.path.length,label:()=>s.path.join(".")});s.__effects.push(a)}}function go(t){const s=t.__ref;s.__conditionalRunners=[];const n=new Map;for(const r in t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;const e=r.charAt(0);if(e!=="."&&e!=="!")continue;const o=r.slice(1);if(!o)continue;if(/[:@\s>~+[\]]/.test(o)){if(typeof console<"u"&&console.warn){const d=o.split(/[:@\s>~+[\]]/)[0];console.warn(`[smbls] conditional \`${r}\` on ${t.key||"?"} will never match \u2014 the whole string after \`${e}\` is read as one prop name. Nest the selector inside instead: \`${e}${d}: { '${o.slice(d.length)}': {...} }\`.`)}continue}const a=t[r];if(!a||typeof a!="object")continue;const i=e==="!",c={lastMatch:!1,appliedKeys:null,appliedClasses:null},f=()=>{let d;const p=t[o];if(p===void 0){const l=!!t.state&&o in t.state,_=t.state?t.state[o]:void 0;if(l||_!==void 0)d=_;else{const g=t.context?.cases?.[o];if(g===void 0)return;try{d=typeof g=="function"?g.call(t,t):g}catch(C){d=!1,s.__conditionalError=C,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` case fn threw on ${t.key||"?"} \u2014 treating as false:`,C?.message||C)}}}else if(typeof p=="function")try{d=p(t,t.state,t.context)}catch(l){d=!1,s.__conditionalError=l,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` predicate threw on ${t.key||"?"} \u2014 treating as false:`,l?.message||l)}else d=p;const y=i?!d:!!d;if(!t.node||y===c.lastMatch)return;c.lastMatch=y;const h=t.context?.designSystem;h&&(0,A.pushConfig)(h);try{if(y){const l={},_={};let g=!1;for(const x in a){if(!Object.prototype.hasOwnProperty.call(a,x))continue;const P=a[x],w=x.charAt(0);if((w===":"||w==="@"||w==="&")&&P&&typeof P=="object"&&!Array.isArray(P)){if(gt(x,t)){const T=Q(P,t,!1);Object.keys(T).length&&(_[`[data-theme="${x.slice(1)}"] &`]=T,g=!0)}else{let T=x;if(w==="@"&&!x.startsWith("@media")&&!x.startsWith("@keyframes")){const V=t.context?.designSystem?.media?.[x.slice(1)];V&&(T=`@media ${V}`)}const W=Q(P,t,!1);Object.keys(W).length&&(_[T]=W,g=!0)}continue}const E=typeof P=="function"?P(t,t.state,t.context):P;if(E!=null)if(b.CSS_PROPS_REGISTRY[x]){const T=b.CSS_PROPS_REGISTRY[x](E,t,t.state,t.context);if(T){const W=Array.isArray(T)?T:[T];for(const V of W)V&&Object.assign(l,V)}}else b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(x)&&(l[x]=E)}const C=Object.keys(l);if(C.length){Y(t.node,l);for(const x of C)n.set(x,r);c.appliedKeys=C}else c.appliedKeys=null;if(g){const x=(0,K.css)(_,null,t.context?.cssPrefix),P=x?x.split(" ").filter(Boolean):[];if(P.length&&t.node.classList){for(const w of P)t.node.classList.add(w);c.appliedClasses=P}else c.appliedClasses=null}else if(c.appliedClasses){for(const x of c.appliedClasses)t.node.classList.remove(x);c.appliedClasses=null}}else{if(c.appliedKeys){for(const l of c.appliedKeys)n.get(l)===r&&(t.node.style[l]="",n.delete(l));c.appliedKeys=null}if(c.appliedClasses){for(const l of c.appliedClasses)t.node.classList.remove(l);c.appliedClasses=null}}}finally{h&&(0,A.popConfig)()}};s.__conditionalRunners.push(f);const u=(0,v.createEffect)(f,{depth:s.path.length,label:()=>s.path.join(".")});s.__effects.push(u)}}const xt=new WeakSet;function bo(t){const s=t.ownerDocument;!s||xt.has(s)||(xt.add(s),queueMicrotask(()=>{xt.delete(s);const n=s.body||s.documentElement;n&&n.offsetWidth}))}const At=new WeakSet;let Ft=!1;function xo(t){const{node:s}=t;if(!s)return;if(Ft||(Ft=!0,(0,K.css)({display:"none"})),At.has(t)){console.error("[applyCssInProps] re-entry detected for element",t.key,"prop path:",t.__ref?.path);return}At.add(t);const n=t.context?.designSystem;n&&(0,A.pushConfig)(n);try{const r={};let e=!1;if(Object.prototype.hasOwnProperty.call(t,"theme")&&typeof t.theme!="function"&&b.CSS_PROPS_REGISTRY.theme){const o=b.CSS_PROPS_REGISTRY.theme(t.theme,t,t.state,t.context);if(o){if(Array.isArray(o))for(const a of o)a&&Object.assign(r,a);else Object.assign(r,o);e=!0}}for(const o in t){if(!Object.prototype.hasOwnProperty.call(t,o)||typeof t[o]=="function"||R.REGISTRY.has(o)||o==="theme")continue;const a=o.charCodeAt(0);if(!(a>=65&&a<=90)&&!z(o)){if(b.CSS_PROPS_REGISTRY[o]){const i=t[o],c=b.CSS_PROPS_REGISTRY[o](i,t,t.state,t.context);if(c){if(Array.isArray(c))for(const f of c)f&&Object.assign(r,f);else Object.assign(r,c);e=!0}}else if(b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(o)){const i=t[o];i!=null&&typeof i!="object"&&(r[o]=i,e=!0)}else if(o.charCodeAt(0)===45){const i=t[o];i!=null&&typeof i!="object"&&(r[o]=i,e=!0)}else if(o.charAt(0)==="&"||o.charAt(0)==="@"||o.charAt(0)===":"){const i=t[o];if(i&&typeof i=="object"&&!Array.isArray(i)){if(bt(i))continue;const c=Rt(o,i,t);c&&(r[c.cssProp]=c.block,e=!0)}}}}if(e){r.display&&String(r.display).includes("!important")&&(s.style.setProperty("display",String(r.display).replace(/\s*!important\s*$/,""),"important"),delete r.display);const o=(0,K.css)(r,null,t.context?.cssPrefix);if(o&&s.classList){const i=o.split(" ").filter(Boolean);let c=!1;for(const f of i)s.classList.add(f),c||(f.charCodeAt(0)===95&&f.charCodeAt(1)===99||f.charCodeAt(0)===95&&f.indexOf("_c",1)!==-1)&&(c=!0);c&&bo(s)}const a=t.display!=null&&typeof t.display!="function"?t.display:t.hide===!0||t.show===!1?"none":null;if(a!=null){const i=r.display;if(i&&i!==a)if(a==="none"){const c=[];for(const f of s.classList)f.startsWith("_d-")&&f!=="_d-none"&&c.push(f);for(const f of c)s.classList.remove(f);s.classList.add("_d-none")}else s.style.display=t.display}}}finally{n&&(0,A.popConfig)(),At.delete(t)}}function Mt(t){const{node:s}=t;if(!s||!s.setAttribute)return;if(t.aria&&typeof t.aria=="object")for(const e in t.aria){const o=t.aria[e];if(typeof o=="function"||typeof o=="object"||o==null)continue;const a="aria-"+e.replace(/[A-Z]/g,i=>"-"+i.toLowerCase());s.setAttribute(a,(0,j.serializeAttrValue)(a,o))}const n=(0,j.applyAttrTransforms)(t);for(const e in n){const o=n[e];o!=null&&o!==!1&&typeof o!="function"&&typeof o!="object"&&s.setAttribute(e,o===!0?"":o)}const r=t.tag||"div";for(const e in t){if(!Object.prototype.hasOwnProperty.call(t,e)||typeof t[e]=="function"||R.REGISTRY.has(e)||e==="on"||n[e]!==void 0)continue;const o=e.charCodeAt(0);if(!(o>=65&&o<=90)&&!z(e)&&!(b.CSS_PROPS_REGISTRY[e]||b.DEFAULT_CSS_PROPERTIES_LIST&&b.DEFAULT_CSS_PROPERTIES_LIST.has(e))&&(0,j.checkAttributeByTagName)(r,e)){let a=t[e];if(a==null||(typeof a=="string"&&a.includes("{{")&&(a=(0,it.replaceLiteralsWithObjectFields)(a,t,t.state,t.context),t[e]=a),a==null||typeof a=="function"||typeof a=="object")||a===!1&&!(0,j.isEnumeratedTrueFalseAttr)((0,j.camelToAttr)(e)||e))continue;const i=(0,j.camelToAttr)(e)||e;s.setAttribute(i,(0,j.serializeAttrValue)(i,a))}}}function Ao(t){if(!t.autoGrow)return;const s=t.node;if(!s||s.tagName!=="TEXTAREA")return;const n=t.autoGrow,r=n&&typeof n=="object"&&n.max?String(n.max):null;r&&(s.style.maxHeight=r);const e=()=>{s.style.height="auto",s.style.height=s.scrollHeight+"px"};e(),s.addEventListener("input",e),t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{try{s.removeEventListener("input",e)}catch{}})}const Nt=new Set(["onSwipe","onSwipeLeft","onSwipeRight","onSwipeUp","onSwipeDown"]);function Ut(t,s){for(const n in t){if(!Object.prototype.hasOwnProperty.call(t,n)||!z(n)||Nt.has(n))continue;let r=t[n];if(typeof r=="string"&&/^[A-Za-z_$][\w$]*$/.test(r)){const o=r;r=function(i){return t.call(o,i)}}if(typeof r!="function")continue;const e=no(n);R.LIFECYCLE_EVENTS.has(e)||(0,Kt.registerEvent)(ro(e),t,r)}Co(t)}function Co(t){const s=t.node;if(!s||!s.addEventListener)return;const n={};let r=!1;for(const p of Nt){const y=t[p];typeof y=="function"&&(n[p]=y,r=!0)}if(!r)return;const e=typeof t.swipeThreshold=="number"?t.swipeThreshold:40,o=typeof t.swipeMaxDuration=="number"?t.swipeMaxDuration:600;let a=0,i=0,c=0,f=!1;const u=p=>{const y=p.touches&&p.touches[0]||p.changedTouches&&p.changedTouches[0];y&&(a=y.clientX,i=y.clientY,c=Date.now(),f=!0)},d=p=>{if(!f)return;f=!1;const y=p.changedTouches&&p.changedTouches[0]||p.touches&&p.touches[0];if(!y)return;const h=y.clientX-a,l=y.clientY-i,_=Date.now()-c;if(_>o)return;const g=Math.abs(h),C=Math.abs(l);if(Math.max(g,C)<e)return;let x;if(g>C*1.2)x=h<0?"left":"right";else if(C>g*1.2)x=l<0?"up":"down";else return;const P="onSwipe"+x.charAt(0).toUpperCase()+x.slice(1),w=n[P],E=n.onSwipe;w&&w.call(t,p,t,t.state,t.context),E&&E.call(t,{direction:x,dx:h,dy:l,dt:_,event:p},t,t.state,t.context)};s.addEventListener("touchstart",u,{passive:!0}),s.addEventListener("touchend",d,{passive:!0}),t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{try{s.removeEventListener("touchstart",u)}catch{}try{s.removeEventListener("touchend",d)}catch{}})}function ot(t,s){const n={...t};for(const r in s){const e=n[r],o=s[r];e&&o&&typeof e=="object"&&typeof o=="object"&&!Array.isArray(e)&&!Array.isArray(o)&&typeof e!="function"&&typeof o!="function"?n[r]=ot(e,o):n[r]=o}return n}function Ct(t,s,n){if(!s||!t.node)return;const r=t.childExtends;if(Array.isArray(s)){const e=t.tag==="fragment",o=t.context?.document||globalThis.document,a=e?null:o?.createDocumentFragment();if(!e&&!a)return;const i=t.childProps,c=t.childrenAs;for(let f=0;f<s.length;f++){let u=s[f];const d=u;(typeof u=="string"||typeof u=="number")&&(u={text:u});let p=i;if(typeof i=="function")try{p=i(t,u)}catch{p=null}if(c==="state"){let l=d;(typeof d=="string"||typeof d=="number")&&(l={value:d,text:d}),u=p?{...p,state:l}:{state:l}}else p&&(u=ot(p,u));if(r&&!u.ignoreChildExtends)if(u.extends){const l=Array.isArray(u.extends)?u.extends:[u.extends],_=Array.isArray(r)?r:[r];u={...u,extends:[..._,...l]}}else u={...u,extends:r};const y=u?.key||d&&typeof d=="object"&&d.key||`${f}`;let h;try{h=B(u,t,y,n)}catch(l){if(typeof console<"u"&&console.error){const _=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${y}" failed to construct at ${_} (initial render, skipping this row):`,l?.message||l)}continue}!e&&h?.node&&a.appendChild(h.node)}return e||t.node.appendChild(a),!0}if(typeof s=="string"){const e=Ot(s,t);if(Array.isArray(e))return Ct(t,e,n)}if(typeof s=="object")for(const e in s){if(R.REGISTRY.has(e))continue;let o=s[e];if(!(o==null||o===!1)){if((typeof o=="string"||typeof o=="number")&&(o={text:o}),t.childProps&&(o=ot(t.childProps,o)),r&&!o.ignoreChildExtends)if(o.extends){const a=Array.isArray(o.extends)?o.extends:[o.extends],i=Array.isArray(r)?r:[r];o={...o,extends:[...i,...a]}}else o={...o,extends:r};B(o,t,e,n)}}}function kt(t,s){const n=t.node;if(!n||n.tagName!=="SELECT")return;const r=n.options;if(!r||!r.length)return;const e=t.__ref,o=e&&e.__exec&&e.__exec.value,a=typeof o=="function",i=t.value!=null&&typeof t.value!="function";if(a||i){let u;if(a)try{u=o(t,t.state,t.context)}catch{return}else u=t.value;const d=u==null?"":String(u);n.value!==d&&(n.value=d);return}const c=s||!(e&&e.__selectSynced);if(e&&(e.__selectSynced=!0),!c)return;let f=-1;for(let u=0;u<r.length;u++)r[u].defaultSelected&&(f=u);f>=0&&n.selectedIndex!==f&&(n.selectedIndex=f)}function It(t,s){let{children:n,content:r}=t;const e=t.childExtends;if(typeof n=="function"){const i=n;try{n=i(t,t.state,t.context)}catch(p){if(n=void 0,typeof console<"u"&&console.error){const y=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${y} (initial run, treating as empty):`,p?.message||p)}}t.children=n;const c=t.__ref;let f=!1;const u=L(t,t.childrenDeps,i),d=(0,v.createEffect)(()=>{const p=f;f=!0;let y;try{y=u(t,t.state,t.context)}catch(w){if(typeof console<"u"&&console.error){const E=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${E}${p?"":" (initial tracking run)"}:`,w?.message||w)}return}if(!p||y===t.children)return;t.children=y;const h=typeof t.onContentUpdate=="function",l=h?[]:null,_=h?[]:null,g=h?[]:null;if(Array.isArray(y)&&t.childrenAs==="state"){const w=t.childProps,E=[],T=new Map;for(let k=0;k<y.length;k++){const $=y[k];let S=w;if(typeof w=="function")try{S=w(t,$)}catch{S=null}const N=S&&S.key||$&&$.key||`${k}`;E.push(N),T.set(N,{rawChild:$,childProps:S})}const W=new Set(E),V=c.__children.slice();for(const k of V)if(!W.has(k)){const $=t[k];$?.remove&&$.remove(),delete t[k],_&&_.push(k)}const q=t.childExtends,nt=t.tag==="fragment",Gt=t.context?.document||globalThis.document,X=nt?null:Gt?.createDocumentFragment(),at=new Set;for(const k of E){const $=T.get(k),S=$.rawChild,N=t[k];if(N&&N.state){if(S&&typeof S=="object"){const D=N.state,G=D.$replace||D.replace,jt=D.$update||D.update;if(typeof G=="function")G.call(D,S);else if(typeof jt=="function"){for(const U in D)if(!(U==="__element"||U==="root"||U==="parent"||U==="update")&&!Object.prototype.hasOwnProperty.call(S,U))try{D[U]=void 0}catch{}jt.call(D,S)}else for(const U in S)D[U]=S[U]}g&&g.push(k);continue}let ft=S;(typeof S=="string"||typeof S=="number")&&(ft={value:S,text:S});const St=$.childProps;let F=St?{...St,state:ft}:{state:ft};if(q&&!F.ignoreChildExtends)if(F.extends){const D=Array.isArray(F.extends)?F.extends:[F.extends],G=Array.isArray(q)?q:[q];F={...F,extends:[...G,...D]}}else F={...F,extends:q};let ut;try{ut=B(F,t,k,s)}catch(D){if(typeof console<"u"&&console.error){const G=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${k}" failed to construct at ${G} (reconcile, skipping this row):`,D?.message||D)}at.add(k);continue}!nt&&ut?.node&&X&&X.appendChild(ut.node),l&&l.push(k)}if(!nt&&X&&X.childNodes.length&&t.node&&t.node.appendChild(X),!nt&&t.node){let k=null;for(const $ of E){const S=t[$]?.node;if(!S)continue;const N=k?k.nextSibling:t.node.firstChild;S!==N&&t.node.insertBefore(S,N),k=S}}c.__children=at.size?E.filter(k=>!at.has(k)):E,h&&(l.length||_.length)&&Pt(t,{added:l,removed:_,kept:g}),kt(t,!1);return}const P=h?[...c.__children]:null;for(const w of[...c.__children]){const E=t[w];E?.remove&&E.remove(),delete t[w]}c.__children=[],Ct(t,y,s),kt(t,!1),h&&Pt(t,{added:[...c.__children],removed:P,kept:[]})},{depth:c.path.length,label:()=>c.path.join(".")});c.__effects.push(d)}const o=Ct(t,n,s);if(r!=null&&!(r&&r.__ref)){let i=r;if(typeof i=="string"||typeof i=="number"?i={text:i}:typeof i!="object"&&(i={}),t.childProps&&(i=ot(t.childProps,i)),e&&!i.ignoreChildExtends)if(i.extends){const c=Array.isArray(i.extends)?i.extends:[i.extends],f=Array.isArray(e)?e:[e];i={...i,extends:[...f,...c]}}else i={...i,extends:e};B(i,t,"content",s)}if(n&&!o)return;const a=t.context?.components||{};{const i=Object.keys(t);for(let c=0;c<i.length;c++){const f=i[c];if(!f.endsWith("Extends")||typeof t[f]!="string")continue;const u=f.slice(0,-7);if(!u||u.charCodeAt(0)<65||u.charCodeAt(0)>90)continue;const d={extends:t[f]};delete t[f];for(let p=c+1;p<i.length;p++){const y=i[p],h=y.charCodeAt(0);if(h>=65&&h<=90||R.REGISTRY.has(y)||typeof t[y]=="function"&&(y.startsWith("on")||y.startsWith(".")))break;const l=t[y];l!==void 0&&(d[y]=l,delete t[y])}t[u]&&typeof t[u]=="object"?t[u]={...d,...t[u]}:t[u]=d}}for(const i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||R.REGISTRY.has(i)||typeof t[i]!="object"||t[i]===null)continue;const c=i.charCodeAt(0);if(c<65||c>90)continue;let f=t[i];if(!f.__ref){if(!f.extends&&!f.extend){const u=a[i]||a[`smbls.${i}`];u&&(f={...f,extends:u})}if(t.childProps&&(f=ot(t.childProps,f)),e&&!f.ignoreChildExtends)if(f.extends){const u=Array.isArray(f.extends)?f.extends:[f.extends],d=Array.isArray(e)?e:[e];f={...f,extends:[...d,...u]}}else f={...f,extends:e};B(f,t,i,s)}}}function Bt(t,s,n){const{node:r}=t;if(!r)return;r.ref=t;const e=s?.tag==="fragment"?s.__ref?.__fragmentAnchor:null;if(e){const a=e.parentNode;if(a){if(n?.position==="before"&&n.node)a.insertBefore(r,n.node);else if(n?.position==="after"&&n.node){const i=n.node.nextSibling;a.insertBefore(r,i||e)}else a.insertBefore(r,e);return}}const o=s?.node||(s?.nodeType?s:null);if(o)if(n?.position==="before"&&n.node)o.insertBefore(r,n.node);else if(n?.position==="after"&&n.node){const a=n.node.nextSibling;a?o.insertBefore(r,a):o.appendChild(r)}else o.appendChild(r)}const ct=3;function Wt(t){return!t||t.__inBeforeUpdate||(t.__beforeUpdateFailCount||0)>=ct?!1:(t.__inBeforeUpdate=!0,!0)}function st(t,s){t&&(t.__inBeforeUpdate=!1,s?(t.__beforeUpdateFailCount=(t.__beforeUpdateFailCount||0)+1,t.__beforeUpdateFailCount===ct&&typeof console<"u"&&console.error&&console.error(`[DOMQL] onBeforeUpdate failed ${ct}x in a row on this element \u2014 pausing automatic retries until a future prop/state change re-arms it.`)):t.__beforeUpdateFailCount=0)}function I(t,s,n){const r=t.charAt(0).toLowerCase()+t.slice(1);s.context?.plugins?.length&&(0,M.runPluginHook)(r,s,n);const e="on"+t,o=s[e];if(typeof o=="function"){const c=t==="Render"?"__inRender":t==="RenderRouter"?"__inRenderRouter":null;if(c){if(s.__ref[c])return!0;s.__ref[c]=!0}const f=s.context?.designSystem;f&&(0,A.pushConfig)(f);let u=!!c;try{const d=o(s,s.state,s.context,n);if(d&&typeof d.then=="function"){const p=s.__ref;return d.catch(y=>{s.context?.plugins?.length&&(0,M.runPluginHook)("error",s,{hook:e,error:y})||console.error(`[DOMQL] Lifecycle "${e}" error:`,y)}).finally(()=>{c&&p&&(p[c]=!1)}),u=!1,!0}if(d===!1)return!1}catch(d){if(s.context?.plugins?.length&&(0,M.runPluginHook)("error",s,{hook:e,error:d})||console.error(`[DOMQL] Lifecycle "${e}" error:`,d),s.context?.strictMode)throw d}finally{f&&(0,A.popConfig)(),u&&s.__ref&&(s.__ref[c]=!1)}}return!0}var ko=B;
|
package/dist/cjs/src/update.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var A=(n,i)=>{for(var e in i)a(n,e,{get:i[e],enumerable:!0})},U=(n,i,e,f)=>{if(i&&typeof i=="object"||typeof i=="function")for(let c of g(i))!p.call(n,c)&&c!==e&&a(n,c,{get:()=>i[c],enumerable:!(f=b(i,c))||f.enumerable});return n};var j=n=>U(a({},"__esModule",{value:!0}),n);var B={};A(B,{default:()=>v,update:()=>h});module.exports=j(B);var d=require("@symbo.ls/signal"),_=require("./registry.js"),r=require("./create.js"),y=require("@symbo.ls/utils/function.js"),u=require("attrs-in-props");function h(n={},i={}){const e=this,f=e.__ref;if(!f)return;if((typeof n=="string"||typeof n=="number")&&(n={text:n}),!i.preventListeners&&typeof e.onBeforeUpdate=="function"&&(0,r.acquireBeforeUpdateGuard)(f))try{const t=e.onBeforeUpdate(e,e.state,e.context,i);if(t&&typeof t.then=="function")t.then(()=>(0,r.releaseBeforeUpdateGuard)(f,!1),o=>{(0,r.releaseBeforeUpdateGuard)(f,!0),e.context?.plugins?.length&&(0,y.runPluginHook)("error",e,{hook:"onBeforeUpdate",error:o})||console.error("[DOMQL] onBeforeUpdate error:",o)});else if((0,r.releaseBeforeUpdateGuard)(f,!1),t===!1)return e}catch(t){throw(0,r.releaseBeforeUpdateGuard)(f,!0),t}const c=!n||Object.keys(n).length===0;if((0,d.batch)(()=>{if(n.state&&(0,d.isStore)(e.state)&&e.state.$update(n.state),n.text!==void 0&&(e.text=n.text,!f.__exec.text&&e.node&&(e.tag==="string"?e.node.nodeValue=n.text??"":e.node.textContent=n.text??"")),n.html!==void 0&&(e.html=n.html,!f.__exec.html&&e.node&&(e.node.innerHTML=n.html)),n.style&&e.node?.style){if(!f.__exec.style)for(const t in n.style){const o=n.style[t];if(o==null)continue;const s=t.replace(/[A-Z]/g,x=>"-"+x.toLowerCase()),l=String(o).replace(/\s*!important\s*$/,"");e.node.style.setProperty(s,l,"important")}e.style||(e.style={}),Object.assign(e.style,n.style)}if(n.attr&&e.node?.setAttribute){for(const t in n.attr){const o=n.attr[t];o==null||o===!1&&!(0,u.isEnumeratedTrueFalseAttr)(t)?e.node.removeAttribute(t):typeof o!="function"&&typeof o!="object"&&e.node.setAttribute(t,(0,u.serializeAttrValue)(t,o))}e.attr||(e.attr={}),Object.assign(e.attr,n.attr)}if(n.data&&e.node?.dataset){for(const t in n.data)e.node.dataset[t]=n.data[t];e.data||(e.data={}),Object.assign(e.data,n.data)}for(const t in n){if(_.REGISTRY.has(t)||t==="state")continue;const o=n[t],s=e[t];if(s&&s.__ref&&typeof s.update=="function")s.update(o,i);else if(typeof o=="object"&&o!==null){const l=t.charCodeAt(0);l>=65&&l<=90&&(0,r.create)(o,e,t,i)}else t!=="text"&&t!=="html"&&t!=="style"&&t!=="attr"&&t!=="data"&&(e[t]=o)}}),e.node&&c&&f.__effects&&f.__effects.length)for(let t=0;t<f.__effects.length;t++){const o=f.__effects[t];o&&!o._disposed&&!o._isSubscribeToEffect&&typeof o._execute=="function"&&o._execute()}else if(e.node&&f.__conditionalRunners)for(const t of f.__conditionalRunners)t();return(0,y.runPluginHook)("update",e),!i.preventListeners&&typeof e.onUpdate=="function"&&e.onUpdate(e,e.state,e.context,i),e}var v=h;
|
package/dist/esm/src/create.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{createStore as
|
|
1
|
+
import{createStore as ft,createScopeStore as Zt,isStore as I}from"@symbo.ls/signal";import{createEffect as S}from"@symbo.ls/signal";import{cacheNode as ut,detectTag as Dt}from"./cache.js";import{REGISTRY as B,LIFECYCLE_EVENTS as qt}from"./registry.js";import{registerEvent as Xt}from"./delegate.js";import{applyExtends as Jt}from"./extends.js";import{addMethods as mt}from"./methods.js";import"./dispose.js";import{isLoudDevRuntime as dt}from"./devRuntime.js";import{replaceLiteralsWithObjectFields as lt}from"@symbo.ls/utils";import{runPluginHook as N}from"@symbo.ls/utils/function.js";import{applyStateMethods as X}from"@symbo.ls/state";import{CSS_PROPS_REGISTRY as E,DEFAULT_CSS_PROPERTIES_LIST as w}from"css-in-props";import{css as nt,wrapHoverRule as Lt}from"@symbo.ls/css";import{pushConfig as O,popConfig as D}from"@symbo.ls/scratch";import{checkAttributeByTagName as pt,applyAttrTransforms as to,camelToAttr as yt,serializeAttrValue as G,isEnumeratedTrueFalseAttr as rt}from"attrs-in-props";let oo=1;const J=[];let ht=!1;function Tt(){return typeof Date<"u"&&typeof Date.now=="function"?Date.now():0}function so(){return typeof document<"u"&&document.visibilityState==="hidden"}const no=250;function $t(){if(!ht){if(ht=!0,typeof requestAnimationFrame!="function"){setTimeout(_t,0);return}so()?setTimeout(_t,no):requestAnimationFrame(_t)}}const ro=300,io=15e4;function _t(){if(ht=!1,!J.length)return;const t=J.splice(0,J.length);for(let s=0;s<t.length;s++){const n=t[s];if(n.node){if(!n.node.isConnected){const r=n.__ref||(n.__ref={});r.__mountAttempts=(r.__mountAttempts||0)+1,r.__mountFirstAttemptAt==null&&(r.__mountFirstAttemptAt=Tt());const c=Tt()-r.__mountFirstAttemptAt;r.__mountAttempts<=ro&&c<io?(J.push(n),$t()):console.warn("[DOMQL] onMounted dropped after",r.__mountAttempts,"attempts /",c,"ms \u2014 node never connected:",n.key||n.tag||n);continue}U("Mounted",n,n.__ref?.__mountOptions||{})}}}function Rt(t,s){typeof t.onMounted=="function"&&(t.__ref.__mountOptions=s,J.push(t),$t())}function Ft(t,s){if(typeof t.onContentUpdate!="function")return;t.context?.plugins?.length&&N("contentUpdate",t,s);const n=t.context?.designSystem;n&&O(n);try{t.onContentUpdate(t,t.state,t.context,s)}catch(r){if(t.context?.plugins?.length&&N("error",t,{hook:"onContentUpdate",error:r})||console.error('[DOMQL] Lifecycle "onContentUpdate" error:',r),t.context?.strictMode)throw r}finally{n&&D()}}function z(t){return t.length>2&&t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>=65&&t.charCodeAt(2)<=90}function eo(t){return t.charAt(2).toLowerCase()+t.slice(3)}function co(t){return t.toLowerCase()}function gt(t){const s=t.charCodeAt(0);return s===58||s===64||s===38}function m(t,s){const n={...t};for(const r in s){const c=n[r],o=s[r];c&&o&&typeof c=="object"&&typeof o=="object"&&!Array.isArray(c)&&!Array.isArray(o)&&typeof c!="function"&&typeof o!="function"?n[r]=m(c,o):n[r]=o}return n}function V(t,s,n,r={},c){if(t==null||t===!1)return null;(typeof t=="string"||typeof t=="number")&&(t={text:t});const o=Object.create(null);o.key=n||t.key||`_${oo++}`,o.parent=s||null,o.context=t.context||s?.context||r.context||{},o.context.__create||(o.context.__create=V);const a=o.__ref={__if:!0,__children:[],__exec:{},__effects:[],__eventCleanup:[],root:s?.__ref?.root||o,path:s?.__ref?.path?[...s.__ref.path,o.key]:[o.key],origin:t};if(n&&!t.extends&&!t.extend){const l=n.indexOf("_");if(l>0){const _=n.substring(0,l),g=o.context?.components;g&&(g[_]||g["smbls."+_])?t={...t,extends:_}:g&&dt()&&/^[A-Z]\w*_\d+$/.test(n)&&console.warn(`[smbls] auto-extend: key "${n}" looks like a multi-instance (${_}_N) but neither "${_}" nor "smbls.${_}" is registered in context.components \u2014 element will render as a plain <div>. Register the base component or rename the key.`)}}Jt(o,t,r);const i=new Set(["childProps","attr","style","scope","data"]),e=o.props&&typeof o.props=="object"?o.props:null;for(const l in t){if(l==="parent"||l==="node"||l==="__ref"||l==="extends"||l==="context"||l==="props")continue;const _=t[l],g=o[l],x=g&&_&&typeof g=="object"&&typeof _=="object"&&!Array.isArray(g)&&!Array.isArray(_)&&typeof g!="function"&&typeof _!="function";x&&l.charCodeAt(0)>=65&&l.charCodeAt(0)<=90?o[l]=m(g,_):x&&i.has(l)?o[l]={...g,..._}:x&>(l)?o[l]=m(g,_):o[l]=_}function f(l){for(const _ in l){const g=l[_],x=o[_],b=x&&g&&typeof x=="object"&&typeof g=="object"&&!Array.isArray(x)&&!Array.isArray(g)&&typeof x!="function"&&typeof g!="function";b&&_.charCodeAt(0)>=65&&_.charCodeAt(0)<=90?o[_]=m(x,g):b&&i.has(_)?o[_]={...x,...g}:b&>(_)?o[_]=m(x,g):o[_]=g}}e&&f(e),t.props&&typeof t.props=="object"&&f(t.props),t.data!==void 0&&(o.data=t.data),t.classlist!==void 0&&(o.classlist=t.classlist),t.text!==void 0&&(o.text=t.text),t.html!==void 0&&(o.html=t.html);const u=o.scope&&typeof o.scope=="object"?o.scope:null,d=s?.scope,p=o.context&&typeof o.context.globalScope=="object"&&o.context.globalScope||null,y=d||p||null;if(t.scope!==void 0||u){const l={};u&&Object.assign(l,u),t.scope!==void 0&&Object.assign(l,t.scope),o.scope=Zt(l,y)}else y&&(o.scope=y);if(t.if!==void 0&&(o.if=t.if),mt(o),ao(o,s,t),o.if!=null){let l;if(typeof o.if=="function")try{l=o.if(o,o.state,o.context)}catch(_){if(l=!1,a.__ifError=_,typeof console<"u"&&console.warn){const g=o.key||o.tag||"?";console.warn(`[smbls] \`if:\` evaluator threw on ${g} \u2014 treating as false:`,_?.message||_)}}else l=o.if;a.__if=!!l}if(a.__if)typeof o.if=="function"&&(a.__ifInitialized=!0);else return s&&(s[o.key]=o),typeof o.if=="function"&&It(o,a,o.if),o;o.tag||(o.tag=Dt(o)),U("Init",o,r);const h=o.node=ut(o);if(!h)return o;if(o.tag==="fragment"){const _=(o.context?.document||globalThis.document).createComment("");h.appendChild(_),a.__fragmentAnchor=_}U("AttachNode",o,r),h.setAttribute&&o.key&&h.setAttribute("data-key",o.key),s&&(s[o.key]=o,s.__ref?.__children&&(s.__ref.__children.includes(o.key)||s.__ref.__children.push(o.key))),h.setAttribute&&o.context?.scopeSelector&&o.context.scopeSelector!==":root"&&o.context.key&&o.key===o.context.key&&h.setAttribute("data-smbls-app",o.context.key),o.id&&h.setAttribute&&(h.id=o.id),Gt(o,r),Nt(o),xt(o),Ht(o),So(o);try{zt(o,r)}catch(l){if(typeof console<"u"&&console.error){const _=o.__ref?.path?.join(".")||o.key||"<root>";console.error(`[smbls] createChildren failed at ${_}:`,l?.message||l,l?.stack?`
|
|
2
2
|
`+l.stack.split(`
|
|
3
3
|
`).slice(0,6).join(`
|
|
4
|
-
`):"")}}if(St(o,!0),Wt(o,s,e),typeof o.html=="function"&&o.node&&!o.node.innerHTML){const l=o.context?.designSystem;l&&O(l);try{const _=o.html(o,o.state,o.context);_!=null&&typeof _!="function"&&(o.node.innerHTML=_)}catch{}finally{l&&L()}}if(U("Create",o,r),U("Complete",o,r),U("Render",o,r),U("RenderRouter",o,r),Lt(o,r),typeof o.onFrame=="function"){const l=o.onFrame,_=o.context?.designSystem,g=()=>{if(o.node){if(o.node.isConnected){_&&O(_);try{l(o,o.state,o.context)}catch(x){console.error("[DOMQL] onFrame error:",x)}finally{_&&L()}}requestAnimationFrame(g)}};requestAnimationFrame(g)}return o}function no(t,s,n){const r=!s,e=n.state&&typeof n.state=="object"&&!Array.isArray(n.state)&&Object.keys(n.state).length===0,o=r&&e&&t.context?.state,a=n.state!==void 0&&!o?n.state:t.state&&!I(t.state)?t.state:void 0;if(a==null){if(s?.state)t.state=s.state,Q(t,t.state);else if(t.context?.state){const c=t.context.state,i={...c},f=t.context?.polyglot;if(f?.translations){const u=c.lang||f.defaultLang||"en",d=f.translations[u];if(d&&typeof d=="object")for(const y in d)i[y]===void 0&&(i[y]=d[y]);const p=new Set(f.languages||[]);for(const y in f.translations)!p.has(y)&&i[y]===void 0&&(i[y]=f.translations[y])}t.state=I(i)?i:et(i),t.state.__element=t,t.state.root=t.state,Q(t,t.state)}else t.state={},Object.defineProperty(t.state,"root",{value:t.state,enumerable:!1,configurable:!0,writable:!0}),Q(t,t.state);return}if(typeof a=="string"){if(t.state=Dt(a,s),t.state&&typeof t.state=="object"&&!I(t.state)){const c=s?.state?.root||s?.state||t.state;Object.defineProperty(t.state,"root",{value:c,enumerable:!1,configurable:!0,writable:!0})}Q(t,t.state);return}if(typeof a=="function"){const c=a(t,s?.state);t.state=I(c)?c:et(c||{})}else I(a)?t.state=a:t.state=et({...a});t.state.__element=t,s?.state?(t.state.parent=s.state,t.state.root=s.state.root||s.state):t.state.root=t.state,Q(t,t.state)}function ht(t,s){if(!s)return t;const n=s.split("/");let r=t;for(const e of n){if(r==null)return{};r=r[e]}return r??{}}function Dt(t,s){if(!s)return{};if(t===".")return s.state||{};if(t.startsWith("../")){const e=t.slice(3);return e?ht(s.state,e):s.state??{}}if(t.startsWith("~/")){const e=s.state?.root||s.state,o=t.slice(2);return o?ht(e,o):e??{}}if(s.state?.[t]!==void 0)return s.state[t];const n=ht(s.state,t);if(n!=null&&Object.keys(n).length>0)return n;const r=s.context?.polyglot;if(r?.translations){const e=s.state?.root?.lang||r.defaultLang||"en",o=r.translations[e];if(o?.[t]!==void 0)return o[t];if(r.translations[t]!==void 0)return r.translations[t]}return{}}const ro=new Set(["s","state","ctx","context"]);function co(t){try{const n=Function.prototype.toString.call(t).match(/^[^(]*\(([^)]*)\)/);return n?n[1].split(",").map(r=>r.trim().split("=")[0].trim()).filter(Boolean):[]}catch{return[]}}function io(t){if(typeof t!="function"||t.length!==2)return!1;const s=co(t);if(s.length<2)return!1;const n=s[1].replace(/[{}[\]]/g,"").trim();return n.length>0&&!ro.has(n)}function eo(t){const s=t.__ref,n=t.tag||"div",r=t.context?.designSystem,e=[],o=Object.keys(t);for(let a=0;a<o.length;a++){const c=o[a];if(typeof t[c]!="function"||B.has(c))continue;const i=c.charCodeAt(0);i>=65&&i<=90||G(c)||E[c]||j&&j.has(c)||dt(n,c)||(ft()&&io(t[c])&&console.warn(`[smbls] custom prop "${c}"${t.key?` on key "${t.key}"`:""} is a function \u2014 it will be auto-invoked on read and its RETURN VALUE stored, not preserved as a callable reference. If you meant to stash a callback, use el.call('${c}', \u2026) instead of reading el.${c}(\u2026) directly (see RULES.md Rule 8).`),e.push({prop:c,fn:t[c]}))}for(let a=0;a<e.length;a++){const{prop:c,fn:i}=e[a];s.__exec[c]=i,Object.defineProperty(t,c,{get(){r&&O(r);try{return i(t,t.state,t.context)}catch{return}finally{r&&L()}},set(f){delete s.__exec[c],Object.defineProperty(t,c,{value:f,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}}function ao(t,s){if(!(!Array.isArray(s)||s.length===0))for(let n=0;n<s.length;n++){const r=s[n];try{typeof r=="function"?r(t,t.state,t.context):typeof r=="string"&&t.state?.[r]}catch{}}}function $(t,s,n){return!Array.isArray(s)||s.length===0?n:function(...r){return ao(t,s),n.apply(this,r)}}function J(t,s){if(!(!t||Array.isArray(t)||typeof t!="object"))return t[s]}function Rt(t,s){const n=t.__ref,r=!!(s&&s.skipIfEffect);if(eo(t),typeof t.text=="function"){const o=t.text,a=$(t,t.textDeps,o),c=S(()=>{if(!n.contentManaged)try{let i=a(t,t.state,t.context);t.node&&i!=null&&typeof i!="function"&&typeof i!="object"&&(typeof i=="string"&&i.includes("{{")&&(i=ut.call(t,i,t.state)),t.tag==="string"?t.node.nodeValue=i:t.node.textContent=i)}catch{}},{depth:n.path.length});n.__effects.push(c),n.__exec.text=o}else if(typeof t.text=="string"&&t.text.includes("{{")){const o=t.text,a=S(()=>{if(n.contentManaged)return;const c=ut.call(t,o,t.state);c!=null&&(t.text=c),t.node&&(t.tag==="string"?t.node.nodeValue=c??"":t.node.textContent=c??"")},{depth:n.path.length});n.__effects.push(a),n.__exec.text=o}for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&typeof t[o]=="function"&&!B.has(o)&&!G(o)&&!n.__exec[o]){if(E[o]){const a=t[o],c=$(t,t[o+"Deps"],a),i=o;let f;const u=S(()=>{const d=t.context?.designSystem;d&&O(d);try{const p=c(t,t.state,t.context),y=E[i](p,t,t.state,t.context);if(y&&t.node){const h=gt(y);(h===null||h!==f)&&(f=h,z(t.node,y))}else t.node&&(i==="show"||i==="hide")&&(f=void 0,t.node.style.display="")}finally{d&&L()}},{depth:n.path.length});n.__effects.push(u),n.__exec[o]=a}else if(j&&j.has(o)){const a=t[o],c=$(t,t[o+"Deps"],a),i=o;let f;const u=S(()=>{const d=t.context?.designSystem;d&&O(d);try{const p=c(t,t.state,t.context);if(t.node)if(p!=null){const y=i+":"+String(p);y!==f&&(f=y,z(t.node,{[i]:p}))}else f=void 0,t.node.style[i]=""}finally{d&&L()}},{depth:n.path.length});n.__effects.push(u),n.__exec[o]=a}}if(typeof t.html=="function"){const o=t.html,a=$(t,t.htmlDeps,o),c=S(()=>{const i=t.context?.designSystem;i&&O(i);try{const f=a(t,t.state,t.context);t.node&&f!=null&&typeof f!="function"&&(t.node.innerHTML=f)}finally{i&&L()}},{depth:n.path.length});n.__effects.push(c),n.__exec.html=o}if(typeof t.value=="function"){const o=t.value,a=$(t,t.valueDeps,o),c=S(()=>{try{const i=a(t,t.state,t.context);if(!t.node||!("value"in t.node))return;const f=i==null?"":String(i);if(t.node.value===f)return;const u=typeof document<"u"&&document.activeElement===t.node,d=u&&typeof t.node.selectionStart=="number"?t.node.selectionStart:null,p=u&&typeof t.node.selectionEnd=="number"?t.node.selectionEnd:null;if(t.node.value=f,u&&d!=null&&p!=null)try{t.node.setSelectionRange(d,p)}catch{}}catch{}},{depth:n.path.length});n.__effects.push(c),n.__exec.value=o}if(typeof t.style=="function"){const o=t.style,a=$(t,t.styleDeps,o);let c;const i=S(()=>{const f=a(t,t.state,t.context),u=gt(f);(u===null||u!==c)&&(c=u,z(t.node,f))},{depth:n.path.length});n.__effects.push(i),n.__exec.style=o}else if(t.style&&typeof t.style=="object")for(const o in t.style){const a=t.style[o];if(typeof a!="function")continue;const c=$(t,J(t.styleDeps,o),a);let i;const f=S(()=>{try{const u=c(t,t.state,t.context);if(t.node){const d=o+":"+String(u);d!==i&&(i=d,z(t.node,{[o]:u}))}}catch{}},{depth:n.path.length});n.__effects.push(f)}if(t.attr&&typeof t.attr=="object"){for(const o in t.attr)if(typeof t.attr[o]=="function"){const a=$(t,J(t.attrDeps,o),t.attr[o]),c=o,i=S(()=>{try{const f=a(t,t.state,t.context);t.node?.setAttribute&&(f==null||f===!1?t.node.removeAttribute(c):typeof f!="function"&&typeof f!="object"&&t.node.setAttribute(c,f===!0?"":f))}catch{}},{depth:n.path.length});n.__effects.push(i)}}if(t.aria&&typeof t.aria=="object")for(const o in t.aria){if(typeof t.aria[o]!="function")continue;const a=$(t,J(t.ariaDeps,o),t.aria[o]),c="aria-"+o.replace(/[A-Z]/g,f=>"-"+f.toLowerCase()),i=S(()=>{try{const f=a(t,t.state,t.context);if(!t.node?.setAttribute)return;f==null||f===!1?t.node.removeAttribute(c):typeof f!="function"&&typeof f!="object"&&t.node.setAttribute(c,f===!0?"":f)}catch{}},{depth:n.path.length});n.__effects.push(i)}if(t.data&&typeof t.data=="object")for(const o in t.data){if(typeof t.data[o]!="function")continue;const a=$(t,J(t.dataDeps,o),t.data[o]),i="data-"+o.replace(/[A-Z]/g,u=>"-"+u.toLowerCase()),f=S(()=>{try{const u=a(t,t.state,t.context);if(!t.node?.setAttribute)return;u==null||u===!1?t.node.removeAttribute(i):typeof u!="function"&&typeof u!="object"&&t.node.setAttribute(i,u===!0?"":u)}catch{}},{depth:n.path.length});n.__effects.push(f)}const e=t.classlist&&typeof t.classlist=="object"&&!Array.isArray(t.classlist)?t.classlist:t.class&&typeof t.class=="object"&&!Array.isArray(t.class)?t.class:null;if(e)for(const o in e){if(typeof e[o]!="function")continue;const a=$(t,J(t.classDeps,o),e[o]),c=S(()=>{try{const i=a(t,t.state,t.context);if(!t.node?.classList)return;typeof i=="string"?t.node.classList.add(i):i?t.node.classList.add(o):t.node.classList.remove(o)}catch{}},{depth:n.path.length});n.__effects.push(c)}!r&&typeof t.if=="function"&&Ft(t,n,t.if);for(const o in t){if(!Object.prototype.hasOwnProperty.call(t,o)||B.has(o)||typeof t[o]!="function")continue;const a=o.charCodeAt(0);if(a>=65&&a<=90||G(o))continue;const c=t[o];n.__exec[o]=c;const i=t.tag||"div";if(dt(i,o)&&!E[o]&&!(j&&j.has(o))){const f=lt(o)||o,u=$(t,t[o+"Deps"],c),d=S(()=>{try{const p=u(t,t.state,t.context);t.node?.setAttribute&&(p==null||p===!1?t.node.removeAttribute(f):typeof p!="function"&&typeof p!="object"&&(f==="src"&&"src"in t.node?t.node.src=p:t.node.setAttribute(f,p===!0?"":p)))}catch{}},{depth:n.path.length});n.__effects.push(d)}}if(lo(t),ho(t),typeof t.onStateUpdate=="function"&&Array.isArray(t.stateDeps)){const o=t.onStateUpdate,a=t.stateDeps;let c=!1,i=[];const f=S(()=>{const u=[];for(let h=0;h<a.length;h++){const l=a[h];try{u[h]=typeof l=="function"?l(t,t.state,t.context):t.state?.[l]}catch{u[h]=void 0}}if(!c){c=!0,i=u;return}let d=u.length!==i.length;for(let h=0;!d&&h<u.length;h++)u[h]!==i[h]&&(d=!0);const p=i;if(i=u,!d)return;const y=t.context?.designSystem;y&&O(y);try{o(t,t.state,t.context,{prev:p,next:u})}catch(h){if(t.context?.plugins?.length&&M("error",t,{hook:"onStateUpdate",error:h})||console.error('[DOMQL] Lifecycle "onStateUpdate" error:',h),t.context?.strictMode)throw h}finally{y&&L()}},{depth:n.path.length});n.__effects.push(f)}yo(t)}function Tt(t){const s=t.parent,n=s?.node;if(!n||!t.node){Wt(t,t.parent);return}let r=null;const e=Object.keys(s),o=e.indexOf(t.key);for(let a=o+1;a<e.length;a++){const c=s[e[a]];if(c?.node?.parentNode===n){r=c.node;break}}r?n.insertBefore(t.node,r):n.appendChild(t.node)}function Ft(t,s,n){const r=$(t,t.ifDeps,n),e=S(()=>{let o;try{o=r(t,t.state,t.context)}catch(c){if(o=!1,s.__ifError=c,typeof console<"u"&&console.warn){const i=t.key||t.tag||"?";console.warn(`[smbls] \`if:\` reactive effect threw on ${i} \u2014 treating as false:`,c?.message||c)}return}const a=s.__if;if(s.__if=!!o,a&&!s.__if&&t.node)t.node.remove();else if(!a&&s.__if)if(s.__ifInitialized)t.node||(t.node=at(t)),t.node&&(t.node.ref=t),Tt(t),_t(t);else{if(s.__ifInitialized=!0,t.tag||(t.tag=Et(t)),U("Init",t,{}),t.node||(t.node=at(t)),!t.node)return;if(t.parent?.__ref?.__children&&!t.parent.__ref.__children.includes(t.key)&&t.parent.__ref.__children.push(t.key),t.tag==="fragment"&&!s.__fragmentAnchor){const i=(t.context?.document||globalThis.document).createComment("");t.node.appendChild(i),s.__fragmentAnchor=i}U("AttachNode",t,{}),t.node.setAttribute&&t.key&&t.node.setAttribute("data-key",t.key),t.id&&t.node.setAttribute&&(t.node.id=t.id),Kt(t,{}),Rt(t,{skipIfEffect:!0}),_t(t),It(t),Vt(t,{}),Tt(t),Lt(t,{})}},{depth:s.path.length});s.__effects.push(e)}function _t(t){const{node:s}=t;if(s){if(typeof t.text=="string"&&!t.text.includes("{{")?t.tag==="string"?s.nodeValue=t.text:s.textContent=t.text:typeof t.text=="number"&&(s.textContent=t.text),go(t),typeof t.html=="string"&&(s.innerHTML=t.html),t.value!=null&&typeof t.value!="function"&&"value"in s){const n=String(t.value);s.value!==n&&(s.value=n)}if(t.style&&typeof t.style=="object"&&z(s,t.style),t.attr&&typeof t.attr=="object")for(const n in t.attr){const r=t.attr[n];typeof r=="function"||typeof r=="object"||r==null||r===!1||s.setAttribute&&s.setAttribute(n,r===!0?"":r)}if(t.data&&typeof t.data=="object")for(const n in t.data){const r=t.data[n];typeof r=="function"||typeof r=="object"||r==null||r===!1||s.dataset&&(s.dataset[n]=r===!0?"":r)}if(t.classlist||t.class){const n=t.classlist||t.class;if(typeof n=="string")n.split(" ").forEach(r=>r&&s.classList.add(r));else if(typeof n=="object")for(const r in n){const e=typeof n[r]=="function"?n[r](t,t.state,t.context):n[r];e&&s.classList.add(typeof e=="string"?e:r)}}}}function gt(t){if(t==null||typeof t!="object")return"s:"+String(t);try{return"o:"+JSON.stringify(t)}catch{return null}}function z(t,s){if(!t||!s||!t.style)return;let n=null;for(const r in s){const e=s[r];if(e!=null){if(r.charAt(0)==="&"&&typeof e=="object"){n||(n={}),n[r]=e;continue}try{const o=String(e),a=r.replace(/[A-Z]/g,u=>"-"+u.toLowerCase()),c=o.trim(),i=/\s*!important\s*$/.test(c),f=c.replace(/\s*!important\s*$/,"");t.style.setProperty(a,f,i?"important":"")}catch{}}}n&&uo(t,n)}let fo=0;function uo(t,s){const n=`_ds${fo++}`;t.classList.add(n);const r=t.ownerDocument;let e=r.querySelector("style[data-smbls-scoped]");e||(e=r.createElement("style"),e.setAttribute("data-smbls-scoped",""),r.head.appendChild(e));let o="";for(const a in s){const c="."+n,i=a.replace(/&/g,c).split(",").map(u=>{const d=u.trim();return d.includes(c)?d:c+d}).join(", "),f=s[a];if(typeof f=="object"){let u="",d="";for(const p in f){const y=f[p];if(typeof y=="object"){const h=p.includes("&")?i.split(", ").map(_=>p.replace(/&/g,_)).join(", "):i.split(", ").map(_=>`${_} ${p}`).join(", ");let l="";for(const _ in y)l+=`${_.replace(/[A-Z]/g,g=>"-"+g.toLowerCase())}: ${y[_]};`;d+=Pt(`${h} { ${l} }`,h)+`
|
|
5
|
-
`}else u+=`${p.replace(/[A-Z]/g,h=>"-"+h.toLowerCase())}: ${y};`}u&&(o+=
|
|
6
|
-
`),d&&(o+=d)}}o&&(e.textContent+=o)}function lo(t){let s=t.subscribeTo;if(typeof s=="function")try{s=s(t,t.state,t.context)}catch{s=null}if(!Array.isArray(s)||s.length===0)return;const n=t.__ref;for(let r=0;r<s.length;r++){const e=s[r];if(typeof e!="string"||e.length===0)continue;const o=e.split("."),a=o[0],c=o.slice(1),i={value:!1},f=S(()=>{const u=t.state&&(I(t.state)?t.state.root:null);if(!u||!I(u))return;let d=u;d=d[a];for(let y=0;y<c.length&&!(d==null||typeof d!="object");y++)if(I(d))d=d[c[y]];else break;if(!i.value)return;let p=!1;if(typeof t.onBeforeUpdate=="function"){const y=t.context?.designSystem;y&&O(y);try{if(Ao(n)){const h=t.onBeforeUpdate(t,t.state,t.context,{updateBySubscription:!0});h&&typeof h.then=="function"?h.then(()=>nt(n,!1),l=>{nt(n,!0),t.context?.plugins?.length&&M("error",t,{hook:"onBeforeUpdate",error:l})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",l)}):(nt(n,!1),h===!1&&(p=!0))}}catch(h){nt(n,!0),t.context?.plugins?.length&&M("error",t,{hook:"onBeforeUpdate",error:h})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",h)}finally{y&&L()}}if(!p&&t.node&&n.__effects)for(let y=0;y<n.__effects.length;y++){const h=n.__effects[y];h&&h!==f&&!h._disposed&&!h._isSubscribeToEffect&&typeof h._execute=="function"&&h._execute()}if(!p&&typeof t.onUpdate=="function"){const y=t.context?.designSystem;y&&O(y);try{t.onUpdate(t,t.state,t.context)}catch(h){t.context?.plugins?.length&&M("error",t,{hook:"onUpdate",error:h})||console.error("[DOMQL] subscribeTo onUpdate error:",h)}finally{y&&L()}}},{depth:n.path.length});i.value=!0,f._isSubscribeToEffect=!0,n.__effects.push(f)}}function bt(t,s){return t.charCodeAt(0)===64&&t.length>1&&!t.startsWith("@media")&&!t.startsWith("@keyframes")&&!t.startsWith("@supports")&&(t==="@dark"||t==="@light"||!s.context?.designSystem?.media?.[t.slice(1)])}const Nt=new Set;function po(t,s){const n=s?.__ref?.path?s.__ref.path.join("."):s?.key||"?",r=n+"::"+t;Nt.has(r)||(Nt.add(r),console.warn(`[smbls/css] "${t}" at ${n} is a CHILD-COMPONENT key nested inside a pseudo/selector block (":hover", "@dark", etc.) \u2014 that is never a valid CSS selector fragment. The rule is DROPPED (not shipped as a dead/never-matching selector). To reveal a child on a parent state, target the child's OWN class from the parent selector instead, e.g. move the declaration onto the child element itself, or use a sibling-selector combinator in a top-level style block.`))}function Y(t,s,n){const r={},e=new Set,o=(a,c,i)=>{const f=i?new Set(Object.keys(r)):null;if(E[a]){const u=E[a](c,s,s.state,s.context);if(u){const d=Array.isArray(u)?u:[u];for(const p of d)p&&Object.assign(r,p)}}else r[a]=c;if(i)for(const u in r)f.has(u)||e.add(u)};for(const a in t){if(!Object.prototype.hasOwnProperty.call(t,a))continue;let c=t[a];if(typeof c=="function"&&(c=c(s,s.state,s.context)),c==null||typeof c=="function")continue;if(typeof c=="object"&&!Array.isArray(c)){if(a==="style"){for(const d in c){let p=c[d];if(typeof p=="function"&&(p=p(s,s.state,s.context)),p==null||typeof p=="function")continue;const y=typeof s[d]=="function"&&(E[d]||j&&j.has(d));o(d,p,y)}continue}if(bt(a,s)){const d=Y(c,s,!1);Object.keys(d).length&&(r[`[data-theme="${a.slice(1)}"] &`]=d);continue}if(/^[A-Z][A-Za-z0-9]*$/.test(a)){ft()&&po(a,s);continue}let f=a;if(a.charCodeAt(0)===64&&!a.startsWith("@media")&&!a.startsWith("@keyframes")){const d=s.context?.designSystem?.media?.[a.slice(1)];d&&(f=`@media ${d}`)}const u=Y(c,s,!1);Object.keys(u).length&&(r[f]=u);continue}const i=typeof s[a]=="function"&&(E[a]||j&&j.has(a));o(a,c,i)}if(n)for(const a in r)e.add(a);for(const a of e){const c=r[a];typeof c=="string"&&!c.includes("!important")&&(r[a]=c+" !important")}return r}function xt(t,s){if(s===void 0&&(s=0),s>8)return!1;if(typeof t=="function")return!0;if(t&&typeof t=="object"&&!Array.isArray(t)){for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&xt(t[n],s+1))return!0}return!1}function Mt(t,s,n){if(!s||typeof s!="object"||Array.isArray(s))return null;if(bt(t,n)){const o=Y(s,n,!1);return Object.keys(o).length?{cssProp:`[data-theme="${t.slice(1)}"] &`,block:o}:null}let r=t;if(t.charAt(0)==="@"&&!t.startsWith("@media")&&!t.startsWith("@keyframes")){const o=n.context?.designSystem?.media?.[t.slice(1)];o&&(r=`@media ${o}`)}const e=Y(s,n,!1);return Object.keys(e).length?{cssProp:r,block:e}:null}function yo(t){const s=t.__ref;for(const n in t){if(!Object.prototype.hasOwnProperty.call(t,n)||!yt(n))continue;const r=t[n];if(!r||typeof r!="object"||Array.isArray(r)||!xt(r))continue;let e=null,o;const a=S(()=>{if(!t.node)return;const c=t.context?.designSystem;c&&O(c);let i,f=!1;try{const u=Mt(n,r,t),d=u?gt(u.block)+"::"+u.cssProp:null;if(d!==null&&d===o)f=!0;else if(o=d,u){const p=ot({[u.cssProp]:u.block},null,t.context?.cssPrefix);i=p?p.split(" ").filter(Boolean):null}else i=null}finally{c&&L()}if(!(f||!t.node.classList)){if(e)for(const u of e)t.node.classList.remove(u);if(i&&i.length)for(const u of i)t.node.classList.add(u);e=i}},{depth:s.path.length});s.__effects.push(a)}}function ho(t){const s=t.__ref;s.__conditionalRunners=[];const n=new Map;for(const r in t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;const e=r.charAt(0);if(e!=="."&&e!=="!")continue;const o=r.slice(1);if(!o)continue;if(/[:@\s>~+[\]]/.test(o)){if(typeof console<"u"&&console.warn){const d=o.split(/[:@\s>~+[\]]/)[0];console.warn(`[smbls] conditional \`${r}\` on ${t.key||"?"} will never match \u2014 the whole string after \`${e}\` is read as one prop name. Nest the selector inside instead: \`${e}${d}: { '${o.slice(d.length)}': {...} }\`.`)}continue}const a=t[r];if(!a||typeof a!="object")continue;const c=e==="!",i={lastMatch:!1,appliedKeys:null,appliedClasses:null},f=()=>{let d;const p=t[o];if(p===void 0){const l=!!t.state&&o in t.state,_=t.state?t.state[o]:void 0;if(l||_!==void 0)d=_;else{const g=t.context?.cases?.[o];if(g===void 0)return;try{d=typeof g=="function"?g.call(t,t):g}catch(x){d=!1,s.__conditionalError=x,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` case fn threw on ${t.key||"?"} \u2014 treating as false:`,x?.message||x)}}}else if(typeof p=="function")try{d=p(t,t.state,t.context)}catch(l){d=!1,s.__conditionalError=l,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` predicate threw on ${t.key||"?"} \u2014 treating as false:`,l?.message||l)}else d=p;const y=c?!d:!!d;if(!t.node||y===i.lastMatch)return;i.lastMatch=y;const h=t.context?.designSystem;h&&O(h);try{if(y){const l={},_={};let g=!1;for(const b in a){if(!Object.prototype.hasOwnProperty.call(a,b))continue;const w=a[b],k=b.charAt(0);if((k===":"||k==="@"||k==="&")&&w&&typeof w=="object"&&!Array.isArray(w)){if(bt(b,t)){const D=Y(w,t,!1);Object.keys(D).length&&(_[`[data-theme="${b.slice(1)}"] &`]=D,g=!0)}else{let D=b;if(k==="@"&&!b.startsWith("@media")&&!b.startsWith("@keyframes")){const K=t.context?.designSystem?.media?.[b.slice(1)];K&&(D=`@media ${K}`)}const W=Y(w,t,!1);Object.keys(W).length&&(_[D]=W,g=!0)}continue}const v=typeof w=="function"?w(t,t.state,t.context):w;if(v!=null)if(E[b]){const D=E[b](v,t,t.state,t.context);if(D){const W=Array.isArray(D)?D:[D];for(const K of W)K&&Object.assign(l,K)}}else j&&j.has(b)&&(l[b]=v)}const x=Object.keys(l);if(x.length){z(t.node,l);for(const b of x)n.set(b,r);i.appliedKeys=x}else i.appliedKeys=null;if(g){const b=ot(_,null,t.context?.cssPrefix),w=b?b.split(" ").filter(Boolean):[];if(w.length&&t.node.classList){for(const k of w)t.node.classList.add(k);i.appliedClasses=w}else i.appliedClasses=null}else if(i.appliedClasses){for(const b of i.appliedClasses)t.node.classList.remove(b);i.appliedClasses=null}}else{if(i.appliedKeys){for(const l of i.appliedKeys)n.get(l)===r&&(t.node.style[l]="",n.delete(l));i.appliedKeys=null}if(i.appliedClasses){for(const l of i.appliedClasses)t.node.classList.remove(l);i.appliedClasses=null}}}finally{h&&L()}};s.__conditionalRunners.push(f);const u=S(f,{depth:s.path.length});s.__effects.push(u)}}const At=new WeakSet;function _o(t){const s=t.ownerDocument;!s||At.has(s)||(At.add(s),queueMicrotask(()=>{At.delete(s);const n=s.body||s.documentElement;n&&n.offsetWidth}))}const Ct=new WeakSet;let Ut=!1;function go(t){const{node:s}=t;if(!s)return;if(Ut||(Ut=!0,ot({display:"none"})),Ct.has(t)){console.error("[applyCssInProps] re-entry detected for element",t.key,"prop path:",t.__ref?.path);return}Ct.add(t);const n=t.context?.designSystem;n&&O(n);try{const r={};let e=!1;if(Object.prototype.hasOwnProperty.call(t,"theme")&&typeof t.theme!="function"&&E.theme){const o=E.theme(t.theme,t,t.state,t.context);if(o){if(Array.isArray(o))for(const a of o)a&&Object.assign(r,a);else Object.assign(r,o);e=!0}}for(const o in t){if(!Object.prototype.hasOwnProperty.call(t,o)||typeof t[o]=="function"||B.has(o)||o==="theme")continue;const a=o.charCodeAt(0);if(!(a>=65&&a<=90)&&!G(o)){if(E[o]){const c=t[o],i=E[o](c,t,t.state,t.context);if(i){if(Array.isArray(i))for(const f of i)f&&Object.assign(r,f);else Object.assign(r,i);e=!0}}else if(j&&j.has(o)){const c=t[o];c!=null&&typeof c!="object"&&(r[o]=c,e=!0)}else if(o.charCodeAt(0)===45){const c=t[o];c!=null&&typeof c!="object"&&(r[o]=c,e=!0)}else if(o.charAt(0)==="&"||o.charAt(0)==="@"||o.charAt(0)===":"){const c=t[o];if(c&&typeof c=="object"&&!Array.isArray(c)){if(xt(c))continue;const i=Mt(o,c,t);i&&(r[i.cssProp]=i.block,e=!0)}}}}if(e){r.display&&String(r.display).includes("!important")&&(s.style.setProperty("display",String(r.display).replace(/\s*!important\s*$/,""),"important"),delete r.display);const o=ot(r,null,t.context?.cssPrefix);if(o&&s.classList){const c=o.split(" ").filter(Boolean);let i=!1;for(const f of c)s.classList.add(f),i||(f.charCodeAt(0)===95&&f.charCodeAt(1)===99||f.charCodeAt(0)===95&&f.indexOf("_c",1)!==-1)&&(i=!0);i&&_o(s)}const a=t.display!=null&&typeof t.display!="function"?t.display:t.hide===!0||t.show===!1?"none":null;if(a!=null){const c=r.display;if(c&&c!==a)if(a==="none"){const i=[];for(const f of s.classList)f.startsWith("_d-")&&f!=="_d-none"&&i.push(f);for(const f of i)s.classList.remove(f);s.classList.add("_d-none")}else s.style.display=t.display}}}finally{n&&L(),Ct.delete(t)}}function It(t){const{node:s}=t;if(!s||!s.setAttribute)return;if(t.aria&&typeof t.aria=="object")for(const e in t.aria){const o=t.aria[e];if(typeof o=="function"||typeof o=="object"||o==null||o===!1)continue;const a="aria-"+e.replace(/[A-Z]/g,c=>"-"+c.toLowerCase());s.setAttribute(a,o===!0?"":o)}const n=Qt(t);for(const e in n){const o=n[e];o!=null&&o!==!1&&typeof o!="function"&&typeof o!="object"&&s.setAttribute(e,o===!0?"":o)}const r=t.tag||"div";for(const e in t){if(!Object.prototype.hasOwnProperty.call(t,e)||typeof t[e]=="function"||B.has(e)||e==="on"||n[e]!==void 0)continue;const o=e.charCodeAt(0);if(!(o>=65&&o<=90)&&!G(e)&&!(E[e]||j&&j.has(e))&&dt(r,e)){let a=t[e];if(a==null||(typeof a=="string"&&a.includes("{{")&&(a=ut(a,t,t.state,t.context),t[e]=a),a==null||typeof a=="function"||typeof a=="object")||a===!1&&!Jt(lt(e)||e))continue;const c=lt(e)||e;s.setAttribute(c,Xt(c,a))}}}function bo(t){if(!t.autoGrow)return;const s=t.node;if(!s||s.tagName!=="TEXTAREA")return;const n=t.autoGrow,r=n&&typeof n=="object"&&n.max?String(n.max):null;r&&(s.style.maxHeight=r);const e=()=>{s.style.height="auto",s.style.height=s.scrollHeight+"px"};e(),s.addEventListener("input",e),t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{try{s.removeEventListener("input",e)}catch{}})}const Bt=new Set(["onSwipe","onSwipeLeft","onSwipeRight","onSwipeUp","onSwipeDown"]);function Kt(t,s){for(const n in t){if(!Object.prototype.hasOwnProperty.call(t,n)||!G(n)||Bt.has(n))continue;let r=t[n];if(typeof r=="string"&&/^[A-Za-z_$][\w$]*$/.test(r)){const o=r;r=function(c){return t.call(o,c)}}if(typeof r!="function")continue;const e=oo(n);zt.has(e)||Yt(so(e),t,r)}xo(t)}function xo(t){const s=t.node;if(!s||!s.addEventListener)return;const n={};let r=!1;for(const p of Bt){const y=t[p];typeof y=="function"&&(n[p]=y,r=!0)}if(!r)return;const e=typeof t.swipeThreshold=="number"?t.swipeThreshold:40,o=typeof t.swipeMaxDuration=="number"?t.swipeMaxDuration:600;let a=0,c=0,i=0,f=!1;const u=p=>{const y=p.touches&&p.touches[0]||p.changedTouches&&p.changedTouches[0];y&&(a=y.clientX,c=y.clientY,i=Date.now(),f=!0)},d=p=>{if(!f)return;f=!1;const y=p.changedTouches&&p.changedTouches[0]||p.touches&&p.touches[0];if(!y)return;const h=y.clientX-a,l=y.clientY-c,_=Date.now()-i;if(_>o)return;const g=Math.abs(h),x=Math.abs(l);if(Math.max(g,x)<e)return;let b;if(g>x*1.2)b=h<0?"left":"right";else if(x>g*1.2)b=l<0?"up":"down";else return;const w="onSwipe"+b.charAt(0).toUpperCase()+b.slice(1),k=n[w],v=n.onSwipe;k&&k.call(t,p,t,t.state,t.context),v&&v.call(t,{direction:b,dx:h,dy:l,dt:_,event:p},t,t.state,t.context)};s.addEventListener("touchstart",u,{passive:!0}),s.addEventListener("touchend",d,{passive:!0}),t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{try{s.removeEventListener("touchstart",u)}catch{}try{s.removeEventListener("touchend",d)}catch{}})}function m(t,s){const n={...t};for(const r in s){const e=n[r],o=s[r];e&&o&&typeof e=="object"&&typeof o=="object"&&!Array.isArray(e)&&!Array.isArray(o)&&typeof e!="function"&&typeof o!="function"?n[r]=m(e,o):n[r]=o}return n}function kt(t,s,n){if(!s||!t.node)return;const r=t.childExtends;if(Array.isArray(s)){const e=t.tag==="fragment",o=t.context?.document||globalThis.document,a=e?null:o?.createDocumentFragment();if(!e&&!a)return;const c=t.childProps,i=t.childrenAs;for(let f=0;f<s.length;f++){let u=s[f];const d=u;(typeof u=="string"||typeof u=="number")&&(u={text:u});let p=c;if(typeof c=="function")try{p=c(t,u)}catch{p=null}if(i==="state"){let l=d;(typeof d=="string"||typeof d=="number")&&(l={value:d,text:d}),u=p?{...p,state:l}:{state:l}}else p&&(u=m(p,u));if(r&&!u.ignoreChildExtends)if(u.extends){const l=Array.isArray(u.extends)?u.extends:[u.extends],_=Array.isArray(r)?r:[r];u={...u,extends:[..._,...l]}}else u={...u,extends:r};const y=u?.key||d&&typeof d=="object"&&d.key||`${f}`;let h;try{h=V(u,t,y,n)}catch(l){if(typeof console<"u"&&console.error){const _=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${y}" failed to construct at ${_} (initial render, skipping this row):`,l?.message||l)}continue}!e&&h?.node&&a.appendChild(h.node)}return e||t.node.appendChild(a),!0}if(typeof s=="string"){const e=Dt(s,t);if(Array.isArray(e))return kt(t,e,n)}if(typeof s=="object")for(const e in s){if(B.has(e))continue;let o=s[e];if(!(o==null||o===!1)){if((typeof o=="string"||typeof o=="number")&&(o={text:o}),t.childProps&&(o=m(t.childProps,o)),r&&!o.ignoreChildExtends)if(o.extends){const a=Array.isArray(o.extends)?o.extends:[o.extends],c=Array.isArray(r)?r:[r];o={...o,extends:[...c,...a]}}else o={...o,extends:r};V(o,t,e,n)}}}function St(t,s){const n=t.node;if(!n||n.tagName!=="SELECT")return;const r=n.options;if(!r||!r.length)return;const e=t.__ref,o=e&&e.__exec&&e.__exec.value,a=typeof o=="function",c=t.value!=null&&typeof t.value!="function";if(a||c){let u;if(a)try{u=o(t,t.state,t.context)}catch{return}else u=t.value;const d=u==null?"":String(u);n.value!==d&&(n.value=d);return}const i=s||!(e&&e.__selectSynced);if(e&&(e.__selectSynced=!0),!i)return;let f=-1;for(let u=0;u<r.length;u++)r[u].defaultSelected&&(f=u);f>=0&&n.selectedIndex!==f&&(n.selectedIndex=f)}function Vt(t,s){let{children:n,content:r}=t;const e=t.childExtends;if(typeof n=="function"){const c=n;try{n=c(t,t.state,t.context)}catch(p){if(n=void 0,typeof console<"u"&&console.error){const y=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${y} (initial run, treating as empty):`,p?.message||p)}}t.children=n;const i=t.__ref;let f=!1;const u=$(t,t.childrenDeps,c),d=S(()=>{const p=f;f=!0;let y;try{y=u(t,t.state,t.context)}catch(k){if(typeof console<"u"&&console.error){const v=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${v}${p?"":" (initial tracking run)"}:`,k?.message||k)}return}if(!p||y===t.children)return;t.children=y;const h=typeof t.onContentUpdate=="function",l=h?[]:null,_=h?[]:null,g=h?[]:null;if(Array.isArray(y)&&t.childrenAs==="state"){const k=t.childProps,v=[],D=new Map;for(let A=0;A<y.length;A++){const R=y[A];let C=k;if(typeof k=="function")try{C=k(t,R)}catch{C=null}const F=C&&C.key||R&&R.key||`${A}`;v.push(F),D.set(F,{rawChild:R,childProps:C})}const W=new Set(v),K=i.__children.slice();for(const A of K)if(!W.has(A)){const R=t[A];R?.remove&&R.remove(),delete t[A],_&&_.push(A)}const Z=t.childExtends,tt=t.tag==="fragment",Ht=t.context?.document||globalThis.document,q=tt?null:Ht?.createDocumentFragment(),rt=new Set;for(const A of v){const R=D.get(A),C=R.rawChild,F=t[A];if(F&&F.state){if(C&&typeof C=="object"){const P=F.state,H=P.$replace||P.replace,jt=P.$update||P.update;if(typeof H=="function")H.call(P,C);else if(typeof jt=="function"){for(const N in P)if(!(N==="__element"||N==="root"||N==="parent"||N==="update")&&!Object.prototype.hasOwnProperty.call(C,N))try{P[N]=void 0}catch{}jt.call(P,C)}else for(const N in C)P[N]=C[N]}g&&g.push(A);continue}let ct=C;(typeof C=="string"||typeof C=="number")&&(ct={value:C,text:C});const wt=R.childProps;let T=wt?{...wt,state:ct}:{state:ct};if(Z&&!T.ignoreChildExtends)if(T.extends){const P=Array.isArray(T.extends)?T.extends:[T.extends],H=Array.isArray(Z)?Z:[Z];T={...T,extends:[...H,...P]}}else T={...T,extends:Z};let it;try{it=V(T,t,A,s)}catch(P){if(typeof console<"u"&&console.error){const H=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${A}" failed to construct at ${H} (reconcile, skipping this row):`,P?.message||P)}rt.add(A);continue}!tt&&it?.node&&q&&q.appendChild(it.node),l&&l.push(A)}if(!tt&&q&&q.childNodes.length&&t.node&&t.node.appendChild(q),!tt&&t.node){let A=null;for(const R of v){const C=t[R]?.node;if(!C)continue;const F=A?A.nextSibling:t.node.firstChild;C!==F&&t.node.insertBefore(C,F),A=C}}i.__children=rt.size?v.filter(A=>!rt.has(A)):v,h&&(l.length||_.length)&&$t(t,{added:l,removed:_,kept:g}),St(t,!1);return}const w=h?[...i.__children]:null;for(const k of[...i.__children]){const v=t[k];v?.remove&&v.remove(),delete t[k]}i.__children=[],kt(t,y,s),St(t,!1),h&&$t(t,{added:[...i.__children],removed:w,kept:[]})},{depth:i.path.length});i.__effects.push(d)}const o=kt(t,n,s);if(r!=null&&!(r&&r.__ref)){let c=r;if(typeof c=="string"||typeof c=="number"?c={text:c}:typeof c!="object"&&(c={}),t.childProps&&(c=m(t.childProps,c)),e&&!c.ignoreChildExtends)if(c.extends){const i=Array.isArray(c.extends)?c.extends:[c.extends],f=Array.isArray(e)?e:[e];c={...c,extends:[...f,...i]}}else c={...c,extends:e};V(c,t,"content",s)}if(n&&!o)return;const a=t.context?.components||{};{const c=Object.keys(t);for(let i=0;i<c.length;i++){const f=c[i];if(!f.endsWith("Extends")||typeof t[f]!="string")continue;const u=f.slice(0,-7);if(!u||u.charCodeAt(0)<65||u.charCodeAt(0)>90)continue;const d={extends:t[f]};delete t[f];for(let p=i+1;p<c.length;p++){const y=c[p],h=y.charCodeAt(0);if(h>=65&&h<=90||B.has(y)||typeof t[y]=="function"&&(y.startsWith("on")||y.startsWith(".")))break;const l=t[y];l!==void 0&&(d[y]=l,delete t[y])}t[u]&&typeof t[u]=="object"?t[u]={...d,...t[u]}:t[u]=d}}for(const c in t){if(!Object.prototype.hasOwnProperty.call(t,c)||B.has(c)||typeof t[c]!="object"||t[c]===null)continue;const i=c.charCodeAt(0);if(i<65||i>90)continue;let f=t[c];if(!f.__ref){if(!f.extends&&!f.extend){const u=a[c]||a[`smbls.${c}`];u&&(f={...f,extends:u})}if(t.childProps&&(f=m(t.childProps,f)),e&&!f.ignoreChildExtends)if(f.extends){const u=Array.isArray(f.extends)?f.extends:[f.extends],d=Array.isArray(e)?e:[e];f={...f,extends:[...d,...u]}}else f={...f,extends:e};V(f,t,c,s)}}}function Wt(t,s,n){const{node:r}=t;if(!r)return;r.ref=t;const e=s?.tag==="fragment"?s.__ref?.__fragmentAnchor:null;if(e){const a=e.parentNode;if(a){if(n?.position==="before"&&n.node)a.insertBefore(r,n.node);else if(n?.position==="after"&&n.node){const c=n.node.nextSibling;a.insertBefore(r,c||e)}else a.insertBefore(r,e);return}}const o=s?.node||(s?.nodeType?s:null);if(o)if(n?.position==="before"&&n.node)o.insertBefore(r,n.node);else if(n?.position==="after"&&n.node){const a=n.node.nextSibling;a?o.insertBefore(r,a):o.appendChild(r)}else o.appendChild(r)}const vt=3;function Ao(t){return!t||t.__inBeforeUpdate||(t.__beforeUpdateFailCount||0)>=vt?!1:(t.__inBeforeUpdate=!0,!0)}function nt(t,s){t&&(t.__inBeforeUpdate=!1,s?(t.__beforeUpdateFailCount=(t.__beforeUpdateFailCount||0)+1,t.__beforeUpdateFailCount===vt&&typeof console<"u"&&console.error&&console.error(`[DOMQL] onBeforeUpdate failed ${vt}x in a row on this element \u2014 pausing automatic retries until a future prop/state change re-arms it.`)):t.__beforeUpdateFailCount=0)}function U(t,s,n){const r=t.charAt(0).toLowerCase()+t.slice(1);s.context?.plugins?.length&&M(r,s,n);const e="on"+t,o=s[e];if(typeof o=="function"){const i=t==="Render"?"__inRender":t==="RenderRouter"?"__inRenderRouter":null;if(i){if(s.__ref[i])return!0;s.__ref[i]=!0}const f=s.context?.designSystem;f&&O(f);let u=!!i;try{const d=o(s,s.state,s.context,n);if(d&&typeof d.then=="function"){const p=s.__ref;return d.catch(y=>{s.context?.plugins?.length&&M("error",s,{hook:e,error:y})||console.error(`[DOMQL] Lifecycle "${e}" error:`,y)}).finally(()=>{i&&p&&(p[i]=!1)}),u=!1,!0}if(d===!1)return!1}catch(d){if(s.context?.plugins?.length&&M("error",s,{hook:e,error:d})||console.error(`[DOMQL] Lifecycle "${e}" error:`,d),s.context?.strictMode)throw d}finally{f&&L(),u&&s.__ref&&(s.__ref[i]=!1)}}return!0}var Ko=V;export{vt as BEFORE_UPDATE_MAX_CONSECUTIVE_FAILURES,Ao as acquireBeforeUpdateGuard,V as create,Ko as default,Ot as flushMounts,nt as releaseBeforeUpdateGuard};
|
|
4
|
+
`):"")}}if(wt(o,!0),Yt(o,s,c),typeof o.html=="function"&&o.node&&!o.node.innerHTML){const l=o.context?.designSystem;l&&O(l);try{const _=o.html(o,o.state,o.context);_!=null&&typeof _!="function"&&(o.node.innerHTML=_)}catch{}finally{l&&D()}}if(U("Create",o,r),U("Complete",o,r),U("Render",o,r),U("RenderRouter",o,r),Rt(o,r),typeof o.onFrame=="function"){const l=o.onFrame,_=o.context?.designSystem,g=()=>{if(o.node){if(o.node.isConnected){_&&O(_);try{l(o,o.state,o.context)}catch(x){console.error("[DOMQL] onFrame error:",x)}finally{_&&D()}}requestAnimationFrame(g)}};requestAnimationFrame(g)}return o}function ao(t,s,n){const r=!s,c=n.state&&typeof n.state=="object"&&!Array.isArray(n.state)&&Object.keys(n.state).length===0,o=r&&c&&t.context?.state,a=n.state!==void 0&&!o?n.state:t.state&&!I(t.state)?t.state:void 0;if(a==null){if(s?.state)t.state=s.state,X(t,t.state);else if(t.context?.state){const i=t.context.state,e={...i},f=t.context?.polyglot;if(f?.translations){const u=i.lang||f.defaultLang||"en",d=f.translations[u];if(d&&typeof d=="object")for(const y in d)e[y]===void 0&&(e[y]=d[y]);const p=new Set(f.languages||[]);for(const y in f.translations)!p.has(y)&&e[y]===void 0&&(e[y]=f.translations[y])}t.state=I(e)?e:ft(e),t.state.__element=t,t.state.root=t.state,X(t,t.state)}else t.state={},Object.defineProperty(t.state,"root",{value:t.state,enumerable:!1,configurable:!0,writable:!0}),X(t,t.state);return}if(typeof a=="string"){if(t.state=Mt(a,s),t.state&&typeof t.state=="object"&&!I(t.state)){const i=s?.state?.root||s?.state||t.state;Object.defineProperty(t.state,"root",{value:i,enumerable:!1,configurable:!0,writable:!0})}X(t,t.state);return}if(typeof a=="function"){const i=a(t,s?.state);t.state=I(i)?i:ft(i||{})}else I(a)?t.state=a:t.state=ft({...a});t.state.__element=t,s?.state?(t.state.parent=s.state,t.state.root=s.state.root||s.state):t.state.root=t.state,X(t,t.state)}function bt(t,s){if(!s)return t;const n=s.split("/");let r=t;for(const c of n){if(r==null)return{};r=r[c]}return r??{}}function Mt(t,s){if(!s)return{};if(t===".")return s.state||{};if(t.startsWith("../")){const c=t.slice(3);return c?bt(s.state,c):s.state??{}}if(t.startsWith("~/")){const c=s.state?.root||s.state,o=t.slice(2);return o?bt(c,o):c??{}}if(s.state?.[t]!==void 0)return s.state[t];const n=bt(s.state,t);if(n!=null&&Object.keys(n).length>0)return n;const r=s.context?.polyglot;if(r?.translations){const c=s.state?.root?.lang||r.defaultLang||"en",o=r.translations[c];if(o?.[t]!==void 0)return o[t];if(r.translations[t]!==void 0)return r.translations[t]}return{}}const fo=new Set(["s","state","ctx","context"]);function uo(t){try{const n=Function.prototype.toString.call(t).match(/^[^(]*\(([^)]*)\)/);return n?n[1].split(",").map(r=>r.trim().split("=")[0].trim()).filter(Boolean):[]}catch{return[]}}function lo(t){if(typeof t!="function"||t.length!==2)return!1;const s=uo(t);if(s.length<2)return!1;const n=s[1].replace(/[{}[\]]/g,"").trim();return n.length>0&&!fo.has(n)}function po(t){const s=t.__ref,n=t.tag||"div",r=t.context?.designSystem,c=[],o=Object.keys(t);for(let a=0;a<o.length;a++){const i=o[a];if(typeof t[i]!="function"||B.has(i))continue;const e=i.charCodeAt(0);e>=65&&e<=90||z(i)||E[i]||w&&w.has(i)||pt(n,i)||(dt()&&lo(t[i])&&console.warn(`[smbls] custom prop "${i}"${t.key?` on key "${t.key}"`:""} is a function \u2014 it will be auto-invoked on read and its RETURN VALUE stored, not preserved as a callable reference. If you meant to stash a callback, use el.call('${i}', \u2026) instead of reading el.${i}(\u2026) directly (see RULES.md Rule 8).`),c.push({prop:i,fn:t[i]}))}for(let a=0;a<c.length;a++){const{prop:i,fn:e}=c[a];s.__exec[i]=e,Object.defineProperty(t,i,{get(){r&&O(r);try{return e(t,t.state,t.context)}catch{return}finally{r&&D()}},set(f){delete s.__exec[i],Object.defineProperty(t,i,{value:f,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}}function yo(t,s){if(!(!Array.isArray(s)||s.length===0))for(let n=0;n<s.length;n++){const r=s[n];try{typeof r=="function"?r(t,t.state,t.context):typeof r=="string"&&t.state?.[r]}catch{}}}function L(t,s,n){return!Array.isArray(s)||s.length===0?n:function(...r){return yo(t,s),n.apply(this,r)}}function tt(t,s){if(!(!t||Array.isArray(t)||typeof t!="object"))return t[s]}function Nt(t,s){const n=t.__ref,r=!!(s&&s.skipIfEffect);if(po(t),typeof t.text=="function"){const o=t.text,a=L(t,t.textDeps,o),i=S(()=>{if(!n.contentManaged)try{let e=a(t,t.state,t.context);t.node&&e!=null&&typeof e!="function"&&typeof e!="object"&&(typeof e=="string"&&e.includes("{{")&&(e=lt.call(t,e,t.state)),t.tag==="string"?t.node.nodeValue=e:t.node.textContent=e)}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(i),n.__exec.text=o}else if(typeof t.text=="string"&&t.text.includes("{{")){const o=t.text,a=S(()=>{if(n.contentManaged)return;const i=lt.call(t,o,t.state);i!=null&&(t.text=i),t.node&&(t.tag==="string"?t.node.nodeValue=i??"":t.node.textContent=i??"")},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(a),n.__exec.text=o}for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&typeof t[o]=="function"&&!B.has(o)&&!z(o)&&!n.__exec[o]){if(E[o]){const a=t[o],i=L(t,t[o+"Deps"],a),e=o;let f;const u=S(()=>{const d=t.context?.designSystem;d&&O(d);try{const p=i(t,t.state,t.context),y=E[e](p,t,t.state,t.context);if(y&&t.node){const h=At(y);(h===null||h!==f)&&(f=h,Y(t.node,y))}else t.node&&(e==="show"||e==="hide")&&(f=void 0,t.node.style.display="")}finally{d&&D()}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(u),n.__exec[o]=a}else if(w&&w.has(o)){const a=t[o],i=L(t,t[o+"Deps"],a),e=o;let f;const u=S(()=>{const d=t.context?.designSystem;d&&O(d);try{const p=i(t,t.state,t.context);if(t.node)if(p!=null){const y=e+":"+String(p);y!==f&&(f=y,Y(t.node,{[e]:p}))}else f=void 0,t.node.style[e]=""}finally{d&&D()}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(u),n.__exec[o]=a}}if(typeof t.html=="function"){const o=t.html,a=L(t,t.htmlDeps,o),i=S(()=>{const e=t.context?.designSystem;e&&O(e);try{const f=a(t,t.state,t.context);t.node&&f!=null&&typeof f!="function"&&(t.node.innerHTML=f)}finally{e&&D()}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(i),n.__exec.html=o}if(typeof t.value=="function"){const o=t.value,a=L(t,t.valueDeps,o),i=S(()=>{try{const e=a(t,t.state,t.context);if(!t.node||!("value"in t.node))return;const f=e==null?"":String(e);if(t.node.value===f)return;const u=typeof document<"u"&&document.activeElement===t.node,d=u&&typeof t.node.selectionStart=="number"?t.node.selectionStart:null,p=u&&typeof t.node.selectionEnd=="number"?t.node.selectionEnd:null;if(t.node.value=f,u&&d!=null&&p!=null)try{t.node.setSelectionRange(d,p)}catch{}}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(i),n.__exec.value=o}if(typeof t.style=="function"){const o=t.style,a=L(t,t.styleDeps,o);let i;const e=S(()=>{const f=a(t,t.state,t.context),u=At(f);(u===null||u!==i)&&(i=u,Y(t.node,f))},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(e),n.__exec.style=o}else if(t.style&&typeof t.style=="object")for(const o in t.style){const a=t.style[o];if(typeof a!="function")continue;const i=L(t,tt(t.styleDeps,o),a);let e;const f=S(()=>{try{const u=i(t,t.state,t.context);if(t.node){const d=o+":"+String(u);d!==e&&(e=d,Y(t.node,{[o]:u}))}}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(f)}if(t.attr&&typeof t.attr=="object"){for(const o in t.attr)if(typeof t.attr[o]=="function"){const a=L(t,tt(t.attrDeps,o),t.attr[o]),i=o,e=S(()=>{try{const f=a(t,t.state,t.context);t.node?.setAttribute&&(f==null||f===!1&&!rt(i)?t.node.removeAttribute(i):typeof f!="function"&&typeof f!="object"&&t.node.setAttribute(i,G(i,f)))}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(e)}}if(t.aria&&typeof t.aria=="object")for(const o in t.aria){if(typeof t.aria[o]!="function")continue;const a=L(t,tt(t.ariaDeps,o),t.aria[o]),i="aria-"+o.replace(/[A-Z]/g,f=>"-"+f.toLowerCase()),e=S(()=>{try{const f=a(t,t.state,t.context);if(!t.node?.setAttribute)return;f==null?t.node.removeAttribute(i):typeof f!="function"&&typeof f!="object"&&t.node.setAttribute(i,G(i,f))}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(e)}if(t.data&&typeof t.data=="object")for(const o in t.data){if(typeof t.data[o]!="function")continue;const a=L(t,tt(t.dataDeps,o),t.data[o]),e="data-"+o.replace(/[A-Z]/g,u=>"-"+u.toLowerCase()),f=S(()=>{try{const u=a(t,t.state,t.context);if(!t.node?.setAttribute)return;u==null||u===!1?t.node.removeAttribute(e):typeof u!="function"&&typeof u!="object"&&t.node.setAttribute(e,u===!0?"":u)}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(f)}const c=t.classlist&&typeof t.classlist=="object"&&!Array.isArray(t.classlist)?t.classlist:t.class&&typeof t.class=="object"&&!Array.isArray(t.class)?t.class:null;if(c)for(const o in c){if(typeof c[o]!="function")continue;const a=L(t,tt(t.classDeps,o),c[o]),i=S(()=>{try{const e=a(t,t.state,t.context);if(!t.node?.classList)return;typeof e=="string"?t.node.classList.add(e):e?t.node.classList.add(o):t.node.classList.remove(o)}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(i)}!r&&typeof t.if=="function"&&It(t,n,t.if);for(const o in t){if(!Object.prototype.hasOwnProperty.call(t,o)||B.has(o)||typeof t[o]!="function")continue;const a=o.charCodeAt(0);if(a>=65&&a<=90||z(o))continue;const i=t[o];n.__exec[o]=i;const e=t.tag||"div";if(pt(e,o)&&!E[o]&&!(w&&w.has(o))){const f=yt(o)||o,u=L(t,t[o+"Deps"],i),d=S(()=>{try{const p=u(t,t.state,t.context);t.node?.setAttribute&&(p==null||p===!1&&!rt(f)?t.node.removeAttribute(f):typeof p!="function"&&typeof p!="object"&&(f==="src"&&"src"in t.node?t.node.src=p:t.node.setAttribute(f,G(f,p))))}catch{}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(d)}}if(go(t),Ao(t),typeof t.onStateUpdate=="function"&&Array.isArray(t.stateDeps)){const o=t.onStateUpdate,a=t.stateDeps;let i=!1,e=[];const f=S(()=>{const u=[];for(let h=0;h<a.length;h++){const l=a[h];try{u[h]=typeof l=="function"?l(t,t.state,t.context):t.state?.[l]}catch{u[h]=void 0}}if(!i){i=!0,e=u;return}let d=u.length!==e.length;for(let h=0;!d&&h<u.length;h++)u[h]!==e[h]&&(d=!0);const p=e;if(e=u,!d)return;const y=t.context?.designSystem;y&&O(y);try{o(t,t.state,t.context,{prev:p,next:u})}catch(h){if(t.context?.plugins?.length&&N("error",t,{hook:"onStateUpdate",error:h})||console.error('[DOMQL] Lifecycle "onStateUpdate" error:',h),t.context?.strictMode)throw h}finally{y&&D()}},{depth:n.path.length,label:()=>n.path.join(".")});n.__effects.push(f)}xo(t)}function Ut(t){const s=t.parent,n=s?.node;if(!n||!t.node){Yt(t,t.parent);return}let r=null;const c=Object.keys(s),o=c.indexOf(t.key);for(let a=o+1;a<c.length;a++){const i=s[c[a]];if(i?.node?.parentNode===n){r=i.node;break}}r?n.insertBefore(t.node,r):n.appendChild(t.node)}function It(t,s,n){const r=L(t,t.ifDeps,n),c=S(()=>{let o;try{o=r(t,t.state,t.context)}catch(i){if(o=!1,s.__ifError=i,typeof console<"u"&&console.warn){const e=t.key||t.tag||"?";console.warn(`[smbls] \`if:\` reactive effect threw on ${e} \u2014 treating as false:`,i?.message||i)}return}const a=s.__if;if(s.__if=!!o,a&&!s.__if&&t.node)t.node.remove();else if(!a&&s.__if)if(s.__ifInitialized)t.node||(t.node=ut(t)),t.node&&(t.node.ref=t),Ut(t),xt(t);else{if(s.__ifInitialized=!0,t.tag||(t.tag=Dt(t)),U("Init",t,{}),t.node||(t.node=ut(t)),!t.node)return;if(t.parent?.__ref?.__children&&!t.parent.__ref.__children.includes(t.key)&&t.parent.__ref.__children.push(t.key),t.tag==="fragment"&&!s.__fragmentAnchor){const e=(t.context?.document||globalThis.document).createComment("");t.node.appendChild(e),s.__fragmentAnchor=e}U("AttachNode",t,{}),t.node.setAttribute&&t.key&&t.node.setAttribute("data-key",t.key),t.id&&t.node.setAttribute&&(t.node.id=t.id),Gt(t,{}),Nt(t,{skipIfEffect:!0}),xt(t),Ht(t),zt(t,{}),Ut(t),Rt(t,{})}},{depth:s.path.length,label:()=>s.path.join(".")});s.__effects.push(c)}function xt(t){const{node:s}=t;if(s){if(typeof t.text=="string"&&!t.text.includes("{{")?t.tag==="string"?s.nodeValue=t.text:s.textContent=t.text:typeof t.text=="number"&&(s.textContent=t.text),ko(t),typeof t.html=="string"&&(s.innerHTML=t.html),t.value!=null&&typeof t.value!="function"&&"value"in s){const n=String(t.value);s.value!==n&&(s.value=n)}if(t.style&&typeof t.style=="object"&&Y(s,t.style),t.attr&&typeof t.attr=="object")for(const n in t.attr){const r=t.attr[n];typeof r=="function"||typeof r=="object"||r!=null&&(r===!1&&!rt(n)||s.setAttribute&&s.setAttribute(n,G(n,r)))}if(t.data&&typeof t.data=="object")for(const n in t.data){const r=t.data[n];typeof r=="function"||typeof r=="object"||r==null||r===!1||s.dataset&&(s.dataset[n]=r===!0?"":r)}if(t.classlist||t.class){const n=t.classlist||t.class;if(typeof n=="string")n.split(" ").forEach(r=>r&&s.classList.add(r));else if(typeof n=="object")for(const r in n){const c=typeof n[r]=="function"?n[r](t,t.state,t.context):n[r];c&&s.classList.add(typeof c=="string"?c:r)}}}}function At(t){if(t==null||typeof t!="object")return"s:"+String(t);try{return"o:"+JSON.stringify(t)}catch{return null}}function Y(t,s){if(!t||!s||!t.style)return;let n=null;for(const r in s){const c=s[r];if(c!=null){if(r.charAt(0)==="&"&&typeof c=="object"){n||(n={}),n[r]=c;continue}try{const o=String(c),a=r.replace(/[A-Z]/g,u=>"-"+u.toLowerCase()),i=o.trim(),e=/\s*!important\s*$/.test(i),f=i.replace(/\s*!important\s*$/,"");t.style.setProperty(a,f,e?"important":"")}catch{}}}n&&_o(t,n)}let ho=0;function _o(t,s){const n=`_ds${ho++}`;t.classList.add(n);const r=t.ownerDocument;let c=r.querySelector("style[data-smbls-scoped]");c||(c=r.createElement("style"),c.setAttribute("data-smbls-scoped",""),r.head.appendChild(c));let o="";for(const a in s){const i="."+n,e=a.replace(/&/g,i).split(",").map(u=>{const d=u.trim();return d.includes(i)?d:i+d}).join(", "),f=s[a];if(typeof f=="object"){let u="",d="";for(const p in f){const y=f[p];if(typeof y=="object"){const h=p.includes("&")?e.split(", ").map(_=>p.replace(/&/g,_)).join(", "):e.split(", ").map(_=>`${_} ${p}`).join(", ");let l="";for(const _ in y)l+=`${_.replace(/[A-Z]/g,g=>"-"+g.toLowerCase())}: ${y[_]};`;d+=Lt(`${h} { ${l} }`,h)+`
|
|
5
|
+
`}else u+=`${p.replace(/[A-Z]/g,h=>"-"+h.toLowerCase())}: ${y};`}u&&(o+=Lt(`${e} { ${u} }`,e)+`
|
|
6
|
+
`),d&&(o+=d)}}o&&(c.textContent+=o)}function go(t){let s=t.subscribeTo;if(typeof s=="function")try{s=s(t,t.state,t.context)}catch{s=null}if(!Array.isArray(s)||s.length===0)return;const n=t.__ref;for(let r=0;r<s.length;r++){const c=s[r];if(typeof c!="string"||c.length===0)continue;const o=c.split("."),a=o[0],i=o.slice(1),e={value:!1},f=S(()=>{const u=t.state&&(I(t.state)?t.state.root:null);if(!u||!I(u))return;let d=u;d=d[a];for(let y=0;y<i.length&&!(d==null||typeof d!="object");y++)if(I(d))d=d[i[y]];else break;if(!e.value)return;let p=!1;if(typeof t.onBeforeUpdate=="function"){const y=t.context?.designSystem;y&&O(y);try{if(vo(n)){const h=t.onBeforeUpdate(t,t.state,t.context,{updateBySubscription:!0});h&&typeof h.then=="function"?h.then(()=>it(n,!1),l=>{it(n,!0),t.context?.plugins?.length&&N("error",t,{hook:"onBeforeUpdate",error:l})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",l)}):(it(n,!1),h===!1&&(p=!0))}}catch(h){it(n,!0),t.context?.plugins?.length&&N("error",t,{hook:"onBeforeUpdate",error:h})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",h)}finally{y&&D()}}if(!p&&t.node&&n.__effects)for(let y=0;y<n.__effects.length;y++){const h=n.__effects[y];h&&h!==f&&!h._disposed&&!h._isSubscribeToEffect&&typeof h._execute=="function"&&h._execute()}if(!p&&typeof t.onUpdate=="function"){const y=t.context?.designSystem;y&&O(y);try{t.onUpdate(t,t.state,t.context)}catch(h){t.context?.plugins?.length&&N("error",t,{hook:"onUpdate",error:h})||console.error("[DOMQL] subscribeTo onUpdate error:",h)}finally{y&&D()}}},{depth:n.path.length,label:()=>n.path.join(".")});e.value=!0,f._isSubscribeToEffect=!0,n.__effects.push(f)}}function Ct(t,s){return t.charCodeAt(0)===64&&t.length>1&&!t.startsWith("@media")&&!t.startsWith("@keyframes")&&!t.startsWith("@supports")&&(t==="@dark"||t==="@light"||!s.context?.designSystem?.media?.[t.slice(1)])}const Bt=new Set;function bo(t,s){const n=s?.__ref?.path?s.__ref.path.join("."):s?.key||"?",r=n+"::"+t;Bt.has(r)||(Bt.add(r),console.warn(`[smbls/css] "${t}" at ${n} is a CHILD-COMPONENT key nested inside a pseudo/selector block (":hover", "@dark", etc.) \u2014 that is never a valid CSS selector fragment. The rule is DROPPED (not shipped as a dead/never-matching selector). To reveal a child on a parent state, target the child's OWN class from the parent selector instead, e.g. move the declaration onto the child element itself, or use a sibling-selector combinator in a top-level style block.`))}function Q(t,s,n){const r={},c=new Set,o=(a,i,e)=>{const f=e?new Set(Object.keys(r)):null;if(E[a]){const u=E[a](i,s,s.state,s.context);if(u){const d=Array.isArray(u)?u:[u];for(const p of d)p&&Object.assign(r,p)}}else r[a]=i;if(e)for(const u in r)f.has(u)||c.add(u)};for(const a in t){if(!Object.prototype.hasOwnProperty.call(t,a))continue;let i=t[a];if(typeof i=="function"&&(i=i(s,s.state,s.context)),i==null||typeof i=="function")continue;if(typeof i=="object"&&!Array.isArray(i)){if(a==="style"){for(const d in i){let p=i[d];if(typeof p=="function"&&(p=p(s,s.state,s.context)),p==null||typeof p=="function")continue;const y=typeof s[d]=="function"&&(E[d]||w&&w.has(d));o(d,p,y)}continue}if(Ct(a,s)){const d=Q(i,s,!1);Object.keys(d).length&&(r[`[data-theme="${a.slice(1)}"] &`]=d);continue}if(/^[A-Z][A-Za-z0-9]*$/.test(a)){dt()&&bo(a,s);continue}let f=a;if(a.charCodeAt(0)===64&&!a.startsWith("@media")&&!a.startsWith("@keyframes")){const d=s.context?.designSystem?.media?.[a.slice(1)];d&&(f=`@media ${d}`)}const u=Q(i,s,!1);Object.keys(u).length&&(r[f]=u);continue}const e=typeof s[a]=="function"&&(E[a]||w&&w.has(a));o(a,i,e)}if(n)for(const a in r)c.add(a);for(const a of c){const i=r[a];typeof i=="string"&&!i.includes("!important")&&(r[a]=i+" !important")}return r}function kt(t,s){if(s===void 0&&(s=0),s>8)return!1;if(typeof t=="function")return!0;if(t&&typeof t=="object"&&!Array.isArray(t)){for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&kt(t[n],s+1))return!0}return!1}function Kt(t,s,n){if(!s||typeof s!="object"||Array.isArray(s))return null;if(Ct(t,n)){const o=Q(s,n,!1);return Object.keys(o).length?{cssProp:`[data-theme="${t.slice(1)}"] &`,block:o}:null}let r=t;if(t.charAt(0)==="@"&&!t.startsWith("@media")&&!t.startsWith("@keyframes")){const o=n.context?.designSystem?.media?.[t.slice(1)];o&&(r=`@media ${o}`)}const c=Q(s,n,!1);return Object.keys(c).length?{cssProp:r,block:c}:null}function xo(t){const s=t.__ref;for(const n in t){if(!Object.prototype.hasOwnProperty.call(t,n)||!gt(n))continue;const r=t[n];if(!r||typeof r!="object"||Array.isArray(r)||!kt(r))continue;let c=null,o;const a=S(()=>{if(!t.node)return;const i=t.context?.designSystem;i&&O(i);let e,f=!1;try{const u=Kt(n,r,t),d=u?At(u.block)+"::"+u.cssProp:null;if(d!==null&&d===o)f=!0;else if(o=d,u){const p=nt({[u.cssProp]:u.block},null,t.context?.cssPrefix);e=p?p.split(" ").filter(Boolean):null}else e=null}finally{i&&D()}if(!(f||!t.node.classList)){if(c)for(const u of c)t.node.classList.remove(u);if(e&&e.length)for(const u of e)t.node.classList.add(u);c=e}},{depth:s.path.length,label:()=>s.path.join(".")});s.__effects.push(a)}}function Ao(t){const s=t.__ref;s.__conditionalRunners=[];const n=new Map;for(const r in t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;const c=r.charAt(0);if(c!=="."&&c!=="!")continue;const o=r.slice(1);if(!o)continue;if(/[:@\s>~+[\]]/.test(o)){if(typeof console<"u"&&console.warn){const d=o.split(/[:@\s>~+[\]]/)[0];console.warn(`[smbls] conditional \`${r}\` on ${t.key||"?"} will never match \u2014 the whole string after \`${c}\` is read as one prop name. Nest the selector inside instead: \`${c}${d}: { '${o.slice(d.length)}': {...} }\`.`)}continue}const a=t[r];if(!a||typeof a!="object")continue;const i=c==="!",e={lastMatch:!1,appliedKeys:null,appliedClasses:null},f=()=>{let d;const p=t[o];if(p===void 0){const l=!!t.state&&o in t.state,_=t.state?t.state[o]:void 0;if(l||_!==void 0)d=_;else{const g=t.context?.cases?.[o];if(g===void 0)return;try{d=typeof g=="function"?g.call(t,t):g}catch(x){d=!1,s.__conditionalError=x,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` case fn threw on ${t.key||"?"} \u2014 treating as false:`,x?.message||x)}}}else if(typeof p=="function")try{d=p(t,t.state,t.context)}catch(l){d=!1,s.__conditionalError=l,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` predicate threw on ${t.key||"?"} \u2014 treating as false:`,l?.message||l)}else d=p;const y=i?!d:!!d;if(!t.node||y===e.lastMatch)return;e.lastMatch=y;const h=t.context?.designSystem;h&&O(h);try{if(y){const l={},_={};let g=!1;for(const b in a){if(!Object.prototype.hasOwnProperty.call(a,b))continue;const v=a[b],k=b.charAt(0);if((k===":"||k==="@"||k==="&")&&v&&typeof v=="object"&&!Array.isArray(v)){if(Ct(b,t)){const T=Q(v,t,!1);Object.keys(T).length&&(_[`[data-theme="${b.slice(1)}"] &`]=T,g=!0)}else{let T=b;if(k==="@"&&!b.startsWith("@media")&&!b.startsWith("@keyframes")){const K=t.context?.designSystem?.media?.[b.slice(1)];K&&(T=`@media ${K}`)}const H=Q(v,t,!1);Object.keys(H).length&&(_[T]=H,g=!0)}continue}const j=typeof v=="function"?v(t,t.state,t.context):v;if(j!=null)if(E[b]){const T=E[b](j,t,t.state,t.context);if(T){const H=Array.isArray(T)?T:[T];for(const K of H)K&&Object.assign(l,K)}}else w&&w.has(b)&&(l[b]=j)}const x=Object.keys(l);if(x.length){Y(t.node,l);for(const b of x)n.set(b,r);e.appliedKeys=x}else e.appliedKeys=null;if(g){const b=nt(_,null,t.context?.cssPrefix),v=b?b.split(" ").filter(Boolean):[];if(v.length&&t.node.classList){for(const k of v)t.node.classList.add(k);e.appliedClasses=v}else e.appliedClasses=null}else if(e.appliedClasses){for(const b of e.appliedClasses)t.node.classList.remove(b);e.appliedClasses=null}}else{if(e.appliedKeys){for(const l of e.appliedKeys)n.get(l)===r&&(t.node.style[l]="",n.delete(l));e.appliedKeys=null}if(e.appliedClasses){for(const l of e.appliedClasses)t.node.classList.remove(l);e.appliedClasses=null}}}finally{h&&D()}};s.__conditionalRunners.push(f);const u=S(f,{depth:s.path.length,label:()=>s.path.join(".")});s.__effects.push(u)}}const St=new WeakSet;function Co(t){const s=t.ownerDocument;!s||St.has(s)||(St.add(s),queueMicrotask(()=>{St.delete(s);const n=s.body||s.documentElement;n&&n.offsetWidth}))}const jt=new WeakSet;let Vt=!1;function ko(t){const{node:s}=t;if(!s)return;if(Vt||(Vt=!0,nt({display:"none"})),jt.has(t)){console.error("[applyCssInProps] re-entry detected for element",t.key,"prop path:",t.__ref?.path);return}jt.add(t);const n=t.context?.designSystem;n&&O(n);try{const r={};let c=!1;if(Object.prototype.hasOwnProperty.call(t,"theme")&&typeof t.theme!="function"&&E.theme){const o=E.theme(t.theme,t,t.state,t.context);if(o){if(Array.isArray(o))for(const a of o)a&&Object.assign(r,a);else Object.assign(r,o);c=!0}}for(const o in t){if(!Object.prototype.hasOwnProperty.call(t,o)||typeof t[o]=="function"||B.has(o)||o==="theme")continue;const a=o.charCodeAt(0);if(!(a>=65&&a<=90)&&!z(o)){if(E[o]){const i=t[o],e=E[o](i,t,t.state,t.context);if(e){if(Array.isArray(e))for(const f of e)f&&Object.assign(r,f);else Object.assign(r,e);c=!0}}else if(w&&w.has(o)){const i=t[o];i!=null&&typeof i!="object"&&(r[o]=i,c=!0)}else if(o.charCodeAt(0)===45){const i=t[o];i!=null&&typeof i!="object"&&(r[o]=i,c=!0)}else if(o.charAt(0)==="&"||o.charAt(0)==="@"||o.charAt(0)===":"){const i=t[o];if(i&&typeof i=="object"&&!Array.isArray(i)){if(kt(i))continue;const e=Kt(o,i,t);e&&(r[e.cssProp]=e.block,c=!0)}}}}if(c){r.display&&String(r.display).includes("!important")&&(s.style.setProperty("display",String(r.display).replace(/\s*!important\s*$/,""),"important"),delete r.display);const o=nt(r,null,t.context?.cssPrefix);if(o&&s.classList){const i=o.split(" ").filter(Boolean);let e=!1;for(const f of i)s.classList.add(f),e||(f.charCodeAt(0)===95&&f.charCodeAt(1)===99||f.charCodeAt(0)===95&&f.indexOf("_c",1)!==-1)&&(e=!0);e&&Co(s)}const a=t.display!=null&&typeof t.display!="function"?t.display:t.hide===!0||t.show===!1?"none":null;if(a!=null){const i=r.display;if(i&&i!==a)if(a==="none"){const e=[];for(const f of s.classList)f.startsWith("_d-")&&f!=="_d-none"&&e.push(f);for(const f of e)s.classList.remove(f);s.classList.add("_d-none")}else s.style.display=t.display}}}finally{n&&D(),jt.delete(t)}}function Ht(t){const{node:s}=t;if(!s||!s.setAttribute)return;if(t.aria&&typeof t.aria=="object")for(const c in t.aria){const o=t.aria[c];if(typeof o=="function"||typeof o=="object"||o==null)continue;const a="aria-"+c.replace(/[A-Z]/g,i=>"-"+i.toLowerCase());s.setAttribute(a,G(a,o))}const n=to(t);for(const c in n){const o=n[c];o!=null&&o!==!1&&typeof o!="function"&&typeof o!="object"&&s.setAttribute(c,o===!0?"":o)}const r=t.tag||"div";for(const c in t){if(!Object.prototype.hasOwnProperty.call(t,c)||typeof t[c]=="function"||B.has(c)||c==="on"||n[c]!==void 0)continue;const o=c.charCodeAt(0);if(!(o>=65&&o<=90)&&!z(c)&&!(E[c]||w&&w.has(c))&&pt(r,c)){let a=t[c];if(a==null||(typeof a=="string"&&a.includes("{{")&&(a=lt(a,t,t.state,t.context),t[c]=a),a==null||typeof a=="function"||typeof a=="object")||a===!1&&!rt(yt(c)||c))continue;const i=yt(c)||c;s.setAttribute(i,G(i,a))}}}function So(t){if(!t.autoGrow)return;const s=t.node;if(!s||s.tagName!=="TEXTAREA")return;const n=t.autoGrow,r=n&&typeof n=="object"&&n.max?String(n.max):null;r&&(s.style.maxHeight=r);const c=()=>{s.style.height="auto",s.style.height=s.scrollHeight+"px"};c(),s.addEventListener("input",c),t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{try{s.removeEventListener("input",c)}catch{}})}const Wt=new Set(["onSwipe","onSwipeLeft","onSwipeRight","onSwipeUp","onSwipeDown"]);function Gt(t,s){for(const n in t){if(!Object.prototype.hasOwnProperty.call(t,n)||!z(n)||Wt.has(n))continue;let r=t[n];if(typeof r=="string"&&/^[A-Za-z_$][\w$]*$/.test(r)){const o=r;r=function(i){return t.call(o,i)}}if(typeof r!="function")continue;const c=eo(n);qt.has(c)||Xt(co(c),t,r)}jo(t)}function jo(t){const s=t.node;if(!s||!s.addEventListener)return;const n={};let r=!1;for(const p of Wt){const y=t[p];typeof y=="function"&&(n[p]=y,r=!0)}if(!r)return;const c=typeof t.swipeThreshold=="number"?t.swipeThreshold:40,o=typeof t.swipeMaxDuration=="number"?t.swipeMaxDuration:600;let a=0,i=0,e=0,f=!1;const u=p=>{const y=p.touches&&p.touches[0]||p.changedTouches&&p.changedTouches[0];y&&(a=y.clientX,i=y.clientY,e=Date.now(),f=!0)},d=p=>{if(!f)return;f=!1;const y=p.changedTouches&&p.changedTouches[0]||p.touches&&p.touches[0];if(!y)return;const h=y.clientX-a,l=y.clientY-i,_=Date.now()-e;if(_>o)return;const g=Math.abs(h),x=Math.abs(l);if(Math.max(g,x)<c)return;let b;if(g>x*1.2)b=h<0?"left":"right";else if(x>g*1.2)b=l<0?"up":"down";else return;const v="onSwipe"+b.charAt(0).toUpperCase()+b.slice(1),k=n[v],j=n.onSwipe;k&&k.call(t,p,t,t.state,t.context),j&&j.call(t,{direction:b,dx:h,dy:l,dt:_,event:p},t,t.state,t.context)};s.addEventListener("touchstart",u,{passive:!0}),s.addEventListener("touchend",d,{passive:!0}),t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{try{s.removeEventListener("touchstart",u)}catch{}try{s.removeEventListener("touchend",d)}catch{}})}function ot(t,s){const n={...t};for(const r in s){const c=n[r],o=s[r];c&&o&&typeof c=="object"&&typeof o=="object"&&!Array.isArray(c)&&!Array.isArray(o)&&typeof c!="function"&&typeof o!="function"?n[r]=ot(c,o):n[r]=o}return n}function vt(t,s,n){if(!s||!t.node)return;const r=t.childExtends;if(Array.isArray(s)){const c=t.tag==="fragment",o=t.context?.document||globalThis.document,a=c?null:o?.createDocumentFragment();if(!c&&!a)return;const i=t.childProps,e=t.childrenAs;for(let f=0;f<s.length;f++){let u=s[f];const d=u;(typeof u=="string"||typeof u=="number")&&(u={text:u});let p=i;if(typeof i=="function")try{p=i(t,u)}catch{p=null}if(e==="state"){let l=d;(typeof d=="string"||typeof d=="number")&&(l={value:d,text:d}),u=p?{...p,state:l}:{state:l}}else p&&(u=ot(p,u));if(r&&!u.ignoreChildExtends)if(u.extends){const l=Array.isArray(u.extends)?u.extends:[u.extends],_=Array.isArray(r)?r:[r];u={...u,extends:[..._,...l]}}else u={...u,extends:r};const y=u?.key||d&&typeof d=="object"&&d.key||`${f}`;let h;try{h=V(u,t,y,n)}catch(l){if(typeof console<"u"&&console.error){const _=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${y}" failed to construct at ${_} (initial render, skipping this row):`,l?.message||l)}continue}!c&&h?.node&&a.appendChild(h.node)}return c||t.node.appendChild(a),!0}if(typeof s=="string"){const c=Mt(s,t);if(Array.isArray(c))return vt(t,c,n)}if(typeof s=="object")for(const c in s){if(B.has(c))continue;let o=s[c];if(!(o==null||o===!1)){if((typeof o=="string"||typeof o=="number")&&(o={text:o}),t.childProps&&(o=ot(t.childProps,o)),r&&!o.ignoreChildExtends)if(o.extends){const a=Array.isArray(o.extends)?o.extends:[o.extends],i=Array.isArray(r)?r:[r];o={...o,extends:[...i,...a]}}else o={...o,extends:r};V(o,t,c,n)}}}function wt(t,s){const n=t.node;if(!n||n.tagName!=="SELECT")return;const r=n.options;if(!r||!r.length)return;const c=t.__ref,o=c&&c.__exec&&c.__exec.value,a=typeof o=="function",i=t.value!=null&&typeof t.value!="function";if(a||i){let u;if(a)try{u=o(t,t.state,t.context)}catch{return}else u=t.value;const d=u==null?"":String(u);n.value!==d&&(n.value=d);return}const e=s||!(c&&c.__selectSynced);if(c&&(c.__selectSynced=!0),!e)return;let f=-1;for(let u=0;u<r.length;u++)r[u].defaultSelected&&(f=u);f>=0&&n.selectedIndex!==f&&(n.selectedIndex=f)}function zt(t,s){let{children:n,content:r}=t;const c=t.childExtends;if(typeof n=="function"){const i=n;try{n=i(t,t.state,t.context)}catch(p){if(n=void 0,typeof console<"u"&&console.error){const y=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${y} (initial run, treating as empty):`,p?.message||p)}}t.children=n;const e=t.__ref;let f=!1;const u=L(t,t.childrenDeps,i),d=S(()=>{const p=f;f=!0;let y;try{y=u(t,t.state,t.context)}catch(k){if(typeof console<"u"&&console.error){const j=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${j}${p?"":" (initial tracking run)"}:`,k?.message||k)}return}if(!p||y===t.children)return;t.children=y;const h=typeof t.onContentUpdate=="function",l=h?[]:null,_=h?[]:null,g=h?[]:null;if(Array.isArray(y)&&t.childrenAs==="state"){const k=t.childProps,j=[],T=new Map;for(let A=0;A<y.length;A++){const $=y[A];let C=k;if(typeof k=="function")try{C=k(t,$)}catch{C=null}const F=C&&C.key||$&&$.key||`${A}`;j.push(F),T.set(F,{rawChild:$,childProps:C})}const H=new Set(j),K=e.__children.slice();for(const A of K)if(!H.has(A)){const $=t[A];$?.remove&&$.remove(),delete t[A],_&&_.push(A)}const Z=t.childExtends,st=t.tag==="fragment",Qt=t.context?.document||globalThis.document,q=st?null:Qt?.createDocumentFragment(),et=new Set;for(const A of j){const $=T.get(A),C=$.rawChild,F=t[A];if(F&&F.state){if(C&&typeof C=="object"){const P=F.state,W=P.$replace||P.replace,Ot=P.$update||P.update;if(typeof W=="function")W.call(P,C);else if(typeof Ot=="function"){for(const M in P)if(!(M==="__element"||M==="root"||M==="parent"||M==="update")&&!Object.prototype.hasOwnProperty.call(C,M))try{P[M]=void 0}catch{}Ot.call(P,C)}else for(const M in C)P[M]=C[M]}g&&g.push(A);continue}let ct=C;(typeof C=="string"||typeof C=="number")&&(ct={value:C,text:C});const Pt=$.childProps;let R=Pt?{...Pt,state:ct}:{state:ct};if(Z&&!R.ignoreChildExtends)if(R.extends){const P=Array.isArray(R.extends)?R.extends:[R.extends],W=Array.isArray(Z)?Z:[Z];R={...R,extends:[...W,...P]}}else R={...R,extends:Z};let at;try{at=V(R,t,A,s)}catch(P){if(typeof console<"u"&&console.error){const W=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${A}" failed to construct at ${W} (reconcile, skipping this row):`,P?.message||P)}et.add(A);continue}!st&&at?.node&&q&&q.appendChild(at.node),l&&l.push(A)}if(!st&&q&&q.childNodes.length&&t.node&&t.node.appendChild(q),!st&&t.node){let A=null;for(const $ of j){const C=t[$]?.node;if(!C)continue;const F=A?A.nextSibling:t.node.firstChild;C!==F&&t.node.insertBefore(C,F),A=C}}e.__children=et.size?j.filter(A=>!et.has(A)):j,h&&(l.length||_.length)&&Ft(t,{added:l,removed:_,kept:g}),wt(t,!1);return}const v=h?[...e.__children]:null;for(const k of[...e.__children]){const j=t[k];j?.remove&&j.remove(),delete t[k]}e.__children=[],vt(t,y,s),wt(t,!1),h&&Ft(t,{added:[...e.__children],removed:v,kept:[]})},{depth:e.path.length,label:()=>e.path.join(".")});e.__effects.push(d)}const o=vt(t,n,s);if(r!=null&&!(r&&r.__ref)){let i=r;if(typeof i=="string"||typeof i=="number"?i={text:i}:typeof i!="object"&&(i={}),t.childProps&&(i=ot(t.childProps,i)),c&&!i.ignoreChildExtends)if(i.extends){const e=Array.isArray(i.extends)?i.extends:[i.extends],f=Array.isArray(c)?c:[c];i={...i,extends:[...f,...e]}}else i={...i,extends:c};V(i,t,"content",s)}if(n&&!o)return;const a=t.context?.components||{};{const i=Object.keys(t);for(let e=0;e<i.length;e++){const f=i[e];if(!f.endsWith("Extends")||typeof t[f]!="string")continue;const u=f.slice(0,-7);if(!u||u.charCodeAt(0)<65||u.charCodeAt(0)>90)continue;const d={extends:t[f]};delete t[f];for(let p=e+1;p<i.length;p++){const y=i[p],h=y.charCodeAt(0);if(h>=65&&h<=90||B.has(y)||typeof t[y]=="function"&&(y.startsWith("on")||y.startsWith(".")))break;const l=t[y];l!==void 0&&(d[y]=l,delete t[y])}t[u]&&typeof t[u]=="object"?t[u]={...d,...t[u]}:t[u]=d}}for(const i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||B.has(i)||typeof t[i]!="object"||t[i]===null)continue;const e=i.charCodeAt(0);if(e<65||e>90)continue;let f=t[i];if(!f.__ref){if(!f.extends&&!f.extend){const u=a[i]||a[`smbls.${i}`];u&&(f={...f,extends:u})}if(t.childProps&&(f=ot(t.childProps,f)),c&&!f.ignoreChildExtends)if(f.extends){const u=Array.isArray(f.extends)?f.extends:[f.extends],d=Array.isArray(c)?c:[c];f={...f,extends:[...d,...u]}}else f={...f,extends:c};V(f,t,i,s)}}}function Yt(t,s,n){const{node:r}=t;if(!r)return;r.ref=t;const c=s?.tag==="fragment"?s.__ref?.__fragmentAnchor:null;if(c){const a=c.parentNode;if(a){if(n?.position==="before"&&n.node)a.insertBefore(r,n.node);else if(n?.position==="after"&&n.node){const i=n.node.nextSibling;a.insertBefore(r,i||c)}else a.insertBefore(r,c);return}}const o=s?.node||(s?.nodeType?s:null);if(o)if(n?.position==="before"&&n.node)o.insertBefore(r,n.node);else if(n?.position==="after"&&n.node){const a=n.node.nextSibling;a?o.insertBefore(r,a):o.appendChild(r)}else o.appendChild(r)}const Et=3;function vo(t){return!t||t.__inBeforeUpdate||(t.__beforeUpdateFailCount||0)>=Et?!1:(t.__inBeforeUpdate=!0,!0)}function it(t,s){t&&(t.__inBeforeUpdate=!1,s?(t.__beforeUpdateFailCount=(t.__beforeUpdateFailCount||0)+1,t.__beforeUpdateFailCount===Et&&typeof console<"u"&&console.error&&console.error(`[DOMQL] onBeforeUpdate failed ${Et}x in a row on this element \u2014 pausing automatic retries until a future prop/state change re-arms it.`)):t.__beforeUpdateFailCount=0)}function U(t,s,n){const r=t.charAt(0).toLowerCase()+t.slice(1);s.context?.plugins?.length&&N(r,s,n);const c="on"+t,o=s[c];if(typeof o=="function"){const e=t==="Render"?"__inRender":t==="RenderRouter"?"__inRenderRouter":null;if(e){if(s.__ref[e])return!0;s.__ref[e]=!0}const f=s.context?.designSystem;f&&O(f);let u=!!e;try{const d=o(s,s.state,s.context,n);if(d&&typeof d.then=="function"){const p=s.__ref;return d.catch(y=>{s.context?.plugins?.length&&N("error",s,{hook:c,error:y})||console.error(`[DOMQL] Lifecycle "${c}" error:`,y)}).finally(()=>{e&&p&&(p[e]=!1)}),u=!1,!0}if(d===!1)return!1}catch(d){if(s.context?.plugins?.length&&N("error",s,{hook:c,error:d})||console.error(`[DOMQL] Lifecycle "${c}" error:`,d),s.context?.strictMode)throw d}finally{f&&D(),u&&s.__ref&&(s.__ref[e]=!1)}}return!0}var zo=V;export{Et as BEFORE_UPDATE_MAX_CONSECUTIVE_FAILURES,vo as acquireBeforeUpdateGuard,V as create,zo as default,_t as flushMounts,it as releaseBeforeUpdateGuard};
|
package/dist/esm/src/update.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{batch as a,isStore as y}from"@symbo.ls/signal";import{REGISTRY as _}from"./registry.js";import{create as h,acquireBeforeUpdateGuard as x,releaseBeforeUpdateGuard as s}from"./create.js";import{runPluginHook as l}from"@symbo.ls/utils/function.js";import{serializeAttrValue as g}from"attrs-in-props";function
|
|
1
|
+
import{batch as a,isStore as y}from"@symbo.ls/signal";import{REGISTRY as _}from"./registry.js";import{create as h,acquireBeforeUpdateGuard as x,releaseBeforeUpdateGuard as s}from"./create.js";import{runPluginHook as l}from"@symbo.ls/utils/function.js";import{serializeAttrValue as b,isEnumeratedTrueFalseAttr as g}from"attrs-in-props";function p(n={},r={}){const e=this,f=e.__ref;if(!f)return;if((typeof n=="string"||typeof n=="number")&&(n={text:n}),!r.preventListeners&&typeof e.onBeforeUpdate=="function"&&x(f))try{const t=e.onBeforeUpdate(e,e.state,e.context,r);if(t&&typeof t.then=="function")t.then(()=>s(f,!1),o=>{s(f,!0),e.context?.plugins?.length&&l("error",e,{hook:"onBeforeUpdate",error:o})||console.error("[DOMQL] onBeforeUpdate error:",o)});else if(s(f,!1),t===!1)return e}catch(t){throw s(f,!0),t}const d=!n||Object.keys(n).length===0;if(a(()=>{if(n.state&&y(e.state)&&e.state.$update(n.state),n.text!==void 0&&(e.text=n.text,!f.__exec.text&&e.node&&(e.tag==="string"?e.node.nodeValue=n.text??"":e.node.textContent=n.text??"")),n.html!==void 0&&(e.html=n.html,!f.__exec.html&&e.node&&(e.node.innerHTML=n.html)),n.style&&e.node?.style){if(!f.__exec.style)for(const t in n.style){const o=n.style[t];if(o==null)continue;const i=t.replace(/[A-Z]/g,u=>"-"+u.toLowerCase()),c=String(o).replace(/\s*!important\s*$/,"");e.node.style.setProperty(i,c,"important")}e.style||(e.style={}),Object.assign(e.style,n.style)}if(n.attr&&e.node?.setAttribute){for(const t in n.attr){const o=n.attr[t];o==null||o===!1&&!g(t)?e.node.removeAttribute(t):typeof o!="function"&&typeof o!="object"&&e.node.setAttribute(t,b(t,o))}e.attr||(e.attr={}),Object.assign(e.attr,n.attr)}if(n.data&&e.node?.dataset){for(const t in n.data)e.node.dataset[t]=n.data[t];e.data||(e.data={}),Object.assign(e.data,n.data)}for(const t in n){if(_.has(t)||t==="state")continue;const o=n[t],i=e[t];if(i&&i.__ref&&typeof i.update=="function")i.update(o,r);else if(typeof o=="object"&&o!==null){const c=t.charCodeAt(0);c>=65&&c<=90&&h(o,e,t,r)}else t!=="text"&&t!=="html"&&t!=="style"&&t!=="attr"&&t!=="data"&&(e[t]=o)}}),e.node&&d&&f.__effects&&f.__effects.length)for(let t=0;t<f.__effects.length;t++){const o=f.__effects[t];o&&!o._disposed&&!o._isSubscribeToEffect&&typeof o._execute=="function"&&o._execute()}else if(e.node&&f.__conditionalRunners)for(const t of f.__conditionalRunners)t();return l("update",e),!r.preventListeners&&typeof e.onUpdate=="function"&&e.onUpdate(e,e.state,e.context,r),e}var k=p;export{k as default,p as update};
|