@symbo.ls/element 3.14.804 → 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 +22 -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),Zs(r,o,e),typeof r.html=="function"&&r.node&&!r.node.innerHTML&&X(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,g=()=>{if(r.node){if(r.node.isConnected){l&&Y(l);try{u(r,r.state,r.context)}catch(x){console.error("[DOMQL] onFrame error:",x)}finally{l&&q()}}requestAnimationFrame(g)}};requestAnimationFrame(g)}return r}const Jo=new Set(["childProps","attr","style","scope","data","vars"]);function mo(t,o,s,n,e,c){if(s&&!o.extends&&!o.extend){const p=s.indexOf("_"),h=s.indexOf(".");let _=p>0?p:-1;if(h>0&&(_<0||h<_)&&(_=h),_>0){const w=s.substring(0,_),y=t.context?.components;y&&(y[w]||y["smbls."+w])?o={...o,extends:w}:y&&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),un(t,o,c);const a=dn(t),r=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")continue;if(p==="key"){n&&(t.key=e?Vt(e,n):n);continue}const h=o[p];a&&a.mark(p);const _=t[p],w=_&&h&&typeof _=="object"&&typeof h=="object"&&!Array.isArray(_)&&!Array.isArray(h)&&typeof _!="function"&&typeof h!="function";w&&p.charCodeAt(0)>=65&&p.charCodeAt(0)<=90?t[p]=kt(_,h):w&&Jo.has(p)?t[p]={..._,...h}:w&&co(p)?t[p]=kt(_,h):t[p]=h}function i(p){for(const h in p){const _=p[h],w=t[h],y=w&&_&&typeof w=="object"&&typeof _=="object"&&!Array.isArray(w)&&!Array.isArray(_)&&typeof w!="function"&&typeof _!="function";y&&h.charCodeAt(0)>=65&&h.charCodeAt(0)<=90?t[h]=kt(w,_):y&&Jo.has(h)?t[h]={...w,..._}:y&&co(h)?t[h]=kt(w,_):t[h]=_}}if(r&&i(r),o.props&&typeof o.props=="object"&&(i(o.props),a))for(const p in o.props)a.mark(p);ln(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 p={};f&&Object.assign(p,f),o.scope!==void 0&&Object.assign(p,o.scope),t.scope=on(p,l)}else l&&(t.scope=l);o.if!==void 0&&(t.if=o.if);const g=t.__ref,x=Xn(t,g&&g.__runtimeSource);return g&&(g.__declaredArrays=x||void 0),pn(t),Nn(t,e,o,c),o}const Ln=new Set(["key","parent","context","__ref"]);function Rn(t,o){for(const n of Object.keys(t))Ln.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(()=>mo(t,s,o.key,o.ownKey,t.parent,o.options))}function Mn(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"&&!gn(t,"stateInit"))return;const n=t.state;t.state=o;try{D("StateInit",t,s)}finally{t.state=n}}const ao=t=>({isDataOnlyKey:o=>_n(t).has(o)});function Nn(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&&!W(t.state)?t.state:void 0;if(r==null){if(o?.state)t.state=o.state,at(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",g=new Set,x=(_,w)=>{g.has(_)||hn(u,_,f)&&(f[_]=w,g.add(_),yn(u,_,w))},p=d.translations[l];if(p&&typeof p=="object")for(const _ in p)x(_,p[_]);const h=new Set(d.languages||[]);for(const _ in d.translations)h.has(_)||x(_,d.translations[_])}W(f)||fo(t,f,n),t.state=W(f)?f:oo(f,ao(t.context)),t.state.__element=t,t.state.root=t.state,at(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}),at(t,t.state);return}if(typeof r=="string"){if(t.state=ss(r,o),t.state&&typeof t.state=="object"&&!W(t.state)){const i=o?.state?.root||o?.state||t.state;Object.defineProperty(t.state,"root",{value:i,enumerable:!1,configurable:!0,writable:!0})}at(t,t.state),$n(t,r,o),D("StateCreated",t,n);return}if(typeof r=="function"){const i=r(t,o?.state);if(W(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(W(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,at(t,t.state),Ft.promoteActiveRootState?.(r,t.state),D("StateCreated",t,n)}function ts(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 os(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 ss(t,o){if(!o)return{};if(t===".")return o.state||{};if(t.startsWith("../")||t.startsWith("~/")){const[e,c]=os(t,o);return c?ts(e,c):e??{}}if(o.state?.[t]!==void 0)return o.state[t];const s=ts(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 Fn(t,o){const[s,n]=os(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 $n(t,o,s){const n=t.__ref;if(!n||!s||o==="."||!W(s.state))return;n.__stateBinding&&n.__stateBinding.dispose();const e=Nt(()=>j(()=>{const c=Fn(o,s);!c||typeof c!="object"||c===t.state||Nt(()=>ns(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 ns(t,o,s,n){const e=t.__ref;if(!e)return;if(n||t.state===o){t.state=s,n&&at(t,s),es(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&&ns(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,es(e))}function es(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 In=new Set(["s","state","ctx","context"]),uo=new WeakMap;function rs(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 Bn(t){const o=rs(t);return o?o.params.map(s=>s.split("=")[0].trim()).filter(Boolean):[]}const is=new WeakMap;function Hn(t){let o=is.get(t);return o===void 0&&(o=Un(rs(t)),is.set(t,o)),o}function Un(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 Vn=3,Gn=/^(is|has)[A-Z0-9_$]/,Kn=new Set(["routerOptions"]),cs=new WeakSet;function Wn(t,o){if(typeof t!="function"||t.length!==2||o&&(Gn.test(o)||Kn.has(o))||cs.has(t))return!1;const s=Bn(t);if(s.length<2)return!1;const n=s[1].replace(/[{}[\]]/g,"").trim();return n.length<Vn||In.has(n)?!1:(cs.add(t),!0)}function zn(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"||H.has(r))continue;const i=r.charCodeAt(0);i>=65&&i<=90||Z(r)||I[r]||U&&U.has(r)||i!==45&&(xt(s,r)||(st()&&Wn(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&&Y(n);try{return i(t,t.state,t.context)}catch{return}finally{n&&q()}},set(f){delete o.__exec[r],Object.defineProperty(t,r,{value:f,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}}function Yn(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 Yn(t,o),s.apply(this,n)}}function lt(t,o){if(!(!t||Array.isArray(t)||typeof t!="object"))return t[o]}function v(t,o){return()=>t.path.join(".")+"::"+o}const fs=new Set;function L(t,o,s){if(!st())return;const n=v(t,o)();fs.has(n)||(fs.add(n),console.warn(`[smbls] "${o}" effect threw on ${t.path.join(".")} \u2014 keeping previous value:`,s?.message||s))}const as=/(['"`])((?:\\.|(?!\1)[^\\])*)\1/g,qn=(t,o)=>{let s;try{s=String(t)}catch{return}if(!s.includes("{{"))return;as.lastIndex=0;let n;for(;(n=as.exec(s))!==null;)n[2].includes("{{")&&o.add(n[2])},Zn=(t,o)=>!Z(t)&&!nt(o,t),lo=(t,o,s,n,e)=>{if(typeof o=="string"){!e&&o.includes("{{")&&s.add(o);return}typeof o=="function"&&Zn(t,n)&&qn(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,us=(t,o)=>{const s=t.__ref&&t.__ref.__runtimeSource;return!!s&&vt(s,o)},pt=(t,o)=>us(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)}}},Xn=(t,o)=>{let s=null;for(const n of Object.keys(t)){if(H.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},ds=(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}},ls=["attr","aria","data","metadata"],Jn=t=>{if(ls.includes(t))return!0;const o=t.charCodeAt(0);return o===46||o===33||o===64},mn=(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(!Jn(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)),g=a[u];if(d&&g&&typeof g=="object"&&!Array.isArray(g)&&ls.includes(u)){for(const x in g)lo(x,g[x],s,n,l);continue}lo(u,g,s,n,l)}continue}lo(e,a,s,n,r)}return s};function ps(t,o){const s=t.__ref,n=!!(o&&o.skipIfEffect),e=mn(t,s.__runtimeSource);if(s.__authoredTemplates)for(const i of e)s.__authoredTemplates.add(i);else s.__authoredTemplates=e;if(zn(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=$.call(t,u,t.state)),Gt(t,u))}catch(u){L(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=$.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"&&!H.has(i)&&!Z(i)&&!s.__exec[i]&&!Go(c,i)){if(I[i]){const f=t[i],d=T(t,t[i+"Deps"],f),u=i;let l,g=null,x=null,p;const h=j(()=>{const _=t.context?.designSystem;_&&Y(_);try{const w=d(t,t.state,t.context);$o();let y;try{y=I[u](w,t,t.state,t.context)}finally{Io()}if(Array.isArray(y)){const A={};for(const S of y)if(S)for(const C in S)A[C]=S[C];y=A}const b=u==="show"||u==="hide";if(y&&t.node&&se(y)){const A=ht(y);if(A===null||A!==p){p=A;const S=At(y,null,t.context?.cssPrefix),C=S?S.split(" ").filter(Boolean):null;if(t.node.classList){if(x)for(const k of x)t.node.classList.remove(k);if(C&&C.length)for(const k of C)t.node.classList.add(k);x=C}}l=void 0,g=null}else if(y&&t.node){if(x){for(const S of x)t.node.classList.remove(S);x=null,p=void 0}const A=ht(y);if(A===null||A!==l||!Tt(t.node,g)){l=A;const S=ks(t,y);g=Ot(t.node,S)}}else t.node&&b&&(l=void 0,g=null,t.node.style.display="")}finally{_&&q()}},{depth:s.path.length,label:v(s,u)});s.__effects.push(h),s.__exec[i]=f}else if(U&&U.has(i)){const f=t[i],d=T(t,t[i+"Deps"],f),u=i;let l,g=null;const x=j(()=>{const p=t.context?.designSystem;p&&Y(p);try{const h=d(t,t.state,t.context);if(t.node)if(h!=null){const _=u+":"+String(h);if(_!==l||!Tt(t.node,g)){l=_;const w={[u]:h},y=ks(t,w);g=Ot(t.node,y)}}else l=void 0,g=null,t.node.style[u]=""}finally{p&&q()}},{depth:s.path.length,label:v(s,u)});s.__effects.push(x),s.__exec[i]=f}else if(i.charCodeAt(0)===45){const f=t[i];ws(t,i,f,t[i+"Deps"],i),s.__exec[i]=f}}if(ne(t),typeof t.html=="function"){const i=t.html,f=T(t,t.htmlDeps,i),d=j(()=>{X(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=$.call(t,u,t.state)),gs(t,u)}catch(u){L(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{gs(t,$.call(t,i,t.state))}catch(d){L(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,x,p;const h=j(()=>{const _=f(t,t.state,t.context),w=t.context&&t.context.designSystem;let y;if(_&&typeof _=="object"&&_===l&&w===x){const A=ht(_);y=A!==null&&A===g?p:qt(t,_),g=A}else y=qt(t,_),g=void 0;l=_,x=w,p=y;const b=ht(y);(b===null||b!==d||!Tt(t.node,u))&&(d=b,_o(t.node,u,y),tt(t.node,y),u=Ot(t.node,y))},{depth:s.path.length,label:v(s,"style")});s.__effects.push(h),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,lt(t.styleDeps,i),f);let u,l=null;const g=j(()=>{try{const x=d(t,t.state,t.context);if(t.node){const p=i+":"+String(x);if(p!==u||!Tt(t.node,l)){u=p;const h=qt(t,{[i]:x});_o(t.node,l,Object.assign({},h,{[i]:""})),tt(t.node,h),l=Ot(t.node,h)}}}catch(x){L(s,"style."+i,x)}},{depth:s.path.length,label:v(s,"style."+i)});s.__effects.push(g)}if(t.attr&&typeof t.attr=="object"){for(const i in t.attr)if(typeof t.attr[i]=="function"){const f=T(t,lt(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=$.call(t,l,t.state)),t.node?.setAttribute&&Kt(t.node,d,l)}catch(l){L(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=$.call(t,f,t.state);if(!t.node||!t.node.setAttribute)return;t.node.setAttribute(d,J(d,l??""))}catch(l){L(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 g=f,x="aria-"+i.replace(/[A-Z]/g,h=>"-"+h.toLowerCase()),p=j(()=>{try{const h=$.call(t,g,t.state);if(!t.node||!t.node.setAttribute)return;t.node.setAttribute(x,J(x,h??""))}catch(h){L(s,"aria."+i,h)}},{depth:s.path.length,label:v(s,"aria."+i)});p._attrName=x,s.__effects.push(p);continue}if(typeof f!="function")continue;const d=T(t,lt(t.ariaDeps,i),t.aria[i]),u="aria-"+i.replace(/[A-Z]/g,g=>"-"+g.toLowerCase()),l=j(()=>{try{const g=d(t,t.state,t.context);if(!t.node?.setAttribute)return;Kt(t.node,u,g)}catch(g){L(s,"aria."+i,g)}},{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 x=f,p="data-"+i.replace(/[A-Z]/g,_=>"-"+_.toLowerCase()),h=j(()=>{try{const _=$.call(t,x,t.state);if(!t.node||!t.node.setAttribute)return;t.node.setAttribute(p,_??"")}catch(_){L(s,"data."+i,_)}},{depth:s.path.length,label:v(s,"data."+i)});h._attrName=p,s.__effects.push(h);continue}if(typeof f!="function")continue;const d=T(t,lt(t.dataDeps,i),t.data[i]),l="data-"+i.replace(/[A-Z]/g,x=>"-"+x.toLowerCase()),g=j(()=>{try{const x=d(t,t.state,t.context);if(!t.node?.setAttribute)return;x==null||x===!1?t.node.removeAttribute(l):typeof x!="function"&&typeof x!="object"&&t.node.setAttribute(l,x===!0?"":x)}catch(x){L(s,"data."+i,x)}},{depth:s.path.length,label:v(s,"data."+i)});g._attrName=l,s.__effects.push(g)}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,lt(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){L(s,"class."+i,u)}},{depth:s.path.length,label:v(s,"class."+i)});s.__effects.push(d)}!n&&typeof t.if=="function"&&_s(t,s,t.if);for(const i of Object.keys(t)){if(H.has(i)||typeof t[i]!="function")continue;const f=i.charCodeAt(0);if(f>=65&&f<=90||Z(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,g=T(t,t[i+"Deps"],d),x=j(()=>{try{let p=g(t,t.state,t.context);typeof p=="string"&&p.includes("{{")&&(p=$.call(t,p,t.state)),t.node?.setAttribute&&Kt(t.node,l,p,!0)}catch(p){L(s,i,p)}},{depth:s.path.length,label:v(s,i)});x._attrName=l.toLowerCase(),s.__effects.push(x)}}const r=t.tag||"div";for(const i of Object.keys(t)){if(H.has(i))continue;const f=t[i];if(typeof f!="string"||!f.includes("{{"))continue;const d=i.charCodeAt(0);if(d>=65&&d<=90||Z(i)||nt(r,i)||no[i]||!xt(r,i))continue;const u=wt(i)||i,l=j(()=>{try{const g=$.call(t,f,t.state);if(!t.node||!t.node.setAttribute)return;t.node.setAttribute(u,J(u,g??""))}catch(g){L(s,i,g)}},{depth:s.path.length,label:v(s,i)});l._attrName=u.toLowerCase(),s.__effects.push(l)}if(ue(t),Ae(t),typeof t.onStateUpdate=="function"&&Array.isArray(t.stateDeps)){const i=t.onStateUpdate,f=t.stateDeps;let d=!1,u=[];const l=j(()=>{const g=[];for(let h=0;h<f.length;h++){const _=f[h];try{g[h]=typeof _=="function"?_(t,t.state,t.context):t.state?.[_]}catch{g[h]=void 0}}if(!d){d=!0,u=g;return}let x=g.length!==u.length;for(let h=0;!x&&h<g.length;h++)g[h]!==u[h]&&(x=!0);const p=u;u=g,x&&X(t,()=>{try{i(t,t.state,t.context,{prev:p,next:g})}catch(h){if($t(t,"onStateUpdate",h),t.context?.strictMode)throw h}})},{depth:s.path.length,label:v(s,"onStateUpdate")});s.__effects.push(l)}he(t)}function hs(t){const o=t.parent,s=o?.node;if(!s||!t.node){Zs(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 ys(t){bs(t),ke(t),Ms(t),Fe(t),Ne(t)}function _s(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,Rn(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),hs(t),bs(t),Ms(t),D("Render",t,{}),io(t,{});else{if(o.__ifInitialized=!0,o.__ifLateMerge=null,t.tag||(t.tag=Do(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),Ys(t,{}),ps(t,{skipIfEffect:!0}),ys(t),qs(t,{}),hs(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 te(t,o){return o!=="checked"||!t||t.tagName!=="INPUT"?null:t.hasAttribute("checked")}function oe(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,J(o,s)))}function Wt(t,o,s){const n=te(t,o);s==null?t.removeAttribute(o):t.setAttribute(o,s),oe(t,n)}function gs(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 bs(t){const{node:o}=t;if(o){if((typeof t.text=="string"&&!t.text.includes("{{")||typeof t.text=="number")&&Gt(t,t.text),Bs(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}tt(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,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 e=typeof s[n]=="function"?s[n](t,t.state,t.context):s[n];e&&o.classList.add(typeof e=="string"?e:n)}}}}function ht(t){if(t==null||typeof t!="object")return"s:"+String(t);try{return"o:"+JSON.stringify(t)}catch{return null}}function se(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),As(s,a))}return n}function yo(t,o){return typeof t.getPropertyValue=="function"?t.getPropertyValue(o):""}function As(t,o){return typeof t.getPropertyPriority=="function"?t.getPropertyPriority(o):""}function Q(t){return Uo(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]||As(s,o[n])!==o[n+2])return!1;return!0}const Dt=t=>t.charCodeAt(0)===45&&t.charCodeAt(1)===45,xs=t=>typeof t=="number"||t===!0||typeof t=="string"&&t!=="",zt=t=>Dt(t)?t:"--"+t;function Yt(t,o){if(!ot(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)}xs(e)&&(s||(s={}),s[zt(n)]=e)}return s}function ws(t,o,s,n,e){Ss(t,e,T(t,n,s),c=>xs(c)?{[o]:c}:null)}function Ss(t,o,s,n,e){const c=t.__ref;let a,r=null;const i=j(()=>{X(t,()=>{try{const f=n(s(t,t.state,t.context)),d=t.node;if(!d||!d.style)return;const u=ht(f);(u===null||u!==a||!Tt(d,r))&&(a=u,_o(d,r,f),f&&tt(d,f),r=f?Ot(d,f):null,e&&e(f))}catch(f){L(c,o,f)}})},{depth:c.path.length,label:v(c,o)});c.__effects.push(i)}function ne(t){const o=t.__ref,s=t.vars;if(typeof s=="function"){ee(t,s),o.__exec.vars=s;return}if(ot(s))for(const n of Object.keys(s)){const e=s[n];!n||typeof e!="function"||ws(t,zt(n),e,lt(t.varsDeps,n),"vars."+n)}}function ee(t,o){const s=t.__ref;Ss(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(!ot(s))return!1;for(const n of Object.keys(s))if(typeof s[n]=="function"&&zt(n)===o)return!0;return!1}function re(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 ie(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 Cs(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 ks(t,o){const s=t.node;tt(s,o);const n=re(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=Cs(t,n);return c?(tt(s,c),Object.assign({},o,c)):o}function ce(t){const o=t.__ref;if(!o||!o.__inlineCssKeys||!o.__declaredLonghands)return;const s=Cs(t,o.__inlineCssKeys);s&&tt(t.node,s)}function qt(t,o){return!o||typeof o!="object"?o:X(t,()=>{try{return bn(o,t)}catch{return o}})}function tt(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=Uo(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&&fe(t,s)}function fe(t,o){const s=`_ds${Ko.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 g=f[l];if(typeof g=="object"){const x=l.includes("&")?i.split(", ").map(h=>l.replace(/&/g,h)).join(", "):i.split(", ").map(h=>`${h} ${l}`).join(", ");let p="";for(const h in g)p+=`${Q(h)}: ${g[h]};`;u+=Bo(`${x} { ${p} }`,x)+`
|
|
5
|
-
`}else d+=`${Q(l)}: ${g};`}d&&(c+=Bo(`${i} { ${d} }`,i)+`
|
|
6
|
-
`),u&&(c+=u)}}c&&(e.textContent+=c)}const vs=new Set;function js(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 ae(t,o,s){const n=js(s);queueMicrotask(()=>{if(!t.__ref)return;let e;try{e=o(t,t.state,t.context)}catch{return}if(js(e)===n)return;const c=t.__ref.path?t.__ref.path.join("."):t.key||"?";vs.has(c)||(vs.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 ue(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()&&ae(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&&(W(t.state)?t.state.root:null);if(!l||!W(l))return;let g=l;g=g[i];for(let p=0;p<f.length&&!(g==null||typeof g!="object");p++)if(W(g))g=g[f[p]];else break;if(!d.value)return;let x=!1;if(typeof t.onBeforeUpdate=="function"&&X(t,()=>{try{if(Ie(e)){const p=t.onBeforeUpdate(t,t.state,t.context,{updateBySubscription:!0});p&&typeof p.then=="function"?p.then(()=>Qt(e,!1),h=>{Qt(e,!0),bt("error",t,{hook:"onBeforeUpdate",error:h})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",h)}):(Qt(e,!1),p===!1&&(x=!0))}}catch(p){Qt(e,!0),bt("error",t,{hook:"onBeforeUpdate",error:p})||console.error("[DOMQL] subscribeTo onBeforeUpdate error:",p)}}),!x&&t.node&&e.__effects)for(let p=0;p<e.__effects.length;p++){const h=e.__effects[p];h&&h!==u&&!h._disposed&&!h._isSubscribeToEffect&&typeof h._execute=="function"&&h._execute()}!x&&typeof t.onUpdate=="function"&&X(t,()=>{try{t.onUpdate(t,t.state,t.context)}catch(p){bt("error",t,{hook:"onUpdate",error:p})||console.error("[DOMQL] subscribeTo onUpdate error:",p)}})},{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 Es=new Set;function de(t,o){const s=o?.__ref?.path?o.__ref.path.join("."):o?.key||"?",n=s+"::"+t;Es.has(n)||(Es.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 Ps=new Map;function le(t){let o=Ps.get(t);if(o)return o;o=[];const s=n=>{if(n)for(const e of n)o.push(Vo(e))};return s(Bt[t]),s(Sn[t]),Ps.set(t,o),o}function Os(t,o,s){if(go(t,o)||s&&s.has(o))return!0;const n=le(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 yt(t,o,s,n){const e={},c=new Set,a=(r,i,f)=>{const d=f?new Set(Object.keys(e)):null;if(I[r]){const u=I[r](i,o,o.state,o.context);if(u){const l=Array.isArray(u)?u:[u];for(const g of l)g&&Object.assign(e,g)}}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,Os(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=yt(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()&&de(r,o);continue}const f=Ao(r,o),d=yt(i,o,!1,n);Object.keys(d).length&&(e[f]=d);continue}a(r,i,Os(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 ot=t=>!!t&&typeof t=="object"&&!Array.isArray(t);function Ts(t,o){for(const s in o){const n=o[s];t[s]=ot(n)?Ts(ot(t[s])?t[s]:{},n):n}return t}function pe(t,o){if(!ot(o))return;let s;for(const n of t.split(" ")){const e=n?o[n]:null;ot(e)&&(s=Ts(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 Ds(t,o,s){if(!o||typeof o!="object"||Array.isArray(o))return null;if(bo(t,s)){const c=yt(o,s,!1);return Object.keys(c).length?{cssProp:`[data-theme="${t.slice(1)}"] &`,block:c}:null}const n=Ao(t,s),e=yt(o,s,!1);return Object.keys(e).length?{cssProp:n,block:e}:null}function he(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&&Y(r);let i,f=!1;try{const d=Ds(s,n,t),u=d?ht(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&&q()}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 ye=()=>!0,_e=(t,o)=>{const s=t.charAt(0);return(s===":"||s==="@"||s==="&"||s==="[")&&o&&typeof o=="object"&&!Array.isArray(o)?!0:!!I[t]||!!(U&&U.has(t))||Dt(t)||t==="vars"};function ge(t,o,s){const n={};let e=!1;for(const r in s)Object.prototype.hasOwnProperty.call(s,r)&&(r!=="data"&&r!=="aria"&&(_e(r,s[r])||H.has(r))?n[r]=!0:e=!0);if(!e)return null;const c=xn({[o]:s},t.tag||"div",n,ye);let a=null;for(const r in c)/^on/i.test(r)||(a||(a={}),a[r]=c[r]);return a}function Ls(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(x){L(t.__ref,"conditional("+s+")."+f,x),u&&i(f);continue}if(typeof l=="string"&&l.includes("{{")&&(l=$.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&&Rs(a,o,f);continue}const g=l===!1&&!It(f)?null:String(J(f,l));i(f),!(u&&g===o.written.get(f))&&(d===void 0&&o.base.set(f,a.getAttribute(f)),Wt(a,f,g),o.owners.set(f,s),o.written.set(f,g))}e.appliedAttrs=r}function Rs(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 be(t,o,s,n){const e=n.appliedAttrs;if(n.appliedAttrs=null,!!e)for(const c of e)o.owners.get(c)===s&&Rs(t.node,o,c)}function Ms(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 Ae(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 h=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}${h}: { '${a.slice(h.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=ge(t,e,r);d&&!s&&(s=o.__conditionalAttrs={owners:new Map,base:new Map,written:new Map});const u=new Set;for(const h in r){if(!Object.prototype.hasOwnProperty.call(r,h))continue;const _=h.charAt(0),w=r[h];if(!((_===":"||_==="@"||_==="&"||_==="[")&&w&&typeof w=="object"&&!Array.isArray(w))){if(h==="vars"&&ot(w)){for(const y of Object.keys(w))y&&u.add(zt(y));continue}u.add(h)}}const l=()=>{let h;const _=t[a];if(_===void 0){const b=!!t.state&&a in t.state,A=t.state?t.state[a]:void 0;if(b||A!==void 0)h=A;else{const S=t.context?.cases?.[a];if(S===void 0)return;try{h=typeof S=="function"?S.call(t,t):S}catch(C){h=!1,o.__conditionalError=C,typeof console<"u"&&console.warn&&console.warn(`[smbls] conditional \`${e}\` case fn threw on ${t.key||"?"} \u2014 treating as false:`,C?.message||C)}}}else if(typeof _=="function")try{h=_(t,t.state,t.context)}catch(b){h=!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 h=_;const w=i?!h:!!h;if(!t.node)return;const y=t.context?.designSystem;if(w===f.lastMatch){if(w&&d&&t.node.setAttribute){y&&Y(y);try{Ls(t,s,e,d,f,!1)}finally{y&&q()}}return}f.lastMatch=w,y&&Y(y);try{if(w){const b={},A={};let S=!1;for(const k in r){if(!Object.prototype.hasOwnProperty.call(r,k))continue;const E=r[k],V=k.charAt(0);if((V===":"||V==="@"||V==="&"||V==="[")&&E&&typeof E=="object"&&!Array.isArray(E)){if(bo(k,t)){const M=yt(E,t,!1,u);Object.keys(M).length&&(A[`[data-theme="${k.slice(1)}"] &`]=M,S=!0)}else{const M=Ao(k,t),R=yt(E,t,!1,u);Object.keys(R).length&&(A[M]=R,S=!0)}continue}const ct=typeof E=="function"?E(t,t.state,t.context):E;if(ct!=null){if(I[k]){const M=I[k](ct,t,t.state,t.context);if(M){const R=Array.isArray(M)?M:[M];for(const N of R)N&&Object.assign(b,N)}}else if(U&&U.has(k))b[k]=ct;else if(Dt(k))b[k]=ct;else if(k==="vars"){const M=Yt(ct,t);M&&Object.assign(b,M)}}}const C=Object.keys(b);if(C.length){tt(t.node,b);for(const k of C)n.set(k,e);f.appliedKeys=C}else f.appliedKeys=null;if(S){const k=At(A,null,t.context?.cssPrefix,{state:!0}),E=k?k.split(" ").filter(Boolean):[];if(E.length&&t.node.classList){for(const V of E)t.node.classList.add(V);f.appliedClasses=E}else f.appliedClasses=null}else if(f.appliedClasses){for(const k of f.appliedClasses)t.node.classList.remove(k);f.appliedClasses=null}d&&t.node.setAttribute&&Ls(t,s,e,d,f,!0)}else{if(f.appliedAttrs&&be(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{y&&q()}};o.__conditionalRunners.push(l);const g=T(t,t[a+"Deps"],l),x=j(g,{depth:o.path.length,label:v(o,"conditional("+e+")")}),p=o.__exec&&o.__exec[a]||t[a];x._sources.size===0&&typeof p=="function"&&st()&&Hn(p)&&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(x)}}const wo=new WeakSet,So=new WeakMap;function xe(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 we(t){const o=t.ownerDocument;!o||wo.has(o)||xe(o)||(wo.add(o),queueMicrotask(()=>{wo.delete(o);const s=o.body||o.documentElement;s&&s.offsetWidth}))}const Co=new WeakSet;let Ns=!1;function Fs(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 $s(t,o){const s={};for(const n in t){const e=t[n];if(e&&typeof e=="object"){const c=$s(e,o);Object.keys(c).length&&(s[n]=c)}else o.has(n)||(s[n]=e)}return s}function Se(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=Ce(a);if(i)for(let f=0;f<i.length;f+=3){const d=i[f],u=i[f+1],l=i[f+2],g=t[u]!=null?o.get(u):void 0,x=s&&s.get(d),p=g!==void 0&&g>r&&Ho(d,t[u],l),h=!p&&x!==void 0&&x>r&&Ho(d,void 0,l);if(p||h){p&&delete t[a],c||(c=new Set),c.add(a);break}}}return c}const Is=new Map;function Ce(t){let o=Is.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,Vo(e),s)}return Is.set(t,o),o}function Bs(t){const{node:o}=t;if(!o)return;if(Ns||(Ns=!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&&Y(s),$o();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 g=(y,b)=>{if(b&&typeof b=="object"&&Fs(y)){r||(r={});const A=r[y];A&&(b=ko(A,b)),r[y]=b}else(b===null||typeof b!="object")&&(i||(i=new Set),i.add(y),d!==void 0&&(u||(u=new Map),u.set(y,d)));n[y]=b};if(Object.prototype.hasOwnProperty.call(t,"theme")&&typeof t.theme!="function"&&I.theme){const y=I.theme(t.theme,t,t.state,t.context);if(y){const b=A=>{for(const S in A){const C=A[S];C&&typeof C=="object"&&Fs(S)&&(a||(a={}),a[S]=C),n[S]=C}};if(Array.isArray(y))for(const A of y)A&&b(A);else b(y);e=!0}}const x=(y,b)=>{if(y==="vars"){const A=Yt(b);if(A){for(const S in A)g(S,A[S]);e=!0}return}if(I[y]){const A=I[y](b,t,t.state,t.context);if(A){if(Array.isArray(A)){for(const S of A)if(S)for(const C in S)g(C,S[C])}else for(const S in A)g(S,A[S]);e=!0}}else if(U&&U.has(y))b!=null&&typeof b!="object"&&(g(y,b),e=!0);else if(y.charCodeAt(0)===45)b!=null&&typeof b!="object"&&(g(y,b),e=!0);else if((y.charAt(0)==="&"||y.charAt(0)==="@"||y.charAt(0)===":"||y.charAt(0)==="[")&&b&&typeof b=="object"&&!Array.isArray(b)){if(xo(b))return;const A=Ds(y,b,t);A&&(g(A.cssProp,A.block),e=!0)}};if(typeof t.class=="string"){const y=pe(t.class,t.context?.designSystem?.class);if(y)for(const b in y)x(b,y[b])}const p=i?new Set(i):null,h=t.tag||"div";for(const y of Object.keys(t)){if(typeof t[y]=="function"){const A=f&&f.get(y);A!==void 0&&nt(h,y)&&(l||(l=new Map),l.set(Q(y),A));continue}if(d=f?f.get(y):void 0,y==="vars"){x(y,t[y]);continue}if(H.has(y)||y==="theme")continue;const b=y.charCodeAt(0);b>=65&&b<=90||Z(y)||Go(h,y)||x(y,t[y])}d=void 0;const _=u?Se(n,u,l):null;if(a)for(const y in a){let b=i?$s(a[y],i):a[y];r&&r[y]&&(b=ko(b,r[y])),Object.keys(b).length?n[y]=b:delete n[y]}if(ie(t,n,i,_?new Set([...p||[],..._]):p),e){n.display&&String(n.display).includes("!important")&&(o.style.setProperty("display",String(n.display).replace(/\s*!important\s*$/,""),"important"),delete n.display);const y=t.display!=null&&typeof t.display!="function"?t.display:t.hide===!0||t.show===!1?"none":null;typeof y=="string"&&y!==""&&n.display&&n.display!==y&&(n.display=y);const b=At(n,null,t.context?.cssPrefix);if(c=b?b.split(" ").filter(Boolean):[],b&&o.classList){const A=c;let S=!1;for(const C of A)o.classList.add(C),S||(C.charCodeAt(0)===95&&C.charCodeAt(1)===99||C.charCodeAt(0)===95&&C.indexOf("_c",1)!==-1)&&(S=!0);S&&we(o)}}const w=t.__ref;if(w){const y=w.__staticCssClasses;if(y&&o.classList){const b=new Set(c);for(const A of y)b.has(A)||o.classList.remove(A)}w.__staticCssClasses=c}ce(t)}finally{Io(),s&&q(),Co.delete(t)}}const lr=t=>!!I[t]||!!(U&&U.has(t))||typeof t=="string"&&t.charCodeAt(0)===45;function pr(t){t&&t.node&&Bs(t)}function ke(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,J(a,c))}const s=An(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"||H.has(e)||e==="on"||s[e]!==void 0)continue;const c=e.charCodeAt(0);if(!(c>=65&&c<=90)&&!Z(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=$.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,J(r,a))}}}function hr(t,o){const{node:s}=t;if(!s||!s.setAttribute)return;const n=o.charCodeAt(0);if(n>=65&&n<=90||Z(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=$.call(t,f,t.state)),Kt(s,c,f)}function ve(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{}Us(e),et.delete(t),s.style.height="",e.appliedMax!=null&&s.style.maxHeight===e.appliedMax&&(s.style.maxHeight=""),Ks(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,Hs(t,e);return}e.awaitingLayout=!1;const a=Pe(s),r=Oe(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=Te(s,a),u=d!=null&&f<d?d:f,l=Re(a),g=l!=null&&u>l;s.style.height=Le(g?l:u,a)+"px",r&&jo(s),Ks(s,e,g),e.lastMeasure=f,e.lastWidth=s.clientWidth,Hs(t,e)}},n.__eventCleanup||(n.__eventCleanup=[]),n.__eventCleanup.push(()=>{try{s.removeEventListener("input",e.resize)}catch{}Us(e),et.delete(t)})),e.active||(s.addEventListener("input",e.resize),e.active=!0,Ee(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 je(){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=dt()),e.attachAttempts+=1,e.attachAttempts<=Yo&&dt()-e.firstAttemptAt<qo&&(et.add(s),Ht());continue}e.attachAttempts=0,e.firstAttemptAt=null,e.resize()}}}function Hs(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 Us(t){const o=t.watch;if(o){t.watch=null;try{o.disconnect()}catch{}}}function Ee(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 Pe(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),Vs=t=>(rt(t.borderTopWidth)||0)+(rt(t.borderBottomWidth)||0);function Oe(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 Te(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)||De(t,o);return n>0?s*n+vo(o):null}const Rt=["fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontFamily","lineHeight","letterSpacing"],Gs=new WeakMap;function De(t,o){const s=t.ownerDocument,n=s&&(s.body||s.documentElement);if(!n||!s.createElement)return null;let e=Gs.get(s);e||(e=new Map,Gs.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 Le(t,o){return o?o.boxSizing==="border-box"?t+Vs(o):o.boxSizing==="content-box"?Math.max(0,t-vo(o)):t:t}function Re(t){if(!t)return null;const o=rt(t.maxHeight);if(o==null||!(o>0))return null;const s=vo(t),n=Vs(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 Ks(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 Ws=["srcObject","muted"],Me=(t,o)=>t==="muted"?o===!0||o===""||o==="true"||o==="muted":o??null;function Ne(t){const o=t.node,s=t.__ref;if(!(!o||!s))for(let n=0;n<Ws.length;n++){const e=Ws[n],c=t[e];if(c===void 0||!(e in o))continue;const a=r=>{const i=Me(e,r);if(o[e]!==i)try{o[e]=i}catch(f){L(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){L(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 Fe(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}ve(t,r)},{depth:s.path.length,label:v(s,"autoGrow")});s.__effects||(s.__effects=[]),s.__effects.push(c),e&&(s.__exec.autoGrow=n)}const zs=new Set(["onSwipe","onSwipeLeft","onSwipeRight","onSwipeUp","onSwipeDown"]);function Ys(t,o){for(const s of Object.keys(t)){if(!Z(s)||zs.has(s))continue;const n=fn(s);if(n){cn(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=Pn(s);en.has(a)||rn(On(a),t,e,c)}$e(t)}function $e(t){const o=t.node;if(!o||!o.addEventListener)return;const s={};let n=!1;for(const l of zs){const g=t[l];typeof g=="function"&&(s[l]=g,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 g=l.touches&&l.touches[0]||l.changedTouches&&l.changedTouches[0];g&&(a=g.clientX,r=g.clientY,i=Date.now(),f=!0)},u=l=>{if(!f)return;f=!1;const g=l.changedTouches&&l.changedTouches[0]||l.touches&&l.touches[0];if(!g)return;const x=g.clientX-a,p=g.clientY-r,h=Date.now()-i;if(h>c)return;const _=Math.abs(x),w=Math.abs(p);if(Math.max(_,w)<e)return;let y;if(_>w*1.2)y=x<0?"left":"right";else if(w>_*1.2)y=p<0?"up":"down";else return;const b="onSwipe"+y.charAt(0).toUpperCase()+y.slice(1),A=s[b],S=s.onSwipe;A&&A.call(t,l,t,t.state,t.context),S&&S.call(t,{direction:y,dx:x,dy:p,dt:h,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=pt(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=y=>{let b=o[y];const A=b;(typeof b=="string"||typeof b=="number")&&(b={text:b});let S=d;if(typeof d=="function")try{S=d(t,b)}catch{S=null}let C=typeof d=="function"?jt(S):a;if(e&&u!=="state"&&(C=Et(C,jt(A))),u==="state"){let E=A;(typeof A=="string"||typeof A=="number")&&(E={value:A,text:A}),b=S?{...S,state:E}:{state:E}}else S&&(b=it(S,b));if(c&&!b.ignoreChildExtends)if(b.extends){const E=Array.isArray(b.extends)?b.extends:[b.extends],V=Array.isArray(c)?c:[c];b={...b,extends:[...V,...E]}}else b={...b,extends:c};const k=Qo(b?.key,A,y,t);try{return m(Pt(b,C),t,k,s)}catch(E){if(typeof console<"u"&&console.error){const V=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${k}" failed to construct at ${V} (initial render, skipping this row):`,E?.message||E)}return null}},g=t.__ref;if(!(n===!0&&!r&&!!g&&(s?.mountYield===!0||t.yieldChildren===!0))){for(let y=0;y<o.length;y++){const b=l(y);!r&&b?.node&&f.appendChild(b.node)}return r||t.node.appendChild(f),!0}const p=g.__childrenChunkGen=(g.__childrenChunkGen||0)+1;Ro();const h=Fo();let _=null;const w=y=>{if(g.__disposed||g.__childrenChunkGen!==p){_&&_.parentNode&&_.remove();return}for(let b=y;b<o.length;b++){h.begin();const A=l(b);A?.node&&(_?t.node.insertBefore(A.node,_):f.appendChild(A.node));const S=h.end();if(b+1<o.length&&Lo(S)){_||(_=i.createComment("smbls-mount"),f.appendChild(_),t.node.appendChild(f));const C=b+1;No(()=>w(C));return}}_?(_.remove(),t.node.tagName==="SELECT"&&Zt(t,!0)):t.node.appendChild(f)};return w(0),Mo(),!0}if(typeof o=="string"){const r=ss(o,t);if(Array.isArray(r))return Eo(t,r,s,n,!0)}if(typeof o=="object")for(const r in o){if(H.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};m(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=$.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 qs(t,o){let{children:s,content:n}=t;const e=t.childExtends,c=typeof s=="function"||us(t,"children");if(typeof s=="function"){const p=s;try{s=p(t,t.state,t.context)}catch(b){if(s=void 0,typeof console<"u"&&console.error){const A=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${A} (initial run, treating as empty):`,b?.message||b)}}ds(t,s),t.children=s;const h=t.__ref;let _=!1;const w=T(t,t.childrenDeps,p),y=j(()=>{const b=_;_=!0;let A;try{A=w(t,t.state,t.context)}catch(R){if(typeof console<"u"&&console.error){const N=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] \`children:\` factory threw at ${N}${b?"":" (initial tracking run)"}:`,R?.message||R)}return}if(!b||A===t.children)return;ds(t,A),t.children=A,h.__childrenChunkGen!=null&&h.__childrenChunkGen++;const S=typeof t.onContentUpdate=="function",C=S?[]:null,k=S?[]:null,E=S?[]:null;if(Array.isArray(A)&&t.childrenAs==="state"){const R=t.childProps,N=[],Oo=new Map;for(let P=0;P<A.length;P++){const G=A[P];let O=R;if(typeof R=="function")try{O=R(t,G)}catch{O=null}const z=Qo(O&&O.key,G,P,t);N.push(z),Oo.set(z,{rawChild:G,childProps:O})}const Qs=new Set(N),Xs=h.__children.slice();for(const P of Xs)if(!Qs.has(P)){const G=t[P];G?.remove&&G.remove(),delete t[P],k&&k.push(P)}const _t=t.childExtends,Mt=t.tag==="fragment",Js=t.context?.document||globalThis.document,gt=Mt?null:Js?.createDocumentFragment(),Xt=new Set;for(const P of N){const G=Oo.get(P),O=G.rawChild,z=t[P];if(z&&z.state){if(O&&typeof O=="object"){const F=z.state,ft=F.$replace||F.replace,To=F.$update||F.update;try{if(typeof ft=="function")ft.call(F,O);else if(typeof To=="function"){for(const B in F)if(!(B==="__element"||B==="root"||B==="parent"||B==="update")&&!Object.prototype.hasOwnProperty.call(O,B))try{F[B]=void 0}catch{}To.call(F,O)}else for(const B in O)F[B]=O[B]}catch(B){if(typeof console<"u"&&console.error){const tn=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${P}" failed to patch at ${tn} (reconcile, keeping its previous data for this pass):`,B?.message||B)}}}E&&E.push(P);continue}let Jt=O;(typeof O=="string"||typeof O=="number")&&(Jt={value:O,text:O});const mt=G.childProps;let K=mt?{...mt,state:Jt}:{state:Jt};const ms=typeof R=="function"?jt(mt):pt(t,"childProps");if(_t&&!K.ignoreChildExtends)if(K.extends){const F=Array.isArray(K.extends)?K.extends:[K.extends],ft=Array.isArray(_t)?_t:[_t];K={...K,extends:[...ft,...F]}}else K={...K,extends:_t};let to;try{to=m(Pt(K,ms),t,P,o)}catch(F){if(typeof console<"u"&&console.error){const ft=t.__ref?.path?.join(".")||t.key||"<root>";console.error(`[smbls] child "${P}" failed to construct at ${ft} (reconcile, skipping this row):`,F?.message||F)}Xt.add(P);continue}!Mt&&to?.node&>&>.appendChild(to.node),C&&C.push(P)}if(!Mt&>&>.childNodes.length&&t.node&&t.node.appendChild(gt),!Mt&&t.node){let P=null;for(const G of N){const O=t[G]?.node;if(!O)continue;const z=P?P.nextSibling:t.node.firstChild;O!==z&&t.node.insertBefore(O,z),P=O}}h.__children=Xt.size?N.filter(P=>!Xt.has(P)):N,S&&(C.length||k.length)&&Zo(t,{added:C,removed:k,kept:E}),Zt(t,!1);return}const M=S?[...h.__children]:null;for(const R of[...h.__children]){const N=t[R];N?.remove&&N.remove(),delete t[R]}h.__children=[],Eo(t,A,o,!1,!0),Zt(t,!1),S&&Zo(t,{added:[...h.__children],removed:M,kept:[]})},{depth:h.path.length,label:v(h,"children")});h.__effects.push(y)}const a=Eo(t,s,o,!0,c);if(n!=null&&!(n&&n.__ref)){let p=n;if(typeof p=="string"||typeof p=="number"?p={text:p}:typeof p!="object"&&(p={}),t.childProps&&(p=it(t.childProps,p)),e&&!p.ignoreChildExtends)if(p.extends){const _=Array.isArray(p.extends)?p.extends:[p.extends],w=Array.isArray(e)?e:[e];p={...p,extends:[...w,..._]}}else p={...p,extends:e};const h=Et(pt(t,"childProps"),pt(t,"content"));m(Pt(p,h),t,"content",o)}if(s&&!a)return;const r=t.context?.components||{},i=t.__ref&&t.__ref.__runtimeSource,f=i?{}:null;{const p=Object.keys(t);for(let h=0;h<p.length;h++){const _=p[h];if(!_.endsWith("Extends")||typeof t[_]!="string")continue;const w=_.slice(0,-7);if(!w||w.charCodeAt(0)<65||w.charCodeAt(0)>90)continue;const y={extends:t[_]};delete t[_];for(let b=h+1;b<p.length;b++){const A=p[b],S=A.charCodeAt(0);if(S>=65&&S<=90||H.has(A)||typeof t[A]=="function"&&(A.startsWith("on")||A.startsWith(".")))break;const C=t[A];C!==void 0&&(y[A]=C,delete t[A],f&&vt(i,A)&&(f[w]||(f[w]={}),f[w][A]=i[A]))}t[w]&&typeof t[w]=="object"?t[w]={...y,...t[w]}:t[w]=y}}const d=o?.mountYield===!0||t.yieldChildren===!0,u=Object.keys(t),l=p=>{if(H.has(p)||typeof t[p]!="object"||t[p]===null)return;const h=p.charCodeAt(0);if(h<65||h>90)return;let _=t[p];if(_.__ref)return;if(!_.extends&&!_.extend){const y=r[p]||r[`smbls.${p}`];y&&(_={..._,extends:y})}if(t.childProps&&(_=it(t.childProps,_)),e&&!_.ignoreChildExtends)if(_.extends){const y=Array.isArray(_.extends)?_.extends:[_.extends],b=Array.isArray(e)?e:[e];_={..._,extends:[...b,...y]}}else _={..._,extends:e};const w=i?Et(pt(t,"childProps"),Et(f[p]||null,pt(t,p))):null;m(Pt(_,w),t,p,o)};if(!d){for(const p of u)l(p);return}Ro();const g=Fo(),x=p=>{for(let h=p;h<u.length;h++){g.begin(),l(u[h]);const _=g.end();if(h+1<u.length&&Lo(_)){const w=h+1;No(()=>x(w));return}}};x(0),Mo()}function Zs(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 Ie(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&&Y(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(g=>{$t(o,e,g)}).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&&q(),d&&o.__ref&&(o.__ref[i]=!1)}}return!0}var yr=m;export{Po as BEFORE_UPDATE_MAX_CONSECUTIVE_FAILURES,Ie as acquireBeforeUpdateGuard,m as create,yr as default,ro as flushMounts,lr as isStaticCssProp,pr as recompileStaticCss,hr 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};
|