@symbo.ls/element 3.14.784 → 3.14.786
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/create.js +4 -4
- package/dist/cjs/src/methods.js +1 -1
- package/dist/cjs/src/update.js +1 -1
- package/dist/cjs/src/version.js +1 -1
- package/dist/esm/src/create.js +4 -4
- package/dist/esm/src/methods.js +1 -1
- package/dist/esm/src/update.js +1 -1
- package/dist/esm/src/version.js +1 -1
- package/package.json +4 -2
package/dist/cjs/src/create.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";var Ct=Object.defineProperty;var
|
|
1
|
+
"use strict";var Ct=Object.defineProperty;var po=Object.getOwnPropertyDescriptor;var yo=Object.getOwnPropertyNames;var ho=Object.prototype.hasOwnProperty;var _o=(t,e)=>{for(var s in e)Ct(t,s,{get:e[s],enumerable:!0})},go=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of yo(e))!ho.call(t,n)&&n!==s&&Ct(t,n,{get:()=>e[n],enumerable:!(r=po(e,n))||r.enumerable});return t};var bo=t=>go(Ct({},"__esModule",{value:!0}),t);var Wo={};_o(Wo,{BEFORE_UPDATE_MAX_CONSECUTIVE_FAILURES:()=>gt,acquireBeforeUpdateGuard:()=>co,create:()=>W,default:()=>Ho,flushMounts:()=>_t,reconcileAttrProp:()=>Bo,releaseBeforeUpdateGuard:()=>ut,writeElementText:()=>at});module.exports=bo(Wo);var R=require("@symbo.ls/signal"),E=require("@symbo.ls/signal"),q=require("./cache.js"),U=require("./registry.js"),ot=require("./delegate.js"),eo=require("./extends.js"),no=require("./methods.js"),Zo=require("./dispose.js"),m=require("./devRuntime.js"),I=require("./mountScheduler.js"),H=require("@symbo.ls/utils"),K=require("@symbo.ls/utils/function.js"),tt=require("@symbo.ls/state"),A=require("css-in-props"),G=require("@symbo.ls/css"),k=require("@symbo.ls/scratch"),S=require("attrs-in-props"),ro=require("./engineRegistry.js"),io=require("./version.js");const Ft=(0,ro.resolveElementIdEngine)({uniqId:1,scopedStyleId:0},io.VERSION),rt=[];let kt=!1;function It(){return typeof Date<"u"&&typeof Date.now=="function"?Date.now():0}function xo(){return typeof document<"u"&&document.visibilityState==="hidden"}const Ao=250;function Ut(){if(!kt){if(kt=!0,typeof requestAnimationFrame!="function"){setTimeout(_t,0);return}xo()?setTimeout(_t,Ao):requestAnimationFrame(_t)}}const Co=300,ko=15e4;function _t(){if(kt=!1,!rt.length)return;const t=rt.splice(0,rt.length);for(let e=0;e<t.length;e++){const s=t[e];if(s.node){if(!s.node.isConnected){const r=s.__ref||(s.__ref={});r.__mountAttempts=(r.__mountAttempts||0)+1,r.__mountFirstAttemptAt==null&&(r.__mountFirstAttemptAt=It());const n=It()-r.__mountFirstAttemptAt;r.__mountAttempts<=Co&&n<ko?(rt.push(s),Ut()):console.warn("[DOMQL] onMounted dropped after",r.__mountAttempts,"attempts /",n,"ms \u2014 node never connected:",s.key||s.tag||s);continue}N("Mounted",s,s.__ref?.__mountOptions||{})}}}function St(t,e){typeof t.onMounted=="function"&&(t.__ref.__mountOptions=e,rt.push(t),Ut())}function Bt(t,e){if(typeof t.onContentUpdate!="function")return;t.context?.plugins?.length&&(0,K.runPluginHook)("contentUpdate",t,e);const s=t.context?.designSystem;s&&(0,k.pushConfig)(s);try{t.onContentUpdate(t,t.state,t.context,e)}catch(r){if(t.context?.plugins?.length&&(0,K.runPluginHook)("error",t,{hook:"onContentUpdate",error:r})||console.error('[DOMQL] Lifecycle "onContentUpdate" error:',r),t.context?.strictMode)throw r}finally{s&&(0,k.popConfig)()}}function Y(t){return t.length>2&&t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>=65&&t.charCodeAt(2)<=90}function So(t){return t.charAt(2).toLowerCase()+t.slice(3)}function vo(t){return t.toLowerCase()}function vt(t){const e=t.charCodeAt(0);return e===58||e===64||e===38||e===91}function it(t,e){const s={...t};for(const r in e){const n=s[r],o=e[r];n&&o&&typeof n=="object"&&typeof o=="object"&&!Array.isArray(n)&&!Array.isArray(o)&&typeof n!="function"&&typeof o!="function"?s[r]=it(n,o):s[r]=o}return s}function W(t,e,s,r={},n){if(t==null||t===!1)return null;(typeof t=="string"||typeof t=="number")&&(t={text:t});const o=Object.create(null);o.key=s||t.key||`_${Ft.uniqId++}`,o.parent=e||null,o.context=t.context||e?.context||r.context||{},o.context.__create||(o.context.__create=W);const i=o.__ref={__if:!0,__children:[],__exec:{},__effects:[],__eventCleanup:[],root:e?.__ref?.root||o,path:e?.__ref?.path?[...e.__ref.path,o.key]:[o.key],origin:t};if(s&&!t.extends&&!t.extend){const _=s.indexOf("_"),p=s.indexOf(".");let h=_>0?_:-1;if(p>0&&(h<0||p<h)&&(h=p),h>0){const b=s.substring(0,h),x=o.context?.components;x&&(x[b]||x["smbls."+b])?t={...t,extends:b}:x&&(0,m.isLoudDevRuntime)()&&(/^[A-Z]\w*_\d+$/.test(s)||/^[A-Z]\w*\.\w+$/.test(s))&&console.warn(`[smbls] auto-extend: key "${s}" looks like an instance of "${b}" but neither "${b}" nor "smbls.${b}" is registered in context.components \u2014 element will render as a plain <div>. Register the base component or rename the key.`)}}(0,eo.applyExtends)(o,t,r);const a=new Set(["childProps","attr","style","scope","data"]),c=o.props&&typeof o.props=="object"?o.props:null;for(const _ in t){if(_==="parent"||_==="node"||_==="__ref"||_==="extends"||_==="context"||_==="props")continue;const p=t[_],h=o[_],b=h&&p&&typeof h=="object"&&typeof p=="object"&&!Array.isArray(h)&&!Array.isArray(p)&&typeof h!="function"&&typeof p!="function";b&&_.charCodeAt(0)>=65&&_.charCodeAt(0)<=90?o[_]=it(h,p):b&&a.has(_)?o[_]={...h,...p}:b&&vt(_)?o[_]=it(h,p):o[_]=p}function u(_){for(const p in _){const h=_[p],b=o[p],x=b&&h&&typeof b=="object"&&typeof h=="object"&&!Array.isArray(b)&&!Array.isArray(h)&&typeof b!="function"&&typeof h!="function";x&&p.charCodeAt(0)>=65&&p.charCodeAt(0)<=90?o[p]=it(b,h):x&&a.has(p)?o[p]={...b,...h}:x&&vt(p)?o[p]=it(b,h):o[p]=h}}c&&u(c),t.props&&typeof t.props=="object"&&u(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 d=o.scope&&typeof o.scope=="object"?o.scope:null,f=e?.scope,l=o.context&&typeof o.context.globalScope=="object"&&o.context.globalScope||null,y=f||l||null;if(t.scope!==void 0||d){const _={};d&&Object.assign(_,d),t.scope!==void 0&&Object.assign(_,t.scope),o.scope=(0,R.createScopeStore)(_,y)}else y&&(o.scope=y);if(t.if!==void 0&&(o.if=t.if),(0,no.addMethods)(o),wo(o,e,t),o.if!=null){let _;if(typeof o.if=="function")try{_=o.if(o,o.state,o.context)}catch(p){if(_=!1,i.__ifError=p,typeof console<"u"&&console.warn){const h=o.key||o.tag||"?";console.warn(`[smbls] \`if:\` evaluator threw on ${h} \u2014 treating as false:`,p?.message||p)}}else _=o.if;i.__if=!!_}if(i.__if)typeof o.if=="function"&&(i.__ifInitialized=!0);else return e&&(e[o.key]=o),typeof o.if=="function"&&Ht(o,i,o.if),o;o.tag||(o.tag=(0,q.detectTag)(o)),N("Init",o,r);const g=o.node=(0,q.cacheNode)(o);if(!g)return o;if(o.tag==="fragment"){const p=(o.context?.document||globalThis.document).createComment("");g.appendChild(p),i.__fragmentAnchor=p}N("AttachNode",o,r),g.setAttribute&&o.key&&g.setAttribute("data-key",o.key),e&&(e[o.key]=o,e.__ref?.__children&&(e.__ref.__children.includes(o.key)||e.__ref.__children.push(o.key))),g.setAttribute&&o.context?.scopeSelector&&o.context.scopeSelector!==":root"&&o.context.key&&o.key===o.context.key&&g.setAttribute("data-smbls-app",o.context.key),o.id&&g.setAttribute&&(g.id=o.id),to(o,r),Vt(o),jt(o),Jt(o),Vo(o);try{oo(o,r)}catch(_){if(typeof console<"u"&&console.error){const p=o.__ref?.path?.join(".")||o.key||"<root>";console.error(`[smbls] createChildren failed at ${p}:`,_?.message||_,_?.stack?`
|
|
2
2
|
`+_.stack.split(`
|
|
3
3
|
`).slice(0,6).join(`
|
|
4
|
-
`):"")}}if(ht(o,!0),oo(o,n,e),typeof o.html=="function"&&o.node&&!o.node.innerHTML){const _=o.context?.designSystem;_&&(0,k.pushConfig)(_);try{const p=o.html(o,o.state,o.context);p!=null&&typeof p!="function"&&(o.node.innerHTML=p)}catch{}finally{_&&(0,k.popConfig)()}}if(M("Create",o,r),M("Complete",o,r),M("Render",o,r),M("RenderRouter",o,r),St(o,r),typeof o.onFrame=="function"){const _=o.onFrame,p=o.context?.designSystem,h=()=>{if(o.node){if(o.node.isConnected){p&&(0,k.pushConfig)(p);try{_(o,o.state,o.context)}catch(b){console.error("[DOMQL] onFrame error:",b)}finally{p&&(0,k.popConfig)()}}requestAnimationFrame(h)}};requestAnimationFrame(h)}return o}function vo(t,n,s){const r=!n,e=s.state&&typeof s.state=="object"&&!Array.isArray(s.state)&&Object.keys(s.state).length===0,o=r&&e&&t.context?.state,i=s.state!==void 0&&!o?s.state:t.state&&!(0,R.isStore)(t.state)?t.state:void 0;if(i==null){if(n?.state)t.state=n.state,(0,m.applyStateMethods)(t,t.state);else if(t.context?.state){const c=t.context.state,a={...c},u=t.context?.polyglot;if(u?.translations){const d=t.context,f=c.lang||u.defaultLang||"en",l=new Set,y=(p,h)=>{l.has(p)||(0,W.isPolyglotWritableKey)(d,p,a)&&(a[p]=h,l.add(p),(0,W.markPolyglotSeeded)(d,p))},g=u.translations[f];if(g&&typeof g=="object")for(const p in g)y(p,g[p]);const _=new Set(u.languages||[]);for(const p in u.translations)_.has(p)||y(p,u.translations[p])}t.state=(0,R.isStore)(a)?a:(0,R.createStore)(a),t.state.__element=t,t.state.root=t.state,(0,m.applyStateMethods)(t,t.state)}else t.state={},Object.defineProperty(t.state,"root",{value:t.state,enumerable:!1,configurable:!0,writable:!0}),(0,m.applyStateMethods)(t,t.state);return}if(typeof i=="string"){if(t.state=Bt(i,n),t.state&&typeof t.state=="object"&&!(0,R.isStore)(t.state)){const c=n?.state?.root||n?.state||t.state;Object.defineProperty(t.state,"root",{value:c,enumerable:!1,configurable:!0,writable:!0})}(0,m.applyStateMethods)(t,t.state);return}if(typeof i=="function"){const c=i(t,n?.state);t.state=(0,R.isStore)(c)?c:(0,R.createStore)(c||{})}else(0,R.isStore)(i)?t.state=i:t.state=(0,R.createStore)({...i});t.state.__element=t,n?.state?(t.state.parent=n.state,t.state.root=n.state.root||n.state):t.state.root=t.state,(0,m.applyStateMethods)(t,t.state)}function wt(t,n){if(!n)return t;const s=n.split("/");let r=t;for(const e of s){if(r==null)return{};r=r[e]}return r??{}}function Bt(t,n){if(!n)return{};if(t===".")return n.state||{};if(t.startsWith("../")){const e=t.slice(3);return e?wt(n.state,e):n.state??{}}if(t.startsWith("~/")){const e=n.state?.root||n.state,o=t.slice(2);return o?wt(e,o):e??{}}if(n.state?.[t]!==void 0)return n.state[t];const s=wt(n.state,t);if(s!=null&&Object.keys(s).length>0)return s;const r=n.context?.polyglot;if(r?.translations){const e=n.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 wo=new Set(["s","state","ctx","context"]);function jo(t){try{const s=Function.prototype.toString.call(t).match(/^[^(]*\(([^)]*)\)/);return s?s[1].split(",").map(r=>r.trim().split("=")[0].trim()).filter(Boolean):[]}catch{return[]}}function Eo(t){if(typeof t!="function"||t.length!==2)return!1;const n=jo(t);if(n.length<2)return!1;const s=n[1].replace(/[{}[\]]/g,"").trim();return s.length>0&&!wo.has(s)}function Po(t){const n=t.__ref,s=t.tag||"div",r=t.context?.designSystem,e=[],o=Object.keys(t);for(let i=0;i<o.length;i++){const c=o[i];if(typeof t[c]!="function"||U.REGISTRY.has(c))continue;const a=c.charCodeAt(0);a>=65&&a<=90||Z(c)||A.CSS_PROPS_REGISTRY[c]||A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(c)||(0,j.checkAttributeByTagName)(s,c)||((0,J.isLoudDevRuntime)()&&Eo(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 i=0;i<e.length;i++){const{prop:c,fn:a}=e[i];n.__exec[c]=a,Object.defineProperty(t,c,{get(){r&&(0,k.pushConfig)(r);try{return a(t,t.state,t.context)}catch{return}finally{r&&(0,k.popConfig)()}},set(u){delete n.__exec[c],Object.defineProperty(t,c,{value:u,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}}function To(t,n){if(!(!Array.isArray(n)||n.length===0))for(let s=0;s<n.length;s++){const r=n[s];try{typeof r=="function"?r(t,t.state,t.context):typeof r=="string"&&t.state?.[r]}catch{}}}function O(t,n,s){return!Array.isArray(n)||n.length===0?s:function(...r){return To(t,n),s.apply(this,r)}}function ct(t,n){if(!(!t||Array.isArray(t)||typeof t!="object"))return t[n]}function T(t,n){return()=>t.path.join(".")+"::"+n}function Kt(t,n){const s=t.__ref,r=!!(n&&n.skipIfEffect);if(Po(t),typeof t.text=="function"){const o=t.text,i=O(t,t.textDeps,o),c=(0,E.createEffect)(()=>{if(!s.contentManaged)try{let a=i(t,t.state,t.context);t.node&&a!=null&&typeof a!="function"&&typeof a!="object"&&(typeof a=="string"&&a.includes("{{")&&(a=W.replaceLiteralsWithObjectFields.call(t,a,t.state)),at(t,a))}catch{}},{depth:s.path.length,label:T(s,"text")});s.__effects.push(c),s.__exec.text=o}else if(typeof t.text=="string"&&t.text.includes("{{")){const o=t.text,i=(0,E.createEffect)(()=>{if(s.contentManaged)return;const c=W.replaceLiteralsWithObjectFields.call(t,o,t.state);c!=null&&(t.text=c),t.node&&at(t,c??"")},{depth:s.path.length,label:T(s,"text")});s.__effects.push(i),s.__exec.text=o}for(const o of Object.keys(t))if(typeof t[o]=="function"&&!U.REGISTRY.has(o)&&!Z(o)&&!s.__exec[o]){if(A.CSS_PROPS_REGISTRY[o]){const i=t[o],c=O(t,t[o+"Deps"],i),a=o;let u,d=null,f=null,l;const y=(0,E.createEffect)(()=>{const g=t.context?.designSystem;g&&(0,k.pushConfig)(g);try{const _=c(t,t.state,t.context);(0,A.pushStaticCssPass)();let p;try{p=A.CSS_PROPS_REGISTRY[a](_,t,t.state,t.context)}finally{(0,A.popStaticCssPass)()}if(Array.isArray(p)){const b={};for(const x of p)if(x)for(const S in x)b[S]=x[S];p=b}const h=a==="show"||a==="hide";if(p&&t.node&&Do(p)){const b=lt(p);if(b===null||b!==l){l=b;const x=(0,G.css)(p,null,t.context?.cssPrefix),S=x?x.split(" ").filter(Boolean):null;if(t.node.classList){if(f)for(const C of f)t.node.classList.remove(C);if(S&&S.length)for(const C of S)t.node.classList.add(C);f=S}}u=void 0,d=null}else if(p&&t.node){if(f){for(const x of f)t.node.classList.remove(x);f=null,l=void 0}const b=lt(p);(b===null||b!==u||!yt(t.node,d))&&(u=b,Q(t.node,p),d=pt(t.node,p))}else if(t.node&&h){u=void 0,d=null;const b=s.__explicitDisplay;t.node.style.display=typeof b=="string"?b:""}}finally{g&&(0,k.popConfig)()}},{depth:s.path.length,label:T(s,a)});s.__effects.push(y),s.__exec[o]=i}else if(A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(o)){const i=t[o],c=O(t,t[o+"Deps"],i),a=o;let u,d=null;const f=(0,E.createEffect)(()=>{const l=t.context?.designSystem;l&&(0,k.pushConfig)(l);try{const y=c(t,t.state,t.context);if(t.node)if(y!=null){const g=a+":"+String(y);if(g!==u||!yt(t.node,d)){u=g;const _={[a]:y};Q(t.node,_),d=pt(t.node,_)}}else u=void 0,d=null,t.node.style[a]=""}finally{l&&(0,k.popConfig)()}},{depth:s.path.length,label:T(s,a)});s.__effects.push(f),s.__exec[o]=i}}if(typeof t.html=="function"){const o=t.html,i=O(t,t.htmlDeps,o),c=(0,E.createEffect)(()=>{const a=t.context?.designSystem;a&&(0,k.pushConfig)(a);try{const u=i(t,t.state,t.context);t.node&&u!=null&&typeof u!="function"&&(t.node.innerHTML=u)}finally{a&&(0,k.popConfig)()}},{depth:s.path.length,label:T(s,"html")});s.__effects.push(c),s.__exec.html=o}if(typeof t.value=="function"){const o=t.value,i=O(t,t.valueDeps,o),c=(0,E.createEffect)(()=>{try{const a=i(t,t.state,t.context);if(!t.node||!("value"in t.node))return;const u=a==null?"":String(a);if(t.node.value===u)return;const d=typeof document<"u"&&document.activeElement===t.node,f=d&&typeof t.node.selectionStart=="number"?t.node.selectionStart:null,l=d&&typeof t.node.selectionEnd=="number"?t.node.selectionEnd:null;if(t.node.value=u,d&&f!=null&&l!=null)try{t.node.setSelectionRange(f,l)}catch{}}catch{}},{depth:s.path.length,label:T(s,"value")});s.__effects.push(c),s.__exec.value=o}if(typeof t.style=="function"){const o=t.style,i=O(t,t.styleDeps,o);let c,a=null;const u=(0,E.createEffect)(()=>{const d=i(t,t.state,t.context),f=lt(d);(f===null||f!==c||!yt(t.node,a))&&(c=f,Q(t.node,d),a=pt(t.node,d))},{depth:s.path.length,label:T(s,"style")});s.__effects.push(u),s.__exec.style=o}else if(t.style&&typeof t.style=="object")for(const o in t.style){const i=t.style[o];if(typeof i!="function")continue;const c=O(t,ct(t.styleDeps,o),i);let a,u=null;const d=(0,E.createEffect)(()=>{try{const f=c(t,t.state,t.context);if(t.node){const l=o+":"+String(f);if(l!==a||!yt(t.node,u)){a=l;const y={[o]:f};Q(t.node,y),u=pt(t.node,y)}}}catch{}},{depth:s.path.length,label:T(s,"style."+o)});s.__effects.push(d)}if(t.attr&&typeof t.attr=="object"){for(const o in t.attr)if(typeof t.attr[o]=="function"){const i=O(t,ct(t.attrDeps,o),t.attr[o]),c=o,a=(0,E.createEffect)(()=>{try{const u=i(t,t.state,t.context);t.node?.setAttribute&&(u==null||u===!1&&!(0,j.isEnumeratedTrueFalseAttr)(c)?t.node.removeAttribute(c):typeof u!="function"&&typeof u!="object"&&t.node.setAttribute(c,(0,j.serializeAttrValue)(c,u)))}catch{}},{depth:s.path.length,label:T(s,"attr."+c)});s.__effects.push(a)}}if(t.aria&&typeof t.aria=="object")for(const o in t.aria){if(typeof t.aria[o]!="function")continue;const i=O(t,ct(t.ariaDeps,o),t.aria[o]),c="aria-"+o.replace(/[A-Z]/g,u=>"-"+u.toLowerCase()),a=(0,E.createEffect)(()=>{try{const u=i(t,t.state,t.context);if(!t.node?.setAttribute)return;u==null?t.node.removeAttribute(c):typeof u!="function"&&typeof u!="object"&&t.node.setAttribute(c,(0,j.serializeAttrValue)(c,u))}catch{}},{depth:s.path.length,label:T(s,"aria."+o)});s.__effects.push(a)}if(t.data&&typeof t.data=="object")for(const o in t.data){if(typeof t.data[o]!="function")continue;const i=O(t,ct(t.dataDeps,o),t.data[o]),a="data-"+o.replace(/[A-Z]/g,d=>"-"+d.toLowerCase()),u=(0,E.createEffect)(()=>{try{const d=i(t,t.state,t.context);if(!t.node?.setAttribute)return;d==null||d===!1?t.node.removeAttribute(a):typeof d!="function"&&typeof d!="object"&&t.node.setAttribute(a,d===!0?"":d)}catch{}},{depth:s.path.length,label:T(s,"data."+o)});s.__effects.push(u)}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 i=O(t,ct(t.classDeps,o),e[o]),c=(0,E.createEffect)(()=>{try{const a=i(t,t.state,t.context);if(!t.node?.classList)return;typeof a=="string"?t.node.classList.add(a):a?t.node.classList.add(o):t.node.classList.remove(o)}catch{}},{depth:s.path.length,label:T(s,"class."+o)});s.__effects.push(c)}!r&&typeof t.if=="function"&&Gt(t,s,t.if);for(const o of Object.keys(t)){if(U.REGISTRY.has(o)||typeof t[o]!="function")continue;const i=o.charCodeAt(0);if(i>=65&&i<=90||Z(o))continue;const c=t[o];s.__exec[o]=c;const a=t.tag||"div";if((0,j.checkAttributeByTagName)(a,o)&&!A.CSS_PROPS_REGISTRY[o]&&!(A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(o))){const u=(0,j.camelToAttr)(o)||o,d=O(t,t[o+"Deps"],c),f=(0,E.createEffect)(()=>{try{const l=d(t,t.state,t.context);t.node?.setAttribute&&(l==null||l===!1&&!(0,j.isEnumeratedTrueFalseAttr)(u)?t.node.removeAttribute(u):typeof l!="function"&&typeof l!="object"&&(u==="src"&&"src"in t.node?t.node.src=l:t.node.setAttribute(u,(0,j.serializeAttrValue)(u,l))))}catch{}},{depth:s.path.length,label:T(s,o)});s.__effects.push(f)}}if(Ro(t),No(t),typeof t.onStateUpdate=="function"&&Array.isArray(t.stateDeps)){const o=t.onStateUpdate,i=t.stateDeps;let c=!1,a=[];const u=(0,E.createEffect)(()=>{const d=[];for(let g=0;g<i.length;g++){const _=i[g];try{d[g]=typeof _=="function"?_(t,t.state,t.context):t.state?.[_]}catch{d[g]=void 0}}if(!c){c=!0,a=d;return}let f=d.length!==a.length;for(let g=0;!f&&g<d.length;g++)d[g]!==a[g]&&(f=!0);const l=a;if(a=d,!f)return;const y=t.context?.designSystem;y&&(0,k.pushConfig)(y);try{o(t,t.state,t.context,{prev:l,next:d})}catch(g){if(t.context?.plugins?.length&&(0,K.runPluginHook)("error",t,{hook:"onStateUpdate",error:g})||console.error('[DOMQL] Lifecycle "onStateUpdate" error:',g),t.context?.strictMode)throw g}finally{y&&(0,k.popConfig)()}},{depth:s.path.length,label:T(s,"onStateUpdate")});s.__effects.push(u)}Mo(t)}function Vt(t){const n=t.parent,s=n?.node;if(!s||!t.node){oo(t,t.parent);return}let r=null;const e=Object.keys(n),o=e.indexOf(t.key);for(let i=o+1;i<e.length;i++){const c=n[e[i]];if(c?.node?.parentNode===s){r=c.node;break}}r?s.insertBefore(t.node,r):s.appendChild(t.node)}function Gt(t,n,s){const r=O(t,t.ifDeps,s),e=(0,E.createEffect)(()=>{let o;try{o=r(t,t.state,t.context)}catch(c){if(o=!1,n.__ifError=c,typeof console<"u"&&console.warn){const a=t.key||t.tag||"?";console.warn(`[smbls] \`if:\` reactive effect threw on ${a} \u2014 treating as false:`,c?.message||c)}return}const i=n.__if;if(n.__if=!!o,i&&!n.__if&&t.node){t.node.remove();try{typeof t.onRemove=="function"&&t.onRemove(t)}catch(c){console.error("[smbls] onRemove error:",c)}}else if(!i&&n.__if)if(n.__ifInitialized)t.node||(t.node=(0,Y.cacheNode)(t)),t.node&&(t.node.ref=t),Vt(t),jt(t),M("Render",t,{}),St(t,{});else{if(n.__ifInitialized=!0,t.tag||(t.tag=(0,Y.detectTag)(t)),M("Init",t,{}),t.node||(t.node=(0,Y.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"&&!n.__fragmentAnchor){const a=(t.context?.document||globalThis.document).createComment("");t.node.appendChild(a),n.__fragmentAnchor=a}M("AttachNode",t,{}),t.node.setAttribute&&t.key&&t.node.setAttribute("data-key",t.key),t.id&&t.node.setAttribute&&(t.node.id=t.id),mt(t,{}),Kt(t,{skipIfEffect:!0}),jt(t),Xt(t),to(t,{}),Vt(t),M("Create",t,{}),M("Complete",t,{}),M("Render",t,{}),M("RenderRouter",t,{}),St(t,{})}},{depth:n.path.length,label:T(n,"if")});n.__effects.push(e)}function at(t,n){const s=t.node;if(!s)return;const r=n==null||typeof n=="object"?"":String(n);if(t.tag==="string"){s.nodeValue!==r&&(s.nodeValue=r);return}const e=t.__ref;let o=e?e.__textNode:null;if(o&&o.parentNode!==s&&(o=null),!o){const i=s.firstChild;i&&i.nodeType===3&&(o=i)}o?o.nodeValue!==r&&(o.nodeValue=r):s.firstChild?(o=(s.ownerDocument||t.context?.document||globalThis.document).createTextNode(r),s.insertBefore(o,s.firstChild)):(s.textContent=r,o=s.firstChild&&s.firstChild.nodeType===3?s.firstChild:null),e&&(e.__textNode=o||null)}function jt(t){const{node:n}=t;if(n){if((typeof t.text=="string"&&!t.text.includes("{{")||typeof t.text=="number")&&at(t,t.text),Io(t),typeof t.html=="string"&&(n.innerHTML=t.html),t.value!=null&&typeof t.value!="function"&&"value"in n){const s=String(t.value);n.value!==s&&(n.value=s)}if(t.style&&typeof t.style=="object"){let s=t.style;for(const r in t.style)if(typeof t.style[r]=="function"){s={};for(const e in t.style)typeof t.style[e]!="function"&&(s[e]=t.style[e]);break}Q(n,s)}if(t.attr&&typeof t.attr=="object")for(const s in t.attr){const r=t.attr[s];typeof r=="function"||typeof r=="object"||r!=null&&(r===!1&&!(0,j.isEnumeratedTrueFalseAttr)(s)||n.setAttribute&&n.setAttribute(s,(0,j.serializeAttrValue)(s,r)))}if(t.data&&typeof t.data=="object")for(const s in t.data){const r=t.data[s];typeof r=="function"||typeof r=="object"||r==null||r===!1||n.dataset&&(n.dataset[s]=r===!0?"":r)}if(t.classlist||t.class){const s=t.classlist||t.class;if(typeof s=="string")s.split(" ").forEach(r=>r&&n.classList.add(r));else if(typeof s=="object")for(const r in s){const e=typeof s[r]=="function"?s[r](t,t.state,t.context):s[r];e&&n.classList.add(typeof e=="string"?e:r)}}}}function lt(t){if(t==null||typeof t!="object")return"s:"+String(t);try{return"o:"+JSON.stringify(t)}catch{return null}}function Do(t){if(!t||typeof t!="object")return!1;for(const n in t){const s=t[n];if(s&&typeof s=="object"&&!Array.isArray(s))return!0}return!1}function pt(t,n){if(!t||!t.style||!n)return null;const s=[];for(const r in n){if(n[r]==null||r.charAt(0)==="&")continue;const o=r.replace(/[A-Z]/g,i=>"-"+i.toLowerCase());s.push(o,t.style.getPropertyValue(o),t.style.getPropertyPriority(o))}return s}function yt(t,n){if(!n||!t||!t.style)return!1;for(let s=0;s<n.length;s+=3)if(t.style.getPropertyValue(n[s])!==n[s+1]||t.style.getPropertyPriority(n[s])!==n[s+2])return!1;return!0}function Q(t,n){if(!t||!n||!t.style)return;let s=null;for(const r in n){const e=n[r];if(e!=null){if(r.charAt(0)==="&"&&typeof e=="object"){s||(s={}),s[r]=e;continue}try{const o=String(e),i=r.replace(/[A-Z]/g,d=>"-"+d.toLowerCase()),c=o.trim(),a=/\s*!important\s*$/.test(c),u=c.replace(/\s*!important\s*$/,"");t.style.setProperty(i,u,a?"important":"")}catch{}}}s&&Lo(t,s)}function Lo(t,n){const s=`_ds${Nt.scopedStyleId++}`;t.classList.add(s);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 i in n){const c="."+s,a=i.replace(/&/g,c).split(",").map(d=>{const f=d.trim();return f.includes(c)?f:c+f}).join(", "),u=n[i];if(typeof u=="object"){let d="",f="";for(const l in u){const y=u[l];if(typeof y=="object"){const g=l.includes("&")?a.split(", ").map(p=>l.replace(/&/g,p)).join(", "):a.split(", ").map(p=>`${p} ${l}`).join(", ");let _="";for(const p in y)_+=`${p.replace(/[A-Z]/g,h=>"-"+h.toLowerCase())}: ${y[p]};`;f+=(0,G.wrapHoverRule)(`${g} { ${_} }`,g)+`
|
|
5
|
-
`}else d+=`${l.replace(/[A-Z]/g,g=>"-"+g.toLowerCase())}: ${y};`}d&&(o+=(0,G.wrapHoverRule)(`${
|
|
6
|
-
`),f&&(o+=f)}}o&&(e.textContent+=o)}const Ht=new Set;function Wt(t){if(!Array.isArray(t))return"";const n=[];for(let s=0;s<t.length;s++)typeof t[s]=="string"&&t[s].length&&n.push(t[s]);return n.sort(),n.join("|")}function Oo(t,n,s){const r=Wt(s);queueMicrotask(()=>{if(!t.__ref)return;let e;try{e=n(t,t.state,t.context)}catch{return}if(Wt(e)===r)return;const o=t.__ref.path?t.__ref.path.join("."):t.key||"?";Ht.has(o)||(Ht.add(o),console.warn(`[smbls] subscribeTo function at "${o}" resolved to a DIFFERENT key list one microtask after create \u2014 wired [${s.join(", ")||"(none)"}], probed [${Array.isArray(e)?e.join(", "):String(e)}]. subscribeTo's function form is resolved ONCE at element-create time (registerSubscribeToEffects, @symbo.ls/element create.js) \u2014 this element stays wired to the ORIGINAL list for its whole lifetime, so this drift is invisible to the reactive effect and any key only present in the new list will never trigger onUpdate. If the watched key genuinely is not known until later (e.g. a module config that loads after shell boot), route the write through an imperative call instead of subscribeTo \u2014 see functions/moduleOpenBridge.js's moduleOpenPage (workspace repo) for the house pattern.`))})}function Ro(t){const n=t.subscribeTo,s=typeof n=="function";let r=n;if(s)try{r=n(t,t.state,t.context)}catch{r=null}if(s&&(0,J.isLoudDevRuntime)()&&Oo(t,n,Array.isArray(r)?r:[]),!Array.isArray(r)||r.length===0)return;const e=t.__ref;for(let o=0;o<r.length;o++){const i=r[o];if(typeof i!="string"||i.length===0)continue;const c=i.split("."),a=c[0],u=c.slice(1),d={value:!1},f=(0,E.createEffect)(()=>{const l=t.state&&((0,R.isStore)(t.state)?t.state.root:null);if(!l||!(0,R.isStore)(l))return;let y=l;y=y[a];for(let _=0;_<u.length&&!(y==null||typeof y!="object");_++)if((0,R.isStore)(y))y=y[u[_]];else break;if(!d.value)return;let g=!1;if(typeof t.onBeforeUpdate=="function"){const _=t.context?.designSystem;_&&(0,k.pushConfig)(_);try{if(io(e)){const p=t.onBeforeUpdate(t,t.state,t.context,{updateBySubscription:!0});p&&typeof p.then=="function"?p.then(()=>ut(e,!1),h=>{ut(e,!0),t.context?.plugins?.length&&(0,K.runPluginHook)("error",t,{hook:"onBeforeUpdate",error:h})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",h)}):(ut(e,!1),p===!1&&(g=!0))}}catch(p){ut(e,!0),t.context?.plugins?.length&&(0,K.runPluginHook)("error",t,{hook:"onBeforeUpdate",error:p})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",p)}finally{_&&(0,k.popConfig)()}}if(!g&&t.node&&e.__effects)for(let _=0;_<e.__effects.length;_++){const p=e.__effects[_];p&&p!==f&&!p._disposed&&!p._isSubscribeToEffect&&typeof p._execute=="function"&&p._execute()}if(!g&&typeof t.onUpdate=="function"){const _=t.context?.designSystem;_&&(0,k.pushConfig)(_);try{t.onUpdate(t,t.state,t.context)}catch(p){t.context?.plugins?.length&&(0,K.runPluginHook)("error",t,{hook:"onUpdate",error:p})||console.error("[DOMQL] subscribeTo onUpdate error:",p)}finally{_&&(0,k.popConfig)()}}},{depth:e.path.length,label:T(e,"subscribeTo("+i+")")});d.value=!0,f._isSubscribeToEffect=!0,e.__effects.push(f)}}function Et(t,n){return t.charCodeAt(0)===64&&t.length>1&&!t.startsWith("@media")&&!t.startsWith("@keyframes")&&!t.startsWith("@supports")&&!t.startsWith("@container")&&(t==="@dark"||t==="@light"||!n.context?.designSystem?.media?.[t.slice(1)])}function Pt(t,n){if(t.charCodeAt(0)!==64||/^@(media|supports|container|keyframes)\b/.test(t))return t;const s=n.context?.designSystem?.media?.[t.slice(1)];return s?/^@(media|supports|container)\b/.test(s)?s:`@media ${s}`:t}const zt=new Set;function $o(t,n){const s=n?.__ref?.path?n.__ref.path.join("."):n?.key||"?",r=s+"::"+t;zt.has(r)||(zt.add(r),console.warn(`[smbls/css] "${t}" at ${s} 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 X(t,n,s){const r={},e=new Set,o=(i,c,a)=>{const u=a?new Set(Object.keys(r)):null;if(A.CSS_PROPS_REGISTRY[i]){const d=A.CSS_PROPS_REGISTRY[i](c,n,n.state,n.context);if(d){const f=Array.isArray(d)?d:[d];for(const l of f)l&&Object.assign(r,l)}}else r[i]=c;if(a)for(const d in r)u.has(d)||e.add(d)};for(const i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;let c=t[i];if(typeof c=="function"&&(c=c(n,n.state,n.context)),c==null||typeof c=="function")continue;if(typeof c=="object"&&!Array.isArray(c)){if(i==="style"){for(const f in c){let l=c[f];if(typeof l=="function"&&(l=l(n,n.state,n.context)),l==null||typeof l=="function")continue;const y=typeof n[f]=="function"&&(A.CSS_PROPS_REGISTRY[f]||A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(f));o(f,l,y)}continue}if(Et(i,n)){const f=X(c,n,!1);Object.keys(f).length&&(r[`[data-theme="${i.slice(1)}"] &`]=f);continue}if(/^[A-Z][A-Za-z0-9]*$/.test(i)){(0,J.isLoudDevRuntime)()&&$o(i,n);continue}const u=Pt(i,n),d=X(c,n,!1);Object.keys(d).length&&(r[u]=d);continue}const a=typeof n[i]=="function"&&(A.CSS_PROPS_REGISTRY[i]||A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(i));o(i,c,a)}if(s)for(const i in r)e.add(i);for(const i of e){const c=r[i];typeof c=="string"&&!c.includes("!important")&&(r[i]=c+" !important")}return r}function Tt(t,n){if(n===void 0&&(n=0),n>8)return!1;if(typeof t=="function")return!0;if(t&&typeof t=="object"&&!Array.isArray(t)){for(const s in t)if(Object.prototype.hasOwnProperty.call(t,s)&&Tt(t[s],n+1))return!0}return!1}function Yt(t,n,s){if(!n||typeof n!="object"||Array.isArray(n))return null;if(Et(t,s)){const o=X(n,s,!1);return Object.keys(o).length?{cssProp:`[data-theme="${t.slice(1)}"] &`,block:o}:null}const r=Pt(t,s),e=X(n,s,!1);return Object.keys(e).length?{cssProp:r,block:e}:null}function Mo(t){const n=t.__ref;for(const s of Object.keys(t)){if(!vt(s))continue;const r=t[s];if(!r||typeof r!="object"||Array.isArray(r)||!Tt(r))continue;let e=null,o;const i=(0,E.createEffect)(()=>{if(!t.node)return;const c=t.context?.designSystem;c&&(0,k.pushConfig)(c);let a,u=!1;try{const d=Yt(s,r,t),f=d?lt(d.block)+"::"+d.cssProp:null;if(f!==null&&f===o)u=!0;else if(o=f,d){const l=(0,G.css)({[d.cssProp]:d.block},null,t.context?.cssPrefix);a=l?l.split(" ").filter(Boolean):null}else a=null}finally{c&&(0,k.popConfig)()}if(!(u||!t.node.classList)){if(e)for(const d of e)t.node.classList.remove(d);if(a&&a.length)for(const d of a)t.node.classList.add(d);e=a}},{depth:n.path.length,label:T(n,"cssBlock("+s+")")});n.__effects.push(i)}}function No(t){const n=t.__ref;n.__conditionalRunners=[];const s=new Map;for(const r of Object.keys(t)){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 y=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}${y}: { '${o.slice(y.length)}': {...} }\`.`)}continue}const i=t[r];if(!i||typeof i!="object")continue;const c=e==="!",a={lastMatch:!1,appliedKeys:null,appliedClasses:null},u=()=>{let y;const g=t[o];if(g===void 0){const h=!!t.state&&o in t.state,b=t.state?t.state[o]:void 0;if(h||b!==void 0)y=b;else{const x=t.context?.cases?.[o];if(x===void 0)return;try{y=typeof x=="function"?x.call(t,t):x}catch(S){y=!1,n.__conditionalError=S,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` case fn threw on ${t.key||"?"} \u2014 treating as false:`,S?.message||S)}}}else if(typeof g=="function")try{y=g(t,t.state,t.context)}catch(h){y=!1,n.__conditionalError=h,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` predicate threw on ${t.key||"?"} \u2014 treating as false:`,h?.message||h)}else y=g;const _=c?!y:!!y;if(!t.node||_===a.lastMatch)return;a.lastMatch=_;const p=t.context?.designSystem;p&&(0,k.pushConfig)(p);try{if(_){const h={},b={};let x=!1;for(const C in i){if(!Object.prototype.hasOwnProperty.call(i,C))continue;const P=i[C],z=C.charAt(0);if((z===":"||z==="@"||z==="&"||z==="[")&&P&&typeof P=="object"&&!Array.isArray(P)){if(Et(C,t)){const D=X(P,t,!1);Object.keys(D).length&&(b[`[data-theme="${C.slice(1)}"] &`]=D,x=!0)}else{const D=Pt(C,t),L=X(P,t,!1);Object.keys(L).length&&(b[D]=L,x=!0)}continue}const ot=typeof P=="function"?P(t,t.state,t.context):P;if(ot!=null)if(A.CSS_PROPS_REGISTRY[C]){const D=A.CSS_PROPS_REGISTRY[C](ot,t,t.state,t.context);if(D){const L=Array.isArray(D)?D:[D];for(const st of L)st&&Object.assign(h,st)}}else A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(C)&&(h[C]=ot)}const S=Object.keys(h);if(S.length){Q(t.node,h);for(const C of S)s.set(C,r);a.appliedKeys=S}else a.appliedKeys=null;if(x){const C=(0,G.css)(b,null,t.context?.cssPrefix),P=C?C.split(" ").filter(Boolean):[];if(P.length&&t.node.classList){for(const z of P)t.node.classList.add(z);a.appliedClasses=P}else a.appliedClasses=null}else if(a.appliedClasses){for(const C of a.appliedClasses)t.node.classList.remove(C);a.appliedClasses=null}}else{if(a.appliedKeys){for(const h of a.appliedKeys)s.get(h)===r&&(t.node.style[h]="",s.delete(h));a.appliedKeys=null}if(a.appliedClasses){for(const h of a.appliedClasses)t.node.classList.remove(h);a.appliedClasses=null}}}finally{p&&(0,k.popConfig)()}};n.__conditionalRunners.push(u);const d=O(t,t[o+"Deps"],u),f=(0,E.createEffect)(d,{depth:n.path.length,label:T(n,"conditional("+r+")")}),l=n.__exec&&n.__exec[o]||t[o];f._sources.size===0&&typeof l=="function"&&(0,J.isLoudDevRuntime)()&&console.warn(`[smbls] conditional \`${r}\` on ${t.key||"?"} subscribed to nothing \u2014 its predicate tracked no reactive read on its first run, so no state write will ever re-evaluate it (only a direct element.update() on this element re-runs it). If the predicate guards its state reads (\`in\`, short-circuits, \`?.\`), declare \`${o}Deps: [...]\` (state-key strings or \`(el, s) => \u2026\` selectors) so the subscription is armed unconditionally.`),n.__effects.push(f)}}const Dt=new WeakSet;function Fo(t){const n=t.ownerDocument;!n||Dt.has(n)||(Dt.add(n),queueMicrotask(()=>{Dt.delete(n);const s=n.body||n.documentElement;s&&s.offsetWidth}))}const Lt=new WeakSet;let qt=!1;function Zt(t){return t.startsWith("[data-theme=")||t.startsWith("@media")&&t.includes("prefers-color-scheme")}function Ot(t,n){const s={...t};for(const r in n){const e=n[r],o=s[r];s[r]=e&&typeof e=="object"&&o&&typeof o=="object"?Ot(o,e):e}return s}function Qt(t,n){const s={};for(const r in t){const e=t[r];if(e&&typeof e=="object"){const o=Qt(e,n);Object.keys(o).length&&(s[r]=o)}else n.has(r)||(s[r]=e)}return s}function Io(t){const{node:n}=t;if(!n)return;if(qt||(qt=!0,(0,G.css)({display:"none"})),Lt.has(t)){console.error("[applyCssInProps] re-entry detected for element",t.key,"prop path:",t.__ref?.path);return}Lt.add(t);const s=t.context?.designSystem;s&&(0,k.pushConfig)(s),(0,A.pushStaticCssPass)();try{const r={};let e=!1,o=null,i=null,c=null;const a=(u,d)=>{if(d&&typeof d=="object"&&Zt(u)){i||(i={});const f=i[u];f&&(d=Ot(f,d)),i[u]=d}else(d===null||typeof d!="object")&&(c||(c=new Set),c.add(u));r[u]=d};if(Object.prototype.hasOwnProperty.call(t,"theme")&&typeof t.theme!="function"&&A.CSS_PROPS_REGISTRY.theme){const u=A.CSS_PROPS_REGISTRY.theme(t.theme,t,t.state,t.context);if(u){const d=f=>{for(const l in f){const y=f[l];y&&typeof y=="object"&&Zt(l)&&(o||(o={}),o[l]=y),r[l]=y}};if(Array.isArray(u))for(const f of u)f&&d(f);else d(u);e=!0}}for(const u of Object.keys(t)){if(typeof t[u]=="function"||U.REGISTRY.has(u)||u==="theme")continue;const d=u.charCodeAt(0);if(!(d>=65&&d<=90)&&!Z(u)){if(A.CSS_PROPS_REGISTRY[u]){const f=t[u],l=A.CSS_PROPS_REGISTRY[u](f,t,t.state,t.context);if(l){if(Array.isArray(l)){for(const y of l)if(y)for(const g in y)a(g,y[g])}else for(const y in l)a(y,l[y]);e=!0}}else if(A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(u)){const f=t[u];f!=null&&typeof f!="object"&&(a(u,f),e=!0)}else if(u.charCodeAt(0)===45){const f=t[u];f!=null&&typeof f!="object"&&(a(u,f),e=!0)}else if(u.charAt(0)==="&"||u.charAt(0)==="@"||u.charAt(0)===":"||u.charAt(0)==="["){const f=t[u];if(f&&typeof f=="object"&&!Array.isArray(f)){if(Tt(f))continue;const l=Yt(u,f,t);l&&(a(l.cssProp,l.block),e=!0)}}}}if(o)for(const u in o){let d=c?Qt(o[u],c):o[u];i&&i[u]&&(d=Ot(d,i[u])),Object.keys(d).length?r[u]=d:delete r[u]}if(e){r.display&&String(r.display).includes("!important")&&(n.style.setProperty("display",String(r.display).replace(/\s*!important\s*$/,""),"important"),delete r.display);const u=(0,G.css)(r,null,t.context?.cssPrefix);if(u&&n.classList){const f=u.split(" ").filter(Boolean);let l=!1;for(const y of f)n.classList.add(y),l||(y.charCodeAt(0)===95&&y.charCodeAt(1)===99||y.charCodeAt(0)===95&&y.indexOf("_c",1)!==-1)&&(l=!0);l&&Fo(n)}const d=t.display!=null&&typeof t.display!="function"?t.display:t.hide===!0||t.show===!1?"none":null;if(d!=null){const f=r.display;if(f&&f!==d)if(d==="none"){const l=[];for(const y of n.classList)y.startsWith("_d-")&&y!=="_d-none"&&l.push(y);for(const y of l)n.classList.remove(y);n.classList.add("_d-none")}else n.style.display==="none"&&(typeof t.hide=="function"||typeof t.show=="function")||(n.style.display=t.display),t.__ref&&(t.__ref.__explicitDisplay=t.display)}}}finally{(0,A.popStaticCssPass)(),s&&(0,k.popConfig)(),Lt.delete(t)}}function Xt(t){const{node:n}=t;if(!n||!n.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 i="aria-"+e.replace(/[A-Z]/g,c=>"-"+c.toLowerCase());n.setAttribute(i,(0,j.serializeAttrValue)(i,o))}const s=(0,j.applyAttrTransforms)(t);for(const e in s){const o=s[e];o!=null&&o!==!1&&typeof o!="function"&&typeof o!="object"&&n.setAttribute(e,o===!0?"":o)}const r=t.tag||"div";for(const e of Object.keys(t)){if(typeof t[e]=="function"||U.REGISTRY.has(e)||e==="on"||s[e]!==void 0)continue;const o=e.charCodeAt(0);if(!(o>=65&&o<=90)&&!Z(e)&&!(A.CSS_PROPS_REGISTRY[e]||A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(e))&&(0,j.checkAttributeByTagName)(r,e)){let i=t[e];if(i==null||(typeof i=="string"&&i.includes("{{")&&(i=(0,W.replaceLiteralsWithObjectFields)(i,t,t.state,t.context),t[e]=i),i==null||typeof i=="function"||typeof i=="object")||i===!1&&!(0,j.isEnumeratedTrueFalseAttr)((0,j.camelToAttr)(e)||e))continue;const c=(0,j.camelToAttr)(e)||e;n.setAttribute(c,(0,j.serializeAttrValue)(c,i))}}}function Uo(t,n){const s=t.node,r=t.__ref;let e=r.__autoGrow;if(!n){if(e&&e.active){try{s.removeEventListener("input",e.resize)}catch{}s.style.height="",e.appliedMax!=null&&s.style.maxHeight===e.appliedMax&&(s.style.maxHeight=""),e.active=!1,e.appliedMax=null,e.lastMeasure=0}return}e||(e=r.__autoGrow={active:!1,appliedMax:null,lastMeasure:0,resize:()=>{if(s.scrollHeight===0&&e.lastMeasure>0)return;s.style.height="auto";const i=s.scrollHeight;s.style.height=i+"px",i>0&&(e.lastMeasure=i)}},r.__eventCleanup||(r.__eventCleanup=[]),r.__eventCleanup.push(()=>{try{s.removeEventListener("input",e.resize)}catch{}})),e.active||(s.addEventListener("input",e.resize),e.active=!0);const o=typeof n=="object"&&n.max!=null?String(n.max):null;o!==e.appliedMax&&(o==null?e.appliedMax!=null&&s.style.maxHeight===e.appliedMax&&(s.style.maxHeight=""):s.style.maxHeight=o,e.appliedMax=o),e.resize()}function Bo(t){if(!t.autoGrow)return;const n=t.node;if(!n||n.tagName!=="TEXTAREA")return;const s=t.__ref,r=t.autoGrow,e=typeof r=="function"?O(t,t.autoGrowDeps,r):null,o=(0,E.createEffect)(()=>{const i=t.autoGrow;let c=i;if(typeof i=="function")try{c=(i===r&&e?e:i)(t,t.state,t.context)}catch{c=null}Uo(t,c)},{depth:s.path.length,label:T(s,"autoGrow")});s.__effects||(s.__effects=[]),s.__effects.push(o),e&&(s.__exec.autoGrow=r)}const Jt=new Set(["onSwipe","onSwipeLeft","onSwipeRight","onSwipeUp","onSwipeDown"]);function mt(t,n){for(const s of Object.keys(t)){if(!Z(s)||Jt.has(s))continue;const r=(0,tt.globalEventKeyInfo)(s);if(r){(0,tt.registerGlobalEvent)(r,t,t[s]);continue}let e=t[s];if(typeof e=="string"&&/^[A-Za-z_$][\w$]*$/.test(e)){const i=e;e=function(a){return t.call(i,a)}}if(typeof e!="function")continue;const o=ko(s);U.LIFECYCLE_EVENTS.has(o)||(0,tt.registerEvent)(So(o),t,e)}Ko(t)}function Ko(t){const n=t.node;if(!n||!n.addEventListener)return;const s={};let r=!1;for(const l of Jt){const y=t[l];typeof y=="function"&&(s[l]=y,r=!0)}if(!r)return;const e=typeof t.swipeThreshold=="number"?t.swipeThreshold:40,o=typeof t.swipeMaxDuration=="number"?t.swipeMaxDuration:600;let i=0,c=0,a=0,u=!1;const d=l=>{const y=l.touches&&l.touches[0]||l.changedTouches&&l.changedTouches[0];y&&(i=y.clientX,c=y.clientY,a=Date.now(),u=!0)},f=l=>{if(!u)return;u=!1;const y=l.changedTouches&&l.changedTouches[0]||l.touches&&l.touches[0];if(!y)return;const g=y.clientX-i,_=y.clientY-c,p=Date.now()-a;if(p>o)return;const h=Math.abs(g),b=Math.abs(_);if(Math.max(h,b)<e)return;let x;if(h>b*1.2)x=g<0?"left":"right";else if(b>h*1.2)x=_<0?"up":"down";else return;const S="onSwipe"+x.charAt(0).toUpperCase()+x.slice(1),C=s[S],P=s.onSwipe;C&&C.call(t,l,t,t.state,t.context),P&&P.call(t,{direction:x,dx:g,dy:_,dt:p,event:l},t,t.state,t.context)};n.addEventListener("touchstart",d,{passive:!0}),n.addEventListener("touchend",f,{passive:!0}),t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{try{n.removeEventListener("touchstart",d)}catch{}try{n.removeEventListener("touchend",f)}catch{}})}function ft(t,n){const s={...t};for(const r in n){const e=s[r],o=n[r];e&&o&&typeof e=="object"&&typeof o=="object"&&!Array.isArray(e)&&!Array.isArray(o)&&typeof e!="function"&&typeof o!="function"?s[r]=ft(e,o):s[r]=o}return s}function Rt(t,n,s,r){if(!n||!t.node)return;const e=t.childExtends;if(Array.isArray(n)){const o=t.tag==="fragment",i=t.context?.document||globalThis.document,c=o?null:i?.createDocumentFragment();if(!o&&!c)return;const a=t.childProps,u=t.childrenAs,d=p=>{let h=n[p];const b=h;(typeof h=="string"||typeof h=="number")&&(h={text:h});let x=a;if(typeof a=="function")try{x=a(t,h)}catch{x=null}if(u==="state"){let C=b;(typeof b=="string"||typeof b=="number")&&(C={value:b,text:b}),h=x?{...x,state:C}:{state:C}}else x&&(h=ft(x,h));if(e&&!h.ignoreChildExtends)if(h.extends){const C=Array.isArray(h.extends)?h.extends:[h.extends],P=Array.isArray(e)?e:[e];h={...h,extends:[...P,...C]}}else h={...h,extends:e};const S=h?.key||b&&typeof b=="object"&&b.key||`${p}`;try{return H(h,t,S,s)}catch(C){if(typeof console<"u"&&console.error){const P=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${S}" failed to construct at ${P} (initial render, skipping this row):`,C?.message||C)}return null}},f=t.__ref;if(!(r===!0&&!o&&!!f&&(s?.mountYield===!0||t.yieldChildren===!0))){for(let p=0;p<n.length;p++){const h=d(p);!o&&h?.node&&c.appendChild(h.node)}return o||t.node.appendChild(c),!0}const y=f.__childrenChunkGen=(f.__childrenChunkGen||0)+1;(0,I.openMountBudget)();let g=null;const _=p=>{if(f.__disposed||f.__childrenChunkGen!==y){g&&g.parentNode&&g.remove();return}for(let h=p;h<n.length;h++){const b=d(h);if(b?.node&&(g?t.node.insertBefore(b.node,g):c.appendChild(b.node)),h+1<n.length&&(0,I.mountBudgetExhausted)()){g||(g=i.createComment("smbls-mount"),c.appendChild(g),t.node.appendChild(c));const x=h+1;(0,I.enqueueMountWork)(()=>_(x));return}}g?(g.remove(),t.node.tagName==="SELECT"&&ht(t,!0)):t.node.appendChild(c)};return _(0),(0,I.closeMountBudget)(),!0}if(typeof n=="string"){const o=Bt(n,t);if(Array.isArray(o))return Rt(t,o,s,r)}if(typeof n=="object")for(const o in n){if(U.REGISTRY.has(o))continue;let i=n[o];if(!(i==null||i===!1)){if((typeof i=="string"||typeof i=="number")&&(i={text:i}),t.childProps&&(i=ft(t.childProps,i)),e&&!i.ignoreChildExtends)if(i.extends){const c=Array.isArray(i.extends)?i.extends:[i.extends],a=Array.isArray(e)?e:[e];i={...i,extends:[...a,...c]}}else i={...i,extends:e};H(i,t,o,s)}}}function ht(t,n){const s=t.node;if(!s||s.tagName!=="SELECT")return;const r=s.options;if(!r||!r.length)return;const e=t.__ref,o=e&&e.__exec&&e.__exec.value,i=typeof o=="function",c=t.value!=null&&typeof t.value!="function";if(i||c){let d;if(i)try{d=o(t,t.state,t.context)}catch{return}else d=t.value;const f=d==null?"":String(d);s.value!==f&&(s.value=f);return}const a=n||!(e&&e.__selectSynced);if(e&&(e.__selectSynced=!0),!a)return;let u=-1;for(let d=0;d<r.length;d++)r[d].defaultSelected&&(u=d);u>=0&&s.selectedIndex!==u&&(s.selectedIndex=u)}function to(t,n){let{children:s,content:r}=t;const e=t.childExtends;if(typeof s=="function"){const f=s;try{s=f(t,t.state,t.context)}catch(p){if(s=void 0,typeof console<"u"&&console.error){const h=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${h} (initial run, treating as empty):`,p?.message||p)}}t.children=s;const l=t.__ref;let y=!1;const g=O(t,t.childrenDeps,f),_=(0,E.createEffect)(()=>{const p=y;y=!0;let h;try{h=g(t,t.state,t.context)}catch(D){if(typeof console<"u"&&console.error){const L=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${L}${p?"":" (initial tracking run)"}:`,D?.message||D)}return}if(!p||h===t.children)return;t.children=h,l.__childrenChunkGen!=null&&l.__childrenChunkGen++;const b=typeof t.onContentUpdate=="function",x=b?[]:null,S=b?[]:null,C=b?[]:null;if(Array.isArray(h)&&t.childrenAs==="state"){const D=t.childProps,L=[],st=new Map;for(let v=0;v<h.length;v++){const N=h[v];let w=D;if(typeof D=="function")try{w=D(t,N)}catch{w=null}const V=w&&w.key||N&&N.key||`${v}`;L.push(V),st.set(V,{rawChild:N,childProps:w})}const co=new Set(L),fo=l.__children.slice();for(const v of fo)if(!co.has(v)){const N=t[v];N?.remove&&N.remove(),delete t[v],S&&S.push(v)}const nt=t.childExtends,dt=t.tag==="fragment",ao=t.context?.document||globalThis.document,et=dt?null:ao?.createDocumentFragment(),bt=new Set;for(const v of L){const N=st.get(v),w=N.rawChild,V=t[v];if(V&&V.state){if(w&&typeof w=="object"){const $=V.state,q=$.$replace||$.replace,Mt=$.$update||$.update;try{if(typeof q=="function")q.call($,w);else if(typeof Mt=="function"){for(const F in $)if(!(F==="__element"||F==="root"||F==="parent"||F==="update")&&!Object.prototype.hasOwnProperty.call(w,F))try{$[F]=void 0}catch{}Mt.call($,w)}else for(const F in w)$[F]=w[F]}catch(F){if(typeof console<"u"&&console.error){const uo=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${v}" failed to patch at ${uo} (reconcile, keeping its previous data for this pass):`,F?.message||F)}}}C&&C.push(v);continue}let xt=w;(typeof w=="string"||typeof w=="number")&&(xt={value:w,text:w});const $t=N.childProps;let B=$t?{...$t,state:xt}:{state:xt};if(nt&&!B.ignoreChildExtends)if(B.extends){const $=Array.isArray(B.extends)?B.extends:[B.extends],q=Array.isArray(nt)?nt:[nt];B={...B,extends:[...q,...$]}}else B={...B,extends:nt};let At;try{At=H(B,t,v,n)}catch($){if(typeof console<"u"&&console.error){const q=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${v}" failed to construct at ${q} (reconcile, skipping this row):`,$?.message||$)}bt.add(v);continue}!dt&&At?.node&&et&&et.appendChild(At.node),x&&x.push(v)}if(!dt&&et&&et.childNodes.length&&t.node&&t.node.appendChild(et),!dt&&t.node){let v=null;for(const N of L){const w=t[N]?.node;if(!w)continue;const V=v?v.nextSibling:t.node.firstChild;w!==V&&t.node.insertBefore(w,V),v=w}}l.__children=bt.size?L.filter(v=>!bt.has(v)):L,b&&(x.length||S.length)&&Ut(t,{added:x,removed:S,kept:C}),ht(t,!1);return}const ot=b?[...l.__children]:null;for(const D of[...l.__children]){const L=t[D];L?.remove&&L.remove(),delete t[D]}l.__children=[],Rt(t,h,n),ht(t,!1),b&&Ut(t,{added:[...l.__children],removed:ot,kept:[]})},{depth:l.path.length,label:T(l,"children")});l.__effects.push(_)}const o=Rt(t,s,n,!0);if(r!=null&&!(r&&r.__ref)){let f=r;if(typeof f=="string"||typeof f=="number"?f={text:f}:typeof f!="object"&&(f={}),t.childProps&&(f=ft(t.childProps,f)),e&&!f.ignoreChildExtends)if(f.extends){const l=Array.isArray(f.extends)?f.extends:[f.extends],y=Array.isArray(e)?e:[e];f={...f,extends:[...y,...l]}}else f={...f,extends:e};H(f,t,"content",n)}if(s&&!o)return;const i=t.context?.components||{};{const f=Object.keys(t);for(let l=0;l<f.length;l++){const y=f[l];if(!y.endsWith("Extends")||typeof t[y]!="string")continue;const g=y.slice(0,-7);if(!g||g.charCodeAt(0)<65||g.charCodeAt(0)>90)continue;const _={extends:t[y]};delete t[y];for(let p=l+1;p<f.length;p++){const h=f[p],b=h.charCodeAt(0);if(b>=65&&b<=90||U.REGISTRY.has(h)||typeof t[h]=="function"&&(h.startsWith("on")||h.startsWith(".")))break;const x=t[h];x!==void 0&&(_[h]=x,delete t[h])}t[g]&&typeof t[g]=="object"?t[g]={..._,...t[g]}:t[g]=_}}const c=n?.mountYield===!0||t.yieldChildren===!0,a=Object.keys(t),u=f=>{if(U.REGISTRY.has(f)||typeof t[f]!="object"||t[f]===null)return;const l=f.charCodeAt(0);if(l<65||l>90)return;let y=t[f];if(!y.__ref){if(!y.extends&&!y.extend){const g=i[f]||i[`smbls.${f}`];g&&(y={...y,extends:g})}if(t.childProps&&(y=ft(t.childProps,y)),e&&!y.ignoreChildExtends)if(y.extends){const g=Array.isArray(y.extends)?y.extends:[y.extends],_=Array.isArray(e)?e:[e];y={...y,extends:[..._,...g]}}else y={...y,extends:e};H(y,t,f,n)}};if(!c){for(const f of a)u(f);return}(0,I.openMountBudget)();const d=f=>{for(let l=f;l<a.length;l++)if(u(a[l]),l+1<a.length&&(0,I.mountBudgetExhausted)()){const y=l+1;(0,I.enqueueMountWork)(()=>d(y));return}};d(0),(0,I.closeMountBudget)()}function oo(t,n,s){const{node:r}=t;if(!r)return;r.ref=t;const e=n?.tag==="fragment"?n.__ref?.__fragmentAnchor:null;if(e){const i=e.parentNode;if(i){if(s?.position==="before"&&s.node)i.insertBefore(r,s.node);else if(s?.position==="after"&&s.node){const c=s.node.nextSibling;i.insertBefore(r,c||e)}else i.insertBefore(r,e);return}}const o=n?.node||(n?.nodeType?n:null);if(o)if(s?.position==="before"&&s.node)o.insertBefore(r,s.node);else if(s?.position==="after"&&s.node){const i=s.node.nextSibling;i?o.insertBefore(r,i):o.appendChild(r)}else o.appendChild(r)}const gt=3;function io(t){return!t||t.__inBeforeUpdate||(t.__beforeUpdateFailCount||0)>=gt?!1:(t.__inBeforeUpdate=!0,!0)}function ut(t,n){t&&(t.__inBeforeUpdate=!1,n?(t.__beforeUpdateFailCount=(t.__beforeUpdateFailCount||0)+1,t.__beforeUpdateFailCount===gt&&typeof console<"u"&&console.error&&console.error(`[DOMQL] onBeforeUpdate failed ${gt}x in a row on this element \u2014 pausing automatic retries until a future prop/state change re-arms it.`)):t.__beforeUpdateFailCount=0)}function M(t,n,s){const r=t.charAt(0).toLowerCase()+t.slice(1);n.context?.plugins?.length&&(0,K.runPluginHook)(r,n,s);const e="on"+t,o=n[e];if(typeof o=="function"){const a=t==="Render"?"__inRender":t==="RenderRouter"?"__inRenderRouter":null;if(a){if(n.__ref[a])return!0;n.__ref[a]=!0}const u=n.context?.designSystem;u&&(0,k.pushConfig)(u);let d=!!a;try{const f=o(n,n.state,n.context,s);if(f&&typeof f.then=="function"){const l=n.__ref;return f.catch(y=>{n.context?.plugins?.length&&(0,K.runPluginHook)("error",n,{hook:e,error:y})||console.error(`[DOMQL] Lifecycle "${e}" error:`,y)}).finally(()=>{a&&l&&(l[a]=!1)}),d=!1,!0}if(f===!1)return!1}catch(f){if(n.context?.plugins?.length&&(0,K.runPluginHook)("error",n,{hook:e,error:f})||console.error(`[DOMQL] Lifecycle "${e}" error:`,f),n.context?.strictMode)throw f}finally{u&&(0,k.popConfig)(),d&&n.__ref&&(n.__ref[a]=!1)}}return!0}var Vo=H;
|
|
4
|
+
`):"")}}if(ht(o,!0),so(o,e,n),typeof o.html=="function"&&o.node&&!o.node.innerHTML){const _=o.context?.designSystem;_&&(0,k.pushConfig)(_);try{const p=o.html(o,o.state,o.context);p!=null&&typeof p!="function"&&(o.node.innerHTML=p)}catch{}finally{_&&(0,k.popConfig)()}}if(N("Create",o,r),N("Complete",o,r),N("Render",o,r),N("RenderRouter",o,r),St(o,r),typeof o.onFrame=="function"){const _=o.onFrame,p=o.context?.designSystem,h=()=>{if(o.node){if(o.node.isConnected){p&&(0,k.pushConfig)(p);try{_(o,o.state,o.context)}catch(b){console.error("[DOMQL] onFrame error:",b)}finally{p&&(0,k.popConfig)()}}requestAnimationFrame(h)}};requestAnimationFrame(h)}return o}function wo(t,e,s){const r=!e,n=s.state&&typeof s.state=="object"&&!Array.isArray(s.state)&&Object.keys(s.state).length===0,o=r&&n&&t.context?.state,i=s.state!==void 0&&!o?s.state:t.state&&!(0,R.isStore)(t.state)?t.state:void 0;if(i==null){if(e?.state)t.state=e.state,(0,tt.applyStateMethods)(t,t.state);else if(t.context?.state){const a=t.context.state,c={...a},u=t.context?.polyglot;if(u?.translations){const d=t.context,f=a.lang||u.defaultLang||"en",l=new Set,y=(p,h)=>{l.has(p)||(0,H.isPolyglotWritableKey)(d,p,c)&&(c[p]=h,l.add(p),(0,H.markPolyglotSeeded)(d,p))},g=u.translations[f];if(g&&typeof g=="object")for(const p in g)y(p,g[p]);const _=new Set(u.languages||[]);for(const p in u.translations)_.has(p)||y(p,u.translations[p])}t.state=(0,R.isStore)(c)?c:(0,R.createStore)(c),t.state.__element=t,t.state.root=t.state,(0,tt.applyStateMethods)(t,t.state)}else t.state={},Object.defineProperty(t.state,"root",{value:t.state,enumerable:!1,configurable:!0,writable:!0}),(0,tt.applyStateMethods)(t,t.state);return}if(typeof i=="string"){if(t.state=Kt(i,e),t.state&&typeof t.state=="object"&&!(0,R.isStore)(t.state)){const a=e?.state?.root||e?.state||t.state;Object.defineProperty(t.state,"root",{value:a,enumerable:!1,configurable:!0,writable:!0})}(0,tt.applyStateMethods)(t,t.state);return}if(typeof i=="function"){const a=i(t,e?.state);t.state=(0,R.isStore)(a)?a:(0,R.createStore)(a||{})}else(0,R.isStore)(i)?t.state=i:t.state=(0,R.createStore)({...i});t.state.__element=t,e?.state?(t.state.parent=e.state,t.state.root=e.state.root||e.state):t.state.root=t.state,(0,tt.applyStateMethods)(t,t.state)}function wt(t,e){if(!e)return t;const s=e.split("/");let r=t;for(const n of s){if(r==null)return{};r=r[n]}return r??{}}function Kt(t,e){if(!e)return{};if(t===".")return e.state||{};if(t.startsWith("../")){const n=t.slice(3);return n?wt(e.state,n):e.state??{}}if(t.startsWith("~/")){const n=e.state?.root||e.state,o=t.slice(2);return o?wt(n,o):n??{}}if(e.state?.[t]!==void 0)return e.state[t];const s=wt(e.state,t);if(s!=null&&Object.keys(s).length>0)return s;const r=e.context?.polyglot;if(r?.translations){const n=e.state?.root?.lang||r.defaultLang||"en",o=r.translations[n];if(o?.[t]!==void 0)return o[t];if(r.translations[t]!==void 0)return r.translations[t]}return{}}const jo=new Set(["s","state","ctx","context"]);function Eo(t){try{const s=Function.prototype.toString.call(t).match(/^[^(]*\(([^)]*)\)/);return s?s[1].split(",").map(r=>r.trim().split("=")[0].trim()).filter(Boolean):[]}catch{return[]}}function Po(t){if(typeof t!="function"||t.length!==2)return!1;const e=Eo(t);if(e.length<2)return!1;const s=e[1].replace(/[{}[\]]/g,"").trim();return s.length>0&&!jo.has(s)}function To(t){const e=t.__ref,s=t.tag||"div",r=t.context?.designSystem,n=[],o=Object.keys(t);for(let i=0;i<o.length;i++){const a=o[i];if(typeof t[a]!="function"||U.REGISTRY.has(a))continue;const c=a.charCodeAt(0);c>=65&&c<=90||Y(a)||A.CSS_PROPS_REGISTRY[a]||A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(a)||(0,S.checkAttributeByTagName)(s,a)||((0,m.isLoudDevRuntime)()&&Po(t[a])&&console.warn(`[smbls] custom prop "${a}"${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('${a}', \u2026) instead of reading el.${a}(\u2026) directly (see RULES.md Rule 8).`),n.push({prop:a,fn:t[a]}))}for(let i=0;i<n.length;i++){const{prop:a,fn:c}=n[i];e.__exec[a]=c,Object.defineProperty(t,a,{get(){r&&(0,k.pushConfig)(r);try{return c(t,t.state,t.context)}catch{return}finally{r&&(0,k.popConfig)()}},set(u){delete e.__exec[a],Object.defineProperty(t,a,{value:u,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}}function Do(t,e){if(!(!Array.isArray(e)||e.length===0))for(let s=0;s<e.length;s++){const r=e[s];try{typeof r=="function"?r(t,t.state,t.context):typeof r=="string"&&t.state?.[r]}catch{}}}function O(t,e,s){return!Array.isArray(e)||e.length===0?s:function(...r){return Do(t,e),s.apply(this,r)}}function ct(t,e){if(!(!t||Array.isArray(t)||typeof t!="object"))return t[e]}function T(t,e){return()=>t.path.join(".")+"::"+e}function Vt(t,e){const s=t.__ref,r=!!(e&&e.skipIfEffect);if(To(t),typeof t.text=="function"){const o=t.text,i=O(t,t.textDeps,o),a=(0,E.createEffect)(()=>{if(!s.contentManaged)try{let c=i(t,t.state,t.context);t.node&&c!=null&&typeof c!="function"&&typeof c!="object"&&(typeof c=="string"&&c.includes("{{")&&(c=H.replaceLiteralsWithObjectFields.call(t,c,t.state)),at(t,c))}catch{}},{depth:s.path.length,label:T(s,"text")});s.__effects.push(a),s.__exec.text=o}else if(typeof t.text=="string"&&t.text.includes("{{")){const o=t.text,i=(0,E.createEffect)(()=>{if(s.contentManaged)return;const a=H.replaceLiteralsWithObjectFields.call(t,o,t.state);a!=null&&(t.text=a),t.node&&at(t,a??"")},{depth:s.path.length,label:T(s,"text")});s.__effects.push(i),s.__exec.text=o}for(const o of Object.keys(t))if(typeof t[o]=="function"&&!U.REGISTRY.has(o)&&!Y(o)&&!s.__exec[o]){if(A.CSS_PROPS_REGISTRY[o]){const i=t[o],a=O(t,t[o+"Deps"],i),c=o;let u,d=null,f=null,l;const y=(0,E.createEffect)(()=>{const g=t.context?.designSystem;g&&(0,k.pushConfig)(g);try{const _=a(t,t.state,t.context);(0,A.pushStaticCssPass)();let p;try{p=A.CSS_PROPS_REGISTRY[c](_,t,t.state,t.context)}finally{(0,A.popStaticCssPass)()}if(Array.isArray(p)){const b={};for(const x of p)if(x)for(const v in x)b[v]=x[v];p=b}const h=c==="show"||c==="hide";if(p&&t.node&&Lo(p)){const b=lt(p);if(b===null||b!==l){l=b;const x=(0,G.css)(p,null,t.context?.cssPrefix),v=x?x.split(" ").filter(Boolean):null;if(t.node.classList){if(f)for(const C of f)t.node.classList.remove(C);if(v&&v.length)for(const C of v)t.node.classList.add(C);f=v}}u=void 0,d=null}else if(p&&t.node){if(f){for(const x of f)t.node.classList.remove(x);f=null,l=void 0}const b=lt(p);(b===null||b!==u||!yt(t.node,d))&&(u=b,X(t.node,p),d=pt(t.node,p))}else if(t.node&&h){u=void 0,d=null;const b=s.__explicitDisplay;t.node.style.display=typeof b=="string"?b:""}}finally{g&&(0,k.popConfig)()}},{depth:s.path.length,label:T(s,c)});s.__effects.push(y),s.__exec[o]=i}else if(A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(o)){const i=t[o],a=O(t,t[o+"Deps"],i),c=o;let u,d=null;const f=(0,E.createEffect)(()=>{const l=t.context?.designSystem;l&&(0,k.pushConfig)(l);try{const y=a(t,t.state,t.context);if(t.node)if(y!=null){const g=c+":"+String(y);if(g!==u||!yt(t.node,d)){u=g;const _={[c]:y};X(t.node,_),d=pt(t.node,_)}}else u=void 0,d=null,t.node.style[c]=""}finally{l&&(0,k.popConfig)()}},{depth:s.path.length,label:T(s,c)});s.__effects.push(f),s.__exec[o]=i}}if(typeof t.html=="function"){const o=t.html,i=O(t,t.htmlDeps,o),a=(0,E.createEffect)(()=>{const c=t.context?.designSystem;c&&(0,k.pushConfig)(c);try{const u=i(t,t.state,t.context);t.node&&u!=null&&typeof u!="function"&&(t.node.innerHTML=u)}finally{c&&(0,k.popConfig)()}},{depth:s.path.length,label:T(s,"html")});s.__effects.push(a),s.__exec.html=o}if(typeof t.value=="function"){const o=t.value,i=O(t,t.valueDeps,o),a=(0,E.createEffect)(()=>{try{const c=i(t,t.state,t.context);if(!t.node||!("value"in t.node))return;const u=c==null?"":String(c);if(t.node.value===u)return;const d=typeof document<"u"&&document.activeElement===t.node,f=d&&typeof t.node.selectionStart=="number"?t.node.selectionStart:null,l=d&&typeof t.node.selectionEnd=="number"?t.node.selectionEnd:null;if(t.node.value=u,d&&f!=null&&l!=null)try{t.node.setSelectionRange(f,l)}catch{}}catch{}},{depth:s.path.length,label:T(s,"value")});s.__effects.push(a),s.__exec.value=o}if(typeof t.style=="function"){const o=t.style,i=O(t,t.styleDeps,o);let a,c=null;const u=(0,E.createEffect)(()=>{const d=i(t,t.state,t.context),f=lt(d);(f===null||f!==a||!yt(t.node,c))&&(a=f,X(t.node,d),c=pt(t.node,d))},{depth:s.path.length,label:T(s,"style")});s.__effects.push(u),s.__exec.style=o}else if(t.style&&typeof t.style=="object")for(const o in t.style){const i=t.style[o];if(typeof i!="function")continue;const a=O(t,ct(t.styleDeps,o),i);let c,u=null;const d=(0,E.createEffect)(()=>{try{const f=a(t,t.state,t.context);if(t.node){const l=o+":"+String(f);if(l!==c||!yt(t.node,u)){c=l;const y={[o]:f};X(t.node,y),u=pt(t.node,y)}}}catch{}},{depth:s.path.length,label:T(s,"style."+o)});s.__effects.push(d)}if(t.attr&&typeof t.attr=="object"){for(const o in t.attr)if(typeof t.attr[o]=="function"){const i=O(t,ct(t.attrDeps,o),t.attr[o]),a=o,c=(0,E.createEffect)(()=>{try{const u=i(t,t.state,t.context);t.node?.setAttribute&&(u==null||u===!1&&!(0,S.isEnumeratedTrueFalseAttr)(a)?t.node.removeAttribute(a):typeof u!="function"&&typeof u!="object"&&t.node.setAttribute(a,(0,S.serializeAttrValue)(a,u)))}catch{}},{depth:s.path.length,label:T(s,"attr."+a)});c._attrName=a.toLowerCase(),s.__effects.push(c)}}if(t.aria&&typeof t.aria=="object")for(const o in t.aria){if(typeof t.aria[o]!="function")continue;const i=O(t,ct(t.ariaDeps,o),t.aria[o]),a="aria-"+o.replace(/[A-Z]/g,u=>"-"+u.toLowerCase()),c=(0,E.createEffect)(()=>{try{const u=i(t,t.state,t.context);if(!t.node?.setAttribute)return;u==null?t.node.removeAttribute(a):typeof u!="function"&&typeof u!="object"&&t.node.setAttribute(a,(0,S.serializeAttrValue)(a,u))}catch{}},{depth:s.path.length,label:T(s,"aria."+o)});c._attrName=a,s.__effects.push(c)}if(t.data&&typeof t.data=="object")for(const o in t.data){if(typeof t.data[o]!="function")continue;const i=O(t,ct(t.dataDeps,o),t.data[o]),c="data-"+o.replace(/[A-Z]/g,d=>"-"+d.toLowerCase()),u=(0,E.createEffect)(()=>{try{const d=i(t,t.state,t.context);if(!t.node?.setAttribute)return;d==null||d===!1?t.node.removeAttribute(c):typeof d!="function"&&typeof d!="object"&&t.node.setAttribute(c,d===!0?"":d)}catch{}},{depth:s.path.length,label:T(s,"data."+o)});u._attrName=c,s.__effects.push(u)}const n=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(n)for(const o in n){if(typeof n[o]!="function")continue;const i=O(t,ct(t.classDeps,o),n[o]),a=(0,E.createEffect)(()=>{try{const c=i(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:s.path.length,label:T(s,"class."+o)});s.__effects.push(a)}!r&&typeof t.if=="function"&&Ht(t,s,t.if);for(const o of Object.keys(t)){if(U.REGISTRY.has(o)||typeof t[o]!="function")continue;const i=o.charCodeAt(0);if(i>=65&&i<=90||Y(o))continue;const a=t[o];s.__exec[o]=a;const c=t.tag||"div";if((0,S.checkAttributeByTagName)(c,o)&&!A.CSS_PROPS_REGISTRY[o]&&!(A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(o))){const u=(0,S.camelToAttr)(o)||o,d=O(t,t[o+"Deps"],a),f=(0,E.createEffect)(()=>{try{const l=d(t,t.state,t.context);t.node?.setAttribute&&(l==null||l===!1&&!(0,S.isEnumeratedTrueFalseAttr)(u)?t.node.removeAttribute(u):typeof l!="function"&&typeof l!="object"&&(u==="src"&&"src"in t.node?t.node.src=l:t.node.setAttribute(u,(0,S.serializeAttrValue)(u,l))))}catch{}},{depth:s.path.length,label:T(s,o)});f._attrName=u.toLowerCase(),s.__effects.push(f)}}if(Mo(t),Fo(t),typeof t.onStateUpdate=="function"&&Array.isArray(t.stateDeps)){const o=t.onStateUpdate,i=t.stateDeps;let a=!1,c=[];const u=(0,E.createEffect)(()=>{const d=[];for(let g=0;g<i.length;g++){const _=i[g];try{d[g]=typeof _=="function"?_(t,t.state,t.context):t.state?.[_]}catch{d[g]=void 0}}if(!a){a=!0,c=d;return}let f=d.length!==c.length;for(let g=0;!f&&g<d.length;g++)d[g]!==c[g]&&(f=!0);const l=c;if(c=d,!f)return;const y=t.context?.designSystem;y&&(0,k.pushConfig)(y);try{o(t,t.state,t.context,{prev:l,next:d})}catch(g){if(t.context?.plugins?.length&&(0,K.runPluginHook)("error",t,{hook:"onStateUpdate",error:g})||console.error('[DOMQL] Lifecycle "onStateUpdate" error:',g),t.context?.strictMode)throw g}finally{y&&(0,k.popConfig)()}},{depth:s.path.length,label:T(s,"onStateUpdate")});s.__effects.push(u)}$o(t)}function Gt(t){const e=t.parent,s=e?.node;if(!s||!t.node){so(t,t.parent);return}let r=null;const n=Object.keys(e),o=n.indexOf(t.key);for(let i=o+1;i<n.length;i++){const a=e[n[i]];if(a?.node?.parentNode===s){r=a.node;break}}r?s.insertBefore(t.node,r):s.appendChild(t.node)}function Ht(t,e,s){const r=O(t,t.ifDeps,s),n=(0,E.createEffect)(()=>{let o;try{o=r(t,t.state,t.context)}catch(a){if(o=!1,e.__ifError=a,typeof console<"u"&&console.warn){const c=t.key||t.tag||"?";console.warn(`[smbls] \`if:\` reactive effect threw on ${c} \u2014 treating as false:`,a?.message||a)}return}const i=e.__if;if(e.__if=!!o,i&&!e.__if&&t.node){t.node.remove();try{typeof t.onRemove=="function"&&t.onRemove(t)}catch(a){console.error("[smbls] onRemove error:",a)}}else if(!i&&e.__if)if(e.__ifInitialized)t.node||(t.node=(0,q.cacheNode)(t)),t.node&&(t.node.ref=t),Gt(t),jt(t),N("Render",t,{}),St(t,{});else{if(e.__ifInitialized=!0,t.tag||(t.tag=(0,q.detectTag)(t)),N("Init",t,{}),t.node||(t.node=(0,q.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"&&!e.__fragmentAnchor){const c=(t.context?.document||globalThis.document).createComment("");t.node.appendChild(c),e.__fragmentAnchor=c}N("AttachNode",t,{}),t.node.setAttribute&&t.key&&t.node.setAttribute("data-key",t.key),t.id&&t.node.setAttribute&&(t.node.id=t.id),to(t,{}),Vt(t,{skipIfEffect:!0}),jt(t),Jt(t),oo(t,{}),Gt(t),N("Create",t,{}),N("Complete",t,{}),N("Render",t,{}),N("RenderRouter",t,{}),St(t,{})}},{depth:e.path.length,label:T(e,"if")});e.__effects.push(n)}function at(t,e){const s=t.node;if(!s)return;const r=e==null||typeof e=="object"?"":String(e);if(t.tag==="string"){s.nodeValue!==r&&(s.nodeValue=r);return}const n=t.__ref;let o=n?n.__textNode:null;if(o&&o.parentNode!==s&&(o=null),!o){const i=s.firstChild;i&&i.nodeType===3&&(o=i)}o?o.nodeValue!==r&&(o.nodeValue=r):s.firstChild?(o=(s.ownerDocument||t.context?.document||globalThis.document).createTextNode(r),s.insertBefore(o,s.firstChild)):(s.textContent=r,o=s.firstChild&&s.firstChild.nodeType===3?s.firstChild:null),n&&(n.__textNode=o||null)}function jt(t){const{node:e}=t;if(e){if((typeof t.text=="string"&&!t.text.includes("{{")||typeof t.text=="number")&&at(t,t.text),Uo(t),typeof t.html=="string"&&(e.innerHTML=t.html),t.value!=null&&typeof t.value!="function"&&"value"in e){const s=String(t.value);e.value!==s&&(e.value=s)}if(t.style&&typeof t.style=="object"){let s=t.style;for(const r in t.style)if(typeof t.style[r]=="function"){s={};for(const n in t.style)typeof t.style[n]!="function"&&(s[n]=t.style[n]);break}X(e,s)}if(t.attr&&typeof t.attr=="object")for(const s in t.attr){const r=t.attr[s];typeof r=="function"||typeof r=="object"||r!=null&&(r===!1&&!(0,S.isEnumeratedTrueFalseAttr)(s)||e.setAttribute&&e.setAttribute(s,(0,S.serializeAttrValue)(s,r)))}if(t.data&&typeof t.data=="object")for(const s in t.data){const r=t.data[s];typeof r=="function"||typeof r=="object"||r==null||r===!1||e.dataset&&(e.dataset[s]=r===!0?"":r)}if(t.classlist||t.class){const s=t.classlist||t.class;if(typeof s=="string")s.split(" ").forEach(r=>r&&e.classList.add(r));else if(typeof s=="object")for(const r in s){const n=typeof s[r]=="function"?s[r](t,t.state,t.context):s[r];n&&e.classList.add(typeof n=="string"?n:r)}}}}function lt(t){if(t==null||typeof t!="object")return"s:"+String(t);try{return"o:"+JSON.stringify(t)}catch{return null}}function Lo(t){if(!t||typeof t!="object")return!1;for(const e in t){const s=t[e];if(s&&typeof s=="object"&&!Array.isArray(s))return!0}return!1}function pt(t,e){if(!t||!t.style||!e)return null;const s=[];for(const r in e){if(e[r]==null||r.charAt(0)==="&")continue;const o=r.replace(/[A-Z]/g,i=>"-"+i.toLowerCase());s.push(o,t.style.getPropertyValue(o),t.style.getPropertyPriority(o))}return s}function yt(t,e){if(!e||!t||!t.style)return!1;for(let s=0;s<e.length;s+=3)if(t.style.getPropertyValue(e[s])!==e[s+1]||t.style.getPropertyPriority(e[s])!==e[s+2])return!1;return!0}const Et=t=>t.charCodeAt(0)===45&&t.charCodeAt(1)===45;function X(t,e){if(!t||!e||!t.style)return;let s=null;for(const r in e){const n=e[r];if(n!=null){if(r.charAt(0)==="&"&&typeof n=="object"){s||(s={}),s[r]=n;continue}try{const o=String(n),i=Et(r)?r:r.replace(/[A-Z]/g,d=>"-"+d.toLowerCase()),a=o.trim(),c=/\s*!important\s*$/.test(a),u=a.replace(/\s*!important\s*$/,"");t.style.setProperty(i,u,c?"important":"")}catch{}}}s&&Oo(t,s)}function Oo(t,e){const s=`_ds${Ft.scopedStyleId++}`;t.classList.add(s);const r=t.ownerDocument;let n=r.querySelector("style[data-smbls-scoped]");n||(n=r.createElement("style"),n.setAttribute("data-smbls-scoped",""),r.head.appendChild(n));let o="";for(const i in e){const a="."+s,c=i.replace(/&/g,a).split(",").map(d=>{const f=d.trim();return f.includes(a)?f:a+f}).join(", "),u=e[i];if(typeof u=="object"){let d="",f="";for(const l in u){const y=u[l];if(typeof y=="object"){const g=l.includes("&")?c.split(", ").map(p=>l.replace(/&/g,p)).join(", "):c.split(", ").map(p=>`${p} ${l}`).join(", ");let _="";for(const p in y)_+=`${p.replace(/[A-Z]/g,h=>"-"+h.toLowerCase())}: ${y[p]};`;f+=(0,G.wrapHoverRule)(`${g} { ${_} }`,g)+`
|
|
5
|
+
`}else d+=`${l.replace(/[A-Z]/g,g=>"-"+g.toLowerCase())}: ${y};`}d&&(o+=(0,G.wrapHoverRule)(`${c} { ${d} }`,c)+`
|
|
6
|
+
`),f&&(o+=f)}}o&&(n.textContent+=o)}const Wt=new Set;function zt(t){if(!Array.isArray(t))return"";const e=[];for(let s=0;s<t.length;s++)typeof t[s]=="string"&&t[s].length&&e.push(t[s]);return e.sort(),e.join("|")}function Ro(t,e,s){const r=zt(s);queueMicrotask(()=>{if(!t.__ref)return;let n;try{n=e(t,t.state,t.context)}catch{return}if(zt(n)===r)return;const o=t.__ref.path?t.__ref.path.join("."):t.key||"?";Wt.has(o)||(Wt.add(o),console.warn(`[smbls] subscribeTo function at "${o}" resolved to a DIFFERENT key list one microtask after create \u2014 wired [${s.join(", ")||"(none)"}], probed [${Array.isArray(n)?n.join(", "):String(n)}]. subscribeTo's function form is resolved ONCE at element-create time (registerSubscribeToEffects, @symbo.ls/element create.js) \u2014 this element stays wired to the ORIGINAL list for its whole lifetime, so this drift is invisible to the reactive effect and any key only present in the new list will never trigger onUpdate. If the watched key genuinely is not known until later (e.g. a module config that loads after shell boot), route the write through an imperative call instead of subscribeTo \u2014 see functions/moduleOpenBridge.js's moduleOpenPage (workspace repo) for the house pattern.`))})}function Mo(t){const e=t.subscribeTo,s=typeof e=="function";let r=e;if(s)try{r=e(t,t.state,t.context)}catch{r=null}if(s&&(0,m.isLoudDevRuntime)()&&Ro(t,e,Array.isArray(r)?r:[]),!Array.isArray(r)||r.length===0)return;const n=t.__ref;for(let o=0;o<r.length;o++){const i=r[o];if(typeof i!="string"||i.length===0)continue;const a=i.split("."),c=a[0],u=a.slice(1),d={value:!1},f=(0,E.createEffect)(()=>{const l=t.state&&((0,R.isStore)(t.state)?t.state.root:null);if(!l||!(0,R.isStore)(l))return;let y=l;y=y[c];for(let _=0;_<u.length&&!(y==null||typeof y!="object");_++)if((0,R.isStore)(y))y=y[u[_]];else break;if(!d.value)return;let g=!1;if(typeof t.onBeforeUpdate=="function"){const _=t.context?.designSystem;_&&(0,k.pushConfig)(_);try{if(co(n)){const p=t.onBeforeUpdate(t,t.state,t.context,{updateBySubscription:!0});p&&typeof p.then=="function"?p.then(()=>ut(n,!1),h=>{ut(n,!0),t.context?.plugins?.length&&(0,K.runPluginHook)("error",t,{hook:"onBeforeUpdate",error:h})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",h)}):(ut(n,!1),p===!1&&(g=!0))}}catch(p){ut(n,!0),t.context?.plugins?.length&&(0,K.runPluginHook)("error",t,{hook:"onBeforeUpdate",error:p})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",p)}finally{_&&(0,k.popConfig)()}}if(!g&&t.node&&n.__effects)for(let _=0;_<n.__effects.length;_++){const p=n.__effects[_];p&&p!==f&&!p._disposed&&!p._isSubscribeToEffect&&typeof p._execute=="function"&&p._execute()}if(!g&&typeof t.onUpdate=="function"){const _=t.context?.designSystem;_&&(0,k.pushConfig)(_);try{t.onUpdate(t,t.state,t.context)}catch(p){t.context?.plugins?.length&&(0,K.runPluginHook)("error",t,{hook:"onUpdate",error:p})||console.error("[DOMQL] subscribeTo onUpdate error:",p)}finally{_&&(0,k.popConfig)()}}},{depth:n.path.length,label:T(n,"subscribeTo("+i+")")});d.value=!0,f._isSubscribeToEffect=!0,n.__effects.push(f)}}function Pt(t,e){return t.charCodeAt(0)===64&&t.length>1&&!t.startsWith("@media")&&!t.startsWith("@keyframes")&&!t.startsWith("@supports")&&!t.startsWith("@container")&&(t==="@dark"||t==="@light"||!e.context?.designSystem?.media?.[t.slice(1)])}function Tt(t,e){if(t.charCodeAt(0)!==64||/^@(media|supports|container|keyframes)\b/.test(t))return t;const s=e.context?.designSystem?.media?.[t.slice(1)];return s?/^@(media|supports|container)\b/.test(s)?s:`@media ${s}`:t}const Yt=new Set;function No(t,e){const s=e?.__ref?.path?e.__ref.path.join("."):e?.key||"?",r=s+"::"+t;Yt.has(r)||(Yt.add(r),console.warn(`[smbls/css] "${t}" at ${s} 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 J(t,e,s){const r={},n=new Set,o=(i,a,c)=>{const u=c?new Set(Object.keys(r)):null;if(A.CSS_PROPS_REGISTRY[i]){const d=A.CSS_PROPS_REGISTRY[i](a,e,e.state,e.context);if(d){const f=Array.isArray(d)?d:[d];for(const l of f)l&&Object.assign(r,l)}}else r[i]=a;if(c)for(const d in r)u.has(d)||n.add(d)};for(const i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;let a=t[i];if(typeof a=="function"&&(a=a(e,e.state,e.context)),a==null||typeof a=="function")continue;if(typeof a=="object"&&!Array.isArray(a)){if(i==="style"){for(const f in a){let l=a[f];if(typeof l=="function"&&(l=l(e,e.state,e.context)),l==null||typeof l=="function")continue;const y=typeof e[f]=="function"&&(A.CSS_PROPS_REGISTRY[f]||A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(f));o(f,l,y)}continue}if(Pt(i,e)){const f=J(a,e,!1);Object.keys(f).length&&(r[`[data-theme="${i.slice(1)}"] &`]=f);continue}if(/^[A-Z][A-Za-z0-9]*$/.test(i)){(0,m.isLoudDevRuntime)()&&No(i,e);continue}const u=Tt(i,e),d=J(a,e,!1);Object.keys(d).length&&(r[u]=d);continue}const c=typeof e[i]=="function"&&(A.CSS_PROPS_REGISTRY[i]||A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(i));o(i,a,c)}if(s)for(const i in r)n.add(i);for(const i of n){const a=r[i];typeof a=="string"&&!a.includes("!important")&&(r[i]=a+" !important")}return r}function Dt(t,e){if(e===void 0&&(e=0),e>8)return!1;if(typeof t=="function")return!0;if(t&&typeof t=="object"&&!Array.isArray(t)){for(const s in t)if(Object.prototype.hasOwnProperty.call(t,s)&&Dt(t[s],e+1))return!0}return!1}function qt(t,e,s){if(!e||typeof e!="object"||Array.isArray(e))return null;if(Pt(t,s)){const o=J(e,s,!1);return Object.keys(o).length?{cssProp:`[data-theme="${t.slice(1)}"] &`,block:o}:null}const r=Tt(t,s),n=J(e,s,!1);return Object.keys(n).length?{cssProp:r,block:n}:null}function $o(t){const e=t.__ref;for(const s of Object.keys(t)){if(!vt(s))continue;const r=t[s];if(!r||typeof r!="object"||Array.isArray(r)||!Dt(r))continue;let n=null,o;const i=(0,E.createEffect)(()=>{if(!t.node)return;const a=t.context?.designSystem;a&&(0,k.pushConfig)(a);let c,u=!1;try{const d=qt(s,r,t),f=d?lt(d.block)+"::"+d.cssProp:null;if(f!==null&&f===o)u=!0;else if(o=f,d){const l=(0,G.css)({[d.cssProp]:d.block},null,t.context?.cssPrefix);c=l?l.split(" ").filter(Boolean):null}else c=null}finally{a&&(0,k.popConfig)()}if(!(u||!t.node.classList)){if(n)for(const d of n)t.node.classList.remove(d);if(c&&c.length)for(const d of c)t.node.classList.add(d);n=c}},{depth:e.path.length,label:T(e,"cssBlock("+s+")")});e.__effects.push(i)}}function Fo(t){const e=t.__ref;e.__conditionalRunners=[];const s=new Map;for(const r of Object.keys(t)){const n=r.charAt(0);if(n!=="."&&n!=="!")continue;const o=r.slice(1);if(!o)continue;if(/[:@\s>~+[\]]/.test(o)){if(typeof console<"u"&&console.warn){const y=o.split(/[:@\s>~+[\]]/)[0];console.warn(`[smbls] conditional \`${r}\` on ${t.key||"?"} will never match \u2014 the whole string after \`${n}\` is read as one prop name. Nest the selector inside instead: \`${n}${y}: { '${o.slice(y.length)}': {...} }\`.`)}continue}const i=t[r];if(!i||typeof i!="object")continue;const a=n==="!",c={lastMatch:!1,appliedKeys:null,appliedClasses:null},u=()=>{let y;const g=t[o];if(g===void 0){const h=!!t.state&&o in t.state,b=t.state?t.state[o]:void 0;if(h||b!==void 0)y=b;else{const x=t.context?.cases?.[o];if(x===void 0)return;try{y=typeof x=="function"?x.call(t,t):x}catch(v){y=!1,e.__conditionalError=v,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` case fn threw on ${t.key||"?"} \u2014 treating as false:`,v?.message||v)}}}else if(typeof g=="function")try{y=g(t,t.state,t.context)}catch(h){y=!1,e.__conditionalError=h,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` predicate threw on ${t.key||"?"} \u2014 treating as false:`,h?.message||h)}else y=g;const _=a?!y:!!y;if(!t.node||_===c.lastMatch)return;c.lastMatch=_;const p=t.context?.designSystem;p&&(0,k.pushConfig)(p);try{if(_){const h={},b={};let x=!1;for(const C in i){if(!Object.prototype.hasOwnProperty.call(i,C))continue;const P=i[C],z=C.charAt(0);if((z===":"||z==="@"||z==="&"||z==="[")&&P&&typeof P=="object"&&!Array.isArray(P)){if(Pt(C,t)){const D=J(P,t,!1);Object.keys(D).length&&(b[`[data-theme="${C.slice(1)}"] &`]=D,x=!0)}else{const D=Tt(C,t),L=J(P,t,!1);Object.keys(L).length&&(b[D]=L,x=!0)}continue}const Z=typeof P=="function"?P(t,t.state,t.context):P;if(Z!=null)if(A.CSS_PROPS_REGISTRY[C]){const D=A.CSS_PROPS_REGISTRY[C](Z,t,t.state,t.context);if(D){const L=Array.isArray(D)?D:[D];for(const st of L)st&&Object.assign(h,st)}}else(A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(C)||Et(C))&&(h[C]=Z)}const v=Object.keys(h);if(v.length){X(t.node,h);for(const C of v)s.set(C,r);c.appliedKeys=v}else c.appliedKeys=null;if(x){const C=(0,G.css)(b,null,t.context?.cssPrefix),P=C?C.split(" ").filter(Boolean):[];if(P.length&&t.node.classList){for(const z of P)t.node.classList.add(z);c.appliedClasses=P}else c.appliedClasses=null}else if(c.appliedClasses){for(const C of c.appliedClasses)t.node.classList.remove(C);c.appliedClasses=null}}else{if(c.appliedKeys){for(const h of c.appliedKeys)s.get(h)===r&&(Et(h)?t.node.style.removeProperty(h):t.node.style[h]="",s.delete(h));c.appliedKeys=null}if(c.appliedClasses){for(const h of c.appliedClasses)t.node.classList.remove(h);c.appliedClasses=null}}}finally{p&&(0,k.popConfig)()}};e.__conditionalRunners.push(u);const d=O(t,t[o+"Deps"],u),f=(0,E.createEffect)(d,{depth:e.path.length,label:T(e,"conditional("+r+")")}),l=e.__exec&&e.__exec[o]||t[o];f._sources.size===0&&typeof l=="function"&&(0,m.isLoudDevRuntime)()&&console.warn(`[smbls] conditional \`${r}\` on ${t.key||"?"} subscribed to nothing \u2014 its predicate tracked no reactive read on its first run, so no state write will ever re-evaluate it (only a direct element.update() on this element re-runs it). If the predicate guards its state reads (\`in\`, short-circuits, \`?.\`), declare \`${o}Deps: [...]\` (state-key strings or \`(el, s) => \u2026\` selectors) so the subscription is armed unconditionally.`),e.__effects.push(f)}}const Lt=new WeakSet;function Io(t){const e=t.ownerDocument;!e||Lt.has(e)||(Lt.add(e),queueMicrotask(()=>{Lt.delete(e);const s=e.body||e.documentElement;s&&s.offsetWidth}))}const Ot=new WeakSet;let Zt=!1;function Qt(t){return t.startsWith("[data-theme=")||t.startsWith("@media")&&t.includes("prefers-color-scheme")}function Rt(t,e){const s={...t};for(const r in e){const n=e[r],o=s[r];s[r]=n&&typeof n=="object"&&o&&typeof o=="object"?Rt(o,n):n}return s}function Xt(t,e){const s={};for(const r in t){const n=t[r];if(n&&typeof n=="object"){const o=Xt(n,e);Object.keys(o).length&&(s[r]=o)}else e.has(r)||(s[r]=n)}return s}function Uo(t){const{node:e}=t;if(!e)return;if(Zt||(Zt=!0,(0,G.css)({display:"none"})),Ot.has(t)){console.error("[applyCssInProps] re-entry detected for element",t.key,"prop path:",t.__ref?.path);return}Ot.add(t);const s=t.context?.designSystem;s&&(0,k.pushConfig)(s),(0,A.pushStaticCssPass)();try{const r={};let n=!1,o=null,i=null,a=null;const c=(u,d)=>{if(d&&typeof d=="object"&&Qt(u)){i||(i={});const f=i[u];f&&(d=Rt(f,d)),i[u]=d}else(d===null||typeof d!="object")&&(a||(a=new Set),a.add(u));r[u]=d};if(Object.prototype.hasOwnProperty.call(t,"theme")&&typeof t.theme!="function"&&A.CSS_PROPS_REGISTRY.theme){const u=A.CSS_PROPS_REGISTRY.theme(t.theme,t,t.state,t.context);if(u){const d=f=>{for(const l in f){const y=f[l];y&&typeof y=="object"&&Qt(l)&&(o||(o={}),o[l]=y),r[l]=y}};if(Array.isArray(u))for(const f of u)f&&d(f);else d(u);n=!0}}for(const u of Object.keys(t)){if(typeof t[u]=="function"||U.REGISTRY.has(u)||u==="theme")continue;const d=u.charCodeAt(0);if(!(d>=65&&d<=90)&&!Y(u)){if(A.CSS_PROPS_REGISTRY[u]){const f=t[u],l=A.CSS_PROPS_REGISTRY[u](f,t,t.state,t.context);if(l){if(Array.isArray(l)){for(const y of l)if(y)for(const g in y)c(g,y[g])}else for(const y in l)c(y,l[y]);n=!0}}else if(A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(u)){const f=t[u];f!=null&&typeof f!="object"&&(c(u,f),n=!0)}else if(u.charCodeAt(0)===45){const f=t[u];f!=null&&typeof f!="object"&&(c(u,f),n=!0)}else if(u.charAt(0)==="&"||u.charAt(0)==="@"||u.charAt(0)===":"||u.charAt(0)==="["){const f=t[u];if(f&&typeof f=="object"&&!Array.isArray(f)){if(Dt(f))continue;const l=qt(u,f,t);l&&(c(l.cssProp,l.block),n=!0)}}}}if(o)for(const u in o){let d=a?Xt(o[u],a):o[u];i&&i[u]&&(d=Rt(d,i[u])),Object.keys(d).length?r[u]=d:delete r[u]}if(n){r.display&&String(r.display).includes("!important")&&(e.style.setProperty("display",String(r.display).replace(/\s*!important\s*$/,""),"important"),delete r.display);const u=(0,G.css)(r,null,t.context?.cssPrefix);if(u&&e.classList){const f=u.split(" ").filter(Boolean);let l=!1;for(const y of f)e.classList.add(y),l||(y.charCodeAt(0)===95&&y.charCodeAt(1)===99||y.charCodeAt(0)===95&&y.indexOf("_c",1)!==-1)&&(l=!0);l&&Io(e)}const d=t.display!=null&&typeof t.display!="function"?t.display:t.hide===!0||t.show===!1?"none":null;if(d!=null){const f=r.display;if(f&&f!==d)if(d==="none"){const l=[];for(const y of e.classList)y.startsWith("_d-")&&y!=="_d-none"&&l.push(y);for(const y of l)e.classList.remove(y);e.classList.add("_d-none")}else e.style.display==="none"&&(typeof t.hide=="function"||typeof t.show=="function")||(e.style.display=t.display),t.__ref&&(t.__ref.__explicitDisplay=t.display)}}}finally{(0,A.popStaticCssPass)(),s&&(0,k.popConfig)(),Ot.delete(t)}}function Jt(t){const{node:e}=t;if(!e||!e.setAttribute)return;if(t.aria&&typeof t.aria=="object")for(const n in t.aria){const o=t.aria[n];if(typeof o=="function"||typeof o=="object"||o==null)continue;const i="aria-"+n.replace(/[A-Z]/g,a=>"-"+a.toLowerCase());e.setAttribute(i,(0,S.serializeAttrValue)(i,o))}const s=(0,S.applyAttrTransforms)(t);for(const n in s){const o=s[n];o!=null&&o!==!1&&typeof o!="function"&&typeof o!="object"&&e.setAttribute(n,o===!0?"":o)}const r=t.tag||"div";for(const n of Object.keys(t)){if(typeof t[n]=="function"||U.REGISTRY.has(n)||n==="on"||s[n]!==void 0)continue;const o=n.charCodeAt(0);if(!(o>=65&&o<=90)&&!Y(n)&&!(A.CSS_PROPS_REGISTRY[n]||A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(n))&&(0,S.checkAttributeByTagName)(r,n)){let i=t[n];if(i==null||(typeof i=="string"&&i.includes("{{")&&(i=(0,H.replaceLiteralsWithObjectFields)(i,t,t.state,t.context),t[n]=i),i==null||typeof i=="function"||typeof i=="object")||i===!1&&!(0,S.isEnumeratedTrueFalseAttr)((0,S.camelToAttr)(n)||n))continue;const a=(0,S.camelToAttr)(n)||n;e.setAttribute(a,(0,S.serializeAttrValue)(a,i))}}}function Bo(t,e){const{node:s}=t;if(!s||!s.setAttribute)return;const r=e.charCodeAt(0);if(r>=65&&r<=90||Y(e)||A.CSS_PROPS_REGISTRY[e]||A.DEFAULT_CSS_PROPERTIES_LIST&&A.DEFAULT_CSS_PROPERTIES_LIST.has(e)||!(0,S.checkAttributeByTagName)(t.tag||"div",e))return;const n=(0,S.camelToAttr)(e)||e,o=n.toLowerCase(),i=t.__ref&&t.__ref.__effects;let a=!1;if(i)for(let d=0;d<i.length;d++){const f=i[d];f&&f._attrName===o&&!f._disposed&&typeof f._execute=="function"&&(a=!0,f._execute())}if(a)return;let c=t[e];const u=S.ATTR_TRANSFORMS[e];if(u&&c!=null){const d=u(t);d!==void 0&&(c=d)}typeof c=="string"&&c.includes("{{")&&(c=(0,H.replaceLiteralsWithObjectFields)(c,t,t.state,t.context)),c==null||c===!1&&!(0,S.isEnumeratedTrueFalseAttr)(n)?s.removeAttribute(n):typeof c!="function"&&typeof c!="object"&&s.setAttribute(n,(0,S.serializeAttrValue)(n,c))}function Ko(t,e){const s=t.node,r=t.__ref;let n=r.__autoGrow;if(!e){if(n&&n.active){try{s.removeEventListener("input",n.resize)}catch{}s.style.height="",n.appliedMax!=null&&s.style.maxHeight===n.appliedMax&&(s.style.maxHeight=""),n.active=!1,n.appliedMax=null,n.lastMeasure=0}return}n||(n=r.__autoGrow={active:!1,appliedMax:null,lastMeasure:0,resize:()=>{if(s.scrollHeight===0&&n.lastMeasure>0)return;s.style.height="auto";const i=s.scrollHeight;s.style.height=i+"px",i>0&&(n.lastMeasure=i)}},r.__eventCleanup||(r.__eventCleanup=[]),r.__eventCleanup.push(()=>{try{s.removeEventListener("input",n.resize)}catch{}})),n.active||(s.addEventListener("input",n.resize),n.active=!0);const o=typeof e=="object"&&e.max!=null?String(e.max):null;o!==n.appliedMax&&(o==null?n.appliedMax!=null&&s.style.maxHeight===n.appliedMax&&(s.style.maxHeight=""):s.style.maxHeight=o,n.appliedMax=o),n.resize()}function Vo(t){if(!t.autoGrow)return;const e=t.node;if(!e||e.tagName!=="TEXTAREA")return;const s=t.__ref,r=t.autoGrow,n=typeof r=="function"?O(t,t.autoGrowDeps,r):null,o=(0,E.createEffect)(()=>{const i=t.autoGrow;let a=i;if(typeof i=="function")try{a=(i===r&&n?n:i)(t,t.state,t.context)}catch{a=null}Ko(t,a)},{depth:s.path.length,label:T(s,"autoGrow")});s.__effects||(s.__effects=[]),s.__effects.push(o),n&&(s.__exec.autoGrow=r)}const mt=new Set(["onSwipe","onSwipeLeft","onSwipeRight","onSwipeUp","onSwipeDown"]);function to(t,e){for(const s of Object.keys(t)){if(!Y(s)||mt.has(s))continue;const r=(0,ot.globalEventKeyInfo)(s);if(r){(0,ot.registerGlobalEvent)(r,t,t[s]);continue}let n=t[s];if(typeof n=="string"&&/^[A-Za-z_$][\w$]*$/.test(n)){const i=n;n=function(c){return t.call(i,c)}}if(typeof n!="function")continue;const o=So(s);U.LIFECYCLE_EVENTS.has(o)||(0,ot.registerEvent)(vo(o),t,n)}Go(t)}function Go(t){const e=t.node;if(!e||!e.addEventListener)return;const s={};let r=!1;for(const l of mt){const y=t[l];typeof y=="function"&&(s[l]=y,r=!0)}if(!r)return;const n=typeof t.swipeThreshold=="number"?t.swipeThreshold:40,o=typeof t.swipeMaxDuration=="number"?t.swipeMaxDuration:600;let i=0,a=0,c=0,u=!1;const d=l=>{const y=l.touches&&l.touches[0]||l.changedTouches&&l.changedTouches[0];y&&(i=y.clientX,a=y.clientY,c=Date.now(),u=!0)},f=l=>{if(!u)return;u=!1;const y=l.changedTouches&&l.changedTouches[0]||l.touches&&l.touches[0];if(!y)return;const g=y.clientX-i,_=y.clientY-a,p=Date.now()-c;if(p>o)return;const h=Math.abs(g),b=Math.abs(_);if(Math.max(h,b)<n)return;let x;if(h>b*1.2)x=g<0?"left":"right";else if(b>h*1.2)x=_<0?"up":"down";else return;const v="onSwipe"+x.charAt(0).toUpperCase()+x.slice(1),C=s[v],P=s.onSwipe;C&&C.call(t,l,t,t.state,t.context),P&&P.call(t,{direction:x,dx:g,dy:_,dt:p,event:l},t,t.state,t.context)};e.addEventListener("touchstart",d,{passive:!0}),e.addEventListener("touchend",f,{passive:!0}),t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{try{e.removeEventListener("touchstart",d)}catch{}try{e.removeEventListener("touchend",f)}catch{}})}function ft(t,e){const s={...t};for(const r in e){const n=s[r],o=e[r];n&&o&&typeof n=="object"&&typeof o=="object"&&!Array.isArray(n)&&!Array.isArray(o)&&typeof n!="function"&&typeof o!="function"?s[r]=ft(n,o):s[r]=o}return s}function Mt(t,e,s,r){if(!e||!t.node)return;const n=t.childExtends;if(Array.isArray(e)){const o=t.tag==="fragment",i=t.context?.document||globalThis.document,a=o?null:i?.createDocumentFragment();if(!o&&!a)return;const c=t.childProps,u=t.childrenAs,d=p=>{let h=e[p];const b=h;(typeof h=="string"||typeof h=="number")&&(h={text:h});let x=c;if(typeof c=="function")try{x=c(t,h)}catch{x=null}if(u==="state"){let C=b;(typeof b=="string"||typeof b=="number")&&(C={value:b,text:b}),h=x?{...x,state:C}:{state:C}}else x&&(h=ft(x,h));if(n&&!h.ignoreChildExtends)if(h.extends){const C=Array.isArray(h.extends)?h.extends:[h.extends],P=Array.isArray(n)?n:[n];h={...h,extends:[...P,...C]}}else h={...h,extends:n};const v=h?.key||b&&typeof b=="object"&&b.key||`${p}`;try{return W(h,t,v,s)}catch(C){if(typeof console<"u"&&console.error){const P=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${v}" failed to construct at ${P} (initial render, skipping this row):`,C?.message||C)}return null}},f=t.__ref;if(!(r===!0&&!o&&!!f&&(s?.mountYield===!0||t.yieldChildren===!0))){for(let p=0;p<e.length;p++){const h=d(p);!o&&h?.node&&a.appendChild(h.node)}return o||t.node.appendChild(a),!0}const y=f.__childrenChunkGen=(f.__childrenChunkGen||0)+1;(0,I.openMountBudget)();let g=null;const _=p=>{if(f.__disposed||f.__childrenChunkGen!==y){g&&g.parentNode&&g.remove();return}for(let h=p;h<e.length;h++){const b=d(h);if(b?.node&&(g?t.node.insertBefore(b.node,g):a.appendChild(b.node)),h+1<e.length&&(0,I.mountBudgetExhausted)()){g||(g=i.createComment("smbls-mount"),a.appendChild(g),t.node.appendChild(a));const x=h+1;(0,I.enqueueMountWork)(()=>_(x));return}}g?(g.remove(),t.node.tagName==="SELECT"&&ht(t,!0)):t.node.appendChild(a)};return _(0),(0,I.closeMountBudget)(),!0}if(typeof e=="string"){const o=Kt(e,t);if(Array.isArray(o))return Mt(t,o,s,r)}if(typeof e=="object")for(const o in e){if(U.REGISTRY.has(o))continue;let i=e[o];if(!(i==null||i===!1)){if((typeof i=="string"||typeof i=="number")&&(i={text:i}),t.childProps&&(i=ft(t.childProps,i)),n&&!i.ignoreChildExtends)if(i.extends){const a=Array.isArray(i.extends)?i.extends:[i.extends],c=Array.isArray(n)?n:[n];i={...i,extends:[...c,...a]}}else i={...i,extends:n};W(i,t,o,s)}}}function ht(t,e){const s=t.node;if(!s||s.tagName!=="SELECT")return;const r=s.options;if(!r||!r.length)return;const n=t.__ref,o=n&&n.__exec&&n.__exec.value,i=typeof o=="function",a=t.value!=null&&typeof t.value!="function";if(i||a){let d;if(i)try{d=o(t,t.state,t.context)}catch{return}else d=t.value;const f=d==null?"":String(d);s.value!==f&&(s.value=f);return}const c=e||!(n&&n.__selectSynced);if(n&&(n.__selectSynced=!0),!c)return;let u=-1;for(let d=0;d<r.length;d++)r[d].defaultSelected&&(u=d);u>=0&&s.selectedIndex!==u&&(s.selectedIndex=u)}function oo(t,e){let{children:s,content:r}=t;const n=t.childExtends;if(typeof s=="function"){const f=s;try{s=f(t,t.state,t.context)}catch(p){if(s=void 0,typeof console<"u"&&console.error){const h=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${h} (initial run, treating as empty):`,p?.message||p)}}t.children=s;const l=t.__ref;let y=!1;const g=O(t,t.childrenDeps,f),_=(0,E.createEffect)(()=>{const p=y;y=!0;let h;try{h=g(t,t.state,t.context)}catch(D){if(typeof console<"u"&&console.error){const L=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${L}${p?"":" (initial tracking run)"}:`,D?.message||D)}return}if(!p||h===t.children)return;t.children=h,l.__childrenChunkGen!=null&&l.__childrenChunkGen++;const b=typeof t.onContentUpdate=="function",x=b?[]:null,v=b?[]:null,C=b?[]:null;if(Array.isArray(h)&&t.childrenAs==="state"){const D=t.childProps,L=[],st=new Map;for(let w=0;w<h.length;w++){const $=h[w];let j=D;if(typeof D=="function")try{j=D(t,$)}catch{j=null}const V=j&&j.key||$&&$.key||`${w}`;L.push(V),st.set(V,{rawChild:$,childProps:j})}const fo=new Set(L),ao=l.__children.slice();for(const w of ao)if(!fo.has(w)){const $=t[w];$?.remove&&$.remove(),delete t[w],v&&v.push(w)}const et=t.childExtends,dt=t.tag==="fragment",uo=t.context?.document||globalThis.document,nt=dt?null:uo?.createDocumentFragment(),bt=new Set;for(const w of L){const $=st.get(w),j=$.rawChild,V=t[w];if(V&&V.state){if(j&&typeof j=="object"){const M=V.state,Q=M.$replace||M.replace,$t=M.$update||M.update;try{if(typeof Q=="function")Q.call(M,j);else if(typeof $t=="function"){for(const F in M)if(!(F==="__element"||F==="root"||F==="parent"||F==="update")&&!Object.prototype.hasOwnProperty.call(j,F))try{M[F]=void 0}catch{}$t.call(M,j)}else for(const F in j)M[F]=j[F]}catch(F){if(typeof console<"u"&&console.error){const lo=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${w}" failed to patch at ${lo} (reconcile, keeping its previous data for this pass):`,F?.message||F)}}}C&&C.push(w);continue}let xt=j;(typeof j=="string"||typeof j=="number")&&(xt={value:j,text:j});const Nt=$.childProps;let B=Nt?{...Nt,state:xt}:{state:xt};if(et&&!B.ignoreChildExtends)if(B.extends){const M=Array.isArray(B.extends)?B.extends:[B.extends],Q=Array.isArray(et)?et:[et];B={...B,extends:[...Q,...M]}}else B={...B,extends:et};let At;try{At=W(B,t,w,e)}catch(M){if(typeof console<"u"&&console.error){const Q=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${w}" failed to construct at ${Q} (reconcile, skipping this row):`,M?.message||M)}bt.add(w);continue}!dt&&At?.node&&nt&&nt.appendChild(At.node),x&&x.push(w)}if(!dt&&nt&&nt.childNodes.length&&t.node&&t.node.appendChild(nt),!dt&&t.node){let w=null;for(const $ of L){const j=t[$]?.node;if(!j)continue;const V=w?w.nextSibling:t.node.firstChild;j!==V&&t.node.insertBefore(j,V),w=j}}l.__children=bt.size?L.filter(w=>!bt.has(w)):L,b&&(x.length||v.length)&&Bt(t,{added:x,removed:v,kept:C}),ht(t,!1);return}const Z=b?[...l.__children]:null;for(const D of[...l.__children]){const L=t[D];L?.remove&&L.remove(),delete t[D]}l.__children=[],Mt(t,h,e),ht(t,!1),b&&Bt(t,{added:[...l.__children],removed:Z,kept:[]})},{depth:l.path.length,label:T(l,"children")});l.__effects.push(_)}const o=Mt(t,s,e,!0);if(r!=null&&!(r&&r.__ref)){let f=r;if(typeof f=="string"||typeof f=="number"?f={text:f}:typeof f!="object"&&(f={}),t.childProps&&(f=ft(t.childProps,f)),n&&!f.ignoreChildExtends)if(f.extends){const l=Array.isArray(f.extends)?f.extends:[f.extends],y=Array.isArray(n)?n:[n];f={...f,extends:[...y,...l]}}else f={...f,extends:n};W(f,t,"content",e)}if(s&&!o)return;const i=t.context?.components||{};{const f=Object.keys(t);for(let l=0;l<f.length;l++){const y=f[l];if(!y.endsWith("Extends")||typeof t[y]!="string")continue;const g=y.slice(0,-7);if(!g||g.charCodeAt(0)<65||g.charCodeAt(0)>90)continue;const _={extends:t[y]};delete t[y];for(let p=l+1;p<f.length;p++){const h=f[p],b=h.charCodeAt(0);if(b>=65&&b<=90||U.REGISTRY.has(h)||typeof t[h]=="function"&&(h.startsWith("on")||h.startsWith(".")))break;const x=t[h];x!==void 0&&(_[h]=x,delete t[h])}t[g]&&typeof t[g]=="object"?t[g]={..._,...t[g]}:t[g]=_}}const a=e?.mountYield===!0||t.yieldChildren===!0,c=Object.keys(t),u=f=>{if(U.REGISTRY.has(f)||typeof t[f]!="object"||t[f]===null)return;const l=f.charCodeAt(0);if(l<65||l>90)return;let y=t[f];if(!y.__ref){if(!y.extends&&!y.extend){const g=i[f]||i[`smbls.${f}`];g&&(y={...y,extends:g})}if(t.childProps&&(y=ft(t.childProps,y)),n&&!y.ignoreChildExtends)if(y.extends){const g=Array.isArray(y.extends)?y.extends:[y.extends],_=Array.isArray(n)?n:[n];y={...y,extends:[..._,...g]}}else y={...y,extends:n};W(y,t,f,e)}};if(!a){for(const f of c)u(f);return}(0,I.openMountBudget)();const d=f=>{for(let l=f;l<c.length;l++)if(u(c[l]),l+1<c.length&&(0,I.mountBudgetExhausted)()){const y=l+1;(0,I.enqueueMountWork)(()=>d(y));return}};d(0),(0,I.closeMountBudget)()}function so(t,e,s){const{node:r}=t;if(!r)return;r.ref=t;const n=e?.tag==="fragment"?e.__ref?.__fragmentAnchor:null;if(n){const i=n.parentNode;if(i){if(s?.position==="before"&&s.node)i.insertBefore(r,s.node);else if(s?.position==="after"&&s.node){const a=s.node.nextSibling;i.insertBefore(r,a||n)}else i.insertBefore(r,n);return}}const o=e?.node||(e?.nodeType?e:null);if(o)if(s?.position==="before"&&s.node)o.insertBefore(r,s.node);else if(s?.position==="after"&&s.node){const i=s.node.nextSibling;i?o.insertBefore(r,i):o.appendChild(r)}else o.appendChild(r)}const gt=3;function co(t){return!t||t.__inBeforeUpdate||(t.__beforeUpdateFailCount||0)>=gt?!1:(t.__inBeforeUpdate=!0,!0)}function ut(t,e){t&&(t.__inBeforeUpdate=!1,e?(t.__beforeUpdateFailCount=(t.__beforeUpdateFailCount||0)+1,t.__beforeUpdateFailCount===gt&&typeof console<"u"&&console.error&&console.error(`[DOMQL] onBeforeUpdate failed ${gt}x in a row on this element \u2014 pausing automatic retries until a future prop/state change re-arms it.`)):t.__beforeUpdateFailCount=0)}function N(t,e,s){const r=t.charAt(0).toLowerCase()+t.slice(1);e.context?.plugins?.length&&(0,K.runPluginHook)(r,e,s);const n="on"+t,o=e[n];if(typeof o=="function"){const c=t==="Render"?"__inRender":t==="RenderRouter"?"__inRenderRouter":null;if(c){if(e.__ref[c])return!0;e.__ref[c]=!0}const u=e.context?.designSystem;u&&(0,k.pushConfig)(u);let d=!!c;try{const f=o(e,e.state,e.context,s);if(f&&typeof f.then=="function"){const l=e.__ref;return f.catch(y=>{e.context?.plugins?.length&&(0,K.runPluginHook)("error",e,{hook:n,error:y})||console.error(`[DOMQL] Lifecycle "${n}" error:`,y)}).finally(()=>{c&&l&&(l[c]=!1)}),d=!1,!0}if(f===!1)return!1}catch(f){if(e.context?.plugins?.length&&(0,K.runPluginHook)("error",e,{hook:n,error:f})||console.error(`[DOMQL] Lifecycle "${n}" error:`,f),e.context?.strictMode)throw f}finally{u&&(0,k.popConfig)(),d&&e.__ref&&(e.__ref[c]=!1)}}return!0}var Ho=W;
|
package/dist/cjs/src/methods.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var c=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var w=(t,e)=>{for(var n in e)c(t,n,{get:e[n],enumerable:!0})},x=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of m(e))!k.call(t,r)&&r!==n&&c(t,r,{get:()=>e[r],enumerable:!(o=y(e,r))||o.enumerable});return t};var C=t=>x(c({},"__esModule",{value:!0}),t);var
|
|
1
|
+
"use strict";var c=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var w=(t,e)=>{for(var n in e)c(t,n,{get:e[n],enumerable:!0})},x=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of m(e))!k.call(t,r)&&r!==n&&c(t,r,{get:()=>e[r],enumerable:!(o=y(e,r))||o.enumerable});return t};var C=t=>x(c({},"__esModule",{value:!0}),t);var D={};w(D,{addMethods:()=>P,elementProto:()=>f,refreshContextProto:()=>A});module.exports=C(D);var _=require("./update.js"),d=require("./dispose.js"),p=require("./devRuntime.js"),j=require("css-in-props"),s=require("@symbo.ls/utils");function u(t,e,n){const o=t?.context?.analyze;if(!o||!o.emit||e==="warn"&&!o.shouldCapture("warnings")||e==="error"&&!o.shouldCapture("errors"))return;const r=n.map(i=>i?.message||(typeof i=="string"?i:null)).filter(Boolean).join(" ");o.emit({id:`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,6)}`,ts:Date.now(),type:e==="error"?"error":"warning",level:e,hook:e==="error"?"el.error":"el.warn",element:{key:t.key!=null?String(t.key):null,name:t.__name||null,tag:t.tag||null},message:r||null,args:n})}const h=new Set;function S(t,e,n){const o=String(e);if(h.has(o))return;h.add(o);const r=t?.__ref?.path,i=Array.isArray(r)&&r.length?r.join("."):t?.key!=null?String(t.key):"(unknown element)",g=n!=null?`resolves to a non-function (${typeof n}) \u2014 it cannot be called`:"is not registered in context.methods, context.functions, or context.utils, and is not an element method",a=`[smbls] el.call('${o}') at <${i}>: "${o}" ${g}. Returning undefined (unchanged behavior) \u2014 check the name for typos or register the function on the project. Warned once per name; repeat misses are silent.`;u(t,"error",[a]),console.error(a)}function R(...t){return u(this,"warn",t),s.warn.apply(this,t)}function v(...t){return u(this,"error",t),s.error.apply(this,t)}const f={update:_.update,remove:d.remove,getDB:s.getDB,getQuery:s.getQuery,getRootData:s.getRootData,getPath:s.getPath,nextElement:s.nextElement,previousElement:s.previousElement,verbose:s.verbose,warn:R,error:v,variables:s.variables,spotByPath:s.spotByPath,set(t,e){const n=this.__ref;if(n){if(n.__setLocked){n.__setQueued={content:t,options:e};return}n.__setLocked=!0}try{if(this.removeContent(),t!=null){const o=this.context?.__create;o&&o(t,this,"content",e)}this.__ref&&(this.__ref.contentManaged=!0)}finally{if(n){n.__setLocked=!1;const o=n.__setQueued;o&&(n.__setQueued=null,this.set(o.content,o.options))}}},reset(t){const e=this.context?.__create;if(!e)return this;const n=this.parent,o=this.key,r=this.parse();return this.remove(),e(r,n,o,t)},lookup(t){let e=this.parent;for(;e;){if(typeof t=="function"){if(t(e))return e}else if(typeof t=="string"){if(e.key===t)return e;if(e[t]&&e[t].__ref)return e[t]}e=e.parent}return null},lookdown(t){const e=this.__ref;if(!e?.__children)return null;for(const n of e.__children){const o=this[n];if(!o)continue;if(typeof t=="function"){if(t(o))return o}else if(typeof t=="string"&&o.key===t)return o;const r=o.lookdown?.(t);if(r)return r}return null},lookdownAll(t,e=[]){const n=this.__ref;if(!n?.__children)return e;for(const o of n.__children){const r=this[o];r&&(typeof t=="function"?t(r)&&e.push(r):typeof t=="string"&&r.key===t&&e.push(r),r.lookdownAll?.(t,e))}return e},getRef(t){return t?this.__ref&&this.__ref[t]:this.__ref},getChildren(){const t=this.__ref&&this.__ref.__children;return Array.isArray(t)?t.map(e=>this[e]):[]},getRoot:s.getRoot,getRootState:s.getRootState,getRootContext:s.getRootContext,getContext:s.getContext,parse(t){const e={},n=t?new Set(t):null,o=this.__ref?.__exec;for(const r in this)if(!(r==="parent"||r==="node"||r==="__ref")&&!n?.has(r)){if(o&&o[r]!==void 0){e[r]=o[r];continue}typeof this[r]!="function"&&(e[r]=this[r])}return e},parseDeep(t){const e=this.parse(t),n=this.__ref;if(n?.__children)for(const o of n.__children)this[o]?.parseDeep&&(e[o]=this[o].parseDeep(t));return e},keys(){return Object.keys(this)},log(...t){if(t.length){const e={};for(const n of t)e[n]=this[n];console.log(e)}else console.log(this)},setProps(t,e){return this.update(t,e)},setNodeStyles(t){if(this.node?.style)for(const e in t){const n=t[e];if(n==null)continue;const o=e.replace(/[A-Z]/g,i=>"-"+i.toLowerCase()),r=String(n).replace(/\s*!important\s*$/,"");this.node.style.setProperty(o,r,"important")}},call(t,...e){const n=this.context,o=n?.methods?.[t]||n?.functions?.[t]||n?.utils?.[t]||this[t];if(typeof o=="function")return o.call(this,...e);(0,p.isLoudDevRuntime)()&&S(this,t,o)},removeContent(){const t=this.__ref;if(!t?.__children)return;const e=this.content;if(e?.remove){e.remove(),delete this.content;const n=t.__children.indexOf("content");n!==-1&&t.__children.splice(n,1)}e?.node?.parentNode&&e.node.parentNode.removeChild(e.node)}},l=new WeakMap;function b(t){if(!t)return f;let e=l.get(t);if(e)return e;e=Object.create(f);const n=t.methods;if(n)for(const o in n)e[o]=n[o];return l.set(t,e),e}function P(t){const e=b(t.context);Object.setPrototypeOf(t,e)}function A(t){if(!t)return!1;const e=l.get(t);if(!e)return!1;const n=t.methods;if(!n)return!1;for(const o in n)e[o]=n[o];return!0}
|
package/dist/cjs/src/update.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var h=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var U=(n,f)=>{for(var e in f)h(n,e,{get:f[e],enumerable:!0})},v=(n,f,e,i)=>{if(f&&typeof f=="object"||typeof f=="function")for(let c of g(f))!A.call(n,c)&&c!==e&&h(n,c,{get:()=>f[c],enumerable:!(i=b(f,c))||i.enumerable});return n};var P=n=>v(h({},"__esModule",{value:!0}),n);var B={};U(B,{default:()=>j,update:()=>x});module.exports=P(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 x(n={},f={}){const e=this,i=e.__ref;if(!i)return;if((typeof n=="string"||typeof n=="number")&&(n={text:n}),!f.preventListeners&&typeof e.onBeforeUpdate=="function"&&(0,r.acquireBeforeUpdateGuard)(i))try{const t=e.onBeforeUpdate(e,e.state,e.context,f);if(t&&typeof t.then=="function")t.then(()=>(0,r.releaseBeforeUpdateGuard)(i,!1),o=>{(0,r.releaseBeforeUpdateGuard)(i,!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)(i,!1),t===!1)return e}catch(t){throw(0,r.releaseBeforeUpdateGuard)(i,!0),t}const c=!n||Object.keys(n).length===0,a=[];(0,d.batch)(()=>{if(n.state&&(0,d.isStore)(e.state)&&e.state.$update(n.state),n.text!==void 0&&(e.text=n.text,!i.__exec.text&&e.node&&(0,r.writeElementText)(e,n.text??"")),n.html!==void 0&&(e.html=n.html,!i.__exec.html&&e.node&&(e.node.innerHTML=n.html)),n.style&&e.node?.style){if(!i.__exec.style)for(const t in n.style){const o=n.style[t];if(o==null)continue;const s=t.replace(/[A-Z]/g,p=>"-"+p.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,f);else if(typeof o=="object"&&o!==null){const l=t.charCodeAt(0);l>=65&&l<=90&&(0,r.create)(o,e,t,f)}else t!=="text"&&t!=="html"&&t!=="style"&&t!=="attr"&&t!=="data"&&(e[t]=o,typeof o!="function"&&a.push(t))}});for(let t=0;t<a.length;t++)(0,r.reconcileAttrProp)(e,a[t]);if(e.node&&c&&i.__effects&&i.__effects.length)for(let t=0;t<i.__effects.length;t++){const o=i.__effects[t];o&&!o._disposed&&!o._isSubscribeToEffect&&typeof o._execute=="function"&&o._execute()}else if(e.node&&i.__conditionalRunners)for(const t of i.__conditionalRunners)t();return(0,y.runPluginHook)("update",e),!f.preventListeners&&typeof e.onUpdate=="function"&&e.onUpdate(e,e.state,e.context,f),e}var j=x;
|
package/dist/cjs/src/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var n=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var E=(t,o)=>{for(var e in o)n(t,e,{get:o[e],enumerable:!0})},I=(t,o,e,p)=>{if(o&&typeof o=="object"||typeof o=="function")for(let c of s(o))!x.call(t,c)&&c!==e&&n(t,c,{get:()=>o[c],enumerable:!(p=r(o,c))||p.enumerable});return t};var N=t=>I(n({},"__esModule",{value:!0}),t);var R={};E(R,{VERSION:()=>O});module.exports=N(R);const O="3.14.
|
|
1
|
+
var n=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var E=(t,o)=>{for(var e in o)n(t,e,{get:o[e],enumerable:!0})},I=(t,o,e,p)=>{if(o&&typeof o=="object"||typeof o=="function")for(let c of s(o))!x.call(t,c)&&c!==e&&n(t,c,{get:()=>o[c],enumerable:!(p=r(o,c))||p.enumerable});return t};var N=t=>I(n({},"__esModule",{value:!0}),t);var R={};E(R,{VERSION:()=>O});module.exports=N(R);const O="3.14.786";
|
package/dist/esm/src/create.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{createStore as
|
|
1
|
+
import{createStore as Ct,createScopeStore as xo,isStore as K}from"@symbo.ls/signal";import{createEffect as w}from"@symbo.ls/signal";import{cacheNode as kt,detectTag as Bt}from"./cache.js";import{REGISTRY as V,LIFECYCLE_EVENTS as Ao}from"./registry.js";import{registerEvent as Co,registerGlobalEvent as ko,globalEventKeyInfo as So}from"./delegate.js";import{applyExtends as vo}from"./extends.js";import{addMethods as wo}from"./methods.js";import"./dispose.js";import{isLoudDevRuntime as tt}from"./devRuntime.js";import{mountBudgetExhausted as Kt,openMountBudget as Vt,closeMountBudget as Gt,enqueueMountWork as Ht}from"./mountScheduler.js";import{replaceLiteralsWithObjectFields as at,isPolyglotWritableKey as jo,markPolyglotSeeded as Eo}from"@symbo.ls/utils";import{runPluginHook as B}from"@symbo.ls/utils/function.js";import{applyStateMethods as ot}from"@symbo.ls/state";import{CSS_PROPS_REGISTRY as D,DEFAULT_CSS_PROPERTIES_LIST as P,pushStaticCssPass as Wt,popStaticCssPass as zt}from"css-in-props";import{css as st,wrapHoverRule as Yt}from"@symbo.ls/css";import{pushConfig as R,popConfig as M}from"@symbo.ls/scratch";import{checkAttributeByTagName as ut,applyAttrTransforms as Po,ATTR_TRANSFORMS as To,camelToAttr as dt,serializeAttrValue as H,isEnumeratedTrueFalseAttr as et}from"attrs-in-props";import{resolveElementIdEngine as Do}from"./engineRegistry.js";import{VERSION as Lo}from"./version.js";const qt=Do({uniqId:1,scopedStyleId:0},Lo),nt=[];let St=!1;function Zt(){return typeof Date<"u"&&typeof Date.now=="function"?Date.now():0}function Oo(){return typeof document<"u"&&document.visibilityState==="hidden"}const Ro=250;function Qt(){if(!St){if(St=!0,typeof requestAnimationFrame!="function"){setTimeout(vt,0);return}Oo()?setTimeout(vt,Ro):requestAnimationFrame(vt)}}const Mo=300,No=15e4;function vt(){if(St=!1,!nt.length)return;const t=nt.splice(0,nt.length);for(let e=0;e<t.length;e++){const s=t[e];if(s.node){if(!s.node.isConnected){const r=s.__ref||(s.__ref={});r.__mountAttempts=(r.__mountAttempts||0)+1,r.__mountFirstAttemptAt==null&&(r.__mountFirstAttemptAt=Zt());const n=Zt()-r.__mountFirstAttemptAt;r.__mountAttempts<=Mo&&n<No?(nt.push(s),Qt()):console.warn("[DOMQL] onMounted dropped after",r.__mountAttempts,"attempts /",n,"ms \u2014 node never connected:",s.key||s.tag||s);continue}N("Mounted",s,s.__ref?.__mountOptions||{})}}}function wt(t,e){typeof t.onMounted=="function"&&(t.__ref.__mountOptions=e,nt.push(t),Qt())}function Xt(t,e){if(typeof t.onContentUpdate!="function")return;t.context?.plugins?.length&&B("contentUpdate",t,e);const s=t.context?.designSystem;s&&R(s);try{t.onContentUpdate(t,t.state,t.context,e)}catch(r){if(t.context?.plugins?.length&&B("error",t,{hook:"onContentUpdate",error:r})||console.error('[DOMQL] Lifecycle "onContentUpdate" error:',r),t.context?.strictMode)throw r}finally{s&&M()}}function W(t){return t.length>2&&t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>=65&&t.charCodeAt(2)<=90}function $o(t){return t.charAt(2).toLowerCase()+t.slice(3)}function Fo(t){return t.toLowerCase()}function jt(t){const e=t.charCodeAt(0);return e===58||e===64||e===38||e===91}function rt(t,e){const s={...t};for(const r in e){const n=s[r],o=e[r];n&&o&&typeof n=="object"&&typeof o=="object"&&!Array.isArray(n)&&!Array.isArray(o)&&typeof n!="function"&&typeof o!="function"?s[r]=rt(n,o):s[r]=o}return s}function z(t,e,s,r={},n){if(t==null||t===!1)return null;(typeof t=="string"||typeof t=="number")&&(t={text:t});const o=Object.create(null);o.key=s||t.key||`_${qt.uniqId++}`,o.parent=e||null,o.context=t.context||e?.context||r.context||{},o.context.__create||(o.context.__create=z);const i=o.__ref={__if:!0,__children:[],__exec:{},__effects:[],__eventCleanup:[],root:e?.__ref?.root||o,path:e?.__ref?.path?[...e.__ref.path,o.key]:[o.key],origin:t};if(s&&!t.extends&&!t.extend){const _=s.indexOf("_"),p=s.indexOf(".");let h=_>0?_:-1;if(p>0&&(h<0||p<h)&&(h=p),h>0){const b=s.substring(0,h),x=o.context?.components;x&&(x[b]||x["smbls."+b])?t={...t,extends:b}:x&&tt()&&(/^[A-Z]\w*_\d+$/.test(s)||/^[A-Z]\w*\.\w+$/.test(s))&&console.warn(`[smbls] auto-extend: key "${s}" looks like an instance of "${b}" but neither "${b}" nor "smbls.${b}" is registered in context.components \u2014 element will render as a plain <div>. Register the base component or rename the key.`)}}vo(o,t,r);const a=new Set(["childProps","attr","style","scope","data"]),c=o.props&&typeof o.props=="object"?o.props:null;for(const _ in t){if(_==="parent"||_==="node"||_==="__ref"||_==="extends"||_==="context"||_==="props")continue;const p=t[_],h=o[_],b=h&&p&&typeof h=="object"&&typeof p=="object"&&!Array.isArray(h)&&!Array.isArray(p)&&typeof h!="function"&&typeof p!="function";b&&_.charCodeAt(0)>=65&&_.charCodeAt(0)<=90?o[_]=rt(h,p):b&&a.has(_)?o[_]={...h,...p}:b&&jt(_)?o[_]=rt(h,p):o[_]=p}function u(_){for(const p in _){const h=_[p],b=o[p],x=b&&h&&typeof b=="object"&&typeof h=="object"&&!Array.isArray(b)&&!Array.isArray(h)&&typeof b!="function"&&typeof h!="function";x&&p.charCodeAt(0)>=65&&p.charCodeAt(0)<=90?o[p]=rt(b,h):x&&a.has(p)?o[p]={...b,...h}:x&&jt(p)?o[p]=rt(b,h):o[p]=h}}c&&u(c),t.props&&typeof t.props=="object"&&u(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 d=o.scope&&typeof o.scope=="object"?o.scope:null,f=e?.scope,l=o.context&&typeof o.context.globalScope=="object"&&o.context.globalScope||null,y=f||l||null;if(t.scope!==void 0||d){const _={};d&&Object.assign(_,d),t.scope!==void 0&&Object.assign(_,t.scope),o.scope=xo(_,y)}else y&&(o.scope=y);if(t.if!==void 0&&(o.if=t.if),wo(o),Io(o,e,t),o.if!=null){let _;if(typeof o.if=="function")try{_=o.if(o,o.state,o.context)}catch(p){if(_=!1,i.__ifError=p,typeof console<"u"&&console.warn){const h=o.key||o.tag||"?";console.warn(`[smbls] \`if:\` evaluator threw on ${h} \u2014 treating as false:`,p?.message||p)}}else _=o.if;i.__if=!!_}if(i.__if)typeof o.if=="function"&&(i.__ifInitialized=!0);else return e&&(e[o.key]=o),typeof o.if=="function"&&oo(o,i,o.if),o;o.tag||(o.tag=Bt(o)),N("Init",o,r);const g=o.node=kt(o);if(!g)return o;if(o.tag==="fragment"){const p=(o.context?.document||globalThis.document).createComment("");g.appendChild(p),i.__fragmentAnchor=p}N("AttachNode",o,r),g.setAttribute&&o.key&&g.setAttribute("data-key",o.key),e&&(e[o.key]=o,e.__ref?.__children&&(e.__ref.__children.includes(o.key)||e.__ref.__children.push(o.key))),g.setAttribute&&o.context?.scopeSelector&&o.context.scopeSelector!==":root"&&o.context.key&&o.key===o.context.key&&g.setAttribute("data-smbls-app",o.context.key),o.id&&g.setAttribute&&(g.id=o.id),lo(o,r),mt(o),Pt(o),ao(o),ts(o);try{po(o,r)}catch(_){if(typeof console<"u"&&console.error){const p=o.__ref?.path?.join(".")||o.key||"<root>";console.error(`[smbls] createChildren failed at ${p}:`,_?.message||_,_?.stack?`
|
|
2
2
|
`+_.stack.split(`
|
|
3
3
|
`).slice(0,6).join(`
|
|
4
|
-
`):"")}}if(pt(o,!0),po(o,n,e),typeof o.html=="function"&&o.node&&!o.node.innerHTML){const _=o.context?.designSystem;_&&R(_);try{const p=o.html(o,o.state,o.context);p!=null&&typeof p!="function"&&(o.node.innerHTML=p)}catch{}finally{_&&$()}}if(M("Create",o,r),M("Complete",o,r),M("Render",o,r),M("RenderRouter",o,r),wt(o,r),typeof o.onFrame=="function"){const _=o.onFrame,p=o.context?.designSystem,h=()=>{if(o.node){if(o.node.isConnected){p&&R(p);try{_(o,o.state,o.context)}catch(b){console.error("[DOMQL] onFrame error:",b)}finally{p&&$()}}requestAnimationFrame(h)}};requestAnimationFrame(h)}return o}function No(t,n,s){const r=!n,e=s.state&&typeof s.state=="object"&&!Array.isArray(s.state)&&Object.keys(s.state).length===0,o=r&&e&&t.context?.state,i=s.state!==void 0&&!o?s.state:t.state&&!K(t.state)?t.state:void 0;if(i==null){if(n?.state)t.state=n.state,ot(t,t.state);else if(t.context?.state){const c=t.context.state,a={...c},u=t.context?.polyglot;if(u?.translations){const d=t.context,f=c.lang||u.defaultLang||"en",l=new Set,y=(p,h)=>{l.has(p)||wo(d,p,a)&&(a[p]=h,l.add(p),jo(d,p))},g=u.translations[f];if(g&&typeof g=="object")for(const p in g)y(p,g[p]);const _=new Set(u.languages||[]);for(const p in u.translations)_.has(p)||y(p,u.translations[p])}t.state=K(a)?a:bt(a),t.state.__element=t,t.state.root=t.state,ot(t,t.state)}else t.state={},Object.defineProperty(t.state,"root",{value:t.state,enumerable:!1,configurable:!0,writable:!0}),ot(t,t.state);return}if(typeof i=="string"){if(t.state=Xt(i,n),t.state&&typeof t.state=="object"&&!K(t.state)){const c=n?.state?.root||n?.state||t.state;Object.defineProperty(t.state,"root",{value:c,enumerable:!1,configurable:!0,writable:!0})}ot(t,t.state);return}if(typeof i=="function"){const c=i(t,n?.state);t.state=K(c)?c:bt(c||{})}else K(i)?t.state=i:t.state=bt({...i});t.state.__element=t,n?.state?(t.state.parent=n.state,t.state.root=n.state.root||n.state):t.state.root=t.state,ot(t,t.state)}function Et(t,n){if(!n)return t;const s=n.split("/");let r=t;for(const e of s){if(r==null)return{};r=r[e]}return r??{}}function Xt(t,n){if(!n)return{};if(t===".")return n.state||{};if(t.startsWith("../")){const e=t.slice(3);return e?Et(n.state,e):n.state??{}}if(t.startsWith("~/")){const e=n.state?.root||n.state,o=t.slice(2);return o?Et(e,o):e??{}}if(n.state?.[t]!==void 0)return n.state[t];const s=Et(n.state,t);if(s!=null&&Object.keys(s).length>0)return s;const r=n.context?.polyglot;if(r?.translations){const e=n.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 Fo=new Set(["s","state","ctx","context"]);function Io(t){try{const s=Function.prototype.toString.call(t).match(/^[^(]*\(([^)]*)\)/);return s?s[1].split(",").map(r=>r.trim().split("=")[0].trim()).filter(Boolean):[]}catch{return[]}}function Uo(t){if(typeof t!="function"||t.length!==2)return!1;const n=Io(t);if(n.length<2)return!1;const s=n[1].replace(/[{}[\]]/g,"").trim();return s.length>0&&!Fo.has(s)}function Bo(t){const n=t.__ref,s=t.tag||"div",r=t.context?.designSystem,e=[],o=Object.keys(t);for(let i=0;i<o.length;i++){const c=o[i];if(typeof t[c]!="function"||V.has(c))continue;const a=c.charCodeAt(0);a>=65&&a<=90||Y(c)||L[c]||T&&T.has(c)||Ct(s,c)||(tt()&&Uo(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 i=0;i<e.length;i++){const{prop:c,fn:a}=e[i];n.__exec[c]=a,Object.defineProperty(t,c,{get(){r&&R(r);try{return a(t,t.state,t.context)}catch{return}finally{r&&$()}},set(u){delete n.__exec[c],Object.defineProperty(t,c,{value:u,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}}function Ko(t,n){if(!(!Array.isArray(n)||n.length===0))for(let s=0;s<n.length;s++){const r=n[s];try{typeof r=="function"?r(t,t.state,t.context):typeof r=="string"&&t.state?.[r]}catch{}}}function D(t,n,s){return!Array.isArray(n)||n.length===0?s:function(...r){return Ko(t,n),s.apply(this,r)}}function rt(t,n){if(!(!t||Array.isArray(t)||typeof t!="object"))return t[n]}function j(t,n){return()=>t.path.join(".")+"::"+n}function Jt(t,n){const s=t.__ref,r=!!(n&&n.skipIfEffect);if(Bo(t),typeof t.text=="function"){const o=t.text,i=D(t,t.textDeps,o),c=w(()=>{if(!s.contentManaged)try{let a=i(t,t.state,t.context);t.node&&a!=null&&typeof a!="function"&&typeof a!="object"&&(typeof a=="string"&&a.includes("{{")&&(a=At.call(t,a,t.state)),at(t,a))}catch{}},{depth:s.path.length,label:j(s,"text")});s.__effects.push(c),s.__exec.text=o}else if(typeof t.text=="string"&&t.text.includes("{{")){const o=t.text,i=w(()=>{if(s.contentManaged)return;const c=At.call(t,o,t.state);c!=null&&(t.text=c),t.node&&at(t,c??"")},{depth:s.path.length,label:j(s,"text")});s.__effects.push(i),s.__exec.text=o}for(const o of Object.keys(t))if(typeof t[o]=="function"&&!V.has(o)&&!Y(o)&&!s.__exec[o]){if(L[o]){const i=t[o],c=D(t,t[o+"Deps"],i),a=o;let u,d=null,f=null,l;const y=w(()=>{const g=t.context?.designSystem;g&&R(g);try{const _=c(t,t.state,t.context);Ht();let p;try{p=L[a](_,t,t.state,t.context)}finally{Wt()}if(Array.isArray(p)){const b={};for(const x of p)if(x)for(const C in x)b[C]=x[C];p=b}const h=a==="show"||a==="hide";if(p&&t.node&&Vo(p)){const b=ut(p);if(b===null||b!==l){l=b;const x=st(p,null,t.context?.cssPrefix),C=x?x.split(" ").filter(Boolean):null;if(t.node.classList){if(f)for(const A of f)t.node.classList.remove(A);if(C&&C.length)for(const A of C)t.node.classList.add(A);f=C}}u=void 0,d=null}else if(p&&t.node){if(f){for(const x of f)t.node.classList.remove(x);f=null,l=void 0}const b=ut(p);(b===null||b!==u||!lt(t.node,d))&&(u=b,q(t.node,p),d=dt(t.node,p))}else if(t.node&&h){u=void 0,d=null;const b=s.__explicitDisplay;t.node.style.display=typeof b=="string"?b:""}}finally{g&&$()}},{depth:s.path.length,label:j(s,a)});s.__effects.push(y),s.__exec[o]=i}else if(T&&T.has(o)){const i=t[o],c=D(t,t[o+"Deps"],i),a=o;let u,d=null;const f=w(()=>{const l=t.context?.designSystem;l&&R(l);try{const y=c(t,t.state,t.context);if(t.node)if(y!=null){const g=a+":"+String(y);if(g!==u||!lt(t.node,d)){u=g;const _={[a]:y};q(t.node,_),d=dt(t.node,_)}}else u=void 0,d=null,t.node.style[a]=""}finally{l&&$()}},{depth:s.path.length,label:j(s,a)});s.__effects.push(f),s.__exec[o]=i}}if(typeof t.html=="function"){const o=t.html,i=D(t,t.htmlDeps,o),c=w(()=>{const a=t.context?.designSystem;a&&R(a);try{const u=i(t,t.state,t.context);t.node&&u!=null&&typeof u!="function"&&(t.node.innerHTML=u)}finally{a&&$()}},{depth:s.path.length,label:j(s,"html")});s.__effects.push(c),s.__exec.html=o}if(typeof t.value=="function"){const o=t.value,i=D(t,t.valueDeps,o),c=w(()=>{try{const a=i(t,t.state,t.context);if(!t.node||!("value"in t.node))return;const u=a==null?"":String(a);if(t.node.value===u)return;const d=typeof document<"u"&&document.activeElement===t.node,f=d&&typeof t.node.selectionStart=="number"?t.node.selectionStart:null,l=d&&typeof t.node.selectionEnd=="number"?t.node.selectionEnd:null;if(t.node.value=u,d&&f!=null&&l!=null)try{t.node.setSelectionRange(f,l)}catch{}}catch{}},{depth:s.path.length,label:j(s,"value")});s.__effects.push(c),s.__exec.value=o}if(typeof t.style=="function"){const o=t.style,i=D(t,t.styleDeps,o);let c,a=null;const u=w(()=>{const d=i(t,t.state,t.context),f=ut(d);(f===null||f!==c||!lt(t.node,a))&&(c=f,q(t.node,d),a=dt(t.node,d))},{depth:s.path.length,label:j(s,"style")});s.__effects.push(u),s.__exec.style=o}else if(t.style&&typeof t.style=="object")for(const o in t.style){const i=t.style[o];if(typeof i!="function")continue;const c=D(t,rt(t.styleDeps,o),i);let a,u=null;const d=w(()=>{try{const f=c(t,t.state,t.context);if(t.node){const l=o+":"+String(f);if(l!==a||!lt(t.node,u)){a=l;const y={[o]:f};q(t.node,y),u=dt(t.node,y)}}}catch{}},{depth:s.path.length,label:j(s,"style."+o)});s.__effects.push(d)}if(t.attr&&typeof t.attr=="object"){for(const o in t.attr)if(typeof t.attr[o]=="function"){const i=D(t,rt(t.attrDeps,o),t.attr[o]),c=o,a=w(()=>{try{const u=i(t,t.state,t.context);t.node?.setAttribute&&(u==null||u===!1&&!ft(c)?t.node.removeAttribute(c):typeof u!="function"&&typeof u!="object"&&t.node.setAttribute(c,z(c,u)))}catch{}},{depth:s.path.length,label:j(s,"attr."+c)});s.__effects.push(a)}}if(t.aria&&typeof t.aria=="object")for(const o in t.aria){if(typeof t.aria[o]!="function")continue;const i=D(t,rt(t.ariaDeps,o),t.aria[o]),c="aria-"+o.replace(/[A-Z]/g,u=>"-"+u.toLowerCase()),a=w(()=>{try{const u=i(t,t.state,t.context);if(!t.node?.setAttribute)return;u==null?t.node.removeAttribute(c):typeof u!="function"&&typeof u!="object"&&t.node.setAttribute(c,z(c,u))}catch{}},{depth:s.path.length,label:j(s,"aria."+o)});s.__effects.push(a)}if(t.data&&typeof t.data=="object")for(const o in t.data){if(typeof t.data[o]!="function")continue;const i=D(t,rt(t.dataDeps,o),t.data[o]),a="data-"+o.replace(/[A-Z]/g,d=>"-"+d.toLowerCase()),u=w(()=>{try{const d=i(t,t.state,t.context);if(!t.node?.setAttribute)return;d==null||d===!1?t.node.removeAttribute(a):typeof d!="function"&&typeof d!="object"&&t.node.setAttribute(a,d===!0?"":d)}catch{}},{depth:s.path.length,label:j(s,"data."+o)});s.__effects.push(u)}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 i=D(t,rt(t.classDeps,o),e[o]),c=w(()=>{try{const a=i(t,t.state,t.context);if(!t.node?.classList)return;typeof a=="string"?t.node.classList.add(a):a?t.node.classList.add(o):t.node.classList.remove(o)}catch{}},{depth:s.path.length,label:j(s,"class."+o)});s.__effects.push(c)}!r&&typeof t.if=="function"&&to(t,s,t.if);for(const o of Object.keys(t)){if(V.has(o)||typeof t[o]!="function")continue;const i=o.charCodeAt(0);if(i>=65&&i<=90||Y(o))continue;const c=t[o];s.__exec[o]=c;const a=t.tag||"div";if(Ct(a,o)&&!L[o]&&!(T&&T.has(o))){const u=kt(o)||o,d=D(t,t[o+"Deps"],c),f=w(()=>{try{const l=d(t,t.state,t.context);t.node?.setAttribute&&(l==null||l===!1&&!ft(u)?t.node.removeAttribute(u):typeof l!="function"&&typeof l!="object"&&(u==="src"&&"src"in t.node?t.node.src=l:t.node.setAttribute(u,z(u,l))))}catch{}},{depth:s.path.length,label:j(s,o)});s.__effects.push(f)}}if(Wo(t),qo(t),typeof t.onStateUpdate=="function"&&Array.isArray(t.stateDeps)){const o=t.onStateUpdate,i=t.stateDeps;let c=!1,a=[];const u=w(()=>{const d=[];for(let g=0;g<i.length;g++){const _=i[g];try{d[g]=typeof _=="function"?_(t,t.state,t.context):t.state?.[_]}catch{d[g]=void 0}}if(!c){c=!0,a=d;return}let f=d.length!==a.length;for(let g=0;!f&&g<d.length;g++)d[g]!==a[g]&&(f=!0);const l=a;if(a=d,!f)return;const y=t.context?.designSystem;y&&R(y);try{o(t,t.state,t.context,{prev:l,next:d})}catch(g){if(t.context?.plugins?.length&&B("error",t,{hook:"onStateUpdate",error:g})||console.error('[DOMQL] Lifecycle "onStateUpdate" error:',g),t.context?.strictMode)throw g}finally{y&&$()}},{depth:s.path.length,label:j(s,"onStateUpdate")});s.__effects.push(u)}Yo(t)}function mt(t){const n=t.parent,s=n?.node;if(!s||!t.node){po(t,t.parent);return}let r=null;const e=Object.keys(n),o=e.indexOf(t.key);for(let i=o+1;i<e.length;i++){const c=n[e[i]];if(c?.node?.parentNode===s){r=c.node;break}}r?s.insertBefore(t.node,r):s.appendChild(t.node)}function to(t,n,s){const r=D(t,t.ifDeps,s),e=w(()=>{let o;try{o=r(t,t.state,t.context)}catch(c){if(o=!1,n.__ifError=c,typeof console<"u"&&console.warn){const a=t.key||t.tag||"?";console.warn(`[smbls] \`if:\` reactive effect threw on ${a} \u2014 treating as false:`,c?.message||c)}return}const i=n.__if;if(n.__if=!!o,i&&!n.__if&&t.node){t.node.remove();try{typeof t.onRemove=="function"&&t.onRemove(t)}catch(c){console.error("[smbls] onRemove error:",c)}}else if(!i&&n.__if)if(n.__ifInitialized)t.node||(t.node=xt(t)),t.node&&(t.node.ref=t),mt(t),Pt(t),M("Render",t,{}),wt(t,{});else{if(n.__ifInitialized=!0,t.tag||(t.tag=Ut(t)),M("Init",t,{}),t.node||(t.node=xt(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"&&!n.__fragmentAnchor){const a=(t.context?.document||globalThis.document).createComment("");t.node.appendChild(a),n.__fragmentAnchor=a}M("AttachNode",t,{}),t.node.setAttribute&&t.key&&t.node.setAttribute("data-key",t.key),t.id&&t.node.setAttribute&&(t.node.id=t.id),uo(t,{}),Jt(t,{skipIfEffect:!0}),Pt(t),fo(t),lo(t,{}),mt(t),M("Create",t,{}),M("Complete",t,{}),M("Render",t,{}),M("RenderRouter",t,{}),wt(t,{})}},{depth:n.path.length,label:j(n,"if")});n.__effects.push(e)}function at(t,n){const s=t.node;if(!s)return;const r=n==null||typeof n=="object"?"":String(n);if(t.tag==="string"){s.nodeValue!==r&&(s.nodeValue=r);return}const e=t.__ref;let o=e?e.__textNode:null;if(o&&o.parentNode!==s&&(o=null),!o){const i=s.firstChild;i&&i.nodeType===3&&(o=i)}o?o.nodeValue!==r&&(o.nodeValue=r):s.firstChild?(o=(s.ownerDocument||t.context?.document||globalThis.document).createTextNode(r),s.insertBefore(o,s.firstChild)):(s.textContent=r,o=s.firstChild&&s.firstChild.nodeType===3?s.firstChild:null),e&&(e.__textNode=o||null)}function Pt(t){const{node:n}=t;if(n){if((typeof t.text=="string"&&!t.text.includes("{{")||typeof t.text=="number")&&at(t,t.text),Qo(t),typeof t.html=="string"&&(n.innerHTML=t.html),t.value!=null&&typeof t.value!="function"&&"value"in n){const s=String(t.value);n.value!==s&&(n.value=s)}if(t.style&&typeof t.style=="object"){let s=t.style;for(const r in t.style)if(typeof t.style[r]=="function"){s={};for(const e in t.style)typeof t.style[e]!="function"&&(s[e]=t.style[e]);break}q(n,s)}if(t.attr&&typeof t.attr=="object")for(const s in t.attr){const r=t.attr[s];typeof r=="function"||typeof r=="object"||r!=null&&(r===!1&&!ft(s)||n.setAttribute&&n.setAttribute(s,z(s,r)))}if(t.data&&typeof t.data=="object")for(const s in t.data){const r=t.data[s];typeof r=="function"||typeof r=="object"||r==null||r===!1||n.dataset&&(n.dataset[s]=r===!0?"":r)}if(t.classlist||t.class){const s=t.classlist||t.class;if(typeof s=="string")s.split(" ").forEach(r=>r&&n.classList.add(r));else if(typeof s=="object")for(const r in s){const e=typeof s[r]=="function"?s[r](t,t.state,t.context):s[r];e&&n.classList.add(typeof e=="string"?e:r)}}}}function ut(t){if(t==null||typeof t!="object")return"s:"+String(t);try{return"o:"+JSON.stringify(t)}catch{return null}}function Vo(t){if(!t||typeof t!="object")return!1;for(const n in t){const s=t[n];if(s&&typeof s=="object"&&!Array.isArray(s))return!0}return!1}function dt(t,n){if(!t||!t.style||!n)return null;const s=[];for(const r in n){if(n[r]==null||r.charAt(0)==="&")continue;const o=r.replace(/[A-Z]/g,i=>"-"+i.toLowerCase());s.push(o,t.style.getPropertyValue(o),t.style.getPropertyPriority(o))}return s}function lt(t,n){if(!n||!t||!t.style)return!1;for(let s=0;s<n.length;s+=3)if(t.style.getPropertyValue(n[s])!==n[s+1]||t.style.getPropertyPriority(n[s])!==n[s+2])return!1;return!0}function q(t,n){if(!t||!n||!t.style)return;let s=null;for(const r in n){const e=n[r];if(e!=null){if(r.charAt(0)==="&"&&typeof e=="object"){s||(s={}),s[r]=e;continue}try{const o=String(e),i=r.replace(/[A-Z]/g,d=>"-"+d.toLowerCase()),c=o.trim(),a=/\s*!important\s*$/.test(c),u=c.replace(/\s*!important\s*$/,"");t.style.setProperty(i,u,a?"important":"")}catch{}}}s&&Go(t,s)}function Go(t,n){const s=`_ds${Yt.scopedStyleId++}`;t.classList.add(s);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 i in n){const c="."+s,a=i.replace(/&/g,c).split(",").map(d=>{const f=d.trim();return f.includes(c)?f:c+f}).join(", "),u=n[i];if(typeof u=="object"){let d="",f="";for(const l in u){const y=u[l];if(typeof y=="object"){const g=l.includes("&")?a.split(", ").map(p=>l.replace(/&/g,p)).join(", "):a.split(", ").map(p=>`${p} ${l}`).join(", ");let _="";for(const p in y)_+=`${p.replace(/[A-Z]/g,h=>"-"+h.toLowerCase())}: ${y[p]};`;f+=zt(`${g} { ${_} }`,g)+`
|
|
5
|
-
`}else d+=`${l.replace(/[A-Z]/g,g=>"-"+g.toLowerCase())}: ${y};`}d&&(o+=
|
|
6
|
-
`),f&&(o+=f)}}o&&(e.textContent+=o)}const oo=new Set;function so(t){if(!Array.isArray(t))return"";const n=[];for(let s=0;s<t.length;s++)typeof t[s]=="string"&&t[s].length&&n.push(t[s]);return n.sort(),n.join("|")}function Ho(t,n,s){const r=so(s);queueMicrotask(()=>{if(!t.__ref)return;let e;try{e=n(t,t.state,t.context)}catch{return}if(so(e)===r)return;const o=t.__ref.path?t.__ref.path.join("."):t.key||"?";oo.has(o)||(oo.add(o),console.warn(`[smbls] subscribeTo function at "${o}" resolved to a DIFFERENT key list one microtask after create \u2014 wired [${s.join(", ")||"(none)"}], probed [${Array.isArray(e)?e.join(", "):String(e)}]. subscribeTo's function form is resolved ONCE at element-create time (registerSubscribeToEffects, @symbo.ls/element create.js) \u2014 this element stays wired to the ORIGINAL list for its whole lifetime, so this drift is invisible to the reactive effect and any key only present in the new list will never trigger onUpdate. If the watched key genuinely is not known until later (e.g. a module config that loads after shell boot), route the write through an imperative call instead of subscribeTo \u2014 see functions/moduleOpenBridge.js's moduleOpenPage (workspace repo) for the house pattern.`))})}function Wo(t){const n=t.subscribeTo,s=typeof n=="function";let r=n;if(s)try{r=n(t,t.state,t.context)}catch{r=null}if(s&&tt()&&Ho(t,n,Array.isArray(r)?r:[]),!Array.isArray(r)||r.length===0)return;const e=t.__ref;for(let o=0;o<r.length;o++){const i=r[o];if(typeof i!="string"||i.length===0)continue;const c=i.split("."),a=c[0],u=c.slice(1),d={value:!1},f=w(()=>{const l=t.state&&(K(t.state)?t.state.root:null);if(!l||!K(l))return;let y=l;y=y[a];for(let _=0;_<u.length&&!(y==null||typeof y!="object");_++)if(K(y))y=y[u[_]];else break;if(!d.value)return;let g=!1;if(typeof t.onBeforeUpdate=="function"){const _=t.context?.designSystem;_&&R(_);try{if(ts(e)){const p=t.onBeforeUpdate(t,t.state,t.context,{updateBySubscription:!0});p&&typeof p.then=="function"?p.then(()=>yt(e,!1),h=>{yt(e,!0),t.context?.plugins?.length&&B("error",t,{hook:"onBeforeUpdate",error:h})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",h)}):(yt(e,!1),p===!1&&(g=!0))}}catch(p){yt(e,!0),t.context?.plugins?.length&&B("error",t,{hook:"onBeforeUpdate",error:p})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",p)}finally{_&&$()}}if(!g&&t.node&&e.__effects)for(let _=0;_<e.__effects.length;_++){const p=e.__effects[_];p&&p!==f&&!p._disposed&&!p._isSubscribeToEffect&&typeof p._execute=="function"&&p._execute()}if(!g&&typeof t.onUpdate=="function"){const _=t.context?.designSystem;_&&R(_);try{t.onUpdate(t,t.state,t.context)}catch(p){t.context?.plugins?.length&&B("error",t,{hook:"onUpdate",error:p})||console.error("[DOMQL] subscribeTo onUpdate error:",p)}finally{_&&$()}}},{depth:e.path.length,label:j(e,"subscribeTo("+i+")")});d.value=!0,f._isSubscribeToEffect=!0,e.__effects.push(f)}}function Tt(t,n){return t.charCodeAt(0)===64&&t.length>1&&!t.startsWith("@media")&&!t.startsWith("@keyframes")&&!t.startsWith("@supports")&&!t.startsWith("@container")&&(t==="@dark"||t==="@light"||!n.context?.designSystem?.media?.[t.slice(1)])}function Dt(t,n){if(t.charCodeAt(0)!==64||/^@(media|supports|container|keyframes)\b/.test(t))return t;const s=n.context?.designSystem?.media?.[t.slice(1)];return s?/^@(media|supports|container)\b/.test(s)?s:`@media ${s}`:t}const no=new Set;function zo(t,n){const s=n?.__ref?.path?n.__ref.path.join("."):n?.key||"?",r=s+"::"+t;no.has(r)||(no.add(r),console.warn(`[smbls/css] "${t}" at ${s} 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,n,s){const r={},e=new Set,o=(i,c,a)=>{const u=a?new Set(Object.keys(r)):null;if(L[i]){const d=L[i](c,n,n.state,n.context);if(d){const f=Array.isArray(d)?d:[d];for(const l of f)l&&Object.assign(r,l)}}else r[i]=c;if(a)for(const d in r)u.has(d)||e.add(d)};for(const i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;let c=t[i];if(typeof c=="function"&&(c=c(n,n.state,n.context)),c==null||typeof c=="function")continue;if(typeof c=="object"&&!Array.isArray(c)){if(i==="style"){for(const f in c){let l=c[f];if(typeof l=="function"&&(l=l(n,n.state,n.context)),l==null||typeof l=="function")continue;const y=typeof n[f]=="function"&&(L[f]||T&&T.has(f));o(f,l,y)}continue}if(Tt(i,n)){const f=Z(c,n,!1);Object.keys(f).length&&(r[`[data-theme="${i.slice(1)}"] &`]=f);continue}if(/^[A-Z][A-Za-z0-9]*$/.test(i)){tt()&&zo(i,n);continue}const u=Dt(i,n),d=Z(c,n,!1);Object.keys(d).length&&(r[u]=d);continue}const a=typeof n[i]=="function"&&(L[i]||T&&T.has(i));o(i,c,a)}if(s)for(const i in r)e.add(i);for(const i of e){const c=r[i];typeof c=="string"&&!c.includes("!important")&&(r[i]=c+" !important")}return r}function Lt(t,n){if(n===void 0&&(n=0),n>8)return!1;if(typeof t=="function")return!0;if(t&&typeof t=="object"&&!Array.isArray(t)){for(const s in t)if(Object.prototype.hasOwnProperty.call(t,s)&&Lt(t[s],n+1))return!0}return!1}function eo(t,n,s){if(!n||typeof n!="object"||Array.isArray(n))return null;if(Tt(t,s)){const o=Z(n,s,!1);return Object.keys(o).length?{cssProp:`[data-theme="${t.slice(1)}"] &`,block:o}:null}const r=Dt(t,s),e=Z(n,s,!1);return Object.keys(e).length?{cssProp:r,block:e}:null}function Yo(t){const n=t.__ref;for(const s of Object.keys(t)){if(!jt(s))continue;const r=t[s];if(!r||typeof r!="object"||Array.isArray(r)||!Lt(r))continue;let e=null,o;const i=w(()=>{if(!t.node)return;const c=t.context?.designSystem;c&&R(c);let a,u=!1;try{const d=eo(s,r,t),f=d?ut(d.block)+"::"+d.cssProp:null;if(f!==null&&f===o)u=!0;else if(o=f,d){const l=st({[d.cssProp]:d.block},null,t.context?.cssPrefix);a=l?l.split(" ").filter(Boolean):null}else a=null}finally{c&&$()}if(!(u||!t.node.classList)){if(e)for(const d of e)t.node.classList.remove(d);if(a&&a.length)for(const d of a)t.node.classList.add(d);e=a}},{depth:n.path.length,label:j(n,"cssBlock("+s+")")});n.__effects.push(i)}}function qo(t){const n=t.__ref;n.__conditionalRunners=[];const s=new Map;for(const r of Object.keys(t)){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 y=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}${y}: { '${o.slice(y.length)}': {...} }\`.`)}continue}const i=t[r];if(!i||typeof i!="object")continue;const c=e==="!",a={lastMatch:!1,appliedKeys:null,appliedClasses:null},u=()=>{let y;const g=t[o];if(g===void 0){const h=!!t.state&&o in t.state,b=t.state?t.state[o]:void 0;if(h||b!==void 0)y=b;else{const x=t.context?.cases?.[o];if(x===void 0)return;try{y=typeof x=="function"?x.call(t,t):x}catch(C){y=!1,n.__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 g=="function")try{y=g(t,t.state,t.context)}catch(h){y=!1,n.__conditionalError=h,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` predicate threw on ${t.key||"?"} \u2014 treating as false:`,h?.message||h)}else y=g;const _=c?!y:!!y;if(!t.node||_===a.lastMatch)return;a.lastMatch=_;const p=t.context?.designSystem;p&&R(p);try{if(_){const h={},b={};let x=!1;for(const A in i){if(!Object.prototype.hasOwnProperty.call(i,A))continue;const v=i[A],G=A.charAt(0);if((G===":"||G==="@"||G==="&"||G==="[")&&v&&typeof v=="object"&&!Array.isArray(v)){if(Tt(A,t)){const E=Z(v,t,!1);Object.keys(E).length&&(b[`[data-theme="${A.slice(1)}"] &`]=E,x=!0)}else{const E=Dt(A,t),P=Z(v,t,!1);Object.keys(P).length&&(b[E]=P,x=!0)}continue}const Q=typeof v=="function"?v(t,t.state,t.context):v;if(Q!=null)if(L[A]){const E=L[A](Q,t,t.state,t.context);if(E){const P=Array.isArray(E)?E:[E];for(const X of P)X&&Object.assign(h,X)}}else T&&T.has(A)&&(h[A]=Q)}const C=Object.keys(h);if(C.length){q(t.node,h);for(const A of C)s.set(A,r);a.appliedKeys=C}else a.appliedKeys=null;if(x){const A=st(b,null,t.context?.cssPrefix),v=A?A.split(" ").filter(Boolean):[];if(v.length&&t.node.classList){for(const G of v)t.node.classList.add(G);a.appliedClasses=v}else a.appliedClasses=null}else if(a.appliedClasses){for(const A of a.appliedClasses)t.node.classList.remove(A);a.appliedClasses=null}}else{if(a.appliedKeys){for(const h of a.appliedKeys)s.get(h)===r&&(t.node.style[h]="",s.delete(h));a.appliedKeys=null}if(a.appliedClasses){for(const h of a.appliedClasses)t.node.classList.remove(h);a.appliedClasses=null}}}finally{p&&$()}};n.__conditionalRunners.push(u);const d=D(t,t[o+"Deps"],u),f=w(d,{depth:n.path.length,label:j(n,"conditional("+r+")")}),l=n.__exec&&n.__exec[o]||t[o];f._sources.size===0&&typeof l=="function"&&tt()&&console.warn(`[smbls] conditional \`${r}\` on ${t.key||"?"} subscribed to nothing \u2014 its predicate tracked no reactive read on its first run, so no state write will ever re-evaluate it (only a direct element.update() on this element re-runs it). If the predicate guards its state reads (\`in\`, short-circuits, \`?.\`), declare \`${o}Deps: [...]\` (state-key strings or \`(el, s) => \u2026\` selectors) so the subscription is armed unconditionally.`),n.__effects.push(f)}}const Ot=new WeakSet;function Zo(t){const n=t.ownerDocument;!n||Ot.has(n)||(Ot.add(n),queueMicrotask(()=>{Ot.delete(n);const s=n.body||n.documentElement;s&&s.offsetWidth}))}const Rt=new WeakSet;let ro=!1;function io(t){return t.startsWith("[data-theme=")||t.startsWith("@media")&&t.includes("prefers-color-scheme")}function $t(t,n){const s={...t};for(const r in n){const e=n[r],o=s[r];s[r]=e&&typeof e=="object"&&o&&typeof o=="object"?$t(o,e):e}return s}function co(t,n){const s={};for(const r in t){const e=t[r];if(e&&typeof e=="object"){const o=co(e,n);Object.keys(o).length&&(s[r]=o)}else n.has(r)||(s[r]=e)}return s}function Qo(t){const{node:n}=t;if(!n)return;if(ro||(ro=!0,st({display:"none"})),Rt.has(t)){console.error("[applyCssInProps] re-entry detected for element",t.key,"prop path:",t.__ref?.path);return}Rt.add(t);const s=t.context?.designSystem;s&&R(s),Ht();try{const r={};let e=!1,o=null,i=null,c=null;const a=(u,d)=>{if(d&&typeof d=="object"&&io(u)){i||(i={});const f=i[u];f&&(d=$t(f,d)),i[u]=d}else(d===null||typeof d!="object")&&(c||(c=new Set),c.add(u));r[u]=d};if(Object.prototype.hasOwnProperty.call(t,"theme")&&typeof t.theme!="function"&&L.theme){const u=L.theme(t.theme,t,t.state,t.context);if(u){const d=f=>{for(const l in f){const y=f[l];y&&typeof y=="object"&&io(l)&&(o||(o={}),o[l]=y),r[l]=y}};if(Array.isArray(u))for(const f of u)f&&d(f);else d(u);e=!0}}for(const u of Object.keys(t)){if(typeof t[u]=="function"||V.has(u)||u==="theme")continue;const d=u.charCodeAt(0);if(!(d>=65&&d<=90)&&!Y(u)){if(L[u]){const f=t[u],l=L[u](f,t,t.state,t.context);if(l){if(Array.isArray(l)){for(const y of l)if(y)for(const g in y)a(g,y[g])}else for(const y in l)a(y,l[y]);e=!0}}else if(T&&T.has(u)){const f=t[u];f!=null&&typeof f!="object"&&(a(u,f),e=!0)}else if(u.charCodeAt(0)===45){const f=t[u];f!=null&&typeof f!="object"&&(a(u,f),e=!0)}else if(u.charAt(0)==="&"||u.charAt(0)==="@"||u.charAt(0)===":"||u.charAt(0)==="["){const f=t[u];if(f&&typeof f=="object"&&!Array.isArray(f)){if(Lt(f))continue;const l=eo(u,f,t);l&&(a(l.cssProp,l.block),e=!0)}}}}if(o)for(const u in o){let d=c?co(o[u],c):o[u];i&&i[u]&&(d=$t(d,i[u])),Object.keys(d).length?r[u]=d:delete r[u]}if(e){r.display&&String(r.display).includes("!important")&&(n.style.setProperty("display",String(r.display).replace(/\s*!important\s*$/,""),"important"),delete r.display);const u=st(r,null,t.context?.cssPrefix);if(u&&n.classList){const f=u.split(" ").filter(Boolean);let l=!1;for(const y of f)n.classList.add(y),l||(y.charCodeAt(0)===95&&y.charCodeAt(1)===99||y.charCodeAt(0)===95&&y.indexOf("_c",1)!==-1)&&(l=!0);l&&Zo(n)}const d=t.display!=null&&typeof t.display!="function"?t.display:t.hide===!0||t.show===!1?"none":null;if(d!=null){const f=r.display;if(f&&f!==d)if(d==="none"){const l=[];for(const y of n.classList)y.startsWith("_d-")&&y!=="_d-none"&&l.push(y);for(const y of l)n.classList.remove(y);n.classList.add("_d-none")}else n.style.display==="none"&&(typeof t.hide=="function"||typeof t.show=="function")||(n.style.display=t.display),t.__ref&&(t.__ref.__explicitDisplay=t.display)}}}finally{Wt(),s&&$(),Rt.delete(t)}}function fo(t){const{node:n}=t;if(!n||!n.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 i="aria-"+e.replace(/[A-Z]/g,c=>"-"+c.toLowerCase());n.setAttribute(i,z(i,o))}const s=Eo(t);for(const e in s){const o=s[e];o!=null&&o!==!1&&typeof o!="function"&&typeof o!="object"&&n.setAttribute(e,o===!0?"":o)}const r=t.tag||"div";for(const e of Object.keys(t)){if(typeof t[e]=="function"||V.has(e)||e==="on"||s[e]!==void 0)continue;const o=e.charCodeAt(0);if(!(o>=65&&o<=90)&&!Y(e)&&!(L[e]||T&&T.has(e))&&Ct(r,e)){let i=t[e];if(i==null||(typeof i=="string"&&i.includes("{{")&&(i=At(i,t,t.state,t.context),t[e]=i),i==null||typeof i=="function"||typeof i=="object")||i===!1&&!ft(kt(e)||e))continue;const c=kt(e)||e;n.setAttribute(c,z(c,i))}}}function Xo(t,n){const s=t.node,r=t.__ref;let e=r.__autoGrow;if(!n){if(e&&e.active){try{s.removeEventListener("input",e.resize)}catch{}s.style.height="",e.appliedMax!=null&&s.style.maxHeight===e.appliedMax&&(s.style.maxHeight=""),e.active=!1,e.appliedMax=null,e.lastMeasure=0}return}e||(e=r.__autoGrow={active:!1,appliedMax:null,lastMeasure:0,resize:()=>{if(s.scrollHeight===0&&e.lastMeasure>0)return;s.style.height="auto";const i=s.scrollHeight;s.style.height=i+"px",i>0&&(e.lastMeasure=i)}},r.__eventCleanup||(r.__eventCleanup=[]),r.__eventCleanup.push(()=>{try{s.removeEventListener("input",e.resize)}catch{}})),e.active||(s.addEventListener("input",e.resize),e.active=!0);const o=typeof n=="object"&&n.max!=null?String(n.max):null;o!==e.appliedMax&&(o==null?e.appliedMax!=null&&s.style.maxHeight===e.appliedMax&&(s.style.maxHeight=""):s.style.maxHeight=o,e.appliedMax=o),e.resize()}function Jo(t){if(!t.autoGrow)return;const n=t.node;if(!n||n.tagName!=="TEXTAREA")return;const s=t.__ref,r=t.autoGrow,e=typeof r=="function"?D(t,t.autoGrowDeps,r):null,o=w(()=>{const i=t.autoGrow;let c=i;if(typeof i=="function")try{c=(i===r&&e?e:i)(t,t.state,t.context)}catch{c=null}Xo(t,c)},{depth:s.path.length,label:j(s,"autoGrow")});s.__effects||(s.__effects=[]),s.__effects.push(o),e&&(s.__exec.autoGrow=r)}const ao=new Set(["onSwipe","onSwipeLeft","onSwipeRight","onSwipeUp","onSwipeDown"]);function uo(t,n){for(const s of Object.keys(t)){if(!Y(s)||ao.has(s))continue;const r=ko(s);if(r){Co(r,t,t[s]);continue}let e=t[s];if(typeof e=="string"&&/^[A-Za-z_$][\w$]*$/.test(e)){const i=e;e=function(a){return t.call(i,a)}}if(typeof e!="function")continue;const o=$o(s);xo.has(o)||Ao(Mo(o),t,e)}mo(t)}function mo(t){const n=t.node;if(!n||!n.addEventListener)return;const s={};let r=!1;for(const l of ao){const y=t[l];typeof y=="function"&&(s[l]=y,r=!0)}if(!r)return;const e=typeof t.swipeThreshold=="number"?t.swipeThreshold:40,o=typeof t.swipeMaxDuration=="number"?t.swipeMaxDuration:600;let i=0,c=0,a=0,u=!1;const d=l=>{const y=l.touches&&l.touches[0]||l.changedTouches&&l.changedTouches[0];y&&(i=y.clientX,c=y.clientY,a=Date.now(),u=!0)},f=l=>{if(!u)return;u=!1;const y=l.changedTouches&&l.changedTouches[0]||l.touches&&l.touches[0];if(!y)return;const g=y.clientX-i,_=y.clientY-c,p=Date.now()-a;if(p>o)return;const h=Math.abs(g),b=Math.abs(_);if(Math.max(h,b)<e)return;let x;if(h>b*1.2)x=g<0?"left":"right";else if(b>h*1.2)x=_<0?"up":"down";else return;const C="onSwipe"+x.charAt(0).toUpperCase()+x.slice(1),A=s[C],v=s.onSwipe;A&&A.call(t,l,t,t.state,t.context),v&&v.call(t,{direction:x,dx:g,dy:_,dt:p,event:l},t,t.state,t.context)};n.addEventListener("touchstart",d,{passive:!0}),n.addEventListener("touchend",f,{passive:!0}),t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{try{n.removeEventListener("touchstart",d)}catch{}try{n.removeEventListener("touchend",f)}catch{}})}function it(t,n){const s={...t};for(const r in n){const e=s[r],o=n[r];e&&o&&typeof e=="object"&&typeof o=="object"&&!Array.isArray(e)&&!Array.isArray(o)&&typeof e!="function"&&typeof o!="function"?s[r]=it(e,o):s[r]=o}return s}function Mt(t,n,s,r){if(!n||!t.node)return;const e=t.childExtends;if(Array.isArray(n)){const o=t.tag==="fragment",i=t.context?.document||globalThis.document,c=o?null:i?.createDocumentFragment();if(!o&&!c)return;const a=t.childProps,u=t.childrenAs,d=p=>{let h=n[p];const b=h;(typeof h=="string"||typeof h=="number")&&(h={text:h});let x=a;if(typeof a=="function")try{x=a(t,h)}catch{x=null}if(u==="state"){let A=b;(typeof b=="string"||typeof b=="number")&&(A={value:b,text:b}),h=x?{...x,state:A}:{state:A}}else x&&(h=it(x,h));if(e&&!h.ignoreChildExtends)if(h.extends){const A=Array.isArray(h.extends)?h.extends:[h.extends],v=Array.isArray(e)?e:[e];h={...h,extends:[...v,...A]}}else h={...h,extends:e};const C=h?.key||b&&typeof b=="object"&&b.key||`${p}`;try{return H(h,t,C,s)}catch(A){if(typeof console<"u"&&console.error){const v=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${C}" failed to construct at ${v} (initial render, skipping this row):`,A?.message||A)}return null}},f=t.__ref;if(!(r===!0&&!o&&!!f&&(s?.mountYield===!0||t.yieldChildren===!0))){for(let p=0;p<n.length;p++){const h=d(p);!o&&h?.node&&c.appendChild(h.node)}return o||t.node.appendChild(c),!0}const y=f.__childrenChunkGen=(f.__childrenChunkGen||0)+1;Kt();let g=null;const _=p=>{if(f.__disposed||f.__childrenChunkGen!==y){g&&g.parentNode&&g.remove();return}for(let h=p;h<n.length;h++){const b=d(h);if(b?.node&&(g?t.node.insertBefore(b.node,g):c.appendChild(b.node)),h+1<n.length&&Bt()){g||(g=i.createComment("smbls-mount"),c.appendChild(g),t.node.appendChild(c));const x=h+1;Gt(()=>_(x));return}}g?(g.remove(),t.node.tagName==="SELECT"&&pt(t,!0)):t.node.appendChild(c)};return _(0),Vt(),!0}if(typeof n=="string"){const o=Xt(n,t);if(Array.isArray(o))return Mt(t,o,s,r)}if(typeof n=="object")for(const o in n){if(V.has(o))continue;let i=n[o];if(!(i==null||i===!1)){if((typeof i=="string"||typeof i=="number")&&(i={text:i}),t.childProps&&(i=it(t.childProps,i)),e&&!i.ignoreChildExtends)if(i.extends){const c=Array.isArray(i.extends)?i.extends:[i.extends],a=Array.isArray(e)?e:[e];i={...i,extends:[...a,...c]}}else i={...i,extends:e};H(i,t,o,s)}}}function pt(t,n){const s=t.node;if(!s||s.tagName!=="SELECT")return;const r=s.options;if(!r||!r.length)return;const e=t.__ref,o=e&&e.__exec&&e.__exec.value,i=typeof o=="function",c=t.value!=null&&typeof t.value!="function";if(i||c){let d;if(i)try{d=o(t,t.state,t.context)}catch{return}else d=t.value;const f=d==null?"":String(d);s.value!==f&&(s.value=f);return}const a=n||!(e&&e.__selectSynced);if(e&&(e.__selectSynced=!0),!a)return;let u=-1;for(let d=0;d<r.length;d++)r[d].defaultSelected&&(u=d);u>=0&&s.selectedIndex!==u&&(s.selectedIndex=u)}function lo(t,n){let{children:s,content:r}=t;const e=t.childExtends;if(typeof s=="function"){const f=s;try{s=f(t,t.state,t.context)}catch(p){if(s=void 0,typeof console<"u"&&console.error){const h=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${h} (initial run, treating as empty):`,p?.message||p)}}t.children=s;const l=t.__ref;let y=!1;const g=D(t,t.childrenDeps,f),_=w(()=>{const p=y;y=!0;let h;try{h=g(t,t.state,t.context)}catch(E){if(typeof console<"u"&&console.error){const P=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${P}${p?"":" (initial tracking run)"}:`,E?.message||E)}return}if(!p||h===t.children)return;t.children=h,l.__childrenChunkGen!=null&&l.__childrenChunkGen++;const b=typeof t.onContentUpdate=="function",x=b?[]:null,C=b?[]:null,A=b?[]:null;if(Array.isArray(h)&&t.childrenAs==="state"){const E=t.childProps,P=[],X=new Map;for(let k=0;k<h.length;k++){const N=h[k];let S=E;if(typeof E=="function")try{S=E(t,N)}catch{S=null}const U=S&&S.key||N&&N.key||`${k}`;P.push(U),X.set(U,{rawChild:N,childProps:S})}const yo=new Set(P),ho=l.__children.slice();for(const k of ho)if(!yo.has(k)){const N=t[k];N?.remove&&N.remove(),delete t[k],C&&C.push(k)}const J=t.childExtends,ct=t.tag==="fragment",_o=t.context?.document||globalThis.document,m=ct?null:_o?.createDocumentFragment(),ht=new Set;for(const k of P){const N=X.get(k),S=N.rawChild,U=t[k];if(U&&U.state){if(S&&typeof S=="object"){const O=U.state,W=O.$replace||O.replace,It=O.$update||O.update;try{if(typeof W=="function")W.call(O,S);else if(typeof It=="function"){for(const F in O)if(!(F==="__element"||F==="root"||F==="parent"||F==="update")&&!Object.prototype.hasOwnProperty.call(S,F))try{O[F]=void 0}catch{}It.call(O,S)}else for(const F in S)O[F]=S[F]}catch(F){if(typeof console<"u"&&console.error){const go=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${k}" failed to patch at ${go} (reconcile, keeping its previous data for this pass):`,F?.message||F)}}}A&&A.push(k);continue}let _t=S;(typeof S=="string"||typeof S=="number")&&(_t={value:S,text:S});const Ft=N.childProps;let I=Ft?{...Ft,state:_t}:{state:_t};if(J&&!I.ignoreChildExtends)if(I.extends){const O=Array.isArray(I.extends)?I.extends:[I.extends],W=Array.isArray(J)?J:[J];I={...I,extends:[...W,...O]}}else I={...I,extends:J};let gt;try{gt=H(I,t,k,n)}catch(O){if(typeof console<"u"&&console.error){const W=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${k}" failed to construct at ${W} (reconcile, skipping this row):`,O?.message||O)}ht.add(k);continue}!ct&>?.node&&m&&m.appendChild(gt.node),x&&x.push(k)}if(!ct&&m&&m.childNodes.length&&t.node&&t.node.appendChild(m),!ct&&t.node){let k=null;for(const N of P){const S=t[N]?.node;if(!S)continue;const U=k?k.nextSibling:t.node.firstChild;S!==U&&t.node.insertBefore(S,U),k=S}}l.__children=ht.size?P.filter(k=>!ht.has(k)):P,b&&(x.length||C.length)&&Qt(t,{added:x,removed:C,kept:A}),pt(t,!1);return}const Q=b?[...l.__children]:null;for(const E of[...l.__children]){const P=t[E];P?.remove&&P.remove(),delete t[E]}l.__children=[],Mt(t,h,n),pt(t,!1),b&&Qt(t,{added:[...l.__children],removed:Q,kept:[]})},{depth:l.path.length,label:j(l,"children")});l.__effects.push(_)}const o=Mt(t,s,n,!0);if(r!=null&&!(r&&r.__ref)){let f=r;if(typeof f=="string"||typeof f=="number"?f={text:f}:typeof f!="object"&&(f={}),t.childProps&&(f=it(t.childProps,f)),e&&!f.ignoreChildExtends)if(f.extends){const l=Array.isArray(f.extends)?f.extends:[f.extends],y=Array.isArray(e)?e:[e];f={...f,extends:[...y,...l]}}else f={...f,extends:e};H(f,t,"content",n)}if(s&&!o)return;const i=t.context?.components||{};{const f=Object.keys(t);for(let l=0;l<f.length;l++){const y=f[l];if(!y.endsWith("Extends")||typeof t[y]!="string")continue;const g=y.slice(0,-7);if(!g||g.charCodeAt(0)<65||g.charCodeAt(0)>90)continue;const _={extends:t[y]};delete t[y];for(let p=l+1;p<f.length;p++){const h=f[p],b=h.charCodeAt(0);if(b>=65&&b<=90||V.has(h)||typeof t[h]=="function"&&(h.startsWith("on")||h.startsWith(".")))break;const x=t[h];x!==void 0&&(_[h]=x,delete t[h])}t[g]&&typeof t[g]=="object"?t[g]={..._,...t[g]}:t[g]=_}}const c=n?.mountYield===!0||t.yieldChildren===!0,a=Object.keys(t),u=f=>{if(V.has(f)||typeof t[f]!="object"||t[f]===null)return;const l=f.charCodeAt(0);if(l<65||l>90)return;let y=t[f];if(!y.__ref){if(!y.extends&&!y.extend){const g=i[f]||i[`smbls.${f}`];g&&(y={...y,extends:g})}if(t.childProps&&(y=it(t.childProps,y)),e&&!y.ignoreChildExtends)if(y.extends){const g=Array.isArray(y.extends)?y.extends:[y.extends],_=Array.isArray(e)?e:[e];y={...y,extends:[..._,...g]}}else y={...y,extends:e};H(y,t,f,n)}};if(!c){for(const f of a)u(f);return}Kt();const d=f=>{for(let l=f;l<a.length;l++)if(u(a[l]),l+1<a.length&&Bt()){const y=l+1;Gt(()=>d(y));return}};d(0),Vt()}function po(t,n,s){const{node:r}=t;if(!r)return;r.ref=t;const e=n?.tag==="fragment"?n.__ref?.__fragmentAnchor:null;if(e){const i=e.parentNode;if(i){if(s?.position==="before"&&s.node)i.insertBefore(r,s.node);else if(s?.position==="after"&&s.node){const c=s.node.nextSibling;i.insertBefore(r,c||e)}else i.insertBefore(r,e);return}}const o=n?.node||(n?.nodeType?n:null);if(o)if(s?.position==="before"&&s.node)o.insertBefore(r,s.node);else if(s?.position==="after"&&s.node){const i=s.node.nextSibling;i?o.insertBefore(r,i):o.appendChild(r)}else o.appendChild(r)}const Nt=3;function ts(t){return!t||t.__inBeforeUpdate||(t.__beforeUpdateFailCount||0)>=Nt?!1:(t.__inBeforeUpdate=!0,!0)}function yt(t,n){t&&(t.__inBeforeUpdate=!1,n?(t.__beforeUpdateFailCount=(t.__beforeUpdateFailCount||0)+1,t.__beforeUpdateFailCount===Nt&&typeof console<"u"&&console.error&&console.error(`[DOMQL] onBeforeUpdate failed ${Nt}x in a row on this element \u2014 pausing automatic retries until a future prop/state change re-arms it.`)):t.__beforeUpdateFailCount=0)}function M(t,n,s){const r=t.charAt(0).toLowerCase()+t.slice(1);n.context?.plugins?.length&&B(r,n,s);const e="on"+t,o=n[e];if(typeof o=="function"){const a=t==="Render"?"__inRender":t==="RenderRouter"?"__inRenderRouter":null;if(a){if(n.__ref[a])return!0;n.__ref[a]=!0}const u=n.context?.designSystem;u&&R(u);let d=!!a;try{const f=o(n,n.state,n.context,s);if(f&&typeof f.then=="function"){const l=n.__ref;return f.catch(y=>{n.context?.plugins?.length&&B("error",n,{hook:e,error:y})||console.error(`[DOMQL] Lifecycle "${e}" error:`,y)}).finally(()=>{a&&l&&(l[a]=!1)}),d=!1,!0}if(f===!1)return!1}catch(f){if(n.context?.plugins?.length&&B("error",n,{hook:e,error:f})||console.error(`[DOMQL] Lifecycle "${e}" error:`,f),n.context?.strictMode)throw f}finally{u&&$(),d&&n.__ref&&(n.__ref[a]=!1)}}return!0}var vs=H;export{Nt as BEFORE_UPDATE_MAX_CONSECUTIVE_FAILURES,ts as acquireBeforeUpdateGuard,H as create,vs as default,vt as flushMounts,yt as releaseBeforeUpdateGuard,at as writeElementText};
|
|
4
|
+
`):"")}}if(_t(o,!0),yo(o,e,n),typeof o.html=="function"&&o.node&&!o.node.innerHTML){const _=o.context?.designSystem;_&&R(_);try{const p=o.html(o,o.state,o.context);p!=null&&typeof p!="function"&&(o.node.innerHTML=p)}catch{}finally{_&&M()}}if(N("Create",o,r),N("Complete",o,r),N("Render",o,r),N("RenderRouter",o,r),wt(o,r),typeof o.onFrame=="function"){const _=o.onFrame,p=o.context?.designSystem,h=()=>{if(o.node){if(o.node.isConnected){p&&R(p);try{_(o,o.state,o.context)}catch(b){console.error("[DOMQL] onFrame error:",b)}finally{p&&M()}}requestAnimationFrame(h)}};requestAnimationFrame(h)}return o}function Io(t,e,s){const r=!e,n=s.state&&typeof s.state=="object"&&!Array.isArray(s.state)&&Object.keys(s.state).length===0,o=r&&n&&t.context?.state,i=s.state!==void 0&&!o?s.state:t.state&&!K(t.state)?t.state:void 0;if(i==null){if(e?.state)t.state=e.state,ot(t,t.state);else if(t.context?.state){const a=t.context.state,c={...a},u=t.context?.polyglot;if(u?.translations){const d=t.context,f=a.lang||u.defaultLang||"en",l=new Set,y=(p,h)=>{l.has(p)||jo(d,p,c)&&(c[p]=h,l.add(p),Eo(d,p))},g=u.translations[f];if(g&&typeof g=="object")for(const p in g)y(p,g[p]);const _=new Set(u.languages||[]);for(const p in u.translations)_.has(p)||y(p,u.translations[p])}t.state=K(c)?c:Ct(c),t.state.__element=t,t.state.root=t.state,ot(t,t.state)}else t.state={},Object.defineProperty(t.state,"root",{value:t.state,enumerable:!1,configurable:!0,writable:!0}),ot(t,t.state);return}if(typeof i=="string"){if(t.state=Jt(i,e),t.state&&typeof t.state=="object"&&!K(t.state)){const a=e?.state?.root||e?.state||t.state;Object.defineProperty(t.state,"root",{value:a,enumerable:!1,configurable:!0,writable:!0})}ot(t,t.state);return}if(typeof i=="function"){const a=i(t,e?.state);t.state=K(a)?a:Ct(a||{})}else K(i)?t.state=i:t.state=Ct({...i});t.state.__element=t,e?.state?(t.state.parent=e.state,t.state.root=e.state.root||e.state):t.state.root=t.state,ot(t,t.state)}function Et(t,e){if(!e)return t;const s=e.split("/");let r=t;for(const n of s){if(r==null)return{};r=r[n]}return r??{}}function Jt(t,e){if(!e)return{};if(t===".")return e.state||{};if(t.startsWith("../")){const n=t.slice(3);return n?Et(e.state,n):e.state??{}}if(t.startsWith("~/")){const n=e.state?.root||e.state,o=t.slice(2);return o?Et(n,o):n??{}}if(e.state?.[t]!==void 0)return e.state[t];const s=Et(e.state,t);if(s!=null&&Object.keys(s).length>0)return s;const r=e.context?.polyglot;if(r?.translations){const n=e.state?.root?.lang||r.defaultLang||"en",o=r.translations[n];if(o?.[t]!==void 0)return o[t];if(r.translations[t]!==void 0)return r.translations[t]}return{}}const Uo=new Set(["s","state","ctx","context"]);function Bo(t){try{const s=Function.prototype.toString.call(t).match(/^[^(]*\(([^)]*)\)/);return s?s[1].split(",").map(r=>r.trim().split("=")[0].trim()).filter(Boolean):[]}catch{return[]}}function Ko(t){if(typeof t!="function"||t.length!==2)return!1;const e=Bo(t);if(e.length<2)return!1;const s=e[1].replace(/[{}[\]]/g,"").trim();return s.length>0&&!Uo.has(s)}function Vo(t){const e=t.__ref,s=t.tag||"div",r=t.context?.designSystem,n=[],o=Object.keys(t);for(let i=0;i<o.length;i++){const a=o[i];if(typeof t[a]!="function"||V.has(a))continue;const c=a.charCodeAt(0);c>=65&&c<=90||W(a)||D[a]||P&&P.has(a)||ut(s,a)||(tt()&&Ko(t[a])&&console.warn(`[smbls] custom prop "${a}"${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('${a}', \u2026) instead of reading el.${a}(\u2026) directly (see RULES.md Rule 8).`),n.push({prop:a,fn:t[a]}))}for(let i=0;i<n.length;i++){const{prop:a,fn:c}=n[i];e.__exec[a]=c,Object.defineProperty(t,a,{get(){r&&R(r);try{return c(t,t.state,t.context)}catch{return}finally{r&&M()}},set(u){delete e.__exec[a],Object.defineProperty(t,a,{value:u,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}}function Go(t,e){if(!(!Array.isArray(e)||e.length===0))for(let s=0;s<e.length;s++){const r=e[s];try{typeof r=="function"?r(t,t.state,t.context):typeof r=="string"&&t.state?.[r]}catch{}}}function L(t,e,s){return!Array.isArray(e)||e.length===0?s:function(...r){return Go(t,e),s.apply(this,r)}}function it(t,e){if(!(!t||Array.isArray(t)||typeof t!="object"))return t[e]}function j(t,e){return()=>t.path.join(".")+"::"+e}function mt(t,e){const s=t.__ref,r=!!(e&&e.skipIfEffect);if(Vo(t),typeof t.text=="function"){const o=t.text,i=L(t,t.textDeps,o),a=w(()=>{if(!s.contentManaged)try{let c=i(t,t.state,t.context);t.node&&c!=null&&typeof c!="function"&&typeof c!="object"&&(typeof c=="string"&&c.includes("{{")&&(c=at.call(t,c,t.state)),lt(t,c))}catch{}},{depth:s.path.length,label:j(s,"text")});s.__effects.push(a),s.__exec.text=o}else if(typeof t.text=="string"&&t.text.includes("{{")){const o=t.text,i=w(()=>{if(s.contentManaged)return;const a=at.call(t,o,t.state);a!=null&&(t.text=a),t.node&<(t,a??"")},{depth:s.path.length,label:j(s,"text")});s.__effects.push(i),s.__exec.text=o}for(const o of Object.keys(t))if(typeof t[o]=="function"&&!V.has(o)&&!W(o)&&!s.__exec[o]){if(D[o]){const i=t[o],a=L(t,t[o+"Deps"],i),c=o;let u,d=null,f=null,l;const y=w(()=>{const g=t.context?.designSystem;g&&R(g);try{const _=a(t,t.state,t.context);Wt();let p;try{p=D[c](_,t,t.state,t.context)}finally{zt()}if(Array.isArray(p)){const b={};for(const x of p)if(x)for(const C in x)b[C]=x[C];p=b}const h=c==="show"||c==="hide";if(p&&t.node&&Ho(p)){const b=pt(p);if(b===null||b!==l){l=b;const x=st(p,null,t.context?.cssPrefix),C=x?x.split(" ").filter(Boolean):null;if(t.node.classList){if(f)for(const A of f)t.node.classList.remove(A);if(C&&C.length)for(const A of C)t.node.classList.add(A);f=C}}u=void 0,d=null}else if(p&&t.node){if(f){for(const x of f)t.node.classList.remove(x);f=null,l=void 0}const b=pt(p);(b===null||b!==u||!ht(t.node,d))&&(u=b,Z(t.node,p),d=yt(t.node,p))}else if(t.node&&h){u=void 0,d=null;const b=s.__explicitDisplay;t.node.style.display=typeof b=="string"?b:""}}finally{g&&M()}},{depth:s.path.length,label:j(s,c)});s.__effects.push(y),s.__exec[o]=i}else if(P&&P.has(o)){const i=t[o],a=L(t,t[o+"Deps"],i),c=o;let u,d=null;const f=w(()=>{const l=t.context?.designSystem;l&&R(l);try{const y=a(t,t.state,t.context);if(t.node)if(y!=null){const g=c+":"+String(y);if(g!==u||!ht(t.node,d)){u=g;const _={[c]:y};Z(t.node,_),d=yt(t.node,_)}}else u=void 0,d=null,t.node.style[c]=""}finally{l&&M()}},{depth:s.path.length,label:j(s,c)});s.__effects.push(f),s.__exec[o]=i}}if(typeof t.html=="function"){const o=t.html,i=L(t,t.htmlDeps,o),a=w(()=>{const c=t.context?.designSystem;c&&R(c);try{const u=i(t,t.state,t.context);t.node&&u!=null&&typeof u!="function"&&(t.node.innerHTML=u)}finally{c&&M()}},{depth:s.path.length,label:j(s,"html")});s.__effects.push(a),s.__exec.html=o}if(typeof t.value=="function"){const o=t.value,i=L(t,t.valueDeps,o),a=w(()=>{try{const c=i(t,t.state,t.context);if(!t.node||!("value"in t.node))return;const u=c==null?"":String(c);if(t.node.value===u)return;const d=typeof document<"u"&&document.activeElement===t.node,f=d&&typeof t.node.selectionStart=="number"?t.node.selectionStart:null,l=d&&typeof t.node.selectionEnd=="number"?t.node.selectionEnd:null;if(t.node.value=u,d&&f!=null&&l!=null)try{t.node.setSelectionRange(f,l)}catch{}}catch{}},{depth:s.path.length,label:j(s,"value")});s.__effects.push(a),s.__exec.value=o}if(typeof t.style=="function"){const o=t.style,i=L(t,t.styleDeps,o);let a,c=null;const u=w(()=>{const d=i(t,t.state,t.context),f=pt(d);(f===null||f!==a||!ht(t.node,c))&&(a=f,Z(t.node,d),c=yt(t.node,d))},{depth:s.path.length,label:j(s,"style")});s.__effects.push(u),s.__exec.style=o}else if(t.style&&typeof t.style=="object")for(const o in t.style){const i=t.style[o];if(typeof i!="function")continue;const a=L(t,it(t.styleDeps,o),i);let c,u=null;const d=w(()=>{try{const f=a(t,t.state,t.context);if(t.node){const l=o+":"+String(f);if(l!==c||!ht(t.node,u)){c=l;const y={[o]:f};Z(t.node,y),u=yt(t.node,y)}}}catch{}},{depth:s.path.length,label:j(s,"style."+o)});s.__effects.push(d)}if(t.attr&&typeof t.attr=="object"){for(const o in t.attr)if(typeof t.attr[o]=="function"){const i=L(t,it(t.attrDeps,o),t.attr[o]),a=o,c=w(()=>{try{const u=i(t,t.state,t.context);t.node?.setAttribute&&(u==null||u===!1&&!et(a)?t.node.removeAttribute(a):typeof u!="function"&&typeof u!="object"&&t.node.setAttribute(a,H(a,u)))}catch{}},{depth:s.path.length,label:j(s,"attr."+a)});c._attrName=a.toLowerCase(),s.__effects.push(c)}}if(t.aria&&typeof t.aria=="object")for(const o in t.aria){if(typeof t.aria[o]!="function")continue;const i=L(t,it(t.ariaDeps,o),t.aria[o]),a="aria-"+o.replace(/[A-Z]/g,u=>"-"+u.toLowerCase()),c=w(()=>{try{const u=i(t,t.state,t.context);if(!t.node?.setAttribute)return;u==null?t.node.removeAttribute(a):typeof u!="function"&&typeof u!="object"&&t.node.setAttribute(a,H(a,u))}catch{}},{depth:s.path.length,label:j(s,"aria."+o)});c._attrName=a,s.__effects.push(c)}if(t.data&&typeof t.data=="object")for(const o in t.data){if(typeof t.data[o]!="function")continue;const i=L(t,it(t.dataDeps,o),t.data[o]),c="data-"+o.replace(/[A-Z]/g,d=>"-"+d.toLowerCase()),u=w(()=>{try{const d=i(t,t.state,t.context);if(!t.node?.setAttribute)return;d==null||d===!1?t.node.removeAttribute(c):typeof d!="function"&&typeof d!="object"&&t.node.setAttribute(c,d===!0?"":d)}catch{}},{depth:s.path.length,label:j(s,"data."+o)});u._attrName=c,s.__effects.push(u)}const n=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(n)for(const o in n){if(typeof n[o]!="function")continue;const i=L(t,it(t.classDeps,o),n[o]),a=w(()=>{try{const c=i(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:s.path.length,label:j(s,"class."+o)});s.__effects.push(a)}!r&&typeof t.if=="function"&&oo(t,s,t.if);for(const o of Object.keys(t)){if(V.has(o)||typeof t[o]!="function")continue;const i=o.charCodeAt(0);if(i>=65&&i<=90||W(o))continue;const a=t[o];s.__exec[o]=a;const c=t.tag||"div";if(ut(c,o)&&!D[o]&&!(P&&P.has(o))){const u=dt(o)||o,d=L(t,t[o+"Deps"],a),f=w(()=>{try{const l=d(t,t.state,t.context);t.node?.setAttribute&&(l==null||l===!1&&!et(u)?t.node.removeAttribute(u):typeof l!="function"&&typeof l!="object"&&(u==="src"&&"src"in t.node?t.node.src=l:t.node.setAttribute(u,H(u,l))))}catch{}},{depth:s.path.length,label:j(s,o)});f._attrName=u.toLowerCase(),s.__effects.push(f)}}if(Yo(t),Qo(t),typeof t.onStateUpdate=="function"&&Array.isArray(t.stateDeps)){const o=t.onStateUpdate,i=t.stateDeps;let a=!1,c=[];const u=w(()=>{const d=[];for(let g=0;g<i.length;g++){const _=i[g];try{d[g]=typeof _=="function"?_(t,t.state,t.context):t.state?.[_]}catch{d[g]=void 0}}if(!a){a=!0,c=d;return}let f=d.length!==c.length;for(let g=0;!f&&g<d.length;g++)d[g]!==c[g]&&(f=!0);const l=c;if(c=d,!f)return;const y=t.context?.designSystem;y&&R(y);try{o(t,t.state,t.context,{prev:l,next:d})}catch(g){if(t.context?.plugins?.length&&B("error",t,{hook:"onStateUpdate",error:g})||console.error('[DOMQL] Lifecycle "onStateUpdate" error:',g),t.context?.strictMode)throw g}finally{y&&M()}},{depth:s.path.length,label:j(s,"onStateUpdate")});s.__effects.push(u)}Zo(t)}function to(t){const e=t.parent,s=e?.node;if(!s||!t.node){yo(t,t.parent);return}let r=null;const n=Object.keys(e),o=n.indexOf(t.key);for(let i=o+1;i<n.length;i++){const a=e[n[i]];if(a?.node?.parentNode===s){r=a.node;break}}r?s.insertBefore(t.node,r):s.appendChild(t.node)}function oo(t,e,s){const r=L(t,t.ifDeps,s),n=w(()=>{let o;try{o=r(t,t.state,t.context)}catch(a){if(o=!1,e.__ifError=a,typeof console<"u"&&console.warn){const c=t.key||t.tag||"?";console.warn(`[smbls] \`if:\` reactive effect threw on ${c} \u2014 treating as false:`,a?.message||a)}return}const i=e.__if;if(e.__if=!!o,i&&!e.__if&&t.node){t.node.remove();try{typeof t.onRemove=="function"&&t.onRemove(t)}catch(a){console.error("[smbls] onRemove error:",a)}}else if(!i&&e.__if)if(e.__ifInitialized)t.node||(t.node=kt(t)),t.node&&(t.node.ref=t),to(t),Pt(t),N("Render",t,{}),wt(t,{});else{if(e.__ifInitialized=!0,t.tag||(t.tag=Bt(t)),N("Init",t,{}),t.node||(t.node=kt(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"&&!e.__fragmentAnchor){const c=(t.context?.document||globalThis.document).createComment("");t.node.appendChild(c),e.__fragmentAnchor=c}N("AttachNode",t,{}),t.node.setAttribute&&t.key&&t.node.setAttribute("data-key",t.key),t.id&&t.node.setAttribute&&(t.node.id=t.id),lo(t,{}),mt(t,{skipIfEffect:!0}),Pt(t),ao(t),po(t,{}),to(t),N("Create",t,{}),N("Complete",t,{}),N("Render",t,{}),N("RenderRouter",t,{}),wt(t,{})}},{depth:e.path.length,label:j(e,"if")});e.__effects.push(n)}function lt(t,e){const s=t.node;if(!s)return;const r=e==null||typeof e=="object"?"":String(e);if(t.tag==="string"){s.nodeValue!==r&&(s.nodeValue=r);return}const n=t.__ref;let o=n?n.__textNode:null;if(o&&o.parentNode!==s&&(o=null),!o){const i=s.firstChild;i&&i.nodeType===3&&(o=i)}o?o.nodeValue!==r&&(o.nodeValue=r):s.firstChild?(o=(s.ownerDocument||t.context?.document||globalThis.document).createTextNode(r),s.insertBefore(o,s.firstChild)):(s.textContent=r,o=s.firstChild&&s.firstChild.nodeType===3?s.firstChild:null),n&&(n.__textNode=o||null)}function Pt(t){const{node:e}=t;if(e){if((typeof t.text=="string"&&!t.text.includes("{{")||typeof t.text=="number")&<(t,t.text),Jo(t),typeof t.html=="string"&&(e.innerHTML=t.html),t.value!=null&&typeof t.value!="function"&&"value"in e){const s=String(t.value);e.value!==s&&(e.value=s)}if(t.style&&typeof t.style=="object"){let s=t.style;for(const r in t.style)if(typeof t.style[r]=="function"){s={};for(const n in t.style)typeof t.style[n]!="function"&&(s[n]=t.style[n]);break}Z(e,s)}if(t.attr&&typeof t.attr=="object")for(const s in t.attr){const r=t.attr[s];typeof r=="function"||typeof r=="object"||r!=null&&(r===!1&&!et(s)||e.setAttribute&&e.setAttribute(s,H(s,r)))}if(t.data&&typeof t.data=="object")for(const s in t.data){const r=t.data[s];typeof r=="function"||typeof r=="object"||r==null||r===!1||e.dataset&&(e.dataset[s]=r===!0?"":r)}if(t.classlist||t.class){const s=t.classlist||t.class;if(typeof s=="string")s.split(" ").forEach(r=>r&&e.classList.add(r));else if(typeof s=="object")for(const r in s){const n=typeof s[r]=="function"?s[r](t,t.state,t.context):s[r];n&&e.classList.add(typeof n=="string"?n:r)}}}}function pt(t){if(t==null||typeof t!="object")return"s:"+String(t);try{return"o:"+JSON.stringify(t)}catch{return null}}function Ho(t){if(!t||typeof t!="object")return!1;for(const e in t){const s=t[e];if(s&&typeof s=="object"&&!Array.isArray(s))return!0}return!1}function yt(t,e){if(!t||!t.style||!e)return null;const s=[];for(const r in e){if(e[r]==null||r.charAt(0)==="&")continue;const o=r.replace(/[A-Z]/g,i=>"-"+i.toLowerCase());s.push(o,t.style.getPropertyValue(o),t.style.getPropertyPriority(o))}return s}function ht(t,e){if(!e||!t||!t.style)return!1;for(let s=0;s<e.length;s+=3)if(t.style.getPropertyValue(e[s])!==e[s+1]||t.style.getPropertyPriority(e[s])!==e[s+2])return!1;return!0}const Tt=t=>t.charCodeAt(0)===45&&t.charCodeAt(1)===45;function Z(t,e){if(!t||!e||!t.style)return;let s=null;for(const r in e){const n=e[r];if(n!=null){if(r.charAt(0)==="&"&&typeof n=="object"){s||(s={}),s[r]=n;continue}try{const o=String(n),i=Tt(r)?r:r.replace(/[A-Z]/g,d=>"-"+d.toLowerCase()),a=o.trim(),c=/\s*!important\s*$/.test(a),u=a.replace(/\s*!important\s*$/,"");t.style.setProperty(i,u,c?"important":"")}catch{}}}s&&Wo(t,s)}function Wo(t,e){const s=`_ds${qt.scopedStyleId++}`;t.classList.add(s);const r=t.ownerDocument;let n=r.querySelector("style[data-smbls-scoped]");n||(n=r.createElement("style"),n.setAttribute("data-smbls-scoped",""),r.head.appendChild(n));let o="";for(const i in e){const a="."+s,c=i.replace(/&/g,a).split(",").map(d=>{const f=d.trim();return f.includes(a)?f:a+f}).join(", "),u=e[i];if(typeof u=="object"){let d="",f="";for(const l in u){const y=u[l];if(typeof y=="object"){const g=l.includes("&")?c.split(", ").map(p=>l.replace(/&/g,p)).join(", "):c.split(", ").map(p=>`${p} ${l}`).join(", ");let _="";for(const p in y)_+=`${p.replace(/[A-Z]/g,h=>"-"+h.toLowerCase())}: ${y[p]};`;f+=Yt(`${g} { ${_} }`,g)+`
|
|
5
|
+
`}else d+=`${l.replace(/[A-Z]/g,g=>"-"+g.toLowerCase())}: ${y};`}d&&(o+=Yt(`${c} { ${d} }`,c)+`
|
|
6
|
+
`),f&&(o+=f)}}o&&(n.textContent+=o)}const so=new Set;function eo(t){if(!Array.isArray(t))return"";const e=[];for(let s=0;s<t.length;s++)typeof t[s]=="string"&&t[s].length&&e.push(t[s]);return e.sort(),e.join("|")}function zo(t,e,s){const r=eo(s);queueMicrotask(()=>{if(!t.__ref)return;let n;try{n=e(t,t.state,t.context)}catch{return}if(eo(n)===r)return;const o=t.__ref.path?t.__ref.path.join("."):t.key||"?";so.has(o)||(so.add(o),console.warn(`[smbls] subscribeTo function at "${o}" resolved to a DIFFERENT key list one microtask after create \u2014 wired [${s.join(", ")||"(none)"}], probed [${Array.isArray(n)?n.join(", "):String(n)}]. subscribeTo's function form is resolved ONCE at element-create time (registerSubscribeToEffects, @symbo.ls/element create.js) \u2014 this element stays wired to the ORIGINAL list for its whole lifetime, so this drift is invisible to the reactive effect and any key only present in the new list will never trigger onUpdate. If the watched key genuinely is not known until later (e.g. a module config that loads after shell boot), route the write through an imperative call instead of subscribeTo \u2014 see functions/moduleOpenBridge.js's moduleOpenPage (workspace repo) for the house pattern.`))})}function Yo(t){const e=t.subscribeTo,s=typeof e=="function";let r=e;if(s)try{r=e(t,t.state,t.context)}catch{r=null}if(s&&tt()&&zo(t,e,Array.isArray(r)?r:[]),!Array.isArray(r)||r.length===0)return;const n=t.__ref;for(let o=0;o<r.length;o++){const i=r[o];if(typeof i!="string"||i.length===0)continue;const a=i.split("."),c=a[0],u=a.slice(1),d={value:!1},f=w(()=>{const l=t.state&&(K(t.state)?t.state.root:null);if(!l||!K(l))return;let y=l;y=y[c];for(let _=0;_<u.length&&!(y==null||typeof y!="object");_++)if(K(y))y=y[u[_]];else break;if(!d.value)return;let g=!1;if(typeof t.onBeforeUpdate=="function"){const _=t.context?.designSystem;_&&R(_);try{if(ss(n)){const p=t.onBeforeUpdate(t,t.state,t.context,{updateBySubscription:!0});p&&typeof p.then=="function"?p.then(()=>gt(n,!1),h=>{gt(n,!0),t.context?.plugins?.length&&B("error",t,{hook:"onBeforeUpdate",error:h})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",h)}):(gt(n,!1),p===!1&&(g=!0))}}catch(p){gt(n,!0),t.context?.plugins?.length&&B("error",t,{hook:"onBeforeUpdate",error:p})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",p)}finally{_&&M()}}if(!g&&t.node&&n.__effects)for(let _=0;_<n.__effects.length;_++){const p=n.__effects[_];p&&p!==f&&!p._disposed&&!p._isSubscribeToEffect&&typeof p._execute=="function"&&p._execute()}if(!g&&typeof t.onUpdate=="function"){const _=t.context?.designSystem;_&&R(_);try{t.onUpdate(t,t.state,t.context)}catch(p){t.context?.plugins?.length&&B("error",t,{hook:"onUpdate",error:p})||console.error("[DOMQL] subscribeTo onUpdate error:",p)}finally{_&&M()}}},{depth:n.path.length,label:j(n,"subscribeTo("+i+")")});d.value=!0,f._isSubscribeToEffect=!0,n.__effects.push(f)}}function Dt(t,e){return t.charCodeAt(0)===64&&t.length>1&&!t.startsWith("@media")&&!t.startsWith("@keyframes")&&!t.startsWith("@supports")&&!t.startsWith("@container")&&(t==="@dark"||t==="@light"||!e.context?.designSystem?.media?.[t.slice(1)])}function Lt(t,e){if(t.charCodeAt(0)!==64||/^@(media|supports|container|keyframes)\b/.test(t))return t;const s=e.context?.designSystem?.media?.[t.slice(1)];return s?/^@(media|supports|container)\b/.test(s)?s:`@media ${s}`:t}const no=new Set;function qo(t,e){const s=e?.__ref?.path?e.__ref.path.join("."):e?.key||"?",r=s+"::"+t;no.has(r)||(no.add(r),console.warn(`[smbls/css] "${t}" at ${s} 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,e,s){const r={},n=new Set,o=(i,a,c)=>{const u=c?new Set(Object.keys(r)):null;if(D[i]){const d=D[i](a,e,e.state,e.context);if(d){const f=Array.isArray(d)?d:[d];for(const l of f)l&&Object.assign(r,l)}}else r[i]=a;if(c)for(const d in r)u.has(d)||n.add(d)};for(const i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;let a=t[i];if(typeof a=="function"&&(a=a(e,e.state,e.context)),a==null||typeof a=="function")continue;if(typeof a=="object"&&!Array.isArray(a)){if(i==="style"){for(const f in a){let l=a[f];if(typeof l=="function"&&(l=l(e,e.state,e.context)),l==null||typeof l=="function")continue;const y=typeof e[f]=="function"&&(D[f]||P&&P.has(f));o(f,l,y)}continue}if(Dt(i,e)){const f=Q(a,e,!1);Object.keys(f).length&&(r[`[data-theme="${i.slice(1)}"] &`]=f);continue}if(/^[A-Z][A-Za-z0-9]*$/.test(i)){tt()&&qo(i,e);continue}const u=Lt(i,e),d=Q(a,e,!1);Object.keys(d).length&&(r[u]=d);continue}const c=typeof e[i]=="function"&&(D[i]||P&&P.has(i));o(i,a,c)}if(s)for(const i in r)n.add(i);for(const i of n){const a=r[i];typeof a=="string"&&!a.includes("!important")&&(r[i]=a+" !important")}return r}function Ot(t,e){if(e===void 0&&(e=0),e>8)return!1;if(typeof t=="function")return!0;if(t&&typeof t=="object"&&!Array.isArray(t)){for(const s in t)if(Object.prototype.hasOwnProperty.call(t,s)&&Ot(t[s],e+1))return!0}return!1}function ro(t,e,s){if(!e||typeof e!="object"||Array.isArray(e))return null;if(Dt(t,s)){const o=Q(e,s,!1);return Object.keys(o).length?{cssProp:`[data-theme="${t.slice(1)}"] &`,block:o}:null}const r=Lt(t,s),n=Q(e,s,!1);return Object.keys(n).length?{cssProp:r,block:n}:null}function Zo(t){const e=t.__ref;for(const s of Object.keys(t)){if(!jt(s))continue;const r=t[s];if(!r||typeof r!="object"||Array.isArray(r)||!Ot(r))continue;let n=null,o;const i=w(()=>{if(!t.node)return;const a=t.context?.designSystem;a&&R(a);let c,u=!1;try{const d=ro(s,r,t),f=d?pt(d.block)+"::"+d.cssProp:null;if(f!==null&&f===o)u=!0;else if(o=f,d){const l=st({[d.cssProp]:d.block},null,t.context?.cssPrefix);c=l?l.split(" ").filter(Boolean):null}else c=null}finally{a&&M()}if(!(u||!t.node.classList)){if(n)for(const d of n)t.node.classList.remove(d);if(c&&c.length)for(const d of c)t.node.classList.add(d);n=c}},{depth:e.path.length,label:j(e,"cssBlock("+s+")")});e.__effects.push(i)}}function Qo(t){const e=t.__ref;e.__conditionalRunners=[];const s=new Map;for(const r of Object.keys(t)){const n=r.charAt(0);if(n!=="."&&n!=="!")continue;const o=r.slice(1);if(!o)continue;if(/[:@\s>~+[\]]/.test(o)){if(typeof console<"u"&&console.warn){const y=o.split(/[:@\s>~+[\]]/)[0];console.warn(`[smbls] conditional \`${r}\` on ${t.key||"?"} will never match \u2014 the whole string after \`${n}\` is read as one prop name. Nest the selector inside instead: \`${n}${y}: { '${o.slice(y.length)}': {...} }\`.`)}continue}const i=t[r];if(!i||typeof i!="object")continue;const a=n==="!",c={lastMatch:!1,appliedKeys:null,appliedClasses:null},u=()=>{let y;const g=t[o];if(g===void 0){const h=!!t.state&&o in t.state,b=t.state?t.state[o]:void 0;if(h||b!==void 0)y=b;else{const x=t.context?.cases?.[o];if(x===void 0)return;try{y=typeof x=="function"?x.call(t,t):x}catch(C){y=!1,e.__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 g=="function")try{y=g(t,t.state,t.context)}catch(h){y=!1,e.__conditionalError=h,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` predicate threw on ${t.key||"?"} \u2014 treating as false:`,h?.message||h)}else y=g;const _=a?!y:!!y;if(!t.node||_===c.lastMatch)return;c.lastMatch=_;const p=t.context?.designSystem;p&&R(p);try{if(_){const h={},b={};let x=!1;for(const A in i){if(!Object.prototype.hasOwnProperty.call(i,A))continue;const v=i[A],G=A.charAt(0);if((G===":"||G==="@"||G==="&"||G==="[")&&v&&typeof v=="object"&&!Array.isArray(v)){if(Dt(A,t)){const E=Q(v,t,!1);Object.keys(E).length&&(b[`[data-theme="${A.slice(1)}"] &`]=E,x=!0)}else{const E=Lt(A,t),T=Q(v,t,!1);Object.keys(T).length&&(b[E]=T,x=!0)}continue}const Y=typeof v=="function"?v(t,t.state,t.context):v;if(Y!=null)if(D[A]){const E=D[A](Y,t,t.state,t.context);if(E){const T=Array.isArray(E)?E:[E];for(const X of T)X&&Object.assign(h,X)}}else(P&&P.has(A)||Tt(A))&&(h[A]=Y)}const C=Object.keys(h);if(C.length){Z(t.node,h);for(const A of C)s.set(A,r);c.appliedKeys=C}else c.appliedKeys=null;if(x){const A=st(b,null,t.context?.cssPrefix),v=A?A.split(" ").filter(Boolean):[];if(v.length&&t.node.classList){for(const G of v)t.node.classList.add(G);c.appliedClasses=v}else c.appliedClasses=null}else if(c.appliedClasses){for(const A of c.appliedClasses)t.node.classList.remove(A);c.appliedClasses=null}}else{if(c.appliedKeys){for(const h of c.appliedKeys)s.get(h)===r&&(Tt(h)?t.node.style.removeProperty(h):t.node.style[h]="",s.delete(h));c.appliedKeys=null}if(c.appliedClasses){for(const h of c.appliedClasses)t.node.classList.remove(h);c.appliedClasses=null}}}finally{p&&M()}};e.__conditionalRunners.push(u);const d=L(t,t[o+"Deps"],u),f=w(d,{depth:e.path.length,label:j(e,"conditional("+r+")")}),l=e.__exec&&e.__exec[o]||t[o];f._sources.size===0&&typeof l=="function"&&tt()&&console.warn(`[smbls] conditional \`${r}\` on ${t.key||"?"} subscribed to nothing \u2014 its predicate tracked no reactive read on its first run, so no state write will ever re-evaluate it (only a direct element.update() on this element re-runs it). If the predicate guards its state reads (\`in\`, short-circuits, \`?.\`), declare \`${o}Deps: [...]\` (state-key strings or \`(el, s) => \u2026\` selectors) so the subscription is armed unconditionally.`),e.__effects.push(f)}}const Rt=new WeakSet;function Xo(t){const e=t.ownerDocument;!e||Rt.has(e)||(Rt.add(e),queueMicrotask(()=>{Rt.delete(e);const s=e.body||e.documentElement;s&&s.offsetWidth}))}const Mt=new WeakSet;let io=!1;function co(t){return t.startsWith("[data-theme=")||t.startsWith("@media")&&t.includes("prefers-color-scheme")}function Nt(t,e){const s={...t};for(const r in e){const n=e[r],o=s[r];s[r]=n&&typeof n=="object"&&o&&typeof o=="object"?Nt(o,n):n}return s}function fo(t,e){const s={};for(const r in t){const n=t[r];if(n&&typeof n=="object"){const o=fo(n,e);Object.keys(o).length&&(s[r]=o)}else e.has(r)||(s[r]=n)}return s}function Jo(t){const{node:e}=t;if(!e)return;if(io||(io=!0,st({display:"none"})),Mt.has(t)){console.error("[applyCssInProps] re-entry detected for element",t.key,"prop path:",t.__ref?.path);return}Mt.add(t);const s=t.context?.designSystem;s&&R(s),Wt();try{const r={};let n=!1,o=null,i=null,a=null;const c=(u,d)=>{if(d&&typeof d=="object"&&co(u)){i||(i={});const f=i[u];f&&(d=Nt(f,d)),i[u]=d}else(d===null||typeof d!="object")&&(a||(a=new Set),a.add(u));r[u]=d};if(Object.prototype.hasOwnProperty.call(t,"theme")&&typeof t.theme!="function"&&D.theme){const u=D.theme(t.theme,t,t.state,t.context);if(u){const d=f=>{for(const l in f){const y=f[l];y&&typeof y=="object"&&co(l)&&(o||(o={}),o[l]=y),r[l]=y}};if(Array.isArray(u))for(const f of u)f&&d(f);else d(u);n=!0}}for(const u of Object.keys(t)){if(typeof t[u]=="function"||V.has(u)||u==="theme")continue;const d=u.charCodeAt(0);if(!(d>=65&&d<=90)&&!W(u)){if(D[u]){const f=t[u],l=D[u](f,t,t.state,t.context);if(l){if(Array.isArray(l)){for(const y of l)if(y)for(const g in y)c(g,y[g])}else for(const y in l)c(y,l[y]);n=!0}}else if(P&&P.has(u)){const f=t[u];f!=null&&typeof f!="object"&&(c(u,f),n=!0)}else if(u.charCodeAt(0)===45){const f=t[u];f!=null&&typeof f!="object"&&(c(u,f),n=!0)}else if(u.charAt(0)==="&"||u.charAt(0)==="@"||u.charAt(0)===":"||u.charAt(0)==="["){const f=t[u];if(f&&typeof f=="object"&&!Array.isArray(f)){if(Ot(f))continue;const l=ro(u,f,t);l&&(c(l.cssProp,l.block),n=!0)}}}}if(o)for(const u in o){let d=a?fo(o[u],a):o[u];i&&i[u]&&(d=Nt(d,i[u])),Object.keys(d).length?r[u]=d:delete r[u]}if(n){r.display&&String(r.display).includes("!important")&&(e.style.setProperty("display",String(r.display).replace(/\s*!important\s*$/,""),"important"),delete r.display);const u=st(r,null,t.context?.cssPrefix);if(u&&e.classList){const f=u.split(" ").filter(Boolean);let l=!1;for(const y of f)e.classList.add(y),l||(y.charCodeAt(0)===95&&y.charCodeAt(1)===99||y.charCodeAt(0)===95&&y.indexOf("_c",1)!==-1)&&(l=!0);l&&Xo(e)}const d=t.display!=null&&typeof t.display!="function"?t.display:t.hide===!0||t.show===!1?"none":null;if(d!=null){const f=r.display;if(f&&f!==d)if(d==="none"){const l=[];for(const y of e.classList)y.startsWith("_d-")&&y!=="_d-none"&&l.push(y);for(const y of l)e.classList.remove(y);e.classList.add("_d-none")}else e.style.display==="none"&&(typeof t.hide=="function"||typeof t.show=="function")||(e.style.display=t.display),t.__ref&&(t.__ref.__explicitDisplay=t.display)}}}finally{zt(),s&&M(),Mt.delete(t)}}function ao(t){const{node:e}=t;if(!e||!e.setAttribute)return;if(t.aria&&typeof t.aria=="object")for(const n in t.aria){const o=t.aria[n];if(typeof o=="function"||typeof o=="object"||o==null)continue;const i="aria-"+n.replace(/[A-Z]/g,a=>"-"+a.toLowerCase());e.setAttribute(i,H(i,o))}const s=Po(t);for(const n in s){const o=s[n];o!=null&&o!==!1&&typeof o!="function"&&typeof o!="object"&&e.setAttribute(n,o===!0?"":o)}const r=t.tag||"div";for(const n of Object.keys(t)){if(typeof t[n]=="function"||V.has(n)||n==="on"||s[n]!==void 0)continue;const o=n.charCodeAt(0);if(!(o>=65&&o<=90)&&!W(n)&&!(D[n]||P&&P.has(n))&&ut(r,n)){let i=t[n];if(i==null||(typeof i=="string"&&i.includes("{{")&&(i=at(i,t,t.state,t.context),t[n]=i),i==null||typeof i=="function"||typeof i=="object")||i===!1&&!et(dt(n)||n))continue;const a=dt(n)||n;e.setAttribute(a,H(a,i))}}}function js(t,e){const{node:s}=t;if(!s||!s.setAttribute)return;const r=e.charCodeAt(0);if(r>=65&&r<=90||W(e)||D[e]||P&&P.has(e)||!ut(t.tag||"div",e))return;const n=dt(e)||e,o=n.toLowerCase(),i=t.__ref&&t.__ref.__effects;let a=!1;if(i)for(let d=0;d<i.length;d++){const f=i[d];f&&f._attrName===o&&!f._disposed&&typeof f._execute=="function"&&(a=!0,f._execute())}if(a)return;let c=t[e];const u=To[e];if(u&&c!=null){const d=u(t);d!==void 0&&(c=d)}typeof c=="string"&&c.includes("{{")&&(c=at(c,t,t.state,t.context)),c==null||c===!1&&!et(n)?s.removeAttribute(n):typeof c!="function"&&typeof c!="object"&&s.setAttribute(n,H(n,c))}function mo(t,e){const s=t.node,r=t.__ref;let n=r.__autoGrow;if(!e){if(n&&n.active){try{s.removeEventListener("input",n.resize)}catch{}s.style.height="",n.appliedMax!=null&&s.style.maxHeight===n.appliedMax&&(s.style.maxHeight=""),n.active=!1,n.appliedMax=null,n.lastMeasure=0}return}n||(n=r.__autoGrow={active:!1,appliedMax:null,lastMeasure:0,resize:()=>{if(s.scrollHeight===0&&n.lastMeasure>0)return;s.style.height="auto";const i=s.scrollHeight;s.style.height=i+"px",i>0&&(n.lastMeasure=i)}},r.__eventCleanup||(r.__eventCleanup=[]),r.__eventCleanup.push(()=>{try{s.removeEventListener("input",n.resize)}catch{}})),n.active||(s.addEventListener("input",n.resize),n.active=!0);const o=typeof e=="object"&&e.max!=null?String(e.max):null;o!==n.appliedMax&&(o==null?n.appliedMax!=null&&s.style.maxHeight===n.appliedMax&&(s.style.maxHeight=""):s.style.maxHeight=o,n.appliedMax=o),n.resize()}function ts(t){if(!t.autoGrow)return;const e=t.node;if(!e||e.tagName!=="TEXTAREA")return;const s=t.__ref,r=t.autoGrow,n=typeof r=="function"?L(t,t.autoGrowDeps,r):null,o=w(()=>{const i=t.autoGrow;let a=i;if(typeof i=="function")try{a=(i===r&&n?n:i)(t,t.state,t.context)}catch{a=null}mo(t,a)},{depth:s.path.length,label:j(s,"autoGrow")});s.__effects||(s.__effects=[]),s.__effects.push(o),n&&(s.__exec.autoGrow=r)}const uo=new Set(["onSwipe","onSwipeLeft","onSwipeRight","onSwipeUp","onSwipeDown"]);function lo(t,e){for(const s of Object.keys(t)){if(!W(s)||uo.has(s))continue;const r=So(s);if(r){ko(r,t,t[s]);continue}let n=t[s];if(typeof n=="string"&&/^[A-Za-z_$][\w$]*$/.test(n)){const i=n;n=function(c){return t.call(i,c)}}if(typeof n!="function")continue;const o=$o(s);Ao.has(o)||Co(Fo(o),t,n)}os(t)}function os(t){const e=t.node;if(!e||!e.addEventListener)return;const s={};let r=!1;for(const l of uo){const y=t[l];typeof y=="function"&&(s[l]=y,r=!0)}if(!r)return;const n=typeof t.swipeThreshold=="number"?t.swipeThreshold:40,o=typeof t.swipeMaxDuration=="number"?t.swipeMaxDuration:600;let i=0,a=0,c=0,u=!1;const d=l=>{const y=l.touches&&l.touches[0]||l.changedTouches&&l.changedTouches[0];y&&(i=y.clientX,a=y.clientY,c=Date.now(),u=!0)},f=l=>{if(!u)return;u=!1;const y=l.changedTouches&&l.changedTouches[0]||l.touches&&l.touches[0];if(!y)return;const g=y.clientX-i,_=y.clientY-a,p=Date.now()-c;if(p>o)return;const h=Math.abs(g),b=Math.abs(_);if(Math.max(h,b)<n)return;let x;if(h>b*1.2)x=g<0?"left":"right";else if(b>h*1.2)x=_<0?"up":"down";else return;const C="onSwipe"+x.charAt(0).toUpperCase()+x.slice(1),A=s[C],v=s.onSwipe;A&&A.call(t,l,t,t.state,t.context),v&&v.call(t,{direction:x,dx:g,dy:_,dt:p,event:l},t,t.state,t.context)};e.addEventListener("touchstart",d,{passive:!0}),e.addEventListener("touchend",f,{passive:!0}),t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{try{e.removeEventListener("touchstart",d)}catch{}try{e.removeEventListener("touchend",f)}catch{}})}function ct(t,e){const s={...t};for(const r in e){const n=s[r],o=e[r];n&&o&&typeof n=="object"&&typeof o=="object"&&!Array.isArray(n)&&!Array.isArray(o)&&typeof n!="function"&&typeof o!="function"?s[r]=ct(n,o):s[r]=o}return s}function $t(t,e,s,r){if(!e||!t.node)return;const n=t.childExtends;if(Array.isArray(e)){const o=t.tag==="fragment",i=t.context?.document||globalThis.document,a=o?null:i?.createDocumentFragment();if(!o&&!a)return;const c=t.childProps,u=t.childrenAs,d=p=>{let h=e[p];const b=h;(typeof h=="string"||typeof h=="number")&&(h={text:h});let x=c;if(typeof c=="function")try{x=c(t,h)}catch{x=null}if(u==="state"){let A=b;(typeof b=="string"||typeof b=="number")&&(A={value:b,text:b}),h=x?{...x,state:A}:{state:A}}else x&&(h=ct(x,h));if(n&&!h.ignoreChildExtends)if(h.extends){const A=Array.isArray(h.extends)?h.extends:[h.extends],v=Array.isArray(n)?n:[n];h={...h,extends:[...v,...A]}}else h={...h,extends:n};const C=h?.key||b&&typeof b=="object"&&b.key||`${p}`;try{return z(h,t,C,s)}catch(A){if(typeof console<"u"&&console.error){const v=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${C}" failed to construct at ${v} (initial render, skipping this row):`,A?.message||A)}return null}},f=t.__ref;if(!(r===!0&&!o&&!!f&&(s?.mountYield===!0||t.yieldChildren===!0))){for(let p=0;p<e.length;p++){const h=d(p);!o&&h?.node&&a.appendChild(h.node)}return o||t.node.appendChild(a),!0}const y=f.__childrenChunkGen=(f.__childrenChunkGen||0)+1;Vt();let g=null;const _=p=>{if(f.__disposed||f.__childrenChunkGen!==y){g&&g.parentNode&&g.remove();return}for(let h=p;h<e.length;h++){const b=d(h);if(b?.node&&(g?t.node.insertBefore(b.node,g):a.appendChild(b.node)),h+1<e.length&&Kt()){g||(g=i.createComment("smbls-mount"),a.appendChild(g),t.node.appendChild(a));const x=h+1;Ht(()=>_(x));return}}g?(g.remove(),t.node.tagName==="SELECT"&&_t(t,!0)):t.node.appendChild(a)};return _(0),Gt(),!0}if(typeof e=="string"){const o=Jt(e,t);if(Array.isArray(o))return $t(t,o,s,r)}if(typeof e=="object")for(const o in e){if(V.has(o))continue;let i=e[o];if(!(i==null||i===!1)){if((typeof i=="string"||typeof i=="number")&&(i={text:i}),t.childProps&&(i=ct(t.childProps,i)),n&&!i.ignoreChildExtends)if(i.extends){const a=Array.isArray(i.extends)?i.extends:[i.extends],c=Array.isArray(n)?n:[n];i={...i,extends:[...c,...a]}}else i={...i,extends:n};z(i,t,o,s)}}}function _t(t,e){const s=t.node;if(!s||s.tagName!=="SELECT")return;const r=s.options;if(!r||!r.length)return;const n=t.__ref,o=n&&n.__exec&&n.__exec.value,i=typeof o=="function",a=t.value!=null&&typeof t.value!="function";if(i||a){let d;if(i)try{d=o(t,t.state,t.context)}catch{return}else d=t.value;const f=d==null?"":String(d);s.value!==f&&(s.value=f);return}const c=e||!(n&&n.__selectSynced);if(n&&(n.__selectSynced=!0),!c)return;let u=-1;for(let d=0;d<r.length;d++)r[d].defaultSelected&&(u=d);u>=0&&s.selectedIndex!==u&&(s.selectedIndex=u)}function po(t,e){let{children:s,content:r}=t;const n=t.childExtends;if(typeof s=="function"){const f=s;try{s=f(t,t.state,t.context)}catch(p){if(s=void 0,typeof console<"u"&&console.error){const h=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${h} (initial run, treating as empty):`,p?.message||p)}}t.children=s;const l=t.__ref;let y=!1;const g=L(t,t.childrenDeps,f),_=w(()=>{const p=y;y=!0;let h;try{h=g(t,t.state,t.context)}catch(E){if(typeof console<"u"&&console.error){const T=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${T}${p?"":" (initial tracking run)"}:`,E?.message||E)}return}if(!p||h===t.children)return;t.children=h,l.__childrenChunkGen!=null&&l.__childrenChunkGen++;const b=typeof t.onContentUpdate=="function",x=b?[]:null,C=b?[]:null,A=b?[]:null;if(Array.isArray(h)&&t.childrenAs==="state"){const E=t.childProps,T=[],X=new Map;for(let k=0;k<h.length;k++){const $=h[k];let S=E;if(typeof E=="function")try{S=E(t,$)}catch{S=null}const U=S&&S.key||$&&$.key||`${k}`;T.push(U),X.set(U,{rawChild:$,childProps:S})}const ho=new Set(T),_o=l.__children.slice();for(const k of _o)if(!ho.has(k)){const $=t[k];$?.remove&&$.remove(),delete t[k],C&&C.push(k)}const J=t.childExtends,ft=t.tag==="fragment",go=t.context?.document||globalThis.document,m=ft?null:go?.createDocumentFragment(),bt=new Set;for(const k of T){const $=X.get(k),S=$.rawChild,U=t[k];if(U&&U.state){if(S&&typeof S=="object"){const O=U.state,q=O.$replace||O.replace,Ut=O.$update||O.update;try{if(typeof q=="function")q.call(O,S);else if(typeof Ut=="function"){for(const F in O)if(!(F==="__element"||F==="root"||F==="parent"||F==="update")&&!Object.prototype.hasOwnProperty.call(S,F))try{O[F]=void 0}catch{}Ut.call(O,S)}else for(const F in S)O[F]=S[F]}catch(F){if(typeof console<"u"&&console.error){const bo=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${k}" failed to patch at ${bo} (reconcile, keeping its previous data for this pass):`,F?.message||F)}}}A&&A.push(k);continue}let xt=S;(typeof S=="string"||typeof S=="number")&&(xt={value:S,text:S});const It=$.childProps;let I=It?{...It,state:xt}:{state:xt};if(J&&!I.ignoreChildExtends)if(I.extends){const O=Array.isArray(I.extends)?I.extends:[I.extends],q=Array.isArray(J)?J:[J];I={...I,extends:[...q,...O]}}else I={...I,extends:J};let At;try{At=z(I,t,k,e)}catch(O){if(typeof console<"u"&&console.error){const q=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${k}" failed to construct at ${q} (reconcile, skipping this row):`,O?.message||O)}bt.add(k);continue}!ft&&At?.node&&m&&m.appendChild(At.node),x&&x.push(k)}if(!ft&&m&&m.childNodes.length&&t.node&&t.node.appendChild(m),!ft&&t.node){let k=null;for(const $ of T){const S=t[$]?.node;if(!S)continue;const U=k?k.nextSibling:t.node.firstChild;S!==U&&t.node.insertBefore(S,U),k=S}}l.__children=bt.size?T.filter(k=>!bt.has(k)):T,b&&(x.length||C.length)&&Xt(t,{added:x,removed:C,kept:A}),_t(t,!1);return}const Y=b?[...l.__children]:null;for(const E of[...l.__children]){const T=t[E];T?.remove&&T.remove(),delete t[E]}l.__children=[],$t(t,h,e),_t(t,!1),b&&Xt(t,{added:[...l.__children],removed:Y,kept:[]})},{depth:l.path.length,label:j(l,"children")});l.__effects.push(_)}const o=$t(t,s,e,!0);if(r!=null&&!(r&&r.__ref)){let f=r;if(typeof f=="string"||typeof f=="number"?f={text:f}:typeof f!="object"&&(f={}),t.childProps&&(f=ct(t.childProps,f)),n&&!f.ignoreChildExtends)if(f.extends){const l=Array.isArray(f.extends)?f.extends:[f.extends],y=Array.isArray(n)?n:[n];f={...f,extends:[...y,...l]}}else f={...f,extends:n};z(f,t,"content",e)}if(s&&!o)return;const i=t.context?.components||{};{const f=Object.keys(t);for(let l=0;l<f.length;l++){const y=f[l];if(!y.endsWith("Extends")||typeof t[y]!="string")continue;const g=y.slice(0,-7);if(!g||g.charCodeAt(0)<65||g.charCodeAt(0)>90)continue;const _={extends:t[y]};delete t[y];for(let p=l+1;p<f.length;p++){const h=f[p],b=h.charCodeAt(0);if(b>=65&&b<=90||V.has(h)||typeof t[h]=="function"&&(h.startsWith("on")||h.startsWith(".")))break;const x=t[h];x!==void 0&&(_[h]=x,delete t[h])}t[g]&&typeof t[g]=="object"?t[g]={..._,...t[g]}:t[g]=_}}const a=e?.mountYield===!0||t.yieldChildren===!0,c=Object.keys(t),u=f=>{if(V.has(f)||typeof t[f]!="object"||t[f]===null)return;const l=f.charCodeAt(0);if(l<65||l>90)return;let y=t[f];if(!y.__ref){if(!y.extends&&!y.extend){const g=i[f]||i[`smbls.${f}`];g&&(y={...y,extends:g})}if(t.childProps&&(y=ct(t.childProps,y)),n&&!y.ignoreChildExtends)if(y.extends){const g=Array.isArray(y.extends)?y.extends:[y.extends],_=Array.isArray(n)?n:[n];y={...y,extends:[..._,...g]}}else y={...y,extends:n};z(y,t,f,e)}};if(!a){for(const f of c)u(f);return}Vt();const d=f=>{for(let l=f;l<c.length;l++)if(u(c[l]),l+1<c.length&&Kt()){const y=l+1;Ht(()=>d(y));return}};d(0),Gt()}function yo(t,e,s){const{node:r}=t;if(!r)return;r.ref=t;const n=e?.tag==="fragment"?e.__ref?.__fragmentAnchor:null;if(n){const i=n.parentNode;if(i){if(s?.position==="before"&&s.node)i.insertBefore(r,s.node);else if(s?.position==="after"&&s.node){const a=s.node.nextSibling;i.insertBefore(r,a||n)}else i.insertBefore(r,n);return}}const o=e?.node||(e?.nodeType?e:null);if(o)if(s?.position==="before"&&s.node)o.insertBefore(r,s.node);else if(s?.position==="after"&&s.node){const i=s.node.nextSibling;i?o.insertBefore(r,i):o.appendChild(r)}else o.appendChild(r)}const Ft=3;function ss(t){return!t||t.__inBeforeUpdate||(t.__beforeUpdateFailCount||0)>=Ft?!1:(t.__inBeforeUpdate=!0,!0)}function gt(t,e){t&&(t.__inBeforeUpdate=!1,e?(t.__beforeUpdateFailCount=(t.__beforeUpdateFailCount||0)+1,t.__beforeUpdateFailCount===Ft&&typeof console<"u"&&console.error&&console.error(`[DOMQL] onBeforeUpdate failed ${Ft}x in a row on this element \u2014 pausing automatic retries until a future prop/state change re-arms it.`)):t.__beforeUpdateFailCount=0)}function N(t,e,s){const r=t.charAt(0).toLowerCase()+t.slice(1);e.context?.plugins?.length&&B(r,e,s);const n="on"+t,o=e[n];if(typeof o=="function"){const c=t==="Render"?"__inRender":t==="RenderRouter"?"__inRenderRouter":null;if(c){if(e.__ref[c])return!0;e.__ref[c]=!0}const u=e.context?.designSystem;u&&R(u);let d=!!c;try{const f=o(e,e.state,e.context,s);if(f&&typeof f.then=="function"){const l=e.__ref;return f.catch(y=>{e.context?.plugins?.length&&B("error",e,{hook:n,error:y})||console.error(`[DOMQL] Lifecycle "${n}" error:`,y)}).finally(()=>{c&&l&&(l[c]=!1)}),d=!1,!0}if(f===!1)return!1}catch(f){if(e.context?.plugins?.length&&B("error",e,{hook:n,error:f})||console.error(`[DOMQL] Lifecycle "${n}" error:`,f),e.context?.strictMode)throw f}finally{u&&M(),d&&e.__ref&&(e.__ref[c]=!1)}}return!0}var Es=z;export{Ft as BEFORE_UPDATE_MAX_CONSECUTIVE_FAILURES,ss as acquireBeforeUpdateGuard,z as create,Es as default,vt as flushMounts,js as reconcileAttrProp,gt as releaseBeforeUpdateGuard,lt as writeElementText};
|
package/dist/esm/src/methods.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{update as h}from"./update.js";import{remove as _}from"./dispose.js";import{isLoudDevRuntime as d}from"./devRuntime.js";import"css-in-props";import{getDB as
|
|
1
|
+
import{update as h}from"./update.js";import{remove as _}from"./dispose.js";import{isLoudDevRuntime as d}from"./devRuntime.js";import"css-in-props";import{getDB as p,getQuery as g,getRootData as y,getRootState as m,getRoot as k,getRootContext as w,getContext as x,getPath as C,nextElement as S,previousElement as R,verbose as v,warn as b,error as P,variables as A,spotByPath as D}from"@symbo.ls/utils";function i(t,e,n){const o=t?.context?.analyze;if(!o||!o.emit||e==="warn"&&!o.shouldCapture("warnings")||e==="error"&&!o.shouldCapture("errors"))return;const r=n.map(s=>s?.message||(typeof s=="string"?s:null)).filter(Boolean).join(" ");o.emit({id:`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,6)}`,ts:Date.now(),type:e==="error"?"error":"warning",level:e,hook:e==="error"?"el.error":"el.warn",element:{key:t.key!=null?String(t.key):null,name:t.__name||null,tag:t.tag||null},message:r||null,args:n})}const l=new Set;function $(t,e,n){const o=String(e);if(l.has(o))return;l.add(o);const r=t?.__ref?.path,s=Array.isArray(r)&&r.length?r.join("."):t?.key!=null?String(t.key):"(unknown element)",a=n!=null?`resolves to a non-function (${typeof n}) \u2014 it cannot be called`:"is not registered in context.methods, context.functions, or context.utils, and is not an element method",u=`[smbls] el.call('${o}') at <${s}>: "${o}" ${a}. Returning undefined (unchanged behavior) \u2014 check the name for typos or register the function on the project. Warned once per name; repeat misses are silent.`;i(t,"error",[u]),console.error(u)}function j(...t){return i(this,"warn",t),b.apply(this,t)}function O(...t){return i(this,"error",t),P.apply(this,t)}const f={update:h,remove:_,getDB:p,getQuery:g,getRootData:y,getPath:C,nextElement:S,previousElement:R,verbose:v,warn:j,error:O,variables:A,spotByPath:D,set(t,e){const n=this.__ref;if(n){if(n.__setLocked){n.__setQueued={content:t,options:e};return}n.__setLocked=!0}try{if(this.removeContent(),t!=null){const o=this.context?.__create;o&&o(t,this,"content",e)}this.__ref&&(this.__ref.contentManaged=!0)}finally{if(n){n.__setLocked=!1;const o=n.__setQueued;o&&(n.__setQueued=null,this.set(o.content,o.options))}}},reset(t){const e=this.context?.__create;if(!e)return this;const n=this.parent,o=this.key,r=this.parse();return this.remove(),e(r,n,o,t)},lookup(t){let e=this.parent;for(;e;){if(typeof t=="function"){if(t(e))return e}else if(typeof t=="string"){if(e.key===t)return e;if(e[t]&&e[t].__ref)return e[t]}e=e.parent}return null},lookdown(t){const e=this.__ref;if(!e?.__children)return null;for(const n of e.__children){const o=this[n];if(!o)continue;if(typeof t=="function"){if(t(o))return o}else if(typeof t=="string"&&o.key===t)return o;const r=o.lookdown?.(t);if(r)return r}return null},lookdownAll(t,e=[]){const n=this.__ref;if(!n?.__children)return e;for(const o of n.__children){const r=this[o];r&&(typeof t=="function"?t(r)&&e.push(r):typeof t=="string"&&r.key===t&&e.push(r),r.lookdownAll?.(t,e))}return e},getRef(t){return t?this.__ref&&this.__ref[t]:this.__ref},getChildren(){const t=this.__ref&&this.__ref.__children;return Array.isArray(t)?t.map(e=>this[e]):[]},getRoot:k,getRootState:m,getRootContext:w,getContext:x,parse(t){const e={},n=t?new Set(t):null,o=this.__ref?.__exec;for(const r in this)if(!(r==="parent"||r==="node"||r==="__ref")&&!n?.has(r)){if(o&&o[r]!==void 0){e[r]=o[r];continue}typeof this[r]!="function"&&(e[r]=this[r])}return e},parseDeep(t){const e=this.parse(t),n=this.__ref;if(n?.__children)for(const o of n.__children)this[o]?.parseDeep&&(e[o]=this[o].parseDeep(t));return e},keys(){return Object.keys(this)},log(...t){if(t.length){const e={};for(const n of t)e[n]=this[n];console.log(e)}else console.log(this)},setProps(t,e){return this.update(t,e)},setNodeStyles(t){if(this.node?.style)for(const e in t){const n=t[e];if(n==null)continue;const o=e.replace(/[A-Z]/g,s=>"-"+s.toLowerCase()),r=String(n).replace(/\s*!important\s*$/,"");this.node.style.setProperty(o,r,"important")}},call(t,...e){const n=this.context,o=n?.methods?.[t]||n?.functions?.[t]||n?.utils?.[t]||this[t];if(typeof o=="function")return o.call(this,...e);d()&&$(this,t,o)},removeContent(){const t=this.__ref;if(!t?.__children)return;const e=this.content;if(e?.remove){e.remove(),delete this.content;const n=t.__children.indexOf("content");n!==-1&&t.__children.splice(n,1)}e?.node?.parentNode&&e.node.parentNode.removeChild(e.node)}},c=new WeakMap;function L(t){if(!t)return f;let e=c.get(t);if(e)return e;e=Object.create(f);const n=t.methods;if(n)for(const o in n)e[o]=n[o];return c.set(t,e),e}function F(t){const e=L(t.context);Object.setPrototypeOf(t,e)}function T(t){if(!t)return!1;const e=c.get(t);if(!e)return!1;const n=t.methods;if(!n)return!1;for(const o in n)e[o]=n[o];return!0}export{F as addMethods,f as elementProto,T as refreshContextProto};
|
package/dist/esm/src/update.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{batch as
|
|
1
|
+
import{batch as h,isStore as y}from"@symbo.ls/signal";import{REGISTRY as _}from"./registry.js";import{create as x,acquireBeforeUpdateGuard as p,releaseBeforeUpdateGuard as s,writeElementText as b,reconcileAttrProp as g}from"./create.js";import{runPluginHook as d}from"@symbo.ls/utils/function.js";import{serializeAttrValue as A,isEnumeratedTrueFalseAttr as U}from"attrs-in-props";function v(n={},r={}){const e=this,i=e.__ref;if(!i)return;if((typeof n=="string"||typeof n=="number")&&(n={text:n}),!r.preventListeners&&typeof e.onBeforeUpdate=="function"&&p(i))try{const t=e.onBeforeUpdate(e,e.state,e.context,r);if(t&&typeof t.then=="function")t.then(()=>s(i,!1),o=>{s(i,!0),e.context?.plugins?.length&&d("error",e,{hook:"onBeforeUpdate",error:o})||console.error("[DOMQL] onBeforeUpdate error:",o)});else if(s(i,!1),t===!1)return e}catch(t){throw s(i,!0),t}const u=!n||Object.keys(n).length===0,l=[];h(()=>{if(n.state&&y(e.state)&&e.state.$update(n.state),n.text!==void 0&&(e.text=n.text,!i.__exec.text&&e.node&&b(e,n.text??"")),n.html!==void 0&&(e.html=n.html,!i.__exec.html&&e.node&&(e.node.innerHTML=n.html)),n.style&&e.node?.style){if(!i.__exec.style)for(const t in n.style){const o=n.style[t];if(o==null)continue;const f=t.replace(/[A-Z]/g,a=>"-"+a.toLowerCase()),c=String(o).replace(/\s*!important\s*$/,"");e.node.style.setProperty(f,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&&!U(t)?e.node.removeAttribute(t):typeof o!="function"&&typeof o!="object"&&e.node.setAttribute(t,A(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],f=e[t];if(f&&f.__ref&&typeof f.update=="function")f.update(o,r);else if(typeof o=="object"&&o!==null){const c=t.charCodeAt(0);c>=65&&c<=90&&x(o,e,t,r)}else t!=="text"&&t!=="html"&&t!=="style"&&t!=="attr"&&t!=="data"&&(e[t]=o,typeof o!="function"&&l.push(t))}});for(let t=0;t<l.length;t++)g(e,l[t]);if(e.node&&u&&i.__effects&&i.__effects.length)for(let t=0;t<i.__effects.length;t++){const o=i.__effects[t];o&&!o._disposed&&!o._isSubscribeToEffect&&typeof o._execute=="function"&&o._execute()}else if(e.node&&i.__conditionalRunners)for(const t of i.__conditionalRunners)t();return d("update",e),!r.preventListeners&&typeof e.onUpdate=="function"&&e.onUpdate(e,e.state,e.context,r),e}var L=v;export{L as default,v as update};
|
package/dist/esm/src/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const o="3.14.
|
|
1
|
+
const o="3.14.786";export{o as VERSION};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@symbo.ls/element",
|
|
3
|
-
"version": "3.14.
|
|
3
|
+
"version": "3.14.786",
|
|
4
4
|
"description": "Core element creation, update, and disposal engine for smbls v3.14",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -20,9 +20,11 @@
|
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
+
"@symbo.ls/css": "^3.14.707",
|
|
24
|
+
"@symbo.ls/scratch": "^3.14.778",
|
|
23
25
|
"@symbo.ls/signal": "^3.14.779",
|
|
24
26
|
"@symbo.ls/state": "^3.14.678",
|
|
25
|
-
"@symbo.ls/utils": "^3.14.
|
|
27
|
+
"@symbo.ls/utils": "^3.14.770",
|
|
26
28
|
"css-in-props": "^3.14.753",
|
|
27
29
|
"attrs-in-props": "^3.14.692"
|
|
28
30
|
},
|