@fluixi/dom 1.0.0-alpha.79 → 1.0.0-alpha.80
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/README.md +4 -4
- package/dist/cdn/dom-client.cjs +1 -1
- package/dist/cdn/dom-client.global.js +1 -1
- package/dist/cdn/dom-client.mjs +1 -1
- package/dist/cdn/dom.cjs +1 -1
- package/dist/cdn/dom.global.js +1 -1
- package/dist/cdn/dom.mjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/lib/dom/dynamic-element.cjs +1 -1
- package/dist/lib/dom/dynamic-element.mjs +1 -1
- package/dist/lib/dom/hydration.cjs +1 -1
- package/dist/lib/dom/hydration.mjs +1 -1
- package/dist/lib/dom/index.cjs +1 -1
- package/dist/lib/dom/index.mjs +1 -1
- package/dist/lib/dom/integration.cjs +1 -1
- package/dist/lib/dom/integration.d.ts.map +1 -1
- package/dist/lib/dom/integration.js +23 -4
- package/dist/lib/dom/integration.mjs +1 -1
- package/dist/lib/dom/island.cjs +1 -1
- package/dist/lib/dom/island.mjs +1 -1
- package/dist/lib/dom/runtime.cjs +1 -1
- package/dist/lib/dom/runtime.mjs +1 -1
- package/dist/lib/dom/utils.d.ts +23 -23
- package/dist/lib/dom/utils.js +23 -23
- package/dist/lib/dom/versions.cjs +1 -1
- package/dist/lib/dom/versions.d.ts +2 -2
- package/dist/lib/dom/versions.d.ts.map +1 -1
- package/dist/lib/dom/versions.js +4 -4
- package/dist/lib/dom/versions.mjs +1 -1
- package/dist/lib/index.cjs +1 -1
- package/dist/lib/index.mjs +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/version.generated.cjs +1 -1
- package/dist/version.generated.d.ts +1 -1
- package/dist/version.generated.js +1 -1
- package/dist/version.generated.mjs +1 -1
- package/package.json +3 -3
package/dist/lib/dom/island.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var k=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var fe=Object.prototype.hasOwnProperty;var ue=(t,e)=>{for(var n in e)k(t,n,{get:e[n],enumerable:!0})},le=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let u of ae(e))!fe.call(t,u)&&u!==n&&k(t,u,{get:()=>e[u],enumerable:!(o=se(e,u))||o.enumerable});return t};var ce=t=>le(k({},"__esModule",{value:!0}),t);var Ce={};ue(Ce,{Island:()=>Se,hydrateIslands:()=>Ae});module.exports=ce(Ce);var m=require("@fluixi/reactive/signal");var F="http://www.w3.org/2000/svg";function v(t,e,n,o=!1){if(n==null||n===!1){t.removeAttribute(e);return}if(n===!0){t.setAttribute(e,"");return}if(typeof n=="object"){t.setAttribute(e,JSON.stringify(n));return}t.setAttribute(e,String(n))}var Le=typeof Symbol=="function"&&Symbol.for?Symbol.for("react.element"):60103;var V="1.0.0-alpha.79";var W=require("@fluixi/reactive/version"),g={dom:V,reactive:W.VERSION};function K(t){g.core&&t.setAttribute("fluixi",g.core),t.setAttribute("fx-dom",g.dom),t.setAttribute("fx-reactive",g.reactive),typeof globalThis<"u"&&(globalThis.Fluixi=g)}function B(){let t=[g.core,g.dom,g.reactive].filter(e=>e!==void 0);new Set(t).size<=1||console.warn(`[fluixi] package versions disagree — core ${g.core??"(absent)"}, dom ${g.dom}, reactive ${g.reactive}. These ship as one release, so a mismatch usually means a stale lockfile or two copies resolved side by side. Reinstall, or check for duplicates with \`pnpm why @fluixi/dom\`.`)}function N(t){return typeof t=="function"&&t[Symbol.for("fluixi-component")]===!0}var x=require("@fluixi/reactive/signal");var T=typeof document>"u";var J=Symbol.for("fluixi.server-node"),G=null;function O(){if(!G)throw new Error("[fluixi] server render ran before @fluixi/dom/server loaded");return G}function D(t){return t!=null&&t[J]===!0?!0:typeof Node<"u"&&t instanceof Node}function X(t){return t!=null&&t[J]===!0?t.nodeType===3:typeof Text<"u"&&t instanceof Text}var l={active:!1,cursor:null,parents:[]},z=null;function U(t){z=t}function I(){return z}function q(t,e){return l.active&&e.parentNode===t}function Y(t){let e=l.parents.lastIndexOf(t);e!==-1&&(l.parents.length=e),l.cursor=t.nextSibling}function b(t,e=!1){if(T)return O().createText(t);if(l.active&&!e){let n=I()?.hydrateText(t);if(n)return n}return document.createTextNode(t)}function Z(t,e=!1){if(T)return O().createElement(t,e);if(l.active){let n=I()?.hydrateElement(t);if(n)return n}return e?document.createElementNS(F,t):document.createElement(t)}var E=0,de=200;function pe(t,e,n,o,u){let a=o,s=new Map;return(0,x.createRenderEffect)(()=>{let r;if(N(t)&&!(0,m.isSignal)(t)){if(!s.has(t)){E++;try{let i=t();s.set(t,i)}finally{E--}}for(r=s.get(t);typeof r=="function"&&(0,m.isSignal)(r);)r=r()}else for(r=t();typeof r=="function"&&(0,m.isSignal)(r);)r=r();{let i=0;for(;typeof r=="function"&&i++<50;)if(N(r)){if(!s.has(r)){let f=r;E++;try{let c=f();s.set(f,c)}finally{E--}}r=s.get(r)}else if((0,m.isSignal)(r))r=r();else if(r=r(),typeof r!="function"||!(0,m.isSignal)(r)&&!N(r))break}E++;try{a=C(e,r,n,a,s),u(a)}finally{E--}})}function S(t,e,n,o){if(E>de)return console.error("[insert] Exceeded max call depth — possible infinite loop."),()=>null;n!==void 0&&!n&&(n=b("",!0),t.appendChild(n));let u=o??null,a=i=>Array.isArray(i)&&i.some(f=>typeof f=="function"),s=i=>typeof i=="function"?i:()=>i;if(typeof e!="function"&&!a(e)){E++;try{u=C(t,e,n,u)}finally{E--}return()=>u}let r=pe(s(e),t,n,u,i=>{u=i});return()=>(r?.(),u)}function C(t,e,n,o,u){if(e==null||typeof e=="boolean")return w(t,o,n);if(typeof e=="function")for(;typeof e=="function";)e=e();if(e==null||typeof e=="boolean")return w(t,o,n);if(A(e)){let s=b("",!0);return Array.isArray(o)?o.length>0?(t.replaceChild(s,o[0]),w(t,o.slice(1),n)):y(t,s,n):o?t.replaceChild(s,o):y(t,s,n),e.then(r=>{s.parentNode===t&&C(t,r,s.nextSibling,s)}).catch(r=>{console.error("Error resolving promise in insertExpression:",r)}),s}let a=typeof e;if(a==="string"||a==="number"){if(a==="number"&&(e=String(e)),Array.isArray(o)){if(o.length===0){let r=b(e);return y(t,r,n),r}if(o.length===1&&o[0].nodeType===3)return o[0].data=e,o;o=w(t,o,n)}if(o&&X(o))return o.data=e,o;let s=b(e);return o&&o.parentNode===t?t.replaceChild(s,o):q(t,s)||y(t,s,n),s}if(D(e))return q(t,e)?(Y(e),e):Array.isArray(o)?(o.length===0?y(t,e,n):o[0].parentNode===t?(t.replaceChild(e,o[0]),w(t,o.slice(1),n)):y(t,e,n),e):(o?o!==e&&(o.parentNode===t?t.replaceChild(e,o):y(t,e,n)):y(t,e,n),e);if(Array.isArray(e)){let s=[],r=Array.isArray(o)?o:o?[o]:[],i=[];h(e,s,t,n,!0,u,i);let f=ye(t,r,s,n);for(let c of i){let d=S(t,c.sig,c.marker);(0,x.onCleanup)(()=>{w(t,d()),c.marker.parentNode===t&&t.removeChild(c.marker)})}return f}if(a==="object"&&e!==null&&typeof e=="object"){let s=e;if("type"in s&&"props"in s){let r=s;if(typeof r.type=="function"){let i=r.type(r.props||{});return C(t,i,n,o)}}}return w(t,o,n)}function h(t,e,n,o,u=!0,a,s){for(let r=0;r<t.length;r++){let i=t[r];if(!(i==null||typeof i=="boolean")){for(;typeof i=="function"&&!A(i)&&!(0,m.isSignal)(i)&&!N(i)&&(i=i(),!(i==null||typeof i=="boolean")););if(!(i==null||typeof i=="boolean")){if(typeof i=="function"){let f;for(N(i)&&!(0,m.isSignal)(i)?(a||(a=new Map),a.has(i)||a.set(i,i()),f=a.get(i)):f=i();typeof f=="function"&&!A(f)&&!(0,m.isSignal)(f)&&!N(f);)a||(a=new Map),a.has(f)||a.set(f,f()),f=a.get(f);if(f==null||typeof f=="boolean")continue;if(typeof f=="function"){if((0,m.isSignal)(f)){if(s){let d=b("",!0);e.push(d),s.push({marker:d,sig:f});continue}let c=f();for(;typeof c=="function"&&(0,m.isSignal)(c);)c=c();if(c==null||typeof c=="boolean")continue;Array.isArray(c)?h(c,e,n,o,u,a):h([c],e,n,o,u,a);continue}continue}Array.isArray(f)?h(f,e,n,o,u,a,s):h([f],e,n,o,u,a,s);continue}if(A(i)){let f=b("",!0);e.push(f),i.then(c=>{if(f.parentNode){let d=[];if(h([c],d,f.parentNode,void 0,!1,a),d.length>0){f.parentNode.replaceChild(d[0],f);for(let p=1;p<d.length;p++)f.parentNode?.insertBefore(d[p],d[p-1].nextSibling)}}}).catch(c=>console.error("Error resolving promise in array:",c));continue}if(Array.isArray(i)){h(i,e,n,o,u,a,s);continue}if(D(i)){e.push(i);continue}if(typeof i=="object"&&i!==null&&"type"in i&&"props"in i){let f=i;if(typeof f.type=="function"){let c=f.type(f.props||{});Array.isArray(c)?h(c,e,n,o,!1,a):h([c],e,n,o,!1,a);continue}}if(typeof i=="string"||typeof i=="number"){let f=String(i);if(f.trim()===""&&f!==" ")continue;e.push(b(f));continue}e.push(b(String(i)))}}}}function ye(t,e,n,o){for(let d=0;d<n.length;d++){let p=n[d].parentNode;p!==null&&p!==t&&p.nodeType!==11&&(n=n.slice(),n[d]=n[d].cloneNode(!0))}let u=n.length,a=e.length,s=u,r=0,i=0,f=a>0?e[a-1].nextSibling??void 0:o,c=null;for(;r<a||i<s;){if(e[r]===n[i]){r++,i++;continue}for(;a>r&&s>i&&e[a-1]===n[s-1];)a--,s--;if(a===r){let d=s<u?i?n[i-1].nextSibling??void 0:n[s-i]:f;for(;i<s;)y(t,n[i++],d)}else if(s===i)for(;r<a;)(!c||!c.has(e[r]))&&e[r].parentNode===t&&t.removeChild(e[r]),r++;else if(e[r]===n[s-1]&&n[i]===e[a-1]){let d=e[--a].nextSibling;y(t,n[i++],e[r++].nextSibling),y(t,n[--s],d),e[a]=e[r-1]}else{if(!c){c=new Map;let p=i;for(;p<s;)c.set(n[p],p++)}let d=c.get(e[r]);if(d!=null)if(i<d&&d<s){let p=r,_=1;for(;++p<a&&p<s&&!(!c.has(e[p])||c.get(e[p])!==d+_);)_++;if(_>d-i){let ie=e[r];for(;i<d;)y(t,n[i++],ie)}else e[r].parentNode===t?t.replaceChild(n[i++],e[r++]):(y(t,n[i++],f),r++)}else r++;else e[r].parentNode===t&&t.removeChild(e[r]),r++}}return n}function w(t,e,n){if(e)if(Array.isArray(e))for(let o=0;o<e.length;o++)e[o].parentNode===t&&t.removeChild(e[o]);else e.parentNode===t&&t.removeChild(e);return null}function y(t,e,n){l.active&&e.parentNode===t||(n&&n.parentNode===t?t.insertBefore(e,n):t.appendChild(e))}function A(t){return t!=null&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function"||t instanceof Promise}function Q(t,e,n){if(!e)throw new Error("Container element is required");let o,u,a=[];return(0,x.createRoot)(s=>{(0,x.batch)(()=>{l.active||(e.textContent=""),K(e),B(),S(e,t)}),u=s}),()=>{u?.(),o?.(),a.forEach(s=>s()),e.textContent=""}}var R,ge={getStore:()=>R,run(t,e){let n=R;R=t;try{return e()}finally{R=n}}},me=ge;function ee(){return me.getStore()}var L=require("@fluixi/reactive/signal");var xe="__FX_DATA__";var H;function te(){let t=globalThis.__FX_DATA__;if(t)return t;if(H!==void 0)return H;let e=null;if(typeof document<"u"){let n=document.getElementById(xe)?.textContent;if(n)try{e=JSON.parse(n)}catch{e=null}}return H=e}function P(){for(;;){for(;l.cursor&&l.cursor.nodeType===3&&l.cursor.data==="";)l.cursor=l.cursor.nextSibling;if(l.cursor!=null||!l.parents.length)return;l.cursor=l.parents.pop().nextSibling}}var he=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),M=typeof process<"u"&&process.env&&!1;function $(t,e){let n=e.nodeType===1?`<${e.tagName.toLowerCase()}>`:e.nodeType===3?`text ${JSON.stringify((e.nodeValue??"").slice(0,24))}`:e.nodeType===8?"comment":"node";console.warn(`[fluixi] hydration mismatch: expected ${t} but the server DOM has ${n}. Server and client rendered different markup; recreating this node on the client. Check for non-deterministic render (Date.now(), Math.random(), browser-only branches, untransported data).`)}function Ee(t){P();let e=l.cursor;return e&&e.nodeType===1&&e.tagName.toLowerCase()===t.toLowerCase()?(he.has(t.toLowerCase())?l.cursor=e.nextSibling:(l.parents.push(e),l.cursor=e.firstChild),e):(M&&e&&$(`<${t}>`,e),null)}function be(t){P();let e=l.cursor;return e&&e.nodeType===1&&e.tagName.toLowerCase()===t.toLowerCase()?(l.cursor=e.nextSibling,e):(M&&e&&$(`<${t}> (static)`,e),null)}function Ne(t){if(t===""){let n=l.cursor;return n&&n.nodeType===3&&n.data!==""?(l.cursor=n.nextSibling,n.data="",n):null}P();let e=l.cursor;return e&&e.nodeType===3?(l.cursor=e.nextSibling,e.nodeValue!==t&&(e.nodeValue=t),e):(M&&e&&$(`text ${JSON.stringify(t.slice(0,24))}`,e),null)}function we(t){P();let e=l.cursor;return e&&e.nodeType===8&&e.data===t?(l.cursor=e.nextSibling,e):(M&&e&&$(`marker <!--${t.slice(0,24)}-->`,e),null)}var ne=!1;function Te(){ne||(ne=!0,U({hydrateElement:Ee,hydrateText:Ne,hydrateMarker:we,hydrateStatic:be}))}function oe(t,e,n){Te(),l.active=!0,l.cursor=e.firstChild,l.parents=[];let o=te(),u=n?.resourceNamespace,a=0;(0,L.setResourceIdSource)(()=>u?`${u}:r${a++}`:`r${a++}`),(0,L.setServerDataGetter)(o?s=>s in o?{value:o[s]}:void 0:null);try{return Q(t,e)}finally{l.active=!1,l.cursor=null,l.parents=[]}}var j="fluixi-island";function Se(t){let{component:e,props:n={},name:o}=t,u=Z(j),a=o??e.name??"Island";v(u,"name",a),v(u,"props",JSON.stringify(n??{}));let s=T?ee():void 0;if(s){let r=s.nextIslandNamespace(a);S(u,()=>s.withResourceScope(r,()=>e(n)))}else S(u,()=>e(n));return u}var re=!1;function ve(){if(re||typeof document>"u")return;re=!0;let t=document.createElement("style");t.textContent=`${j}{display:contents}`,document.head.appendChild(t)}function Ae(t){if(typeof document>"u")return;ve();let e=document.querySelectorAll(j),n=new Map;e.forEach(o=>{let u=o.getAttribute("name")??"",a=n.get(u)??0;n.set(u,a+1);let s=t[u];if(!s){typeof process>"u"&&console.warn(`[fluixi] island "${u}" has no component in the registry — left static.`);return}let r={};try{r=JSON.parse(o.getAttribute("props")||"{}")}catch{}oe(()=>s(r),o,{resourceNamespace:`${u}#${a}`})})}
|
|
1
|
+
"use strict";var k=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var fe=Object.prototype.hasOwnProperty;var ue=(t,e)=>{for(var n in e)k(t,n,{get:e[n],enumerable:!0})},le=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let u of ae(e))!fe.call(t,u)&&u!==n&&k(t,u,{get:()=>e[u],enumerable:!(o=se(e,u))||o.enumerable});return t};var ce=t=>le(k({},"__esModule",{value:!0}),t);var Ce={};ue(Ce,{Island:()=>Se,hydrateIslands:()=>Ae});module.exports=ce(Ce);var m=require("@fluixi/reactive/signal");var F="http://www.w3.org/2000/svg";function v(t,e,n,o=!1){if(n==null||n===!1){t.removeAttribute(e);return}if(n===!0){t.setAttribute(e,"");return}if(typeof n=="object"){t.setAttribute(e,JSON.stringify(n));return}t.setAttribute(e,String(n))}var Le=typeof Symbol=="function"&&Symbol.for?Symbol.for("react.element"):60103;var V="1.0.0-alpha.80";var W=require("@fluixi/reactive/version"),g={dom:V,reactive:W.VERSION};function K(t){g.core&&t.setAttribute("fluixi",g.core),t.setAttribute("fx-dom",g.dom),t.setAttribute("fx-reactive",g.reactive),typeof globalThis<"u"&&(globalThis.Fluixi=g)}function B(){let t=[g.core,g.dom,g.reactive].filter(e=>e!==void 0);new Set(t).size<=1||console.warn(`[fluixi] package versions disagree — core ${g.core??"(absent)"}, dom ${g.dom}, reactive ${g.reactive}. These ship as one release, so a mismatch usually means a stale lockfile or two copies resolved side by side. Reinstall, or check for duplicates with \`pnpm why @fluixi/dom\`.`)}function N(t){return typeof t=="function"&&t[Symbol.for("fluixi-component")]===!0}var x=require("@fluixi/reactive/signal");var T=typeof document>"u";var J=Symbol.for("fluixi.server-node"),G=null;function O(){if(!G)throw new Error("[fluixi] server render ran before @fluixi/dom/server loaded");return G}function D(t){return t!=null&&t[J]===!0?!0:typeof Node<"u"&&t instanceof Node}function X(t){return t!=null&&t[J]===!0?t.nodeType===3:typeof Text<"u"&&t instanceof Text}var l={active:!1,cursor:null,parents:[]},z=null;function U(t){z=t}function I(){return z}function q(t,e){return l.active&&e.parentNode===t}function Y(t){let e=l.parents.lastIndexOf(t);e!==-1&&(l.parents.length=e),l.cursor=t.nextSibling}function b(t,e=!1){if(T)return O().createText(t);if(l.active&&!e){let n=I()?.hydrateText(t);if(n)return n}return document.createTextNode(t)}function Z(t,e=!1){if(T)return O().createElement(t,e);if(l.active){let n=I()?.hydrateElement(t);if(n)return n}return e?document.createElementNS(F,t):document.createElement(t)}var E=0,de=200;function pe(t,e,n,o,u){let a=o,s=new Map;return(0,x.createRenderEffect)(()=>{let r;if(N(t)&&!(0,m.isSignal)(t)){if(!s.has(t)){E++;try{let i=t();s.set(t,i)}finally{E--}}for(r=s.get(t);typeof r=="function"&&(0,m.isSignal)(r);)r=r()}else for(r=t();typeof r=="function"&&(0,m.isSignal)(r);)r=r();{let i=0;for(;typeof r=="function"&&i++<50;)if(N(r)){if(!s.has(r)){let f=r;E++;try{let c=f();s.set(f,c)}finally{E--}}r=s.get(r)}else if((0,m.isSignal)(r))r=r();else if(r=r(),typeof r!="function"||!(0,m.isSignal)(r)&&!N(r))break}E++;try{a=C(e,r,n,a,s),u(a)}finally{E--}})}function S(t,e,n,o){if(E>de)return console.error("[insert] Exceeded max call depth — possible infinite loop."),()=>null;n!==void 0&&!n&&(n=b("",!0),t.appendChild(n));let u=o??null,a=i=>Array.isArray(i)&&i.some(f=>typeof f=="function"),s=i=>typeof i=="function"?i:()=>i;if(typeof e!="function"&&!a(e)){E++;try{u=C(t,e,n,u)}finally{E--}return()=>u}let r=pe(s(e),t,n,u,i=>{u=i});return()=>(r?.(),u)}function C(t,e,n,o,u){if(e==null||typeof e=="boolean")return w(t,o,n);if(typeof e=="function")for(;typeof e=="function";)e=e();if(e==null||typeof e=="boolean")return w(t,o,n);if(A(e)){let s=b("",!0);return Array.isArray(o)?o.length>0?(t.replaceChild(s,o[0]),w(t,o.slice(1),n)):y(t,s,n):o?t.replaceChild(s,o):y(t,s,n),e.then(r=>{s.parentNode===t&&C(t,r,s.nextSibling,s)}).catch(r=>{console.error("Error resolving promise in insertExpression:",r)}),s}let a=typeof e;if(a==="string"||a==="number"){if(a==="number"&&(e=String(e)),Array.isArray(o)){if(o.length===0){let r=b(e);return y(t,r,n),r}if(o.length===1&&o[0].nodeType===3)return o[0].data=e,o;o=w(t,o,n)}if(o&&X(o))return o.data=e,o;let s=b(e);return o&&o.parentNode===t?t.replaceChild(s,o):q(t,s)||y(t,s,n),s}if(D(e))return q(t,e)?(Y(e),e):Array.isArray(o)?(o.length===0?y(t,e,n):o[0].parentNode===t?(t.replaceChild(e,o[0]),w(t,o.slice(1),n)):y(t,e,n),e):(o?o!==e&&(o.parentNode===t?t.replaceChild(e,o):y(t,e,n)):y(t,e,n),e);if(Array.isArray(e)){let s=[],r=Array.isArray(o)?o:o?[o]:[],i=[];h(e,s,t,n,!0,u,i);let f=ye(t,r,s,n);for(let c of i){let d=S(t,c.sig,c.marker);(0,x.onCleanup)(()=>{w(t,d()),c.marker.parentNode===t&&t.removeChild(c.marker)})}return f}if(a==="object"&&e!==null&&typeof e=="object"){let s=e;if("type"in s&&"props"in s){let r=s;if(typeof r.type=="function"){let i=r.type(r.props||{});return C(t,i,n,o)}}}return w(t,o,n)}function h(t,e,n,o,u=!0,a,s){for(let r=0;r<t.length;r++){let i=t[r];if(!(i==null||typeof i=="boolean")){for(;typeof i=="function"&&!A(i)&&!(0,m.isSignal)(i)&&!N(i)&&(i=i(),!(i==null||typeof i=="boolean")););if(!(i==null||typeof i=="boolean")){if(typeof i=="function"){let f;for(N(i)&&!(0,m.isSignal)(i)?(a||(a=new Map),a.has(i)||a.set(i,i()),f=a.get(i)):f=i();typeof f=="function"&&!A(f)&&!(0,m.isSignal)(f)&&!N(f);)a||(a=new Map),a.has(f)||a.set(f,f()),f=a.get(f);if(f==null||typeof f=="boolean")continue;if(typeof f=="function"){if((0,m.isSignal)(f)){if(s){let d=b("",!0);e.push(d),s.push({marker:d,sig:f});continue}let c=f();for(;typeof c=="function"&&(0,m.isSignal)(c);)c=c();if(c==null||typeof c=="boolean")continue;Array.isArray(c)?h(c,e,n,o,u,a):h([c],e,n,o,u,a);continue}continue}Array.isArray(f)?h(f,e,n,o,u,a,s):h([f],e,n,o,u,a,s);continue}if(A(i)){let f=b("",!0);e.push(f),i.then(c=>{if(f.parentNode){let d=[];if(h([c],d,f.parentNode,void 0,!1,a),d.length>0){f.parentNode.replaceChild(d[0],f);for(let p=1;p<d.length;p++)f.parentNode?.insertBefore(d[p],d[p-1].nextSibling)}}}).catch(c=>console.error("Error resolving promise in array:",c));continue}if(Array.isArray(i)){h(i,e,n,o,u,a,s);continue}if(D(i)){e.push(i);continue}if(typeof i=="object"&&i!==null&&"type"in i&&"props"in i){let f=i;if(typeof f.type=="function"){let c=f.type(f.props||{});Array.isArray(c)?h(c,e,n,o,!1,a):h([c],e,n,o,!1,a);continue}}if(typeof i=="string"||typeof i=="number"){let f=String(i);if(f.trim()===""&&f!==" ")continue;e.push(b(f));continue}e.push(b(String(i)))}}}}function ye(t,e,n,o){for(let d=0;d<n.length;d++){let p=n[d].parentNode;p!==null&&p!==t&&p.nodeType!==11&&(n=n.slice(),n[d]=n[d].cloneNode(!0))}let u=n.length,a=e.length,s=u,r=0,i=0,f=a>0?e[a-1].nextSibling??void 0:o,c=null;for(;r<a||i<s;){if(e[r]===n[i]){r++,i++;continue}for(;a>r&&s>i&&e[a-1]===n[s-1];)a--,s--;if(a===r){let d=s<u?i?n[i-1].nextSibling??void 0:n[s-i]:f;for(;i<s;)y(t,n[i++],d)}else if(s===i)for(;r<a;)(!c||!c.has(e[r]))&&e[r].parentNode===t&&t.removeChild(e[r]),r++;else if(e[r]===n[s-1]&&n[i]===e[a-1]){let d=e[--a].nextSibling;y(t,n[i++],e[r++].nextSibling),y(t,n[--s],d),e[a]=e[r-1]}else{if(!c){c=new Map;let p=i;for(;p<s;)c.set(n[p],p++)}let d=c.get(e[r]);if(d!=null)if(i<d&&d<s){let p=r,_=1;for(;++p<a&&p<s&&!(!c.has(e[p])||c.get(e[p])!==d+_);)_++;if(_>d-i){let ie=e[r];for(;i<d;)y(t,n[i++],ie)}else e[r].parentNode===t?t.replaceChild(n[i++],e[r++]):(y(t,n[i++],f),r++)}else r++;else e[r].parentNode===t&&t.removeChild(e[r]),r++}}return n}function w(t,e,n){if(e)if(Array.isArray(e))for(let o=0;o<e.length;o++)e[o].parentNode===t&&t.removeChild(e[o]);else e.parentNode===t&&t.removeChild(e);return null}function y(t,e,n){l.active&&e.parentNode===t||(n&&n.parentNode===t?t.insertBefore(e,n):t.appendChild(e))}function A(t){return t!=null&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function"||t instanceof Promise}function Q(t,e,n){if(!e)throw new Error("Container element is required");let o,u,a=[];return(0,x.createRoot)(s=>{(0,x.batch)(()=>{l.active||(e.textContent=""),K(e),B(),S(e,t)}),u=s}),()=>{u?.(),o?.(),a.forEach(s=>s()),e.textContent=""}}var R,ge={getStore:()=>R,run(t,e){let n=R;R=t;try{return e()}finally{R=n}}},me=ge;function ee(){return me.getStore()}var L=require("@fluixi/reactive/signal");var xe="__FX_DATA__";var H;function te(){let t=globalThis.__FX_DATA__;if(t)return t;if(H!==void 0)return H;let e=null;if(typeof document<"u"){let n=document.getElementById(xe)?.textContent;if(n)try{e=JSON.parse(n)}catch{e=null}}return H=e}function P(){for(;;){for(;l.cursor&&l.cursor.nodeType===3&&l.cursor.data==="";)l.cursor=l.cursor.nextSibling;if(l.cursor!=null||!l.parents.length)return;l.cursor=l.parents.pop().nextSibling}}var he=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),M=typeof process<"u"&&process.env&&!1;function $(t,e){let n=e.nodeType===1?`<${e.tagName.toLowerCase()}>`:e.nodeType===3?`text ${JSON.stringify((e.nodeValue??"").slice(0,24))}`:e.nodeType===8?"comment":"node";console.warn(`[fluixi] hydration mismatch: expected ${t} but the server DOM has ${n}. Server and client rendered different markup; recreating this node on the client. Check for non-deterministic render (Date.now(), Math.random(), browser-only branches, untransported data).`)}function Ee(t){P();let e=l.cursor;return e&&e.nodeType===1&&e.tagName.toLowerCase()===t.toLowerCase()?(he.has(t.toLowerCase())?l.cursor=e.nextSibling:(l.parents.push(e),l.cursor=e.firstChild),e):(M&&e&&$(`<${t}>`,e),null)}function be(t){P();let e=l.cursor;return e&&e.nodeType===1&&e.tagName.toLowerCase()===t.toLowerCase()?(l.cursor=e.nextSibling,e):(M&&e&&$(`<${t}> (static)`,e),null)}function Ne(t){if(t===""){let n=l.cursor;return n&&n.nodeType===3&&n.data!==""?(l.cursor=n.nextSibling,n.data="",n):null}P();let e=l.cursor;return e&&e.nodeType===3?(l.cursor=e.nextSibling,e.nodeValue!==t&&(e.nodeValue=t),e):(M&&e&&$(`text ${JSON.stringify(t.slice(0,24))}`,e),null)}function we(t){P();let e=l.cursor;return e&&e.nodeType===8&&e.data===t?(l.cursor=e.nextSibling,e):(M&&e&&$(`marker <!--${t.slice(0,24)}-->`,e),null)}var ne=!1;function Te(){ne||(ne=!0,U({hydrateElement:Ee,hydrateText:Ne,hydrateMarker:we,hydrateStatic:be}))}function oe(t,e,n){Te(),l.active=!0,l.cursor=e.firstChild,l.parents=[];let o=te(),u=n?.resourceNamespace,a=0;(0,L.setResourceIdSource)(()=>u?`${u}:r${a++}`:`r${a++}`),(0,L.setServerDataGetter)(o?s=>s in o?{value:o[s]}:void 0:null);try{return Q(t,e)}finally{l.active=!1,l.cursor=null,l.parents=[]}}var j="fluixi-island";function Se(t){let{component:e,props:n={},name:o}=t,u=Z(j),a=o??e.name??"Island";v(u,"name",a),v(u,"props",JSON.stringify(n??{}));let s=T?ee():void 0;if(s){let r=s.nextIslandNamespace(a);S(u,()=>s.withResourceScope(r,()=>e(n)))}else S(u,()=>e(n));return u}var re=!1;function ve(){if(re||typeof document>"u")return;re=!0;let t=document.createElement("style");t.textContent=`${j}{display:contents}`,document.head.appendChild(t)}function Ae(t){if(typeof document>"u")return;ve();let e=document.querySelectorAll(j),n=new Map;e.forEach(o=>{let u=o.getAttribute("name")??"",a=n.get(u)??0;n.set(u,a+1);let s=t[u];if(!s){typeof process>"u"&&console.warn(`[fluixi] island "${u}" has no component in the registry — left static.`);return}let r={};try{r=JSON.parse(o.getAttribute("props")||"{}")}catch{}oe(()=>s(r),o,{resourceNamespace:`${u}#${a}`})})}
|
package/dist/lib/dom/island.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isSignal as m}from"@fluixi/reactive/signal";var q="http://www.w3.org/2000/svg";function S(t,e,n,i=!1){if(n==null||n===!1){t.removeAttribute(e);return}if(n===!0){t.setAttribute(e,"");return}if(typeof n=="object"){t.setAttribute(e,JSON.stringify(n));return}t.setAttribute(e,String(n))}var we=typeof Symbol=="function"&&Symbol.for?Symbol.for("react.element"):60103;var H="1.0.0-alpha.79";import{VERSION as ne}from"@fluixi/reactive/version";var g={dom:H,reactive:ne};function j(t){g.core&&t.setAttribute("fluixi",g.core),t.setAttribute("fx-dom",g.dom),t.setAttribute("fx-reactive",g.reactive),typeof globalThis<"u"&&(globalThis.Fluixi=g)}function F(){let t=[g.core,g.dom,g.reactive].filter(e=>e!==void 0);new Set(t).size<=1||console.warn(`[fluixi] package versions disagree — core ${g.core??"(absent)"}, dom ${g.dom}, reactive ${g.reactive}. These ship as one release, so a mismatch usually means a stale lockfile or two copies resolved side by side. Reinstall, or check for duplicates with \`pnpm why @fluixi/dom\`.`)}function b(t){return typeof t=="function"&&t[Symbol.for("fluixi-component")]===!0}import{batch as oe,createEffect as je,createRenderEffect as re,createRoot as ie,onCleanup as se,readChildren as Fe}from"@fluixi/reactive/signal";var w=typeof document>"u";var W=Symbol.for("fluixi.server-node"),V=null;function $(){if(!V)throw new Error("[fluixi] server render ran before @fluixi/dom/server loaded");return V}function _(t){return t!=null&&t[W]===!0?!0:typeof Node<"u"&&t instanceof Node}function K(t){return t!=null&&t[W]===!0?t.nodeType===3:typeof Text<"u"&&t instanceof Text}var l={active:!1,cursor:null,parents:[]},B=null;function G(t){B=t}function k(){return B}function O(t,e){return l.active&&e.parentNode===t}function J(t){let e=l.parents.lastIndexOf(t);e!==-1&&(l.parents.length=e),l.cursor=t.nextSibling}function E(t,e=!1){if(w)return $().createText(t);if(l.active&&!e){let n=k()?.hydrateText(t);if(n)return n}return document.createTextNode(t)}function X(t,e=!1){if(w)return $().createElement(t,e);if(l.active){let n=k()?.hydrateElement(t);if(n)return n}return e?document.createElementNS(q,t):document.createElement(t)}var h=0,ae=200;function fe(t,e,n,i,u){let a=i,s=new Map;return re(()=>{let o;if(b(t)&&!m(t)){if(!s.has(t)){h++;try{let r=t();s.set(t,r)}finally{h--}}for(o=s.get(t);typeof o=="function"&&m(o);)o=o()}else for(o=t();typeof o=="function"&&m(o);)o=o();{let r=0;for(;typeof o=="function"&&r++<50;)if(b(o)){if(!s.has(o)){let f=o;h++;try{let c=f();s.set(f,c)}finally{h--}}o=s.get(o)}else if(m(o))o=o();else if(o=o(),typeof o!="function"||!m(o)&&!b(o))break}h++;try{a=A(e,o,n,a,s),u(a)}finally{h--}})}function T(t,e,n,i){if(h>ae)return console.error("[insert] Exceeded max call depth — possible infinite loop."),()=>null;n!==void 0&&!n&&(n=E("",!0),t.appendChild(n));let u=i??null,a=r=>Array.isArray(r)&&r.some(f=>typeof f=="function"),s=r=>typeof r=="function"?r:()=>r;if(typeof e!="function"&&!a(e)){h++;try{u=A(t,e,n,u)}finally{h--}return()=>u}let o=fe(s(e),t,n,u,r=>{u=r});return()=>(o?.(),u)}function A(t,e,n,i,u){if(e==null||typeof e=="boolean")return N(t,i,n);if(typeof e=="function")for(;typeof e=="function";)e=e();if(e==null||typeof e=="boolean")return N(t,i,n);if(v(e)){let s=E("",!0);return Array.isArray(i)?i.length>0?(t.replaceChild(s,i[0]),N(t,i.slice(1),n)):y(t,s,n):i?t.replaceChild(s,i):y(t,s,n),e.then(o=>{s.parentNode===t&&A(t,o,s.nextSibling,s)}).catch(o=>{console.error("Error resolving promise in insertExpression:",o)}),s}let a=typeof e;if(a==="string"||a==="number"){if(a==="number"&&(e=String(e)),Array.isArray(i)){if(i.length===0){let o=E(e);return y(t,o,n),o}if(i.length===1&&i[0].nodeType===3)return i[0].data=e,i;i=N(t,i,n)}if(i&&K(i))return i.data=e,i;let s=E(e);return i&&i.parentNode===t?t.replaceChild(s,i):O(t,s)||y(t,s,n),s}if(_(e))return O(t,e)?(J(e),e):Array.isArray(i)?(i.length===0?y(t,e,n):i[0].parentNode===t?(t.replaceChild(e,i[0]),N(t,i.slice(1),n)):y(t,e,n),e):(i?i!==e&&(i.parentNode===t?t.replaceChild(e,i):y(t,e,n)):y(t,e,n),e);if(Array.isArray(e)){let s=[],o=Array.isArray(i)?i:i?[i]:[],r=[];x(e,s,t,n,!0,u,r);let f=ue(t,o,s,n);for(let c of r){let d=T(t,c.sig,c.marker);se(()=>{N(t,d()),c.marker.parentNode===t&&t.removeChild(c.marker)})}return f}if(a==="object"&&e!==null&&typeof e=="object"){let s=e;if("type"in s&&"props"in s){let o=s;if(typeof o.type=="function"){let r=o.type(o.props||{});return A(t,r,n,i)}}}return N(t,i,n)}function x(t,e,n,i,u=!0,a,s){for(let o=0;o<t.length;o++){let r=t[o];if(!(r==null||typeof r=="boolean")){for(;typeof r=="function"&&!v(r)&&!m(r)&&!b(r)&&(r=r(),!(r==null||typeof r=="boolean")););if(!(r==null||typeof r=="boolean")){if(typeof r=="function"){let f;for(b(r)&&!m(r)?(a||(a=new Map),a.has(r)||a.set(r,r()),f=a.get(r)):f=r();typeof f=="function"&&!v(f)&&!m(f)&&!b(f);)a||(a=new Map),a.has(f)||a.set(f,f()),f=a.get(f);if(f==null||typeof f=="boolean")continue;if(typeof f=="function"){if(m(f)){if(s){let d=E("",!0);e.push(d),s.push({marker:d,sig:f});continue}let c=f();for(;typeof c=="function"&&m(c);)c=c();if(c==null||typeof c=="boolean")continue;Array.isArray(c)?x(c,e,n,i,u,a):x([c],e,n,i,u,a);continue}continue}Array.isArray(f)?x(f,e,n,i,u,a,s):x([f],e,n,i,u,a,s);continue}if(v(r)){let f=E("",!0);e.push(f),r.then(c=>{if(f.parentNode){let d=[];if(x([c],d,f.parentNode,void 0,!1,a),d.length>0){f.parentNode.replaceChild(d[0],f);for(let p=1;p<d.length;p++)f.parentNode?.insertBefore(d[p],d[p-1].nextSibling)}}}).catch(c=>console.error("Error resolving promise in array:",c));continue}if(Array.isArray(r)){x(r,e,n,i,u,a,s);continue}if(_(r)){e.push(r);continue}if(typeof r=="object"&&r!==null&&"type"in r&&"props"in r){let f=r;if(typeof f.type=="function"){let c=f.type(f.props||{});Array.isArray(c)?x(c,e,n,i,!1,a):x([c],e,n,i,!1,a);continue}}if(typeof r=="string"||typeof r=="number"){let f=String(r);if(f.trim()===""&&f!==" ")continue;e.push(E(f));continue}e.push(E(String(r)))}}}}function ue(t,e,n,i){for(let d=0;d<n.length;d++){let p=n[d].parentNode;p!==null&&p!==t&&p.nodeType!==11&&(n=n.slice(),n[d]=n[d].cloneNode(!0))}let u=n.length,a=e.length,s=u,o=0,r=0,f=a>0?e[a-1].nextSibling??void 0:i,c=null;for(;o<a||r<s;){if(e[o]===n[r]){o++,r++;continue}for(;a>o&&s>r&&e[a-1]===n[s-1];)a--,s--;if(a===o){let d=s<u?r?n[r-1].nextSibling??void 0:n[s-r]:f;for(;r<s;)y(t,n[r++],d)}else if(s===r)for(;o<a;)(!c||!c.has(e[o]))&&e[o].parentNode===t&&t.removeChild(e[o]),o++;else if(e[o]===n[s-1]&&n[r]===e[a-1]){let d=e[--a].nextSibling;y(t,n[r++],e[o++].nextSibling),y(t,n[--s],d),e[a]=e[o-1]}else{if(!c){c=new Map;let p=r;for(;p<s;)c.set(n[p],p++)}let d=c.get(e[o]);if(d!=null)if(r<d&&d<s){let p=o,M=1;for(;++p<a&&p<s&&!(!c.has(e[p])||c.get(e[p])!==d+M);)M++;if(M>d-r){let te=e[o];for(;r<d;)y(t,n[r++],te)}else e[o].parentNode===t?t.replaceChild(n[r++],e[o++]):(y(t,n[r++],f),o++)}else o++;else e[o].parentNode===t&&t.removeChild(e[o]),o++}}return n}function N(t,e,n){if(e)if(Array.isArray(e))for(let i=0;i<e.length;i++)e[i].parentNode===t&&t.removeChild(e[i]);else e.parentNode===t&&t.removeChild(e);return null}function y(t,e,n){l.active&&e.parentNode===t||(n&&n.parentNode===t?t.insertBefore(e,n):t.appendChild(e))}function v(t){return t!=null&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function"||t instanceof Promise}function z(t,e,n){if(!e)throw new Error("Container element is required");let i,u,a=[];return ie(s=>{oe(()=>{l.active||(e.textContent=""),j(e),F(),T(e,t)}),u=s}),()=>{u?.(),i?.(),a.forEach(s=>s()),e.textContent=""}}var C,le={getStore:()=>C,run(t,e){let n=C;C=t;try{return e()}finally{C=n}}},ce=le;function U(){return ce.getStore()}import{setResourceIdSource as pe,setServerDataGetter as ye}from"@fluixi/reactive/signal";var de="__FX_DATA__";var D;function Y(){let t=globalThis.__FX_DATA__;if(t)return t;if(D!==void 0)return D;let e=null;if(typeof document<"u"){let n=document.getElementById(de)?.textContent;if(n)try{e=JSON.parse(n)}catch{e=null}}return D=e}function R(){for(;;){for(;l.cursor&&l.cursor.nodeType===3&&l.cursor.data==="";)l.cursor=l.cursor.nextSibling;if(l.cursor!=null||!l.parents.length)return;l.cursor=l.parents.pop().nextSibling}}var ge=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),L=typeof process<"u"&&process.env&&!1;function P(t,e){let n=e.nodeType===1?`<${e.tagName.toLowerCase()}>`:e.nodeType===3?`text ${JSON.stringify((e.nodeValue??"").slice(0,24))}`:e.nodeType===8?"comment":"node";console.warn(`[fluixi] hydration mismatch: expected ${t} but the server DOM has ${n}. Server and client rendered different markup; recreating this node on the client. Check for non-deterministic render (Date.now(), Math.random(), browser-only branches, untransported data).`)}function me(t){R();let e=l.cursor;return e&&e.nodeType===1&&e.tagName.toLowerCase()===t.toLowerCase()?(ge.has(t.toLowerCase())?l.cursor=e.nextSibling:(l.parents.push(e),l.cursor=e.firstChild),e):(L&&e&&P(`<${t}>`,e),null)}function xe(t){R();let e=l.cursor;return e&&e.nodeType===1&&e.tagName.toLowerCase()===t.toLowerCase()?(l.cursor=e.nextSibling,e):(L&&e&&P(`<${t}> (static)`,e),null)}function he(t){if(t===""){let n=l.cursor;return n&&n.nodeType===3&&n.data!==""?(l.cursor=n.nextSibling,n.data="",n):null}R();let e=l.cursor;return e&&e.nodeType===3?(l.cursor=e.nextSibling,e.nodeValue!==t&&(e.nodeValue=t),e):(L&&e&&P(`text ${JSON.stringify(t.slice(0,24))}`,e),null)}function Ee(t){R();let e=l.cursor;return e&&e.nodeType===8&&e.data===t?(l.cursor=e.nextSibling,e):(L&&e&&P(`marker <!--${t.slice(0,24)}-->`,e),null)}var Z=!1;function be(){Z||(Z=!0,G({hydrateElement:me,hydrateText:he,hydrateMarker:Ee,hydrateStatic:xe}))}function Q(t,e,n){be(),l.active=!0,l.cursor=e.firstChild,l.parents=[];let i=Y(),u=n?.resourceNamespace,a=0;pe(()=>u?`${u}:r${a++}`:`r${a++}`),ye(i?s=>s in i?{value:i[s]}:void 0:null);try{return z(t,e)}finally{l.active=!1,l.cursor=null,l.parents=[]}}var I="fluixi-island";function rt(t){let{component:e,props:n={},name:i}=t,u=X(I),a=i??e.name??"Island";S(u,"name",a),S(u,"props",JSON.stringify(n??{}));let s=w?U():void 0;if(s){let o=s.nextIslandNamespace(a);T(u,()=>s.withResourceScope(o,()=>e(n)))}else T(u,()=>e(n));return u}var ee=!1;function Ne(){if(ee||typeof document>"u")return;ee=!0;let t=document.createElement("style");t.textContent=`${I}{display:contents}`,document.head.appendChild(t)}function it(t){if(typeof document>"u")return;Ne();let e=document.querySelectorAll(I),n=new Map;e.forEach(i=>{let u=i.getAttribute("name")??"",a=n.get(u)??0;n.set(u,a+1);let s=t[u];if(!s){typeof process>"u"&&console.warn(`[fluixi] island "${u}" has no component in the registry — left static.`);return}let o={};try{o=JSON.parse(i.getAttribute("props")||"{}")}catch{}Q(()=>s(o),i,{resourceNamespace:`${u}#${a}`})})}export{rt as Island,it as hydrateIslands};
|
|
1
|
+
import{isSignal as m}from"@fluixi/reactive/signal";var q="http://www.w3.org/2000/svg";function S(t,e,n,i=!1){if(n==null||n===!1){t.removeAttribute(e);return}if(n===!0){t.setAttribute(e,"");return}if(typeof n=="object"){t.setAttribute(e,JSON.stringify(n));return}t.setAttribute(e,String(n))}var we=typeof Symbol=="function"&&Symbol.for?Symbol.for("react.element"):60103;var H="1.0.0-alpha.80";import{VERSION as ne}from"@fluixi/reactive/version";var g={dom:H,reactive:ne};function j(t){g.core&&t.setAttribute("fluixi",g.core),t.setAttribute("fx-dom",g.dom),t.setAttribute("fx-reactive",g.reactive),typeof globalThis<"u"&&(globalThis.Fluixi=g)}function F(){let t=[g.core,g.dom,g.reactive].filter(e=>e!==void 0);new Set(t).size<=1||console.warn(`[fluixi] package versions disagree — core ${g.core??"(absent)"}, dom ${g.dom}, reactive ${g.reactive}. These ship as one release, so a mismatch usually means a stale lockfile or two copies resolved side by side. Reinstall, or check for duplicates with \`pnpm why @fluixi/dom\`.`)}function b(t){return typeof t=="function"&&t[Symbol.for("fluixi-component")]===!0}import{batch as oe,createEffect as je,createRenderEffect as re,createRoot as ie,onCleanup as se,readChildren as Fe}from"@fluixi/reactive/signal";var w=typeof document>"u";var W=Symbol.for("fluixi.server-node"),V=null;function $(){if(!V)throw new Error("[fluixi] server render ran before @fluixi/dom/server loaded");return V}function _(t){return t!=null&&t[W]===!0?!0:typeof Node<"u"&&t instanceof Node}function K(t){return t!=null&&t[W]===!0?t.nodeType===3:typeof Text<"u"&&t instanceof Text}var l={active:!1,cursor:null,parents:[]},B=null;function G(t){B=t}function k(){return B}function O(t,e){return l.active&&e.parentNode===t}function J(t){let e=l.parents.lastIndexOf(t);e!==-1&&(l.parents.length=e),l.cursor=t.nextSibling}function E(t,e=!1){if(w)return $().createText(t);if(l.active&&!e){let n=k()?.hydrateText(t);if(n)return n}return document.createTextNode(t)}function X(t,e=!1){if(w)return $().createElement(t,e);if(l.active){let n=k()?.hydrateElement(t);if(n)return n}return e?document.createElementNS(q,t):document.createElement(t)}var h=0,ae=200;function fe(t,e,n,i,u){let a=i,s=new Map;return re(()=>{let o;if(b(t)&&!m(t)){if(!s.has(t)){h++;try{let r=t();s.set(t,r)}finally{h--}}for(o=s.get(t);typeof o=="function"&&m(o);)o=o()}else for(o=t();typeof o=="function"&&m(o);)o=o();{let r=0;for(;typeof o=="function"&&r++<50;)if(b(o)){if(!s.has(o)){let f=o;h++;try{let c=f();s.set(f,c)}finally{h--}}o=s.get(o)}else if(m(o))o=o();else if(o=o(),typeof o!="function"||!m(o)&&!b(o))break}h++;try{a=A(e,o,n,a,s),u(a)}finally{h--}})}function T(t,e,n,i){if(h>ae)return console.error("[insert] Exceeded max call depth — possible infinite loop."),()=>null;n!==void 0&&!n&&(n=E("",!0),t.appendChild(n));let u=i??null,a=r=>Array.isArray(r)&&r.some(f=>typeof f=="function"),s=r=>typeof r=="function"?r:()=>r;if(typeof e!="function"&&!a(e)){h++;try{u=A(t,e,n,u)}finally{h--}return()=>u}let o=fe(s(e),t,n,u,r=>{u=r});return()=>(o?.(),u)}function A(t,e,n,i,u){if(e==null||typeof e=="boolean")return N(t,i,n);if(typeof e=="function")for(;typeof e=="function";)e=e();if(e==null||typeof e=="boolean")return N(t,i,n);if(v(e)){let s=E("",!0);return Array.isArray(i)?i.length>0?(t.replaceChild(s,i[0]),N(t,i.slice(1),n)):y(t,s,n):i?t.replaceChild(s,i):y(t,s,n),e.then(o=>{s.parentNode===t&&A(t,o,s.nextSibling,s)}).catch(o=>{console.error("Error resolving promise in insertExpression:",o)}),s}let a=typeof e;if(a==="string"||a==="number"){if(a==="number"&&(e=String(e)),Array.isArray(i)){if(i.length===0){let o=E(e);return y(t,o,n),o}if(i.length===1&&i[0].nodeType===3)return i[0].data=e,i;i=N(t,i,n)}if(i&&K(i))return i.data=e,i;let s=E(e);return i&&i.parentNode===t?t.replaceChild(s,i):O(t,s)||y(t,s,n),s}if(_(e))return O(t,e)?(J(e),e):Array.isArray(i)?(i.length===0?y(t,e,n):i[0].parentNode===t?(t.replaceChild(e,i[0]),N(t,i.slice(1),n)):y(t,e,n),e):(i?i!==e&&(i.parentNode===t?t.replaceChild(e,i):y(t,e,n)):y(t,e,n),e);if(Array.isArray(e)){let s=[],o=Array.isArray(i)?i:i?[i]:[],r=[];x(e,s,t,n,!0,u,r);let f=ue(t,o,s,n);for(let c of r){let d=T(t,c.sig,c.marker);se(()=>{N(t,d()),c.marker.parentNode===t&&t.removeChild(c.marker)})}return f}if(a==="object"&&e!==null&&typeof e=="object"){let s=e;if("type"in s&&"props"in s){let o=s;if(typeof o.type=="function"){let r=o.type(o.props||{});return A(t,r,n,i)}}}return N(t,i,n)}function x(t,e,n,i,u=!0,a,s){for(let o=0;o<t.length;o++){let r=t[o];if(!(r==null||typeof r=="boolean")){for(;typeof r=="function"&&!v(r)&&!m(r)&&!b(r)&&(r=r(),!(r==null||typeof r=="boolean")););if(!(r==null||typeof r=="boolean")){if(typeof r=="function"){let f;for(b(r)&&!m(r)?(a||(a=new Map),a.has(r)||a.set(r,r()),f=a.get(r)):f=r();typeof f=="function"&&!v(f)&&!m(f)&&!b(f);)a||(a=new Map),a.has(f)||a.set(f,f()),f=a.get(f);if(f==null||typeof f=="boolean")continue;if(typeof f=="function"){if(m(f)){if(s){let d=E("",!0);e.push(d),s.push({marker:d,sig:f});continue}let c=f();for(;typeof c=="function"&&m(c);)c=c();if(c==null||typeof c=="boolean")continue;Array.isArray(c)?x(c,e,n,i,u,a):x([c],e,n,i,u,a);continue}continue}Array.isArray(f)?x(f,e,n,i,u,a,s):x([f],e,n,i,u,a,s);continue}if(v(r)){let f=E("",!0);e.push(f),r.then(c=>{if(f.parentNode){let d=[];if(x([c],d,f.parentNode,void 0,!1,a),d.length>0){f.parentNode.replaceChild(d[0],f);for(let p=1;p<d.length;p++)f.parentNode?.insertBefore(d[p],d[p-1].nextSibling)}}}).catch(c=>console.error("Error resolving promise in array:",c));continue}if(Array.isArray(r)){x(r,e,n,i,u,a,s);continue}if(_(r)){e.push(r);continue}if(typeof r=="object"&&r!==null&&"type"in r&&"props"in r){let f=r;if(typeof f.type=="function"){let c=f.type(f.props||{});Array.isArray(c)?x(c,e,n,i,!1,a):x([c],e,n,i,!1,a);continue}}if(typeof r=="string"||typeof r=="number"){let f=String(r);if(f.trim()===""&&f!==" ")continue;e.push(E(f));continue}e.push(E(String(r)))}}}}function ue(t,e,n,i){for(let d=0;d<n.length;d++){let p=n[d].parentNode;p!==null&&p!==t&&p.nodeType!==11&&(n=n.slice(),n[d]=n[d].cloneNode(!0))}let u=n.length,a=e.length,s=u,o=0,r=0,f=a>0?e[a-1].nextSibling??void 0:i,c=null;for(;o<a||r<s;){if(e[o]===n[r]){o++,r++;continue}for(;a>o&&s>r&&e[a-1]===n[s-1];)a--,s--;if(a===o){let d=s<u?r?n[r-1].nextSibling??void 0:n[s-r]:f;for(;r<s;)y(t,n[r++],d)}else if(s===r)for(;o<a;)(!c||!c.has(e[o]))&&e[o].parentNode===t&&t.removeChild(e[o]),o++;else if(e[o]===n[s-1]&&n[r]===e[a-1]){let d=e[--a].nextSibling;y(t,n[r++],e[o++].nextSibling),y(t,n[--s],d),e[a]=e[o-1]}else{if(!c){c=new Map;let p=r;for(;p<s;)c.set(n[p],p++)}let d=c.get(e[o]);if(d!=null)if(r<d&&d<s){let p=o,M=1;for(;++p<a&&p<s&&!(!c.has(e[p])||c.get(e[p])!==d+M);)M++;if(M>d-r){let te=e[o];for(;r<d;)y(t,n[r++],te)}else e[o].parentNode===t?t.replaceChild(n[r++],e[o++]):(y(t,n[r++],f),o++)}else o++;else e[o].parentNode===t&&t.removeChild(e[o]),o++}}return n}function N(t,e,n){if(e)if(Array.isArray(e))for(let i=0;i<e.length;i++)e[i].parentNode===t&&t.removeChild(e[i]);else e.parentNode===t&&t.removeChild(e);return null}function y(t,e,n){l.active&&e.parentNode===t||(n&&n.parentNode===t?t.insertBefore(e,n):t.appendChild(e))}function v(t){return t!=null&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function"||t instanceof Promise}function z(t,e,n){if(!e)throw new Error("Container element is required");let i,u,a=[];return ie(s=>{oe(()=>{l.active||(e.textContent=""),j(e),F(),T(e,t)}),u=s}),()=>{u?.(),i?.(),a.forEach(s=>s()),e.textContent=""}}var C,le={getStore:()=>C,run(t,e){let n=C;C=t;try{return e()}finally{C=n}}},ce=le;function U(){return ce.getStore()}import{setResourceIdSource as pe,setServerDataGetter as ye}from"@fluixi/reactive/signal";var de="__FX_DATA__";var D;function Y(){let t=globalThis.__FX_DATA__;if(t)return t;if(D!==void 0)return D;let e=null;if(typeof document<"u"){let n=document.getElementById(de)?.textContent;if(n)try{e=JSON.parse(n)}catch{e=null}}return D=e}function R(){for(;;){for(;l.cursor&&l.cursor.nodeType===3&&l.cursor.data==="";)l.cursor=l.cursor.nextSibling;if(l.cursor!=null||!l.parents.length)return;l.cursor=l.parents.pop().nextSibling}}var ge=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),L=typeof process<"u"&&process.env&&!1;function P(t,e){let n=e.nodeType===1?`<${e.tagName.toLowerCase()}>`:e.nodeType===3?`text ${JSON.stringify((e.nodeValue??"").slice(0,24))}`:e.nodeType===8?"comment":"node";console.warn(`[fluixi] hydration mismatch: expected ${t} but the server DOM has ${n}. Server and client rendered different markup; recreating this node on the client. Check for non-deterministic render (Date.now(), Math.random(), browser-only branches, untransported data).`)}function me(t){R();let e=l.cursor;return e&&e.nodeType===1&&e.tagName.toLowerCase()===t.toLowerCase()?(ge.has(t.toLowerCase())?l.cursor=e.nextSibling:(l.parents.push(e),l.cursor=e.firstChild),e):(L&&e&&P(`<${t}>`,e),null)}function xe(t){R();let e=l.cursor;return e&&e.nodeType===1&&e.tagName.toLowerCase()===t.toLowerCase()?(l.cursor=e.nextSibling,e):(L&&e&&P(`<${t}> (static)`,e),null)}function he(t){if(t===""){let n=l.cursor;return n&&n.nodeType===3&&n.data!==""?(l.cursor=n.nextSibling,n.data="",n):null}R();let e=l.cursor;return e&&e.nodeType===3?(l.cursor=e.nextSibling,e.nodeValue!==t&&(e.nodeValue=t),e):(L&&e&&P(`text ${JSON.stringify(t.slice(0,24))}`,e),null)}function Ee(t){R();let e=l.cursor;return e&&e.nodeType===8&&e.data===t?(l.cursor=e.nextSibling,e):(L&&e&&P(`marker <!--${t.slice(0,24)}-->`,e),null)}var Z=!1;function be(){Z||(Z=!0,G({hydrateElement:me,hydrateText:he,hydrateMarker:Ee,hydrateStatic:xe}))}function Q(t,e,n){be(),l.active=!0,l.cursor=e.firstChild,l.parents=[];let i=Y(),u=n?.resourceNamespace,a=0;pe(()=>u?`${u}:r${a++}`:`r${a++}`),ye(i?s=>s in i?{value:i[s]}:void 0:null);try{return z(t,e)}finally{l.active=!1,l.cursor=null,l.parents=[]}}var I="fluixi-island";function rt(t){let{component:e,props:n={},name:i}=t,u=X(I),a=i??e.name??"Island";S(u,"name",a),S(u,"props",JSON.stringify(n??{}));let s=w?U():void 0;if(s){let o=s.nextIslandNamespace(a);T(u,()=>s.withResourceScope(o,()=>e(n)))}else T(u,()=>e(n));return u}var ee=!1;function Ne(){if(ee||typeof document>"u")return;ee=!0;let t=document.createElement("style");t.textContent=`${I}{display:contents}`,document.head.appendChild(t)}function it(t){if(typeof document>"u")return;Ne();let e=document.querySelectorAll(I),n=new Map;e.forEach(i=>{let u=i.getAttribute("name")??"",a=n.get(u)??0;n.set(u,a+1);let s=t[u];if(!s){typeof process>"u"&&console.warn(`[fluixi] island "${u}" has no component in the registry — left static.`);return}let o={};try{o=JSON.parse(i.getAttribute("props")||"{}")}catch{}Q(()=>s(o),i,{resourceNamespace:`${u}#${a}`})})}export{rt as Island,it as hydrateIslands};
|
package/dist/lib/dom/runtime.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var k=Object.defineProperty;var pe=Object.getOwnPropertyDescriptor;var ye=Object.getOwnPropertyNames;var ge=Object.prototype.hasOwnProperty;var he=(e,t)=>{for(var n in t)k(e,n,{get:t[n],enumerable:!0})},me=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ye(t))!ge.call(e,s)&&s!==n&&k(e,s,{get:()=>t[s],enumerable:!(o=pe(t,s))||o.enumerable});return e};var xe=e=>me(k({},"__esModule",{value:!0}),e);var Ue={};he(Ue,{addDelegatedEventListener:()=>ae,addNativeEventListener:()=>J,applyProps:()=>Ie,applyUse:()=>U,bindPair:()=>Je,cleanChildren:()=>N,cloneTemplate:()=>ue,createNativeElement:()=>Pe,createPortal:()=>Ke,createTemplate:()=>le,delegateEvents:()=>z,escapeHTML:()=>Ge,fnName:()=>$e,generateID:()=>Se,getStableElementId:()=>we,handleRef:()=>Z,holeContent:()=>He,holeEnd:()=>Oe,holeScope:()=>Re,insert:()=>X,insertExpression:()=>C,isAccessor:()=>ze,isDelegatedEvent:()=>Ce,isFunction:()=>Le,isNativeElement:()=>Be,isPromise:()=>A,isSVGElement:()=>qe,iterateFn:()=>je,makeArrayFlat:()=>ce,mergeProps:()=>Ve,removeDelegatedEventListener:()=>G,render:()=>Xe,setClassList:()=>M,setClassName:()=>P,setDynamicAttribute:()=>j,setDynamicBoolAttribute:()=>Y,setDynamicProperty:()=>F,setProperty:()=>L,setStyle:()=>R,splitProps:()=>We,spread:()=>ke,templateNode:()=>Me});module.exports=xe(Ue);var g=require("@fluixi/reactive/signal");var I="http://www.w3.org/2000/svg";function be(e){return e.localName.includes("-")}function V(e,t,n,o=!1){if(n==null){e.removeAttribute(t);return}if(be(e)){e[t]=n;return}w(e,t,n,o)}var W=new Set(["className","value","checked","selected","innerHTML","innerText","textContent","indeterminate","htmlFor"]);function w(e,t,n,o=!1){if(n==null||n===!1){e.removeAttribute(t);return}if(n===!0){e.setAttribute(t,"");return}if(typeof n=="object"){e.setAttribute(t,JSON.stringify(n));return}e.setAttribute(t,String(n))}var Ze=typeof Symbol=="function"&&Symbol.for?Symbol.for("react.element"):60103;var Q="1.0.0-alpha.79";var ee=require("@fluixi/reactive/version"),m={dom:Q,reactive:ee.VERSION};function te(e){m.core&&e.setAttribute("fluixi",m.core),e.setAttribute("fx-dom",m.dom),e.setAttribute("fx-reactive",m.reactive),typeof globalThis<"u"&&(globalThis.Fluixi=m)}function ne(){let e=[m.core,m.dom,m.reactive].filter(t=>t!==void 0);new Set(e).size<=1||console.warn(`[fluixi] package versions disagree — core ${m.core??"(absent)"}, dom ${m.dom}, reactive ${m.reactive}. These ship as one release, so a mismatch usually means a stale lockfile or two copies resolved side by side. Reinstall, or check for duplicates with \`pnpm why @fluixi/dom\`.`)}function x(e){return typeof e=="function"&&e[Symbol.for("fluixi-component")]===!0}var u=require("@fluixi/reactive/signal");var S=typeof document>"u";var K=Symbol.for("fluixi.server-node"),oe=null;function O(){if(!oe)throw new Error("[fluixi] server render ran before @fluixi/dom/server loaded");return oe}function v(e){return e!=null&&e[K]===!0?!0:typeof Node<"u"&&e instanceof Node}function ie(e){return e!=null&&e[K]===!0?e.nodeType===1:typeof Element<"u"&&e instanceof Element}function re(e){return e!=null&&e[K]===!0?e.nodeType===3:typeof Text<"u"&&e instanceof Text}var p={active:!1,cursor:null,parents:[]},Ee=null;function H(){return Ee}function B(e,t){return p.active&&t.parentNode===e}function se(e){let t=p.parents.lastIndexOf(e);t!==-1&&(p.parents.length=t),p.cursor=e.nextSibling}function q(e,t){if(!e||e.parentNode==null)return t();let n=p.active,o=p.cursor,s=p.parents;p.active=!0,p.cursor=e,p.parents=[];try{return t()}finally{p.active=n,p.cursor=o,p.parents=s}}function Ne(e){let t=[];for(;e&&e.nodeType===1;){let n=e.tagName.toLowerCase();if(e.id){n+=`#${e.id}`,t.unshift(n);break}e.getAttribute("data-id")&&(n+=`[data-id="${e.getAttribute("data-id")}"]`);let o=0,s=e;for(;s=s.previousElementSibling;)s.tagName===e.tagName&&o++;n+=`:nth-of-type(${o+1})`,t.unshift(n),e=e.parentElement}return t.join(">")}function Te(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return`el_${Math.abs(t)}`}function we(e){return Te(Ne(e))}var Se=()=>"xxyxxxxxxy-4xx8".replace(/[xy]/g,function(e){let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),ve={};var fe=new Map,$=new Set,D=new Set(["scroll","focus","blur","load","error","resize","mouseenter","mouseleave","pointerenter","pointerleave","gotpointercapture","lostpointercapture"]);function z(e){if(!S)for(let t of e)$.has(t)||D.has(t)||($.add(t),document.addEventListener(t,Ae))}function Ae(e){let t=`$$${e.type}`,n=e.composedPath&&e.composedPath()[0]||e.target;for(;n;){let o=n[t];if(o&&!n.disabled&&(o(e),e.cancelBubble))return;n=n.host&&n.host!==n&&n.host instanceof Element?n.host:n.parentNode}}function ae(e,t,n){if(e[`$$${t}`]=n,D.has(t)){let o=`__fx_${t}`;if(!e[o]){let s=a=>{e[`$$${t}`]?.(a)};e.addEventListener(t,s),e[o]=s}return}$.has(t)||z([t])}function G(e,t){delete e[`$$${t}`];let n=`__fx_${t}`,o=e[n];o&&(e.removeEventListener(t,o),delete e[n])}function Ce(e){return!D.has(e)}function Le(e){return typeof e=="function"}function T(e,t=!1){if(S)return O().createText(e);if(p.active&&!t){let n=H()?.hydrateText(e);if(n)return n}return document.createTextNode(e)}function Pe(e,t=!1){if(S)return O().createElement(e,t);if(p.active){let n=H()?.hydrateElement(e);if(n)return n}return t?document.createElementNS(I,e):document.createElement(e)}function le(e,t=!1){let n=fe.get(e);if(n)return n;let o=document.createElement("template");return t?o.innerHTML=`<svg>${e}</svg>`:o.innerHTML=e,fe.set(e,o),o}function Me(e,t,n=!1,o=!1){if(S){let s=O();return n?s.parseTemplate(e,o):s.createRaw(e)}if(p.active){let s=H()?.hydrateStatic(t);if(s)return s}return ue(le(e,o),o).firstChild}function Re(e,t){if(!p.active)return t();let n=q(e.nextSibling,t);if(typeof n=="function"){let o=n;return((...s)=>p.active?q(e.nextSibling,()=>o(...s)):o(...s))}return n}function Oe(e){for(let t=e.nextSibling;t;t=t.nextSibling)if(t.nodeType===8&&t.data==="fx/")return t;throw new Error("[fluixi] template hole is missing its closing marker")}function He(e,t){let n=[];for(let o=e.nextSibling;o&&o!==t;o=o.nextSibling)n.push(o);return n}function ue(e,t=!1){let n=e.content.cloneNode(!0);return t?n.firstChild:n}function ce(e){return Array.isArray(e)?e.length===2&&e[1]===" "?Array.isArray(e[0])?ce(e[0]):(typeof e[0]=="function",e[0]):e.length===1&&typeof e[0]=="function"?e[0]:e:e}function $e(e){return typeof e!="function"?null:e._name||e.name||"anonymous"}function je(e){if((0,g.isSignal)(e)||x(e)||typeof e!="function")return e;let t=e();for(;typeof t=="function"&&!(0,g.isSignal)(t)&&!x(t);)t=t();return t}var E=0,Fe=200;function De(e,t,n,o,s){let a=o,f=new Map;return(0,u.createRenderEffect)(()=>{let r;if(x(e)&&!(0,g.isSignal)(e)){if(!f.has(e)){E++;try{let i=e();f.set(e,i)}finally{E--}}for(r=f.get(e);typeof r=="function"&&(0,g.isSignal)(r);)r=r()}else for(r=e();typeof r=="function"&&(0,g.isSignal)(r);)r=r();{let i=0;for(;typeof r=="function"&&i++<50;)if(x(r)){if(!f.has(r)){let l=r;E++;try{let c=l();f.set(l,c)}finally{E--}}r=f.get(r)}else if((0,g.isSignal)(r))r=r();else if(r=r(),typeof r!="function"||!(0,g.isSignal)(r)&&!x(r))break}E++;try{a=C(t,r,n,a,f),s(a)}finally{E--}})}function X(e,t,n,o){if(E>Fe)return console.error("[insert] Exceeded max call depth — possible infinite loop."),()=>null;n!==void 0&&!n&&(n=T("",!0),e.appendChild(n));let s=o??null,a=i=>Array.isArray(i)&&i.some(l=>typeof l=="function"),f=i=>typeof i=="function"?i:()=>i;if(typeof t!="function"&&!a(t)){E++;try{s=C(e,t,n,s)}finally{E--}return()=>s}let r=De(f(t),e,n,s,i=>{s=i});return()=>(r?.(),s)}function C(e,t,n,o,s){if(t==null||typeof t=="boolean")return N(e,o,n);if(typeof t=="function")for(;typeof t=="function";)t=t();if(t==null||typeof t=="boolean")return N(e,o,n);if(A(t)){let f=T("",!0);return Array.isArray(o)?o.length>0?(e.replaceChild(f,o[0]),N(e,o.slice(1),n)):h(e,f,n):o?e.replaceChild(f,o):h(e,f,n),t.then(r=>{f.parentNode===e&&C(e,r,f.nextSibling,f)}).catch(r=>{console.error("Error resolving promise in insertExpression:",r)}),f}let a=typeof t;if(a==="string"||a==="number"){if(a==="number"&&(t=String(t)),Array.isArray(o)){if(o.length===0){let r=T(t);return h(e,r,n),r}if(o.length===1&&o[0].nodeType===3)return o[0].data=t,o;o=N(e,o,n)}if(o&&re(o))return o.data=t,o;let f=T(t);return o&&o.parentNode===e?e.replaceChild(f,o):B(e,f)||h(e,f,n),f}if(v(t))return B(e,t)?(se(t),t):Array.isArray(o)?(o.length===0?h(e,t,n):o[0].parentNode===e?(e.replaceChild(t,o[0]),N(e,o.slice(1),n)):h(e,t,n),t):(o?o!==t&&(o.parentNode===e?e.replaceChild(t,o):h(e,t,n)):h(e,t,n),t);if(Array.isArray(t)){let f=[],r=Array.isArray(o)?o:o?[o]:[],i=[];b(t,f,e,n,!0,s,i);let l=_e(e,r,f,n);for(let c of i){let d=X(e,c.sig,c.marker);(0,u.onCleanup)(()=>{N(e,d()),c.marker.parentNode===e&&e.removeChild(c.marker)})}return l}if(a==="object"&&t!==null&&typeof t=="object"){let f=t;if("type"in f&&"props"in f){let r=f;if(typeof r.type=="function"){let i=r.type(r.props||{});return C(e,i,n,o)}}}return N(e,o,n)}function b(e,t,n,o,s=!0,a,f){for(let r=0;r<e.length;r++){let i=e[r];if(!(i==null||typeof i=="boolean")){for(;typeof i=="function"&&!A(i)&&!(0,g.isSignal)(i)&&!x(i)&&(i=i(),!(i==null||typeof i=="boolean")););if(!(i==null||typeof i=="boolean")){if(typeof i=="function"){let l;for(x(i)&&!(0,g.isSignal)(i)?(a||(a=new Map),a.has(i)||a.set(i,i()),l=a.get(i)):l=i();typeof l=="function"&&!A(l)&&!(0,g.isSignal)(l)&&!x(l);)a||(a=new Map),a.has(l)||a.set(l,l()),l=a.get(l);if(l==null||typeof l=="boolean")continue;if(typeof l=="function"){if((0,g.isSignal)(l)){if(f){let d=T("",!0);t.push(d),f.push({marker:d,sig:l});continue}let c=l();for(;typeof c=="function"&&(0,g.isSignal)(c);)c=c();if(c==null||typeof c=="boolean")continue;Array.isArray(c)?b(c,t,n,o,s,a):b([c],t,n,o,s,a);continue}continue}Array.isArray(l)?b(l,t,n,o,s,a,f):b([l],t,n,o,s,a,f);continue}if(A(i)){let l=T("",!0);t.push(l),i.then(c=>{if(l.parentNode){let d=[];if(b([c],d,l.parentNode,void 0,!1,a),d.length>0){l.parentNode.replaceChild(d[0],l);for(let y=1;y<d.length;y++)l.parentNode?.insertBefore(d[y],d[y-1].nextSibling)}}}).catch(c=>console.error("Error resolving promise in array:",c));continue}if(Array.isArray(i)){b(i,t,n,o,s,a,f);continue}if(v(i)){t.push(i);continue}if(typeof i=="object"&&i!==null&&"type"in i&&"props"in i){let l=i;if(typeof l.type=="function"){let c=l.type(l.props||{});Array.isArray(c)?b(c,t,n,o,!1,a):b([c],t,n,o,!1,a);continue}}if(typeof i=="string"||typeof i=="number"){let l=String(i);if(l.trim()===""&&l!==" ")continue;t.push(T(l));continue}t.push(T(String(i)))}}}}function _e(e,t,n,o){for(let d=0;d<n.length;d++){let y=n[d].parentNode;y!==null&&y!==e&&y.nodeType!==11&&(n=n.slice(),n[d]=n[d].cloneNode(!0))}let s=n.length,a=t.length,f=s,r=0,i=0,l=a>0?t[a-1].nextSibling??void 0:o,c=null;for(;r<a||i<f;){if(t[r]===n[i]){r++,i++;continue}for(;a>r&&f>i&&t[a-1]===n[f-1];)a--,f--;if(a===r){let d=f<s?i?n[i-1].nextSibling??void 0:n[f-i]:l;for(;i<f;)h(e,n[i++],d)}else if(f===i)for(;r<a;)(!c||!c.has(t[r]))&&t[r].parentNode===e&&e.removeChild(t[r]),r++;else if(t[r]===n[f-1]&&n[i]===t[a-1]){let d=t[--a].nextSibling;h(e,n[i++],t[r++].nextSibling),h(e,n[--f],d),t[a]=t[r-1]}else{if(!c){c=new Map;let y=i;for(;y<f;)c.set(n[y],y++)}let d=c.get(t[r]);if(d!=null)if(i<d&&d<f){let y=r,_=1;for(;++y<a&&y<f&&!(!c.has(t[y])||c.get(t[y])!==d+_);)_++;if(_>d-i){let de=t[r];for(;i<d;)h(e,n[i++],de)}else t[r].parentNode===e?e.replaceChild(n[i++],t[r++]):(h(e,n[i++],l),r++)}else r++;else t[r].parentNode===e&&e.removeChild(t[r]),r++}}return n}function N(e,t,n){if(t)if(Array.isArray(t))for(let o=0;o<t.length;o++)t[o].parentNode===e&&e.removeChild(t[o]);else t.parentNode===e&&e.removeChild(t);return null}function h(e,t,n){p.active&&t.parentNode===e||(n&&n.parentNode===e?e.insertBefore(t,n):e.appendChild(t))}function L(e,t,n){n==null?delete e[t]:e[t]=n}function J(e,t,n){let o=n,s;return Array.isArray(n)&&(o=n[0],s=n[1]),typeof o!="function"?()=>{}:(e.addEventListener(t,o,s),()=>e.removeEventListener(t,o,s))}function U(e,t){let n=(o,s)=>{typeof o=="function"&&o(e,s??(()=>{}))};if(typeof t=="function"){n(t);return}if(Array.isArray(t)){if(typeof t[0]=="function"){n(t[0],t[1]);return}for(let o of t)Array.isArray(o)?n(o[0],o[1]):n(o)}}function j(e,t,n,o=!1){return typeof n!="function"?(w(e,t,n,o),()=>{}):(0,u.createRenderEffect)(()=>{let s=typeof n=="function"?n():n;w(e,t,s,o)})}function F(e,t,n){return typeof n!="function"?(L(e,t,n),()=>{}):(0,u.createRenderEffect)(()=>{let o=typeof n=="function"?n():n;L(e,t,o)})}function Y(e,t,n){return typeof n!="function"?(w(e,t,!!n),()=>{}):(0,u.createRenderEffect)(()=>{let o=n();w(e,t,!!o)})}function P(e,t){if(t==null){e.removeAttribute("class");return}if(typeof t=="function"){(0,u.createRenderEffect)(()=>P(e,t()));return}if(typeof t=="string"){e.setAttribute("class",t);return}if(Array.isArray(t)){e.setAttribute("class",t.filter(Boolean).join(" "));return}if(typeof t=="object"){let n=Object.keys(t).filter(o=>{let s=t[o];return typeof s=="function"?s():!!s}).join(" ");e.setAttribute("class",n);return}e.setAttribute("class",String(t))}function M(e,t,n){if(!(!t||typeof t!="object"))for(let o in t){let s=t[o],a=o.split(/\s+/).filter(Boolean);if(typeof s=="function"&&n)n.push((0,u.createRenderEffect)(()=>{let f=!!s();for(let r of a)e.classList.toggle(r,f)}));else{let f=!!(typeof s=="function"?s():s);for(let r of a)e.classList.toggle(r,f)}}}function R(e,t){let n=t;for(;typeof n=="function";)n=n();if(n==null){e.removeAttribute("style");return}if(typeof n=="string"){e.style.cssText=n;return}if(typeof n=="object")for(let o in n){let s=n[o];s==null?e.style[o]="":e.style[o]=s}}function ke(e){let{element:t,props:n,prevProps:o=ve,isSVG:s=!1,skipChildren:a=!1}=e;if(!t||!ie(t))return console.error("[spread] Error: element is not a DOM Element!"),()=>{};if(!n)return console.warn("[spread] Warning: props is undefined!"),()=>{};let f=s||t.namespaceURI===I,r=[];for(let i in n){if(a&&i==="children")continue;let l=n[i],c=o[i];if(l===c)continue;if(i==="ref"){Z(l,t);continue}if(i==="use"){U(t,l);continue}if(i.startsWith("on:")){r.push(J(t,i.slice(3),l));continue}if(i.startsWith("prop:")){r.push(F(t,i.slice(5),l));continue}if(i.startsWith("attr:")){r.push(j(t,i.slice(5),l,f));continue}if(i.startsWith("bool:")){r.push(Y(t,i.slice(5),l));continue}if(i==="class"||i==="className"){typeof l=="function"?r.push((0,u.createRenderEffect)(()=>P(t,l()))):P(t,l);continue}if(i==="classList"){typeof l=="function"?r.push((0,u.createRenderEffect)(()=>M(t,l()))):M(t,l,r);continue}if(i==="style"){typeof l=="function"?r.push((0,u.createRenderEffect)(()=>R(t,l()))):R(t,l);continue}if(i.startsWith("on")){let y=i.slice(2).toLowerCase();c&&G(t,y),l&&ae(t,y,l);continue}let d=W.has(i)||!f&&i in t;typeof l=="function"?r.push(d?F(t,i,l):j(t,i,l,f)):r.push((0,u.createRenderEffect)(()=>d?L(t,i,n[i]):w(t,i,n[i],f)))}for(let i in o)if(!(i in n))if(i.startsWith("on")){let l=i.slice(2).toLowerCase();G(t,l)}else W.has(i)?L(t,i,null):t.removeAttribute(i);return()=>{r.forEach(i=>i())}}function Ie(e,t,n=!1){for(let o in t){let s=t[o];if(o==="ref"){Z(s,e);continue}if(o!=="children"){if(o==="use"){U(e,s);continue}if(o.startsWith("on:")){J(e,o.slice(3),s);continue}if(o.startsWith("prop:")){F(e,o.slice(5),s);continue}if(o.startsWith("attr:")){j(e,o.slice(5),s,n);continue}if(o.startsWith("bool:")){Y(e,o.slice(5),s);continue}if(o.startsWith("on")&&o.length>2){let a=o.slice(2).toLowerCase();if(typeof s=="function")if(D.has(a)){e[`$$${a}`]=s;let f=`__fx_${a}`;if(!e[f]){let r=i=>{e[`$$${a}`]?.(i)};e.addEventListener(a,r),e[f]=r}}else e[`$$${a}`]=s,$.has(a)||z([a]);continue}if(o==="class"||o==="className"){P(e,s);continue}if(o==="classList"){typeof s=="function"?(0,u.createRenderEffect)(()=>M(e,s())):M(e,s);continue}if(o==="style"){typeof s=="function"?(0,u.createRenderEffect)(()=>R(e,s())):R(e,s);continue}if(o==="innerHTML"){if(typeof s=="function"){let a=(0,u.createEffect)(()=>{let f=s();for(;typeof f=="function";)f=f();e.innerHTML=f});(0,u.onCleanup)(()=>a())}else e.innerHTML=s;continue}if(o==="value"&&(e.tagName==="INPUT"||e.tagName==="TEXTAREA")){if(typeof s=="function"){let a=(0,u.createEffect)(()=>{let f=s();for(;typeof f=="function"&&f.length===0;)f=f();document.activeElement!==e&&(e.value=f??"")});(0,u.onCleanup)(()=>{a()})}else(0,u.createRenderEffect)(()=>{document.activeElement!==e&&(e.value=t[o]??"")});continue}if(o==="checked"&&e.tagName==="INPUT"){if(typeof s=="function"){let a=(0,u.createEffect)(()=>{let f=s();for(;typeof f=="function"&&f.length===0;)f=f();document.activeElement!==e&&(e.checked=f??"")});(0,u.onCleanup)(()=>{a()})}else(0,u.createRenderEffect)(()=>{document.activeElement!==e&&(e.checked=t[o]??"")});continue}if(o==="value"&&e.tagName==="SELECT"){if(typeof s=="function"){let a=!0,f=(0,u.createEffect)(()=>{let r=s();for(;typeof r=="function"&&r.length===0;)r=r();a?(a=!1,queueMicrotask(()=>{e.value=r??""})):e.value=r??""});(0,u.onCleanup)(()=>{f()})}else{let a=!0;(0,u.createRenderEffect)(()=>{let f=t[o];a?(a=!1,queueMicrotask(()=>{e.value=f??""})):e.value=f??""})}continue}if(typeof s=="function"){let a=(0,u.createEffect)(()=>{let f=s();for(;typeof f=="function"&&f.length===0;)f=f();V(e,o,f,n)});(0,u.onCleanup)(()=>{a()})}else(0,u.createRenderEffect)(()=>V(e,o,t[o],n))}}}function Ve(...e){let t=o=>{for(let s=e.length-1;s>=0;s--){let a=e[s];if(a&&o in a&&a[o]!==void 0)return a[o]}},n=o=>{for(let s of e)if(s&&o in s)return!0;return!1};return new Proxy({},{get:(o,s)=>t(s),has:(o,s)=>n(s),ownKeys:()=>{let o=new Set;for(let s of e)if(s)for(let a of Reflect.ownKeys(s))o.add(a);return[...o]},getOwnPropertyDescriptor:(o,s)=>n(s)?{enumerable:!0,configurable:!0,get:()=>t(s)}:void 0})}function We(e,...t){let n=new Set;for(let f of t)for(let r of f)n.add(r);let o=f=>({enumerable:!0,configurable:!0,get:()=>e[f]}),s=t.map(f=>{let r=new Set(f);return new Proxy({},{get:(i,l)=>r.has(l)?e[l]:void 0,has:(i,l)=>r.has(l)&&l in e,ownKeys:()=>Array.from(r).filter(i=>i in e),getOwnPropertyDescriptor:(i,l)=>r.has(l)&&l in e?o(l):void 0})}),a=new Proxy({},{get:(f,r)=>n.has(r)?void 0:e[r],has:(f,r)=>!n.has(r)&&r in e,ownKeys:()=>Reflect.ownKeys(e).filter(f=>!n.has(f)),getOwnPropertyDescriptor:(f,r)=>!n.has(r)&&r in e?o(r):void 0});return[...s,a]}function Z(e,t){if(e){if(v(e)){let n=t,o=e;if(!n)return;typeof n=="function"?n(o):typeof n=="object"&&"current"in n&&(n.current=o);return}typeof e=="function"?e(t):typeof e=="object"&&"current"in e&&(e.current=t)}}function Ke(e,t,n){let o=t||document.body,s=(0,u.readChildren)(()=>e),a=[];return(0,u.batch)(()=>{let f=(0,u.createRenderEffect)(()=>{let r=s();Array.isArray(r)?(r.forEach(i=>o.appendChild(i)),a.push(()=>{r.forEach(i=>{i.parentNode===o&&o.removeChild(i)})})):v(r)&&(o.appendChild(r),a.push(()=>{r.parentNode===o&&o.removeChild(r)}))});a.push(f),(0,u.onCleanup)(()=>{a.forEach(r=>r())})}),null}function Be(e){return typeof e=="string"&&e.toLowerCase()===e}function qe(e){return e==="svg"||e==="path"||e==="circle"||e==="rect"||e==="line"||e==="polygon"||e==="polyline"||e==="ellipse"||e==="g"||e==="defs"||e==="clipPath"||e==="text"}function Ge(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function A(e){return e!=null&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"||e instanceof Promise}function ze(e){return typeof e=="function"&&e.length===0&&(0,g.isSignal)(e)}function Xe(e,t,n){if(!t)throw new Error("Container element is required");let o,s,a=[];return(0,u.createRoot)(f=>{(0,u.batch)(()=>{p.active||(t.textContent=""),te(t),ne(),X(t,e)}),s=f}),()=>{s?.(),o?.(),a.forEach(f=>f()),t.textContent=""}}function Je(e){if(Array.isArray(e))return e;if(typeof e=="function"&&typeof e.set=="function")return[e,e.set];throw new TypeError("[fluixi] bind: needs a signal — either `signal(…)` or the `[get, set]` pair from `createSignal(…)`.")}
|
|
1
|
+
"use strict";var k=Object.defineProperty;var pe=Object.getOwnPropertyDescriptor;var ye=Object.getOwnPropertyNames;var ge=Object.prototype.hasOwnProperty;var he=(e,t)=>{for(var n in t)k(e,n,{get:t[n],enumerable:!0})},me=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ye(t))!ge.call(e,s)&&s!==n&&k(e,s,{get:()=>t[s],enumerable:!(o=pe(t,s))||o.enumerable});return e};var xe=e=>me(k({},"__esModule",{value:!0}),e);var Ue={};he(Ue,{addDelegatedEventListener:()=>ae,addNativeEventListener:()=>J,applyProps:()=>Ie,applyUse:()=>U,bindPair:()=>Je,cleanChildren:()=>N,cloneTemplate:()=>ue,createNativeElement:()=>Pe,createPortal:()=>Ke,createTemplate:()=>le,delegateEvents:()=>z,escapeHTML:()=>Ge,fnName:()=>$e,generateID:()=>Se,getStableElementId:()=>we,handleRef:()=>Z,holeContent:()=>He,holeEnd:()=>Oe,holeScope:()=>Re,insert:()=>X,insertExpression:()=>C,isAccessor:()=>ze,isDelegatedEvent:()=>Ce,isFunction:()=>Le,isNativeElement:()=>Be,isPromise:()=>A,isSVGElement:()=>qe,iterateFn:()=>je,makeArrayFlat:()=>ce,mergeProps:()=>Ve,removeDelegatedEventListener:()=>G,render:()=>Xe,setClassList:()=>M,setClassName:()=>P,setDynamicAttribute:()=>j,setDynamicBoolAttribute:()=>Y,setDynamicProperty:()=>F,setProperty:()=>L,setStyle:()=>R,splitProps:()=>We,spread:()=>ke,templateNode:()=>Me});module.exports=xe(Ue);var g=require("@fluixi/reactive/signal");var I="http://www.w3.org/2000/svg";function be(e){return e.localName.includes("-")}function V(e,t,n,o=!1){if(n==null){e.removeAttribute(t);return}if(be(e)){e[t]=n;return}w(e,t,n,o)}var W=new Set(["className","value","checked","selected","innerHTML","innerText","textContent","indeterminate","htmlFor"]);function w(e,t,n,o=!1){if(n==null||n===!1){e.removeAttribute(t);return}if(n===!0){e.setAttribute(t,"");return}if(typeof n=="object"){e.setAttribute(t,JSON.stringify(n));return}e.setAttribute(t,String(n))}var Ze=typeof Symbol=="function"&&Symbol.for?Symbol.for("react.element"):60103;var Q="1.0.0-alpha.80";var ee=require("@fluixi/reactive/version"),m={dom:Q,reactive:ee.VERSION};function te(e){m.core&&e.setAttribute("fluixi",m.core),e.setAttribute("fx-dom",m.dom),e.setAttribute("fx-reactive",m.reactive),typeof globalThis<"u"&&(globalThis.Fluixi=m)}function ne(){let e=[m.core,m.dom,m.reactive].filter(t=>t!==void 0);new Set(e).size<=1||console.warn(`[fluixi] package versions disagree — core ${m.core??"(absent)"}, dom ${m.dom}, reactive ${m.reactive}. These ship as one release, so a mismatch usually means a stale lockfile or two copies resolved side by side. Reinstall, or check for duplicates with \`pnpm why @fluixi/dom\`.`)}function x(e){return typeof e=="function"&&e[Symbol.for("fluixi-component")]===!0}var u=require("@fluixi/reactive/signal");var S=typeof document>"u";var K=Symbol.for("fluixi.server-node"),oe=null;function O(){if(!oe)throw new Error("[fluixi] server render ran before @fluixi/dom/server loaded");return oe}function v(e){return e!=null&&e[K]===!0?!0:typeof Node<"u"&&e instanceof Node}function ie(e){return e!=null&&e[K]===!0?e.nodeType===1:typeof Element<"u"&&e instanceof Element}function re(e){return e!=null&&e[K]===!0?e.nodeType===3:typeof Text<"u"&&e instanceof Text}var p={active:!1,cursor:null,parents:[]},Ee=null;function H(){return Ee}function B(e,t){return p.active&&t.parentNode===e}function se(e){let t=p.parents.lastIndexOf(e);t!==-1&&(p.parents.length=t),p.cursor=e.nextSibling}function q(e,t){if(!e||e.parentNode==null)return t();let n=p.active,o=p.cursor,s=p.parents;p.active=!0,p.cursor=e,p.parents=[];try{return t()}finally{p.active=n,p.cursor=o,p.parents=s}}function Ne(e){let t=[];for(;e&&e.nodeType===1;){let n=e.tagName.toLowerCase();if(e.id){n+=`#${e.id}`,t.unshift(n);break}e.getAttribute("data-id")&&(n+=`[data-id="${e.getAttribute("data-id")}"]`);let o=0,s=e;for(;s=s.previousElementSibling;)s.tagName===e.tagName&&o++;n+=`:nth-of-type(${o+1})`,t.unshift(n),e=e.parentElement}return t.join(">")}function Te(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return`el_${Math.abs(t)}`}function we(e){return Te(Ne(e))}var Se=()=>"xxyxxxxxxy-4xx8".replace(/[xy]/g,function(e){let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),ve={};var fe=new Map,$=new Set,D=new Set(["scroll","focus","blur","load","error","resize","mouseenter","mouseleave","pointerenter","pointerleave","gotpointercapture","lostpointercapture"]);function z(e){if(!S)for(let t of e)$.has(t)||D.has(t)||($.add(t),document.addEventListener(t,Ae))}function Ae(e){let t=`$$${e.type}`,n=e.composedPath&&e.composedPath()[0]||e.target;for(;n;){let o=n[t];if(o&&!n.disabled&&(o(e),e.cancelBubble))return;n=n.host&&n.host!==n&&n.host instanceof Element?n.host:n.parentNode}}function ae(e,t,n){if(e[`$$${t}`]=n,D.has(t)){let o=`__fx_${t}`;if(!e[o]){let s=a=>{e[`$$${t}`]?.(a)};e.addEventListener(t,s),e[o]=s}return}$.has(t)||z([t])}function G(e,t){delete e[`$$${t}`];let n=`__fx_${t}`,o=e[n];o&&(e.removeEventListener(t,o),delete e[n])}function Ce(e){return!D.has(e)}function Le(e){return typeof e=="function"}function T(e,t=!1){if(S)return O().createText(e);if(p.active&&!t){let n=H()?.hydrateText(e);if(n)return n}return document.createTextNode(e)}function Pe(e,t=!1){if(S)return O().createElement(e,t);if(p.active){let n=H()?.hydrateElement(e);if(n)return n}return t?document.createElementNS(I,e):document.createElement(e)}function le(e,t=!1){let n=fe.get(e);if(n)return n;let o=document.createElement("template");return t?o.innerHTML=`<svg>${e}</svg>`:o.innerHTML=e,fe.set(e,o),o}function Me(e,t,n=!1,o=!1){if(S){let s=O();return n?s.parseTemplate(e,o):s.createRaw(e)}if(p.active){let s=H()?.hydrateStatic(t);if(s)return s}return ue(le(e,o),o).firstChild}function Re(e,t){if(!p.active)return t();let n=q(e.nextSibling,t);if(typeof n=="function"){let o=n;return((...s)=>p.active?q(e.nextSibling,()=>o(...s)):o(...s))}return n}function Oe(e){for(let t=e.nextSibling;t;t=t.nextSibling)if(t.nodeType===8&&t.data==="fx/")return t;throw new Error("[fluixi] template hole is missing its closing marker")}function He(e,t){let n=[];for(let o=e.nextSibling;o&&o!==t;o=o.nextSibling)n.push(o);return n}function ue(e,t=!1){let n=e.content.cloneNode(!0);return t?n.firstChild:n}function ce(e){return Array.isArray(e)?e.length===2&&e[1]===" "?Array.isArray(e[0])?ce(e[0]):(typeof e[0]=="function",e[0]):e.length===1&&typeof e[0]=="function"?e[0]:e:e}function $e(e){return typeof e!="function"?null:e._name||e.name||"anonymous"}function je(e){if((0,g.isSignal)(e)||x(e)||typeof e!="function")return e;let t=e();for(;typeof t=="function"&&!(0,g.isSignal)(t)&&!x(t);)t=t();return t}var E=0,Fe=200;function De(e,t,n,o,s){let a=o,f=new Map;return(0,u.createRenderEffect)(()=>{let r;if(x(e)&&!(0,g.isSignal)(e)){if(!f.has(e)){E++;try{let i=e();f.set(e,i)}finally{E--}}for(r=f.get(e);typeof r=="function"&&(0,g.isSignal)(r);)r=r()}else for(r=e();typeof r=="function"&&(0,g.isSignal)(r);)r=r();{let i=0;for(;typeof r=="function"&&i++<50;)if(x(r)){if(!f.has(r)){let l=r;E++;try{let c=l();f.set(l,c)}finally{E--}}r=f.get(r)}else if((0,g.isSignal)(r))r=r();else if(r=r(),typeof r!="function"||!(0,g.isSignal)(r)&&!x(r))break}E++;try{a=C(t,r,n,a,f),s(a)}finally{E--}})}function X(e,t,n,o){if(E>Fe)return console.error("[insert] Exceeded max call depth — possible infinite loop."),()=>null;n!==void 0&&!n&&(n=T("",!0),e.appendChild(n));let s=o??null,a=i=>Array.isArray(i)&&i.some(l=>typeof l=="function"),f=i=>typeof i=="function"?i:()=>i;if(typeof t!="function"&&!a(t)){E++;try{s=C(e,t,n,s)}finally{E--}return()=>s}let r=De(f(t),e,n,s,i=>{s=i});return()=>(r?.(),s)}function C(e,t,n,o,s){if(t==null||typeof t=="boolean")return N(e,o,n);if(typeof t=="function")for(;typeof t=="function";)t=t();if(t==null||typeof t=="boolean")return N(e,o,n);if(A(t)){let f=T("",!0);return Array.isArray(o)?o.length>0?(e.replaceChild(f,o[0]),N(e,o.slice(1),n)):h(e,f,n):o?e.replaceChild(f,o):h(e,f,n),t.then(r=>{f.parentNode===e&&C(e,r,f.nextSibling,f)}).catch(r=>{console.error("Error resolving promise in insertExpression:",r)}),f}let a=typeof t;if(a==="string"||a==="number"){if(a==="number"&&(t=String(t)),Array.isArray(o)){if(o.length===0){let r=T(t);return h(e,r,n),r}if(o.length===1&&o[0].nodeType===3)return o[0].data=t,o;o=N(e,o,n)}if(o&&re(o))return o.data=t,o;let f=T(t);return o&&o.parentNode===e?e.replaceChild(f,o):B(e,f)||h(e,f,n),f}if(v(t))return B(e,t)?(se(t),t):Array.isArray(o)?(o.length===0?h(e,t,n):o[0].parentNode===e?(e.replaceChild(t,o[0]),N(e,o.slice(1),n)):h(e,t,n),t):(o?o!==t&&(o.parentNode===e?e.replaceChild(t,o):h(e,t,n)):h(e,t,n),t);if(Array.isArray(t)){let f=[],r=Array.isArray(o)?o:o?[o]:[],i=[];b(t,f,e,n,!0,s,i);let l=_e(e,r,f,n);for(let c of i){let d=X(e,c.sig,c.marker);(0,u.onCleanup)(()=>{N(e,d()),c.marker.parentNode===e&&e.removeChild(c.marker)})}return l}if(a==="object"&&t!==null&&typeof t=="object"){let f=t;if("type"in f&&"props"in f){let r=f;if(typeof r.type=="function"){let i=r.type(r.props||{});return C(e,i,n,o)}}}return N(e,o,n)}function b(e,t,n,o,s=!0,a,f){for(let r=0;r<e.length;r++){let i=e[r];if(!(i==null||typeof i=="boolean")){for(;typeof i=="function"&&!A(i)&&!(0,g.isSignal)(i)&&!x(i)&&(i=i(),!(i==null||typeof i=="boolean")););if(!(i==null||typeof i=="boolean")){if(typeof i=="function"){let l;for(x(i)&&!(0,g.isSignal)(i)?(a||(a=new Map),a.has(i)||a.set(i,i()),l=a.get(i)):l=i();typeof l=="function"&&!A(l)&&!(0,g.isSignal)(l)&&!x(l);)a||(a=new Map),a.has(l)||a.set(l,l()),l=a.get(l);if(l==null||typeof l=="boolean")continue;if(typeof l=="function"){if((0,g.isSignal)(l)){if(f){let d=T("",!0);t.push(d),f.push({marker:d,sig:l});continue}let c=l();for(;typeof c=="function"&&(0,g.isSignal)(c);)c=c();if(c==null||typeof c=="boolean")continue;Array.isArray(c)?b(c,t,n,o,s,a):b([c],t,n,o,s,a);continue}continue}Array.isArray(l)?b(l,t,n,o,s,a,f):b([l],t,n,o,s,a,f);continue}if(A(i)){let l=T("",!0);t.push(l),i.then(c=>{if(l.parentNode){let d=[];if(b([c],d,l.parentNode,void 0,!1,a),d.length>0){l.parentNode.replaceChild(d[0],l);for(let y=1;y<d.length;y++)l.parentNode?.insertBefore(d[y],d[y-1].nextSibling)}}}).catch(c=>console.error("Error resolving promise in array:",c));continue}if(Array.isArray(i)){b(i,t,n,o,s,a,f);continue}if(v(i)){t.push(i);continue}if(typeof i=="object"&&i!==null&&"type"in i&&"props"in i){let l=i;if(typeof l.type=="function"){let c=l.type(l.props||{});Array.isArray(c)?b(c,t,n,o,!1,a):b([c],t,n,o,!1,a);continue}}if(typeof i=="string"||typeof i=="number"){let l=String(i);if(l.trim()===""&&l!==" ")continue;t.push(T(l));continue}t.push(T(String(i)))}}}}function _e(e,t,n,o){for(let d=0;d<n.length;d++){let y=n[d].parentNode;y!==null&&y!==e&&y.nodeType!==11&&(n=n.slice(),n[d]=n[d].cloneNode(!0))}let s=n.length,a=t.length,f=s,r=0,i=0,l=a>0?t[a-1].nextSibling??void 0:o,c=null;for(;r<a||i<f;){if(t[r]===n[i]){r++,i++;continue}for(;a>r&&f>i&&t[a-1]===n[f-1];)a--,f--;if(a===r){let d=f<s?i?n[i-1].nextSibling??void 0:n[f-i]:l;for(;i<f;)h(e,n[i++],d)}else if(f===i)for(;r<a;)(!c||!c.has(t[r]))&&t[r].parentNode===e&&e.removeChild(t[r]),r++;else if(t[r]===n[f-1]&&n[i]===t[a-1]){let d=t[--a].nextSibling;h(e,n[i++],t[r++].nextSibling),h(e,n[--f],d),t[a]=t[r-1]}else{if(!c){c=new Map;let y=i;for(;y<f;)c.set(n[y],y++)}let d=c.get(t[r]);if(d!=null)if(i<d&&d<f){let y=r,_=1;for(;++y<a&&y<f&&!(!c.has(t[y])||c.get(t[y])!==d+_);)_++;if(_>d-i){let de=t[r];for(;i<d;)h(e,n[i++],de)}else t[r].parentNode===e?e.replaceChild(n[i++],t[r++]):(h(e,n[i++],l),r++)}else r++;else t[r].parentNode===e&&e.removeChild(t[r]),r++}}return n}function N(e,t,n){if(t)if(Array.isArray(t))for(let o=0;o<t.length;o++)t[o].parentNode===e&&e.removeChild(t[o]);else t.parentNode===e&&e.removeChild(t);return null}function h(e,t,n){p.active&&t.parentNode===e||(n&&n.parentNode===e?e.insertBefore(t,n):e.appendChild(t))}function L(e,t,n){n==null?delete e[t]:e[t]=n}function J(e,t,n){let o=n,s;return Array.isArray(n)&&(o=n[0],s=n[1]),typeof o!="function"?()=>{}:(e.addEventListener(t,o,s),()=>e.removeEventListener(t,o,s))}function U(e,t){let n=(o,s)=>{typeof o=="function"&&o(e,s??(()=>{}))};if(typeof t=="function"){n(t);return}if(Array.isArray(t)){if(typeof t[0]=="function"){n(t[0],t[1]);return}for(let o of t)Array.isArray(o)?n(o[0],o[1]):n(o)}}function j(e,t,n,o=!1){return typeof n!="function"?(w(e,t,n,o),()=>{}):(0,u.createRenderEffect)(()=>{let s=typeof n=="function"?n():n;w(e,t,s,o)})}function F(e,t,n){return typeof n!="function"?(L(e,t,n),()=>{}):(0,u.createRenderEffect)(()=>{let o=typeof n=="function"?n():n;L(e,t,o)})}function Y(e,t,n){return typeof n!="function"?(w(e,t,!!n),()=>{}):(0,u.createRenderEffect)(()=>{let o=n();w(e,t,!!o)})}function P(e,t){if(t==null){e.removeAttribute("class");return}if(typeof t=="function"){(0,u.createRenderEffect)(()=>P(e,t()));return}if(typeof t=="string"){e.setAttribute("class",t);return}if(Array.isArray(t)){e.setAttribute("class",t.filter(Boolean).join(" "));return}if(typeof t=="object"){let n=Object.keys(t).filter(o=>{let s=t[o];return typeof s=="function"?s():!!s}).join(" ");e.setAttribute("class",n);return}e.setAttribute("class",String(t))}function M(e,t,n){if(!(!t||typeof t!="object"))for(let o in t){let s=t[o],a=o.split(/\s+/).filter(Boolean);if(typeof s=="function"&&n)n.push((0,u.createRenderEffect)(()=>{let f=!!s();for(let r of a)e.classList.toggle(r,f)}));else{let f=!!(typeof s=="function"?s():s);for(let r of a)e.classList.toggle(r,f)}}}function R(e,t){let n=t;for(;typeof n=="function";)n=n();if(n==null){e.removeAttribute("style");return}if(typeof n=="string"){e.style.cssText=n;return}if(typeof n=="object")for(let o in n){let s=n[o];s==null?e.style[o]="":e.style[o]=s}}function ke(e){let{element:t,props:n,prevProps:o=ve,isSVG:s=!1,skipChildren:a=!1}=e;if(!t||!ie(t))return console.error("[spread] Error: element is not a DOM Element!"),()=>{};if(!n)return console.warn("[spread] Warning: props is undefined!"),()=>{};let f=s||t.namespaceURI===I,r=[];for(let i in n){if(a&&i==="children")continue;let l=n[i],c=o[i];if(l===c)continue;if(i==="ref"){Z(l,t);continue}if(i==="use"){U(t,l);continue}if(i.startsWith("on:")){r.push(J(t,i.slice(3),l));continue}if(i.startsWith("prop:")){r.push(F(t,i.slice(5),l));continue}if(i.startsWith("attr:")){r.push(j(t,i.slice(5),l,f));continue}if(i.startsWith("bool:")){r.push(Y(t,i.slice(5),l));continue}if(i==="class"||i==="className"){typeof l=="function"?r.push((0,u.createRenderEffect)(()=>P(t,l()))):P(t,l);continue}if(i==="classList"){typeof l=="function"?r.push((0,u.createRenderEffect)(()=>M(t,l()))):M(t,l,r);continue}if(i==="style"){typeof l=="function"?r.push((0,u.createRenderEffect)(()=>R(t,l()))):R(t,l);continue}if(i.startsWith("on")){let y=i.slice(2).toLowerCase();c&&G(t,y),l&&ae(t,y,l);continue}let d=W.has(i)||!f&&i in t;typeof l=="function"?r.push(d?F(t,i,l):j(t,i,l,f)):r.push((0,u.createRenderEffect)(()=>d?L(t,i,n[i]):w(t,i,n[i],f)))}for(let i in o)if(!(i in n))if(i.startsWith("on")){let l=i.slice(2).toLowerCase();G(t,l)}else W.has(i)?L(t,i,null):t.removeAttribute(i);return()=>{r.forEach(i=>i())}}function Ie(e,t,n=!1){for(let o in t){let s=t[o];if(o==="ref"){Z(s,e);continue}if(o!=="children"){if(o==="use"){U(e,s);continue}if(o.startsWith("on:")){J(e,o.slice(3),s);continue}if(o.startsWith("prop:")){F(e,o.slice(5),s);continue}if(o.startsWith("attr:")){j(e,o.slice(5),s,n);continue}if(o.startsWith("bool:")){Y(e,o.slice(5),s);continue}if(o.startsWith("on")&&o.length>2){let a=o.slice(2).toLowerCase();if(typeof s=="function")if(D.has(a)){e[`$$${a}`]=s;let f=`__fx_${a}`;if(!e[f]){let r=i=>{e[`$$${a}`]?.(i)};e.addEventListener(a,r),e[f]=r}}else e[`$$${a}`]=s,$.has(a)||z([a]);continue}if(o==="class"||o==="className"){P(e,s);continue}if(o==="classList"){typeof s=="function"?(0,u.createRenderEffect)(()=>M(e,s())):M(e,s);continue}if(o==="style"){typeof s=="function"?(0,u.createRenderEffect)(()=>R(e,s())):R(e,s);continue}if(o==="innerHTML"){if(typeof s=="function"){let a=(0,u.createEffect)(()=>{let f=s();for(;typeof f=="function";)f=f();e.innerHTML=f});(0,u.onCleanup)(()=>a())}else e.innerHTML=s;continue}if(o==="value"&&(e.tagName==="INPUT"||e.tagName==="TEXTAREA")){if(typeof s=="function"){let a=(0,u.createEffect)(()=>{let f=s();for(;typeof f=="function"&&f.length===0;)f=f();document.activeElement!==e&&(e.value=f??"")});(0,u.onCleanup)(()=>{a()})}else(0,u.createRenderEffect)(()=>{document.activeElement!==e&&(e.value=t[o]??"")});continue}if(o==="checked"&&e.tagName==="INPUT"){if(typeof s=="function"){let a=(0,u.createEffect)(()=>{let f=s();for(;typeof f=="function"&&f.length===0;)f=f();document.activeElement!==e&&(e.checked=f??"")});(0,u.onCleanup)(()=>{a()})}else(0,u.createRenderEffect)(()=>{document.activeElement!==e&&(e.checked=t[o]??"")});continue}if(o==="value"&&e.tagName==="SELECT"){if(typeof s=="function"){let a=!0,f=(0,u.createEffect)(()=>{let r=s();for(;typeof r=="function"&&r.length===0;)r=r();a?(a=!1,queueMicrotask(()=>{e.value=r??""})):e.value=r??""});(0,u.onCleanup)(()=>{f()})}else{let a=!0;(0,u.createRenderEffect)(()=>{let f=t[o];a?(a=!1,queueMicrotask(()=>{e.value=f??""})):e.value=f??""})}continue}if(typeof s=="function"){let a=(0,u.createEffect)(()=>{let f=s();for(;typeof f=="function"&&f.length===0;)f=f();V(e,o,f,n)});(0,u.onCleanup)(()=>{a()})}else(0,u.createRenderEffect)(()=>V(e,o,t[o],n))}}}function Ve(...e){let t=o=>{for(let s=e.length-1;s>=0;s--){let a=e[s];if(a&&o in a&&a[o]!==void 0)return a[o]}},n=o=>{for(let s of e)if(s&&o in s)return!0;return!1};return new Proxy({},{get:(o,s)=>t(s),has:(o,s)=>n(s),ownKeys:()=>{let o=new Set;for(let s of e)if(s)for(let a of Reflect.ownKeys(s))o.add(a);return[...o]},getOwnPropertyDescriptor:(o,s)=>n(s)?{enumerable:!0,configurable:!0,get:()=>t(s)}:void 0})}function We(e,...t){let n=new Set;for(let f of t)for(let r of f)n.add(r);let o=f=>({enumerable:!0,configurable:!0,get:()=>e[f]}),s=t.map(f=>{let r=new Set(f);return new Proxy({},{get:(i,l)=>r.has(l)?e[l]:void 0,has:(i,l)=>r.has(l)&&l in e,ownKeys:()=>Array.from(r).filter(i=>i in e),getOwnPropertyDescriptor:(i,l)=>r.has(l)&&l in e?o(l):void 0})}),a=new Proxy({},{get:(f,r)=>n.has(r)?void 0:e[r],has:(f,r)=>!n.has(r)&&r in e,ownKeys:()=>Reflect.ownKeys(e).filter(f=>!n.has(f)),getOwnPropertyDescriptor:(f,r)=>!n.has(r)&&r in e?o(r):void 0});return[...s,a]}function Z(e,t){if(e){if(v(e)){let n=t,o=e;if(!n)return;typeof n=="function"?n(o):typeof n=="object"&&"current"in n&&(n.current=o);return}typeof e=="function"?e(t):typeof e=="object"&&"current"in e&&(e.current=t)}}function Ke(e,t,n){let o=t||document.body,s=(0,u.readChildren)(()=>e),a=[];return(0,u.batch)(()=>{let f=(0,u.createRenderEffect)(()=>{let r=s();Array.isArray(r)?(r.forEach(i=>o.appendChild(i)),a.push(()=>{r.forEach(i=>{i.parentNode===o&&o.removeChild(i)})})):v(r)&&(o.appendChild(r),a.push(()=>{r.parentNode===o&&o.removeChild(r)}))});a.push(f),(0,u.onCleanup)(()=>{a.forEach(r=>r())})}),null}function Be(e){return typeof e=="string"&&e.toLowerCase()===e}function qe(e){return e==="svg"||e==="path"||e==="circle"||e==="rect"||e==="line"||e==="polygon"||e==="polyline"||e==="ellipse"||e==="g"||e==="defs"||e==="clipPath"||e==="text"}function Ge(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function A(e){return e!=null&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"||e instanceof Promise}function ze(e){return typeof e=="function"&&e.length===0&&(0,g.isSignal)(e)}function Xe(e,t,n){if(!t)throw new Error("Container element is required");let o,s,a=[];return(0,u.createRoot)(f=>{(0,u.batch)(()=>{p.active||(t.textContent=""),te(t),ne(),X(t,e)}),s=f}),()=>{s?.(),o?.(),a.forEach(f=>f()),t.textContent=""}}function Je(e){if(Array.isArray(e))return e;if(typeof e=="function"&&typeof e.set=="function")return[e,e.set];throw new TypeError("[fluixi] bind: needs a signal — either `signal(…)` or the `[get, set]` pair from `createSignal(…)`.")}
|
package/dist/lib/dom/runtime.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isSignal as h}from"@fluixi/reactive/signal";var k="http://www.w3.org/2000/svg";function ue(e){return e.localName.includes("-")}function I(e,t,n,o=!1){if(n==null){e.removeAttribute(t);return}if(ue(e)){e[t]=n;return}T(e,t,n,o)}var V=new Set(["className","value","checked","selected","innerHTML","innerText","textContent","indeterminate","htmlFor"]);function T(e,t,n,o=!1){if(n==null||n===!1){e.removeAttribute(t);return}if(n===!0){e.setAttribute(t,"");return}if(typeof n=="object"){e.setAttribute(t,JSON.stringify(n));return}e.setAttribute(t,String(n))}var Ae=typeof Symbol=="function"&&Symbol.for?Symbol.for("react.element"):60103;var z="1.0.0-alpha.79";import{VERSION as ce}from"@fluixi/reactive/version";var m={dom:z,reactive:ce};function X(e){m.core&&e.setAttribute("fluixi",m.core),e.setAttribute("fx-dom",m.dom),e.setAttribute("fx-reactive",m.reactive),typeof globalThis<"u"&&(globalThis.Fluixi=m)}function J(){let e=[m.core,m.dom,m.reactive].filter(t=>t!==void 0);new Set(e).size<=1||console.warn(`[fluixi] package versions disagree — core ${m.core??"(absent)"}, dom ${m.dom}, reactive ${m.reactive}. These ship as one release, so a mismatch usually means a stale lockfile or two copies resolved side by side. Reinstall, or check for duplicates with \`pnpm why @fluixi/dom\`.`)}function x(e){return typeof e=="function"&&e[Symbol.for("fluixi-component")]===!0}import{batch as ne,createEffect as C,createRenderEffect as y,createRoot as pe,onCleanup as S,readChildren as ye}from"@fluixi/reactive/signal";var v=typeof document>"u";var W=Symbol.for("fluixi.server-node"),U=null;function L(){if(!U)throw new Error("[fluixi] server render ran before @fluixi/dom/server loaded");return U}function A(e){return e!=null&&e[W]===!0?!0:typeof Node<"u"&&e instanceof Node}function Y(e){return e!=null&&e[W]===!0?e.nodeType===1:typeof Element<"u"&&e instanceof Element}function Z(e){return e!=null&&e[W]===!0?e.nodeType===3:typeof Text<"u"&&e instanceof Text}var d={active:!1,cursor:null,parents:[]},de=null;function P(){return de}function K(e,t){return d.active&&t.parentNode===e}function Q(e){let t=d.parents.lastIndexOf(e);t!==-1&&(d.parents.length=t),d.cursor=e.nextSibling}function B(e,t){if(!e||e.parentNode==null)return t();let n=d.active,o=d.cursor,s=d.parents;d.active=!0,d.cursor=e,d.parents=[];try{return t()}finally{d.active=n,d.cursor=o,d.parents=s}}function ge(e){let t=[];for(;e&&e.nodeType===1;){let n=e.tagName.toLowerCase();if(e.id){n+=`#${e.id}`,t.unshift(n);break}e.getAttribute("data-id")&&(n+=`[data-id="${e.getAttribute("data-id")}"]`);let o=0,s=e;for(;s=s.previousElementSibling;)s.tagName===e.tagName&&o++;n+=`:nth-of-type(${o+1})`,t.unshift(n),e=e.parentElement}return t.join(">")}function he(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return`el_${Math.abs(t)}`}function Ke(e){return he(ge(e))}var Be=()=>"xxyxxxxxxy-4xx8".replace(/[xy]/g,function(e){let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),me={};var ee=new Map,R=new Set,D=new Set(["scroll","focus","blur","load","error","resize","mouseenter","mouseleave","pointerenter","pointerleave","gotpointercapture","lostpointercapture"]);function oe(e){if(!v)for(let t of e)R.has(t)||D.has(t)||(R.add(t),document.addEventListener(t,xe))}function xe(e){let t=`$$${e.type}`,n=e.composedPath&&e.composedPath()[0]||e.target;for(;n;){let o=n[t];if(o&&!n.disabled&&(o(e),e.cancelBubble))return;n=n.host&&n.host!==n&&n.host instanceof Element?n.host:n.parentNode}}function be(e,t,n){if(e[`$$${t}`]=n,D.has(t)){let o=`__fx_${t}`;if(!e[o]){let s=a=>{e[`$$${t}`]?.(a)};e.addEventListener(t,s),e[o]=s}return}R.has(t)||oe([t])}function te(e,t){delete e[`$$${t}`];let n=`__fx_${t}`,o=e[n];o&&(e.removeEventListener(t,o),delete e[n])}function qe(e){return!D.has(e)}function Ge(e){return typeof e=="function"}function N(e,t=!1){if(v)return L().createText(e);if(d.active&&!t){let n=P()?.hydrateText(e);if(n)return n}return document.createTextNode(e)}function ze(e,t=!1){if(v)return L().createElement(e,t);if(d.active){let n=P()?.hydrateElement(e);if(n)return n}return t?document.createElementNS(k,e):document.createElement(e)}function Ee(e,t=!1){let n=ee.get(e);if(n)return n;let o=document.createElement("template");return t?o.innerHTML=`<svg>${e}</svg>`:o.innerHTML=e,ee.set(e,o),o}function Xe(e,t,n=!1,o=!1){if(v){let s=L();return n?s.parseTemplate(e,o):s.createRaw(e)}if(d.active){let s=P()?.hydrateStatic(t);if(s)return s}return Ne(Ee(e,o),o).firstChild}function Je(e,t){if(!d.active)return t();let n=B(e.nextSibling,t);if(typeof n=="function"){let o=n;return((...s)=>d.active?B(e.nextSibling,()=>o(...s)):o(...s))}return n}function Ue(e){for(let t=e.nextSibling;t;t=t.nextSibling)if(t.nodeType===8&&t.data==="fx/")return t;throw new Error("[fluixi] template hole is missing its closing marker")}function Ye(e,t){let n=[];for(let o=e.nextSibling;o&&o!==t;o=o.nextSibling)n.push(o);return n}function Ne(e,t=!1){let n=e.content.cloneNode(!0);return t?n.firstChild:n}function Te(e){return Array.isArray(e)?e.length===2&&e[1]===" "?Array.isArray(e[0])?Te(e[0]):(typeof e[0]=="function",e[0]):e.length===1&&typeof e[0]=="function"?e[0]:e:e}function Ze(e){return typeof e!="function"?null:e._name||e.name||"anonymous"}function Qe(e){if(h(e)||x(e)||typeof e!="function")return e;let t=e();for(;typeof t=="function"&&!h(t)&&!x(t);)t=t();return t}var E=0,we=200;function Se(e,t,n,o,s){let a=o,f=new Map;return y(()=>{let r;if(x(e)&&!h(e)){if(!f.has(e)){E++;try{let i=e();f.set(e,i)}finally{E--}}for(r=f.get(e);typeof r=="function"&&h(r);)r=r()}else for(r=e();typeof r=="function"&&h(r);)r=r();{let i=0;for(;typeof r=="function"&&i++<50;)if(x(r)){if(!f.has(r)){let l=r;E++;try{let u=l();f.set(l,u)}finally{E--}}r=f.get(r)}else if(h(r))r=r();else if(r=r(),typeof r!="function"||!h(r)&&!x(r))break}E++;try{a=O(t,r,n,a,f),s(a)}finally{E--}})}function ie(e,t,n,o){if(E>we)return console.error("[insert] Exceeded max call depth — possible infinite loop."),()=>null;n!==void 0&&!n&&(n=N("",!0),e.appendChild(n));let s=o??null,a=i=>Array.isArray(i)&&i.some(l=>typeof l=="function"),f=i=>typeof i=="function"?i:()=>i;if(typeof t!="function"&&!a(t)){E++;try{s=O(e,t,n,s)}finally{E--}return()=>s}let r=Se(f(t),e,n,s,i=>{s=i});return()=>(r?.(),s)}function O(e,t,n,o,s){if(t==null||typeof t=="boolean")return w(e,o,n);if(typeof t=="function")for(;typeof t=="function";)t=t();if(t==null||typeof t=="boolean")return w(e,o,n);if(M(t)){let f=N("",!0);return Array.isArray(o)?o.length>0?(e.replaceChild(f,o[0]),w(e,o.slice(1),n)):g(e,f,n):o?e.replaceChild(f,o):g(e,f,n),t.then(r=>{f.parentNode===e&&O(e,r,f.nextSibling,f)}).catch(r=>{console.error("Error resolving promise in insertExpression:",r)}),f}let a=typeof t;if(a==="string"||a==="number"){if(a==="number"&&(t=String(t)),Array.isArray(o)){if(o.length===0){let r=N(t);return g(e,r,n),r}if(o.length===1&&o[0].nodeType===3)return o[0].data=t,o;o=w(e,o,n)}if(o&&Z(o))return o.data=t,o;let f=N(t);return o&&o.parentNode===e?e.replaceChild(f,o):K(e,f)||g(e,f,n),f}if(A(t))return K(e,t)?(Q(t),t):Array.isArray(o)?(o.length===0?g(e,t,n):o[0].parentNode===e?(e.replaceChild(t,o[0]),w(e,o.slice(1),n)):g(e,t,n),t):(o?o!==t&&(o.parentNode===e?e.replaceChild(t,o):g(e,t,n)):g(e,t,n),t);if(Array.isArray(t)){let f=[],r=Array.isArray(o)?o:o?[o]:[],i=[];b(t,f,e,n,!0,s,i);let l=ve(e,r,f,n);for(let u of i){let c=ie(e,u.sig,u.marker);S(()=>{w(e,c()),u.marker.parentNode===e&&e.removeChild(u.marker)})}return l}if(a==="object"&&t!==null&&typeof t=="object"){let f=t;if("type"in f&&"props"in f){let r=f;if(typeof r.type=="function"){let i=r.type(r.props||{});return O(e,i,n,o)}}}return w(e,o,n)}function b(e,t,n,o,s=!0,a,f){for(let r=0;r<e.length;r++){let i=e[r];if(!(i==null||typeof i=="boolean")){for(;typeof i=="function"&&!M(i)&&!h(i)&&!x(i)&&(i=i(),!(i==null||typeof i=="boolean")););if(!(i==null||typeof i=="boolean")){if(typeof i=="function"){let l;for(x(i)&&!h(i)?(a||(a=new Map),a.has(i)||a.set(i,i()),l=a.get(i)):l=i();typeof l=="function"&&!M(l)&&!h(l)&&!x(l);)a||(a=new Map),a.has(l)||a.set(l,l()),l=a.get(l);if(l==null||typeof l=="boolean")continue;if(typeof l=="function"){if(h(l)){if(f){let c=N("",!0);t.push(c),f.push({marker:c,sig:l});continue}let u=l();for(;typeof u=="function"&&h(u);)u=u();if(u==null||typeof u=="boolean")continue;Array.isArray(u)?b(u,t,n,o,s,a):b([u],t,n,o,s,a);continue}continue}Array.isArray(l)?b(l,t,n,o,s,a,f):b([l],t,n,o,s,a,f);continue}if(M(i)){let l=N("",!0);t.push(l),i.then(u=>{if(l.parentNode){let c=[];if(b([u],c,l.parentNode,void 0,!1,a),c.length>0){l.parentNode.replaceChild(c[0],l);for(let p=1;p<c.length;p++)l.parentNode?.insertBefore(c[p],c[p-1].nextSibling)}}}).catch(u=>console.error("Error resolving promise in array:",u));continue}if(Array.isArray(i)){b(i,t,n,o,s,a,f);continue}if(A(i)){t.push(i);continue}if(typeof i=="object"&&i!==null&&"type"in i&&"props"in i){let l=i;if(typeof l.type=="function"){let u=l.type(l.props||{});Array.isArray(u)?b(u,t,n,o,!1,a):b([u],t,n,o,!1,a);continue}}if(typeof i=="string"||typeof i=="number"){let l=String(i);if(l.trim()===""&&l!==" ")continue;t.push(N(l));continue}t.push(N(String(i)))}}}}function ve(e,t,n,o){for(let c=0;c<n.length;c++){let p=n[c].parentNode;p!==null&&p!==e&&p.nodeType!==11&&(n=n.slice(),n[c]=n[c].cloneNode(!0))}let s=n.length,a=t.length,f=s,r=0,i=0,l=a>0?t[a-1].nextSibling??void 0:o,u=null;for(;r<a||i<f;){if(t[r]===n[i]){r++,i++;continue}for(;a>r&&f>i&&t[a-1]===n[f-1];)a--,f--;if(a===r){let c=f<s?i?n[i-1].nextSibling??void 0:n[f-i]:l;for(;i<f;)g(e,n[i++],c)}else if(f===i)for(;r<a;)(!u||!u.has(t[r]))&&t[r].parentNode===e&&e.removeChild(t[r]),r++;else if(t[r]===n[f-1]&&n[i]===t[a-1]){let c=t[--a].nextSibling;g(e,n[i++],t[r++].nextSibling),g(e,n[--f],c),t[a]=t[r-1]}else{if(!u){u=new Map;let p=i;for(;p<f;)u.set(n[p],p++)}let c=u.get(t[r]);if(c!=null)if(i<c&&c<f){let p=r,_=1;for(;++p<a&&p<f&&!(!u.has(t[p])||u.get(t[p])!==c+_);)_++;if(_>c-i){let le=t[r];for(;i<c;)g(e,n[i++],le)}else t[r].parentNode===e?e.replaceChild(n[i++],t[r++]):(g(e,n[i++],l),r++)}else r++;else t[r].parentNode===e&&e.removeChild(t[r]),r++}}return n}function w(e,t,n){if(t)if(Array.isArray(t))for(let o=0;o<t.length;o++)t[o].parentNode===e&&e.removeChild(t[o]);else t.parentNode===e&&e.removeChild(t);return null}function g(e,t,n){d.active&&t.parentNode===e||(n&&n.parentNode===e?e.insertBefore(t,n):e.appendChild(t))}function H(e,t,n){n==null?delete e[t]:e[t]=n}function re(e,t,n){let o=n,s;return Array.isArray(n)&&(o=n[0],s=n[1]),typeof o!="function"?()=>{}:(e.addEventListener(t,o,s),()=>e.removeEventListener(t,o,s))}function se(e,t){let n=(o,s)=>{typeof o=="function"&&o(e,s??(()=>{}))};if(typeof t=="function"){n(t);return}if(Array.isArray(t)){if(typeof t[0]=="function"){n(t[0],t[1]);return}for(let o of t)Array.isArray(o)?n(o[0],o[1]):n(o)}}function q(e,t,n,o=!1){return typeof n!="function"?(T(e,t,n,o),()=>{}):y(()=>{let s=typeof n=="function"?n():n;T(e,t,s,o)})}function G(e,t,n){return typeof n!="function"?(H(e,t,n),()=>{}):y(()=>{let o=typeof n=="function"?n():n;H(e,t,o)})}function fe(e,t,n){return typeof n!="function"?(T(e,t,!!n),()=>{}):y(()=>{let o=n();T(e,t,!!o)})}function $(e,t){if(t==null){e.removeAttribute("class");return}if(typeof t=="function"){y(()=>$(e,t()));return}if(typeof t=="string"){e.setAttribute("class",t);return}if(Array.isArray(t)){e.setAttribute("class",t.filter(Boolean).join(" "));return}if(typeof t=="object"){let n=Object.keys(t).filter(o=>{let s=t[o];return typeof s=="function"?s():!!s}).join(" ");e.setAttribute("class",n);return}e.setAttribute("class",String(t))}function j(e,t,n){if(!(!t||typeof t!="object"))for(let o in t){let s=t[o],a=o.split(/\s+/).filter(Boolean);if(typeof s=="function"&&n)n.push(y(()=>{let f=!!s();for(let r of a)e.classList.toggle(r,f)}));else{let f=!!(typeof s=="function"?s():s);for(let r of a)e.classList.toggle(r,f)}}}function F(e,t){let n=t;for(;typeof n=="function";)n=n();if(n==null){e.removeAttribute("style");return}if(typeof n=="string"){e.style.cssText=n;return}if(typeof n=="object")for(let o in n){let s=n[o];s==null?e.style[o]="":e.style[o]=s}}function et(e){let{element:t,props:n,prevProps:o=me,isSVG:s=!1,skipChildren:a=!1}=e;if(!t||!Y(t))return console.error("[spread] Error: element is not a DOM Element!"),()=>{};if(!n)return console.warn("[spread] Warning: props is undefined!"),()=>{};let f=s||t.namespaceURI===k,r=[];for(let i in n){if(a&&i==="children")continue;let l=n[i],u=o[i];if(l===u)continue;if(i==="ref"){ae(l,t);continue}if(i==="use"){se(t,l);continue}if(i.startsWith("on:")){r.push(re(t,i.slice(3),l));continue}if(i.startsWith("prop:")){r.push(G(t,i.slice(5),l));continue}if(i.startsWith("attr:")){r.push(q(t,i.slice(5),l,f));continue}if(i.startsWith("bool:")){r.push(fe(t,i.slice(5),l));continue}if(i==="class"||i==="className"){typeof l=="function"?r.push(y(()=>$(t,l()))):$(t,l);continue}if(i==="classList"){typeof l=="function"?r.push(y(()=>j(t,l()))):j(t,l,r);continue}if(i==="style"){typeof l=="function"?r.push(y(()=>F(t,l()))):F(t,l);continue}if(i.startsWith("on")){let p=i.slice(2).toLowerCase();u&&te(t,p),l&&be(t,p,l);continue}let c=V.has(i)||!f&&i in t;typeof l=="function"?r.push(c?G(t,i,l):q(t,i,l,f)):r.push(y(()=>c?H(t,i,n[i]):T(t,i,n[i],f)))}for(let i in o)if(!(i in n))if(i.startsWith("on")){let l=i.slice(2).toLowerCase();te(t,l)}else V.has(i)?H(t,i,null):t.removeAttribute(i);return()=>{r.forEach(i=>i())}}function tt(e,t,n=!1){for(let o in t){let s=t[o];if(o==="ref"){ae(s,e);continue}if(o!=="children"){if(o==="use"){se(e,s);continue}if(o.startsWith("on:")){re(e,o.slice(3),s);continue}if(o.startsWith("prop:")){G(e,o.slice(5),s);continue}if(o.startsWith("attr:")){q(e,o.slice(5),s,n);continue}if(o.startsWith("bool:")){fe(e,o.slice(5),s);continue}if(o.startsWith("on")&&o.length>2){let a=o.slice(2).toLowerCase();if(typeof s=="function")if(D.has(a)){e[`$$${a}`]=s;let f=`__fx_${a}`;if(!e[f]){let r=i=>{e[`$$${a}`]?.(i)};e.addEventListener(a,r),e[f]=r}}else e[`$$${a}`]=s,R.has(a)||oe([a]);continue}if(o==="class"||o==="className"){$(e,s);continue}if(o==="classList"){typeof s=="function"?y(()=>j(e,s())):j(e,s);continue}if(o==="style"){typeof s=="function"?y(()=>F(e,s())):F(e,s);continue}if(o==="innerHTML"){if(typeof s=="function"){let a=C(()=>{let f=s();for(;typeof f=="function";)f=f();e.innerHTML=f});S(()=>a())}else e.innerHTML=s;continue}if(o==="value"&&(e.tagName==="INPUT"||e.tagName==="TEXTAREA")){if(typeof s=="function"){let a=C(()=>{let f=s();for(;typeof f=="function"&&f.length===0;)f=f();document.activeElement!==e&&(e.value=f??"")});S(()=>{a()})}else y(()=>{document.activeElement!==e&&(e.value=t[o]??"")});continue}if(o==="checked"&&e.tagName==="INPUT"){if(typeof s=="function"){let a=C(()=>{let f=s();for(;typeof f=="function"&&f.length===0;)f=f();document.activeElement!==e&&(e.checked=f??"")});S(()=>{a()})}else y(()=>{document.activeElement!==e&&(e.checked=t[o]??"")});continue}if(o==="value"&&e.tagName==="SELECT"){if(typeof s=="function"){let a=!0,f=C(()=>{let r=s();for(;typeof r=="function"&&r.length===0;)r=r();a?(a=!1,queueMicrotask(()=>{e.value=r??""})):e.value=r??""});S(()=>{f()})}else{let a=!0;y(()=>{let f=t[o];a?(a=!1,queueMicrotask(()=>{e.value=f??""})):e.value=f??""})}continue}if(typeof s=="function"){let a=C(()=>{let f=s();for(;typeof f=="function"&&f.length===0;)f=f();I(e,o,f,n)});S(()=>{a()})}else y(()=>I(e,o,t[o],n))}}}function nt(...e){let t=o=>{for(let s=e.length-1;s>=0;s--){let a=e[s];if(a&&o in a&&a[o]!==void 0)return a[o]}},n=o=>{for(let s of e)if(s&&o in s)return!0;return!1};return new Proxy({},{get:(o,s)=>t(s),has:(o,s)=>n(s),ownKeys:()=>{let o=new Set;for(let s of e)if(s)for(let a of Reflect.ownKeys(s))o.add(a);return[...o]},getOwnPropertyDescriptor:(o,s)=>n(s)?{enumerable:!0,configurable:!0,get:()=>t(s)}:void 0})}function ot(e,...t){let n=new Set;for(let f of t)for(let r of f)n.add(r);let o=f=>({enumerable:!0,configurable:!0,get:()=>e[f]}),s=t.map(f=>{let r=new Set(f);return new Proxy({},{get:(i,l)=>r.has(l)?e[l]:void 0,has:(i,l)=>r.has(l)&&l in e,ownKeys:()=>Array.from(r).filter(i=>i in e),getOwnPropertyDescriptor:(i,l)=>r.has(l)&&l in e?o(l):void 0})}),a=new Proxy({},{get:(f,r)=>n.has(r)?void 0:e[r],has:(f,r)=>!n.has(r)&&r in e,ownKeys:()=>Reflect.ownKeys(e).filter(f=>!n.has(f)),getOwnPropertyDescriptor:(f,r)=>!n.has(r)&&r in e?o(r):void 0});return[...s,a]}function ae(e,t){if(e){if(A(e)){let n=t,o=e;if(!n)return;typeof n=="function"?n(o):typeof n=="object"&&"current"in n&&(n.current=o);return}typeof e=="function"?e(t):typeof e=="object"&&"current"in e&&(e.current=t)}}function it(e,t,n){let o=t||document.body,s=ye(()=>e),a=[];return ne(()=>{let f=y(()=>{let r=s();Array.isArray(r)?(r.forEach(i=>o.appendChild(i)),a.push(()=>{r.forEach(i=>{i.parentNode===o&&o.removeChild(i)})})):A(r)&&(o.appendChild(r),a.push(()=>{r.parentNode===o&&o.removeChild(r)}))});a.push(f),S(()=>{a.forEach(r=>r())})}),null}function rt(e){return typeof e=="string"&&e.toLowerCase()===e}function st(e){return e==="svg"||e==="path"||e==="circle"||e==="rect"||e==="line"||e==="polygon"||e==="polyline"||e==="ellipse"||e==="g"||e==="defs"||e==="clipPath"||e==="text"}function ft(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function M(e){return e!=null&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"||e instanceof Promise}function at(e){return typeof e=="function"&&e.length===0&&h(e)}function lt(e,t,n){if(!t)throw new Error("Container element is required");let o,s,a=[];return pe(f=>{ne(()=>{d.active||(t.textContent=""),X(t),J(),ie(t,e)}),s=f}),()=>{s?.(),o?.(),a.forEach(f=>f()),t.textContent=""}}function ut(e){if(Array.isArray(e))return e;if(typeof e=="function"&&typeof e.set=="function")return[e,e.set];throw new TypeError("[fluixi] bind: needs a signal — either `signal(…)` or the `[get, set]` pair from `createSignal(…)`.")}export{be as addDelegatedEventListener,re as addNativeEventListener,tt as applyProps,se as applyUse,ut as bindPair,w as cleanChildren,Ne as cloneTemplate,ze as createNativeElement,it as createPortal,Ee as createTemplate,oe as delegateEvents,ft as escapeHTML,Ze as fnName,Be as generateID,Ke as getStableElementId,ae as handleRef,Ye as holeContent,Ue as holeEnd,Je as holeScope,ie as insert,O as insertExpression,at as isAccessor,qe as isDelegatedEvent,Ge as isFunction,rt as isNativeElement,M as isPromise,st as isSVGElement,Qe as iterateFn,Te as makeArrayFlat,nt as mergeProps,te as removeDelegatedEventListener,lt as render,j as setClassList,$ as setClassName,q as setDynamicAttribute,fe as setDynamicBoolAttribute,G as setDynamicProperty,H as setProperty,F as setStyle,ot as splitProps,et as spread,Xe as templateNode};
|
|
1
|
+
import{isSignal as h}from"@fluixi/reactive/signal";var k="http://www.w3.org/2000/svg";function ue(e){return e.localName.includes("-")}function I(e,t,n,o=!1){if(n==null){e.removeAttribute(t);return}if(ue(e)){e[t]=n;return}T(e,t,n,o)}var V=new Set(["className","value","checked","selected","innerHTML","innerText","textContent","indeterminate","htmlFor"]);function T(e,t,n,o=!1){if(n==null||n===!1){e.removeAttribute(t);return}if(n===!0){e.setAttribute(t,"");return}if(typeof n=="object"){e.setAttribute(t,JSON.stringify(n));return}e.setAttribute(t,String(n))}var Ae=typeof Symbol=="function"&&Symbol.for?Symbol.for("react.element"):60103;var z="1.0.0-alpha.80";import{VERSION as ce}from"@fluixi/reactive/version";var m={dom:z,reactive:ce};function X(e){m.core&&e.setAttribute("fluixi",m.core),e.setAttribute("fx-dom",m.dom),e.setAttribute("fx-reactive",m.reactive),typeof globalThis<"u"&&(globalThis.Fluixi=m)}function J(){let e=[m.core,m.dom,m.reactive].filter(t=>t!==void 0);new Set(e).size<=1||console.warn(`[fluixi] package versions disagree — core ${m.core??"(absent)"}, dom ${m.dom}, reactive ${m.reactive}. These ship as one release, so a mismatch usually means a stale lockfile or two copies resolved side by side. Reinstall, or check for duplicates with \`pnpm why @fluixi/dom\`.`)}function x(e){return typeof e=="function"&&e[Symbol.for("fluixi-component")]===!0}import{batch as ne,createEffect as C,createRenderEffect as y,createRoot as pe,onCleanup as S,readChildren as ye}from"@fluixi/reactive/signal";var v=typeof document>"u";var W=Symbol.for("fluixi.server-node"),U=null;function L(){if(!U)throw new Error("[fluixi] server render ran before @fluixi/dom/server loaded");return U}function A(e){return e!=null&&e[W]===!0?!0:typeof Node<"u"&&e instanceof Node}function Y(e){return e!=null&&e[W]===!0?e.nodeType===1:typeof Element<"u"&&e instanceof Element}function Z(e){return e!=null&&e[W]===!0?e.nodeType===3:typeof Text<"u"&&e instanceof Text}var d={active:!1,cursor:null,parents:[]},de=null;function P(){return de}function K(e,t){return d.active&&t.parentNode===e}function Q(e){let t=d.parents.lastIndexOf(e);t!==-1&&(d.parents.length=t),d.cursor=e.nextSibling}function B(e,t){if(!e||e.parentNode==null)return t();let n=d.active,o=d.cursor,s=d.parents;d.active=!0,d.cursor=e,d.parents=[];try{return t()}finally{d.active=n,d.cursor=o,d.parents=s}}function ge(e){let t=[];for(;e&&e.nodeType===1;){let n=e.tagName.toLowerCase();if(e.id){n+=`#${e.id}`,t.unshift(n);break}e.getAttribute("data-id")&&(n+=`[data-id="${e.getAttribute("data-id")}"]`);let o=0,s=e;for(;s=s.previousElementSibling;)s.tagName===e.tagName&&o++;n+=`:nth-of-type(${o+1})`,t.unshift(n),e=e.parentElement}return t.join(">")}function he(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return`el_${Math.abs(t)}`}function Ke(e){return he(ge(e))}var Be=()=>"xxyxxxxxxy-4xx8".replace(/[xy]/g,function(e){let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),me={};var ee=new Map,R=new Set,D=new Set(["scroll","focus","blur","load","error","resize","mouseenter","mouseleave","pointerenter","pointerleave","gotpointercapture","lostpointercapture"]);function oe(e){if(!v)for(let t of e)R.has(t)||D.has(t)||(R.add(t),document.addEventListener(t,xe))}function xe(e){let t=`$$${e.type}`,n=e.composedPath&&e.composedPath()[0]||e.target;for(;n;){let o=n[t];if(o&&!n.disabled&&(o(e),e.cancelBubble))return;n=n.host&&n.host!==n&&n.host instanceof Element?n.host:n.parentNode}}function be(e,t,n){if(e[`$$${t}`]=n,D.has(t)){let o=`__fx_${t}`;if(!e[o]){let s=a=>{e[`$$${t}`]?.(a)};e.addEventListener(t,s),e[o]=s}return}R.has(t)||oe([t])}function te(e,t){delete e[`$$${t}`];let n=`__fx_${t}`,o=e[n];o&&(e.removeEventListener(t,o),delete e[n])}function qe(e){return!D.has(e)}function Ge(e){return typeof e=="function"}function N(e,t=!1){if(v)return L().createText(e);if(d.active&&!t){let n=P()?.hydrateText(e);if(n)return n}return document.createTextNode(e)}function ze(e,t=!1){if(v)return L().createElement(e,t);if(d.active){let n=P()?.hydrateElement(e);if(n)return n}return t?document.createElementNS(k,e):document.createElement(e)}function Ee(e,t=!1){let n=ee.get(e);if(n)return n;let o=document.createElement("template");return t?o.innerHTML=`<svg>${e}</svg>`:o.innerHTML=e,ee.set(e,o),o}function Xe(e,t,n=!1,o=!1){if(v){let s=L();return n?s.parseTemplate(e,o):s.createRaw(e)}if(d.active){let s=P()?.hydrateStatic(t);if(s)return s}return Ne(Ee(e,o),o).firstChild}function Je(e,t){if(!d.active)return t();let n=B(e.nextSibling,t);if(typeof n=="function"){let o=n;return((...s)=>d.active?B(e.nextSibling,()=>o(...s)):o(...s))}return n}function Ue(e){for(let t=e.nextSibling;t;t=t.nextSibling)if(t.nodeType===8&&t.data==="fx/")return t;throw new Error("[fluixi] template hole is missing its closing marker")}function Ye(e,t){let n=[];for(let o=e.nextSibling;o&&o!==t;o=o.nextSibling)n.push(o);return n}function Ne(e,t=!1){let n=e.content.cloneNode(!0);return t?n.firstChild:n}function Te(e){return Array.isArray(e)?e.length===2&&e[1]===" "?Array.isArray(e[0])?Te(e[0]):(typeof e[0]=="function",e[0]):e.length===1&&typeof e[0]=="function"?e[0]:e:e}function Ze(e){return typeof e!="function"?null:e._name||e.name||"anonymous"}function Qe(e){if(h(e)||x(e)||typeof e!="function")return e;let t=e();for(;typeof t=="function"&&!h(t)&&!x(t);)t=t();return t}var E=0,we=200;function Se(e,t,n,o,s){let a=o,f=new Map;return y(()=>{let r;if(x(e)&&!h(e)){if(!f.has(e)){E++;try{let i=e();f.set(e,i)}finally{E--}}for(r=f.get(e);typeof r=="function"&&h(r);)r=r()}else for(r=e();typeof r=="function"&&h(r);)r=r();{let i=0;for(;typeof r=="function"&&i++<50;)if(x(r)){if(!f.has(r)){let l=r;E++;try{let u=l();f.set(l,u)}finally{E--}}r=f.get(r)}else if(h(r))r=r();else if(r=r(),typeof r!="function"||!h(r)&&!x(r))break}E++;try{a=O(t,r,n,a,f),s(a)}finally{E--}})}function ie(e,t,n,o){if(E>we)return console.error("[insert] Exceeded max call depth — possible infinite loop."),()=>null;n!==void 0&&!n&&(n=N("",!0),e.appendChild(n));let s=o??null,a=i=>Array.isArray(i)&&i.some(l=>typeof l=="function"),f=i=>typeof i=="function"?i:()=>i;if(typeof t!="function"&&!a(t)){E++;try{s=O(e,t,n,s)}finally{E--}return()=>s}let r=Se(f(t),e,n,s,i=>{s=i});return()=>(r?.(),s)}function O(e,t,n,o,s){if(t==null||typeof t=="boolean")return w(e,o,n);if(typeof t=="function")for(;typeof t=="function";)t=t();if(t==null||typeof t=="boolean")return w(e,o,n);if(M(t)){let f=N("",!0);return Array.isArray(o)?o.length>0?(e.replaceChild(f,o[0]),w(e,o.slice(1),n)):g(e,f,n):o?e.replaceChild(f,o):g(e,f,n),t.then(r=>{f.parentNode===e&&O(e,r,f.nextSibling,f)}).catch(r=>{console.error("Error resolving promise in insertExpression:",r)}),f}let a=typeof t;if(a==="string"||a==="number"){if(a==="number"&&(t=String(t)),Array.isArray(o)){if(o.length===0){let r=N(t);return g(e,r,n),r}if(o.length===1&&o[0].nodeType===3)return o[0].data=t,o;o=w(e,o,n)}if(o&&Z(o))return o.data=t,o;let f=N(t);return o&&o.parentNode===e?e.replaceChild(f,o):K(e,f)||g(e,f,n),f}if(A(t))return K(e,t)?(Q(t),t):Array.isArray(o)?(o.length===0?g(e,t,n):o[0].parentNode===e?(e.replaceChild(t,o[0]),w(e,o.slice(1),n)):g(e,t,n),t):(o?o!==t&&(o.parentNode===e?e.replaceChild(t,o):g(e,t,n)):g(e,t,n),t);if(Array.isArray(t)){let f=[],r=Array.isArray(o)?o:o?[o]:[],i=[];b(t,f,e,n,!0,s,i);let l=ve(e,r,f,n);for(let u of i){let c=ie(e,u.sig,u.marker);S(()=>{w(e,c()),u.marker.parentNode===e&&e.removeChild(u.marker)})}return l}if(a==="object"&&t!==null&&typeof t=="object"){let f=t;if("type"in f&&"props"in f){let r=f;if(typeof r.type=="function"){let i=r.type(r.props||{});return O(e,i,n,o)}}}return w(e,o,n)}function b(e,t,n,o,s=!0,a,f){for(let r=0;r<e.length;r++){let i=e[r];if(!(i==null||typeof i=="boolean")){for(;typeof i=="function"&&!M(i)&&!h(i)&&!x(i)&&(i=i(),!(i==null||typeof i=="boolean")););if(!(i==null||typeof i=="boolean")){if(typeof i=="function"){let l;for(x(i)&&!h(i)?(a||(a=new Map),a.has(i)||a.set(i,i()),l=a.get(i)):l=i();typeof l=="function"&&!M(l)&&!h(l)&&!x(l);)a||(a=new Map),a.has(l)||a.set(l,l()),l=a.get(l);if(l==null||typeof l=="boolean")continue;if(typeof l=="function"){if(h(l)){if(f){let c=N("",!0);t.push(c),f.push({marker:c,sig:l});continue}let u=l();for(;typeof u=="function"&&h(u);)u=u();if(u==null||typeof u=="boolean")continue;Array.isArray(u)?b(u,t,n,o,s,a):b([u],t,n,o,s,a);continue}continue}Array.isArray(l)?b(l,t,n,o,s,a,f):b([l],t,n,o,s,a,f);continue}if(M(i)){let l=N("",!0);t.push(l),i.then(u=>{if(l.parentNode){let c=[];if(b([u],c,l.parentNode,void 0,!1,a),c.length>0){l.parentNode.replaceChild(c[0],l);for(let p=1;p<c.length;p++)l.parentNode?.insertBefore(c[p],c[p-1].nextSibling)}}}).catch(u=>console.error("Error resolving promise in array:",u));continue}if(Array.isArray(i)){b(i,t,n,o,s,a,f);continue}if(A(i)){t.push(i);continue}if(typeof i=="object"&&i!==null&&"type"in i&&"props"in i){let l=i;if(typeof l.type=="function"){let u=l.type(l.props||{});Array.isArray(u)?b(u,t,n,o,!1,a):b([u],t,n,o,!1,a);continue}}if(typeof i=="string"||typeof i=="number"){let l=String(i);if(l.trim()===""&&l!==" ")continue;t.push(N(l));continue}t.push(N(String(i)))}}}}function ve(e,t,n,o){for(let c=0;c<n.length;c++){let p=n[c].parentNode;p!==null&&p!==e&&p.nodeType!==11&&(n=n.slice(),n[c]=n[c].cloneNode(!0))}let s=n.length,a=t.length,f=s,r=0,i=0,l=a>0?t[a-1].nextSibling??void 0:o,u=null;for(;r<a||i<f;){if(t[r]===n[i]){r++,i++;continue}for(;a>r&&f>i&&t[a-1]===n[f-1];)a--,f--;if(a===r){let c=f<s?i?n[i-1].nextSibling??void 0:n[f-i]:l;for(;i<f;)g(e,n[i++],c)}else if(f===i)for(;r<a;)(!u||!u.has(t[r]))&&t[r].parentNode===e&&e.removeChild(t[r]),r++;else if(t[r]===n[f-1]&&n[i]===t[a-1]){let c=t[--a].nextSibling;g(e,n[i++],t[r++].nextSibling),g(e,n[--f],c),t[a]=t[r-1]}else{if(!u){u=new Map;let p=i;for(;p<f;)u.set(n[p],p++)}let c=u.get(t[r]);if(c!=null)if(i<c&&c<f){let p=r,_=1;for(;++p<a&&p<f&&!(!u.has(t[p])||u.get(t[p])!==c+_);)_++;if(_>c-i){let le=t[r];for(;i<c;)g(e,n[i++],le)}else t[r].parentNode===e?e.replaceChild(n[i++],t[r++]):(g(e,n[i++],l),r++)}else r++;else t[r].parentNode===e&&e.removeChild(t[r]),r++}}return n}function w(e,t,n){if(t)if(Array.isArray(t))for(let o=0;o<t.length;o++)t[o].parentNode===e&&e.removeChild(t[o]);else t.parentNode===e&&e.removeChild(t);return null}function g(e,t,n){d.active&&t.parentNode===e||(n&&n.parentNode===e?e.insertBefore(t,n):e.appendChild(t))}function H(e,t,n){n==null?delete e[t]:e[t]=n}function re(e,t,n){let o=n,s;return Array.isArray(n)&&(o=n[0],s=n[1]),typeof o!="function"?()=>{}:(e.addEventListener(t,o,s),()=>e.removeEventListener(t,o,s))}function se(e,t){let n=(o,s)=>{typeof o=="function"&&o(e,s??(()=>{}))};if(typeof t=="function"){n(t);return}if(Array.isArray(t)){if(typeof t[0]=="function"){n(t[0],t[1]);return}for(let o of t)Array.isArray(o)?n(o[0],o[1]):n(o)}}function q(e,t,n,o=!1){return typeof n!="function"?(T(e,t,n,o),()=>{}):y(()=>{let s=typeof n=="function"?n():n;T(e,t,s,o)})}function G(e,t,n){return typeof n!="function"?(H(e,t,n),()=>{}):y(()=>{let o=typeof n=="function"?n():n;H(e,t,o)})}function fe(e,t,n){return typeof n!="function"?(T(e,t,!!n),()=>{}):y(()=>{let o=n();T(e,t,!!o)})}function $(e,t){if(t==null){e.removeAttribute("class");return}if(typeof t=="function"){y(()=>$(e,t()));return}if(typeof t=="string"){e.setAttribute("class",t);return}if(Array.isArray(t)){e.setAttribute("class",t.filter(Boolean).join(" "));return}if(typeof t=="object"){let n=Object.keys(t).filter(o=>{let s=t[o];return typeof s=="function"?s():!!s}).join(" ");e.setAttribute("class",n);return}e.setAttribute("class",String(t))}function j(e,t,n){if(!(!t||typeof t!="object"))for(let o in t){let s=t[o],a=o.split(/\s+/).filter(Boolean);if(typeof s=="function"&&n)n.push(y(()=>{let f=!!s();for(let r of a)e.classList.toggle(r,f)}));else{let f=!!(typeof s=="function"?s():s);for(let r of a)e.classList.toggle(r,f)}}}function F(e,t){let n=t;for(;typeof n=="function";)n=n();if(n==null){e.removeAttribute("style");return}if(typeof n=="string"){e.style.cssText=n;return}if(typeof n=="object")for(let o in n){let s=n[o];s==null?e.style[o]="":e.style[o]=s}}function et(e){let{element:t,props:n,prevProps:o=me,isSVG:s=!1,skipChildren:a=!1}=e;if(!t||!Y(t))return console.error("[spread] Error: element is not a DOM Element!"),()=>{};if(!n)return console.warn("[spread] Warning: props is undefined!"),()=>{};let f=s||t.namespaceURI===k,r=[];for(let i in n){if(a&&i==="children")continue;let l=n[i],u=o[i];if(l===u)continue;if(i==="ref"){ae(l,t);continue}if(i==="use"){se(t,l);continue}if(i.startsWith("on:")){r.push(re(t,i.slice(3),l));continue}if(i.startsWith("prop:")){r.push(G(t,i.slice(5),l));continue}if(i.startsWith("attr:")){r.push(q(t,i.slice(5),l,f));continue}if(i.startsWith("bool:")){r.push(fe(t,i.slice(5),l));continue}if(i==="class"||i==="className"){typeof l=="function"?r.push(y(()=>$(t,l()))):$(t,l);continue}if(i==="classList"){typeof l=="function"?r.push(y(()=>j(t,l()))):j(t,l,r);continue}if(i==="style"){typeof l=="function"?r.push(y(()=>F(t,l()))):F(t,l);continue}if(i.startsWith("on")){let p=i.slice(2).toLowerCase();u&&te(t,p),l&&be(t,p,l);continue}let c=V.has(i)||!f&&i in t;typeof l=="function"?r.push(c?G(t,i,l):q(t,i,l,f)):r.push(y(()=>c?H(t,i,n[i]):T(t,i,n[i],f)))}for(let i in o)if(!(i in n))if(i.startsWith("on")){let l=i.slice(2).toLowerCase();te(t,l)}else V.has(i)?H(t,i,null):t.removeAttribute(i);return()=>{r.forEach(i=>i())}}function tt(e,t,n=!1){for(let o in t){let s=t[o];if(o==="ref"){ae(s,e);continue}if(o!=="children"){if(o==="use"){se(e,s);continue}if(o.startsWith("on:")){re(e,o.slice(3),s);continue}if(o.startsWith("prop:")){G(e,o.slice(5),s);continue}if(o.startsWith("attr:")){q(e,o.slice(5),s,n);continue}if(o.startsWith("bool:")){fe(e,o.slice(5),s);continue}if(o.startsWith("on")&&o.length>2){let a=o.slice(2).toLowerCase();if(typeof s=="function")if(D.has(a)){e[`$$${a}`]=s;let f=`__fx_${a}`;if(!e[f]){let r=i=>{e[`$$${a}`]?.(i)};e.addEventListener(a,r),e[f]=r}}else e[`$$${a}`]=s,R.has(a)||oe([a]);continue}if(o==="class"||o==="className"){$(e,s);continue}if(o==="classList"){typeof s=="function"?y(()=>j(e,s())):j(e,s);continue}if(o==="style"){typeof s=="function"?y(()=>F(e,s())):F(e,s);continue}if(o==="innerHTML"){if(typeof s=="function"){let a=C(()=>{let f=s();for(;typeof f=="function";)f=f();e.innerHTML=f});S(()=>a())}else e.innerHTML=s;continue}if(o==="value"&&(e.tagName==="INPUT"||e.tagName==="TEXTAREA")){if(typeof s=="function"){let a=C(()=>{let f=s();for(;typeof f=="function"&&f.length===0;)f=f();document.activeElement!==e&&(e.value=f??"")});S(()=>{a()})}else y(()=>{document.activeElement!==e&&(e.value=t[o]??"")});continue}if(o==="checked"&&e.tagName==="INPUT"){if(typeof s=="function"){let a=C(()=>{let f=s();for(;typeof f=="function"&&f.length===0;)f=f();document.activeElement!==e&&(e.checked=f??"")});S(()=>{a()})}else y(()=>{document.activeElement!==e&&(e.checked=t[o]??"")});continue}if(o==="value"&&e.tagName==="SELECT"){if(typeof s=="function"){let a=!0,f=C(()=>{let r=s();for(;typeof r=="function"&&r.length===0;)r=r();a?(a=!1,queueMicrotask(()=>{e.value=r??""})):e.value=r??""});S(()=>{f()})}else{let a=!0;y(()=>{let f=t[o];a?(a=!1,queueMicrotask(()=>{e.value=f??""})):e.value=f??""})}continue}if(typeof s=="function"){let a=C(()=>{let f=s();for(;typeof f=="function"&&f.length===0;)f=f();I(e,o,f,n)});S(()=>{a()})}else y(()=>I(e,o,t[o],n))}}}function nt(...e){let t=o=>{for(let s=e.length-1;s>=0;s--){let a=e[s];if(a&&o in a&&a[o]!==void 0)return a[o]}},n=o=>{for(let s of e)if(s&&o in s)return!0;return!1};return new Proxy({},{get:(o,s)=>t(s),has:(o,s)=>n(s),ownKeys:()=>{let o=new Set;for(let s of e)if(s)for(let a of Reflect.ownKeys(s))o.add(a);return[...o]},getOwnPropertyDescriptor:(o,s)=>n(s)?{enumerable:!0,configurable:!0,get:()=>t(s)}:void 0})}function ot(e,...t){let n=new Set;for(let f of t)for(let r of f)n.add(r);let o=f=>({enumerable:!0,configurable:!0,get:()=>e[f]}),s=t.map(f=>{let r=new Set(f);return new Proxy({},{get:(i,l)=>r.has(l)?e[l]:void 0,has:(i,l)=>r.has(l)&&l in e,ownKeys:()=>Array.from(r).filter(i=>i in e),getOwnPropertyDescriptor:(i,l)=>r.has(l)&&l in e?o(l):void 0})}),a=new Proxy({},{get:(f,r)=>n.has(r)?void 0:e[r],has:(f,r)=>!n.has(r)&&r in e,ownKeys:()=>Reflect.ownKeys(e).filter(f=>!n.has(f)),getOwnPropertyDescriptor:(f,r)=>!n.has(r)&&r in e?o(r):void 0});return[...s,a]}function ae(e,t){if(e){if(A(e)){let n=t,o=e;if(!n)return;typeof n=="function"?n(o):typeof n=="object"&&"current"in n&&(n.current=o);return}typeof e=="function"?e(t):typeof e=="object"&&"current"in e&&(e.current=t)}}function it(e,t,n){let o=t||document.body,s=ye(()=>e),a=[];return ne(()=>{let f=y(()=>{let r=s();Array.isArray(r)?(r.forEach(i=>o.appendChild(i)),a.push(()=>{r.forEach(i=>{i.parentNode===o&&o.removeChild(i)})})):A(r)&&(o.appendChild(r),a.push(()=>{r.parentNode===o&&o.removeChild(r)}))});a.push(f),S(()=>{a.forEach(r=>r())})}),null}function rt(e){return typeof e=="string"&&e.toLowerCase()===e}function st(e){return e==="svg"||e==="path"||e==="circle"||e==="rect"||e==="line"||e==="polygon"||e==="polyline"||e==="ellipse"||e==="g"||e==="defs"||e==="clipPath"||e==="text"}function ft(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function M(e){return e!=null&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"||e instanceof Promise}function at(e){return typeof e=="function"&&e.length===0&&h(e)}function lt(e,t,n){if(!t)throw new Error("Container element is required");let o,s,a=[];return pe(f=>{ne(()=>{d.active||(t.textContent=""),X(t),J(),ie(t,e)}),s=f}),()=>{s?.(),o?.(),a.forEach(f=>f()),t.textContent=""}}function ut(e){if(Array.isArray(e))return e;if(typeof e=="function"&&typeof e.set=="function")return[e,e.set];throw new TypeError("[fluixi] bind: needs a signal — either `signal(…)` or the `[get, set]` pair from `createSignal(…)`.")}export{be as addDelegatedEventListener,re as addNativeEventListener,tt as applyProps,se as applyUse,ut as bindPair,w as cleanChildren,Ne as cloneTemplate,ze as createNativeElement,it as createPortal,Ee as createTemplate,oe as delegateEvents,ft as escapeHTML,Ze as fnName,Be as generateID,Ke as getStableElementId,ae as handleRef,Ye as holeContent,Ue as holeEnd,Je as holeScope,ie as insert,O as insertExpression,at as isAccessor,qe as isDelegatedEvent,Ge as isFunction,rt as isNativeElement,M as isPromise,st as isSVGElement,Qe as iterateFn,Te as makeArrayFlat,nt as mergeProps,te as removeDelegatedEventListener,lt as render,j as setClassList,$ as setClassName,q as setDynamicAttribute,fe as setDynamicBoolAttribute,G as setDynamicProperty,H as setProperty,F as setStyle,ot as splitProps,et as spread,Xe as templateNode};
|
package/dist/lib/dom/utils.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview DOM utilities for Fluixi
|
|
3
|
-
* @module fluixi/dom
|
|
3
|
+
* @module @fluixi/core/dom
|
|
4
4
|
*
|
|
5
5
|
* This module provides utilities for DOM manipulation and queries.
|
|
6
6
|
*/
|
|
@@ -55,7 +55,7 @@ export declare const JSX_PROPERTIES: Set<string>;
|
|
|
55
55
|
*
|
|
56
56
|
* @example
|
|
57
57
|
* ```typescript
|
|
58
|
-
* import { query } from 'fluixi/dom';
|
|
58
|
+
* import { query } from '@fluixi/core/dom';
|
|
59
59
|
*
|
|
60
60
|
* const button = query<HTMLButtonElement>('#my-button');
|
|
61
61
|
* button?.click();
|
|
@@ -72,7 +72,7 @@ export declare function query<T extends Element = Element>(selector: string, roo
|
|
|
72
72
|
*
|
|
73
73
|
* @example
|
|
74
74
|
* ```typescript
|
|
75
|
-
* import { queryAll } from 'fluixi/dom';
|
|
75
|
+
* import { queryAll } from '@fluixi/core/dom';
|
|
76
76
|
*
|
|
77
77
|
* const buttons = queryAll<HTMLButtonElement>('button');
|
|
78
78
|
* buttons.forEach(btn => btn.disabled = true);
|
|
@@ -89,7 +89,7 @@ export declare function queryAll<T extends Element = Element>(selector: string,
|
|
|
89
89
|
*
|
|
90
90
|
* @example
|
|
91
91
|
* ```typescript
|
|
92
|
-
* import { closest } from 'fluixi/dom';
|
|
92
|
+
* import { closest } from '@fluixi/core/dom';
|
|
93
93
|
*
|
|
94
94
|
* const form = closest<HTMLFormElement>(button, 'form');
|
|
95
95
|
* form?.submit();
|
|
@@ -104,7 +104,7 @@ export declare function closest<T extends Element = Element>(element: Element, s
|
|
|
104
104
|
*
|
|
105
105
|
* @example
|
|
106
106
|
* ```typescript
|
|
107
|
-
* import { addClass } from 'fluixi/dom';
|
|
107
|
+
* import { addClass } from '@fluixi/core/dom';
|
|
108
108
|
*
|
|
109
109
|
* addClass(element, 'active', 'visible');
|
|
110
110
|
* ```
|
|
@@ -118,7 +118,7 @@ export declare function addClass(element: Element, ...classes: string[]): void;
|
|
|
118
118
|
*
|
|
119
119
|
* @example
|
|
120
120
|
* ```typescript
|
|
121
|
-
* import { removeClass } from 'fluixi/dom';
|
|
121
|
+
* import { removeClass } from '@fluixi/core/dom';
|
|
122
122
|
*
|
|
123
123
|
* removeClass(element, 'active', 'visible');
|
|
124
124
|
* ```
|
|
@@ -132,7 +132,7 @@ export declare function removeClass(element: Element, ...classes: string[]): voi
|
|
|
132
132
|
*
|
|
133
133
|
* @example
|
|
134
134
|
* ```typescript
|
|
135
|
-
* import { toggleClass } from 'fluixi/dom';
|
|
135
|
+
* import { toggleClass } from '@fluixi/core/dom';
|
|
136
136
|
*
|
|
137
137
|
* toggleClass(element, 'active');
|
|
138
138
|
* ```
|
|
@@ -147,7 +147,7 @@ export declare function toggleClass(element: Element, ...classes: string[]): voi
|
|
|
147
147
|
*
|
|
148
148
|
* @example
|
|
149
149
|
* ```typescript
|
|
150
|
-
* import { hasClass } from 'fluixi/dom';
|
|
150
|
+
* import { hasClass } from '@fluixi/core/dom';
|
|
151
151
|
*
|
|
152
152
|
* if (hasClass(element, 'active')) {
|
|
153
153
|
* console.log('Element is active');
|
|
@@ -164,7 +164,7 @@ export declare function hasClass(element: Element, className: string): boolean;
|
|
|
164
164
|
*
|
|
165
165
|
* @example
|
|
166
166
|
* ```typescript
|
|
167
|
-
* import { setAttribute } from 'fluixi/dom';
|
|
167
|
+
* import { setAttribute } from '@fluixi/core/dom';
|
|
168
168
|
*
|
|
169
169
|
* setAttribute(input, 'disabled', true);
|
|
170
170
|
* setAttribute(div, 'data-id', '123');
|
|
@@ -180,7 +180,7 @@ export declare function setAttribute(element: Element, name: string, value: unkn
|
|
|
180
180
|
*
|
|
181
181
|
* @example
|
|
182
182
|
* ```typescript
|
|
183
|
-
* import { getAttribute } from 'fluixi/dom';
|
|
183
|
+
* import { getAttribute } from '@fluixi/core/dom';
|
|
184
184
|
*
|
|
185
185
|
* const id = getAttribute(div, 'data-id');
|
|
186
186
|
* ```
|
|
@@ -194,7 +194,7 @@ export declare function getAttribute(element: Element, name: string): string | n
|
|
|
194
194
|
*
|
|
195
195
|
* @example
|
|
196
196
|
* ```typescript
|
|
197
|
-
* import { removeAttribute } from 'fluixi/dom';
|
|
197
|
+
* import { removeAttribute } from '@fluixi/core/dom';
|
|
198
198
|
*
|
|
199
199
|
* removeAttribute(input, 'disabled');
|
|
200
200
|
* ```
|
|
@@ -208,7 +208,7 @@ export declare function removeAttribute(element: Element, name: string): void;
|
|
|
208
208
|
*
|
|
209
209
|
* @example
|
|
210
210
|
* ```typescript
|
|
211
|
-
* import { setStyles } from 'fluixi/dom';
|
|
211
|
+
* import { setStyles } from '@fluixi/core/dom';
|
|
212
212
|
*
|
|
213
213
|
* setStyles(div, {
|
|
214
214
|
* backgroundColor: 'red',
|
|
@@ -227,7 +227,7 @@ export declare function setStyles(element: any, styles: Partial<CSSStyleDeclarat
|
|
|
227
227
|
*
|
|
228
228
|
* @example
|
|
229
229
|
* ```typescript
|
|
230
|
-
* import { getStyle } from 'fluixi/dom';
|
|
230
|
+
* import { getStyle } from '@fluixi/core/dom';
|
|
231
231
|
*
|
|
232
232
|
* const color = getStyle(div, 'backgroundColor');
|
|
233
233
|
* ```
|
|
@@ -244,7 +244,7 @@ export declare function getStyle(element: Element, property: string): string;
|
|
|
244
244
|
*
|
|
245
245
|
* @example
|
|
246
246
|
* ```typescript
|
|
247
|
-
* import { createElement } from 'fluixi/dom';
|
|
247
|
+
* import { createElement } from '@fluixi/core/dom';
|
|
248
248
|
*
|
|
249
249
|
* const button = createElement('button',
|
|
250
250
|
* { class: 'btn', disabled: true },
|
|
@@ -260,7 +260,7 @@ export declare function createElement<K extends keyof HTMLElementTagNameMap>(tag
|
|
|
260
260
|
*
|
|
261
261
|
* @example
|
|
262
262
|
* ```typescript
|
|
263
|
-
* import { removeChildren } from 'fluixi/dom';
|
|
263
|
+
* import { removeChildren } from '@fluixi/core/dom';
|
|
264
264
|
*
|
|
265
265
|
* removeChildren(container);
|
|
266
266
|
* ```
|
|
@@ -274,7 +274,7 @@ export declare function removeChildren(element: Element): void;
|
|
|
274
274
|
*
|
|
275
275
|
* @example
|
|
276
276
|
* ```typescript
|
|
277
|
-
* import { appendChildren } from 'fluixi/dom';
|
|
277
|
+
* import { appendChildren } from '@fluixi/core/dom';
|
|
278
278
|
*
|
|
279
279
|
* appendChildren(container,
|
|
280
280
|
* createElement('div', {}, 'Child 1'),
|
|
@@ -292,7 +292,7 @@ export declare function appendChildren(parent: Element, ...children: (Node | str
|
|
|
292
292
|
*
|
|
293
293
|
* @example
|
|
294
294
|
* ```typescript
|
|
295
|
-
* import { isVisible } from 'fluixi/dom';
|
|
295
|
+
* import { isVisible } from '@fluixi/core/dom';
|
|
296
296
|
*
|
|
297
297
|
* if (isVisible(element)) {
|
|
298
298
|
* console.log('Element is in viewport');
|
|
@@ -308,7 +308,7 @@ export declare function isVisible(element: Element): boolean;
|
|
|
308
308
|
*
|
|
309
309
|
* @example
|
|
310
310
|
* ```typescript
|
|
311
|
-
* import { scrollIntoView } from 'fluixi/dom';
|
|
311
|
+
* import { scrollIntoView } from '@fluixi/core/dom';
|
|
312
312
|
*
|
|
313
313
|
* scrollIntoView(element, { behavior: 'smooth', block: 'center' });
|
|
314
314
|
* ```
|
|
@@ -322,7 +322,7 @@ export declare function scrollIntoView(element: Element, options?: ScrollIntoVie
|
|
|
322
322
|
*
|
|
323
323
|
* @example
|
|
324
324
|
* ```typescript
|
|
325
|
-
* import { getOffset } from 'fluixi/dom';
|
|
325
|
+
* import { getOffset } from '@fluixi/core/dom';
|
|
326
326
|
*
|
|
327
327
|
* const { top, left } = getOffset(element);
|
|
328
328
|
* ```
|
|
@@ -343,7 +343,7 @@ export declare function getOffset(element: Element): {
|
|
|
343
343
|
*
|
|
344
344
|
* @example
|
|
345
345
|
* ```typescript
|
|
346
|
-
* import { delegate } from 'fluixi/dom';
|
|
346
|
+
* import { delegate } from '@fluixi/core/dom';
|
|
347
347
|
*
|
|
348
348
|
* const cleanup = delegate(list, 'click', '.item', (event, target) => {
|
|
349
349
|
* console.log('Clicked item:', target);
|
|
@@ -360,7 +360,7 @@ export declare function delegate<K extends keyof HTMLElementEventMap>(parent: El
|
|
|
360
360
|
*
|
|
361
361
|
* @example
|
|
362
362
|
* ```typescript
|
|
363
|
-
* import { waitForElement } from 'fluixi/dom';
|
|
363
|
+
* import { waitForElement } from '@fluixi/core/dom';
|
|
364
364
|
*
|
|
365
365
|
* const element = await waitForElement('#dynamic-content');
|
|
366
366
|
* ```
|
|
@@ -376,7 +376,7 @@ export declare function waitForElement(selector: string, timeout?: number): Prom
|
|
|
376
376
|
*
|
|
377
377
|
* @example
|
|
378
378
|
* ```typescript
|
|
379
|
-
* import { observeIntersection } from 'fluixi/dom';
|
|
379
|
+
* import { observeIntersection } from '@fluixi/core/dom';
|
|
380
380
|
*
|
|
381
381
|
* const cleanup = observeIntersection(element, (isIntersecting) => {
|
|
382
382
|
* console.log('Element visible:', isIntersecting);
|
|
@@ -393,7 +393,7 @@ export declare function observeIntersection(element: Element, callback: (isInter
|
|
|
393
393
|
*
|
|
394
394
|
* @example
|
|
395
395
|
* ```typescript
|
|
396
|
-
* import { observeResize } from 'fluixi/dom';
|
|
396
|
+
* import { observeResize } from '@fluixi/core/dom';
|
|
397
397
|
*
|
|
398
398
|
* const cleanup = observeResize(element, (entry) => {
|
|
399
399
|
* console.log('New size:', entry.contentRect.width, entry.contentRect.height);
|