@symbo.ls/element 3.14.803 → 3.14.805
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/README.md +189 -0
- package/dist/cjs/src/cache.js +1 -1
- package/dist/cjs/src/connected.js +1 -0
- package/dist/cjs/src/core.js +6 -0
- package/dist/cjs/src/create.js +1 -6
- package/dist/cjs/src/cssLonghands.js +1 -1
- package/dist/cjs/src/delegate.js +1 -1
- package/dist/cjs/src/dispose.js +1 -1
- package/dist/cjs/src/extends.js +1 -1
- package/dist/cjs/src/features.js +1 -0
- package/dist/cjs/src/handlerChain.js +1 -0
- package/dist/cjs/src/hydration.js +1 -0
- package/dist/cjs/src/index.js +1 -1
- package/dist/cjs/src/install.js +1 -0
- package/dist/cjs/src/lean.js +1 -0
- package/dist/cjs/src/methods.js +1 -1
- package/dist/cjs/src/mountRecord.js +1 -0
- package/dist/cjs/src/mountScheduler.js +1 -1
- package/dist/cjs/src/mountYield.js +1 -0
- package/dist/cjs/src/plainRows.js +1 -0
- package/dist/cjs/src/update.js +1 -1
- package/dist/cjs/src/version.js +1 -1
- package/dist/cjs/src/viewEvents.js +1 -0
- package/dist/esm/src/cache.js +1 -1
- package/dist/esm/src/connected.js +1 -0
- package/dist/esm/src/core.js +6 -0
- package/dist/esm/src/create.js +1 -6
- package/dist/esm/src/cssLonghands.js +1 -1
- package/dist/esm/src/delegate.js +1 -1
- package/dist/esm/src/dispose.js +1 -1
- package/dist/esm/src/extends.js +1 -1
- package/dist/esm/src/features.js +1 -0
- package/dist/esm/src/handlerChain.js +1 -0
- package/dist/esm/src/hydration.js +1 -0
- package/dist/esm/src/index.js +1 -1
- package/dist/esm/src/install.js +1 -0
- package/dist/esm/src/lean.js +1 -0
- package/dist/esm/src/methods.js +1 -1
- package/dist/esm/src/mountRecord.js +1 -0
- package/dist/esm/src/mountScheduler.js +1 -1
- package/dist/esm/src/mountYield.js +1 -0
- package/dist/esm/src/plainRows.js +1 -0
- package/dist/esm/src/update.js +1 -1
- package/dist/esm/src/version.js +1 -1
- package/dist/esm/src/viewEvents.js +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{createStore as no,createScopeStore as fn,isStore as K}from"@symbo.ls/signal";import{createEffect as v,getObserver as an}from"@symbo.ls/signal";import*as un from"@symbo.ls/signal";import{withDesignSystem as Q,untrack as It}from"./runContext.js";import{cacheNode as ro,detectTag as $o,firstSlotAfterText as dn}from"./cache.js";import{REGISTRY as B,LIFECYCLE_EVENTS as ln}from"./registry.js";import{registerEvent as pn,registerGlobalEvent as hn,globalEventKeyInfo as yn,isHandlerKey as W,eventNameFrom as _n,stringHandler as gn}from"./delegate.js";import{FEATURES as M}from"./features.js";import{mountBridge as bn}from"./bridge.js";import{applyExtends as An,openMergeLayer as xn,closeMergeLayer as wn,deepMergeChild as X}from"./extends.js";import{flushConnected as eo}from"./connected.js";import{mountRecord as Sn,mountPendingOf as $t}from"./mountRecord.js";import{addMethods as kn}from"./methods.js";import"./dispose.js";import{isLoudDevRuntime as rt}from"./devRuntime.js";import{replaceLiteralsWithObjectFields as $,isPolyglotWritableKey as Cn,markPolyglotSeeded as vn,polyglotSeededKeys as jn}from"@symbo.ls/utils";import*as Ut from"@symbo.ls/utils";import{dispatchPluginHook as gt,hasPluginHook as Pn,reportLifecycleError as Ht}from"./pluginHooks.js";import{applyStateMethods as ft}from"@symbo.ls/state";import{CSS_PROPS_REGISTRY as U,DEFAULT_CSS_PROPERTIES_LIST as V,pushStaticCssPass as Uo,popStaticCssPass as Ho,resolveStyleBlockTokens as En}from"css-in-props";import{css as bt,wrapHoverRule as Bo}from"@symbo.ls/css";import{pushConfig as z,popConfig as q}from"@symbo.ls/scratch";import{checkAttributeByTagName as At,applyAttrTransforms as Tn,ATTR_TRANSFORMS as io,camelToAttr as xt,serializeAttrValue as J,isEnumeratedTrueFalseAttr as Bt,extractConditionalAttrs as On}from"attrs-in-props";import{resolveElementIdEngine as Rn}from"./engineRegistry.js";import{CSS_LONGHAND_SHORTHANDS as Vt,CSS_SHORTHAND_LONGHANDS as Dn,cssShorthandStatesLonghand as Vo,cssShorthandStatesThemeLonghand as Ln,cssPropName as Ko,cssCamelName as Go}from"./cssLonghands.js";import{isAttributeFirst as Wo,isCssProp as et}from"./attributeFirst.js";import{VERSION as Nn}from"./version.js";const zo=Rn({uniqId:1,scopedStyleId:0},Nn),at=[],m=new Set;let co=!1,qo=0,ut=null,wt=null;function dt(){return typeof Date<"u"&&typeof Date.now=="function"?Date.now():0}function Yo(){return typeof document<"u"&&document.visibilityState==="hidden"}const Mn=250,Fn=1e3;function In(){return wt&&(wt!==(typeof requestAnimationFrame=="function"?requestAnimationFrame:null)||Yo())?!0:dt()-qo>=Fn}function $n(){if(co=!0,qo=dt(),wt=null,typeof requestAnimationFrame!="function"){const t=typeof clearTimeout=="function"?clearTimeout:null,o=setTimeout(ao,0);ut=t?()=>t(o):null;return}if(Yo()){const t=typeof clearTimeout=="function"?clearTimeout:null,o=setTimeout(ao,Mn);ut=t?()=>t(o):null}else{const t=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:null;wt=requestAnimationFrame;const o=requestAnimationFrame(ao);ut=t?()=>t(o):null}}function St(){if(co){if(!In())return;const t=ut;if(ut=null,t)try{t()}catch{}}$n()}const Zo=300,Qo=15e4;let fo=0;function Re(){fo++;let t=!1;return()=>{t||(t=!0,!(--fo>0)&&(at.length||m.size)&&St())}}function ao(){if(co=!1,ut=null,wt=null,fo>0||(m.size&&Ur(),!at.length))return;const t=at.splice(0,at.length);for(let o=0;o<t.length;o++){const s=t[o];if(s.node){if(!s.node.isConnected){const n=s.__ref||(s.__ref={});n.__mountAttempts=(n.__mountAttempts||0)+1,n.__mountFirstAttemptAt==null&&(n.__mountFirstAttemptAt=dt());const r=dt()-n.__mountFirstAttemptAt;n.__mountAttempts<=Zo&&r<Qo?(at.push(s),St()):console.warn("[DOMQL] onMounted dropped after",n.__mountAttempts,"attempts /",r,"ms \u2014 node never connected:",s.key||s.tag||s);continue}typeof s.onBridgeMount=="function"&&bn(s),typeof s.onMounted=="function"&&N("Mounted",s,s.__ref?.__mountOptions||{})}}}function uo(t,o){const s=t.__ref?.__autoGrow;s&&s.active&&Ot(t,!0),!(typeof t.onMounted!="function"&&typeof t.onBridgeMount!="function")&&(t.__ref.__mountOptions=o,at.push(t),St())}function Xo(t,o){typeof t.onContentUpdate=="function"&&(gt("contentUpdate",t,o),Q(t,()=>{try{t.onContentUpdate(t,t.state,t.context,o)}catch(s){if(Ht(t,"onContentUpdate",s),t.context?.strictMode)throw s}}))}function Un(t){return t.toLowerCase()}function Jo(t){const o=t.charCodeAt(0);return o===58||o===64||o===38||o===91}function Kt(t){if(typeof t=="string")return t||void 0;if(typeof t=="number"||typeof t=="bigint")return String(t)}function mo(t,o,s,n){return Gt(n,Kt(t)||(o&&typeof o=="object"?Kt(o.key):void 0)||String(s))}function Gt(t,o){if(!t||typeof o!="string")return o;let s=o;for(;Hn(t,s);)s="$"+s;return s!==o&&Bn(t,o,s),s}function Hn(t,o){if(B.has(o)&&o!=="content")return!0;if(!(o in t))return!1;const s=t[o];return!(s&&typeof s=="object"&&s.__ref&&s.parent===t)}const ts=new Set;function Bn(t,o,s){if(!rt())return;const n=t.__ref&&t.__ref.path&&t.__ref.path.join(".")||t.key||"<root>",r=n+"::"+o;ts.has(r)||(ts.add(r),console.warn(`[smbls] a child keyed "${o}" at ${n} names a property of its parent; it lives at el["${s}"] (data-key="${s}") so the parent keeps its own "${o}". Prefix the data keys to keep plain el.<key> access.`))}function tt(t,o,s,n={},r){if(an())return It(()=>tt(t,o,s,n,r));if(t==null||t===!1)return null;const c=ar(t);(typeof t=="string"||typeof t=="number")&&(t={text:t}),s=Kt(s);const a=Kt(t.key),i=Object.create(null);i.key=s||(a&&o?Gt(o,a):a)||`_${zo.uniqId++}`,i.parent=o||null,i.context=t.context||o?.context||n.context||{},i.context.__create||(i.context.__create=tt);const e=i.__ref={__if:!0,__children:[],__exec:{},__effects:[],__eventCleanup:[],root:o?.__ref?.root||i,path:o?.__ref?.path?[...o.__ref.path,i.key]:[i.key],origin:t,__mount:null,__plainRows:null,__ifParked:null};c&&(e.__runtimeSource=c);let f=r;r&&(r.holdTail||r.deferAttach)&&(r.holdTail&&M.mount!==null&&M.mount.hold(i),r.deferAttach&&(Sn(e).attachLater=!0),f=void 0);const l=t;if(t=os(i,t,s,a,o,n),i.if!=null){let _;if(typeof i.if=="function")try{_=i.if(i,i.state,i.context)}catch(p){if(_=!1,e.__ifError=p,typeof console<"u"&&console.warn){const y=i.key||i.tag||"?";console.warn(`[smbls] \`if:\` evaluator threw on ${y} \u2014 treating as false:`,p?.message||p)}}else _=i.if;e.__if=!!_}if(e.__if)typeof i.if=="function"&&(e.__ifInitialized=!0);else{if(o){o[i.key]=i;const p=o.__ref;p&&(p.__ifParked||(p.__ifParked=new Set)).add(i.key)}const _=qn(t,s,i.context?.components);return _.length&&(e.__ifLateMerge={definition:l,key:s,ownKey:a,names:_,options:n}),typeof i.if=="function"&&bs(i,e,i.if),i}i.tag||(i.tag=$o(i)),N("Init",i,n);const u=M.hydration,d=i.node=u!==null&&u.adopt(i)||ro(i);if(!d)return i;if(i.tag==="fragment"){const p=(i.context?.document||globalThis.document).createComment("");d.appendChild(p),e.__fragmentAnchor=p}if(N("AttachNode",i,n),d.setAttribute&&i.key&&d.setAttribute("data-key",i.key),o){const _=o[i.key];o[i.key]=i;const p=o.__ref?.__children;p&&(_===void 0||!p.includes(i.key))&&p.push(i.key)}d.setAttribute&&i.context?.scopeSelector&&i.context.scopeSelector!==":root"&&i.context.key&&i.key===i.context.key&&d.setAttribute("data-smbls-app",i.context.key),i.id&&d.setAttribute&&(d.id=i.id),Xs(i,n),ys(i),gs(i);try{on(i,n)}catch(_){Vn(i,_)}const h=e.__mount;return h!==null&&h.pending>0?(h.attachLater||mt(i,o,f),h.tail=()=>M.mount.finish(i,n),i):(Jt(i,!0),(h===null||!h.attachLater)&&mt(i,o,f),Kn(i,n),i)}function De(t){const o=t&&t.__ref&&t.__ref.__mount;return!o||!o.attachLater||(o.attachLater=!1,!t.node)?!1:(mt(t,t.parent),!0)}function Vn(t,o){if(typeof console<"u"&&console.error){const s=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] createChildren failed at ${s}:`,o?.message||o,o?.stack?`
|
|
2
|
+
`+o.stack.split(`
|
|
3
|
+
`).slice(0,6).join(`
|
|
4
|
+
`):"")}}function Kn(t,o){if(typeof t.html=="function"&&t.node&&!t.node.innerHTML&&Q(t,()=>{try{const s=t.html(t,t.state,t.context);s!=null&&typeof s!="function"&&(t.node.innerHTML=s)}catch{}}),N("Create",t,o),N("Complete",t,o),N("Render",t,o),N("RenderRouter",t,o),uo(t,o),typeof t.onFrame=="function"){const s=t.onFrame,n=t.context?.designSystem,r=()=>{if(t.node){if(t.node.isConnected){n&&z(n);try{s(t,t.state,t.context)}catch(c){console.error("[DOMQL] onFrame error:",c)}finally{n&&q()}}requestAnimationFrame(r)}};requestAnimationFrame(r)}}function Wt(t,o){const s=o&&o.__ref&&o.__ref.__mount;!s||!s.tail||s.holder||(s.holder=t,M.mount.hold(t))}const Gn=new Set(["childProps","attr","style","scope","data","vars"]);function os(t,o,s,n,r,c){if(s&&!o.extends&&!o.extend){const p=s.indexOf("_"),y=s.indexOf(".");let A=p>0?p:-1;if(y>0&&(A<0||y<A)&&(A=y),A>0){const S=s.substring(0,A),w=t.context?.components;w&&(w[S]||w["smbls."+S])?o={...o,extends:S}:w&&rt()&&(/^[A-Z]\w*_\d+$/.test(s)||/^[A-Z]\w*\.\w+$/.test(s))&&console.warn(`[smbls] auto-extend: key "${s}" looks like an instance of "${S}" but neither "${S}" nor "smbls.${S}" is registered in context.components \u2014 element will render as a plain <div>. Register the base component or rename the key.`)}}t.__ref&&(t.__ref.__mergeLayer=null),An(t,o,c);const a=xn(t),i=t.props&&typeof t.props=="object"?t.props:null;for(const p in o)if(!(p==="parent"||p==="node"||p==="__ref"||p==="extends"||p==="context"||p==="props")){if(p==="key"){n&&(t.key=r?Gt(r,n):n);continue}a&&a.mark(p),lo(t,p,o[p])}if(i)for(const p in i)lo(t,p,i[p]);const e=o.props;if(e&&typeof e=="object"){for(const p in e)lo(t,p,e[p]);if(a)for(const p in e)a.mark(p)}wn(t),o.classlist!==void 0&&(t.classlist=o.classlist),o.text!==void 0&&(t.text=o.text),o.html!==void 0&&(t.html=o.html);const f=t.scope&&typeof t.scope=="object"?t.scope:null,l=r?.scope,u=t.context&&typeof t.context.globalScope=="object"&&t.context.globalScope||null,d=l||u||null;if(o.scope!==void 0||f){const p={};f&&Object.assign(p,f),o.scope!==void 0&&Object.assign(p,o.scope),t.scope=fn(p,d)}else d&&(t.scope=d);o.if!==void 0&&(t.if=o.if);const h=t.__ref,_=ur(t,h&&h.__runtimeSource);return h&&(h.__declaredArrays=_||void 0),kn(t),Yn(t,r,o,c),o}function lo(t,o,s){const n=t[o],r=M.chains;if(r!==null&&r(t,o,n,s))return;const c=n&&s&&typeof n=="object"&&typeof s=="object"&&!Array.isArray(n)&&!Array.isArray(s);c&&o.charCodeAt(0)>=65&&o.charCodeAt(0)<=90?t[o]=X(n,s):c&&Gn.has(o)?t[o]={...n,...s}:c&&Jo(o)?t[o]=X(n,s):t[o]=s}const Wn=new Set(["key","parent","context","__ref"]);function zn(t,o){for(const n of Object.keys(t))Wn.has(n)||delete t[n];let s=o.definition;if(!s.extends&&!s.extend&&typeof o.key=="string"){const n=t.context?.components||{},r=n[o.key]||n["smbls."+o.key];r&&(s={...s,extends:r})}It(()=>os(t,s,o.key,o.ownKey,t.parent,o.options))}function qn(t,o,s){const n=s||{},r=i=>!!(n[i]||n["smbls."+i]),c=[],a=[];if(t.extends&&a.push(...Array.isArray(t.extends)?t.extends:[t.extends]),t.extend&&a.push(...Array.isArray(t.extend)?t.extend:[t.extend]),a.length){for(const i of a){if(typeof i!="string")continue;const e=i.includes(">")?i.split(">")[0].trim():i;r(e)||c.push(e)}return c}if(typeof o=="string"&&/^[A-Z]/.test(o)){let i=-1;const e=o.indexOf("_"),f=o.indexOf(".");e>0&&(i=e),f>0&&(i<0||f<i)&&(i=f);const l=i>0?o.substring(0,i):o;r(l)||c.push(l)}return c}function po(t,o,s){if(typeof t.onStateInit!="function"&&!Pn(t,"stateInit"))return;const n=t.state;t.state=o;try{N("StateInit",t,s)}finally{t.state=n}}const ho=t=>({isDataOnlyKey:o=>jn(t).has(o)});function Yn(t,o,s,n){const r=!o,c=s.state&&typeof s.state=="object"&&!Array.isArray(s.state)&&Object.keys(s.state).length===0,a=r&&c&&t.context?.state,i=s.state!==void 0&&!a?s.state:t.state&&!K(t.state)?t.state:void 0;if(i==null){if(o?.state)t.state=o.state,ft(t,t.state);else if(t.context?.state){const e=t.context.state,f={...e},l=t.context?.polyglot;if(l?.translations){const u=t.context,d=e.lang||l.defaultLang||"en",h=new Set,_=(A,S)=>{h.has(A)||Cn(u,A,f)&&(f[A]=S,h.add(A),vn(u,A,S))},p=l.translations[d];if(p&&typeof p=="object")for(const A in p)_(A,p[A]);const y=new Set(l.languages||[]);for(const A in l.translations)y.has(A)||_(A,l.translations[A])}K(f)||po(t,f,n),t.state=K(f)?f:no(f,ho(t.context)),t.state.__element=t,t.state.root=t.state,ft(t,t.state),Ut.promoteActiveRootState?.(e,t.state),N("StateCreated",t,n)}else t.state={},Object.defineProperty(t.state,"root",{value:t.state,enumerable:!1,configurable:!0,writable:!0}),ft(t,t.state);return}if(typeof i=="string"){if(t.state=rs(i,o),t.state&&typeof t.state=="object"&&!K(t.state)){const e=o?.state?.root||o?.state||t.state;Object.defineProperty(t.state,"root",{value:e,enumerable:!1,configurable:!0,writable:!0})}ft(t,t.state),Qn(t,i,o),N("StateCreated",t,n);return}if(typeof i=="function"){const e=i(t,o?.state);if(K(e))t.state=e;else{const f=e||{};po(t,f,n),t.state=no(f,o?.state?void 0:ho(t.context))}}else if(K(i))t.state=i;else{const e={...i};po(t,e,n),t.state=no(e,o?.state?void 0:ho(t.context))}t.state.__element=t,o?.state?(t.state.parent=o.state,t.state.root=o.state.root||o.state):t.state.root=t.state,ft(t,t.state),Ut.promoteActiveRootState?.(i,t.state),N("StateCreated",t,n)}function ss(t,o){if(!o)return t;const s=o.split("/");let n=t;for(const r of s){if(n==null)return{};n=n[r]}return n??{}}function ns(t,o){const s=o.state;return t.startsWith("~/")?[s&&(s.root||s),t.slice(2)]:t.startsWith("../")?[s,t.slice(3)]:[s,t]}function rs(t,o){if(!o)return{};if(t===".")return o.state||{};if(t.startsWith("../")||t.startsWith("~/")){const[r,c]=ns(t,o);return c?ss(r,c):r??{}}if(o.state?.[t]!==void 0)return o.state[t];const s=ss(o.state,t);if(s!=null&&Object.keys(s).length>0)return s;const n=o.context?.polyglot;if(n?.translations){const r=o.state?.root?.lang||n.defaultLang||"en",c=n.translations[r];if(c?.[t]!==void 0)return c[t];if(n.translations[t]!==void 0)return n.translations[t]}return{}}function Zn(t,o){const[s,n]=ns(t,o);if(!n||!s||typeof s!="object")return;const r=s[n];if(r!==void 0||n.indexOf("/")===-1)return r;let c=s;for(const a of n.split("/")){if(c==null||typeof c!="object")return;c=c[a]}return c}function Qn(t,o,s){const n=t.__ref;if(!n||!s||o==="."||!K(s.state))return;n.__stateBinding&&n.__stateBinding.dispose();const r=It(()=>v(()=>{const c=Zn(o,s);!c||typeof c!="object"||c===t.state||It(()=>es(t,t.state,c,!0))},{depth:n.path?n.path.length:0,label:C(n,"state")}));r._isStateBinding=!0,n.__stateBinding=r,n.__effects&&n.__effects.push(r)}function es(t,o,s,n){const r=t.__ref;if(!r)return;if(n||t.state===o){t.state=s,n&&ft(t,s),cs(r);const a=r.__children;if(a)for(let i=0;i<a.length;i++){const e=t[a[i]];e&&e.__ref&&e.parent===t&&es(e,o,s,!1)}return}if(r.__stateBinding){r.__stateBinding._notify();return}const c=t.state;c&&typeof c=="object"&&c.parent===o&&(c.parent=s,cs(r))}function is(t,o){const s=t.__ifParked;if(!s||!s.size)return o;for(const n of s)o.includes(n)||o.push(n);return o}function cs(t){const o=t.__effects;if(o)for(let s=0;s<o.length;s++){const n=o[s];n&&!n._disposed&&!n._isStateBinding&&!n._isSubscribeToEffect&&typeof n._notify=="function"&&n._notify()}}const Xn=new Set(["s","state","ctx","context"]),yo=new WeakMap;function Jn(t){if(yo.has(t))return yo.get(t);let o=null;try{const s=typeof Ut.getFunctionSource=="function"?Ut.getFunctionSource(t):Function.prototype.toString.call(t);if(typeof s=="string"){const n=s.match(/^\s*(?:async\s+)?([A-Za-z_$][\w$]*)\s*=>/)||s.match(/^[^(]*\(([^)]*)\)/);n&&(o={params:n[1].split(",").map(r=>r.trim())})}}catch{}return yo.set(t,o),o}function mn(t){const o=Jn(t);return o?o.params.map(s=>s.split("=")[0].trim()).filter(Boolean):[]}const tr=3,or=/^(is|has)[A-Z0-9_$]/,sr=new Set(["routerOptions"]),fs=new WeakSet;function nr(t,o){if(typeof t!="function"||t.length!==2||o&&(or.test(o)||sr.has(o))||fs.has(t))return!1;const s=mn(t);if(s.length<2)return!1;const n=s[1].replace(/[{}[\]]/g,"").trim();return n.length<tr||Xn.has(n)?!1:(fs.add(t),!0)}function rr(t){const o=t.__ref,s=t.tag||"div",n=t.context?.designSystem,r=[],c=Object.keys(t);for(let a=0;a<c.length;a++){const i=c[a];if(typeof t[i]!="function"||B.has(i))continue;const e=i.charCodeAt(0);e>=65&&e<=90||W(i)||U[i]||V&&V.has(i)||e!==45&&(At(s,i)||(rt()&&nr(t[i],i)&&console.warn(`[smbls] custom prop "${i}"${t.key?` on key "${t.key}"`:""} is a function \u2014 it will be auto-invoked on read and its RETURN VALUE stored, not preserved as a callable reference. If you meant to stash a callback, use el.call('${i}', \u2026) instead of reading el.${i}(\u2026) directly (see RULES.md Rule 8).`),r.push({prop:i,fn:t[i]})))}for(let a=0;a<r.length;a++){const{prop:i,fn:e}=r[a];o.__exec[i]=e,Object.defineProperty(t,i,{get(){n&&z(n);try{return e(t,t.state,t.context)}catch{return}finally{n&&q()}},set(f){delete o.__exec[i],Object.defineProperty(t,i,{value:f,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}}function er(t,o){if(!(!Array.isArray(o)||o.length===0))for(let s=0;s<o.length;s++){const n=o[s];try{typeof n=="function"?n(t,t.state,t.context):typeof n=="string"&&t.state?.[n]}catch{}}}function O(t,o,s){return!Array.isArray(o)||o.length===0?s:function(...n){return er(t,o),s.apply(this,n)}}function lt(t,o){if(!(!t||Array.isArray(t)||typeof t!="object"))return t[o]}function C(t,o){return()=>t.path.join(".")+"::"+o}const as=new Set;function F(t,o,s){if(!rt())return;const n=C(t,o)();as.has(n)||(as.add(n),console.warn(`[smbls] "${o}" effect threw on ${t.path.join(".")} \u2014 keeping previous value:`,s?.message||s))}const us=/(['"`])((?:\\.|(?!\1)[^\\])*)\1/g,ds=new WeakMap,ir=t=>{let o=ds.get(t);if(o!==void 0)return o;o=null;let s;try{s=String(t)}catch{s=""}if(s.includes("{{")){us.lastIndex=0;let n;for(;(n=us.exec(s))!==null;)n[2].includes("{{")&&(o||(o=[])).push(n[2])}return ds.set(t,o),o},cr=(t,o)=>{const s=ir(t);if(s)for(let n=0;n<s.length;n++)o.add(s[n])},fr=(t,o)=>!W(t)&&!et(o,t),_o=(t,o,s,n,r)=>{if(typeof o=="string"){!r&&o.includes("{{")&&s.add(o);return}typeof o=="function"&&fr(t,n)&&cr(o,s)},go=new WeakMap,kt=(t,o)=>Object.prototype.hasOwnProperty.call(t,o),Ct=t=>{if(typeof t=="string"||typeof t=="number")return{text:t};if(!t||typeof t!="object"||Array.isArray(t))return null;const o=t.props;return o&&typeof o=="object"&&!Array.isArray(o)?X(t,o):t},vt=(t,o)=>t&&o?X(t,o):t||o||null,ls=(t,o)=>{const s=t.__ref&&t.__ref.__runtimeSource;return!!s&&kt(s,o)},pt=(t,o)=>ls(t,o)?Ct(t.__ref.__runtimeSource[o]):null,jt=(t,o)=>(o&&t&&typeof t=="object"&&go.set(t,o),t),ar=t=>{if(!t||typeof t!="object")return;const o=go.get(t);return o&&go.delete(t),o},bo=(t,o,s)=>{if(typeof t=="string"){t.includes("{{")&&o.add(t);return}if(!(!t||typeof t!="object"||s.has(t))){if(s.add(t),Array.isArray(t)){for(let n=0;n<t.length;n++)bo(t[n],o,s);return}if(!t.__ref)for(const n of Object.keys(t)){if(n==="state")continue;const r=Object.getOwnPropertyDescriptor(t,n);r&&"value"in r&&bo(r.value,o,s)}}},ur=(t,o)=>{let s=null;for(const n of Object.keys(t)){if(B.has(n)||o&&kt(o,n))continue;const r=Object.getOwnPropertyDescriptor(t,n),c=r&&r.value;if(!Array.isArray(c))continue;const a=new Set;bo(c,a,new Set),a.size&&(s||(s=new Map),s.set(c,a))}return s},ps=(t,o)=>{if(Array.isArray(o))for(let s=t;s;s=s.parent){const n=s.__ref&&s.__ref.__declaredArrays,r=n&&n.get(o);if(!r)continue;const c=t.__ref;c.__authoredTemplates||(c.__authoredTemplates=new Set);for(const a of r)c.__authoredTemplates.add(a);return}},hs=["attr","aria","data","metadata"],dr=t=>{if(hs.includes(t))return!0;const o=t.charCodeAt(0);return o===46||o===33||o===64},lr=(t,o)=>{const s=new Set,n=t.tag||"div";for(const r of Object.keys(t)){const c=Object.getOwnPropertyDescriptor(t,r),a=c&&c.value,i=!!o&&kt(o,r);if(a&&typeof a=="object"&&!Array.isArray(a)){if(!dr(r))continue;const e=i?o[r]:null,f=e&&typeof e=="object"?e:null,l=r.charCodeAt(0)===46||r.charCodeAt(0)===33;for(const u in a){const d=i&&(!f||kt(f,u)),h=a[u];if(l&&h&&typeof h=="object"&&!Array.isArray(h)&&hs.includes(u)){for(const _ in h)_o(_,h[_],s,n,d);continue}_o(u,h,s,n,d)}continue}_o(r,a,s,n,i)}return s};function ys(t,o){const s=t.__ref,n=!!(o&&o.skipIfEffect),r=lr(t,s.__runtimeSource);if(s.__authoredTemplates)for(const e of r)s.__authoredTemplates.add(e);else s.__authoredTemplates=r;if(rr(t),typeof t.text=="function"){const e=t.text,f=O(t,t.textDeps,e),l=v(()=>{if(!s.contentManaged)try{let u=f(t,t.state,t.context);t.node&&u!=null&&typeof u!="function"&&typeof u!="object"&&(typeof u=="string"&&u.includes("{{")&&(u=$.call(t,u,t.state)),zt(t,u))}catch(u){F(s,"text",u)}},{depth:s.path.length,label:C(s,"text")});s.__effects.push(l),s.__exec.text=e}else if(typeof t.text=="string"&&t.text.includes("{{")){const e=t.text,f=v(()=>{if(s.contentManaged)return;const l=$.call(t,e,t.state);l!=null&&(t.text=l),t.node&&zt(t,l??"")},{depth:s.path.length,label:C(s,"text")});s.__effects.push(f),s.__exec.text=e}const c=t.tag||"div";for(const e of Object.keys(t))if(typeof t[e]=="function"&&!B.has(e)&&!W(e)&&!s.__exec[e]&&!Wo(c,e)){if(U[e]){const f=t[e],l=O(t,t[e+"Deps"],f),u=e;let d,h=null,_=null,p;const y=v(()=>{const A=t.context?.designSystem;A&&z(A);try{const S=l(t,t.state,t.context);Uo();let w;try{w=U[u](S,t,t.state,t.context)}finally{Ho()}if(Array.isArray(w)){const g={};for(const x of w)if(x)for(const k in x)g[k]=x[k];w=g}const b=u==="show"||u==="hide";if(w&&t.node&&yr(w)){const g=ht(w);if(g===null||g!==p){p=g;const x=bt(w,null,t.context?.cssPrefix),k=x?x.split(" ").filter(Boolean):null;if(t.node.classList){if(_)for(const j of _)t.node.classList.remove(j);if(k&&k.length)for(const j of k)t.node.classList.add(j);_=k}}d=void 0,h=null}else if(w&&t.node){if(_){for(const x of _)t.node.classList.remove(x);_=null,p=void 0}const g=ht(w);if(g===null||g!==d||!Et(t.node,h)){d=g;const x=js(t,w);h=Pt(t.node,x)}}else t.node&&b&&(d=void 0,h=null,t.node.style.display="")}finally{A&&q()}},{depth:s.path.length,label:C(s,u)});s.__effects.push(y),s.__exec[e]=f}else if(V&&V.has(e)){const f=t[e],l=O(t,t[e+"Deps"],f),u=e;let d,h=null;const _=v(()=>{const p=t.context?.designSystem;p&&z(p);try{const y=l(t,t.state,t.context);if(t.node)if(y!=null){const A=u+":"+String(y);if(A!==d||!Et(t.node,h)){d=A;const S={[u]:y},w=js(t,S);h=Pt(t.node,w)}}else d=void 0,h=null,t.node.style[u]=""}finally{p&&q()}},{depth:s.path.length,label:C(s,u)});s.__effects.push(_),s.__exec[e]=f}else if(e.charCodeAt(0)===45){const f=t[e];ks(t,e,f,t[e+"Deps"],e),s.__exec[e]=f}}if(_r(t),typeof t.html=="function"){const e=t.html,f=O(t,t.htmlDeps,e),l=v(()=>{Q(t,()=>{const u=f(t,t.state,t.context);t.node&&u!=null&&typeof u!="function"&&(t.node.innerHTML=u)})},{depth:s.path.length,label:C(s,"html")});s.__effects.push(l),s.__exec.html=e}if(typeof t.value=="function"){const e=t.value,f=O(t,t.valueDeps,e),l=v(()=>{try{let u=f(t,t.state,t.context);typeof u=="string"&&u.includes("{{")&&(u=$.call(t,u,t.state)),As(t,u)}catch(u){F(s,"value",u)}},{depth:s.path.length,label:C(s,"value")});s.__effects.push(l),s.__exec.value=e}else if(typeof t.value=="string"&&t.value.includes("{{")){const e=t.value,f=v(()=>{try{As(t,$.call(t,e,t.state))}catch(l){F(s,"value",l)}},{depth:s.path.length,label:C(s,"value")});s.__effects.push(f),s.__exec.value=e}if(typeof t.style=="function"){const e=t.style,f=O(t,t.styleDeps,e);let l,u=null,d,h,_,p;const y=v(()=>{const A=f(t,t.state,t.context),S=t.context&&t.context.designSystem;let w;if(A&&typeof A=="object"&&A===d&&S===_){const g=ht(A);w=g!==null&&g===h?p:Xt(t,A),h=g}else w=Xt(t,A),h=void 0;d=A,_=S,p=w;const b=ht(w);(b===null||b!==l||!Et(t.node,u))&&(l=b,xo(t.node,u,w),ot(t.node,w),u=Pt(t.node,w))},{depth:s.path.length,label:C(s,"style")});s.__effects.push(y),s.__exec.style=e}else if(t.style&&typeof t.style=="object")for(const e in t.style){const f=t.style[e];if(typeof f!="function")continue;const l=O(t,lt(t.styleDeps,e),f);let u,d=null;const h=v(()=>{try{const _=l(t,t.state,t.context);if(t.node){const p=e+":"+String(_);if(p!==u||!Et(t.node,d)){u=p;const y=Xt(t,{[e]:_});xo(t.node,d,Object.assign({},y,{[e]:""})),ot(t.node,y),d=Pt(t.node,y)}}}catch(_){F(s,"style."+e,_)}},{depth:s.path.length,label:C(s,"style."+e)});s.__effects.push(h)}if(t.attr&&typeof t.attr=="object"){for(const e in t.attr)if(typeof t.attr[e]=="function"){const f=O(t,lt(t.attrDeps,e),t.attr[e]),l=e,u=v(()=>{try{let d=f(t,t.state,t.context);typeof d=="string"&&d.includes("{{")&&(d=$.call(t,d,t.state)),t.node?.setAttribute&&qt(t.node,l,d)}catch(d){F(s,"attr."+l,d)}},{depth:s.path.length,label:C(s,"attr."+l)});u._attrName=l.toLowerCase(),s.__effects.push(u)}else if(typeof t.attr[e]=="string"&&t.attr[e].includes("{{")){const f=t.attr[e],l=e,u=v(()=>{try{const d=$.call(t,f,t.state);if(!t.node||!t.node.setAttribute)return;t.node.setAttribute(l,J(l,d??""))}catch(d){F(s,"attr."+l,d)}},{depth:s.path.length,label:C(s,"attr."+l)});u._attrName=l.toLowerCase(),s.__effects.push(u)}}if(t.aria&&typeof t.aria=="object")for(const e in t.aria){const f=t.aria[e];if(typeof f=="string"&&f.includes("{{")){const h=f,_="aria-"+e.replace(/[A-Z]/g,y=>"-"+y.toLowerCase()),p=v(()=>{try{const y=$.call(t,h,t.state);if(!t.node||!t.node.setAttribute)return;t.node.setAttribute(_,J(_,y??""))}catch(y){F(s,"aria."+e,y)}},{depth:s.path.length,label:C(s,"aria."+e)});p._attrName=_,s.__effects.push(p);continue}if(typeof f!="function")continue;const l=O(t,lt(t.ariaDeps,e),t.aria[e]),u="aria-"+e.replace(/[A-Z]/g,h=>"-"+h.toLowerCase()),d=v(()=>{try{const h=l(t,t.state,t.context);if(!t.node?.setAttribute)return;qt(t.node,u,h)}catch(h){F(s,"aria."+e,h)}},{depth:s.path.length,label:C(s,"aria."+e)});d._attrName=u,s.__effects.push(d)}if(t.data&&typeof t.data=="object")for(const e in t.data){const f=t.data[e];if(typeof f=="string"&&f.includes("{{")){const _=f,p="data-"+e.replace(/[A-Z]/g,A=>"-"+A.toLowerCase()),y=v(()=>{try{const A=$.call(t,_,t.state);if(!t.node||!t.node.setAttribute)return;t.node.setAttribute(p,A??"")}catch(A){F(s,"data."+e,A)}},{depth:s.path.length,label:C(s,"data."+e)});y._attrName=p,s.__effects.push(y);continue}if(typeof f!="function")continue;const l=O(t,lt(t.dataDeps,e),t.data[e]),d="data-"+e.replace(/[A-Z]/g,_=>"-"+_.toLowerCase()),h=v(()=>{try{const _=l(t,t.state,t.context);if(!t.node?.setAttribute)return;_==null||_===!1?t.node.removeAttribute(d):typeof _!="function"&&typeof _!="object"&&t.node.setAttribute(d,_===!0?"":_)}catch(_){F(s,"data."+e,_)}},{depth:s.path.length,label:C(s,"data."+e)});h._attrName=d,s.__effects.push(h)}const a=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(a)for(const e in a){if(typeof a[e]!="function")continue;const f=O(t,lt(t.classDeps,e),a[e]),l=v(()=>{try{const u=f(t,t.state,t.context);if(!t.node?.classList)return;typeof u=="string"?t.node.classList.add(u):u?t.node.classList.add(e):t.node.classList.remove(e)}catch(u){F(s,"class."+e,u)}},{depth:s.path.length,label:C(s,"class."+e)});s.__effects.push(l)}!n&&typeof t.if=="function"&&bs(t,s,t.if);for(const e of Object.keys(t)){if(B.has(e)||typeof t[e]!="function")continue;const f=e.charCodeAt(0);if(f>=65&&f<=90||W(e))continue;const l=t[e];s.__exec[e]=l;const u=t.tag||"div";if(At(u,e)&&!et(u,e)){const d=xt(e)||e,h=O(t,t[e+"Deps"],l),_=v(()=>{try{let p=h(t,t.state,t.context);typeof p=="string"&&p.includes("{{")&&(p=$.call(t,p,t.state)),t.node?.setAttribute&&qt(t.node,d,p,!0)}catch(p){F(s,e,p)}},{depth:s.path.length,label:C(s,e)});_._attrName=d.toLowerCase(),s.__effects.push(_)}}const i=t.tag||"div";for(const e of Object.keys(t)){if(B.has(e))continue;const f=t[e];if(typeof f!="string"||!f.includes("{{"))continue;const l=e.charCodeAt(0);if(l>=65&&l<=90||W(e)||et(i,e)||io[e]||!At(i,e))continue;const u=xt(e)||e,d=v(()=>{try{const h=$.call(t,f,t.state);if(!t.node||!t.node.setAttribute)return;t.node.setAttribute(u,J(u,h??""))}catch(h){F(s,e,h)}},{depth:s.path.length,label:C(s,e)});d._attrName=u.toLowerCase(),s.__effects.push(d)}if(kr(t),Lr(t),typeof t.onStateUpdate=="function"&&Array.isArray(t.stateDeps)){const e=t.onStateUpdate,f=t.stateDeps;let l=!1,u=[];const d=v(()=>{const h=[];for(let y=0;y<f.length;y++){const A=f[y];try{h[y]=typeof A=="function"?A(t,t.state,t.context):t.state?.[A]}catch{h[y]=void 0}}if(!l){l=!0,u=h;return}let _=h.length!==u.length;for(let y=0;!_&&y<h.length;y++)h[y]!==u[y]&&(_=!0);const p=u;u=h,_&&Q(t,()=>{try{e(t,t.state,t.context,{prev:p,next:h})}catch(y){if(Ht(t,"onStateUpdate",y),t.context?.strictMode)throw y}})},{depth:s.path.length,label:C(s,"onStateUpdate")});s.__effects.push(d)}Pr(t)}function _s(t){const o=t.parent,s=o?.node;if(!s||!t.node){mt(t,t.parent);return}let n=null;const r=Object.keys(o),c=r.indexOf(t.key);for(let a=c+1;a<r.length;a++){const i=o[r[a]];if(i?.node?.parentNode===s){n=i.node;break}}n?s.insertBefore(t.node,n):s.appendChild(t.node),eo()}function gs(t){xs(t),Ir(t),Fs(t),Zr(t),Yr(t)}function bs(t,o,s){let n=O(t,t.ifDeps,s);const r=v(()=>{const c=!o.__ifInitialized&&o.__ifLateMerge;if(c){const e=t.context?.components||{};c.names.some(f=>e[f]||e["smbls."+f])&&(o.__ifLateMerge=null,zn(t,c),n=O(t,t.ifDeps,typeof t.if=="function"?t.if:s))}let a;try{a=n(t,t.state,t.context)}catch(e){if(a=!1,o.__ifError=e,typeof console<"u"&&console.warn){const f=t.key||t.tag||"?";console.warn(`[smbls] \`if:\` reactive effect threw on ${f} \u2014 treating as false:`,e?.message||e)}return}const i=o.__if;if(o.__if=!!a,i&&!o.__if&&t.node){t.node.remove();try{typeof t.onRemove=="function"&&t.onRemove(t)}catch(e){console.error("[smbls] onRemove error:",e)}}else if(!i&&o.__if)if(o.__ifInitialized)t.node||(t.node=ro(t)),t.node&&(t.node.ref=t),_s(t),xs(t),Fs(t),N("Render",t,{}),uo(t,{});else{o.__ifInitialized=!0,o.__ifLateMerge=null,t.tag||(t.tag=$o(t)),N("Init",t,{});const e=M.hydration;if(t.node||(t.node=e!==null&&e.adopt(t)||ro(t)),!t.node)return;if(t.parent?.__ref?.__children&&!t.parent.__ref.__children.includes(t.key)&&t.parent.__ref.__children.push(t.key),t.parent?.__ref?.__ifParked&&t.parent.__ref.__ifParked.delete(t.key),t.tag==="fragment"&&!o.__fragmentAnchor){const l=(t.context?.document||globalThis.document).createComment("");t.node.appendChild(l),o.__fragmentAnchor=l}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),Xs(t,{}),ys(t,{skipIfEffect:!0}),gs(t),on(t,{}),_s(t),N("Create",t,{}),N("Complete",t,{}),N("Render",t,{}),N("RenderRouter",t,{}),uo(t,{})}},{depth:o.path.length,label:C(o,"if")});o.__effects.push(r)}function zt(t,o){const s=t.node;if(!s)return;const n=o==null||typeof o=="object"?"":String(o);if(t.tag==="string"){s.nodeValue!==n&&(s.nodeValue=n);return}const r=t.__ref;let c=r?r.__textNode:null;if(c&&c.parentNode!==s&&(c=null),!c){const a=s.firstChild;a&&a.nodeType===3&&(c=a)}c?c.nodeValue!==n&&(c.nodeValue=n):s.firstChild?(c=(s.ownerDocument||t.context?.document||globalThis.document).createTextNode(n),s.insertBefore(c,s.firstChild)):(s.textContent=n,c=s.firstChild&&s.firstChild.nodeType===3?s.firstChild:null),r&&(r.__textNode=c||null)}function pr(t,o){return o!=="checked"||!t||t.tagName!=="INPUT"?null:t.hasAttribute("checked")}function hr(t,o){if(o===null)return;const s=t.hasAttribute("checked");s!==o&&t.checked!==s&&(t.checked=s)}function qt(t,o,s,n){s==null||s===!1&&!Bt(o)?Yt(t,o,null):typeof s=="function"||typeof s=="object"||(n&&o==="src"&&"src"in t?t.src=s:Yt(t,o,J(o,s)))}function Yt(t,o,s){const n=pr(t,o);s==null?t.removeAttribute(o):t.setAttribute(o,s),hr(t,n)}function As(t,o){const s=t.node;if(!s||!("value"in s))return;const n=o==null?"":String(o);if(s.value===n)return;const r=typeof document<"u"&&document.activeElement===s,c=r&&typeof s.selectionStart=="number"?s.selectionStart:null,a=r&&typeof s.selectionEnd=="number"?s.selectionEnd:null;if(s.value=n,r&&c!=null&&a!=null)try{s.setSelectionRange(c,a)}catch{}const i=t.__ref&&t.__ref.__autoGrow;i&&i.active&&i.resize()}function xs(t){const{node:o}=t;if(o){if((typeof t.text=="string"&&!t.text.includes("{{")||typeof t.text=="number")&&zt(t,t.text),Ks(t),typeof t.html=="string"&&(o.innerHTML=t.html),t.value!=null&&typeof t.value!="function"&&!(typeof t.value=="string"&&t.value.includes("{{"))&&"value"in o){const s=String(t.value);o.value!==s&&(o.value=s)}if(t.style&&typeof t.style=="object"){let s=t.style;for(const n in t.style)if(typeof t.style[n]=="function"){s={};for(const r in t.style)typeof t.style[r]!="function"&&(s[r]=t.style[r]);break}ot(o,Xt(t,s))}if(t.attr&&typeof t.attr=="object")for(const s in t.attr){const n=t.attr[s];typeof n=="function"||typeof n=="object"||n!=null&&(typeof n=="string"&&n.includes("{{")||n===!1&&!Bt(s)||o.setAttribute&&o.setAttribute(s,J(s,n)))}if(typeof t.themeModifier=="string"&&t.themeModifier&&o.setAttribute&&o.setAttribute("data-theme",t.themeModifier),t.data&&typeof t.data=="object")for(const s in t.data){const n=t.data[s];typeof n=="function"||typeof n=="object"||n==null||n===!1||typeof n=="string"&&n.includes("{{")||o.dataset&&(o.dataset[s]=n===!0?"":n)}if(t.classlist||t.class){const s=t.classlist||t.class;if(typeof s=="string")s.split(" ").forEach(n=>n&&o.classList.add(n));else if(typeof s=="object")for(const n in s){const r=typeof s[n]=="function"?s[n](t,t.state,t.context):s[n];r&&o.classList.add(typeof r=="string"?r:n)}}}}function ht(t){if(t==null||typeof t!="object")return"s:"+String(t);try{return"o:"+JSON.stringify(t)}catch{return null}}function yr(t){if(!t||typeof t!="object")return!1;for(const o in t){const s=t[o];if(s&&typeof s=="object"&&!Array.isArray(s))return!0}return!1}function Pt(t,o){if(!t||!t.style||!o)return null;const s=t.style,n=[];for(const r in o){if(o[r]==null||r.charAt(0)==="&")continue;const a=Y(r);n.push(a,Ao(s,a),ws(s,a))}return n}function Ao(t,o){return typeof t.getPropertyValue=="function"?t.getPropertyValue(o):""}function ws(t,o){return typeof t.getPropertyPriority=="function"?t.getPropertyPriority(o):""}function Y(t){return Ko(t)}function xo(t,o,s){if(!t||!t.style||!o||!o.length)return;const n=t.style,r=new Set;if(s&&typeof s=="object")for(const c in s)s[c]==null||c.charAt(0)==="&"||r.add(Y(c));for(let c=0;c<o.length;c+=3){const a=o[c];r.has(a)||Ao(n,a)===o[c+1]&&typeof n.removeProperty=="function"&&n.removeProperty(a)}}function Et(t,o){if(!o||!t||!t.style)return!1;const s=t.style;for(let n=0;n<o.length;n+=3)if(Ao(s,o[n])!==o[n+1]||ws(s,o[n])!==o[n+2])return!1;return!0}const Tt=t=>t.charCodeAt(0)===45&&t.charCodeAt(1)===45,Ss=t=>typeof t=="number"||t===!0||typeof t=="string"&&t!=="",Zt=t=>Tt(t)?t:"--"+t;function Qt(t,o){if(!st(t))return null;let s=null;for(const n of Object.keys(t)){if(!n)continue;let r=t[n];if(typeof r=="function"){if(!o)continue;r=r(o,o.state,o.context)}Ss(r)&&(s||(s={}),s[Zt(n)]=r)}return s}function ks(t,o,s,n,r){Cs(t,r,O(t,n,s),c=>Ss(c)?{[o]:c}:null)}function Cs(t,o,s,n,r){const c=t.__ref;let a,i=null;const e=v(()=>{Q(t,()=>{try{const f=n(s(t,t.state,t.context)),l=t.node;if(!l||!l.style)return;const u=ht(f);(u===null||u!==a||!Et(l,i))&&(a=u,xo(l,i,f),f&&ot(l,f),i=f?Pt(l,f):null,r&&r(f))}catch(f){F(c,o,f)}})},{depth:c.path.length,label:C(c,o)});c.__effects.push(e)}function _r(t){const o=t.__ref,s=t.vars;if(typeof s=="function"){gr(t,s),o.__exec.vars=s;return}if(st(s))for(const n of Object.keys(s)){const r=s[n];!n||typeof r!="function"||ks(t,Zt(n),r,lt(t.varsDeps,n),"vars."+n)}}function gr(t,o){const s=t.__ref;Cs(t,"vars",O(t,t.varsDeps,o),n=>Qt(n),n=>{s.__varsInline=n?new Set(Object.keys(n)):null})}function wo(t,o){if(typeof t[o]=="function"&&(et(t.tag||"div",o)||o.charCodeAt(0)===45))return!0;if(!Tt(o))return!1;const s=t.vars;if(typeof s=="function"){const n=t.__ref&&t.__ref.__varsInline;return!!(n&&n.has(o))}if(!st(s))return!1;for(const n of Object.keys(s))if(typeof s[n]=="function"&&Zt(n)===o)return!0;return!1}function br(t){let o=null;for(const s in t)t[s]!=null&&s.charAt(0)!=="&"&&(o||(o=new Set),o.add(Y(s)));return o}function Ar(t,o,s,n){const r=t.__ref;if(!r)return;let c=null;if(s)for(const a of s){if(n&&n.has(a))continue;const i=o[a];if(i==null||typeof i=="object")continue;const e=Y(a);Vt[e]&&(c||(c={}),c[e]=i)}r.__declaredLonghands=c}function vs(t,o){const s=t.__ref,n=s&&s.__declaredLonghands;if(!n||!o)return null;let r=null;for(const c in n){if(o.has(c))continue;const a=Vt[c];let i=!1;for(let e=0;e<a.length;e++)if(o.has(a[e])){i=!0;break}i&&(r||(r={}),r[c]=n[c])}return r}function js(t,o){const s=t.node;ot(s,o);const n=br(o);if(!n)return o;const r=t.__ref;if(r)if(r.__inlineCssKeys)for(const a of n)r.__inlineCssKeys.add(a);else r.__inlineCssKeys=new Set(n);const c=vs(t,n);return c?(ot(s,c),Object.assign({},o,c)):o}function xr(t){const o=t.__ref;if(!o||!o.__inlineCssKeys||!o.__declaredLonghands)return;const s=vs(t,o.__inlineCssKeys);s&&ot(t.node,s)}function Xt(t,o){return!o||typeof o!="object"?o:Q(t,()=>{try{return En(o,t)}catch{return o}})}function ot(t,o){if(!t||!o||!t.style)return;let s=null;for(const n in o){const r=o[n];if(r!=null){if(n.charAt(0)==="&"&&typeof r=="object"){s||(s={}),s[n]=r;continue}try{const c=String(r);if(typeof r=="object"&&c==="[object Object]")continue;const a=Ko(n),i=c.trim(),e=/\s*!important\s*$/.test(i),f=i.replace(/\s*!important\s*$/,"");t.style.setProperty(a,f,e?"important":"")}catch{}}}s&&wr(t,s)}function wr(t,o){const s=`_ds${zo.scopedStyleId++}`;t.classList.add(s);const n=t.ownerDocument;let r=n.querySelector("style[data-smbls-scoped]");r||(r=n.createElement("style"),r.setAttribute("data-smbls-scoped",""),n.head.appendChild(r));let c="";for(const a in o){const i="."+s,e=a.replace(/&/g,i).split(",").map(l=>{const u=l.trim();return u.includes(i)?u:i+u}).join(", "),f=o[a];if(typeof f=="object"){let l="",u="";for(const d in f){const h=f[d];if(typeof h=="object"){const _=d.includes("&")?e.split(", ").map(y=>d.replace(/&/g,y)).join(", "):e.split(", ").map(y=>`${y} ${d}`).join(", ");let p="";for(const y in h)p+=`${Y(y)}: ${h[y]};`;u+=Bo(`${_} { ${p} }`,_)+`
|
|
5
|
+
`}else l+=`${Y(d)}: ${h};`}l&&(c+=Bo(`${e} { ${l} }`,e)+`
|
|
6
|
+
`),u&&(c+=u)}}c&&(r.textContent+=c)}const Ps=new Set;function Es(t){if(!Array.isArray(t))return"";const o=[];for(let s=0;s<t.length;s++)typeof t[s]=="string"&&t[s].length&&o.push(t[s]);return o.sort(),o.join("|")}function Sr(t,o,s){const n=Es(s);queueMicrotask(()=>{if(!t.__ref)return;let r;try{r=o(t,t.state,t.context)}catch{return}if(Es(r)===n)return;const c=t.__ref.path?t.__ref.path.join("."):t.key||"?";Ps.has(c)||(Ps.add(c),console.warn(`[smbls] subscribeTo function at "${c}" resolved to a DIFFERENT key list one microtask after create \u2014 wired [${s.join(", ")||"(none)"}], probed [${Array.isArray(r)?r.join(", "):String(r)}]. subscribeTo's function form is resolved ONCE at element-create time (registerSubscribeToEffects, @symbo.ls/element core.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 kr(t){const o=t.subscribeTo,s=typeof o=="function";let n=o;if(s)try{n=o(t,t.state,t.context)}catch{n=null}if(s&&rt()&&Sr(t,o,Array.isArray(n)?n:[]),!Array.isArray(n)||n.length===0)return;const r=t.__ref;for(let c=0;c<n.length;c++){const a=n[c];if(typeof a!="string"||a.length===0)continue;const i=a.split("."),e=i[0],f=i.slice(1),l={value:!1},u=v(()=>{const d=t.state&&(K(t.state)?t.state.root:null);if(!d||!K(d))return;let h=d;h=h[e];for(let p=0;p<f.length&&!(h==null||typeof h!="object");p++)if(K(h))h=h[f[p]];else break;if(!l.value)return;let _=!1;if(typeof t.onBeforeUpdate=="function"&&Q(t,()=>{try{if(te(r)){const p=t.onBeforeUpdate(t,t.state,t.context,{updateBySubscription:!0});p&&typeof p.then=="function"?p.then(()=>to(r,!1),y=>{to(r,!0),gt("error",t,{hook:"onBeforeUpdate",error:y})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",y)}):(to(r,!1),p===!1&&(_=!0))}}catch(p){to(r,!0),gt("error",t,{hook:"onBeforeUpdate",error:p})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",p)}}),!_&&t.node&&r.__effects)for(let p=0;p<r.__effects.length;p++){const y=r.__effects[p];y&&y!==u&&!y._disposed&&!y._isSubscribeToEffect&&typeof y._execute=="function"&&y._execute()}!_&&typeof t.onUpdate=="function"&&Q(t,()=>{try{t.onUpdate(t,t.state,t.context)}catch(p){gt("error",t,{hook:"onUpdate",error:p})||console.error("[DOMQL] subscribeTo onUpdate error:",p)}})},{depth:r.path.length,label:C(r,"subscribeTo("+a+")")});l.value=!0,u._isSubscribeToEffect=!0,r.__effects.push(u)}}function So(t,o){return t.charCodeAt(0)===64&&t.length>1&&!t.startsWith("@media")&&!t.startsWith("@keyframes")&&!t.startsWith("@supports")&&!t.startsWith("@container")&&(t==="@dark"||t==="@light"||!o.context?.designSystem?.media?.[t.slice(1)])}function ko(t,o){if(t.charCodeAt(0)!==64||/^@(media|supports|container|keyframes)\b/.test(t))return t;const s=o.context?.designSystem?.media?.[t.slice(1)];return s?/^@(media|supports|container)\b/.test(s)?s:`@media ${s}`:t}const Ts=new Set;function Cr(t,o){const s=o?.__ref?.path?o.__ref.path.join("."):o?.key||"?",n=s+"::"+t;Ts.has(n)||(Ts.add(n),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.`))}const Os=new Map;function vr(t){let o=Os.get(t);if(o)return o;o=[];const s=n=>{if(n)for(const r of n)o.push(Go(r))};return s(Vt[t]),s(Dn[t]),Os.set(t,o),o}function Rs(t,o,s){if(wo(t,o)||s&&s.has(o))return!0;const n=vr(Y(o));for(let r=0;r<n.length;r++){const c=n[r];if(wo(t,c)||s&&s.has(c))return!0}return!1}function yt(t,o,s,n){const r={},c=new Set,a=(i,e,f)=>{const l=f?new Set(Object.keys(r)):null;if(U[i]){const u=U[i](e,o,o.state,o.context);if(u){const d=Array.isArray(u)?u:[u];for(const h of d)h&&Object.assign(r,h)}}else r[i]=e;if(f)for(const u in r)l.has(u)||c.add(u)};for(const i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;let e=t[i];if(typeof e=="function"&&(e=e(o,o.state,o.context)),!(e==null||typeof e=="function")){if(typeof e=="object"&&!Array.isArray(e)){if(i==="style"){for(const u in e){let d=e[u];typeof d=="function"&&(d=d(o,o.state,o.context)),!(d==null||typeof d=="function")&&a(u,d,Rs(o,u,n))}continue}if(i==="vars"){const u=Qt(e,o);if(u)for(const d in u)a(d,u[d],wo(o,d)||!!(n&&n.has(d)));continue}if(So(i,o)){const u=yt(e,o,!1,n);Object.keys(u).length&&(r[`[data-theme="${i.slice(1)}"] &`]=u);continue}if(/^[A-Z][A-Za-z0-9]*$/.test(i)){rt()&&Cr(i,o);continue}const f=ko(i,o),l=yt(e,o,!1,n);Object.keys(l).length&&(r[f]=l);continue}a(i,e,Rs(o,i,n))}}if(s)for(const i in r)c.add(i);for(const i of c){const e=r[i];typeof e=="string"&&!e.includes("!important")&&(r[i]=e+" !important")}return r}const st=t=>!!t&&typeof t=="object"&&!Array.isArray(t);function Ds(t,o){for(const s in o){const n=o[s];t[s]=st(n)?Ds(st(t[s])?t[s]:{},n):n}return t}function jr(t,o){if(!st(o))return;let s;for(const n of t.split(" ")){const r=n?o[n]:null;st(r)&&(s=Ds(s||{},r))}return s}function Co(t,o){if(o===void 0&&(o=0),o>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)&&Co(t[s],o+1))return!0}return!1}function Ls(t,o,s){if(!o||typeof o!="object"||Array.isArray(o))return null;if(So(t,s)){const c=yt(o,s,!1);return Object.keys(c).length?{cssProp:`[data-theme="${t.slice(1)}"] &`,block:c}:null}const n=ko(t,s),r=yt(o,s,!1);return Object.keys(r).length?{cssProp:n,block:r}:null}function Pr(t){const o=t.__ref;for(const s of Object.keys(t)){if(!Jo(s))continue;const n=t[s];if(!n||typeof n!="object"||Array.isArray(n)||!Co(n))continue;let r=null,c;const a=v(()=>{if(!t.node)return;const i=t.context?.designSystem;i&&z(i);let e,f=!1;try{const l=Ls(s,n,t),u=l?ht(l.block)+"::"+l.cssProp:null;if(u!==null&&u===c)f=!0;else if(c=u,l){const d=bt({[l.cssProp]:l.block},null,t.context?.cssPrefix);e=d?d.split(" ").filter(Boolean):null}else e=null}finally{i&&q()}if(!(f||!t.node.classList)){if(r)for(const l of r)t.node.classList.remove(l);if(e&&e.length)for(const l of e)t.node.classList.add(l);r=e}},{depth:o.path.length,label:C(o,"cssBlock("+s+")")});o.__effects.push(a)}}const Er=()=>!0,Tr=(t,o)=>{const s=t.charAt(0);return(s===":"||s==="@"||s==="&"||s==="[")&&o&&typeof o=="object"&&!Array.isArray(o)?!0:!!U[t]||!!(V&&V.has(t))||Tt(t)||t==="vars"};function Or(t,o,s){const n={};let r=!1;for(const i in s)Object.prototype.hasOwnProperty.call(s,i)&&(i!=="data"&&i!=="aria"&&(Tr(i,s[i])||B.has(i))?n[i]=!0:r=!0);if(!r)return null;const c=On({[o]:s},t.tag||"div",n,Er);let a=null;for(const i in c)/^on/i.test(i)||(a||(a={}),a[i]=c[i]);return a}function Ns(t,o,s,n,r,c){const a=t.node;let i=null;const e=f=>{(i||(i=[])).push(f)};for(const f in n){const l=o.owners.get(f),u=l===s;if(!c&&l!==void 0&&!u)continue;let d;try{d=n[f](t)}catch(_){F(t.__ref,"conditional("+s+")."+f,_),u&&e(f);continue}if(typeof d=="string"&&d.includes("{{")&&(d=$.call(t,d,t.state)),u&&a.getAttribute(f)!==o.written.get(f)){e(f);continue}if(d==null||typeof d=="object"||typeof d=="function"){u&&Ms(a,o,f);continue}const h=d===!1&&!Bt(f)?null:String(J(f,d));e(f),!(u&&h===o.written.get(f))&&(l===void 0&&o.base.set(f,a.getAttribute(f)),Yt(a,f,h),o.owners.set(f,s),o.written.set(f,h))}r.appliedAttrs=i}function Ms(t,o,s){t.getAttribute(s)===o.written.get(s)&&Yt(t,s,o.base.get(s)),o.owners.delete(s),o.base.delete(s),o.written.delete(s)}function Rr(t,o,s,n){const r=n.appliedAttrs;if(n.appliedAttrs=null,!!r)for(const c of r)o.owners.get(c)===s&&Ms(t.node,o,c)}function Fs(t){const o=t.__ref&&t.__ref.__conditionalAttrs,s=t.node;if(!(!o||!o.owners.size||!s||!s.getAttribute))for(const n of o.owners.keys()){const r=o.written.get(n),c=s.getAttribute(n);c!==r&&(o.base.set(n,c),r==null?s.removeAttribute(n):s.setAttribute(n,r))}}let vo;const Dr=()=>vo===void 0?vo=rt():vo;function Is(t,o){const s=un.countUntrackedReads;typeof s=="function"?t.untrackedReads+=s(o):o()}function Lr(t){const o=t.__ref;o.__conditionalRunners=[];let s=null;const n=new Map;for(const r of Object.keys(t)){const c=r.charAt(0);if(c!=="."&&c!=="!")continue;const a=r.slice(1);if(!a)continue;if(/[:@\s>~+[\]]/.test(a)){if(typeof console<"u"&&console.warn){const y=a.split(/[:@\s>~+[\]]/)[0];console.warn(`[smbls] conditional \`${r}\` on ${t.key||"?"} will never match \u2014 the whole string after \`${c}\` is read as one prop name. Nest the selector inside instead: \`${c}${y}: { '${a.slice(y.length)}': {...} }\`.`)}continue}const i=t[r];if(!i||typeof i!="object")continue;const e=c==="!",f={lastMatch:!1,appliedKeys:null,appliedClasses:null,appliedAttrs:null,probe:!1,untrackedReads:0},l=Or(t,r,i);l&&!s&&(s=o.__conditionalAttrs={owners:new Map,base:new Map,written:new Map});const u=new Set;for(const y in i){if(!Object.prototype.hasOwnProperty.call(i,y))continue;const A=y.charAt(0),S=i[y];if(!((A===":"||A==="@"||A==="&"||A==="[")&&S&&typeof S=="object"&&!Array.isArray(S))){if(y==="vars"&&st(S)){for(const w of Object.keys(S))w&&u.add(Zt(w));continue}u.add(y)}}const d=()=>{let y;const A=f.probe;let S;if(A?Is(f,()=>{S=t[a]}):S=t[a],S===void 0){const g=!!t.state&&a in t.state,x=t.state?t.state[a]:void 0;if(g||x!==void 0)y=x;else{const k=t.context?.cases?.[a];if(k===void 0)return;try{y=typeof k=="function"?k.call(t,t):k}catch(j){y=!1,o.__conditionalError=j,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` case fn threw on ${t.key||"?"} \u2014 treating as false:`,j?.message||j)}}}else if(typeof S=="function")try{A?Is(f,()=>{y=S(t,t.state,t.context)}):y=S(t,t.state,t.context)}catch(g){y=!1,o.__conditionalError=g,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${r}\` predicate threw on ${t.key||"?"} \u2014 treating as false:`,g?.message||g)}else y=S;A&&(f.probe=!1);const w=e?!y:!!y;if(!t.node)return;const b=t.context?.designSystem;if(w===f.lastMatch){if(w&&l&&t.node.setAttribute){b&&z(b);try{Ns(t,s,r,l,f,!1)}finally{b&&q()}}return}f.lastMatch=w,b&&z(b);try{if(w){const g={},x={};let k=!1;for(const E in i){if(!Object.prototype.hasOwnProperty.call(i,E))continue;const P=i[E],R=E.charAt(0);if((R===":"||R==="@"||R==="&"||R==="[")&&P&&typeof P=="object"&&!Array.isArray(P)){if(So(E,t)){const I=yt(P,t,!1,u);Object.keys(I).length&&(x[`[data-theme="${E.slice(1)}"] &`]=I,k=!0)}else{const I=ko(E,t),ct=yt(P,t,!1,u);Object.keys(ct).length&&(x[I]=ct,k=!0)}continue}const Z=typeof P=="function"?P(t,t.state,t.context):P;if(Z!=null){if(U[E]){const I=U[E](Z,t,t.state,t.context);if(I){const ct=Array.isArray(I)?I:[I];for(const Lt of ct)Lt&&Object.assign(g,Lt)}}else if(V&&V.has(E))g[E]=Z;else if(Tt(E))g[E]=Z;else if(E==="vars"){const I=Qt(Z,t);I&&Object.assign(g,I)}}}const j=Object.keys(g);if(j.length){ot(t.node,g);for(const E of j)n.set(E,r);f.appliedKeys=j}else f.appliedKeys=null;if(k){const E=bt(x,null,t.context?.cssPrefix,{state:!0}),P=E?E.split(" ").filter(Boolean):[];if(P.length&&t.node.classList){for(const R of P)t.node.classList.add(R);f.appliedClasses=P}else f.appliedClasses=null}else if(f.appliedClasses){for(const E of f.appliedClasses)t.node.classList.remove(E);f.appliedClasses=null}l&&t.node.setAttribute&&Ns(t,s,r,l,f,!0)}else{if(f.appliedAttrs&&Rr(t,s,r,f),f.appliedKeys){for(const g of f.appliedKeys)n.get(g)===r&&(Tt(g)?t.node.style.removeProperty(g):t.node.style[g]="",n.delete(g));f.appliedKeys=null}if(f.appliedClasses){for(const g of f.appliedClasses)t.node.classList.remove(g);f.appliedClasses=null}}}finally{b&&q()}};o.__conditionalRunners.push(d);const h=t[a+"Deps"],_=O(t,h,d);Dr()&&typeof(o.__exec&&o.__exec[a]||t[a])=="function"&&!(Array.isArray(h)&&h.length===0)&&(f.probe=!0);const p=v(_,{depth:o.path.length,label:C(o,"conditional("+r+")")});f.probe&&(f.probe=!1),f.untrackedReads>0&&p._sources.size===0&&console.warn(`[smbls] conditional \`${r}\` on ${t.key||"?"} subscribed to nothing \u2014 its predicate read state on its first run without subscribing to it (\`in\`, Object.keys, a \`__\` key, parse()), so no state write will ever re-evaluate it (only a direct element.update() on this element re-runs it). Declare \`${a}Deps: [...]\` (state-key strings or \`(el, s) => \u2026\` selectors) so the subscription is armed unconditionally, or \`${a}Deps: []\` when it is static on purpose.`),o.__effects.push(p)}}const jo=new WeakSet,Po=new WeakMap;function Nr(t){const o=Po.get(t);if(o==="painted")return!1;if(o===void 0){Po.set(t,"open");const s=t.defaultView,n=()=>{Po.set(t,"painted")};s&&typeof s.requestAnimationFrame=="function"?s.requestAnimationFrame(n):setTimeout(n,0)}return!0}function Mr(t){const o=t.ownerDocument;!o||jo.has(o)||Nr(o)||(jo.add(o),queueMicrotask(()=>{jo.delete(o);const s=o.body||o.documentElement;s&&s.offsetWidth}))}const Eo=new WeakSet;let $s=!1;function Us(t){return t.startsWith("[data-theme=")||t.startsWith("@media")&&t.includes("prefers-color-scheme")}function To(t,o){const s={...t};for(const n in o){const r=o[n],c=s[n];s[n]=r&&typeof r=="object"&&c&&typeof c=="object"?To(c,r):r}return s}function Hs(t,o){const s={};for(const n in t){const r=t[n];if(r&&typeof r=="object"){const c=Hs(r,o);Object.keys(c).length&&(s[n]=c)}else o(n)||(s[n]=r)}return s}function Bs(t,o,s){const n=Oo(t);if(!n)return!1;for(let r=0;r<n.length;r+=3){const c=n[r+1];if(!s.has(c))continue;const a=o[c];if(!(a==null||typeof a=="object")&&Ln(n[r],a,n[r+2]))return!0}return!1}function Fr(t,o,s){let n=1/0,r=-1/0;for(const a of o.values())a<n&&(n=a),a>r&&(r=a);if(s)for(const a of s.values())a>r&&(r=a);if(r<=n)return null;let c=null;for(const[a,i]of o){if(i===r)continue;const e=Oo(a);if(e)for(let f=0;f<e.length;f+=3){const l=e[f],u=e[f+1],d=e[f+2],h=t[u]!=null?o.get(u):void 0,_=s&&s.get(l),p=h!==void 0&&h>i&&Vo(l,t[u],d),y=!p&&_!==void 0&&_>i&&Vo(l,void 0,d);if(p||y){p&&delete t[a],c||(c=new Set),c.add(a);break}}}return c}const Vs=new Map;function Oo(t){let o=Vs.get(t);if(o!==void 0)return o;const s=Y(t),n=Vt[s];if(o=null,Array.isArray(n)){o=[];for(const r of n)o.push(r,Go(r),s)}return Vs.set(t,o),o}function Ks(t){const{node:o}=t;if(!o)return;if($s||($s=!0,bt({display:"none"})),Eo.has(t)){console.error("[applyCssInProps] re-entry detected for element",t.key,"prop path:",t.__ref?.path);return}Eo.add(t);const s=t.context?.designSystem;s&&z(s),Uo();try{const n={};let r=!1,c=[],a=null,i=null,e=null,f=null;const l=t.__ref&&t.__ref.__mergeLayer;let u,d=null,h=null;const _=(b,g)=>{if(g&&typeof g=="object"&&Us(b)){e||(e={});const x=e[b];x&&(g=To(x,g)),e[b]=g}else(g===null||typeof g!="object")&&(f||(f=new Set),f.add(b),u!==void 0&&(d||(d=new Map),d.set(b,u)));n[b]=g};if(Object.prototype.hasOwnProperty.call(t,"theme")&&typeof t.theme!="function"&&U.theme){const b=U.theme(t.theme,t,t.state,t.context);if(b){const g=x=>{for(const k in x){const j=x[k];j&&typeof j=="object"?Us(k)&&(a||(a={}),a[k]=j):Oo(k)&&(i||(i=[])).push(k),n[k]=j}};if(Array.isArray(b))for(const x of b)x&&g(x);else g(b);r=!0}}const p=(b,g)=>{if(b==="vars"){const x=Qt(g);if(x){for(const k in x)_(k,x[k]);r=!0}return}if(U[b]){const x=U[b](g,t,t.state,t.context);if(x){if(Array.isArray(x)){for(const k of x)if(k)for(const j in k)_(j,k[j])}else for(const k in x)_(k,x[k]);r=!0}}else if(V&&V.has(b))g!=null&&typeof g!="object"&&(_(b,g),r=!0);else if(b.charCodeAt(0)===45)g!=null&&typeof g!="object"&&(_(b,g),r=!0);else if((b.charAt(0)==="&"||b.charAt(0)==="@"||b.charAt(0)===":"||b.charAt(0)==="[")&&g&&typeof g=="object"&&!Array.isArray(g)){if(Co(g))return;const x=Ls(b,g,t);x&&(_(x.cssProp,x.block),r=!0)}};if(typeof t.class=="string"){const b=jr(t.class,t.context?.designSystem?.class);if(b)for(const g in b)p(g,b[g])}const y=f?new Set(f):null,A=t.tag||"div";for(const b of Object.keys(t)){if(typeof t[b]=="function"){const x=l&&l.get(b);x!==void 0&&et(A,b)&&(h||(h=new Map),h.set(Y(b),x));continue}if(u=l?l.get(b):void 0,b==="vars"){p(b,t[b]);continue}if(B.has(b)||b==="theme")continue;const g=b.charCodeAt(0);g>=65&&g<=90||W(b)||Wo(A,b)||p(b,t[b])}u=void 0;const S=d?Fr(n,d,h):null;if(i&&f)for(const b of i)f.has(b)||!(b in n)||Bs(b,n,f)&&delete n[b];if(a){const b=f?g=>f.has(g)||Bs(g,n,f):null;for(const g in a){let x=b?Hs(a[g],b):a[g];e&&e[g]&&(x=To(x,e[g])),Object.keys(x).length?n[g]=x:delete n[g]}}if(Ar(t,n,f,S?new Set([...y||[],...S]):y),r){n.display&&String(n.display).includes("!important")&&(o.style.setProperty("display",String(n.display).replace(/\s*!important\s*$/,""),"important"),delete n.display);const b=t.display!=null&&typeof t.display!="function"?t.display:t.hide===!0||t.show===!1?"none":null;typeof b=="string"&&b!==""&&n.display&&n.display!==b&&(n.display=b);const g=bt(n,null,t.context?.cssPrefix);if(c=g?g.split(" ").filter(Boolean):[],g&&o.classList){const x=c;let k=!1;for(const j of x)o.classList.add(j),k||(j.charCodeAt(0)===95&&j.charCodeAt(1)===99||j.charCodeAt(0)===95&&j.indexOf("_c",1)!==-1)&&(k=!0);k&&Mr(o)}}const w=t.__ref;if(w){const b=w.__staticCssClasses;if(b&&o.classList){const g=new Set(c);for(const x of b)g.has(x)||o.classList.remove(x)}w.__staticCssClasses=c}xr(t)}finally{Ho(),s&&q(),Eo.delete(t)}}const Le=t=>!!U[t]||!!(V&&V.has(t))||typeof t=="string"&&t.charCodeAt(0)===45;function Ne(t){t&&t.node&&Ks(t)}function Ir(t){const{node:o}=t;if(!o||!o.setAttribute)return;if(t.aria&&typeof t.aria=="object")for(const r in t.aria){const c=t.aria[r];if(typeof c=="function"||typeof c=="object"||c==null||typeof c=="string"&&c.includes("{{"))continue;const a="aria-"+r.replace(/[A-Z]/g,i=>"-"+i.toLowerCase());o.setAttribute(a,J(a,c))}const s=Tn(t);for(const r in s){const c=s[r];c!=null&&c!==!1&&typeof c!="function"&&typeof c!="object"&&o.setAttribute(r,c===!0?"":c)}const n=t.tag||"div";for(const r of Object.keys(t)){if(typeof t[r]=="function"||B.has(r)||r==="on"||s[r]!==void 0)continue;const c=r.charCodeAt(0);if(!(c>=65&&c<=90)&&!W(r)&&!et(n,r)&&At(n,r)){let a=t[r];if(a==null)continue;if(typeof a=="string"&&a.includes("{{")){if(!io[r])continue;a=$.call(t,a,t.state)}if(a==null||typeof a=="function"||typeof a=="object"||a===!1&&!Bt(xt(r)||r))continue;const i=xt(r)||r;o.setAttribute(i,J(i,a))}}}function Me(t,o){const{node:s}=t;if(!s||!s.setAttribute)return;const n=o.charCodeAt(0);if(n>=65&&n<=90||W(o))return;const r=t.tag||"div";if(et(r,o)||!At(r,o))return;const c=xt(o)||o,a=c.toLowerCase(),i=t.__ref&&t.__ref.__effects;let e=!1;if(i)for(let u=0;u<i.length;u++){const d=i[u];d&&d._attrName===a&&!d._disposed&&typeof d._execute=="function"&&(e=!0,d._execute())}if(e)return;let f=t[o];const l=io[o];if(l&&f!=null){const u=l(t);u!==void 0&&(f=u)}typeof f=="string"&&f.includes("{{")&&(f=$.call(t,f,t.state)),qt(s,c,f)}function $r(t,o){const s=t.node,n=t.__ref;let r=n.__autoGrow;if(!o){if(r&&r.active){try{s.removeEventListener("input",r.resize)}catch{}Ws(r),m.delete(t),s.style.height="",r.appliedMax!=null&&s.style.maxHeight===r.appliedMax&&(s.style.maxHeight=""),Ys(s,r,!1),r.active=!1,r.appliedMax=null,r.lastMeasure=0}return}r||(r=n.__autoGrow={active:!1,appliedMax:null,lastMeasure:0,lastWidth:null,watch:null,awaitingLayout:!1,appliedScroll:!1,fontsHooked:!1,attachAttempts:0,firstAttemptAt:null,resize:()=>{if(!s.isConnected){Ot(t,!0);return}if(!(s.scrollHeight>0)){r.awaitingLayout=!0,Gs(t,r);return}r.awaitingLayout=!1;const a=Br(s),i=Vr(a),e=s.style.height;s.style.height="0px",i&&Do(s);const f=s.scrollHeight;if(!(f>0)){s.style.height=e,i&&Do(s);return}const l=Kr(s,a),u=l!=null&&f<l?l:f,d=zr(a),h=d!=null&&u>d;s.style.height=Wr(h?d:u,a)+"px",i&&Do(s),Ys(s,r,h),r.lastMeasure=f,r.lastWidth=s.clientWidth,Gs(t,r)}},n.__eventCleanup||(n.__eventCleanup=[]),n.__eventCleanup.push(()=>{try{s.removeEventListener("input",r.resize)}catch{}Ws(r),m.delete(t)})),r.active||(s.addEventListener("input",r.resize),r.active=!0,Hr(t,r));const c=typeof o=="object"&&o.max!=null?String(o.max):null;c!==r.appliedMax&&(c==null?r.appliedMax!=null&&s.style.maxHeight===r.appliedMax&&(s.style.maxHeight=""):s.style.maxHeight=c,r.appliedMax=c),r.resize()}function Ot(t,o){const s=t.__ref?.__autoGrow;s&&(o&&(s.attachAttempts=0,s.firstAttemptAt=null),m.add(t),St())}function Ur(){const t=Array.from(m);m.clear();for(let o=0;o<t.length;o++){const s=t[o],n=s.node,r=s.__ref?.__autoGrow;if(!(!n||!r||!r.active)){if(!n.isConnected){r.firstAttemptAt==null&&(r.firstAttemptAt=dt()),r.attachAttempts+=1,r.attachAttempts<=Zo&&dt()-r.firstAttemptAt<Qo&&(m.add(s),St());continue}r.attachAttempts=0,r.firstAttemptAt=null,r.resize()}}}function Gs(t,o){if(o.watch)return;const s=t.node;if(!s)return;const n=s.ownerDocument&&s.ownerDocument.defaultView,r=n&&n.ResizeObserver||(typeof ResizeObserver=="function"?ResizeObserver:null);if(typeof r!="function")return;const c=()=>{if(!o.active||!s.isConnected||!(s.scrollHeight>0))return;if(o.awaitingLayout){o.awaitingLayout=!1,Ot(t,!0);return}const i=s.clientWidth;o.lastWidth!=null&&Math.abs(i-o.lastWidth)<.5||(o.lastWidth=i,Ot(t,!0))};let a;try{a=new r(c),a.observe(s)}catch{return}o.watch=a}function Ws(t){const o=t.watch;if(o){t.watch=null;try{o.disconnect()}catch{}}}function Hr(t,o){if(o.fontsHooked)return;o.fontsHooked=!0;const s=t.node&&t.node.ownerDocument,n=s&&s.fonts&&s.fonts.ready;!n||typeof n.then!="function"||n.then(()=>{o.active&&t.node&&Ot(t,!0)},()=>{})}function Br(t){const o=t.ownerDocument&&t.ownerDocument.defaultView;try{return o&&o.getComputedStyle?o.getComputedStyle(t):null}catch{return null}}const it=t=>typeof t=="string"&&/^\s*-?\d*\.?\d+px\s*$/.test(t)?parseFloat(t):null,Ro=t=>(it(t.paddingTop)||0)+(it(t.paddingBottom)||0),zs=t=>(it(t.borderTopWidth)||0)+(it(t.borderBottomWidth)||0);function Vr(t){if(!t)return!1;const o=String(t.transitionProperty||"").split(","),s=String(t.transitionDuration||"0s").split(",");for(let n=0;n<o.length;n++){const r=o[n].trim();if(!(r!=="all"&&r!=="height")&&parseFloat(s[n%s.length])>0)return!0}return!1}function Do(t){if(typeof t.getAnimations!="function")return;let o;try{o=t.getAnimations()}catch{return}for(let s=0;s<o.length;s++){const n=o[s];if(n&&n.transitionProperty==="height")try{n.cancel()}catch{}}}function Kr(t,o){if(!o||!t.hasAttribute||!t.hasAttribute("rows"))return null;const s=parseInt(t.getAttribute("rows"),10);if(!(s>0))return null;const n=it(o.lineHeight)||Gr(t,o);return n>0?s*n+Ro(o):null}const Rt=["fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontFamily","lineHeight","letterSpacing"],qs=new WeakMap;function Gr(t,o){const s=t.ownerDocument,n=s&&(s.body||s.documentElement);if(!n||!s.createElement)return null;let r=qs.get(s);r||(r=new Map,qs.set(s,r));const c=Rt.map(f=>o[f]||"").join("|");if(r.has(c))return r.get(c);const a=s.createElement("textarea");a.rows=1,a.setAttribute("aria-hidden","true"),a.tabIndex=-1;const i=a.style;i.position="absolute",i.visibility="hidden",i.top="0",i.left="-9999px",i.height="auto",i.minHeight="0",i.maxHeight="none",i.padding="0",i.border="0",i.boxSizing="content-box",i.overflow="hidden";for(let f=0;f<Rt.length;f++)o[Rt[f]]&&(i[Rt[f]]=o[Rt[f]]);let e=0;try{n.appendChild(a),e=a.clientHeight}catch{e=0}finally{a.parentNode&&a.parentNode.removeChild(a)}return e>0?(r.set(c,e),e):null}function Wr(t,o){return o?o.boxSizing==="border-box"?t+zs(o):o.boxSizing==="content-box"?Math.max(0,t-Ro(o)):t:t}function zr(t){if(!t)return null;const o=it(t.maxHeight);if(o==null||!(o>0))return null;const s=Ro(t),n=zs(t),r=t.boxSizing==="border-box"?o-n:o+s,c=it(t.lineHeight);if(!(c>0))return r;const a=Math.floor((r-s)/c+1e-6);return a>=1?a*c+s:r}function Ys(t,o,s){s?o.appliedScroll||(t.style.overflowY="auto",o.appliedScroll=!0):o.appliedScroll&&(t.style.overflowY==="auto"&&(t.style.overflowY=""),o.appliedScroll=!1)}const Zs=["srcObject","muted"],qr=(t,o)=>t==="muted"?o===!0||o===""||o==="true"||o==="muted":o??null;function Yr(t){const o=t.node,s=t.__ref;if(!(!o||!s))for(let n=0;n<Zs.length;n++){const r=Zs[n],c=t[r];if(c===void 0||!(r in o))continue;const a=i=>{const e=qr(r,i);if(o[r]!==e)try{o[r]=e}catch(f){F(s,r,f)}};if(typeof c=="function"){const i=O(t,t[r+"Deps"],c),e=v(()=>{try{a(i(t,t.state,t.context))}catch(f){F(s,r,f)}},{depth:s.path.length,label:C(s,r)});s.__effects.push(e),s.__exec[r]=c}else a(c);r==="srcObject"&&(s.__releaseMedia=()=>{try{o.srcObject!=null&&(o.srcObject=null)}catch{}})}}function Zr(t){if(!t.autoGrow)return;const o=t.node;if(!o||o.tagName!=="TEXTAREA")return;const s=t.__ref,n=t.autoGrow,r=typeof n=="function"?O(t,t.autoGrowDeps,n):null,c=v(()=>{const a=t.autoGrow;let i=a;if(typeof a=="function")try{i=(a===n&&r?r:a)(t,t.state,t.context)}catch{i=null}$r(t,i)},{depth:s.path.length,label:C(s,"autoGrow")});s.__effects||(s.__effects=[]),s.__effects.push(c),r&&(s.__exec.autoGrow=n)}const Qs=new Set(["onSwipe","onSwipeLeft","onSwipeRight","onSwipeUp","onSwipeDown"]);function Xs(t,o){let s=!1;for(const n of Object.keys(t)){if(!W(n)||Qs.has(n))continue;if(n==="onInView"||n==="onLeaveView"){s=!0;continue}const r=yn(n);if(r){hn(r,t,t[n]);continue}let c=t[n],a=null;if(c&&typeof c=="object"&&!Array.isArray(c)&&(a=c,c=a.handler),c=gn(t,c),typeof c!="function")continue;const i=_n(n);ln.has(i)||pn(Un(i),t,c,a)}Qr(t),s&&M.viewEvents&&M.viewEvents(t)}function Qr(t){const o=t.node;if(!o||!o.addEventListener)return;const s={};let n=!1;for(const d of Qs){const h=t[d];typeof h=="function"&&(s[d]=h,n=!0)}if(!n)return;const r=typeof t.swipeThreshold=="number"?t.swipeThreshold:40,c=typeof t.swipeMaxDuration=="number"?t.swipeMaxDuration:600;let a=0,i=0,e=0,f=!1;const l=d=>{const h=d.touches&&d.touches[0]||d.changedTouches&&d.changedTouches[0];h&&(a=h.clientX,i=h.clientY,e=Date.now(),f=!0)},u=d=>{if(!f)return;f=!1;const h=d.changedTouches&&d.changedTouches[0]||d.touches&&d.touches[0];if(!h)return;const _=h.clientX-a,p=h.clientY-i,y=Date.now()-e;if(y>c)return;const A=Math.abs(_),S=Math.abs(p);if(Math.max(A,S)<r)return;let w;if(A>S*1.2)w=_<0?"left":"right";else if(S>A*1.2)w=p<0?"up":"down";else return;const b="onSwipe"+w.charAt(0).toUpperCase()+w.slice(1),g=s[b],x=s.onSwipe;g&&g.call(t,d,t,t.state,t.context),x&&x.call(t,{direction:w,dx:_,dy:p,dt:y,event:d},t,t.state,t.context)};o.addEventListener("touchstart",l,{passive:!0}),o.addEventListener("touchend",u,{passive:!0}),t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{try{o.removeEventListener("touchstart",l)}catch{}try{o.removeEventListener("touchend",u)}catch{}})}function Xr(t,o,s,n,r,c,a,i){let e=o;(typeof e=="string"||typeof e=="number")&&(e={text:e});let f=n;if(typeof n=="function")try{f=n(t,e)}catch{f=null}let l=typeof n=="function"?Ct(f):r;if(i&&!a&&(l=vt(l,Ct(o))),a){let u=o;(typeof o=="string"||typeof o=="number")&&(u={value:o,text:o}),e=f?{...f,state:u}:{state:u}}else f&&(e=X(f,e));return e=Dt(e,c),{def:e,key:mo(e?.key,o,s,t),supplied:l,props:f}}function Dt(t,o){if(!o||!t||t.ignoreChildExtends)return t;if(!t.extends)return{...t,extends:o};const s=Array.isArray(t.extends)?t.extends:[t.extends],n=Array.isArray(o)?o:[o];return{...t,extends:[...n,...s]}}const Lo=t=>{const o=t&&t.__ref;if(!o||o.__if===!1)return null;const s=t.node;return s&&s.nodeType!==11?s:null},Js=(t,o)=>o?o.nextSibling:dn(t.node,t.__ref.__textNode),ms=(t,o,s)=>{const n=Js(t,s);return o!==n&&t.node.insertBefore(o,n),o},Jr=(t,o)=>{const s=Js(t,o);return s?{position:"before",node:s}:void 0};function mr(t,o,s){let n=null;for(let r=0;r<o.length;r++){if(s&&s.has(o[r]))continue;const c=Lo(t[o[r]]);c&&(n=ms(t,c,n))}}function tn(t,o,s,n){const r=M.rows,c=r!==null&&t.childrenAs!=="state"&&t.tag!=="fragment"?r.track(t):null,a=No(t,o,s,n,!0,c);return t.__ref.__plainRows=c&&(a||o==null||o===!1)?c:null,a}function No(t,o,s,n,r,c){if(!o||!t.node)return;const a=t.childExtends,i=pt(t,"childProps"),e=t.__ref,f=M.mount,l=n>0&&t.tag!=="fragment"&&e?n:0;if(Array.isArray(o)){const u=t.childProps,d=t.childrenAs==="state",h=(_,p)=>{const y=Xr(t,o[_],_,u,i,a,d,r);c&&c.add(y.key,o[_],y,u,a);try{const A=tt(jt(y.def,y.supplied),t,y.key,s,p);return!A&&c&&c.none(y.key),Wt(t,A),A}catch(A){if(c&&c.failed(y.key),typeof console<"u"&&console.error){const S=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${y.key}" failed to construct at ${S} (initial render, skipping this row):`,A?.message||A)}return null}};if(!l){for(let _=0;_<o.length&&!(e&&e.__disposed);_++)h(_);return!0}return f.rows(t,o.length,h,l),!0}if(typeof o=="string"){const u=rs(o,t);if(Array.isArray(u))return No(t,u,s,n,!0,c)}if(typeof o=="object"){const u=(h,_)=>{if(B.has(h))return!1;let p=o[h];if(p==null||p===!1)return!1;const y=r?vt(i,Ct(p)):i;(typeof p=="string"||typeof p=="number")&&(p={text:p}),t.childProps&&(p=X(t.childProps,p)),p=Dt(p,a);const A=tt(jt(p,y),t,Gt(t,h),s,_);return Wt(t,A),A};if(!l){for(const h in o)u(h);return}const d=[];for(const h in o)d.push(h);f.rows(t,d.length,(h,_)=>u(d[h],_),l)}}function Jt(t,o){const s=t.node;if(!s||s.tagName!=="SELECT")return;const n=s.options;if(!n||!n.length)return;const r=t.__ref,c=r&&r.__exec&&r.__exec.value,a=typeof c=="function",i=t.value!=null&&typeof t.value!="function";if(a||i){let l;if(a)try{l=c(t,t.state,t.context)}catch{return}else l=t.value,typeof l=="string"&&l.includes("{{")&&(l=$.call(t,l,t.state));const u=l==null?"":String(l);s.value!==u&&(s.value=u);return}const e=o||!(r&&r.__selectSynced);if(r&&(r.__selectSynced=!0),!e)return;let f=-1;for(let l=0;l<n.length;l++)n[l].defaultSelected&&(f=l);f>=0&&s.selectedIndex!==f&&(s.selectedIndex=f)}function on(t,o){let{children:s,content:n}=t;const r=t.childExtends,c=typeof s=="function",a=c||ls(t,"children");if(typeof s=="function"){const u=s,d=t.__ref;let h=!1,_;const p=O(t,t.childrenDeps,u),y=v(()=>{const A=h;h=!0;let S;try{S=p(t,t.state,t.context)}catch(P){if(typeof console<"u"&&console.error){const R=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${R}${A?"":" (initial run, treating as empty)"}:`,P?.message||P)}return}if(!A){_=S;return}if(S===t.children)return;ps(t,S),t.children=S,d.__mount&&d.__mount.chunkGen++;const w=typeof t.onContentUpdate=="function",b=w?[]:null,g=w?[]:null,x=w?[]:null;if(Array.isArray(S)&&t.childrenAs==="state"){const P=t.childProps,R=[],Z=new Map;for(let T=0;T<S.length;T++){const G=S[T];let D=P;if(typeof P=="function")try{D=P(t,G)}catch{D=null}const nt=mo(D&&D.key,G,T,t);R.push(nt),Z.set(nt,{rawChild:G,childProps:D})}const I=new Set(R),ct=is(d,d.__children.slice());for(const T of ct)if(!I.has(T)){const G=t[T];G?.remove&&G.remove(),delete t[T],g&&g.push(T)}const Lt=t.childExtends,Nt=!(t.tag==="fragment")&&!!t.node;let Mt=null;const _t=new Set;for(const T of R){const G=Z.get(T),D=G.rawChild,nt=t[T];if(nt&&nt.state){if(D&&typeof D=="object"){const L=nt.state,Ft=L.$replace||L.replace,Io=L.$update||L.update;try{if(typeof Ft=="function")Ft.call(L,D);else if(typeof Io=="function"){for(const H in L)if(!(H==="__element"||H==="root"||H==="parent"||H==="update")&&!Object.prototype.hasOwnProperty.call(D,H))try{L[H]=void 0}catch{}Io.call(L,D)}else for(const H in D)L[H]=D[H]}catch(H){if(typeof console<"u"&&console.error){const cn=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${T}" failed to patch at ${cn} (reconcile, keeping its previous data for this pass):`,H?.message||H)}}}if(x&&x.push(T),Nt){const L=Lo(nt);L&&(Mt=ms(t,L,Mt))}continue}let oo=D;(typeof D=="string"||typeof D=="number")&&(oo={value:D,text:D});const so=G.childProps,rn=Dt(so?{...so,state:oo}:{state:oo},Lt),en=typeof P=="function"?Ct(so):pt(t,"childProps");let Fo;try{Fo=tt(jt(rn,en),t,T,o,Nt?Jr(t,Mt):void 0)}catch(L){if(typeof console<"u"&&console.error){const Ft=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${T}" failed to construct at ${Ft} (reconcile, skipping this row):`,L?.message||L)}_t.add(T);continue}if(d.__disposed)return;if(Nt){const L=Lo(Fo);L&&(Mt=L)}b&&b.push(T)}Nt&&mr(t,R,_t.size?_t:null),d.__children=_t.size?R.filter(T=>!_t.has(T)):R,w&&(b.length||g.length)&&Xo(t,{added:b,removed:g,kept:x}),Jt(t,!1);return}if(t.childrenAs!=="state"&&d.__plainRows&&M.rows.reconcile(t,d,S,o,w)){Jt(t,!1);return}const E=w?[...d.__children]:null;for(const P of is(d,[...d.__children])){const R=t[P];R?.remove&&R.remove(),delete t[P]}d.__children=[],tn(t,S,o,0),Jt(t,!1),w&&Xo(t,{added:[...d.__children],removed:E,kept:[]})},{depth:d.path.length,label:C(d,"children")});d.__effects.push(y),s=_,ps(t,s),t.children=s}const i=M.mount,e=i!==null?i.budgetOf(t,o):0,f=$t(t.__ref),l=c?tn(t,s,o,e):No(t,s,o,e,a);if(e&&$t(t.__ref)>f){i.defer(t,e,()=>sn(t,o,s,n,r,l,e));return}sn(t,o,s,n,r,l,e)}function sn(t,o,s,n,r,c,a){const i=$t(t.__ref);if(n!=null&&!(n&&n.__ref)){let e=n;typeof e=="string"||typeof e=="number"?e={text:e}:typeof e!="object"&&(e={}),t.childProps&&(e=X(t.childProps,e)),e=Dt(e,r);const f=vt(pt(t,"childProps"),pt(t,"content"));Wt(t,tt(jt(e,f),t,"content",o))}if(!(s&&!c)){if(a&&$t(t.__ref)>i){M.mount.defer(t,a,()=>nn(t,o,r,a));return}nn(t,o,r,a)}}function nn(t,o,s,n){const r=t.context?.components||{},c=t.__ref&&t.__ref.__runtimeSource,a=c?{}:null;{const f=Object.keys(t);for(let l=0;l<f.length;l++){const u=f[l];if(!u.endsWith("Extends")||typeof t[u]!="string")continue;const d=u.slice(0,-7);if(!d||d.charCodeAt(0)<65||d.charCodeAt(0)>90)continue;const h={extends:t[u]};delete t[u];for(let _=l+1;_<f.length;_++){const p=f[_],y=p.charCodeAt(0);if(y>=65&&y<=90||B.has(p)||typeof t[p]=="function"&&(p.startsWith("on")||p.startsWith(".")))break;const A=t[p];A!==void 0&&(h[p]=A,delete t[p],a&&kt(c,p)&&(a[d]||(a[d]={}),a[d][p]=c[p]))}t[d]&&typeof t[d]=="object"?t[d]={...h,...t[d]}:t[d]=h}}const i=Object.keys(t),e=f=>{if(B.has(f)||typeof t[f]!="object"||t[f]===null)return!1;const l=f.charCodeAt(0);if(l<65||l>90)return!1;let u=t[f];if(u.__ref)return!1;if(!u.extends&&!u.extend){const h=r[f]||r[`smbls.${f}`];h&&(u={...u,extends:h})}t.childProps&&(u=X(t.childProps,u)),u=Dt(u,s);const d=c?vt(pt(t,"childProps"),vt(a[f]||null,pt(t,f))):null;Wt(t,tt(jt(u,d),t,f,o))};if(!n){for(const f of i)e(f);return}M.mount.run(t,i.length,f=>e(i[f]),n)}function mt(t,o,s){const{node:n}=t;if(!n)return;n.ref=t;const r=o?.tag==="fragment"?o.__ref?.__fragmentAnchor:null;if(r){const i=r.parentNode;if(i){if(s?.position==="before"&&s.node)i.insertBefore(n,s.node);else if(s?.position==="after"&&s.node){const e=s.node.nextSibling;i.insertBefore(n,e||r)}else i.insertBefore(n,r);eo();return}}const c=o?.node||(o?.nodeType?o:null);if(!c)return;if(!s&&M.hydration!==null){const i=t.context&&t.context.__hydration;if(i&&M.hydration.place(i,t,o,c,n))return}const a=s?.node;if(a&&a.parentNode!==c)c.appendChild(n);else if(s?.position==="before"&&a)c.insertBefore(n,a);else if(s?.position==="after"&&s.node){const i=s.node.nextSibling;i?c.insertBefore(n,i):c.appendChild(n)}else c.appendChild(n);eo()}const Mo=3;function te(t){return!t||t.__inBeforeUpdate||(t.__beforeUpdateFailCount||0)>=Mo?!1:(t.__inBeforeUpdate=!0,!0)}function to(t,o){t&&(t.__inBeforeUpdate=!1,o?(t.__beforeUpdateFailCount=(t.__beforeUpdateFailCount||0)+1,t.__beforeUpdateFailCount===Mo&&typeof console<"u"&&console.error&&console.error(`[DOMQL] onBeforeUpdate failed ${Mo}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,o,s){const n=t.charAt(0).toLowerCase()+t.slice(1);gt(n,o,s);const r="on"+t,c=o[r];if(typeof c=="function"){const e=t==="Render"?"__inRender":t==="RenderRouter"?"__inRenderRouter":null;if(e){if(o.__ref[e])return!0;o.__ref[e]=!0}const f=o.context?.designSystem;f&&z(f);let l=!!e;try{const u=c(o,o.state,o.context,s);if(u&&typeof u.then=="function"){const d=o.__ref;return u.catch(h=>{Ht(o,r,h)}).finally(()=>{e&&d&&(d[e]=!1)}),l=!1,!0}if(u===!1)return!1}catch(u){if(Ht(o,r,u),o.context?.strictMode)throw u}finally{f&&q(),l&&o.__ref&&(o.__ref[e]=!1)}}return!0}var Fe=tt;export{Mo as BEFORE_UPDATE_MAX_CONSECUTIVE_FAILURES,te as acquireBeforeUpdateGuard,Xr as arrayRowDefinition,De as attachElement,Kn as completeCreate,tt as create,Fe as default,ao as flushMounts,Re as holdMountFlush,Le as isStaticCssProp,jt as markRuntimeSupplied,ms as placeAfter,mr as placeRows,Lo as placedRowNode,Ne as recompileStaticCss,Me as reconcileAttrProp,to as releaseBeforeUpdateGuard,Vn as reportCreateChildrenError,Xt as resolveStyleBlock,Jr as rowAttach,pt as runtimeViewOf,Jt as syncSelectValue,Xo as triggerContentUpdate,qt as writeAttr,zt as writeElementText};
|
package/dist/esm/src/create.js
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`+u.stack.split(`
|
|
3
|
-
`).slice(0,6).join(`
|
|
4
|
-
`):"")}}if(Zt(r,!0),Ys(r,o,e),typeof r.html=="function"&&r.node&&!r.node.innerHTML&&Z(r,()=>{try{const u=r.html(r,r.state,r.context);u!=null&&typeof u!="function"&&(r.node.innerHTML=u)}catch{}}),D("Create",r,n),D("Complete",r,n),D("Render",r,n),D("RenderRouter",r,n),io(r,n),typeof r.onFrame=="function"){const u=r.onFrame,l=r.context?.designSystem,_=()=>{if(r.node){if(r.node.isConnected){l&&W(l);try{u(r,r.state,r.context)}catch(g){console.error("[DOMQL] onFrame error:",g)}finally{l&&z()}}requestAnimationFrame(_)}};requestAnimationFrame(_)}return r}const Qo=new Set(["childProps","attr","style","scope","data","vars"]);function Xo(t,o,s,n,e,c){if(s&&!o.extends&&!o.extend){const y=s.indexOf("_"),p=s.indexOf(".");let A=y>0?y:-1;if(p>0&&(A<0||p<A)&&(A=p),A>0){const w=s.substring(0,A),h=t.context?.components;h&&(h[w]||h["smbls."+w])?o={...o,extends:w}:h&&st()&&(/^[A-Z]\w*_\d+$/.test(s)||/^[A-Z]\w*\.\w+$/.test(s))&&console.warn(`[smbls] auto-extend: key "${s}" looks like an instance of "${w}" but neither "${w}" nor "smbls.${w}" is registered in context.components \u2014 element will render as a plain <div>. Register the base component or rename the key.`)}}t.__ref&&(t.__ref.__mergeLayer=null),fn(t,o,c);const a=an(t),r=t.props&&typeof t.props=="object"?t.props:null;for(const y in o){if(y==="parent"||y==="node"||y==="__ref"||y==="extends"||y==="context"||y==="props")continue;if(y==="key"){n&&(t.key=e?Vt(e,n):n);continue}const p=o[y];a&&a.mark(y);const A=t[y],w=A&&p&&typeof A=="object"&&typeof p=="object"&&!Array.isArray(A)&&!Array.isArray(p)&&typeof A!="function"&&typeof p!="function";w&&y.charCodeAt(0)>=65&&y.charCodeAt(0)<=90?t[y]=kt(A,p):w&&Qo.has(y)?t[y]={...A,...p}:w&&co(y)?t[y]=kt(A,p):t[y]=p}function i(y){for(const p in y){const A=y[p],w=t[p],h=w&&A&&typeof w=="object"&&typeof A=="object"&&!Array.isArray(w)&&!Array.isArray(A)&&typeof w!="function"&&typeof A!="function";h&&p.charCodeAt(0)>=65&&p.charCodeAt(0)<=90?t[p]=kt(w,A):h&&Qo.has(p)?t[p]={...w,...A}:h&&co(p)?t[p]=kt(w,A):t[p]=A}}if(r&&i(r),o.props&&typeof o.props=="object"&&(i(o.props),a))for(const y in o.props)a.mark(y);un(t),o.classlist!==void 0&&(t.classlist=o.classlist),o.text!==void 0&&(t.text=o.text),o.html!==void 0&&(t.html=o.html);const f=t.scope&&typeof t.scope=="object"?t.scope:null,d=e?.scope,u=t.context&&typeof t.context.globalScope=="object"&&t.context.globalScope||null,l=d||u||null;if(o.scope!==void 0||f){const y={};f&&Object.assign(y,f),o.scope!==void 0&&Object.assign(y,o.scope),t.scope=ms(y,l)}else l&&(t.scope=l);o.if!==void 0&&(t.if=o.if);const _=t.__ref,g=Zn(t,_&&_.__runtimeSource);return _&&(_.__declaredArrays=g||void 0),dn(t),Rn(t,e,o,c),o}const Tn=new Set(["key","parent","context","__ref"]);function Dn(t,o){for(const n of Object.keys(t))Tn.has(n)||delete t[n];let s=o.definition;if(!s.extends&&!s.extend&&typeof o.key=="string"){const n=t.context?.components||{},e=n[o.key]||n["smbls."+o.key];e&&(s={...s,extends:e})}Nt(()=>Xo(t,s,o.key,o.ownKey,t.parent,o.options))}function Ln(t,o,s){const n=s||{},e=r=>!!(n[r]||n["smbls."+r]),c=[],a=[];if(t.extends&&a.push(...Array.isArray(t.extends)?t.extends:[t.extends]),t.extend&&a.push(...Array.isArray(t.extend)?t.extend:[t.extend]),a.length){for(const r of a){if(typeof r!="string")continue;const i=r.includes(">")?r.split(">")[0].trim():r;e(i)||c.push(i)}return c}if(typeof o=="string"&&/^[A-Z]/.test(o)){let r=-1;const i=o.indexOf("_"),f=o.indexOf(".");i>0&&(r=i),f>0&&(r<0||f<r)&&(r=f);const d=r>0?o.substring(0,r):o;e(d)||c.push(d)}return c}function fo(t,o,s){if(typeof t.onStateInit!="function"&&!yn(t,"stateInit"))return;const n=t.state;t.state=o;try{D("StateInit",t,s)}finally{t.state=n}}const ao=t=>({isDataOnlyKey:o=>hn(t).has(o)});function Rn(t,o,s,n){const e=!o,c=s.state&&typeof s.state=="object"&&!Array.isArray(s.state)&&Object.keys(s.state).length===0,a=e&&c&&t.context?.state,r=s.state!==void 0&&!a?s.state:t.state&&!G(t.state)?t.state:void 0;if(r==null){if(o?.state)t.state=o.state,ft(t,t.state);else if(t.context?.state){const i=t.context.state,f={...i},d=t.context?.polyglot;if(d?.translations){const u=t.context,l=i.lang||d.defaultLang||"en",_=new Set,g=(A,w)=>{_.has(A)||ln(u,A,f)&&(f[A]=w,_.add(A),pn(u,A,w))},y=d.translations[l];if(y&&typeof y=="object")for(const A in y)g(A,y[A]);const p=new Set(d.languages||[]);for(const A in d.translations)p.has(A)||g(A,d.translations[A])}G(f)||fo(t,f,n),t.state=G(f)?f:oo(f,ao(t.context)),t.state.__element=t,t.state.root=t.state,ft(t,t.state),Ft.promoteActiveRootState?.(i,t.state),D("StateCreated",t,n)}else t.state={},Object.defineProperty(t.state,"root",{value:t.state,enumerable:!1,configurable:!0,writable:!0}),ft(t,t.state);return}if(typeof r=="string"){if(t.state=ts(r,o),t.state&&typeof t.state=="object"&&!G(t.state)){const i=o?.state?.root||o?.state||t.state;Object.defineProperty(t.state,"root",{value:i,enumerable:!1,configurable:!0,writable:!0})}ft(t,t.state),Nn(t,r,o),D("StateCreated",t,n);return}if(typeof r=="function"){const i=r(t,o?.state);if(G(i))t.state=i;else{const f=i||{};fo(t,f,n),t.state=oo(f,o?.state?void 0:ao(t.context))}}else if(G(r))t.state=r;else{const i={...r};fo(t,i,n),t.state=oo(i,o?.state?void 0:ao(t.context))}t.state.__element=t,o?.state?(t.state.parent=o.state,t.state.root=o.state.root||o.state):t.state.root=t.state,ft(t,t.state),Ft.promoteActiveRootState?.(r,t.state),D("StateCreated",t,n)}function Jo(t,o){if(!o)return t;const s=o.split("/");let n=t;for(const e of s){if(n==null)return{};n=n[e]}return n??{}}function mo(t,o){const s=o.state;return t.startsWith("~/")?[s&&(s.root||s),t.slice(2)]:t.startsWith("../")?[s,t.slice(3)]:[s,t]}function ts(t,o){if(!o)return{};if(t===".")return o.state||{};if(t.startsWith("../")||t.startsWith("~/")){const[e,c]=mo(t,o);return c?Jo(e,c):e??{}}if(o.state?.[t]!==void 0)return o.state[t];const s=Jo(o.state,t);if(s!=null&&Object.keys(s).length>0)return s;const n=o.context?.polyglot;if(n?.translations){const e=o.state?.root?.lang||n.defaultLang||"en",c=n.translations[e];if(c?.[t]!==void 0)return c[t];if(n.translations[t]!==void 0)return n.translations[t]}return{}}function Mn(t,o){const[s,n]=mo(t,o);if(!n||!s||typeof s!="object")return;const e=s[n];if(e!==void 0||n.indexOf("/")===-1)return e;let c=s;for(const a of n.split("/")){if(c==null||typeof c!="object")return;c=c[a]}return c}function Nn(t,o,s){const n=t.__ref;if(!n||!s||o==="."||!G(s.state))return;n.__stateBinding&&n.__stateBinding.dispose();const e=Nt(()=>j(()=>{const c=Mn(o,s);!c||typeof c!="object"||c===t.state||Nt(()=>os(t,t.state,c,!0))},{depth:n.path?n.path.length:0,label:v(n,"state")}));e._isStateBinding=!0,n.__stateBinding=e,n.__effects&&n.__effects.push(e)}function os(t,o,s,n){const e=t.__ref;if(!e)return;if(n||t.state===o){t.state=s,n&&ft(t,s),ss(e);const a=e.__children;if(a)for(let r=0;r<a.length;r++){const i=t[a[r]];i&&i.__ref&&i.parent===t&&os(i,o,s,!1)}return}if(e.__stateBinding){e.__stateBinding._notify();return}const c=t.state;c&&typeof c=="object"&&c.parent===o&&(c.parent=s,ss(e))}function ss(t){const o=t.__effects;if(o)for(let s=0;s<o.length;s++){const n=o[s];n&&!n._disposed&&!n._isStateBinding&&!n._isSubscribeToEffect&&typeof n._notify=="function"&&n._notify()}}const Fn=new Set(["s","state","ctx","context"]),uo=new WeakMap;function ns(t){if(uo.has(t))return uo.get(t);let o=null;try{const s=typeof Ft.getFunctionSource=="function"?Ft.getFunctionSource(t):Function.prototype.toString.call(t);if(typeof s=="string"){const n=s.match(/^\s*(?:async\s+)?([A-Za-z_$][\w$]*)\s*=>/)||s.match(/^[^(]*\(([^)]*)\)/);n&&(o={params:n[1].split(",").map(e=>e.trim()),body:s.slice(n.index+n[0].length)})}}catch{}return uo.set(t,o),o}function $n(t){const o=ns(t);return o?o.params.map(s=>s.split("=")[0].trim()).filter(Boolean):[]}const es=new WeakMap;function In(t){let o=es.get(t);return o===void 0&&(o=Bn(ns(t)),es.set(t,o)),o}function Bn(t){if(!t)return!0;const o=t.body;if(/\bstate\b|\barguments\b|\bcall\s*\(/.test(o))return!0;const s=t.params[1];if(!s)return!1;if(!/^[A-Za-z_$][\w$]*$/.test(s.split("=")[0].trim()))return!0;const n=s.split("=")[0].trim();return new RegExp("(^|[^\\w$.])"+n.replace(/\$/g,"\\$")+"(?![\\w$])").test(o)}const Hn=3,Un=/^(is|has)[A-Z0-9_$]/,Vn=new Set(["routerOptions"]),rs=new WeakSet;function Gn(t,o){if(typeof t!="function"||t.length!==2||o&&(Un.test(o)||Vn.has(o))||rs.has(t))return!1;const s=$n(t);if(s.length<2)return!1;const n=s[1].replace(/[{}[\]]/g,"").trim();return n.length<Hn||Fn.has(n)?!1:(rs.add(t),!0)}function Kn(t){const o=t.__ref,s=t.tag||"div",n=t.context?.designSystem,e=[],c=Object.keys(t);for(let a=0;a<c.length;a++){const r=c[a];if(typeof t[r]!="function"||B.has(r))continue;const i=r.charCodeAt(0);i>=65&&i<=90||Y(r)||$[r]||H&&H.has(r)||i!==45&&(xt(s,r)||(st()&&Gn(t[r],r)&&console.warn(`[smbls] custom prop "${r}"${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('${r}', \u2026) instead of reading el.${r}(\u2026) directly (see RULES.md Rule 8).`),e.push({prop:r,fn:t[r]})))}for(let a=0;a<e.length;a++){const{prop:r,fn:i}=e[a];o.__exec[r]=i,Object.defineProperty(t,r,{get(){n&&W(n);try{return i(t,t.state,t.context)}catch{return}finally{n&&z()}},set(f){delete o.__exec[r],Object.defineProperty(t,r,{value:f,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}}function Wn(t,o){if(!(!Array.isArray(o)||o.length===0))for(let s=0;s<o.length;s++){const n=o[s];try{typeof n=="function"?n(t,t.state,t.context):typeof n=="string"&&t.state?.[n]}catch{}}}function T(t,o,s){return!Array.isArray(o)||o.length===0?s:function(...n){return Wn(t,o),s.apply(this,n)}}function dt(t,o){if(!(!t||Array.isArray(t)||typeof t!="object"))return t[o]}function v(t,o){return()=>t.path.join(".")+"::"+o}const is=new Set;function R(t,o,s){if(!st())return;const n=v(t,o)();is.has(n)||(is.add(n),console.warn(`[smbls] "${o}" effect threw on ${t.path.join(".")} \u2014 keeping previous value:`,s?.message||s))}const cs=/(['"`])((?:\\.|(?!\1)[^\\])*)\1/g,zn=(t,o)=>{let s;try{s=String(t)}catch{return}if(!s.includes("{{"))return;cs.lastIndex=0;let n;for(;(n=cs.exec(s))!==null;)n[2].includes("{{")&&o.add(n[2])},Yn=(t,o)=>!Y(t)&&!nt(o,t),lo=(t,o,s,n,e)=>{if(typeof o=="string"){!e&&o.includes("{{")&&s.add(o);return}typeof o=="function"&&Yn(t,n)&&zn(o,s)},po=new WeakMap,vt=(t,o)=>Object.prototype.hasOwnProperty.call(t,o),jt=t=>{if(typeof t=="string"||typeof t=="number")return{text:t};if(!t||typeof t!="object"||Array.isArray(t))return null;const o=t.props;return o&&typeof o=="object"&&!Array.isArray(o)?it(t,o):t},Et=(t,o)=>t&&o?it(t,o):t||o||null,fs=(t,o)=>{const s=t.__ref&&t.__ref.__runtimeSource;return!!s&&vt(s,o)},lt=(t,o)=>fs(t,o)?jt(t.__ref.__runtimeSource[o]):null,Pt=(t,o)=>(o&&t&&typeof t=="object"&&po.set(t,o),t),qn=t=>{if(!t||typeof t!="object")return;const o=po.get(t);return o&&po.delete(t),o},ho=(t,o,s)=>{if(typeof t=="string"){t.includes("{{")&&o.add(t);return}if(!(!t||typeof t!="object"||s.has(t))){if(s.add(t),Array.isArray(t)){for(let n=0;n<t.length;n++)ho(t[n],o,s);return}if(!t.__ref)for(const n of Object.keys(t)){if(n==="state")continue;const e=Object.getOwnPropertyDescriptor(t,n);e&&"value"in e&&ho(e.value,o,s)}}},Zn=(t,o)=>{let s=null;for(const n of Object.keys(t)){if(B.has(n)||o&&vt(o,n))continue;const e=Object.getOwnPropertyDescriptor(t,n),c=e&&e.value;if(!Array.isArray(c))continue;const a=new Set;ho(c,a,new Set),a.size&&(s||(s=new Map),s.set(c,a))}return s},as=(t,o)=>{if(Array.isArray(o))for(let s=t;s;s=s.parent){const n=s.__ref&&s.__ref.__declaredArrays,e=n&&n.get(o);if(!e)continue;const c=t.__ref;c.__authoredTemplates||(c.__authoredTemplates=new Set);for(const a of e)c.__authoredTemplates.add(a);return}},us=["attr","aria","data","metadata"],Qn=t=>{if(us.includes(t))return!0;const o=t.charCodeAt(0);return o===46||o===33||o===64},Xn=(t,o)=>{const s=new Set,n=t.tag||"div";for(const e of Object.keys(t)){const c=Object.getOwnPropertyDescriptor(t,e),a=c&&c.value,r=!!o&&vt(o,e);if(a&&typeof a=="object"&&!Array.isArray(a)){if(!Qn(e))continue;const i=r?o[e]:null,f=i&&typeof i=="object"?i:null,d=e.charCodeAt(0)===46||e.charCodeAt(0)===33;for(const u in a){const l=r&&(!f||vt(f,u)),_=a[u];if(d&&_&&typeof _=="object"&&!Array.isArray(_)&&us.includes(u)){for(const g in _)lo(g,_[g],s,n,l);continue}lo(u,_,s,n,l)}continue}lo(e,a,s,n,r)}return s};function ds(t,o){const s=t.__ref,n=!!(o&&o.skipIfEffect),e=Xn(t,s.__runtimeSource);if(s.__authoredTemplates)for(const i of e)s.__authoredTemplates.add(i);else s.__authoredTemplates=e;if(Kn(t),typeof t.text=="function"){const i=t.text,f=T(t,t.textDeps,i),d=j(()=>{if(!s.contentManaged)try{let u=f(t,t.state,t.context);t.node&&u!=null&&typeof u!="function"&&typeof u!="object"&&(typeof u=="string"&&u.includes("{{")&&(u=F.call(t,u,t.state)),Gt(t,u))}catch(u){R(s,"text",u)}},{depth:s.path.length,label:v(s,"text")});s.__effects.push(d),s.__exec.text=i}else if(typeof t.text=="string"&&t.text.includes("{{")){const i=t.text,f=j(()=>{if(s.contentManaged)return;const d=F.call(t,i,t.state);d!=null&&(t.text=d),t.node&&Gt(t,d??"")},{depth:s.path.length,label:v(s,"text")});s.__effects.push(f),s.__exec.text=i}const c=t.tag||"div";for(const i of Object.keys(t))if(typeof t[i]=="function"&&!B.has(i)&&!Y(i)&&!s.__exec[i]&&!Uo(c,i)){if($[i]){const f=t[i],d=T(t,t[i+"Deps"],f),u=i;let l,_=null,g=null,y;const p=j(()=>{const A=t.context?.designSystem;A&&W(A);try{const w=d(t,t.state,t.context);No();let h;try{h=$[u](w,t,t.state,t.context)}finally{Fo()}if(Array.isArray(h)){const x={};for(const S of h)if(S)for(const k in S)x[k]=S[k];h=x}const b=u==="show"||u==="hide";if(h&&t.node&&te(h)){const x=pt(h);if(x===null||x!==y){y=x;const S=At(h,null,t.context?.cssPrefix),k=S?S.split(" ").filter(Boolean):null;if(t.node.classList){if(g)for(const C of g)t.node.classList.remove(C);if(k&&k.length)for(const C of k)t.node.classList.add(C);g=k}}l=void 0,_=null}else if(h&&t.node){if(g){for(const S of g)t.node.classList.remove(S);g=null,y=void 0}const x=pt(h);if(x===null||x!==l||!Tt(t.node,_)){l=x;const S=Ss(t,h);_=Ot(t.node,S)}}else t.node&&b&&(l=void 0,_=null,t.node.style.display="")}finally{A&&z()}},{depth:s.path.length,label:v(s,u)});s.__effects.push(p),s.__exec[i]=f}else if(H&&H.has(i)){const f=t[i],d=T(t,t[i+"Deps"],f),u=i;let l,_=null;const g=j(()=>{const y=t.context?.designSystem;y&&W(y);try{const p=d(t,t.state,t.context);if(t.node)if(p!=null){const A=u+":"+String(p);if(A!==l||!Tt(t.node,_)){l=A;const w={[u]:p},h=Ss(t,w);_=Ot(t.node,h)}}else l=void 0,_=null,t.node.style[u]=""}finally{y&&z()}},{depth:s.path.length,label:v(s,u)});s.__effects.push(g),s.__exec[i]=f}else if(i.charCodeAt(0)===45){const f=t[i];As(t,i,f,t[i+"Deps"],i),s.__exec[i]=f}}if(oe(t),typeof t.html=="function"){const i=t.html,f=T(t,t.htmlDeps,i),d=j(()=>{Z(t,()=>{const u=f(t,t.state,t.context);t.node&&u!=null&&typeof u!="function"&&(t.node.innerHTML=u)})},{depth:s.path.length,label:v(s,"html")});s.__effects.push(d),s.__exec.html=i}if(typeof t.value=="function"){const i=t.value,f=T(t,t.valueDeps,i),d=j(()=>{try{let u=f(t,t.state,t.context);typeof u=="string"&&u.includes("{{")&&(u=F.call(t,u,t.state)),ys(t,u)}catch(u){R(s,"value",u)}},{depth:s.path.length,label:v(s,"value")});s.__effects.push(d),s.__exec.value=i}else if(typeof t.value=="string"&&t.value.includes("{{")){const i=t.value,f=j(()=>{try{ys(t,F.call(t,i,t.state))}catch(d){R(s,"value",d)}},{depth:s.path.length,label:v(s,"value")});s.__effects.push(f),s.__exec.value=i}if(typeof t.style=="function"){const i=t.style,f=T(t,t.styleDeps,i);let d,u=null,l,_,g,y;const p=j(()=>{const A=f(t,t.state,t.context),w=t.context&&t.context.designSystem;let h;if(A&&typeof A=="object"&&A===l&&w===g){const x=pt(A);h=x!==null&&x===_?y:qt(t,A),_=x}else h=qt(t,A),_=void 0;l=A,g=w,y=h;const b=pt(h);(b===null||b!==d||!Tt(t.node,u))&&(d=b,_o(t.node,u,h),J(t.node,h),u=Ot(t.node,h))},{depth:s.path.length,label:v(s,"style")});s.__effects.push(p),s.__exec.style=i}else if(t.style&&typeof t.style=="object")for(const i in t.style){const f=t.style[i];if(typeof f!="function")continue;const d=T(t,dt(t.styleDeps,i),f);let u,l=null;const _=j(()=>{try{const g=d(t,t.state,t.context);if(t.node){const y=i+":"+String(g);if(y!==u||!Tt(t.node,l)){u=y;const p=qt(t,{[i]:g});_o(t.node,l,Object.assign({},p,{[i]:""})),J(t.node,p),l=Ot(t.node,p)}}}catch(g){R(s,"style."+i,g)}},{depth:s.path.length,label:v(s,"style."+i)});s.__effects.push(_)}if(t.attr&&typeof t.attr=="object"){for(const i in t.attr)if(typeof t.attr[i]=="function"){const f=T(t,dt(t.attrDeps,i),t.attr[i]),d=i,u=j(()=>{try{let l=f(t,t.state,t.context);typeof l=="string"&&l.includes("{{")&&(l=F.call(t,l,t.state)),t.node?.setAttribute&&Kt(t.node,d,l)}catch(l){R(s,"attr."+d,l)}},{depth:s.path.length,label:v(s,"attr."+d)});u._attrName=d.toLowerCase(),s.__effects.push(u)}else if(typeof t.attr[i]=="string"&&t.attr[i].includes("{{")){const f=t.attr[i],d=i,u=j(()=>{try{const l=F.call(t,f,t.state);if(!t.node||!t.node.setAttribute)return;t.node.setAttribute(d,Q(d,l??""))}catch(l){R(s,"attr."+d,l)}},{depth:s.path.length,label:v(s,"attr."+d)});u._attrName=d.toLowerCase(),s.__effects.push(u)}}if(t.aria&&typeof t.aria=="object")for(const i in t.aria){const f=t.aria[i];if(typeof f=="string"&&f.includes("{{")){const _=f,g="aria-"+i.replace(/[A-Z]/g,p=>"-"+p.toLowerCase()),y=j(()=>{try{const p=F.call(t,_,t.state);if(!t.node||!t.node.setAttribute)return;t.node.setAttribute(g,Q(g,p??""))}catch(p){R(s,"aria."+i,p)}},{depth:s.path.length,label:v(s,"aria."+i)});y._attrName=g,s.__effects.push(y);continue}if(typeof f!="function")continue;const d=T(t,dt(t.ariaDeps,i),t.aria[i]),u="aria-"+i.replace(/[A-Z]/g,_=>"-"+_.toLowerCase()),l=j(()=>{try{const _=d(t,t.state,t.context);if(!t.node?.setAttribute)return;Kt(t.node,u,_)}catch(_){R(s,"aria."+i,_)}},{depth:s.path.length,label:v(s,"aria."+i)});l._attrName=u,s.__effects.push(l)}if(t.data&&typeof t.data=="object")for(const i in t.data){const f=t.data[i];if(typeof f=="string"&&f.includes("{{")){const g=f,y="data-"+i.replace(/[A-Z]/g,A=>"-"+A.toLowerCase()),p=j(()=>{try{const A=F.call(t,g,t.state);if(!t.node||!t.node.setAttribute)return;t.node.setAttribute(y,A??"")}catch(A){R(s,"data."+i,A)}},{depth:s.path.length,label:v(s,"data."+i)});p._attrName=y,s.__effects.push(p);continue}if(typeof f!="function")continue;const d=T(t,dt(t.dataDeps,i),t.data[i]),l="data-"+i.replace(/[A-Z]/g,g=>"-"+g.toLowerCase()),_=j(()=>{try{const g=d(t,t.state,t.context);if(!t.node?.setAttribute)return;g==null||g===!1?t.node.removeAttribute(l):typeof g!="function"&&typeof g!="object"&&t.node.setAttribute(l,g===!0?"":g)}catch(g){R(s,"data."+i,g)}},{depth:s.path.length,label:v(s,"data."+i)});_._attrName=l,s.__effects.push(_)}const a=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(a)for(const i in a){if(typeof a[i]!="function")continue;const f=T(t,dt(t.classDeps,i),a[i]),d=j(()=>{try{const u=f(t,t.state,t.context);if(!t.node?.classList)return;typeof u=="string"?t.node.classList.add(u):u?t.node.classList.add(i):t.node.classList.remove(i)}catch(u){R(s,"class."+i,u)}},{depth:s.path.length,label:v(s,"class."+i)});s.__effects.push(d)}!n&&typeof t.if=="function"&&hs(t,s,t.if);for(const i of Object.keys(t)){if(B.has(i)||typeof t[i]!="function")continue;const f=i.charCodeAt(0);if(f>=65&&f<=90||Y(i))continue;const d=t[i];s.__exec[i]=d;const u=t.tag||"div";if(xt(u,i)&&!nt(u,i)){const l=wt(i)||i,_=T(t,t[i+"Deps"],d),g=j(()=>{try{let y=_(t,t.state,t.context);typeof y=="string"&&y.includes("{{")&&(y=F.call(t,y,t.state)),t.node?.setAttribute&&Kt(t.node,l,y,!0)}catch(y){R(s,i,y)}},{depth:s.path.length,label:v(s,i)});g._attrName=l.toLowerCase(),s.__effects.push(g)}}const r=t.tag||"div";for(const i of Object.keys(t)){if(B.has(i))continue;const f=t[i];if(typeof f!="string"||!f.includes("{{"))continue;const d=i.charCodeAt(0);if(d>=65&&d<=90||Y(i)||nt(r,i)||no[i]||!xt(r,i))continue;const u=wt(i)||i,l=j(()=>{try{const _=F.call(t,f,t.state);if(!t.node||!t.node.setAttribute)return;t.node.setAttribute(u,Q(u,_??""))}catch(_){R(s,i,_)}},{depth:s.path.length,label:v(s,i)});l._attrName=u.toLowerCase(),s.__effects.push(l)}if(fe(t),ge(t),typeof t.onStateUpdate=="function"&&Array.isArray(t.stateDeps)){const i=t.onStateUpdate,f=t.stateDeps;let d=!1,u=[];const l=j(()=>{const _=[];for(let p=0;p<f.length;p++){const A=f[p];try{_[p]=typeof A=="function"?A(t,t.state,t.context):t.state?.[A]}catch{_[p]=void 0}}if(!d){d=!0,u=_;return}let g=_.length!==u.length;for(let p=0;!g&&p<_.length;p++)_[p]!==u[p]&&(g=!0);const y=u;u=_,g&&Z(t,()=>{try{i(t,t.state,t.context,{prev:y,next:_})}catch(p){if($t(t,"onStateUpdate",p),t.context?.strictMode)throw p}})},{depth:s.path.length,label:v(s,"onStateUpdate")});s.__effects.push(l)}le(t)}function ls(t){const o=t.parent,s=o?.node;if(!s||!t.node){Ys(t,t.parent);return}let n=null;const e=Object.keys(o),c=e.indexOf(t.key);for(let a=c+1;a<e.length;a++){const r=o[e[a]];if(r?.node?.parentNode===s){n=r.node;break}}n?s.insertBefore(t.node,n):s.appendChild(t.node)}function ps(t){_s(t),Se(t),Ls(t),Me(t),Re(t)}function hs(t,o,s){let n=T(t,t.ifDeps,s);const e=j(()=>{const c=!o.__ifInitialized&&o.__ifLateMerge;if(c){const i=t.context?.components||{};c.names.some(f=>i[f]||i["smbls."+f])&&(o.__ifLateMerge=null,Dn(t,c),n=T(t,t.ifDeps,typeof t.if=="function"?t.if:s))}let a;try{a=n(t,t.state,t.context)}catch(i){if(a=!1,o.__ifError=i,typeof console<"u"&&console.warn){const f=t.key||t.tag||"?";console.warn(`[smbls] \`if:\` reactive effect threw on ${f} \u2014 treating as false:`,i?.message||i)}return}const r=o.__if;if(o.__if=!!a,r&&!o.__if&&t.node){t.node.remove();try{typeof t.onRemove=="function"&&t.onRemove(t)}catch(i){console.error("[smbls] onRemove error:",i)}}else if(!r&&o.__if)if(o.__ifInitialized)t.node||(t.node=so(t)),t.node&&(t.node.ref=t),ls(t),_s(t),Ls(t),D("Render",t,{}),io(t,{});else{if(o.__ifInitialized=!0,o.__ifLateMerge=null,t.tag||(t.tag=To(t)),D("Init",t,{}),t.node||(t.node=so(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"&&!o.__fragmentAnchor){const f=(t.context?.document||globalThis.document).createComment("");t.node.appendChild(f),o.__fragmentAnchor=f}D("AttachNode",t,{}),t.node.setAttribute&&t.key&&t.node.setAttribute("data-key",t.key),t.id&&t.node.setAttribute&&(t.node.id=t.id),Ws(t,{}),ds(t,{skipIfEffect:!0}),ps(t),zs(t,{}),ls(t),D("Create",t,{}),D("Complete",t,{}),D("Render",t,{}),D("RenderRouter",t,{}),io(t,{})}},{depth:o.path.length,label:v(o,"if")});o.__effects.push(e)}function Gt(t,o){const s=t.node;if(!s)return;const n=o==null||typeof o=="object"?"":String(o);if(t.tag==="string"){s.nodeValue!==n&&(s.nodeValue=n);return}const e=t.__ref;let c=e?e.__textNode:null;if(c&&c.parentNode!==s&&(c=null),!c){const a=s.firstChild;a&&a.nodeType===3&&(c=a)}c?c.nodeValue!==n&&(c.nodeValue=n):s.firstChild?(c=(s.ownerDocument||t.context?.document||globalThis.document).createTextNode(n),s.insertBefore(c,s.firstChild)):(s.textContent=n,c=s.firstChild&&s.firstChild.nodeType===3?s.firstChild:null),e&&(e.__textNode=c||null)}function Jn(t,o){return o!=="checked"||!t||t.tagName!=="INPUT"?null:t.hasAttribute("checked")}function mn(t,o){if(o===null)return;const s=t.hasAttribute("checked");s!==o&&t.checked!==s&&(t.checked=s)}function Kt(t,o,s,n){s==null||s===!1&&!It(o)?Wt(t,o,null):typeof s=="function"||typeof s=="object"||(n&&o==="src"&&"src"in t?t.src=s:Wt(t,o,Q(o,s)))}function Wt(t,o,s){const n=Jn(t,o);s==null?t.removeAttribute(o):t.setAttribute(o,s),mn(t,n)}function ys(t,o){const s=t.node;if(!s||!("value"in s))return;const n=o==null?"":String(o);if(s.value===n)return;const e=typeof document<"u"&&document.activeElement===s,c=e&&typeof s.selectionStart=="number"?s.selectionStart:null,a=e&&typeof s.selectionEnd=="number"?s.selectionEnd:null;if(s.value=n,e&&c!=null&&a!=null)try{s.setSelectionRange(c,a)}catch{}const r=t.__ref&&t.__ref.__autoGrow;r&&r.active&&r.resize()}function _s(t){const{node:o}=t;if(o){if((typeof t.text=="string"&&!t.text.includes("{{")||typeof t.text=="number")&&Gt(t,t.text),$s(t),typeof t.html=="string"&&(o.innerHTML=t.html),t.value!=null&&typeof t.value!="function"&&!(typeof t.value=="string"&&t.value.includes("{{"))&&"value"in o){const s=String(t.value);o.value!==s&&(o.value=s)}if(t.style&&typeof t.style=="object"){let s=t.style;for(const n in t.style)if(typeof t.style[n]=="function"){s={};for(const e in t.style)typeof t.style[e]!="function"&&(s[e]=t.style[e]);break}J(o,qt(t,s))}if(t.attr&&typeof t.attr=="object")for(const s in t.attr){const n=t.attr[s];typeof n=="function"||typeof n=="object"||n!=null&&(typeof n=="string"&&n.includes("{{")||n===!1&&!It(s)||o.setAttribute&&o.setAttribute(s,Q(s,n)))}if(typeof t.themeModifier=="string"&&t.themeModifier&&o.setAttribute&&o.setAttribute("data-theme",t.themeModifier),t.data&&typeof t.data=="object")for(const s in t.data){const n=t.data[s];typeof n=="function"||typeof n=="object"||n==null||n===!1||typeof n=="string"&&n.includes("{{")||o.dataset&&(o.dataset[s]=n===!0?"":n)}if(t.classlist||t.class){const s=t.classlist||t.class;if(typeof s=="string")s.split(" ").forEach(n=>n&&o.classList.add(n));else if(typeof s=="object")for(const n in s){const e=typeof s[n]=="function"?s[n](t,t.state,t.context):s[n];e&&o.classList.add(typeof e=="string"?e:n)}}}}function pt(t){if(t==null||typeof t!="object")return"s:"+String(t);try{return"o:"+JSON.stringify(t)}catch{return null}}function te(t){if(!t||typeof t!="object")return!1;for(const o in t){const s=t[o];if(s&&typeof s=="object"&&!Array.isArray(s))return!0}return!1}function Ot(t,o){if(!t||!t.style||!o)return null;const s=t.style,n=[];for(const e in o){if(o[e]==null||e.charAt(0)==="&")continue;const a=q(e);n.push(a,yo(s,a),gs(s,a))}return n}function yo(t,o){return typeof t.getPropertyValue=="function"?t.getPropertyValue(o):""}function gs(t,o){return typeof t.getPropertyPriority=="function"?t.getPropertyPriority(o):""}function q(t){return Bo(t)}function _o(t,o,s){if(!t||!t.style||!o||!o.length)return;const n=t.style,e=new Set;if(s&&typeof s=="object")for(const c in s)s[c]==null||c.charAt(0)==="&"||e.add(q(c));for(let c=0;c<o.length;c+=3){const a=o[c];e.has(a)||yo(n,a)===o[c+1]&&typeof n.removeProperty=="function"&&n.removeProperty(a)}}function Tt(t,o){if(!o||!t||!t.style)return!1;const s=t.style;for(let n=0;n<o.length;n+=3)if(yo(s,o[n])!==o[n+1]||gs(s,o[n])!==o[n+2])return!1;return!0}const Dt=t=>t.charCodeAt(0)===45&&t.charCodeAt(1)===45,bs=t=>typeof t=="number"||t===!0||typeof t=="string"&&t!=="",zt=t=>Dt(t)?t:"--"+t;function Yt(t,o){if(!m(t))return null;let s=null;for(const n of Object.keys(t)){if(!n)continue;let e=t[n];if(typeof e=="function"){if(!o)continue;e=e(o,o.state,o.context)}bs(e)&&(s||(s={}),s[zt(n)]=e)}return s}function As(t,o,s,n,e){xs(t,e,T(t,n,s),c=>bs(c)?{[o]:c}:null)}function xs(t,o,s,n,e){const c=t.__ref;let a,r=null;const i=j(()=>{Z(t,()=>{try{const f=n(s(t,t.state,t.context)),d=t.node;if(!d||!d.style)return;const u=pt(f);(u===null||u!==a||!Tt(d,r))&&(a=u,_o(d,r,f),f&&J(d,f),r=f?Ot(d,f):null,e&&e(f))}catch(f){R(c,o,f)}})},{depth:c.path.length,label:v(c,o)});c.__effects.push(i)}function oe(t){const o=t.__ref,s=t.vars;if(typeof s=="function"){se(t,s),o.__exec.vars=s;return}if(m(s))for(const n of Object.keys(s)){const e=s[n];!n||typeof e!="function"||As(t,zt(n),e,dt(t.varsDeps,n),"vars."+n)}}function se(t,o){const s=t.__ref;xs(t,"vars",T(t,t.varsDeps,o),n=>Yt(n),n=>{s.__varsInline=n?new Set(Object.keys(n)):null})}function go(t,o){if(typeof t[o]=="function"&&(nt(t.tag||"div",o)||o.charCodeAt(0)===45))return!0;if(!Dt(o))return!1;const s=t.vars;if(typeof s=="function"){const n=t.__ref&&t.__ref.__varsInline;return!!(n&&n.has(o))}if(!m(s))return!1;for(const n of Object.keys(s))if(typeof s[n]=="function"&&zt(n)===o)return!0;return!1}function ne(t){let o=null;for(const s in t)t[s]!=null&&s.charAt(0)!=="&"&&(o||(o=new Set),o.add(q(s)));return o}function ee(t,o,s,n){const e=t.__ref;if(!e)return;let c=null;if(s)for(const a of s){if(n&&n.has(a))continue;const r=o[a];if(r==null||typeof r=="object")continue;const i=q(a);Bt[i]&&(c||(c={}),c[i]=r)}e.__declaredLonghands=c}function ws(t,o){const s=t.__ref,n=s&&s.__declaredLonghands;if(!n||!o)return null;let e=null;for(const c in n){if(o.has(c))continue;const a=Bt[c];let r=!1;for(let i=0;i<a.length;i++)if(o.has(a[i])){r=!0;break}r&&(e||(e={}),e[c]=n[c])}return e}function Ss(t,o){const s=t.node;J(s,o);const n=ne(o);if(!n)return o;const e=t.__ref;if(e)if(e.__inlineCssKeys)for(const a of n)e.__inlineCssKeys.add(a);else e.__inlineCssKeys=new Set(n);const c=ws(t,n);return c?(J(s,c),Object.assign({},o,c)):o}function re(t){const o=t.__ref;if(!o||!o.__inlineCssKeys||!o.__declaredLonghands)return;const s=ws(t,o.__inlineCssKeys);s&&J(t.node,s)}function qt(t,o){return!o||typeof o!="object"?o:Z(t,()=>{try{return _n(o,t)}catch{return o}})}function J(t,o){if(!t||!o||!t.style)return;let s=null;for(const n in o){const e=o[n];if(e!=null){if(n.charAt(0)==="&"&&typeof e=="object"){s||(s={}),s[n]=e;continue}try{const c=String(e),a=Bo(n),r=c.trim(),i=/\s*!important\s*$/.test(r),f=r.replace(/\s*!important\s*$/,"");t.style.setProperty(a,f,i?"important":"")}catch{}}}s&&ie(t,s)}function ie(t,o){const s=`_ds${Vo.scopedStyleId++}`;t.classList.add(s);const n=t.ownerDocument;let e=n.querySelector("style[data-smbls-scoped]");e||(e=n.createElement("style"),e.setAttribute("data-smbls-scoped",""),n.head.appendChild(e));let c="";for(const a in o){const r="."+s,i=a.replace(/&/g,r).split(",").map(d=>{const u=d.trim();return u.includes(r)?u:r+u}).join(", "),f=o[a];if(typeof f=="object"){let d="",u="";for(const l in f){const _=f[l];if(typeof _=="object"){const g=l.includes("&")?i.split(", ").map(p=>l.replace(/&/g,p)).join(", "):i.split(", ").map(p=>`${p} ${l}`).join(", ");let y="";for(const p in _)y+=`${q(p)}: ${_[p]};`;u+=$o(`${g} { ${y} }`,g)+`
|
|
5
|
-
`}else d+=`${q(l)}: ${_};`}d&&(c+=$o(`${i} { ${d} }`,i)+`
|
|
6
|
-
`),u&&(c+=u)}}c&&(e.textContent+=c)}const Cs=new Set;function ks(t){if(!Array.isArray(t))return"";const o=[];for(let s=0;s<t.length;s++)typeof t[s]=="string"&&t[s].length&&o.push(t[s]);return o.sort(),o.join("|")}function ce(t,o,s){const n=ks(s);queueMicrotask(()=>{if(!t.__ref)return;let e;try{e=o(t,t.state,t.context)}catch{return}if(ks(e)===n)return;const c=t.__ref.path?t.__ref.path.join("."):t.key||"?";Cs.has(c)||(Cs.add(c),console.warn(`[smbls] subscribeTo function at "${c}" 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 fe(t){const o=t.subscribeTo,s=typeof o=="function";let n=o;if(s)try{n=o(t,t.state,t.context)}catch{n=null}if(s&&st()&&ce(t,o,Array.isArray(n)?n:[]),!Array.isArray(n)||n.length===0)return;const e=t.__ref;for(let c=0;c<n.length;c++){const a=n[c];if(typeof a!="string"||a.length===0)continue;const r=a.split("."),i=r[0],f=r.slice(1),d={value:!1},u=j(()=>{const l=t.state&&(G(t.state)?t.state.root:null);if(!l||!G(l))return;let _=l;_=_[i];for(let y=0;y<f.length&&!(_==null||typeof _!="object");y++)if(G(_))_=_[f[y]];else break;if(!d.value)return;let g=!1;if(typeof t.onBeforeUpdate=="function"&&Z(t,()=>{try{if(Fe(e)){const y=t.onBeforeUpdate(t,t.state,t.context,{updateBySubscription:!0});y&&typeof y.then=="function"?y.then(()=>Qt(e,!1),p=>{Qt(e,!0),bt("error",t,{hook:"onBeforeUpdate",error:p})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",p)}):(Qt(e,!1),y===!1&&(g=!0))}}catch(y){Qt(e,!0),bt("error",t,{hook:"onBeforeUpdate",error:y})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",y)}}),!g&&t.node&&e.__effects)for(let y=0;y<e.__effects.length;y++){const p=e.__effects[y];p&&p!==u&&!p._disposed&&!p._isSubscribeToEffect&&typeof p._execute=="function"&&p._execute()}!g&&typeof t.onUpdate=="function"&&Z(t,()=>{try{t.onUpdate(t,t.state,t.context)}catch(y){bt("error",t,{hook:"onUpdate",error:y})||console.error("[DOMQL] subscribeTo onUpdate error:",y)}})},{depth:e.path.length,label:v(e,"subscribeTo("+a+")")});d.value=!0,u._isSubscribeToEffect=!0,e.__effects.push(u)}}function bo(t,o){return t.charCodeAt(0)===64&&t.length>1&&!t.startsWith("@media")&&!t.startsWith("@keyframes")&&!t.startsWith("@supports")&&!t.startsWith("@container")&&(t==="@dark"||t==="@light"||!o.context?.designSystem?.media?.[t.slice(1)])}function Ao(t,o){if(t.charCodeAt(0)!==64||/^@(media|supports|container|keyframes)\b/.test(t))return t;const s=o.context?.designSystem?.media?.[t.slice(1)];return s?/^@(media|supports|container)\b/.test(s)?s:`@media ${s}`:t}const vs=new Set;function ae(t,o){const s=o?.__ref?.path?o.__ref.path.join("."):o?.key||"?",n=s+"::"+t;vs.has(n)||(vs.add(n),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.`))}const js=new Map;function ue(t){let o=js.get(t);if(o)return o;o=[];const s=n=>{if(n)for(const e of n)o.push(Ho(e))};return s(Bt[t]),s(xn[t]),js.set(t,o),o}function Es(t,o,s){if(go(t,o)||s&&s.has(o))return!0;const n=ue(q(o));for(let e=0;e<n.length;e++){const c=n[e];if(go(t,c)||s&&s.has(c))return!0}return!1}function ht(t,o,s,n){const e={},c=new Set,a=(r,i,f)=>{const d=f?new Set(Object.keys(e)):null;if($[r]){const u=$[r](i,o,o.state,o.context);if(u){const l=Array.isArray(u)?u:[u];for(const _ of l)_&&Object.assign(e,_)}}else e[r]=i;if(f)for(const u in e)d.has(u)||c.add(u)};for(const r in t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;let i=t[r];if(typeof i=="function"&&(i=i(o,o.state,o.context)),!(i==null||typeof i=="function")){if(typeof i=="object"&&!Array.isArray(i)){if(r==="style"){for(const u in i){let l=i[u];typeof l=="function"&&(l=l(o,o.state,o.context)),!(l==null||typeof l=="function")&&a(u,l,Es(o,u,n))}continue}if(r==="vars"){const u=Yt(i,o);if(u)for(const l in u)a(l,u[l],go(o,l)||!!(n&&n.has(l)));continue}if(bo(r,o)){const u=ht(i,o,!1,n);Object.keys(u).length&&(e[`[data-theme="${r.slice(1)}"] &`]=u);continue}if(/^[A-Z][A-Za-z0-9]*$/.test(r)){st()&&ae(r,o);continue}const f=Ao(r,o),d=ht(i,o,!1,n);Object.keys(d).length&&(e[f]=d);continue}a(r,i,Es(o,r,n))}}if(s)for(const r in e)c.add(r);for(const r of c){const i=e[r];typeof i=="string"&&!i.includes("!important")&&(e[r]=i+" !important")}return e}const m=t=>!!t&&typeof t=="object"&&!Array.isArray(t);function Ps(t,o){for(const s in o){const n=o[s];t[s]=m(n)?Ps(m(t[s])?t[s]:{},n):n}return t}function de(t,o){if(!m(o))return;let s;for(const n of t.split(" ")){const e=n?o[n]:null;m(e)&&(s=Ps(s||{},e))}return s}function xo(t,o){if(o===void 0&&(o=0),o>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)&&xo(t[s],o+1))return!0}return!1}function Os(t,o,s){if(!o||typeof o!="object"||Array.isArray(o))return null;if(bo(t,s)){const c=ht(o,s,!1);return Object.keys(c).length?{cssProp:`[data-theme="${t.slice(1)}"] &`,block:c}:null}const n=Ao(t,s),e=ht(o,s,!1);return Object.keys(e).length?{cssProp:n,block:e}:null}function le(t){const o=t.__ref;for(const s of Object.keys(t)){if(!co(s))continue;const n=t[s];if(!n||typeof n!="object"||Array.isArray(n)||!xo(n))continue;let e=null,c;const a=j(()=>{if(!t.node)return;const r=t.context?.designSystem;r&&W(r);let i,f=!1;try{const d=Os(s,n,t),u=d?pt(d.block)+"::"+d.cssProp:null;if(u!==null&&u===c)f=!0;else if(c=u,d){const l=At({[d.cssProp]:d.block},null,t.context?.cssPrefix);i=l?l.split(" ").filter(Boolean):null}else i=null}finally{r&&z()}if(!(f||!t.node.classList)){if(e)for(const d of e)t.node.classList.remove(d);if(i&&i.length)for(const d of i)t.node.classList.add(d);e=i}},{depth:o.path.length,label:v(o,"cssBlock("+s+")")});o.__effects.push(a)}}const pe=()=>!0,he=(t,o)=>{const s=t.charAt(0);return(s===":"||s==="@"||s==="&"||s==="[")&&o&&typeof o=="object"&&!Array.isArray(o)?!0:!!$[t]||!!(H&&H.has(t))||Dt(t)||t==="vars"};function ye(t,o,s){const n={};let e=!1;for(const r in s)Object.prototype.hasOwnProperty.call(s,r)&&(r!=="data"&&r!=="aria"&&(he(r,s[r])||B.has(r))?n[r]=!0:e=!0);if(!e)return null;const c=bn({[o]:s},t.tag||"div",n,pe);let a=null;for(const r in c)/^on/i.test(r)||(a||(a={}),a[r]=c[r]);return a}function Ts(t,o,s,n,e,c){const a=t.node;let r=null;const i=f=>{(r||(r=[])).push(f)};for(const f in n){const d=o.owners.get(f),u=d===s;if(!c&&d!==void 0&&!u)continue;let l;try{l=n[f](t)}catch(g){R(t.__ref,"conditional("+s+")."+f,g),u&&i(f);continue}if(typeof l=="string"&&l.includes("{{")&&(l=F.call(t,l,t.state)),u&&a.getAttribute(f)!==o.written.get(f)){i(f);continue}if(l==null||typeof l=="object"||typeof l=="function"){u&&Ds(a,o,f);continue}const _=l===!1&&!It(f)?null:String(Q(f,l));i(f),!(u&&_===o.written.get(f))&&(d===void 0&&o.base.set(f,a.getAttribute(f)),Wt(a,f,_),o.owners.set(f,s),o.written.set(f,_))}e.appliedAttrs=r}function Ds(t,o,s){t.getAttribute(s)===o.written.get(s)&&Wt(t,s,o.base.get(s)),o.owners.delete(s),o.base.delete(s),o.written.delete(s)}function _e(t,o,s,n){const e=n.appliedAttrs;if(n.appliedAttrs=null,!!e)for(const c of e)o.owners.get(c)===s&&Ds(t.node,o,c)}function Ls(t){const o=t.__ref&&t.__ref.__conditionalAttrs,s=t.node;if(!(!o||!o.owners.size||!s||!s.getAttribute))for(const n of o.owners.keys()){const e=o.written.get(n),c=s.getAttribute(n);c!==e&&(o.base.set(n,c),e==null?s.removeAttribute(n):s.setAttribute(n,e))}}function ge(t){const o=t.__ref;o.__conditionalRunners=[];let s=null;const n=new Map;for(const e of Object.keys(t)){const c=e.charAt(0);if(c!=="."&&c!=="!")continue;const a=e.slice(1);if(!a)continue;if(/[:@\s>~+[\]]/.test(a)){if(typeof console<"u"&&console.warn){const p=a.split(/[:@\s>~+[\]]/)[0];console.warn(`[smbls] conditional \`${e}\` on ${t.key||"?"} will never match \u2014 the whole string after \`${c}\` is read as one prop name. Nest the selector inside instead: \`${c}${p}: { '${a.slice(p.length)}': {...} }\`.`)}continue}const r=t[e];if(!r||typeof r!="object")continue;const i=c==="!",f={lastMatch:!1,appliedKeys:null,appliedClasses:null,appliedAttrs:null},d=ye(t,e,r);d&&!s&&(s=o.__conditionalAttrs={owners:new Map,base:new Map,written:new Map});const u=new Set;for(const p in r){if(!Object.prototype.hasOwnProperty.call(r,p))continue;const A=p.charAt(0),w=r[p];if(!((A===":"||A==="@"||A==="&"||A==="[")&&w&&typeof w=="object"&&!Array.isArray(w))){if(p==="vars"&&m(w)){for(const h of Object.keys(w))h&&u.add(zt(h));continue}u.add(p)}}const l=()=>{let p;const A=t[a];if(A===void 0){const b=!!t.state&&a in t.state,x=t.state?t.state[a]:void 0;if(b||x!==void 0)p=x;else{const S=t.context?.cases?.[a];if(S===void 0)return;try{p=typeof S=="function"?S.call(t,t):S}catch(k){p=!1,o.__conditionalError=k,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${e}\` case fn threw on ${t.key||"?"} \u2014 treating as false:`,k?.message||k)}}}else if(typeof A=="function")try{p=A(t,t.state,t.context)}catch(b){p=!1,o.__conditionalError=b,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${e}\` predicate threw on ${t.key||"?"} \u2014 treating as false:`,b?.message||b)}else p=A;const w=i?!p:!!p;if(!t.node)return;const h=t.context?.designSystem;if(w===f.lastMatch){if(w&&d&&t.node.setAttribute){h&&W(h);try{Ts(t,s,e,d,f,!1)}finally{h&&z()}}return}f.lastMatch=w,h&&W(h);try{if(w){const b={},x={};let S=!1;for(const C in r){if(!Object.prototype.hasOwnProperty.call(r,C))continue;const L=r[C],tt=C.charAt(0);if((tt===":"||tt==="@"||tt==="&"||tt==="[")&&L&&typeof L=="object"&&!Array.isArray(L)){if(bo(C,t)){const P=ht(L,t,!1,u);Object.keys(P).length&&(x[`[data-theme="${C.slice(1)}"] &`]=P,S=!0)}else{const P=Ao(C,t),M=ht(L,t,!1,u);Object.keys(M).length&&(x[P]=M,S=!0)}continue}const ot=typeof L=="function"?L(t,t.state,t.context):L;if(ot!=null){if($[C]){const P=$[C](ot,t,t.state,t.context);if(P){const M=Array.isArray(P)?P:[P];for(const yt of M)yt&&Object.assign(b,yt)}}else if(H&&H.has(C))b[C]=ot;else if(Dt(C))b[C]=ot;else if(C==="vars"){const P=Yt(ot,t);P&&Object.assign(b,P)}}}const k=Object.keys(b);if(k.length){J(t.node,b);for(const C of k)n.set(C,e);f.appliedKeys=k}else f.appliedKeys=null;if(S){const C=At(x,null,t.context?.cssPrefix,{state:!0}),L=C?C.split(" ").filter(Boolean):[];if(L.length&&t.node.classList){for(const tt of L)t.node.classList.add(tt);f.appliedClasses=L}else f.appliedClasses=null}else if(f.appliedClasses){for(const C of f.appliedClasses)t.node.classList.remove(C);f.appliedClasses=null}d&&t.node.setAttribute&&Ts(t,s,e,d,f,!0)}else{if(f.appliedAttrs&&_e(t,s,e,f),f.appliedKeys){for(const b of f.appliedKeys)n.get(b)===e&&(Dt(b)?t.node.style.removeProperty(b):t.node.style[b]="",n.delete(b));f.appliedKeys=null}if(f.appliedClasses){for(const b of f.appliedClasses)t.node.classList.remove(b);f.appliedClasses=null}}}finally{h&&z()}};o.__conditionalRunners.push(l);const _=T(t,t[a+"Deps"],l),g=j(_,{depth:o.path.length,label:v(o,"conditional("+e+")")}),y=o.__exec&&o.__exec[a]||t[a];g._sources.size===0&&typeof y=="function"&&st()&&In(y)&&console.warn(`[smbls] conditional \`${e}\` 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 \`${a}Deps: [...]\` (state-key strings or \`(el, s) => \u2026\` selectors) so the subscription is armed unconditionally.`),o.__effects.push(g)}}const wo=new WeakSet,So=new WeakMap;function be(t){const o=So.get(t);if(o==="painted")return!1;if(o===void 0){So.set(t,"open");const s=t.defaultView,n=()=>{So.set(t,"painted")};s&&typeof s.requestAnimationFrame=="function"?s.requestAnimationFrame(n):setTimeout(n,0)}return!0}function Ae(t){const o=t.ownerDocument;!o||wo.has(o)||be(o)||(wo.add(o),queueMicrotask(()=>{wo.delete(o);const s=o.body||o.documentElement;s&&s.offsetWidth}))}const Co=new WeakSet;let Rs=!1;function Ms(t){return t.startsWith("[data-theme=")||t.startsWith("@media")&&t.includes("prefers-color-scheme")}function ko(t,o){const s={...t};for(const n in o){const e=o[n],c=s[n];s[n]=e&&typeof e=="object"&&c&&typeof c=="object"?ko(c,e):e}return s}function Ns(t,o){const s={};for(const n in t){const e=t[n];if(e&&typeof e=="object"){const c=Ns(e,o);Object.keys(c).length&&(s[n]=c)}else o.has(n)||(s[n]=e)}return s}function xe(t,o,s){let n=1/0,e=-1/0;for(const a of o.values())a<n&&(n=a),a>e&&(e=a);if(s)for(const a of s.values())a>e&&(e=a);if(e<=n)return null;let c=null;for(const[a,r]of o){if(r===e)continue;const i=we(a);if(i)for(let f=0;f<i.length;f+=3){const d=i[f],u=i[f+1],l=i[f+2],_=t[u]!=null?o.get(u):void 0,g=s&&s.get(d),y=_!==void 0&&_>r&&Io(d,t[u],l),p=!y&&g!==void 0&&g>r&&Io(d,void 0,l);if(y||p){y&&delete t[a],c||(c=new Set),c.add(a);break}}}return c}const Fs=new Map;function we(t){let o=Fs.get(t);if(o!==void 0)return o;const s=q(t),n=Bt[s];if(o=null,Array.isArray(n)){o=[];for(const e of n)o.push(e,Ho(e),s)}return Fs.set(t,o),o}function $s(t){const{node:o}=t;if(!o)return;if(Rs||(Rs=!0,At({display:"none"})),Co.has(t)){console.error("[applyCssInProps] re-entry detected for element",t.key,"prop path:",t.__ref?.path);return}Co.add(t);const s=t.context?.designSystem;s&&W(s),No();try{const n={};let e=!1,c=[],a=null,r=null,i=null;const f=t.__ref&&t.__ref.__mergeLayer;let d,u=null,l=null;const _=(h,b)=>{if(b&&typeof b=="object"&&Ms(h)){r||(r={});const x=r[h];x&&(b=ko(x,b)),r[h]=b}else(b===null||typeof b!="object")&&(i||(i=new Set),i.add(h),d!==void 0&&(u||(u=new Map),u.set(h,d)));n[h]=b};if(Object.prototype.hasOwnProperty.call(t,"theme")&&typeof t.theme!="function"&&$.theme){const h=$.theme(t.theme,t,t.state,t.context);if(h){const b=x=>{for(const S in x){const k=x[S];k&&typeof k=="object"&&Ms(S)&&(a||(a={}),a[S]=k),n[S]=k}};if(Array.isArray(h))for(const x of h)x&&b(x);else b(h);e=!0}}const g=(h,b)=>{if(h==="vars"){const x=Yt(b);if(x){for(const S in x)_(S,x[S]);e=!0}return}if($[h]){const x=$[h](b,t,t.state,t.context);if(x){if(Array.isArray(x)){for(const S of x)if(S)for(const k in S)_(k,S[k])}else for(const S in x)_(S,x[S]);e=!0}}else if(H&&H.has(h))b!=null&&typeof b!="object"&&(_(h,b),e=!0);else if(h.charCodeAt(0)===45)b!=null&&typeof b!="object"&&(_(h,b),e=!0);else if((h.charAt(0)==="&"||h.charAt(0)==="@"||h.charAt(0)===":"||h.charAt(0)==="[")&&b&&typeof b=="object"&&!Array.isArray(b)){if(xo(b))return;const x=Os(h,b,t);x&&(_(x.cssProp,x.block),e=!0)}};if(typeof t.class=="string"){const h=de(t.class,t.context?.designSystem?.class);if(h)for(const b in h)g(b,h[b])}const y=i?new Set(i):null,p=t.tag||"div";for(const h of Object.keys(t)){if(typeof t[h]=="function"){const x=f&&f.get(h);x!==void 0&&nt(p,h)&&(l||(l=new Map),l.set(q(h),x));continue}if(d=f?f.get(h):void 0,h==="vars"){g(h,t[h]);continue}if(B.has(h)||h==="theme")continue;const b=h.charCodeAt(0);b>=65&&b<=90||Y(h)||Uo(p,h)||g(h,t[h])}d=void 0;const A=u?xe(n,u,l):null;if(a)for(const h in a){let b=i?Ns(a[h],i):a[h];r&&r[h]&&(b=ko(b,r[h])),Object.keys(b).length?n[h]=b:delete n[h]}if(ee(t,n,i,A?new Set([...y||[],...A]):y),e){n.display&&String(n.display).includes("!important")&&(o.style.setProperty("display",String(n.display).replace(/\s*!important\s*$/,""),"important"),delete n.display);const h=t.display!=null&&typeof t.display!="function"?t.display:t.hide===!0||t.show===!1?"none":null;typeof h=="string"&&h!==""&&n.display&&n.display!==h&&(n.display=h);const b=At(n,null,t.context?.cssPrefix);if(c=b?b.split(" ").filter(Boolean):[],b&&o.classList){const x=c;let S=!1;for(const k of x)o.classList.add(k),S||(k.charCodeAt(0)===95&&k.charCodeAt(1)===99||k.charCodeAt(0)===95&&k.indexOf("_c",1)!==-1)&&(S=!0);S&&Ae(o)}}const w=t.__ref;if(w){const h=w.__staticCssClasses;if(h&&o.classList){const b=new Set(c);for(const x of h)b.has(x)||o.classList.remove(x)}w.__staticCssClasses=c}re(t)}finally{Fo(),s&&z(),Co.delete(t)}}const ur=t=>!!$[t]||!!(H&&H.has(t))||typeof t=="string"&&t.charCodeAt(0)===45;function dr(t){t&&t.node&&$s(t)}function Se(t){const{node:o}=t;if(!o||!o.setAttribute)return;if(t.aria&&typeof t.aria=="object")for(const e in t.aria){const c=t.aria[e];if(typeof c=="function"||typeof c=="object"||c==null||typeof c=="string"&&c.includes("{{"))continue;const a="aria-"+e.replace(/[A-Z]/g,r=>"-"+r.toLowerCase());o.setAttribute(a,Q(a,c))}const s=gn(t);for(const e in s){const c=s[e];c!=null&&c!==!1&&typeof c!="function"&&typeof c!="object"&&o.setAttribute(e,c===!0?"":c)}const n=t.tag||"div";for(const e of Object.keys(t)){if(typeof t[e]=="function"||B.has(e)||e==="on"||s[e]!==void 0)continue;const c=e.charCodeAt(0);if(!(c>=65&&c<=90)&&!Y(e)&&!nt(n,e)&&xt(n,e)){let a=t[e];if(a==null)continue;if(typeof a=="string"&&a.includes("{{")){if(!no[e])continue;a=F.call(t,a,t.state)}if(a==null||typeof a=="function"||typeof a=="object"||a===!1&&!It(wt(e)||e))continue;const r=wt(e)||e;o.setAttribute(r,Q(r,a))}}}function lr(t,o){const{node:s}=t;if(!s||!s.setAttribute)return;const n=o.charCodeAt(0);if(n>=65&&n<=90||Y(o))return;const e=t.tag||"div";if(nt(e,o)||!xt(e,o))return;const c=wt(o)||o,a=c.toLowerCase(),r=t.__ref&&t.__ref.__effects;let i=!1;if(r)for(let u=0;u<r.length;u++){const l=r[u];l&&l._attrName===a&&!l._disposed&&typeof l._execute=="function"&&(i=!0,l._execute())}if(i)return;let f=t[o];const d=no[o];if(d&&f!=null){const u=d(t);u!==void 0&&(f=u)}typeof f=="string"&&f.includes("{{")&&(f=F.call(t,f,t.state)),Kt(s,c,f)}function Ce(t,o){const s=t.node,n=t.__ref;let e=n.__autoGrow;if(!o){if(e&&e.active){try{s.removeEventListener("input",e.resize)}catch{}Bs(e),et.delete(t),s.style.height="",e.appliedMax!=null&&s.style.maxHeight===e.appliedMax&&(s.style.maxHeight=""),Vs(s,e,!1),e.active=!1,e.appliedMax=null,e.lastMeasure=0}return}e||(e=n.__autoGrow={active:!1,appliedMax:null,lastMeasure:0,lastWidth:null,watch:null,awaitingLayout:!1,appliedScroll:!1,fontsHooked:!1,attachAttempts:0,firstAttemptAt:null,resize:()=>{if(!s.isConnected){Lt(t,!0);return}if(!(s.scrollHeight>0)){e.awaitingLayout=!0,Is(t,e);return}e.awaitingLayout=!1;const a=je(s),r=Ee(a),i=s.style.height;s.style.height="0px",r&&jo(s);const f=s.scrollHeight;if(!(f>0)){s.style.height=i,r&&jo(s);return}const d=Pe(s,a),u=d!=null&&f<d?d:f,l=De(a),_=l!=null&&u>l;s.style.height=Te(_?l:u,a)+"px",r&&jo(s),Vs(s,e,_),e.lastMeasure=f,e.lastWidth=s.clientWidth,Is(t,e)}},n.__eventCleanup||(n.__eventCleanup=[]),n.__eventCleanup.push(()=>{try{s.removeEventListener("input",e.resize)}catch{}Bs(e),et.delete(t)})),e.active||(s.addEventListener("input",e.resize),e.active=!0,ve(t,e));const c=typeof o=="object"&&o.max!=null?String(o.max):null;c!==e.appliedMax&&(c==null?e.appliedMax!=null&&s.style.maxHeight===e.appliedMax&&(s.style.maxHeight=""):s.style.maxHeight=c,e.appliedMax=c),e.resize()}function Lt(t,o){const s=t.__ref?.__autoGrow;s&&(o&&(s.attachAttempts=0,s.firstAttemptAt=null),et.add(t),Ht())}function ke(){const t=Array.from(et);et.clear();for(let o=0;o<t.length;o++){const s=t[o],n=s.node,e=s.__ref?.__autoGrow;if(!(!n||!e||!e.active)){if(!n.isConnected){e.firstAttemptAt==null&&(e.firstAttemptAt=ut()),e.attachAttempts+=1,e.attachAttempts<=Wo&&ut()-e.firstAttemptAt<zo&&(et.add(s),Ht());continue}e.attachAttempts=0,e.firstAttemptAt=null,e.resize()}}}function Is(t,o){if(o.watch)return;const s=t.node;if(!s)return;const n=s.ownerDocument&&s.ownerDocument.defaultView,e=n&&n.ResizeObserver||(typeof ResizeObserver=="function"?ResizeObserver:null);if(typeof e!="function")return;const c=()=>{if(!o.active||!s.isConnected||!(s.scrollHeight>0))return;if(o.awaitingLayout){o.awaitingLayout=!1,Lt(t,!0);return}const r=s.clientWidth;o.lastWidth!=null&&Math.abs(r-o.lastWidth)<.5||(o.lastWidth=r,Lt(t,!0))};let a;try{a=new e(c),a.observe(s)}catch{return}o.watch=a}function Bs(t){const o=t.watch;if(o){t.watch=null;try{o.disconnect()}catch{}}}function ve(t,o){if(o.fontsHooked)return;o.fontsHooked=!0;const s=t.node&&t.node.ownerDocument,n=s&&s.fonts&&s.fonts.ready;!n||typeof n.then!="function"||n.then(()=>{o.active&&t.node&&Lt(t,!0)},()=>{})}function je(t){const o=t.ownerDocument&&t.ownerDocument.defaultView;try{return o&&o.getComputedStyle?o.getComputedStyle(t):null}catch{return null}}const rt=t=>typeof t=="string"&&/^\s*-?\d*\.?\d+px\s*$/.test(t)?parseFloat(t):null,vo=t=>(rt(t.paddingTop)||0)+(rt(t.paddingBottom)||0),Hs=t=>(rt(t.borderTopWidth)||0)+(rt(t.borderBottomWidth)||0);function Ee(t){if(!t)return!1;const o=String(t.transitionProperty||"").split(","),s=String(t.transitionDuration||"0s").split(",");for(let n=0;n<o.length;n++){const e=o[n].trim();if(!(e!=="all"&&e!=="height")&&parseFloat(s[n%s.length])>0)return!0}return!1}function jo(t){if(typeof t.getAnimations!="function")return;let o;try{o=t.getAnimations()}catch{return}for(let s=0;s<o.length;s++){const n=o[s];if(n&&n.transitionProperty==="height")try{n.cancel()}catch{}}}function Pe(t,o){if(!o||!t.hasAttribute||!t.hasAttribute("rows"))return null;const s=parseInt(t.getAttribute("rows"),10);if(!(s>0))return null;const n=rt(o.lineHeight)||Oe(t,o);return n>0?s*n+vo(o):null}const Rt=["fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontFamily","lineHeight","letterSpacing"],Us=new WeakMap;function Oe(t,o){const s=t.ownerDocument,n=s&&(s.body||s.documentElement);if(!n||!s.createElement)return null;let e=Us.get(s);e||(e=new Map,Us.set(s,e));const c=Rt.map(f=>o[f]||"").join("|");if(e.has(c))return e.get(c);const a=s.createElement("textarea");a.rows=1,a.setAttribute("aria-hidden","true"),a.tabIndex=-1;const r=a.style;r.position="absolute",r.visibility="hidden",r.top="0",r.left="-9999px",r.height="auto",r.minHeight="0",r.maxHeight="none",r.padding="0",r.border="0",r.boxSizing="content-box",r.overflow="hidden";for(let f=0;f<Rt.length;f++)o[Rt[f]]&&(r[Rt[f]]=o[Rt[f]]);let i=0;try{n.appendChild(a),i=a.clientHeight}catch{i=0}finally{a.parentNode&&a.parentNode.removeChild(a)}return i>0?(e.set(c,i),i):null}function Te(t,o){return o?o.boxSizing==="border-box"?t+Hs(o):o.boxSizing==="content-box"?Math.max(0,t-vo(o)):t:t}function De(t){if(!t)return null;const o=rt(t.maxHeight);if(o==null||!(o>0))return null;const s=vo(t),n=Hs(t),e=t.boxSizing==="border-box"?o-n:o+s,c=rt(t.lineHeight);if(!(c>0))return e;const a=Math.floor((e-s)/c+1e-6);return a>=1?a*c+s:e}function Vs(t,o,s){s?o.appliedScroll||(t.style.overflowY="auto",o.appliedScroll=!0):o.appliedScroll&&(t.style.overflowY==="auto"&&(t.style.overflowY=""),o.appliedScroll=!1)}const Gs=["srcObject","muted"],Le=(t,o)=>t==="muted"?o===!0||o===""||o==="true"||o==="muted":o??null;function Re(t){const o=t.node,s=t.__ref;if(!(!o||!s))for(let n=0;n<Gs.length;n++){const e=Gs[n],c=t[e];if(c===void 0||!(e in o))continue;const a=r=>{const i=Le(e,r);if(o[e]!==i)try{o[e]=i}catch(f){R(s,e,f)}};if(typeof c=="function"){const r=T(t,t[e+"Deps"],c),i=j(()=>{try{a(r(t,t.state,t.context))}catch(f){R(s,e,f)}},{depth:s.path.length,label:v(s,e)});s.__effects.push(i),s.__exec[e]=c}else a(c);e==="srcObject"&&(s.__releaseMedia=()=>{try{o.srcObject!=null&&(o.srcObject=null)}catch{}})}}function Me(t){if(!t.autoGrow)return;const o=t.node;if(!o||o.tagName!=="TEXTAREA")return;const s=t.__ref,n=t.autoGrow,e=typeof n=="function"?T(t,t.autoGrowDeps,n):null,c=j(()=>{const a=t.autoGrow;let r=a;if(typeof a=="function")try{r=(a===n&&e?e:a)(t,t.state,t.context)}catch{r=null}Ce(t,r)},{depth:s.path.length,label:v(s,"autoGrow")});s.__effects||(s.__effects=[]),s.__effects.push(c),e&&(s.__exec.autoGrow=n)}const Ks=new Set(["onSwipe","onSwipeLeft","onSwipeRight","onSwipeUp","onSwipeDown"]);function Ws(t,o){for(const s of Object.keys(t)){if(!Y(s)||Ks.has(s))continue;const n=rn(s);if(n){en(n,t,t[s]);continue}let e=t[s],c=null;if(e&&typeof e=="object"&&!Array.isArray(e)&&(c=e,e=c.handler),typeof e=="string"&&/^[A-Za-z_$][\w$]*$/.test(e)){const r=e;e=function(f){return t.call(r,f)}}if(typeof e!="function")continue;const a=jn(s);sn.has(a)||nn(En(a),t,e,c)}Ne(t)}function Ne(t){const o=t.node;if(!o||!o.addEventListener)return;const s={};let n=!1;for(const l of Ks){const _=t[l];typeof _=="function"&&(s[l]=_,n=!0)}if(!n)return;const e=typeof t.swipeThreshold=="number"?t.swipeThreshold:40,c=typeof t.swipeMaxDuration=="number"?t.swipeMaxDuration:600;let a=0,r=0,i=0,f=!1;const d=l=>{const _=l.touches&&l.touches[0]||l.changedTouches&&l.changedTouches[0];_&&(a=_.clientX,r=_.clientY,i=Date.now(),f=!0)},u=l=>{if(!f)return;f=!1;const _=l.changedTouches&&l.changedTouches[0]||l.touches&&l.touches[0];if(!_)return;const g=_.clientX-a,y=_.clientY-r,p=Date.now()-i;if(p>c)return;const A=Math.abs(g),w=Math.abs(y);if(Math.max(A,w)<e)return;let h;if(A>w*1.2)h=g<0?"left":"right";else if(w>A*1.2)h=y<0?"up":"down";else return;const b="onSwipe"+h.charAt(0).toUpperCase()+h.slice(1),x=s[b],S=s.onSwipe;x&&x.call(t,l,t,t.state,t.context),S&&S.call(t,{direction:h,dx:g,dy:y,dt:p,event:l},t,t.state,t.context)};o.addEventListener("touchstart",d,{passive:!0}),o.addEventListener("touchend",u,{passive:!0}),t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{try{o.removeEventListener("touchstart",d)}catch{}try{o.removeEventListener("touchend",u)}catch{}})}function it(t,o){const s={...t};for(const n in o){const e=s[n],c=o[n];e&&c&&typeof e=="object"&&typeof c=="object"&&!Array.isArray(e)&&!Array.isArray(c)&&typeof e!="function"&&typeof c!="function"?s[n]=it(e,c):s[n]=c}return s}function Eo(t,o,s,n,e){if(!o||!t.node)return;const c=t.childExtends,a=lt(t,"childProps");if(Array.isArray(o)){const r=t.tag==="fragment",i=t.context?.document||globalThis.document,f=r?null:i?.createDocumentFragment();if(!r&&!f)return;const d=t.childProps,u=t.childrenAs,l=w=>{let h=o[w];const b=h;(typeof h=="string"||typeof h=="number")&&(h={text:h});let x=d;if(typeof d=="function")try{x=d(t,h)}catch{x=null}let S=typeof d=="function"?jt(x):a;if(e&&u!=="state"&&(S=Et(S,jt(b))),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=it(x,h));if(c&&!h.ignoreChildExtends)if(h.extends){const C=Array.isArray(h.extends)?h.extends:[h.extends],L=Array.isArray(c)?c:[c];h={...h,extends:[...L,...C]}}else h={...h,extends:c};const k=qo(h?.key,b,w,t);try{return X(Pt(h,S),t,k,s)}catch(C){if(typeof console<"u"&&console.error){const L=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${k}" failed to construct at ${L} (initial render, skipping this row):`,C?.message||C)}return null}},_=t.__ref;if(!(n===!0&&!r&&!!_&&(s?.mountYield===!0||t.yieldChildren===!0))){for(let w=0;w<o.length;w++){const h=l(w);!r&&h?.node&&f.appendChild(h.node)}return r||t.node.appendChild(f),!0}const y=_.__childrenChunkGen=(_.__childrenChunkGen||0)+1;Lo();let p=null;const A=w=>{if(_.__disposed||_.__childrenChunkGen!==y){p&&p.parentNode&&p.remove();return}for(let h=w;h<o.length;h++){const b=l(h);if(b?.node&&(p?t.node.insertBefore(b.node,p):f.appendChild(b.node)),h+1<o.length&&Do()){p||(p=i.createComment("smbls-mount"),f.appendChild(p),t.node.appendChild(f));const x=h+1;Mo(()=>A(x));return}}p?(p.remove(),t.node.tagName==="SELECT"&&Zt(t,!0)):t.node.appendChild(f)};return A(0),Ro(),!0}if(typeof o=="string"){const r=ts(o,t);if(Array.isArray(r))return Eo(t,r,s,n,!0)}if(typeof o=="object")for(const r in o){if(B.has(r))continue;let i=o[r];if(i==null||i===!1)continue;const f=e?Et(a,jt(i)):a;if((typeof i=="string"||typeof i=="number")&&(i={text:i}),t.childProps&&(i=it(t.childProps,i)),c&&!i.ignoreChildExtends)if(i.extends){const d=Array.isArray(i.extends)?i.extends:[i.extends],u=Array.isArray(c)?c:[c];i={...i,extends:[...u,...d]}}else i={...i,extends:c};X(Pt(i,f),t,Vt(t,r),s)}}function Zt(t,o){const s=t.node;if(!s||s.tagName!=="SELECT")return;const n=s.options;if(!n||!n.length)return;const e=t.__ref,c=e&&e.__exec&&e.__exec.value,a=typeof c=="function",r=t.value!=null&&typeof t.value!="function";if(a||r){let d;if(a)try{d=c(t,t.state,t.context)}catch{return}else d=t.value,typeof d=="string"&&d.includes("{{")&&(d=F.call(t,d,t.state));const u=d==null?"":String(d);s.value!==u&&(s.value=u);return}const i=o||!(e&&e.__selectSynced);if(e&&(e.__selectSynced=!0),!i)return;let f=-1;for(let d=0;d<n.length;d++)n[d].defaultSelected&&(f=d);f>=0&&s.selectedIndex!==f&&(s.selectedIndex=f)}function zs(t,o){let{children:s,content:n}=t;const e=t.childExtends,c=typeof s=="function"||fs(t,"children");if(typeof s=="function"){const g=s;try{s=g(t,t.state,t.context)}catch(h){if(s=void 0,typeof console<"u"&&console.error){const b=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${b} (initial run, treating as empty):`,h?.message||h)}}as(t,s),t.children=s;const y=t.__ref;let p=!1;const A=T(t,t.childrenDeps,g),w=j(()=>{const h=p;p=!0;let b;try{b=A(t,t.state,t.context)}catch(P){if(typeof console<"u"&&console.error){const M=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${M}${h?"":" (initial tracking run)"}:`,P?.message||P)}return}if(!h||b===t.children)return;as(t,b),t.children=b,y.__childrenChunkGen!=null&&y.__childrenChunkGen++;const x=typeof t.onContentUpdate=="function",S=x?[]:null,k=x?[]:null,C=x?[]:null;if(Array.isArray(b)&&t.childrenAs==="state"){const P=t.childProps,M=[],yt=new Map;for(let E=0;E<b.length;E++){const U=b[E];let O=P;if(typeof P=="function")try{O=P(t,U)}catch{O=null}const K=qo(O&&O.key,U,E,t);M.push(K),yt.set(K,{rawChild:U,childProps:O})}const qs=new Set(M),Zs=y.__children.slice();for(const E of Zs)if(!qs.has(E)){const U=t[E];U?.remove&&U.remove(),delete t[E],k&&k.push(E)}const _t=t.childExtends,Mt=t.tag==="fragment",Qs=t.context?.document||globalThis.document,gt=Mt?null:Qs?.createDocumentFragment(),Xt=new Set;for(const E of M){const U=yt.get(E),O=U.rawChild,K=t[E];if(K&&K.state){if(O&&typeof O=="object"){const N=K.state,ct=N.$replace||N.replace,Oo=N.$update||N.update;try{if(typeof ct=="function")ct.call(N,O);else if(typeof Oo=="function"){for(const I in N)if(!(I==="__element"||I==="root"||I==="parent"||I==="update")&&!Object.prototype.hasOwnProperty.call(O,I))try{N[I]=void 0}catch{}Oo.call(N,O)}else for(const I in O)N[I]=O[I]}catch(I){if(typeof console<"u"&&console.error){const Js=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${E}" failed to patch at ${Js} (reconcile, keeping its previous data for this pass):`,I?.message||I)}}}C&&C.push(E);continue}let Jt=O;(typeof O=="string"||typeof O=="number")&&(Jt={value:O,text:O});const mt=U.childProps;let V=mt?{...mt,state:Jt}:{state:Jt};const Xs=typeof P=="function"?jt(mt):lt(t,"childProps");if(_t&&!V.ignoreChildExtends)if(V.extends){const N=Array.isArray(V.extends)?V.extends:[V.extends],ct=Array.isArray(_t)?_t:[_t];V={...V,extends:[...ct,...N]}}else V={...V,extends:_t};let to;try{to=X(Pt(V,Xs),t,E,o)}catch(N){if(typeof console<"u"&&console.error){const ct=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${E}" failed to construct at ${ct} (reconcile, skipping this row):`,N?.message||N)}Xt.add(E);continue}!Mt&&to?.node&>&>.appendChild(to.node),S&&S.push(E)}if(!Mt&>&>.childNodes.length&&t.node&&t.node.appendChild(gt),!Mt&&t.node){let E=null;for(const U of M){const O=t[U]?.node;if(!O)continue;const K=E?E.nextSibling:t.node.firstChild;O!==K&&t.node.insertBefore(O,K),E=O}}y.__children=Xt.size?M.filter(E=>!Xt.has(E)):M,x&&(S.length||k.length)&&Yo(t,{added:S,removed:k,kept:C}),Zt(t,!1);return}const ot=x?[...y.__children]:null;for(const P of[...y.__children]){const M=t[P];M?.remove&&M.remove(),delete t[P]}y.__children=[],Eo(t,b,o,!1,!0),Zt(t,!1),x&&Yo(t,{added:[...y.__children],removed:ot,kept:[]})},{depth:y.path.length,label:v(y,"children")});y.__effects.push(w)}const a=Eo(t,s,o,!0,c);if(n!=null&&!(n&&n.__ref)){let g=n;if(typeof g=="string"||typeof g=="number"?g={text:g}:typeof g!="object"&&(g={}),t.childProps&&(g=it(t.childProps,g)),e&&!g.ignoreChildExtends)if(g.extends){const p=Array.isArray(g.extends)?g.extends:[g.extends],A=Array.isArray(e)?e:[e];g={...g,extends:[...A,...p]}}else g={...g,extends:e};const y=Et(lt(t,"childProps"),lt(t,"content"));X(Pt(g,y),t,"content",o)}if(s&&!a)return;const r=t.context?.components||{},i=t.__ref&&t.__ref.__runtimeSource,f=i?{}:null;{const g=Object.keys(t);for(let y=0;y<g.length;y++){const p=g[y];if(!p.endsWith("Extends")||typeof t[p]!="string")continue;const A=p.slice(0,-7);if(!A||A.charCodeAt(0)<65||A.charCodeAt(0)>90)continue;const w={extends:t[p]};delete t[p];for(let h=y+1;h<g.length;h++){const b=g[h],x=b.charCodeAt(0);if(x>=65&&x<=90||B.has(b)||typeof t[b]=="function"&&(b.startsWith("on")||b.startsWith(".")))break;const S=t[b];S!==void 0&&(w[b]=S,delete t[b],f&&vt(i,b)&&(f[A]||(f[A]={}),f[A][b]=i[b]))}t[A]&&typeof t[A]=="object"?t[A]={...w,...t[A]}:t[A]=w}}const d=o?.mountYield===!0||t.yieldChildren===!0,u=Object.keys(t),l=g=>{if(B.has(g)||typeof t[g]!="object"||t[g]===null)return;const y=g.charCodeAt(0);if(y<65||y>90)return;let p=t[g];if(p.__ref)return;if(!p.extends&&!p.extend){const w=r[g]||r[`smbls.${g}`];w&&(p={...p,extends:w})}if(t.childProps&&(p=it(t.childProps,p)),e&&!p.ignoreChildExtends)if(p.extends){const w=Array.isArray(p.extends)?p.extends:[p.extends],h=Array.isArray(e)?e:[e];p={...p,extends:[...h,...w]}}else p={...p,extends:e};const A=i?Et(lt(t,"childProps"),Et(f[g]||null,lt(t,g))):null;X(Pt(p,A),t,g,o)};if(!d){for(const g of u)l(g);return}Lo();const _=g=>{for(let y=g;y<u.length;y++)if(l(u[y]),y+1<u.length&&Do()){const p=y+1;Mo(()=>_(p));return}};_(0),Ro()}function Ys(t,o,s){const{node:n}=t;if(!n)return;n.ref=t;const e=o?.tag==="fragment"?o.__ref?.__fragmentAnchor:null;if(e){const a=e.parentNode;if(a){if(s?.position==="before"&&s.node)a.insertBefore(n,s.node);else if(s?.position==="after"&&s.node){const r=s.node.nextSibling;a.insertBefore(n,r||e)}else a.insertBefore(n,e);return}}const c=o?.node||(o?.nodeType?o:null);if(c)if(s?.position==="before"&&s.node)c.insertBefore(n,s.node);else if(s?.position==="after"&&s.node){const a=s.node.nextSibling;a?c.insertBefore(n,a):c.appendChild(n)}else c.appendChild(n)}const Po=3;function Fe(t){return!t||t.__inBeforeUpdate||(t.__beforeUpdateFailCount||0)>=Po?!1:(t.__inBeforeUpdate=!0,!0)}function Qt(t,o){t&&(t.__inBeforeUpdate=!1,o?(t.__beforeUpdateFailCount=(t.__beforeUpdateFailCount||0)+1,t.__beforeUpdateFailCount===Po&&typeof console<"u"&&console.error&&console.error(`[DOMQL] onBeforeUpdate failed ${Po}x in a row on this element \u2014 pausing automatic retries until a future prop/state change re-arms it.`)):t.__beforeUpdateFailCount=0)}function D(t,o,s){const n=t.charAt(0).toLowerCase()+t.slice(1);bt(n,o,s);const e="on"+t,c=o[e];if(typeof c=="function"){const i=t==="Render"?"__inRender":t==="RenderRouter"?"__inRenderRouter":null;if(i){if(o.__ref[i])return!0;o.__ref[i]=!0}const f=o.context?.designSystem;f&&W(f);let d=!!i;try{const u=c(o,o.state,o.context,s);if(u&&typeof u.then=="function"){const l=o.__ref;return u.catch(_=>{$t(o,e,_)}).finally(()=>{i&&l&&(l[i]=!1)}),d=!1,!0}if(u===!1)return!1}catch(u){if($t(o,e,u),o.context?.strictMode)throw u}finally{f&&z(),d&&o.__ref&&(o.__ref[i]=!1)}}return!0}var pr=X;export{Po as BEFORE_UPDATE_MAX_CONSECUTIVE_FAILURES,Fe as acquireBeforeUpdateGuard,X as create,pr as default,ro as flushMounts,ur as isStaticCssProp,dr as recompileStaticCss,lr as reconcileAttrProp,Qt as releaseBeforeUpdateGuard,qt as resolveStyleBlock,Kt as writeAttr,Gt as writeElementText};
|
|
1
|
+
import{installElementFeatures as e}from"./install.js";import{create as o,default as a,flushMounts as s,holdMountFlush as i,attachElement as c,writeElementText as u,writeAttr as E,resolveStyleBlock as m,isStaticCssProp as n,recompileStaticCss as p,reconcileAttrProp as d,BEFORE_UPDATE_MAX_CONSECUTIVE_FAILURES as f,acquireBeforeUpdateGuard as A,releaseBeforeUpdateGuard as S}from"./core.js";e();export{f as BEFORE_UPDATE_MAX_CONSECUTIVE_FAILURES,A as acquireBeforeUpdateGuard,c as attachElement,o as create,a as default,s as flushMounts,i as holdMountFlush,n as isStaticCssProp,p as recompileStaticCss,d as reconcileAttrProp,S as releaseBeforeUpdateGuard,m as resolveStyleBlock,E as writeAttr,u as writeElementText};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"@symbo.ls/css";if(!e.CSS_SHORTHAND_LONGHANDS||!e.CSS_LONGHAND_SHORTHANDS)throw new Error("@symbo.ls/element: the installed @symbo.ls/css does not export CSS_SHORTHAND_LONGHANDS / CSS_LONGHAND_SHORTHANDS (the CSS shorthand family table, packages/css/src/cssLonghands.js). This element needs the @symbo.ls/css published in the same release \u2014 update @symbo.ls/css.");const
|
|
1
|
+
import*as e from"@symbo.ls/css";if(!e.CSS_SHORTHAND_LONGHANDS||!e.CSS_LONGHAND_SHORTHANDS)throw new Error("@symbo.ls/element: the installed @symbo.ls/css does not export CSS_SHORTHAND_LONGHANDS / CSS_LONGHAND_SHORTHANDS (the CSS shorthand family table, packages/css/src/cssLonghands.js). This element needs the @symbo.ls/css published in the same release \u2014 update @symbo.ls/css.");const r=e.CSS_SHORTHAND_LONGHANDS,N=e.CSS_LONGHAND_SHORTHANDS,a=e.cssShorthandStatesLonghand||(()=>!1),c=e.cssShorthandStatesThemeLonghand||a,o=s=>s.charCodeAt(0)===45&&s.charCodeAt(1)===45,n=e.cssPropName||(s=>o(s)?s:s.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())),h=e.cssCamelName||(s=>o(s)?s:s.replace(/-([a-z])/g,(t,S)=>S.toUpperCase()));export{N as CSS_LONGHAND_SHORTHANDS,r as CSS_SHORTHAND_LONGHANDS,h as cssCamelName,n as cssPropName,a as cssShorthandStatesLonghand,c as cssShorthandStatesThemeLonghand};
|
package/dist/esm/src/delegate.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DELEGATED_EVENTS as
|
|
1
|
+
import{DELEGATED_EVENTS as S,LIFECYCLE_EVENTS as A,PASSIVE_EVENTS as d,NON_BUBBLING_EVENTS as x}from"./registry.js";import{isLoudDevRuntime as T}from"./devRuntime.js";import{isElementConnected as V,whenConnected as Q}from"./connected.js";import{pushConfig as R,popConfig as h}from"@symbo.ls/scratch";const p=new WeakMap,I={passive:!0},B={passive:!0,capture:!0},y=(e,t)=>d.has(e)?t?B:I:t||!1;function w(e){let t=p.get(e);return t||(t={handlers:new Map,installed:new Set},p.set(e,t)),t}function O(e,t){const o=w(t);if(o.installed.has(e))return;o.installed.add(e);const n=e==="focus"||e==="blur"||e==="focusin"||e==="focusout"||e==="mouseenter"||e==="mouseleave"||e==="pointerenter"||e==="pointerleave",r=e==="mouseenter"||e==="mouseleave"||e==="pointerenter"||e==="pointerleave";t.addEventListener(e,i=>{if(r){const u=i.target,a=o.handlers.get(e),c=a&&u?a.get(u):null;if(!c||i.relatedTarget&&typeof u.contains=="function"&&u.contains(i.relatedTarget))return;c(i);return}let s=i.target;for(;s&&s!==t;){const u=o.handlers.get(e);if(u){const a=u.get(s);if(a&&(a(i),i.cancelBubble))return}s=s.parentNode}},y(e,n))}function q(e,t,o,n){n||(n=t.ownerDocument?.documentElement||t.getRootNode());const r=w(n);O(e,n),r.handlers.has(e)||r.handlers.set(e,new WeakMap),r.handlers.get(e).set(t,o)}function G(e,t,o){o||(o=t.ownerDocument?.documentElement||t.getRootNode());const n=p.get(o);if(!n)return;const r=n.handlers.get(e);r&&r.delete(t)}function ee(e){if(e.charCodeAt(0)!==111||e.charCodeAt(1)!==110)return!1;const t=e.charCodeAt(2);return t>=65&&t<=90}function te(e){return e.charAt(2).toLowerCase()+e.slice(3)}const P=/^[A-Za-z_$][\w$]*$/;function W(e,t){return typeof t!="string"||!P.test(t)?t:function(n){return e.call(t,n)}}function $(e){return S.has(e)&&!A.has(e)}function v(e,t){const{context:o}=e,n=o?.designSystem;return r=>{n&&R(n);try{const i=t.call(e,r,e,e.state,o);if(i&&typeof i.then=="function"){i.catch(s=>{e.error=s,console.error("[DOMQL] Async event error:",s)}).finally(()=>{n&&h()});return}}catch(i){if(e.error=i,console.error("[DOMQL] Event error:",i),o?.strictMode)throw i}n&&h()}}const L=e=>!!e&&(e.capture===!0||typeof e.passive=="boolean"||e.once===!0);function H(e,t){return L(t)?{capture:t.capture===!0,passive:typeof t.passive=="boolean"?t.passive:d.has(e),once:t.once===!0}:y(e,!1)}function U(e,t,o){return n=>{let r=n.target;if(r&&r.nodeType!==1&&(r=r.parentElement),!r||typeof r.closest!="function")return;let i;try{i=r.closest(t)}catch{return}i&&e.contains(i)&&o(n)}}function ne(e,t,o,n){const{node:r,context:i}=t;if(!r)return;let s=v(t,o);const u=n&&typeof n.selector=="string"&&n.selector;u&&(s=U(r,u,s));const c=!x.has(e)&&$(e)&&!L(n),f=c?null:H(e,n);if(c){const l=i?.rootNode||r.ownerDocument?.documentElement;q(e,r,s,l)}else r.addEventListener(e,s,f);t.__ref.__eventCleanup||(t.__ref.__eventCleanup=[]),t.__ref.__eventCleanup.push(()=>{if(c){const l=i?.rootNode||r.ownerDocument?.documentElement;G(e,r,l)}else r.removeEventListener(e,s,f)})}const E=[["onDocument","document"],["onWindow","window"],["onVisualViewport","visualViewport"],["onMediaQuery","mediaQuery"]];function re(e){if(typeof e!="string")return null;for(let t=0;t<E.length;t++){const o=E[t][0];if(e.length<=o.length||!e.startsWith(o))continue;const n=e.charCodeAt(o.length);if(!(n<65||n>90))return{target:E[t][1],eventName:e.slice(o.length).toLowerCase()}}return null}function F(e,t,o){let n=t,r=!1,i,s=!1,u=null;return t&&typeof t=="object"&&typeof t!="function"&&(n=t.handler,r=!!t.capture,s=!!t.once,typeof t.passive=="boolean"&&(i=t.passive),typeof t.query=="string"&&(u=t.query)),n=W(e,n),typeof n!="function"?null:(i===void 0&&(i=d.has(o)),{handler:n,capture:r,passive:i,once:s,query:u})}function K(e,t,o){const n=e.node?.ownerDocument||e.context?.document||(typeof document<"u"?document:null);if(!n||typeof n.addEventListener!="function")return null;if(t==="document")return n;const r=n.defaultView||(typeof window<"u"?window:null);if(!r)return null;if(t==="window")return typeof r.addEventListener=="function"?r:null;if(t==="visualViewport"){const i=r.visualViewport;return i&&typeof i.addEventListener=="function"?i:null}if(t==="mediaQuery"){const i=o&&o.query;if(typeof i!="string"||!i.trim()||typeof r.matchMedia!="function")return null;try{return r.matchMedia(i)||null}catch{return null}}return null}const g=/^@media\s+/i,j=/^[@[.#&:>*~+]/,m=new Set;function b(e,t){!T()||m.has(e)||(m.add(e),console.warn(`[smbls] onMediaQueryChange: "${e}" ${t} \u2014 no listener is registered.`))}function Y(e,t){if(typeof t!="string")return null;const o=t.trim();if(!o)return null;const n=e.context?.designSystem?.media,r=s=>{const u=n&&typeof n=="object"?n[s]:void 0;return typeof u=="string"&&u.trim()?u.trim():null};let i=o;if(o.charCodeAt(0)===64&&!g.test(o)){if(i=r(o.slice(1)),!i)return b(o,"is not a key of designSystem.media"),null}else i=r(o)||o;return g.test(i)?i.replace(g,"").trim()||null:j.test(i)?(b(o,`names "${i}", which is not a media query`),null):i}function z(e,t,o,n){try{return e.addEventListener(t,o,n),!0}catch{return typeof e.addListener=="function"?(e.addListener(o),!0):!1}}function C(e,t,o,n){try{e.removeEventListener(t,o,n)}catch{typeof e.removeListener=="function"&&e.removeListener(o)}}function oe(e,t,o){if(t.__ref){if(Array.isArray(o)){if(e.target!=="mediaQuery")return;for(let r=0;r<o.length;r++)D(e,t,o[r]);return}D(e,t,o)}}function D(e,t,o){const n=t.__ref,r=F(t,o,e.eventName);if(!r||e.target==="mediaQuery"&&e.eventName!=="change"||e.target==="mediaQuery"&&(r.query=Y(t,r.query),!r.query))return;const i=K(t,e.target,r);if(!i)return;const s=e.target+":"+(r.query?r.query+":":"")+e.eventName+":"+(r.capture?1:0);if(n.__globalEvents&&n.__globalEvents.has(s))return;const u=v(t,r.handler),a=e.target==="window"&&e.eventName==="load";let c=!1;const f=M=>{if(V(t)){if(a){if(c)return;c=!0}u(M)}},l={capture:r.capture,passive:r.passive,once:r.once};if(!z(i,e.eventName,f,l))return;n.__globalEvents||(n.__globalEvents=new Map);const _={target:i,eventName:e.eventName,listener:f,options:l};n.__globalEvents.set(s,_),n.__eventCleanup||(n.__eventCleanup=[]),n.__eventCleanup.push(()=>{C(i,e.eventName,f,l),n.__globalEvents&&n.__globalEvents.delete(s)}),a&&X(t,s,_,()=>c)}function X(e,t,o,n){const r=o.target.document;!r||r.readyState!=="complete"||Q(e,()=>queueMicrotask(()=>{const i=e.__ref;if(n()||!i||!i.__globalEvents||i.__globalEvents.get(t)!==o)return;const s=o.target,u=typeof s.Event=="function"?s.Event:typeof Event=="function"?Event:null;u&&(o.listener(new u("load")),o.options.once&&n()&&C(s,"load",o.listener,o.options))}))}export{q as addDelegatedEvent,te as eventNameFrom,re as globalEventKeyInfo,$ as isDelegatable,ee as isHandlerKey,ne as registerEvent,oe as registerGlobalEvent,G as removeDelegatedEvent,W as stringHandler,v as wrapEventHandler};
|
package/dist/esm/src/dispose.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getObserver as
|
|
1
|
+
import{getObserver as a}from"@symbo.ls/signal";import{untrack as s}from"./runContext.js";import{destroyBridge as c}from"./bridge.js";import{FEATURES as d}from"./features.js";import{forgetConnected as p}from"./connected.js";function e(r){if(!r)return;const o=r.__ref;if(!o)return;if(o.__onConnected&&p(r),a())return s(()=>e(r));o.__disposed=!0;const t=o.__if===!1&&!o.__ifInitialized;if(!t)try{typeof r.onBeforeRemove=="function"&&r.onBeforeRemove(r,r.state,r.context)}catch(_){console.error("[smbls] onBeforeRemove error:",_)}if(o.__bridge&&c(r),o.__effects){for(let _=0;_<o.__effects.length;_++)o.__effects[_].dispose();o.__effects.length=0}if(typeof o.__releaseMedia=="function"&&(o.__releaseMedia(),o.__releaseMedia=null),o.__eventCleanup){for(let _=0;_<o.__eventCleanup.length;_++)o.__eventCleanup[_]();o.__eventCleanup.length=0}if(o.__children){const _=o.__children.slice();o.__children.length=0;for(let i=0;i<_.length;i++){const f=r[_[i]];f&&f.__ref&&e(f)}}if(o.__ifParked&&o.__ifParked.size){const _=[...o.__ifParked];o.__ifParked.clear();for(let i=0;i<_.length;i++){const f=r[_[i]];f&&f.__ref&&f.parent===r&&e(f)}}r.node?.parentNode?r.node.remove():r.tag==="fragment"&&o.__fragmentAnchor?.parentNode&&o.__fragmentAnchor.remove();const n=r.state?.$destroy||r.state?.destroy;if(typeof n=="function"&&r.state.__element===r&&n.call(r.state),r.parent?.__ref?.__children){const _=r.parent.__ref.__children.indexOf(r.key);_!==-1&&r.parent.__ref.__children.splice(_,1),r.parent.__ref.__ifParked&&r.parent.__ref.__ifParked.delete(r.key),delete r.parent[r.key]}if(!t)try{typeof r.onRemove=="function"&&r.onRemove(r)}catch(_){console.error("[smbls] onRemove error:",_)}o.__mount&&o.__mount.tail&&d.mount.abandon(r,o),r.node=null,r.parent=null,r.__ref=null}function y(){e(this)}export{e as dispose,y as remove};
|
package/dist/esm/src/extends.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CSS_PROPS_REGISTRY as
|
|
1
|
+
import{CSS_PROPS_REGISTRY as x}from"css-in-props";import{CSS_LONGHAND_SHORTHANDS as _,CSS_SHORTHAND_LONGHANDS as g,cssPropName as S,cssCamelName as k}from"./cssLonghands.js";import{FEATURES as l}from"./features.js";const w=new WeakMap;function h(r){const t=[];return r.extends&&(Array.isArray(r.extends)?t.push(...r.extends):t.push(r.extends)),r.extend&&(Array.isArray(r.extend)?t.push(...r.extend):t.push(r.extend)),t}function R(r,t,n){const e=h(t);if(!e.length)return;const a=(r.context||n?.context||{}).components||{};for(let s=0;s<e.length;s++){const o=p(e[s],a);o&&o!==t&&y(r,o,n,new Set([t]))}}function p(r,t){if(typeof r=="string"){if(r.includes(">")){const n=r.split(">").map(c=>c.trim());let e=t[n[0]]||t[`smbls.${n[0]}`];for(let c=1;c<n.length&&e;c++)e=e[n[c]];return e||null}return t[r]||t[`smbls.${r}`]||null}return typeof r=="object"&&r!==null?r:null}function y(r,t,n,e=new Set){if(e.has(t))return;e.add(t);const c=h(t);if(c.length){const o=(r.context||n?.context||{}).components||{};for(let f=0;f<c.length;f++){const u=p(c[f],o);u&&y(r,u,n,e)}}const a=M(r);for(const s in t){if(s==="extends"||s==="extend")continue;const o=t[s];a&&a.mark(s);const f=l.chains;f!==null&&f(r,s,r[s],o)||(r[s]===void 0?o&&typeof o=="object"&&!Array.isArray(o)&&typeof o!="function"?r[s]={...o}:r[s]=o:typeof r[s]=="object"&&typeof o=="object"&&!Array.isArray(r[s])&&!Array.isArray(o)&&r[s]!==null&&o!==null?r[s]=A(r[s],o):r[s]=o)}}class b{constructor(){this.rank=0,this.ranks=null}mark(t){L(t)&&(this.ranks||(this.ranks=new Map),this.ranks.set(t,this.rank))}get(t){return this.ranks?this.ranks.get(t):void 0}get size(){return this.ranks?this.ranks.size:0}}const i=new Set;for(const r of[_,g])for(const t in r)i.add(t),i.add(k(t));const d=new Map;function L(r){const t=r.charCodeAt(0);if(t>=65&&t<=90||t>=48&&t<=57)return!1;let n=d.get(r);return n===void 0&&(n=!!x[r]||i.has(r)||r.indexOf("-")>=0&&!(r.charCodeAt(0)===45&&r.charCodeAt(1)===45)&&i.has(S(r)),d.set(r,n)),n}function M(r){const t=r&&r.__ref;if(!t)return null;let n=t.__mergeLayer;return n||(n=t.__mergeLayer=new b),n.rank++,n}function j(r){const t=r&&r.__ref&&r.__ref.__mergeLayer;if(!t||!t.ranks)return;let n;for(const e of t.ranks.values())if(n===void 0)n=e;else if(e!==n)return;t.ranks=null}function A(r,t){const n={...r},e=l.chains;for(const c in t){const a=n[c],s=t[c];e!==null&&e(n,c,a,s)||(a&&s&&typeof a=="object"&&typeof s=="object"&&!Array.isArray(a)&&!Array.isArray(s)&&typeof a!="function"&&typeof s!="function"?n[c]=A(a,s):n[c]=s)}return n}export{R as applyExtends,j as closeMergeLayer,A as deepMergeChild,M as openMergeLayer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const l={viewEvents:null,chains:null,rows:null,hydration:null,mount:null};export{l as FEATURES};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{LIFECYCLE_EVENTS as N}from"./registry.js";import{isLoudDevRuntime as S}from"./devRuntime.js";import{isHandlerKey as I,eventNameFrom as M}from"./delegate.js";const h=Symbol("handlerChain.none"),x=new Set(["inView","leaveView"]),L=new Set(["bridgeMount","bridgeUpdate","bridgeDestroy"]),c=new WeakMap,C=new WeakMap;let p=!1;const m=e=>e!==null&&typeof e=="object"&&e.always===!0;function V(e){const n=M(e);return x.has(n)?!0:N.has(n)&&!L.has(n)}const E=new Set;function _(e){E.has(e)||!S()||(E.add(e),console.warn(`[smbls] \`${e}: { always: true, \u2026 }\` \u2014 \`always\` composes the lifecycle hooks (onInit, onRender, onCreate, onMounted, onUpdate, onRemove, \u2026; not the bridge hooks) and onInView / onLeaveView only. \`${e}\` keeps the default merge: an extender's own \`${e}\` replaces this one. Run the shared step from a lifecycle hook, or call it from the extender's handler.`))}function y(e){return e&&typeof e=="object"?{handler:e.handler,options:e}:{handler:e,options:null}}function a(e,n){const t={always:e,own:n,list:n?e.concat(n):e,next:null,prims:null,cleared:null},r=function(...i){return A(t,this,i)};return c.set(r,t),p=!0,r}function w(e){let n=C.get(e);return n||(n=a([y(e)],null),C.set(e,n)),n}function F(e,n){const t=c.get(e);if(n==null||n===!1)return t.own?t.cleared||(t.cleared=a(t.always,null)):e;if(typeof n!="object"&&typeof n!="function"){const s=t.prims||(t.prims=new Map);let l=s.get(n);return l||s.set(n,l=a(t.always,y(n))),l}const r=t.next||(t.next=new WeakMap);let o=r.get(n);if(o)return o;const i=m(n)?c.get(w(n)):typeof n=="function"?c.get(n):void 0;return o=i?a(t.always.concat(i.always),i.own):a(t.always,y(n)),r.set(n,o),o}function H(e,n,t){const r=m(n),o=!r&&p&&typeof n=="function"&&c.has(n);if(!r&&!o&&!m(t))return h;if(!V(e))return _(e),h;const i=r?w(n):o?n:null;return i?F(i,t):w(t)}function D(e,n,t,r){if(!I(n))return!1;const o=H(n,t,r);return o===h?!1:(e[n]=o,!0)}function K(e){if(typeof e=="function"){const n=p?c.get(e):void 0;return n?n.list:[{handler:e,options:null}]}return typeof e=="string"?[{handler:e,options:null}]:e&&typeof e=="object"?[{handler:e.handler,options:e}]:[]}function A(e,n,t){const r=e.list;let o,i=!1,s=null,l=!1,b;for(let u=0;u<r.length;u++){const d=r[u].handler;if(typeof d!="function")continue;let f;try{f=d.apply(n,t)}catch(g){l?console.error("[smbls] lifecycle handler error:",g):(l=!0,b=g);continue}f===!1?i=!0:f&&typeof f.then=="function"&&(s||(s=[])).push(f),o=f}if(l){if(s)for(const u of s)u.then(null,d=>console.error("[smbls] lifecycle handler error:",d));throw b}return i?!1:s?s.length===1?s[0]:R(s):o}function R(e){return Promise.allSettled(e).then(n=>{let t=null;for(const r of n)r.status==="rejected"&&(t?console.error("[smbls] lifecycle handler error:",r.reason):t=r);if(t)throw t.reason})}export{D as chainHandler,K as handlerEntries,m as isAlwaysForm};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{detectTag as _,isSvgTag as g,firstSlotAfterText as m,SVG_NS as p}from"./cache.js";const h=n=>{const t=n.__ref;if(t&&t.__hydrationPath!==void 0)return t.__hydrationPath;const r=n.parent,s=r&&r.__ref?h(r):null,o=s===null?"":s?s+"."+n.key:String(n.key);return t&&(t.__hydrationPath=o),o},y=new Set(["src","srcset"]);function v(n){const t=n?.context?.__hydration;if(!t)return null;const r=n.tag=_(n);if(r==="string"||r==="fragment")return null;const s=h(n),o=t.registry[s===""?"__root":s],e=o!==void 0?t.nodes[o]:null;if(!e||e.nodeType!==1||t.claimed.has(e))return o!==void 0&&t.misses++,null;const a=g(r)&&(r==="svg"||n.parent?.node?.namespaceURI===p),l=g(r)&&!a&&r!=="svg"?"div":r,c=a?e.namespaceURI===p:e.namespaceURI!==p;if(e.localName!==l||!c)return t.misses++,null;t.claimed.add(e),t.adopted++;const f=t.pending;if(f&&f.delete(e)){const i=e.parentNode,d=i?(t.pendingIn.get(i)||1)-1:0;d>0?t.pendingIn.set(i,d):i&&t.pendingIn.delete(i)}for(const i of Array.from(e.getAttributeNames?e.getAttributeNames():[]))y.has(i)||e.removeAttribute(i);if(f)for(let i=e.firstChild;i;){const d=i.nextSibling;f.has(i)||e.removeChild(i),i=d}else for(;e.firstChild;)e.removeChild(e.firstChild);return e.localName==="img"&&e.complete&&e.naturalWidth>0&&I(e),e}const x=500;function I(n){let t=!1,r=!1;const s=o=>{o.isTrusted&&(r?o.stopImmediatePropagation():t=!0,n.removeEventListener("load",s,!0))};n.addEventListener("load",s,!0),setTimeout(()=>{if(!t){if(!(n.complete&&n.naturalWidth>0)){n.removeEventListener("load",s,!0);return}r=!0,n.dispatchEvent(new Event("load")),setTimeout(()=>n.removeEventListener("load",s,!0),x)}},0)}function b(n,t,r,s,o){const e=n.pendingIn;if(!e||!e.has(s))return!1;if(o.parentNode===s&&n.claimed.has(o))return!0;let a;const l=r&&r.__ref,c=l&&l.__children,f=c?c.lastIndexOf(t.key):-1;for(let i=f-1;i>=0;i--){const d=r[c[i]],u=d&&d.node;if(u&&u!==o&&u.parentNode===s){a=u.nextSibling;break}}return a===void 0&&(a=m(s,l&&l.__textNode)),a===o||s.insertBefore(o,a),!0}const N={adopt:v,place:b};export{v as adoptHydrationNode,h as elementPath,N as hydrationFeature,b as placeDuringHydration};
|
package/dist/esm/src/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{create as o,default as r,flushMounts as a}from"./create.js";import{update as
|
|
1
|
+
import{create as o,default as r,flushMounts as n,holdMountFlush as d,attachElement as a}from"./create.js";import{MOUNT_YIELD_BUDGET_MS as l,mountYieldBudget as m,mountPending as p,releaseMount as f,whenMounted as i,whenMountIdle as s,yieldToMain as u}from"./mountScheduler.js";import{update as T}from"./update.js";import{dispose as h,remove as M}from"./dispose.js";import{whenConnected as S}from"./connected.js";import{REGISTRY as I,LIFECYCLE_EVENTS as _,DELEGATED_EVENTS as c,NON_BUBBLING_EVENTS as G,MIXINS as D}from"./registry.js";import{addDelegatedEvent as B,removeDelegatedEvent as V,registerEvent as y,registerGlobalEvent as C,globalEventKeyInfo as P}from"./delegate.js";import{cacheNode as w,detectTag as O,createHTMLNode as U,isValidTag as b,isSvgTag as A,SVG_TAGS as F}from"./cache.js";import{adoptHydrationNode as R,elementPath as K}from"./hydration.js";import{applyExtends as j}from"./extends.js";import{addMethods as q,refreshContextProto as z}from"./methods.js";import{inertOutsidePlugin as Q}from"./inertOutside.js";export{c as DELEGATED_EVENTS,_ as LIFECYCLE_EVENTS,D as MIXINS,l as MOUNT_YIELD_BUDGET_MS,G as NON_BUBBLING_EVENTS,I as REGISTRY,F as SVG_TAGS,B as addDelegatedEvent,q as addMethods,R as adoptHydrationNode,j as applyExtends,a as attachElement,w as cacheNode,o as create,U as createHTMLNode,r as default,O as detectTag,h as dispose,K as elementPath,n as flushMounts,P as globalEventKeyInfo,d as holdMountFlush,Q as inertOutsidePlugin,A as isSvgTag,b as isValidTag,p as mountPending,m as mountYieldBudget,z as refreshContextProto,y as registerEvent,C as registerGlobalEvent,f as releaseMount,M as remove,V as removeDelegatedEvent,T as update,S as whenConnected,s as whenMountIdle,i as whenMounted,u as yieldToMain};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{FEATURES as r}from"./features.js";import{registerViewEvents as t}from"./viewEvents.js";import{chainHandler as o}from"./handlerChain.js";import{plainRows as e}from"./plainRows.js";import{hydrationFeature as i}from"./hydration.js";import{mountYieldFeature as m}from"./mountYield.js";function l(){r.viewEvents=t,r.chains=o,r.rows=e,r.hydration=i,r.mount=m}export{l as installElementFeatures};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{create as t,default as o}from"./core.js";import{applyExtends as f}from"./extends.js";import{registerEvent as m}from"./delegate.js";import{REGISTRY as a}from"./registry.js";export{a as REGISTRY,f as applyExtends,t as create,o as default,m as registerEvent};
|