flexium 0.13.2 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core.d.cts +6 -1
- package/dist/core.d.ts +6 -1
- package/dist/core.js +1 -1
- package/dist/core.mjs +1 -1
- package/dist/core.mjs.map +1 -1
- package/dist/dom.js +1 -1
- package/dist/dom.mjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/router.js +1 -1
- package/dist/router.mjs +1 -1
- package/package.json +2 -17
- package/dist/canvas.d.cts +0 -84
- package/dist/canvas.d.ts +0 -84
- package/dist/canvas.js +0 -2
- package/dist/canvas.js.map +0 -1
- package/dist/canvas.mjs +0 -2
- package/dist/canvas.mjs.map +0 -1
- package/dist/interactive.d.cts +0 -84
- package/dist/interactive.d.ts +0 -84
- package/dist/interactive.js +0 -2
- package/dist/interactive.js.map +0 -1
- package/dist/interactive.mjs +0 -2
- package/dist/interactive.mjs.map +0 -1
package/dist/core.d.cts
CHANGED
|
@@ -28,6 +28,9 @@ declare class Context<T> {
|
|
|
28
28
|
}) => any;
|
|
29
29
|
constructor(defaultValue: T);
|
|
30
30
|
}
|
|
31
|
+
declare function getContextValue<T>(ctx: Context<T>): T;
|
|
32
|
+
declare function pushContext(id: symbol, value: any): any;
|
|
33
|
+
declare function popContext(id: symbol, prevValue: any): void;
|
|
31
34
|
|
|
32
35
|
type Setter<T> = (newValue: T | ((prev: T) => T)) => void;
|
|
33
36
|
type ResourceControl<P = void> = {
|
|
@@ -88,4 +91,6 @@ declare function useRef<T>(initialValue: T): RefObject<T>;
|
|
|
88
91
|
declare function useRef<T>(initialValue: T | null): RefObject<T | null>;
|
|
89
92
|
declare function useRef<T = undefined>(): RefObject<T | undefined>;
|
|
90
93
|
|
|
91
|
-
|
|
94
|
+
declare function isReactive(value: unknown): boolean;
|
|
95
|
+
|
|
96
|
+
export { Context, type ForwardedRef, type Ref, type RefCallback, type RefObject, type ResourceControl, type Setter, type UseContext, type UseOptions, getContextValue, isReactive, popContext, pushContext, sync, use, useRef };
|
package/dist/core.d.ts
CHANGED
|
@@ -28,6 +28,9 @@ declare class Context<T> {
|
|
|
28
28
|
}) => any;
|
|
29
29
|
constructor(defaultValue: T);
|
|
30
30
|
}
|
|
31
|
+
declare function getContextValue<T>(ctx: Context<T>): T;
|
|
32
|
+
declare function pushContext(id: symbol, value: any): any;
|
|
33
|
+
declare function popContext(id: symbol, prevValue: any): void;
|
|
31
34
|
|
|
32
35
|
type Setter<T> = (newValue: T | ((prev: T) => T)) => void;
|
|
33
36
|
type ResourceControl<P = void> = {
|
|
@@ -88,4 +91,6 @@ declare function useRef<T>(initialValue: T): RefObject<T>;
|
|
|
88
91
|
declare function useRef<T>(initialValue: T | null): RefObject<T | null>;
|
|
89
92
|
declare function useRef<T = undefined>(): RefObject<T | undefined>;
|
|
90
93
|
|
|
91
|
-
|
|
94
|
+
declare function isReactive(value: unknown): boolean;
|
|
95
|
+
|
|
96
|
+
export { Context, type ForwardedRef, type Ref, type RefCallback, type RefObject, type ResourceControl, type Setter, type UseContext, type UseOptions, getContextValue, isReactive, popContext, pushContext, sync, use, useRef };
|
package/dist/core.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var chunkACYN2UKT_js=require('./chunk-ACYN2UKT.js'),chunk3CKIHQIE_js=require('./chunk-3CKIHQIE.js'),chunkE6Z7AI4J_js=require('./chunk-E6Z7AI4J.js');function
|
|
1
|
+
'use strict';var chunkACYN2UKT_js=require('./chunk-ACYN2UKT.js'),chunk3CKIHQIE_js=require('./chunk-3CKIHQIE.js'),chunkE6Z7AI4J_js=require('./chunk-E6Z7AI4J.js');function s(t){return chunkE6Z7AI4J_js.b(()=>({current:t}))}Object.defineProperty(exports,"isReactive",{enumerable:true,get:function(){return chunkACYN2UKT_js.b}});Object.defineProperty(exports,"use",{enumerable:true,get:function(){return chunkACYN2UKT_js.c}});Object.defineProperty(exports,"sync",{enumerable:true,get:function(){return chunk3CKIHQIE_js.e}});Object.defineProperty(exports,"Context",{enumerable:true,get:function(){return chunkE6Z7AI4J_js.c}});Object.defineProperty(exports,"getContextValue",{enumerable:true,get:function(){return chunkE6Z7AI4J_js.d}});Object.defineProperty(exports,"popContext",{enumerable:true,get:function(){return chunkE6Z7AI4J_js.f}});Object.defineProperty(exports,"pushContext",{enumerable:true,get:function(){return chunkE6Z7AI4J_js.e}});exports.useRef=s;//# sourceMappingURL=core.js.map
|
|
2
2
|
//# sourceMappingURL=core.js.map
|
package/dist/core.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{c as use}from'./chunk-3AKECLKA.mjs';export{e as sync}from'./chunk-NRPWBHKP.mjs';import {b}from'./chunk-MI76R42D.mjs';export{c as Context}from'./chunk-MI76R42D.mjs';function
|
|
1
|
+
export{b as isReactive,c as use}from'./chunk-3AKECLKA.mjs';export{e as sync}from'./chunk-NRPWBHKP.mjs';import {b}from'./chunk-MI76R42D.mjs';export{c as Context,d as getContextValue,f as popContext,e as pushContext}from'./chunk-MI76R42D.mjs';function s(t){return b(()=>({current:t}))}export{s as useRef};//# sourceMappingURL=core.mjs.map
|
|
2
2
|
//# sourceMappingURL=core.mjs.map
|
package/dist/core.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/ref.ts"],"names":["useRef","initialValue","hook"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/core/ref.ts"],"names":["useRef","initialValue","hook"],"mappings":"iPA2BO,SAASA,CAAAA,CAAUC,CAAAA,CAA4C,CACpE,OAAOC,CAAAA,CAAK,KAAO,CACjB,OAAA,CAASD,CACX,CAAA,CAAE,CACJ","file":"core.mjs","sourcesContent":["import { hook } from './hook'\nimport type { RefObject } from './types'\n\n/**\n * Creates a mutable ref object that persists across renders\n *\n * @example\n * ```tsx\n * function InputWithFocus() {\n * const inputRef = useRef<HTMLInputElement>()\n *\n * const focusInput = () => {\n * inputRef.current?.focus()\n * }\n *\n * return (\n * <div>\n * <input ref={inputRef} type=\"text\" />\n * <button onClick={focusInput}>Focus Input</button>\n * </div>\n * )\n * }\n * ```\n */\nexport function useRef<T>(initialValue: T): RefObject<T>\nexport function useRef<T>(initialValue: T | null): RefObject<T | null>\nexport function useRef<T = undefined>(): RefObject<T | undefined>\nexport function useRef<T>(initialValue?: T): RefObject<T | undefined> {\n return hook(() => ({\n current: initialValue\n }))\n}\n"]}
|
package/dist/dom.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkACYN2UKT_js=require('./chunk-ACYN2UKT.js'),chunkPUXZJ7OV_js=require('./chunk-PUXZJ7OV.js'),chunk3CKIHQIE_js=require('./chunk-3CKIHQIE.js'),chunkE6Z7AI4J_js=require('./chunk-E6Z7AI4J.js');function A(e,t,...o){return {type:e,props:t||{},children:o,key:t?.key}}var l=null,P=new WeakMap,h=null;function W(e,t,o={}){let{state:n,onHydrated:r,onMismatch:i}=o;l=t.firstChild;try{let s;typeof e=="function"&&!T(e)?s={type:e,props:{},children:[],key:void 0}:s=e,E(s,t),r?.();}catch(s){console.warn("[Flexium] Hydration mismatch, falling back to full render:",s),i?.(s),t.innerHTML="",import('./render-MJ2LCNSG.js').then(({render:p})=>{p(e,t);});}finally{l=null;}}function T(e){return e&&typeof e=="object"&&"type"in e&&"props"in e}function E(e,t){if(e==null||typeof e=="boolean")return F(),null;if(typeof e=="string"||typeof e=="number")return j(String(e));if(Array.isArray(e)){let o=[];for(let n of e){let r=E(n,t);r&&(Array.isArray(r)?o.push(...r):o.push(r));}return o}if(typeof e=="function")return M({type:e,props:{},children:[],key:void 0},t);if(typeof e=="object"&&T(e)){if(typeof e.type=="string")return R(e);if(typeof e.type=="function")return M(e,t)}return null}function F(){for(;l&&l.nodeType===Node.TEXT_NODE&&(!l.textContent||l.textContent.trim()==="");)l=l.nextSibling;}function j(e){F();let t=l;if(!t)return null;if(t.nodeType!==Node.TEXT_NODE){if(e.trim()==="")return null;throw new Error(`Hydration mismatch: expected text node "${e}", got ${t.nodeName}`)}return l=t.nextSibling,t}function R(e){F();let t=l,o=e.type;if(!t||t.nodeType!==Node.ELEMENT_NODE)throw new Error(`Hydration mismatch: expected element <${o}>, got ${t?.nodeName||"nothing"}`);if(t.tagName.toLowerCase()!==o.toLowerCase())throw new Error(`Hydration mismatch: expected <${o}>, got <${t.tagName.toLowerCase()}>`);if(e.props){for(let[n,r]of Object.entries(e.props))if(n==="ref")typeof r=="function"?r(t):r&&typeof r=="object"&&"current"in r&&(r.current=t);else if(n.startsWith("on")&&typeof r=="function"){let i=n.slice(2).toLowerCase();t.addEventListener(i,r),t.__eventHandlers||(t.__eventHandlers={}),t.__eventHandlers[i]=r;}}if(l=t.nextSibling,e.children&&e.children.length>0){let n=l;l=t.firstChild;for(let r of e.children)E(r,t);l=n;}return t}function M(e,t){let o=e.type,n={...e.props};e.children&&e.children.length>0&&(n.children=e.children.length===1?e.children[0]:e.children);let r=o._contextId,i=r!==void 0,s;i&&(s=chunkE6Z7AI4J_js.e(r,n.value)),P.has(t)||P.set(t,new Map);let p=P.get(t),C=e.key!==void 0,u;if(C)u=e.key;else {let y=0,f=o.name||"anonymous";p.forEach((N,x)=>{typeof x=="string"&&x.startsWith(`__auto_${f}_`)&&y++;}),u=`__auto_${f}_${y}`;}let a={hooks:[],hookIndex:0,nodes:[],parent:t,fnode:e,props:n,key:u,children:new Set,parentInstance:h||void 0};h&&h.children.add(a),p.set(u,a);let c=h;h=a;try{let y=chunkE6Z7AI4J_js.a(a,()=>o(n)),f=E(y,t);a.nodes=f?Array.isArray(f)?f:[f]:[];let N=!0,x=()=>{if(N){N=!1;return}let D=a.props;chunkE6Z7AI4J_js.a(a,()=>o(D));};return a.renderFn=x,chunk3CKIHQIE_js.b(x),a.nodes}finally{h=c,i&&chunkE6Z7AI4J_js.f(r,s);}}function _(e){let{target:t,children:o}=e,n=chunkE6Z7AI4J_js.b(()=>({container:null,mounted:false}));return chunkACYN2UKT_js.c(({onCleanup:r})=>{let i=null;if(typeof t=="string"?i=document.querySelector(t):t instanceof HTMLElement&&(i=t),!i){console.warn("[Flexium Portal] Target container not found:",t);return}let s=document.createElement("div");s.setAttribute("data-flexium-portal","true"),i.appendChild(s),n.container=s,n.mounted=true,chunkPUXZJ7OV_js.b(o,s),r(()=>{s.parentNode&&s.parentNode.removeChild(s),n.container=null,n.mounted=false;});},[t,o]),null}var K={register:()=>{},hasBoundary:false},v=new chunkE6Z7AI4J_js.c(K);function b(){let[e]=chunkACYN2UKT_js.c(v);return e}function z(e){let{fallback:t,children:o}=e,n=chunkE6Z7AI4J_js.b(()=>new Set),[,r]=chunkACYN2UKT_js.c(0),[i,s]=chunkACYN2UKT_js.c(false),C={register:a=>{n.has(a)||(n.add(a),r(c=>c+1),s(true),a.finally(()=>{n.delete(a),r(c=>{let y=c-1;return y===0&&s(false),y});}));},hasBoundary:true},u=i?t:o;return {type:v.Provider,props:{value:C},children:[u],key:void 0}}function V(e){let{fallback:t,onError:o,children:n,resetKey:r}=e,[i,s]=chunkACYN2UKT_js.c({error:null,info:null}),p=chunkE6Z7AI4J_js.b(()=>({current:r}));r!==p.current&&(p.current=r,i.error!==null&&s({error:null,info:null}));if(i.error)return typeof t=="function"?t(i.error,i.info):t;try{return n}finally{}}function $(e){let t=null,o=null,n=null,r=i=>{if(t)return t(i);if(n)throw n;let s=b();return o||(o=e().then(p=>{t=p.default;}).catch(p=>{n=p instanceof Error?p:new Error(String(p));})),s.hasBoundary&&s.register(o),null};return r._lazy=true,r._loader=e,r}Object.defineProperty(exports,"render",{enumerable:true,get:function(){return chunkPUXZJ7OV_js.b}});exports.ErrorBoundary=V;exports.Portal=_;exports.Suspense=z;exports.f=A;exports.hydrate=W;exports.lazy=$;//# sourceMappingURL=dom.js.map
|
|
2
2
|
//# sourceMappingURL=dom.js.map
|
package/dist/dom.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {c as c$1}from'./chunk-3AKECLKA.mjs';import {b as b$3}from'./chunk-TP5HUAIN.mjs';export{b as render}from'./chunk-TP5HUAIN.mjs';import {b as b$1}from'./chunk-NRPWBHKP.mjs';import {c,e,a,f,b as b$2}from'./chunk-MI76R42D.mjs';function A(e,t,...o){return {type:e,props:t||{},children:o,key:t?.key}}var l=null,P=new WeakMap,h=null;function W(e,t,o={}){let{state:n,onHydrated:r,onMismatch:i}=o;l=t.firstChild;try{let s;typeof e=="function"&&!T(e)?s={type:e,props:{},children:[],key:void 0}:s=e,E(s,t),r?.();}catch(s){console.warn("[Flexium] Hydration mismatch, falling back to full render:",s),i?.(s),t.innerHTML="",import('./render-4HB53K66.mjs').then(({render:p})=>{p(e,t);});}finally{l=null;}}function T(e){return e&&typeof e=="object"&&"type"in e&&"props"in e}function E(e,t){if(e==null||typeof e=="boolean")return F(),null;if(typeof e=="string"||typeof e=="number")return j(String(e));if(Array.isArray(e)){let o=[];for(let n of e){let r=E(n,t);r&&(Array.isArray(r)?o.push(...r):o.push(r));}return o}if(typeof e=="function")return M({type:e,props:{},children:[],key:void 0},t);if(typeof e=="object"&&T(e)){if(typeof e.type=="string")return R(e);if(typeof e.type=="function")return M(e,t)}return null}function F(){for(;l&&l.nodeType===Node.TEXT_NODE&&(!l.textContent||l.textContent.trim()==="");)l=l.nextSibling;}function j(e){F();let t=l;if(!t)return null;if(t.nodeType!==Node.TEXT_NODE){if(e.trim()==="")return null;throw new Error(`Hydration mismatch: expected text node "${e}", got ${t.nodeName}`)}return l=t.nextSibling,t}function R(e){F();let t=l,o=e.type;if(!t||t.nodeType!==Node.ELEMENT_NODE)throw new Error(`Hydration mismatch: expected element <${o}>, got ${t?.nodeName||"nothing"}`);if(t.tagName.toLowerCase()!==o.toLowerCase())throw new Error(`Hydration mismatch: expected <${o}>, got <${t.tagName.toLowerCase()}>`);if(e.props){for(let[n,r]of Object.entries(e.props))if(n==="ref")typeof r=="function"?r(t):r&&typeof r=="object"&&"current"in r&&(r.current=t);else if(n.startsWith("on")&&typeof r=="function"){let i=n.slice(2).toLowerCase();t.addEventListener(i,r),t.__eventHandlers||(t.__eventHandlers={}),t.__eventHandlers[i]=r;}}if(l=t.nextSibling,e.children&&e.children.length>0){let n=l;l=t.firstChild;for(let r of e.children)E(r,t);l=n;}return t}function M(e$1,t){let o=e$1.type,n={...e$1.props};e$1.children&&e$1.children.length>0&&(n.children=e$1.children.length===1?e$1.children[0]:e$1.children);let r=o._contextId,i=r!==void 0,s;i&&(s=e(r,n.value)),P.has(t)||P.set(t,new Map);let p=P.get(t),C=e$1.key!==void 0,u;if(C)u=e$1.key;else {let y=0,f=o.name||"anonymous";p.forEach((N,x)=>{typeof x=="string"&&x.startsWith(`__auto_${f}_`)&&y++;}),u=`__auto_${f}_${y}`;}let a$1={hooks:[],hookIndex:0,nodes:[],parent:t,fnode:e$1,props:n,key:u,children:new Set,parentInstance:h||void 0};h&&h.children.add(a$1),p.set(u,a$1);let c=h;h=a$1;try{let y=a(a$1,()=>o(n)),f=E(y,t);a$1.nodes=f?Array.isArray(f)?f:[f]:[];let N=!0,x=()=>{if(N){N=!1;return}let D=a$1.props;a(a$1,()=>o(D));};return a$1.renderFn=x,b$1(x),a$1.nodes}finally{h=c,i&&f(r,s);}}function _(e){let{target:t,children:o}=e,n=b$2(()=>({container:null,mounted:false}));return c$1(({onCleanup:r})=>{let i=null;if(typeof t=="string"?i=document.querySelector(t):t instanceof HTMLElement&&(i=t),!i){console.warn("[Flexium Portal] Target container not found:",t);return}let s=document.createElement("div");s.setAttribute("data-flexium-portal","true"),i.appendChild(s),n.container=s,n.mounted=true,b$3(o,s),r(()=>{s.parentNode&&s.parentNode.removeChild(s),n.container=null,n.mounted=false;});},[t,o]),null}var K={register:()=>{},hasBoundary:false},v=new c(K);function b(){let[e]=c$1(v);return e}function z(e){let{fallback:t,children:o}=e,n=b$2(()=>new Set),[,r]=c$1(0),[i,s]=c$1(false),C={register:a=>{n.has(a)||(n.add(a),r(c=>c+1),s(true),a.finally(()=>{n.delete(a),r(c=>{let y=c-1;return y===0&&s(false),y});}));},hasBoundary:true},u=i?t:o;return {type:v.Provider,props:{value:C},children:[u],key:void 0}}function V(e){let{fallback:t,onError:o,children:n,resetKey:r}=e,[i,s]=c$1({error:null,info:null}),p=b$2(()=>({current:r}));r!==p.current&&(p.current=r,i.error!==null&&s({error:null,info:null}));if(i.error)return typeof t=="function"?t(i.error,i.info):t;try{return n}finally{}}function $(e){let t=null,o=null,n=null,r=i=>{if(t)return t(i);if(n)throw n;let s=b();return o||(o=e().then(p=>{t=p.default;}).catch(p=>{n=p instanceof Error?p:new Error(String(p));})),s.hasBoundary&&s.register(o),null};return r._lazy=true,r._loader=e,r}export{V as ErrorBoundary,_ as Portal,z as Suspense,A as f,W as hydrate,$ as lazy};//# sourceMappingURL=dom.mjs.map
|
|
2
2
|
//# sourceMappingURL=dom.mjs.map
|
package/dist/index.d.cts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var o="0.
|
|
1
|
+
'use strict';var o="0.14.0";exports.VERSION=o;//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["VERSION"],"mappings":"aAAO,IAAMA,CAAAA,CAAU","file":"index.js","sourcesContent":["export const VERSION = '0.
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["VERSION"],"mappings":"aAAO,IAAMA,CAAAA,CAAU","file":"index.js","sourcesContent":["export const VERSION = '0.14.0' // Bump version to signify rebuild\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var o="0.
|
|
1
|
+
var o="0.14.0";export{o as VERSION};//# sourceMappingURL=index.mjs.map
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["VERSION"],"mappings":"AAAO,IAAMA,CAAAA,CAAU","file":"index.mjs","sourcesContent":["export const VERSION = '0.
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["VERSION"],"mappings":"AAAO,IAAMA,CAAAA,CAAU","file":"index.mjs","sourcesContent":["export const VERSION = '0.14.0' // Bump version to signify rebuild\n"]}
|
package/dist/metafile-cjs.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/index.ts":{"bytes":67,"imports":[],"format":"esm"},"src/core/lifecycle.ts":{"bytes":2686,"imports":[],"format":"esm"},"src/core/reactive.ts":{"bytes":2080,"imports":[{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"./lifecycle"}],"format":"esm"},"src/core/hook.ts":{"bytes":986,"imports":[],"format":"esm"},"src/core/devtools.ts":{"bytes":1841,"imports":[],"format":"esm"},"src/core/context.ts":{"bytes":1918,"imports":[],"format":"esm"},"src/core/use.ts":{"bytes":8125,"imports":[{"path":"src/core/reactive.ts","kind":"import-statement","original":"./reactive"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"./lifecycle"},{"path":"src/core/hook.ts","kind":"import-statement","original":"./hook"},{"path":"src/core/devtools.ts","kind":"import-statement","original":"./devtools"},{"path":"src/core/context.ts","kind":"import-statement","original":"./context"},{"path":"src/core/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"src/core/ref.ts":{"bytes":812,"imports":[{"path":"src/core/hook.ts","kind":"import-statement","original":"./hook"}],"format":"esm"},"src/core/index.ts":{"bytes":315,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"./use"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"./lifecycle"},{"path":"src/core/ref.ts","kind":"import-statement","original":"./ref"},{"path":"src/core/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"src/dom/f.ts":{"bytes":285,"imports":[],"format":"esm"},"src/dom/render.ts":{"bytes":15127,"imports":[{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../core/hook"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"../core/lifecycle"}],"format":"esm"},"src/dom/hydrate.ts":{"bytes":9324,"imports":[{"path":"src/core/hook.ts","kind":"import-statement","original":"../core/hook"},{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"../core/lifecycle"},{"path":"src/dom/render.ts","kind":"dynamic-import","original":"./render"}],"format":"esm"},"src/dom/components/Portal.tsx":{"bytes":1937,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../../core/hook"},{"path":"src/dom/render.ts","kind":"import-statement","original":"../render"}],"format":"esm"},"src/dom/components/suspenseContext.ts":{"bytes":412,"imports":[{"path":"src/core/context.ts","kind":"import-statement","original":"../../core/context"},{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"}],"format":"esm"},"src/dom/components/Suspense.tsx":{"bytes":1770,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../../core/hook"},{"path":"src/dom/components/suspenseContext.ts","kind":"import-statement","original":"./suspenseContext"}],"format":"esm"},"src/dom/components/ErrorBoundary.tsx":{"bytes":2854,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../../core/hook"}],"format":"esm"},"src/dom/components/lazy.ts":{"bytes":1767,"imports":[{"path":"src/dom/components/suspenseContext.ts","kind":"import-statement","original":"./suspenseContext"}],"format":"esm"},"src/dom/components/index.ts":{"bytes":598,"imports":[{"path":"src/dom/components/Portal.tsx","kind":"import-statement","original":"./Portal"},{"path":"src/dom/components/Suspense.tsx","kind":"import-statement","original":"./Suspense"},{"path":"src/dom/components/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"src/dom/components/lazy.ts","kind":"import-statement","original":"./lazy"},{"path":"src/dom/components/suspenseContext.ts","kind":"import-statement","original":"./suspenseContext"},{"path":"src/dom/components/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"}],"format":"esm"},"src/dom/index.ts":{"bytes":373,"imports":[{"path":"src/dom/f.ts","kind":"import-statement","original":"./f"},{"path":"src/dom/render.ts","kind":"import-statement","original":"./render"},{"path":"src/dom/hydrate.ts","kind":"import-statement","original":"./hydrate"},{"path":"src/dom/components/index.ts","kind":"import-statement","original":"./components"}],"format":"esm"},"src/server/escape.ts":{"bytes":364,"imports":[],"format":"esm"},"src/server/serverState.ts":{"bytes":896,"imports":[],"format":"esm"},"src/server/renderToString.ts":{"bytes":6572,"imports":[{"path":"src/server/escape.ts","kind":"import-statement","original":"./escape"},{"path":"src/server/serverState.ts","kind":"import-statement","original":"./serverState"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../core/hook"},{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"}],"format":"esm"},"src/server/index.ts":{"bytes":243,"imports":[{"path":"src/server/renderToString.ts","kind":"import-statement","original":"./renderToString"},{"path":"src/server/serverState.ts","kind":"import-statement","original":"./serverState"}],"format":"esm"},"src/router/types.ts":{"bytes":807,"imports":[],"format":"esm"},"src/router/utils.ts":{"bytes":3745,"imports":[{"path":"./types","kind":"import-statement","external":true}],"format":"esm"},"src/router/router.ts":{"bytes":3207,"imports":[{"path":"src/core/reactive.ts","kind":"import-statement","original":"../core/reactive"},{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"},{"path":"src/core/use.ts","kind":"import-statement","original":"../core/use"},{"path":"src/router/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/jsx-runtime.ts":{"bytes":741,"imports":[],"format":"esm"},"src/router/dom/Route.tsx":{"bytes":106,"imports":[],"format":"esm"},"src/router/dom/Routes.tsx":{"bytes":2590,"imports":[{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"../../jsx-runtime"},{"path":"src/router/router.ts","kind":"import-statement","original":"../router"},{"path":"src/router/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/router/dom/Route.tsx","kind":"import-statement","original":"./Route"}],"format":"esm"},"src/router/dom/Outlet.tsx":{"bytes":744,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"../../jsx-runtime"},{"path":"src/router/router.ts","kind":"import-statement","original":"../router"}],"format":"esm"},"src/router/dom/Link.tsx":{"bytes":447,"imports":[{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"../../jsx-runtime"},{"path":"src/router/router.ts","kind":"import-statement","original":"../router"}],"format":"esm"},"src/router/index.ts":{"bytes":309,"imports":[{"path":"src/router/types.ts","kind":"import-statement","original":"./types"},{"path":"src/router/router.ts","kind":"import-statement","original":"./router"},{"path":"src/router/dom/Routes.tsx","kind":"import-statement","original":"./dom/Routes"},{"path":"src/router/dom/Route.tsx","kind":"import-statement","original":"./dom/Route"},{"path":"src/router/dom/Outlet.tsx","kind":"import-statement","original":"./dom/Outlet"},{"path":"src/router/dom/Link.tsx","kind":"import-statement","original":"./dom/Link"}],"format":"esm"},"src/canvas/Canvas.tsx":{"bytes":5526,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../core/use"},{"path":"src/core/reactive.ts","kind":"import-statement","original":"../core/reactive"},{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"flexium/jsx-runtime"}],"format":"esm"},"src/canvas/dom/DrawRect.tsx":{"bytes":293,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/canvas/Canvas.tsx","kind":"import-statement","original":"../Canvas"}],"format":"esm"},"src/canvas/dom/DrawCircle.tsx":{"bytes":303,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/canvas/Canvas.tsx","kind":"import-statement","original":"../Canvas"}],"format":"esm"},"src/canvas/dom/DrawArc.tsx":{"bytes":288,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/canvas/Canvas.tsx","kind":"import-statement","original":"../Canvas"}],"format":"esm"},"src/canvas/dom/DrawLine.tsx":{"bytes":293,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/canvas/Canvas.tsx","kind":"import-statement","original":"../Canvas"}],"format":"esm"},"src/canvas/dom/DrawText.tsx":{"bytes":293,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/canvas/Canvas.tsx","kind":"import-statement","original":"../Canvas"}],"format":"esm"},"src/canvas/dom/DrawPath.tsx":{"bytes":293,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/canvas/Canvas.tsx","kind":"import-statement","original":"../Canvas"}],"format":"esm"},"src/canvas/index.ts":{"bytes":427,"imports":[{"path":"src/canvas/Canvas.tsx","kind":"import-statement","original":"./Canvas"},{"path":"src/canvas/dom/DrawRect.tsx","kind":"import-statement","original":"./dom/DrawRect"},{"path":"src/canvas/dom/DrawCircle.tsx","kind":"import-statement","original":"./dom/DrawCircle"},{"path":"src/canvas/dom/DrawArc.tsx","kind":"import-statement","original":"./dom/DrawArc"},{"path":"src/canvas/dom/DrawLine.tsx","kind":"import-statement","original":"./dom/DrawLine"},{"path":"src/canvas/dom/DrawText.tsx","kind":"import-statement","original":"./dom/DrawText"},{"path":"src/canvas/dom/DrawPath.tsx","kind":"import-statement","original":"./dom/DrawPath"}],"format":"esm"},"src/interactive/loop.ts":{"bytes":1687,"imports":[],"format":"esm"},"src/interactive/types.ts":{"bytes":1937,"imports":[],"format":"esm"},"src/interactive/keyboard.ts":{"bytes":2398,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../core/use"},{"path":"src/interactive/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/interactive/mouse.ts":{"bytes":3174,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../core/use"},{"path":"src/interactive/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/interactive/index.ts":{"bytes":215,"imports":[{"path":"src/interactive/loop.ts","kind":"import-statement","original":"./loop"},{"path":"src/interactive/keyboard.ts","kind":"import-statement","original":"./keyboard"},{"path":"src/interactive/mouse.ts","kind":"import-statement","original":"./mouse"}],"format":"esm"},"src/jsx-dev-runtime.ts":{"bytes":211,"imports":[{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"./jsx-runtime"}],"format":"esm"}},"outputs":{"dist/jsx-dev-runtime.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":510},"dist/jsx-dev-runtime.js":{"imports":[{"path":"dist/chunk-LHOIM4QY.js","kind":"import-statement"}],"exports":["Fragment","jsxDEV"],"entryPoint":"src/jsx-dev-runtime.ts","inputs":{"src/jsx-dev-runtime.ts":{"bytesInOutput":40}},"bytes":122},"dist/render-MJ2LCNSG.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/render-MJ2LCNSG.js":{"imports":[{"path":"dist/chunk-PUXZJ7OV.js","kind":"import-statement"},{"path":"dist/chunk-3CKIHQIE.js","kind":"import-statement"},{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"}],"exports":["reconcile","render"],"entryPoint":"src/dom/render.ts","inputs":{},"bytes":129},"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":204},"dist/index.js":{"imports":[],"exports":["VERSION"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":15}},"bytes":37},"dist/core.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":1066},"dist/core.js":{"imports":[{"path":"dist/chunk-ACYN2UKT.js","kind":"import-statement"},{"path":"dist/chunk-3CKIHQIE.js","kind":"import-statement"},{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"}],"exports":["Context","sync","use","useRef"],"entryPoint":"src/core/index.ts","inputs":{"src/core/index.ts":{"bytesInOutput":0},"src/core/ref.ts":{"bytesInOutput":42}},"bytes":222},"dist/dom.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":27792},"dist/dom.js":{"imports":[{"path":"dist/chunk-PUXZJ7OV.js","kind":"import-statement"},{"path":"dist/chunk-ACYN2UKT.js","kind":"import-statement"},{"path":"dist/chunk-3CKIHQIE.js","kind":"import-statement"},{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"},{"path":"dist/render-MJ2LCNSG.js","kind":"dynamic-import"}],"exports":["ErrorBoundary","Portal","Suspense","f","hydrate","lazy","render"],"entryPoint":"src/dom/index.ts","inputs":{"src/dom/f.ts":{"bytesInOutput":70},"src/dom/index.ts":{"bytesInOutput":0},"src/dom/hydrate.ts":{"bytesInOutput":2733},"src/dom/components/Portal.tsx":{"bytesInOutput":500},"src/dom/components/index.ts":{"bytesInOutput":0},"src/dom/components/suspenseContext.ts":{"bytesInOutput":84},"src/dom/components/Suspense.tsx":{"bytesInOutput":293},"src/dom/components/ErrorBoundary.tsx":{"bytesInOutput":500},"src/dom/components/lazy.ts":{"bytesInOutput":249}},"bytes":4713},"dist/chunk-PUXZJ7OV.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":23945},"dist/chunk-PUXZJ7OV.js":{"imports":[{"path":"dist/chunk-3CKIHQIE.js","kind":"import-statement"},{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"}],"exports":["a","b"],"inputs":{"src/dom/render.ts":{"bytesInOutput":4853}},"bytes":4963},"dist/server.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":12945},"dist/server.js":{"imports":[{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"}],"exports":["getIsServer","renderToStaticMarkup","renderToString"],"entryPoint":"src/server/index.ts","inputs":{"src/server/escape.ts":{"bytesInOutput":157},"src/server/serverState.ts":{"bytesInOutput":186},"src/server/renderToString.ts":{"bytesInOutput":2125},"src/server/index.ts":{"bytesInOutput":0}},"bytes":2594},"dist/router.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":17333},"dist/router.js":{"imports":[{"path":"dist/chunk-ACYN2UKT.js","kind":"import-statement"},{"path":"dist/chunk-3CKIHQIE.js","kind":"import-statement"},{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"},{"path":"dist/chunk-LHOIM4QY.js","kind":"import-statement"}],"exports":["Link","Outlet","Route","Routes","useLocation","useNavigate","useParams","useQuery","useRouter"],"entryPoint":"src/router/index.ts","inputs":{"src/router/index.ts":{"bytesInOutput":0},"src/router/utils.ts":{"bytesInOutput":1073},"src/router/router.ts":{"bytesInOutput":859},"src/router/dom/Route.tsx":{"bytesInOutput":26},"src/router/dom/Routes.tsx":{"bytesInOutput":638},"src/router/dom/Outlet.tsx":{"bytesInOutput":244},"src/router/dom/Link.tsx":{"bytesInOutput":133}},"bytes":3255},"dist/canvas.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":12688},"dist/canvas.js":{"imports":[{"path":"dist/chunk-ACYN2UKT.js","kind":"import-statement"},{"path":"dist/chunk-3CKIHQIE.js","kind":"import-statement"},{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"},{"path":"dist/chunk-LHOIM4QY.js","kind":"import-statement"}],"exports":["Canvas","DrawArc","DrawCircle","DrawLine","DrawPath","DrawRect","DrawText"],"entryPoint":"src/canvas/index.ts","inputs":{"src/canvas/Canvas.tsx":{"bytesInOutput":1875},"src/canvas/index.ts":{"bytesInOutput":0},"src/canvas/dom/DrawRect.tsx":{"bytesInOutput":60},"src/canvas/dom/DrawCircle.tsx":{"bytesInOutput":62},"src/canvas/dom/DrawArc.tsx":{"bytesInOutput":59},"src/canvas/dom/DrawLine.tsx":{"bytesInOutput":60},"src/canvas/dom/DrawText.tsx":{"bytesInOutput":60},"src/canvas/dom/DrawPath.tsx":{"bytesInOutput":60}},"bytes":2485},"dist/interactive.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":15153},"dist/interactive.js":{"imports":[{"path":"dist/chunk-ACYN2UKT.js","kind":"import-statement"},{"path":"dist/chunk-3CKIHQIE.js","kind":"import-statement"},{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"}],"exports":["Keys","MouseButton","useKeyboard","useLoop","useMouse"],"entryPoint":"src/interactive/index.ts","inputs":{"src/interactive/loop.ts":{"bytesInOutput":459},"src/interactive/index.ts":{"bytesInOutput":0},"src/interactive/types.ts":{"bytesInOutput":701},"src/interactive/keyboard.ts":{"bytesInOutput":689},"src/interactive/mouse.ts":{"bytesInOutput":1150}},"bytes":3175},"dist/chunk-ACYN2UKT.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":18028},"dist/chunk-ACYN2UKT.js":{"imports":[{"path":"dist/chunk-3CKIHQIE.js","kind":"import-statement"},{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"}],"exports":["a","b","c"],"inputs":{"src/core/reactive.ts":{"bytesInOutput":590},"src/core/devtools.ts":{"bytesInOutput":372},"src/core/use.ts":{"bytesInOutput":2043}},"bytes":3143},"dist/chunk-3CKIHQIE.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":4599},"dist/chunk-3CKIHQIE.js":{"imports":[],"exports":["a","b","c","d","e"],"inputs":{"src/core/lifecycle.ts":{"bytesInOutput":813}},"bytes":857},"dist/chunk-E6Z7AI4J.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":4337},"dist/chunk-E6Z7AI4J.js":{"imports":[],"exports":["a","b","c","d","e","f"],"inputs":{"src/core/hook.ts":{"bytesInOutput":227},"src/core/context.ts":{"bytesInOutput":307}},"bytes":585},"dist/jsx-runtime.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/jsx-runtime.js":{"imports":[{"path":"dist/chunk-LHOIM4QY.js","kind":"import-statement"}],"exports":["Fragment","jsx","jsxs"],"entryPoint":"src/jsx-runtime.ts","inputs":{},"bytes":81},"dist/chunk-LHOIM4QY.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":1297},"dist/chunk-LHOIM4QY.js":{"imports":[],"exports":["a","b","c"],"inputs":{"src/jsx-runtime.ts":{"bytesInOutput":183}},"bytes":213}}}
|
|
1
|
+
{"inputs":{"src/index.ts":{"bytes":67,"imports":[],"format":"esm"},"src/core/lifecycle.ts":{"bytes":2686,"imports":[],"format":"esm"},"src/core/reactive.ts":{"bytes":2080,"imports":[{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"./lifecycle"}],"format":"esm"},"src/core/hook.ts":{"bytes":986,"imports":[],"format":"esm"},"src/core/devtools.ts":{"bytes":1841,"imports":[],"format":"esm"},"src/core/context.ts":{"bytes":1918,"imports":[],"format":"esm"},"src/core/use.ts":{"bytes":8125,"imports":[{"path":"src/core/reactive.ts","kind":"import-statement","original":"./reactive"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"./lifecycle"},{"path":"src/core/hook.ts","kind":"import-statement","original":"./hook"},{"path":"src/core/devtools.ts","kind":"import-statement","original":"./devtools"},{"path":"src/core/context.ts","kind":"import-statement","original":"./context"},{"path":"src/core/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"src/core/ref.ts":{"bytes":812,"imports":[{"path":"src/core/hook.ts","kind":"import-statement","original":"./hook"}],"format":"esm"},"src/core/index.ts":{"bytes":441,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"./use"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"./lifecycle"},{"path":"src/core/ref.ts","kind":"import-statement","original":"./ref"},{"path":"src/core/context.ts","kind":"import-statement","original":"./context"},{"path":"src/core/reactive.ts","kind":"import-statement","original":"./reactive"}],"format":"esm"},"src/dom/f.ts":{"bytes":285,"imports":[],"format":"esm"},"src/dom/render.ts":{"bytes":15127,"imports":[{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../core/hook"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"../core/lifecycle"}],"format":"esm"},"src/dom/hydrate.ts":{"bytes":9324,"imports":[{"path":"src/core/hook.ts","kind":"import-statement","original":"../core/hook"},{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"../core/lifecycle"},{"path":"src/dom/render.ts","kind":"dynamic-import","original":"./render"}],"format":"esm"},"src/dom/components/Portal.tsx":{"bytes":1937,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../../core/hook"},{"path":"src/dom/render.ts","kind":"import-statement","original":"../render"}],"format":"esm"},"src/dom/components/suspenseContext.ts":{"bytes":412,"imports":[{"path":"src/core/context.ts","kind":"import-statement","original":"../../core/context"},{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"}],"format":"esm"},"src/dom/components/Suspense.tsx":{"bytes":1770,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../../core/hook"},{"path":"src/dom/components/suspenseContext.ts","kind":"import-statement","original":"./suspenseContext"}],"format":"esm"},"src/dom/components/ErrorBoundary.tsx":{"bytes":2854,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../../core/hook"}],"format":"esm"},"src/dom/components/lazy.ts":{"bytes":1767,"imports":[{"path":"src/dom/components/suspenseContext.ts","kind":"import-statement","original":"./suspenseContext"}],"format":"esm"},"src/dom/components/index.ts":{"bytes":598,"imports":[{"path":"src/dom/components/Portal.tsx","kind":"import-statement","original":"./Portal"},{"path":"src/dom/components/Suspense.tsx","kind":"import-statement","original":"./Suspense"},{"path":"src/dom/components/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"src/dom/components/lazy.ts","kind":"import-statement","original":"./lazy"},{"path":"src/dom/components/suspenseContext.ts","kind":"import-statement","original":"./suspenseContext"},{"path":"src/dom/components/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"}],"format":"esm"},"src/dom/index.ts":{"bytes":373,"imports":[{"path":"src/dom/f.ts","kind":"import-statement","original":"./f"},{"path":"src/dom/render.ts","kind":"import-statement","original":"./render"},{"path":"src/dom/hydrate.ts","kind":"import-statement","original":"./hydrate"},{"path":"src/dom/components/index.ts","kind":"import-statement","original":"./components"}],"format":"esm"},"src/server/escape.ts":{"bytes":364,"imports":[],"format":"esm"},"src/server/serverState.ts":{"bytes":896,"imports":[],"format":"esm"},"src/server/renderToString.ts":{"bytes":6572,"imports":[{"path":"src/server/escape.ts","kind":"import-statement","original":"./escape"},{"path":"src/server/serverState.ts","kind":"import-statement","original":"./serverState"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../core/hook"},{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"}],"format":"esm"},"src/server/index.ts":{"bytes":243,"imports":[{"path":"src/server/renderToString.ts","kind":"import-statement","original":"./renderToString"},{"path":"src/server/serverState.ts","kind":"import-statement","original":"./serverState"}],"format":"esm"},"src/router/types.ts":{"bytes":807,"imports":[],"format":"esm"},"src/router/utils.ts":{"bytes":3745,"imports":[{"path":"./types","kind":"import-statement","external":true}],"format":"esm"},"src/router/router.ts":{"bytes":3207,"imports":[{"path":"src/core/reactive.ts","kind":"import-statement","original":"../core/reactive"},{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"},{"path":"src/core/use.ts","kind":"import-statement","original":"../core/use"},{"path":"src/router/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/jsx-runtime.ts":{"bytes":741,"imports":[],"format":"esm"},"src/router/dom/Route.tsx":{"bytes":106,"imports":[],"format":"esm"},"src/router/dom/Routes.tsx":{"bytes":2590,"imports":[{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"../../jsx-runtime"},{"path":"src/router/router.ts","kind":"import-statement","original":"../router"},{"path":"src/router/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/router/dom/Route.tsx","kind":"import-statement","original":"./Route"}],"format":"esm"},"src/router/dom/Outlet.tsx":{"bytes":744,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"../../jsx-runtime"},{"path":"src/router/router.ts","kind":"import-statement","original":"../router"}],"format":"esm"},"src/router/dom/Link.tsx":{"bytes":447,"imports":[{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"../../jsx-runtime"},{"path":"src/router/router.ts","kind":"import-statement","original":"../router"}],"format":"esm"},"src/router/index.ts":{"bytes":309,"imports":[{"path":"src/router/types.ts","kind":"import-statement","original":"./types"},{"path":"src/router/router.ts","kind":"import-statement","original":"./router"},{"path":"src/router/dom/Routes.tsx","kind":"import-statement","original":"./dom/Routes"},{"path":"src/router/dom/Route.tsx","kind":"import-statement","original":"./dom/Route"},{"path":"src/router/dom/Outlet.tsx","kind":"import-statement","original":"./dom/Outlet"},{"path":"src/router/dom/Link.tsx","kind":"import-statement","original":"./dom/Link"}],"format":"esm"},"src/jsx-dev-runtime.ts":{"bytes":211,"imports":[{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"./jsx-runtime"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":204},"dist/index.js":{"imports":[],"exports":["VERSION"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":15}},"bytes":37},"dist/core.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":1066},"dist/core.js":{"imports":[{"path":"dist/chunk-ACYN2UKT.js","kind":"import-statement"},{"path":"dist/chunk-3CKIHQIE.js","kind":"import-statement"},{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"}],"exports":["Context","getContextValue","isReactive","popContext","pushContext","sync","use","useRef"],"entryPoint":"src/core/index.ts","inputs":{"src/core/index.ts":{"bytesInOutput":0},"src/core/ref.ts":{"bytesInOutput":42}},"bytes":320},"dist/dom.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":27792},"dist/dom.js":{"imports":[{"path":"dist/chunk-ACYN2UKT.js","kind":"import-statement"},{"path":"dist/chunk-PUXZJ7OV.js","kind":"import-statement"},{"path":"dist/chunk-3CKIHQIE.js","kind":"import-statement"},{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"},{"path":"dist/render-MJ2LCNSG.js","kind":"dynamic-import"}],"exports":["ErrorBoundary","Portal","Suspense","f","hydrate","lazy","render"],"entryPoint":"src/dom/index.ts","inputs":{"src/dom/f.ts":{"bytesInOutput":70},"src/dom/index.ts":{"bytesInOutput":0},"src/dom/hydrate.ts":{"bytesInOutput":2733},"src/dom/components/Portal.tsx":{"bytesInOutput":500},"src/dom/components/index.ts":{"bytesInOutput":0},"src/dom/components/suspenseContext.ts":{"bytesInOutput":84},"src/dom/components/Suspense.tsx":{"bytesInOutput":293},"src/dom/components/ErrorBoundary.tsx":{"bytesInOutput":500},"src/dom/components/lazy.ts":{"bytesInOutput":249}},"bytes":4713},"dist/server.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":12945},"dist/server.js":{"imports":[{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"}],"exports":["getIsServer","renderToStaticMarkup","renderToString"],"entryPoint":"src/server/index.ts","inputs":{"src/server/escape.ts":{"bytesInOutput":157},"src/server/serverState.ts":{"bytesInOutput":186},"src/server/renderToString.ts":{"bytesInOutput":2125},"src/server/index.ts":{"bytesInOutput":0}},"bytes":2594},"dist/router.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":17333},"dist/router.js":{"imports":[{"path":"dist/chunk-ACYN2UKT.js","kind":"import-statement"},{"path":"dist/chunk-LHOIM4QY.js","kind":"import-statement"},{"path":"dist/chunk-3CKIHQIE.js","kind":"import-statement"},{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"}],"exports":["Link","Outlet","Route","Routes","useLocation","useNavigate","useParams","useQuery","useRouter"],"entryPoint":"src/router/index.ts","inputs":{"src/router/index.ts":{"bytesInOutput":0},"src/router/utils.ts":{"bytesInOutput":1073},"src/router/router.ts":{"bytesInOutput":859},"src/router/dom/Route.tsx":{"bytesInOutput":26},"src/router/dom/Routes.tsx":{"bytesInOutput":638},"src/router/dom/Outlet.tsx":{"bytesInOutput":244},"src/router/dom/Link.tsx":{"bytesInOutput":133}},"bytes":3255},"dist/chunk-ACYN2UKT.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":18028},"dist/chunk-ACYN2UKT.js":{"imports":[{"path":"dist/chunk-3CKIHQIE.js","kind":"import-statement"},{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"}],"exports":["a","b","c"],"inputs":{"src/core/reactive.ts":{"bytesInOutput":590},"src/core/devtools.ts":{"bytesInOutput":372},"src/core/use.ts":{"bytesInOutput":2043}},"bytes":3143},"dist/jsx-runtime.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/jsx-runtime.js":{"imports":[{"path":"dist/chunk-LHOIM4QY.js","kind":"import-statement"}],"exports":["Fragment","jsx","jsxs"],"entryPoint":"src/jsx-runtime.ts","inputs":{},"bytes":81},"dist/jsx-dev-runtime.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":510},"dist/jsx-dev-runtime.js":{"imports":[{"path":"dist/chunk-LHOIM4QY.js","kind":"import-statement"}],"exports":["Fragment","jsxDEV"],"entryPoint":"src/jsx-dev-runtime.ts","inputs":{"src/jsx-dev-runtime.ts":{"bytesInOutput":40}},"bytes":122},"dist/chunk-LHOIM4QY.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":1297},"dist/chunk-LHOIM4QY.js":{"imports":[],"exports":["a","b","c"],"inputs":{"src/jsx-runtime.ts":{"bytesInOutput":183}},"bytes":213},"dist/render-MJ2LCNSG.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/render-MJ2LCNSG.js":{"imports":[{"path":"dist/chunk-PUXZJ7OV.js","kind":"import-statement"},{"path":"dist/chunk-3CKIHQIE.js","kind":"import-statement"},{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"}],"exports":["reconcile","render"],"entryPoint":"src/dom/render.ts","inputs":{},"bytes":129},"dist/chunk-PUXZJ7OV.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":23945},"dist/chunk-PUXZJ7OV.js":{"imports":[{"path":"dist/chunk-3CKIHQIE.js","kind":"import-statement"},{"path":"dist/chunk-E6Z7AI4J.js","kind":"import-statement"}],"exports":["a","b"],"inputs":{"src/dom/render.ts":{"bytesInOutput":4853}},"bytes":4963},"dist/chunk-3CKIHQIE.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":4599},"dist/chunk-3CKIHQIE.js":{"imports":[],"exports":["a","b","c","d","e"],"inputs":{"src/core/lifecycle.ts":{"bytesInOutput":813}},"bytes":857},"dist/chunk-E6Z7AI4J.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":4337},"dist/chunk-E6Z7AI4J.js":{"imports":[],"exports":["a","b","c","d","e","f"],"inputs":{"src/core/hook.ts":{"bytesInOutput":227},"src/core/context.ts":{"bytesInOutput":307}},"bytes":585}}}
|
package/dist/metafile-esm.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/index.ts":{"bytes":67,"imports":[],"format":"esm"},"src/core/lifecycle.ts":{"bytes":2686,"imports":[],"format":"esm"},"src/core/reactive.ts":{"bytes":2080,"imports":[{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"./lifecycle"}],"format":"esm"},"src/core/hook.ts":{"bytes":986,"imports":[],"format":"esm"},"src/core/devtools.ts":{"bytes":1841,"imports":[],"format":"esm"},"src/core/context.ts":{"bytes":1918,"imports":[],"format":"esm"},"src/core/use.ts":{"bytes":8125,"imports":[{"path":"src/core/reactive.ts","kind":"import-statement","original":"./reactive"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"./lifecycle"},{"path":"src/core/hook.ts","kind":"import-statement","original":"./hook"},{"path":"src/core/devtools.ts","kind":"import-statement","original":"./devtools"},{"path":"src/core/context.ts","kind":"import-statement","original":"./context"},{"path":"src/core/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"src/core/ref.ts":{"bytes":812,"imports":[{"path":"src/core/hook.ts","kind":"import-statement","original":"./hook"}],"format":"esm"},"src/core/index.ts":{"bytes":315,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"./use"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"./lifecycle"},{"path":"src/core/ref.ts","kind":"import-statement","original":"./ref"},{"path":"src/core/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"src/dom/f.ts":{"bytes":285,"imports":[],"format":"esm"},"src/dom/render.ts":{"bytes":15127,"imports":[{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../core/hook"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"../core/lifecycle"}],"format":"esm"},"src/dom/hydrate.ts":{"bytes":9324,"imports":[{"path":"src/core/hook.ts","kind":"import-statement","original":"../core/hook"},{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"../core/lifecycle"},{"path":"src/dom/render.ts","kind":"dynamic-import","original":"./render"}],"format":"esm"},"src/dom/components/Portal.tsx":{"bytes":1937,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../../core/hook"},{"path":"src/dom/render.ts","kind":"import-statement","original":"../render"}],"format":"esm"},"src/dom/components/suspenseContext.ts":{"bytes":412,"imports":[{"path":"src/core/context.ts","kind":"import-statement","original":"../../core/context"},{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"}],"format":"esm"},"src/dom/components/Suspense.tsx":{"bytes":1770,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../../core/hook"},{"path":"src/dom/components/suspenseContext.ts","kind":"import-statement","original":"./suspenseContext"}],"format":"esm"},"src/dom/components/ErrorBoundary.tsx":{"bytes":2854,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../../core/hook"}],"format":"esm"},"src/dom/components/lazy.ts":{"bytes":1767,"imports":[{"path":"src/dom/components/suspenseContext.ts","kind":"import-statement","original":"./suspenseContext"}],"format":"esm"},"src/dom/components/index.ts":{"bytes":598,"imports":[{"path":"src/dom/components/Portal.tsx","kind":"import-statement","original":"./Portal"},{"path":"src/dom/components/Suspense.tsx","kind":"import-statement","original":"./Suspense"},{"path":"src/dom/components/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"src/dom/components/lazy.ts","kind":"import-statement","original":"./lazy"},{"path":"src/dom/components/suspenseContext.ts","kind":"import-statement","original":"./suspenseContext"},{"path":"src/dom/components/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"}],"format":"esm"},"src/dom/index.ts":{"bytes":373,"imports":[{"path":"src/dom/f.ts","kind":"import-statement","original":"./f"},{"path":"src/dom/render.ts","kind":"import-statement","original":"./render"},{"path":"src/dom/hydrate.ts","kind":"import-statement","original":"./hydrate"},{"path":"src/dom/components/index.ts","kind":"import-statement","original":"./components"}],"format":"esm"},"src/server/escape.ts":{"bytes":364,"imports":[],"format":"esm"},"src/server/serverState.ts":{"bytes":896,"imports":[],"format":"esm"},"src/server/renderToString.ts":{"bytes":6572,"imports":[{"path":"src/server/escape.ts","kind":"import-statement","original":"./escape"},{"path":"src/server/serverState.ts","kind":"import-statement","original":"./serverState"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../core/hook"},{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"}],"format":"esm"},"src/server/index.ts":{"bytes":243,"imports":[{"path":"src/server/renderToString.ts","kind":"import-statement","original":"./renderToString"},{"path":"src/server/serverState.ts","kind":"import-statement","original":"./serverState"}],"format":"esm"},"src/router/types.ts":{"bytes":807,"imports":[],"format":"esm"},"src/router/utils.ts":{"bytes":3745,"imports":[{"path":"./types","kind":"import-statement","external":true}],"format":"esm"},"src/router/router.ts":{"bytes":3207,"imports":[{"path":"src/core/reactive.ts","kind":"import-statement","original":"../core/reactive"},{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"},{"path":"src/core/use.ts","kind":"import-statement","original":"../core/use"},{"path":"src/router/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/jsx-runtime.ts":{"bytes":741,"imports":[],"format":"esm"},"src/router/dom/Route.tsx":{"bytes":106,"imports":[],"format":"esm"},"src/router/dom/Routes.tsx":{"bytes":2590,"imports":[{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"../../jsx-runtime"},{"path":"src/router/router.ts","kind":"import-statement","original":"../router"},{"path":"src/router/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/router/dom/Route.tsx","kind":"import-statement","original":"./Route"}],"format":"esm"},"src/router/dom/Outlet.tsx":{"bytes":744,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"../../jsx-runtime"},{"path":"src/router/router.ts","kind":"import-statement","original":"../router"}],"format":"esm"},"src/router/dom/Link.tsx":{"bytes":447,"imports":[{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"../../jsx-runtime"},{"path":"src/router/router.ts","kind":"import-statement","original":"../router"}],"format":"esm"},"src/router/index.ts":{"bytes":309,"imports":[{"path":"src/router/types.ts","kind":"import-statement","original":"./types"},{"path":"src/router/router.ts","kind":"import-statement","original":"./router"},{"path":"src/router/dom/Routes.tsx","kind":"import-statement","original":"./dom/Routes"},{"path":"src/router/dom/Route.tsx","kind":"import-statement","original":"./dom/Route"},{"path":"src/router/dom/Outlet.tsx","kind":"import-statement","original":"./dom/Outlet"},{"path":"src/router/dom/Link.tsx","kind":"import-statement","original":"./dom/Link"}],"format":"esm"},"src/canvas/Canvas.tsx":{"bytes":5526,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../core/use"},{"path":"src/core/reactive.ts","kind":"import-statement","original":"../core/reactive"},{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"flexium/jsx-runtime"}],"format":"esm"},"src/canvas/dom/DrawRect.tsx":{"bytes":293,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/canvas/Canvas.tsx","kind":"import-statement","original":"../Canvas"}],"format":"esm"},"src/canvas/dom/DrawCircle.tsx":{"bytes":303,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/canvas/Canvas.tsx","kind":"import-statement","original":"../Canvas"}],"format":"esm"},"src/canvas/dom/DrawArc.tsx":{"bytes":288,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/canvas/Canvas.tsx","kind":"import-statement","original":"../Canvas"}],"format":"esm"},"src/canvas/dom/DrawLine.tsx":{"bytes":293,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/canvas/Canvas.tsx","kind":"import-statement","original":"../Canvas"}],"format":"esm"},"src/canvas/dom/DrawText.tsx":{"bytes":293,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/canvas/Canvas.tsx","kind":"import-statement","original":"../Canvas"}],"format":"esm"},"src/canvas/dom/DrawPath.tsx":{"bytes":293,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/canvas/Canvas.tsx","kind":"import-statement","original":"../Canvas"}],"format":"esm"},"src/canvas/index.ts":{"bytes":427,"imports":[{"path":"src/canvas/Canvas.tsx","kind":"import-statement","original":"./Canvas"},{"path":"src/canvas/dom/DrawRect.tsx","kind":"import-statement","original":"./dom/DrawRect"},{"path":"src/canvas/dom/DrawCircle.tsx","kind":"import-statement","original":"./dom/DrawCircle"},{"path":"src/canvas/dom/DrawArc.tsx","kind":"import-statement","original":"./dom/DrawArc"},{"path":"src/canvas/dom/DrawLine.tsx","kind":"import-statement","original":"./dom/DrawLine"},{"path":"src/canvas/dom/DrawText.tsx","kind":"import-statement","original":"./dom/DrawText"},{"path":"src/canvas/dom/DrawPath.tsx","kind":"import-statement","original":"./dom/DrawPath"}],"format":"esm"},"src/interactive/loop.ts":{"bytes":1687,"imports":[],"format":"esm"},"src/interactive/types.ts":{"bytes":1937,"imports":[],"format":"esm"},"src/interactive/keyboard.ts":{"bytes":2398,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../core/use"},{"path":"src/interactive/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/interactive/mouse.ts":{"bytes":3174,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../core/use"},{"path":"src/interactive/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/interactive/index.ts":{"bytes":215,"imports":[{"path":"src/interactive/loop.ts","kind":"import-statement","original":"./loop"},{"path":"src/interactive/keyboard.ts","kind":"import-statement","original":"./keyboard"},{"path":"src/interactive/mouse.ts","kind":"import-statement","original":"./mouse"}],"format":"esm"},"src/jsx-dev-runtime.ts":{"bytes":211,"imports":[{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"./jsx-runtime"}],"format":"esm"}},"outputs":{"dist/jsx-dev-runtime.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":510},"dist/jsx-dev-runtime.mjs":{"imports":[{"path":"dist/chunk-J3542Z77.mjs","kind":"import-statement"}],"exports":["Fragment","jsxDEV"],"entryPoint":"src/jsx-dev-runtime.ts","inputs":{"src/jsx-dev-runtime.ts":{"bytesInOutput":40}},"bytes":123},"dist/render-4HB53K66.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/render-4HB53K66.mjs":{"imports":[{"path":"dist/chunk-TP5HUAIN.mjs","kind":"import-statement"},{"path":"dist/chunk-NRPWBHKP.mjs","kind":"import-statement"},{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"}],"exports":["reconcile","render"],"entryPoint":"src/dom/render.ts","inputs":{},"bytes":132},"dist/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":204},"dist/index.mjs":{"imports":[],"exports":["VERSION"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":15}},"bytes":37},"dist/core.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1066},"dist/core.mjs":{"imports":[{"path":"dist/chunk-3AKECLKA.mjs","kind":"import-statement"},{"path":"dist/chunk-NRPWBHKP.mjs","kind":"import-statement"},{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"}],"exports":["Context","sync","use","useRef"],"entryPoint":"src/core/index.ts","inputs":{"src/core/index.ts":{"bytesInOutput":0},"src/core/ref.ts":{"bytesInOutput":42}},"bytes":225},"dist/dom.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":27792},"dist/dom.mjs":{"imports":[{"path":"dist/chunk-TP5HUAIN.mjs","kind":"import-statement"},{"path":"dist/chunk-3AKECLKA.mjs","kind":"import-statement"},{"path":"dist/chunk-NRPWBHKP.mjs","kind":"import-statement"},{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"},{"path":"dist/render-4HB53K66.mjs","kind":"dynamic-import"}],"exports":["ErrorBoundary","Portal","Suspense","f","hydrate","lazy","render"],"entryPoint":"src/dom/index.ts","inputs":{"src/dom/f.ts":{"bytesInOutput":70},"src/dom/index.ts":{"bytesInOutput":0},"src/dom/hydrate.ts":{"bytesInOutput":2734},"src/dom/components/Portal.tsx":{"bytesInOutput":500},"src/dom/components/index.ts":{"bytesInOutput":0},"src/dom/components/suspenseContext.ts":{"bytesInOutput":84},"src/dom/components/Suspense.tsx":{"bytesInOutput":293},"src/dom/components/ErrorBoundary.tsx":{"bytesInOutput":500},"src/dom/components/lazy.ts":{"bytesInOutput":249}},"bytes":4718},"dist/chunk-TP5HUAIN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":23945},"dist/chunk-TP5HUAIN.mjs":{"imports":[{"path":"dist/chunk-NRPWBHKP.mjs","kind":"import-statement"},{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"}],"exports":["a","b"],"inputs":{"src/dom/render.ts":{"bytesInOutput":4853}},"bytes":4965},"dist/server.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":12945},"dist/server.mjs":{"imports":[{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"}],"exports":["getIsServer","renderToStaticMarkup","renderToString"],"entryPoint":"src/server/index.ts","inputs":{"src/server/escape.ts":{"bytesInOutput":157},"src/server/serverState.ts":{"bytesInOutput":186},"src/server/renderToString.ts":{"bytesInOutput":2125},"src/server/index.ts":{"bytesInOutput":0}},"bytes":2595},"dist/router.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":17333},"dist/router.mjs":{"imports":[{"path":"dist/chunk-3AKECLKA.mjs","kind":"import-statement"},{"path":"dist/chunk-NRPWBHKP.mjs","kind":"import-statement"},{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"},{"path":"dist/chunk-J3542Z77.mjs","kind":"import-statement"}],"exports":["Link","Outlet","Route","Routes","useLocation","useNavigate","useParams","useQuery","useRouter"],"entryPoint":"src/router/index.ts","inputs":{"src/router/index.ts":{"bytesInOutput":0},"src/router/utils.ts":{"bytesInOutput":1073},"src/router/router.ts":{"bytesInOutput":859},"src/router/dom/Route.tsx":{"bytesInOutput":26},"src/router/dom/Routes.tsx":{"bytesInOutput":638},"src/router/dom/Outlet.tsx":{"bytesInOutput":244},"src/router/dom/Link.tsx":{"bytesInOutput":133}},"bytes":3259},"dist/canvas.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":12688},"dist/canvas.mjs":{"imports":[{"path":"dist/chunk-3AKECLKA.mjs","kind":"import-statement"},{"path":"dist/chunk-NRPWBHKP.mjs","kind":"import-statement"},{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"},{"path":"dist/chunk-J3542Z77.mjs","kind":"import-statement"}],"exports":["Canvas","DrawArc","DrawCircle","DrawLine","DrawPath","DrawRect","DrawText"],"entryPoint":"src/canvas/index.ts","inputs":{"src/canvas/Canvas.tsx":{"bytesInOutput":1875},"src/canvas/index.ts":{"bytesInOutput":0},"src/canvas/dom/DrawRect.tsx":{"bytesInOutput":60},"src/canvas/dom/DrawCircle.tsx":{"bytesInOutput":62},"src/canvas/dom/DrawArc.tsx":{"bytesInOutput":59},"src/canvas/dom/DrawLine.tsx":{"bytesInOutput":60},"src/canvas/dom/DrawText.tsx":{"bytesInOutput":60},"src/canvas/dom/DrawPath.tsx":{"bytesInOutput":60}},"bytes":2489},"dist/interactive.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":15153},"dist/interactive.mjs":{"imports":[{"path":"dist/chunk-3AKECLKA.mjs","kind":"import-statement"},{"path":"dist/chunk-NRPWBHKP.mjs","kind":"import-statement"},{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"}],"exports":["Keys","MouseButton","useKeyboard","useLoop","useMouse"],"entryPoint":"src/interactive/index.ts","inputs":{"src/interactive/loop.ts":{"bytesInOutput":459},"src/interactive/index.ts":{"bytesInOutput":0},"src/interactive/types.ts":{"bytesInOutput":701},"src/interactive/keyboard.ts":{"bytesInOutput":689},"src/interactive/mouse.ts":{"bytesInOutput":1150}},"bytes":3178},"dist/chunk-3AKECLKA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18028},"dist/chunk-3AKECLKA.mjs":{"imports":[{"path":"dist/chunk-NRPWBHKP.mjs","kind":"import-statement"},{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"}],"exports":["a","b","c"],"inputs":{"src/core/reactive.ts":{"bytesInOutput":590},"src/core/devtools.ts":{"bytesInOutput":372},"src/core/use.ts":{"bytesInOutput":2043}},"bytes":3145},"dist/chunk-NRPWBHKP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4599},"dist/chunk-NRPWBHKP.mjs":{"imports":[],"exports":["a","b","c","d","e"],"inputs":{"src/core/lifecycle.ts":{"bytesInOutput":813}},"bytes":857},"dist/chunk-MI76R42D.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4337},"dist/chunk-MI76R42D.mjs":{"imports":[],"exports":["a","b","c","d","e","f"],"inputs":{"src/core/hook.ts":{"bytesInOutput":227},"src/core/context.ts":{"bytesInOutput":307}},"bytes":585},"dist/jsx-runtime.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/jsx-runtime.mjs":{"imports":[{"path":"dist/chunk-J3542Z77.mjs","kind":"import-statement"}],"exports":["Fragment","jsx","jsxs"],"entryPoint":"src/jsx-runtime.ts","inputs":{},"bytes":82},"dist/chunk-J3542Z77.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1297},"dist/chunk-J3542Z77.mjs":{"imports":[],"exports":["a","b","c"],"inputs":{"src/jsx-runtime.ts":{"bytesInOutput":183}},"bytes":213}}}
|
|
1
|
+
{"inputs":{"src/index.ts":{"bytes":67,"imports":[],"format":"esm"},"src/core/lifecycle.ts":{"bytes":2686,"imports":[],"format":"esm"},"src/core/reactive.ts":{"bytes":2080,"imports":[{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"./lifecycle"}],"format":"esm"},"src/core/hook.ts":{"bytes":986,"imports":[],"format":"esm"},"src/core/devtools.ts":{"bytes":1841,"imports":[],"format":"esm"},"src/core/context.ts":{"bytes":1918,"imports":[],"format":"esm"},"src/core/use.ts":{"bytes":8125,"imports":[{"path":"src/core/reactive.ts","kind":"import-statement","original":"./reactive"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"./lifecycle"},{"path":"src/core/hook.ts","kind":"import-statement","original":"./hook"},{"path":"src/core/devtools.ts","kind":"import-statement","original":"./devtools"},{"path":"src/core/context.ts","kind":"import-statement","original":"./context"},{"path":"src/core/context.ts","kind":"import-statement","original":"./context"}],"format":"esm"},"src/core/ref.ts":{"bytes":812,"imports":[{"path":"src/core/hook.ts","kind":"import-statement","original":"./hook"}],"format":"esm"},"src/core/index.ts":{"bytes":441,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"./use"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"./lifecycle"},{"path":"src/core/ref.ts","kind":"import-statement","original":"./ref"},{"path":"src/core/context.ts","kind":"import-statement","original":"./context"},{"path":"src/core/reactive.ts","kind":"import-statement","original":"./reactive"}],"format":"esm"},"src/dom/f.ts":{"bytes":285,"imports":[],"format":"esm"},"src/dom/render.ts":{"bytes":15127,"imports":[{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../core/hook"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"../core/lifecycle"}],"format":"esm"},"src/dom/hydrate.ts":{"bytes":9324,"imports":[{"path":"src/core/hook.ts","kind":"import-statement","original":"../core/hook"},{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"},{"path":"src/core/lifecycle.ts","kind":"import-statement","original":"../core/lifecycle"},{"path":"src/dom/render.ts","kind":"dynamic-import","original":"./render"}],"format":"esm"},"src/dom/components/Portal.tsx":{"bytes":1937,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../../core/hook"},{"path":"src/dom/render.ts","kind":"import-statement","original":"../render"}],"format":"esm"},"src/dom/components/suspenseContext.ts":{"bytes":412,"imports":[{"path":"src/core/context.ts","kind":"import-statement","original":"../../core/context"},{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"}],"format":"esm"},"src/dom/components/Suspense.tsx":{"bytes":1770,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../../core/hook"},{"path":"src/dom/components/suspenseContext.ts","kind":"import-statement","original":"./suspenseContext"}],"format":"esm"},"src/dom/components/ErrorBoundary.tsx":{"bytes":2854,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../../core/hook"}],"format":"esm"},"src/dom/components/lazy.ts":{"bytes":1767,"imports":[{"path":"src/dom/components/suspenseContext.ts","kind":"import-statement","original":"./suspenseContext"}],"format":"esm"},"src/dom/components/index.ts":{"bytes":598,"imports":[{"path":"src/dom/components/Portal.tsx","kind":"import-statement","original":"./Portal"},{"path":"src/dom/components/Suspense.tsx","kind":"import-statement","original":"./Suspense"},{"path":"src/dom/components/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"src/dom/components/lazy.ts","kind":"import-statement","original":"./lazy"},{"path":"src/dom/components/suspenseContext.ts","kind":"import-statement","original":"./suspenseContext"},{"path":"src/dom/components/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"}],"format":"esm"},"src/dom/index.ts":{"bytes":373,"imports":[{"path":"src/dom/f.ts","kind":"import-statement","original":"./f"},{"path":"src/dom/render.ts","kind":"import-statement","original":"./render"},{"path":"src/dom/hydrate.ts","kind":"import-statement","original":"./hydrate"},{"path":"src/dom/components/index.ts","kind":"import-statement","original":"./components"}],"format":"esm"},"src/server/escape.ts":{"bytes":364,"imports":[],"format":"esm"},"src/server/serverState.ts":{"bytes":896,"imports":[],"format":"esm"},"src/server/renderToString.ts":{"bytes":6572,"imports":[{"path":"src/server/escape.ts","kind":"import-statement","original":"./escape"},{"path":"src/server/serverState.ts","kind":"import-statement","original":"./serverState"},{"path":"src/core/hook.ts","kind":"import-statement","original":"../core/hook"},{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"}],"format":"esm"},"src/server/index.ts":{"bytes":243,"imports":[{"path":"src/server/renderToString.ts","kind":"import-statement","original":"./renderToString"},{"path":"src/server/serverState.ts","kind":"import-statement","original":"./serverState"}],"format":"esm"},"src/router/types.ts":{"bytes":807,"imports":[],"format":"esm"},"src/router/utils.ts":{"bytes":3745,"imports":[{"path":"./types","kind":"import-statement","external":true}],"format":"esm"},"src/router/router.ts":{"bytes":3207,"imports":[{"path":"src/core/reactive.ts","kind":"import-statement","original":"../core/reactive"},{"path":"src/core/context.ts","kind":"import-statement","original":"../core/context"},{"path":"src/core/use.ts","kind":"import-statement","original":"../core/use"},{"path":"src/router/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"src/jsx-runtime.ts":{"bytes":741,"imports":[],"format":"esm"},"src/router/dom/Route.tsx":{"bytes":106,"imports":[],"format":"esm"},"src/router/dom/Routes.tsx":{"bytes":2590,"imports":[{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"../../jsx-runtime"},{"path":"src/router/router.ts","kind":"import-statement","original":"../router"},{"path":"src/router/utils.ts","kind":"import-statement","original":"../utils"},{"path":"src/router/dom/Route.tsx","kind":"import-statement","original":"./Route"}],"format":"esm"},"src/router/dom/Outlet.tsx":{"bytes":744,"imports":[{"path":"src/core/use.ts","kind":"import-statement","original":"../../core/use"},{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"../../jsx-runtime"},{"path":"src/router/router.ts","kind":"import-statement","original":"../router"}],"format":"esm"},"src/router/dom/Link.tsx":{"bytes":447,"imports":[{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"../../jsx-runtime"},{"path":"src/router/router.ts","kind":"import-statement","original":"../router"}],"format":"esm"},"src/router/index.ts":{"bytes":309,"imports":[{"path":"src/router/types.ts","kind":"import-statement","original":"./types"},{"path":"src/router/router.ts","kind":"import-statement","original":"./router"},{"path":"src/router/dom/Routes.tsx","kind":"import-statement","original":"./dom/Routes"},{"path":"src/router/dom/Route.tsx","kind":"import-statement","original":"./dom/Route"},{"path":"src/router/dom/Outlet.tsx","kind":"import-statement","original":"./dom/Outlet"},{"path":"src/router/dom/Link.tsx","kind":"import-statement","original":"./dom/Link"}],"format":"esm"},"src/jsx-dev-runtime.ts":{"bytes":211,"imports":[{"path":"src/jsx-runtime.ts","kind":"import-statement","original":"./jsx-runtime"}],"format":"esm"}},"outputs":{"dist/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":204},"dist/index.mjs":{"imports":[],"exports":["VERSION"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":15}},"bytes":37},"dist/core.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1066},"dist/core.mjs":{"imports":[{"path":"dist/chunk-3AKECLKA.mjs","kind":"import-statement"},{"path":"dist/chunk-NRPWBHKP.mjs","kind":"import-statement"},{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"}],"exports":["Context","getContextValue","isReactive","popContext","pushContext","sync","use","useRef"],"entryPoint":"src/core/index.ts","inputs":{"src/core/index.ts":{"bytesInOutput":0},"src/core/ref.ts":{"bytesInOutput":42}},"bytes":323},"dist/dom.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":27792},"dist/dom.mjs":{"imports":[{"path":"dist/chunk-3AKECLKA.mjs","kind":"import-statement"},{"path":"dist/chunk-TP5HUAIN.mjs","kind":"import-statement"},{"path":"dist/chunk-NRPWBHKP.mjs","kind":"import-statement"},{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"},{"path":"dist/render-4HB53K66.mjs","kind":"dynamic-import"}],"exports":["ErrorBoundary","Portal","Suspense","f","hydrate","lazy","render"],"entryPoint":"src/dom/index.ts","inputs":{"src/dom/f.ts":{"bytesInOutput":70},"src/dom/index.ts":{"bytesInOutput":0},"src/dom/hydrate.ts":{"bytesInOutput":2734},"src/dom/components/Portal.tsx":{"bytesInOutput":500},"src/dom/components/index.ts":{"bytesInOutput":0},"src/dom/components/suspenseContext.ts":{"bytesInOutput":84},"src/dom/components/Suspense.tsx":{"bytesInOutput":293},"src/dom/components/ErrorBoundary.tsx":{"bytesInOutput":500},"src/dom/components/lazy.ts":{"bytesInOutput":249}},"bytes":4718},"dist/server.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":12945},"dist/server.mjs":{"imports":[{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"}],"exports":["getIsServer","renderToStaticMarkup","renderToString"],"entryPoint":"src/server/index.ts","inputs":{"src/server/escape.ts":{"bytesInOutput":157},"src/server/serverState.ts":{"bytesInOutput":186},"src/server/renderToString.ts":{"bytesInOutput":2125},"src/server/index.ts":{"bytesInOutput":0}},"bytes":2595},"dist/router.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":17333},"dist/router.mjs":{"imports":[{"path":"dist/chunk-3AKECLKA.mjs","kind":"import-statement"},{"path":"dist/chunk-J3542Z77.mjs","kind":"import-statement"},{"path":"dist/chunk-NRPWBHKP.mjs","kind":"import-statement"},{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"}],"exports":["Link","Outlet","Route","Routes","useLocation","useNavigate","useParams","useQuery","useRouter"],"entryPoint":"src/router/index.ts","inputs":{"src/router/index.ts":{"bytesInOutput":0},"src/router/utils.ts":{"bytesInOutput":1073},"src/router/router.ts":{"bytesInOutput":859},"src/router/dom/Route.tsx":{"bytesInOutput":26},"src/router/dom/Routes.tsx":{"bytesInOutput":638},"src/router/dom/Outlet.tsx":{"bytesInOutput":244},"src/router/dom/Link.tsx":{"bytesInOutput":133}},"bytes":3259},"dist/chunk-3AKECLKA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18028},"dist/chunk-3AKECLKA.mjs":{"imports":[{"path":"dist/chunk-NRPWBHKP.mjs","kind":"import-statement"},{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"}],"exports":["a","b","c"],"inputs":{"src/core/reactive.ts":{"bytesInOutput":590},"src/core/devtools.ts":{"bytesInOutput":372},"src/core/use.ts":{"bytesInOutput":2043}},"bytes":3145},"dist/jsx-runtime.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/jsx-runtime.mjs":{"imports":[{"path":"dist/chunk-J3542Z77.mjs","kind":"import-statement"}],"exports":["Fragment","jsx","jsxs"],"entryPoint":"src/jsx-runtime.ts","inputs":{},"bytes":82},"dist/jsx-dev-runtime.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":510},"dist/jsx-dev-runtime.mjs":{"imports":[{"path":"dist/chunk-J3542Z77.mjs","kind":"import-statement"}],"exports":["Fragment","jsxDEV"],"entryPoint":"src/jsx-dev-runtime.ts","inputs":{"src/jsx-dev-runtime.ts":{"bytesInOutput":40}},"bytes":123},"dist/chunk-J3542Z77.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1297},"dist/chunk-J3542Z77.mjs":{"imports":[],"exports":["a","b","c"],"inputs":{"src/jsx-runtime.ts":{"bytesInOutput":183}},"bytes":213},"dist/render-4HB53K66.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/render-4HB53K66.mjs":{"imports":[{"path":"dist/chunk-TP5HUAIN.mjs","kind":"import-statement"},{"path":"dist/chunk-NRPWBHKP.mjs","kind":"import-statement"},{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"}],"exports":["reconcile","render"],"entryPoint":"src/dom/render.ts","inputs":{},"bytes":132},"dist/chunk-TP5HUAIN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":23945},"dist/chunk-TP5HUAIN.mjs":{"imports":[{"path":"dist/chunk-NRPWBHKP.mjs","kind":"import-statement"},{"path":"dist/chunk-MI76R42D.mjs","kind":"import-statement"}],"exports":["a","b"],"inputs":{"src/dom/render.ts":{"bytesInOutput":4853}},"bytes":4965},"dist/chunk-NRPWBHKP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4599},"dist/chunk-NRPWBHKP.mjs":{"imports":[],"exports":["a","b","c","d","e"],"inputs":{"src/core/lifecycle.ts":{"bytesInOutput":813}},"bytes":857},"dist/chunk-MI76R42D.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4337},"dist/chunk-MI76R42D.mjs":{"imports":[],"exports":["a","b","c","d","e","f"],"inputs":{"src/core/hook.ts":{"bytesInOutput":227},"src/core/context.ts":{"bytesInOutput":307}},"bytes":585}}}
|
package/dist/router.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var chunkACYN2UKT_js=require('./chunk-ACYN2UKT.js')
|
|
1
|
+
'use strict';var chunkACYN2UKT_js=require('./chunk-ACYN2UKT.js'),chunkLHOIM4QY_js=require('./chunk-LHOIM4QY.js');require('./chunk-3CKIHQIE.js');var chunkE6Z7AI4J_js=require('./chunk-E6Z7AI4J.js');function k(t){if(!t)return {};if(typeof URLSearchParams<"u"){let e=new URLSearchParams(t),r={};return e.forEach((n,o)=>r[o]=n),r}return t.substring(1).split("&").reduce((e,r)=>{let[n,o]=r.split("=");return n&&(e[decodeURIComponent(n)]=decodeURIComponent(o||"")),e},{})}function D(t){return !!(t.length>2048||t.includes("__proto__")||t.includes("constructor")||/^\s*javascript:/i.test(t))}function R(t){let e=[];return t.forEach(r=>{if(!r)return;let{path:n,component:o,children:i,beforeEnter:f}=r.props||{},u={path:n||"/",component:o,beforeEnter:f};if(i){let c=Array.isArray(i)?i:[i];u.children=R(c);}!u.children&&r.children&&r.children.length>0&&(u.children=R(r.children)),e.push(u);}),e}function E(t,e){for(let r of t){let n=r.path,o=T(n,e);if(o)return [{route:r,params:o.params,pathname:o.path}]}return null}function T(t,e){let r=t.split("/").filter(Boolean),n=e.split("/").filter(Boolean);if(r.length!==n.length)return null;let o={};for(let i=0;i<r.length;i++){let f=r[i],u=n[i];if(f.startsWith(":")){let c=f.slice(1);o[c]=u;}else if(f!==u)return null}return {params:o,path:e}}var L=new chunkE6Z7AI4J_js.c(null),p=new chunkE6Z7AI4J_js.c(0),U=()=>({pathname:"/",search:"",hash:"",query:{}}),w=()=>typeof window>"u"?U():{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,query:k(window.location.search)},l=null,y=null,N=false;function d(){if(l&&y)return [l,y];l=chunkACYN2UKT_js.a(w());let t=e=>{l&&(l.pathname=e.pathname,l.search=e.search,l.hash=e.hash,l.query=e.query);};return y=e=>{if(typeof window>"u")return;if(D(e)){console.error("[Flexium Router] Blocked navigation to unsafe path:",e);return}window.history.pushState({},"",e);let r=w();t(r);},typeof window<"u"&&!N&&(window.addEventListener("popstate",()=>{t(w());}),N=true),[l,y]}function m(){let[t]=chunkACYN2UKT_js.c(L);if(!t)throw new Error("useRouter() must be called within a <Routes> component");return t}function j(){let[,t]=d();return t}function q(){return m().params}function _(){let[t]=d();return t.query}function x(t){return null}function F(t){return t&&typeof t=="object"&&("type"in t||Array.isArray(t))}function Q(t){let[e,r]=d(),n=Array.isArray(t.children)?t.children:[t.children],o=n.filter(s=>F(s)&&s.type===x),i=n.filter(s=>!F(s)||s.type!==x),f=R(o),u=e.pathname,c=E(f,u)||[],A=c.length>0?c[c.length-1].params:{},S={location:e,navigate:r,matches:c,params:A},C=null;if(c.length>0){let s=c[0],P=s.route.component,g=u;s.route.beforeEnter?s.route.beforeEnter(s.params)!==false&&(C=chunkLHOIM4QY_js.a(p.Provider,{value:1,key:g,children:chunkLHOIM4QY_js.a(P,{params:s.params,key:g})})):C=chunkLHOIM4QY_js.a(p.Provider,{value:1,key:g,children:chunkLHOIM4QY_js.a(P,{params:s.params,key:g})});}return chunkLHOIM4QY_js.a(L.Provider,{value:S,children:[...i,C]})}function B(){let t=m(),[e]=chunkACYN2UKT_js.c(p),r=e??0,[n]=chunkACYN2UKT_js.c(()=>t.matches);if(r>=n.length)return null;let o=n[r],i=o.route.component;return o.route.beforeEnter&&o.route.beforeEnter(o.params)===false?null:chunkLHOIM4QY_js.a(p.Provider,{value:r+1,children:chunkLHOIM4QY_js.a(i,{params:o.params})})}function M(t){let e=m();return chunkLHOIM4QY_js.a("a",{href:t.to,class:t.class,onclick:r=>{r.preventDefault(),e.navigate(t.to);},children:t.children})}exports.Link=M;exports.Outlet=B;exports.Route=x;exports.Routes=Q;exports.useLocation=d;exports.useNavigate=j;exports.useParams=q;exports.useQuery=_;exports.useRouter=m;//# sourceMappingURL=router.js.map
|
|
2
2
|
//# sourceMappingURL=router.js.map
|
package/dist/router.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a,c as c$1}from'./chunk-3AKECLKA.mjs';import'./chunk-
|
|
1
|
+
import {a,c as c$1}from'./chunk-3AKECLKA.mjs';import {a as a$1}from'./chunk-J3542Z77.mjs';import'./chunk-NRPWBHKP.mjs';import {c}from'./chunk-MI76R42D.mjs';function k(t){if(!t)return {};if(typeof URLSearchParams<"u"){let e=new URLSearchParams(t),r={};return e.forEach((n,o)=>r[o]=n),r}return t.substring(1).split("&").reduce((e,r)=>{let[n,o]=r.split("=");return n&&(e[decodeURIComponent(n)]=decodeURIComponent(o||"")),e},{})}function D(t){return !!(t.length>2048||t.includes("__proto__")||t.includes("constructor")||/^\s*javascript:/i.test(t))}function R(t){let e=[];return t.forEach(r=>{if(!r)return;let{path:n,component:o,children:i,beforeEnter:f}=r.props||{},u={path:n||"/",component:o,beforeEnter:f};if(i){let c=Array.isArray(i)?i:[i];u.children=R(c);}!u.children&&r.children&&r.children.length>0&&(u.children=R(r.children)),e.push(u);}),e}function E(t,e){for(let r of t){let n=r.path,o=T(n,e);if(o)return [{route:r,params:o.params,pathname:o.path}]}return null}function T(t,e){let r=t.split("/").filter(Boolean),n=e.split("/").filter(Boolean);if(r.length!==n.length)return null;let o={};for(let i=0;i<r.length;i++){let f=r[i],u=n[i];if(f.startsWith(":")){let c=f.slice(1);o[c]=u;}else if(f!==u)return null}return {params:o,path:e}}var L=new c(null),p=new c(0),U=()=>({pathname:"/",search:"",hash:"",query:{}}),w=()=>typeof window>"u"?U():{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,query:k(window.location.search)},l=null,y=null,N=false;function d(){if(l&&y)return [l,y];l=a(w());let t=e=>{l&&(l.pathname=e.pathname,l.search=e.search,l.hash=e.hash,l.query=e.query);};return y=e=>{if(typeof window>"u")return;if(D(e)){console.error("[Flexium Router] Blocked navigation to unsafe path:",e);return}window.history.pushState({},"",e);let r=w();t(r);},typeof window<"u"&&!N&&(window.addEventListener("popstate",()=>{t(w());}),N=true),[l,y]}function m(){let[t]=c$1(L);if(!t)throw new Error("useRouter() must be called within a <Routes> component");return t}function j(){let[,t]=d();return t}function q(){return m().params}function _(){let[t]=d();return t.query}function x(t){return null}function F(t){return t&&typeof t=="object"&&("type"in t||Array.isArray(t))}function Q(t){let[e,r]=d(),n=Array.isArray(t.children)?t.children:[t.children],o=n.filter(s=>F(s)&&s.type===x),i=n.filter(s=>!F(s)||s.type!==x),f=R(o),u=e.pathname,c=E(f,u)||[],A=c.length>0?c[c.length-1].params:{},S={location:e,navigate:r,matches:c,params:A},C=null;if(c.length>0){let s=c[0],P=s.route.component,g=u;s.route.beforeEnter?s.route.beforeEnter(s.params)!==false&&(C=a$1(p.Provider,{value:1,key:g,children:a$1(P,{params:s.params,key:g})})):C=a$1(p.Provider,{value:1,key:g,children:a$1(P,{params:s.params,key:g})});}return a$1(L.Provider,{value:S,children:[...i,C]})}function B(){let t=m(),[e]=c$1(p),r=e??0,[n]=c$1(()=>t.matches);if(r>=n.length)return null;let o=n[r],i=o.route.component;return o.route.beforeEnter&&o.route.beforeEnter(o.params)===false?null:a$1(p.Provider,{value:r+1,children:a$1(i,{params:o.params})})}function M(t){let e=m();return a$1("a",{href:t.to,class:t.class,onclick:r=>{r.preventDefault(),e.navigate(t.to);},children:t.children})}export{M as Link,B as Outlet,x as Route,Q as Routes,d as useLocation,j as useNavigate,q as useParams,_ as useQuery,m as useRouter};//# sourceMappingURL=router.mjs.map
|
|
2
2
|
//# sourceMappingURL=router.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flexium",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "A lightweight, signals-based UI framework with cross-platform renderers",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -44,16 +44,6 @@
|
|
|
44
44
|
"types": "./dist/jsx-dev-runtime.d.ts",
|
|
45
45
|
"import": "./dist/jsx-dev-runtime.mjs",
|
|
46
46
|
"require": "./dist/jsx-dev-runtime.js"
|
|
47
|
-
},
|
|
48
|
-
"./canvas": {
|
|
49
|
-
"types": "./dist/canvas.d.ts",
|
|
50
|
-
"import": "./dist/canvas.mjs",
|
|
51
|
-
"require": "./dist/canvas.js"
|
|
52
|
-
},
|
|
53
|
-
"./interactive": {
|
|
54
|
-
"types": "./dist/interactive.d.ts",
|
|
55
|
-
"import": "./dist/interactive.mjs",
|
|
56
|
-
"require": "./dist/interactive.js"
|
|
57
47
|
}
|
|
58
48
|
},
|
|
59
49
|
"files": [
|
|
@@ -91,11 +81,7 @@
|
|
|
91
81
|
"ui",
|
|
92
82
|
"framework",
|
|
93
83
|
"dom",
|
|
94
|
-
"canvas",
|
|
95
|
-
"game",
|
|
96
|
-
"game-loop",
|
|
97
84
|
"renderer",
|
|
98
|
-
"flexbox",
|
|
99
85
|
"lightweight",
|
|
100
86
|
"fine-grained",
|
|
101
87
|
"typescript",
|
|
@@ -106,8 +92,7 @@
|
|
|
106
92
|
"no-virtual-dom",
|
|
107
93
|
"signal-based",
|
|
108
94
|
"computed",
|
|
109
|
-
"effect"
|
|
110
|
-
"cross-platform"
|
|
95
|
+
"effect"
|
|
111
96
|
],
|
|
112
97
|
"author": "Flexium Contributors",
|
|
113
98
|
"license": "MIT",
|
package/dist/canvas.d.cts
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { JSX } from './jsx-runtime.cjs';
|
|
2
|
-
import './types-DH8L3A5z.cjs';
|
|
3
|
-
|
|
4
|
-
interface CanvasProps {
|
|
5
|
-
width: number;
|
|
6
|
-
height: number;
|
|
7
|
-
children?: any;
|
|
8
|
-
style?: any;
|
|
9
|
-
ref?: (el: HTMLCanvasElement) => void;
|
|
10
|
-
}
|
|
11
|
-
interface DrawRectProps {
|
|
12
|
-
x: number | (() => number);
|
|
13
|
-
y: number | (() => number);
|
|
14
|
-
width: number | (() => number);
|
|
15
|
-
height: number | (() => number);
|
|
16
|
-
fill?: string | (() => string);
|
|
17
|
-
stroke?: string | (() => string);
|
|
18
|
-
strokeWidth?: number | (() => number);
|
|
19
|
-
opacity?: number | (() => number);
|
|
20
|
-
}
|
|
21
|
-
interface DrawCircleProps {
|
|
22
|
-
x: number | (() => number);
|
|
23
|
-
y: number | (() => number);
|
|
24
|
-
radius: number | (() => number);
|
|
25
|
-
fill?: string | (() => string);
|
|
26
|
-
stroke?: string | (() => string);
|
|
27
|
-
strokeWidth?: number | (() => number);
|
|
28
|
-
opacity?: number | (() => number);
|
|
29
|
-
}
|
|
30
|
-
interface DrawArcProps {
|
|
31
|
-
x: number | (() => number);
|
|
32
|
-
y: number | (() => number);
|
|
33
|
-
radius: number | (() => number);
|
|
34
|
-
startAngle: number | (() => number);
|
|
35
|
-
endAngle: number | (() => number);
|
|
36
|
-
counterclockwise?: boolean;
|
|
37
|
-
fill?: string | (() => string);
|
|
38
|
-
stroke?: string | (() => string);
|
|
39
|
-
strokeWidth?: number | (() => number);
|
|
40
|
-
opacity?: number | (() => number);
|
|
41
|
-
}
|
|
42
|
-
interface DrawLineProps {
|
|
43
|
-
x1: number | (() => number);
|
|
44
|
-
y1: number | (() => number);
|
|
45
|
-
x2: number | (() => number);
|
|
46
|
-
y2: number | (() => number);
|
|
47
|
-
stroke?: string | (() => string);
|
|
48
|
-
strokeWidth?: number | (() => number);
|
|
49
|
-
opacity?: number | (() => number);
|
|
50
|
-
}
|
|
51
|
-
interface DrawTextProps {
|
|
52
|
-
text: string | (() => string);
|
|
53
|
-
x: number | (() => number);
|
|
54
|
-
y: number | (() => number);
|
|
55
|
-
fill?: string | (() => string);
|
|
56
|
-
fontSize?: number | (() => number);
|
|
57
|
-
fontFamily?: string | (() => string);
|
|
58
|
-
fontWeight?: string | (() => string);
|
|
59
|
-
textAlign?: 'left' | 'center' | 'right';
|
|
60
|
-
opacity?: number | (() => number);
|
|
61
|
-
}
|
|
62
|
-
interface DrawPathProps {
|
|
63
|
-
d: string | (() => string);
|
|
64
|
-
fill?: string | (() => string);
|
|
65
|
-
stroke?: string | (() => string);
|
|
66
|
-
strokeWidth?: number | (() => number);
|
|
67
|
-
opacity?: number | (() => number);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
declare function Canvas(props: CanvasProps): JSX.Element;
|
|
71
|
-
|
|
72
|
-
declare function DrawRect(props: DrawRectProps): null;
|
|
73
|
-
|
|
74
|
-
declare function DrawCircle(props: DrawCircleProps): null;
|
|
75
|
-
|
|
76
|
-
declare function DrawArc(props: DrawArcProps): null;
|
|
77
|
-
|
|
78
|
-
declare function DrawLine(props: DrawLineProps): null;
|
|
79
|
-
|
|
80
|
-
declare function DrawText(props: DrawTextProps): null;
|
|
81
|
-
|
|
82
|
-
declare function DrawPath(props: DrawPathProps): null;
|
|
83
|
-
|
|
84
|
-
export { Canvas, type CanvasProps, DrawArc, type DrawArcProps, DrawCircle, type DrawCircleProps, DrawLine, type DrawLineProps, DrawPath, type DrawPathProps, DrawRect, type DrawRectProps, DrawText, type DrawTextProps };
|
package/dist/canvas.d.ts
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { JSX } from './jsx-runtime.js';
|
|
2
|
-
import './types-DH8L3A5z.js';
|
|
3
|
-
|
|
4
|
-
interface CanvasProps {
|
|
5
|
-
width: number;
|
|
6
|
-
height: number;
|
|
7
|
-
children?: any;
|
|
8
|
-
style?: any;
|
|
9
|
-
ref?: (el: HTMLCanvasElement) => void;
|
|
10
|
-
}
|
|
11
|
-
interface DrawRectProps {
|
|
12
|
-
x: number | (() => number);
|
|
13
|
-
y: number | (() => number);
|
|
14
|
-
width: number | (() => number);
|
|
15
|
-
height: number | (() => number);
|
|
16
|
-
fill?: string | (() => string);
|
|
17
|
-
stroke?: string | (() => string);
|
|
18
|
-
strokeWidth?: number | (() => number);
|
|
19
|
-
opacity?: number | (() => number);
|
|
20
|
-
}
|
|
21
|
-
interface DrawCircleProps {
|
|
22
|
-
x: number | (() => number);
|
|
23
|
-
y: number | (() => number);
|
|
24
|
-
radius: number | (() => number);
|
|
25
|
-
fill?: string | (() => string);
|
|
26
|
-
stroke?: string | (() => string);
|
|
27
|
-
strokeWidth?: number | (() => number);
|
|
28
|
-
opacity?: number | (() => number);
|
|
29
|
-
}
|
|
30
|
-
interface DrawArcProps {
|
|
31
|
-
x: number | (() => number);
|
|
32
|
-
y: number | (() => number);
|
|
33
|
-
radius: number | (() => number);
|
|
34
|
-
startAngle: number | (() => number);
|
|
35
|
-
endAngle: number | (() => number);
|
|
36
|
-
counterclockwise?: boolean;
|
|
37
|
-
fill?: string | (() => string);
|
|
38
|
-
stroke?: string | (() => string);
|
|
39
|
-
strokeWidth?: number | (() => number);
|
|
40
|
-
opacity?: number | (() => number);
|
|
41
|
-
}
|
|
42
|
-
interface DrawLineProps {
|
|
43
|
-
x1: number | (() => number);
|
|
44
|
-
y1: number | (() => number);
|
|
45
|
-
x2: number | (() => number);
|
|
46
|
-
y2: number | (() => number);
|
|
47
|
-
stroke?: string | (() => string);
|
|
48
|
-
strokeWidth?: number | (() => number);
|
|
49
|
-
opacity?: number | (() => number);
|
|
50
|
-
}
|
|
51
|
-
interface DrawTextProps {
|
|
52
|
-
text: string | (() => string);
|
|
53
|
-
x: number | (() => number);
|
|
54
|
-
y: number | (() => number);
|
|
55
|
-
fill?: string | (() => string);
|
|
56
|
-
fontSize?: number | (() => number);
|
|
57
|
-
fontFamily?: string | (() => string);
|
|
58
|
-
fontWeight?: string | (() => string);
|
|
59
|
-
textAlign?: 'left' | 'center' | 'right';
|
|
60
|
-
opacity?: number | (() => number);
|
|
61
|
-
}
|
|
62
|
-
interface DrawPathProps {
|
|
63
|
-
d: string | (() => string);
|
|
64
|
-
fill?: string | (() => string);
|
|
65
|
-
stroke?: string | (() => string);
|
|
66
|
-
strokeWidth?: number | (() => number);
|
|
67
|
-
opacity?: number | (() => number);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
declare function Canvas(props: CanvasProps): JSX.Element;
|
|
71
|
-
|
|
72
|
-
declare function DrawRect(props: DrawRectProps): null;
|
|
73
|
-
|
|
74
|
-
declare function DrawCircle(props: DrawCircleProps): null;
|
|
75
|
-
|
|
76
|
-
declare function DrawArc(props: DrawArcProps): null;
|
|
77
|
-
|
|
78
|
-
declare function DrawLine(props: DrawLineProps): null;
|
|
79
|
-
|
|
80
|
-
declare function DrawText(props: DrawTextProps): null;
|
|
81
|
-
|
|
82
|
-
declare function DrawPath(props: DrawPathProps): null;
|
|
83
|
-
|
|
84
|
-
export { Canvas, type CanvasProps, DrawArc, type DrawArcProps, DrawCircle, type DrawCircleProps, DrawLine, type DrawLineProps, DrawPath, type DrawPathProps, DrawRect, type DrawRectProps, DrawText, type DrawTextProps };
|
package/dist/canvas.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkACYN2UKT_js=require('./chunk-ACYN2UKT.js');require('./chunk-3CKIHQIE.js'),require('./chunk-E6Z7AI4J.js');var chunkLHOIM4QY_js=require('./chunk-LHOIM4QY.js');var D=[];function l(t){D.push(t);}function C(t){let{width:y,height:w,children:e,style:u,ref:a}=t,s,n=null,i=()=>{!s||!n||(n.clearRect(0,0,y,w),D.length=0,Array.isArray(e)?e.forEach(o=>{typeof o=="function"&&o();}):typeof e=="function"&&e(),D.forEach(o=>{g(n,o);}),null);};return chunkACYN2UKT_js.c(()=>{s&&i();}),chunkLHOIM4QY_js.a("canvas",{ref:o=>{s=o,n=o.getContext("2d"),a&&a(o),i();},width:y,height:w,style:u})}function r(t){return chunkACYN2UKT_js.b(t)?t.valueOf?.()??t:t}function g(t,y){let{type:w,props:e}=y,u=r(e.opacity);switch(u!==void 0&&(t.globalAlpha=u),w){case "rect":{let a=r(e.x),s=r(e.y),n=r(e.width),i=r(e.height),o=r(e.fill),f=r(e.stroke),c=r(e.strokeWidth);o&&(t.fillStyle=o,t.fillRect(a,s,n,i)),f&&(t.strokeStyle=f,c&&(t.lineWidth=c),t.strokeRect(a,s,n,i));break}case "circle":{let a=r(e.x),s=r(e.y),n=r(e.radius),i=r(e.fill),o=r(e.stroke),f=r(e.strokeWidth);t.beginPath(),t.arc(a,s,n,0,Math.PI*2),i&&(t.fillStyle=i,t.fill()),o&&(t.strokeStyle=o,f&&(t.lineWidth=f),t.stroke());break}case "arc":{let a=r(e.x),s=r(e.y),n=r(e.radius),i=r(e.startAngle),o=r(e.endAngle),f=r(e.counterclockwise)||false,c=r(e.fill),m=r(e.stroke),h=r(e.strokeWidth);t.beginPath(),t.arc(a,s,n,i,o,f),c&&(t.fillStyle=c,t.fill()),m&&(t.strokeStyle=m,h&&(t.lineWidth=h),t.stroke());break}case "line":{let a=r(e.x1),s=r(e.y1),n=r(e.x2),i=r(e.y2),o=r(e.stroke)||"black",f=r(e.strokeWidth)||1;t.beginPath(),t.moveTo(a,s),t.lineTo(n,i),t.strokeStyle=o,t.lineWidth=f,t.stroke();break}case "text":{let a=r(e.x),s=r(e.y),n=r(e.text),i=r(e.fill)||"black",o=r(e.fontSize)||16,f=r(e.fontFamily)||"sans-serif",c=r(e.fontWeight)||"normal",m=r(e.textAlign)||"left";t.font=`${c} ${o}px ${f}`,t.textAlign=m,t.fillStyle=i,t.fillText(n,a,s);break}case "path":{let a=r(e.d),s=r(e.fill),n=r(e.stroke),i=r(e.strokeWidth),o=new Path2D(a);s&&(t.fillStyle=s,t.fill(o)),n&&(t.strokeStyle=n,i&&(t.lineWidth=i),t.stroke(o));break}}u!==void 0&&(t.globalAlpha=1);}function x(t){return chunkACYN2UKT_js.c(()=>{l({type:"rect",props:t});}),null}function v(t){return chunkACYN2UKT_js.c(()=>{l({type:"circle",props:t});}),null}function A(t){return chunkACYN2UKT_js.c(()=>{l({type:"arc",props:t});}),null}function W(t){return chunkACYN2UKT_js.c(()=>{l({type:"line",props:t});}),null}function b(t){return chunkACYN2UKT_js.c(()=>{l({type:"text",props:t});}),null}function R(t){return chunkACYN2UKT_js.c(()=>{l({type:"path",props:t});}),null}exports.Canvas=C;exports.DrawArc=A;exports.DrawCircle=v;exports.DrawLine=W;exports.DrawPath=R;exports.DrawRect=x;exports.DrawText=b;//# sourceMappingURL=canvas.js.map
|
|
2
|
-
//# sourceMappingURL=canvas.js.map
|
package/dist/canvas.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/canvas/Canvas.tsx","../src/canvas/dom/DrawRect.tsx","../src/canvas/dom/DrawCircle.tsx","../src/canvas/dom/DrawArc.tsx","../src/canvas/dom/DrawLine.tsx","../src/canvas/dom/DrawText.tsx","../src/canvas/dom/DrawPath.tsx"],"names":["drawQueue","queueDraw","node","Canvas","props","width","height","children","style","ref","canvas","ctx","render","child","drawNode","use","jsx","el","getValue","val","isReactive","type","opacity","x","y","w","h","fill","stroke","strokeWidth","radius","startAngle","endAngle","counterclockwise","x1","y1","x2","y2","text","fontSize","fontFamily","fontWeight","textAlign","d","path","DrawRect","DrawCircle","DrawArc","DrawLine","DrawText","DrawPath"],"mappings":"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","file":"canvas.js","sourcesContent":["import { use } from '../core/use'\nimport { isReactive } from '../core/reactive'\nimport type { CanvasProps, CanvasDrawNode } from './types'\n\nexport type { CanvasProps }\n\n// Canvas context for children to access\nlet currentCanvasContext: CanvasRenderingContext2D | null = null\nconst drawQueue: CanvasDrawNode[] = []\n\nexport function getCanvasContext() {\n return currentCanvasContext\n}\n\nexport function queueDraw(node: CanvasDrawNode) {\n drawQueue.push(node)\n}\n\nexport function Canvas(props: CanvasProps) {\n const { width, height, children, style, ref } = props\n\n let canvas: HTMLCanvasElement | undefined\n let ctx: CanvasRenderingContext2D | null = null\n\n const render = () => {\n if (!canvas || !ctx) return\n\n // Clear canvas\n ctx.clearRect(0, 0, width, height)\n\n // Clear draw queue\n drawQueue.length = 0\n\n // Set current context for children\n currentCanvasContext = ctx\n\n // Render children (they will queue draw commands)\n if (Array.isArray(children)) {\n children.forEach(child => {\n if (typeof child === 'function') {\n child()\n }\n })\n } else if (typeof children === 'function') {\n children()\n }\n\n // Execute draw queue\n drawQueue.forEach(node => {\n drawNode(ctx!, node)\n })\n\n // Clear context\n currentCanvasContext = null\n }\n\n use(() => {\n if (canvas) {\n render()\n }\n })\n\n return (\n <canvas\n ref={(el: HTMLCanvasElement) => {\n canvas = el\n ctx = el.getContext('2d')\n if (ref) ref(el)\n render()\n }}\n width={width}\n height={height}\n style={style}\n />\n )\n}\n\nfunction getValue(val: any): any {\n if (isReactive(val)) {\n return val.valueOf?.() ?? val\n }\n return val\n}\n\nfunction drawNode(ctx: CanvasRenderingContext2D, node: CanvasDrawNode) {\n const { type, props } = node\n\n // Apply opacity\n const opacity = getValue(props.opacity)\n if (opacity !== undefined) {\n ctx.globalAlpha = opacity\n }\n\n switch (type) {\n case 'rect': {\n const x = getValue(props.x)\n const y = getValue(props.y)\n const w = getValue(props.width)\n const h = getValue(props.height)\n const fill = getValue(props.fill)\n const stroke = getValue(props.stroke)\n const strokeWidth = getValue(props.strokeWidth)\n\n if (fill) {\n ctx.fillStyle = fill\n ctx.fillRect(x, y, w, h)\n }\n\n if (stroke) {\n ctx.strokeStyle = stroke\n if (strokeWidth) ctx.lineWidth = strokeWidth\n ctx.strokeRect(x, y, w, h)\n }\n break\n }\n\n case 'circle': {\n const x = getValue(props.x)\n const y = getValue(props.y)\n const radius = getValue(props.radius)\n const fill = getValue(props.fill)\n const stroke = getValue(props.stroke)\n const strokeWidth = getValue(props.strokeWidth)\n\n ctx.beginPath()\n ctx.arc(x, y, radius, 0, Math.PI * 2)\n\n if (fill) {\n ctx.fillStyle = fill\n ctx.fill()\n }\n\n if (stroke) {\n ctx.strokeStyle = stroke\n if (strokeWidth) ctx.lineWidth = strokeWidth\n ctx.stroke()\n }\n break\n }\n\n case 'arc': {\n const x = getValue(props.x)\n const y = getValue(props.y)\n const radius = getValue(props.radius)\n const startAngle = getValue(props.startAngle)\n const endAngle = getValue(props.endAngle)\n const counterclockwise = getValue(props.counterclockwise) || false\n const fill = getValue(props.fill)\n const stroke = getValue(props.stroke)\n const strokeWidth = getValue(props.strokeWidth)\n\n ctx.beginPath()\n ctx.arc(x, y, radius, startAngle, endAngle, counterclockwise)\n\n if (fill) {\n ctx.fillStyle = fill\n ctx.fill()\n }\n\n if (stroke) {\n ctx.strokeStyle = stroke\n if (strokeWidth) ctx.lineWidth = strokeWidth\n ctx.stroke()\n }\n break\n }\n\n case 'line': {\n const x1 = getValue(props.x1)\n const y1 = getValue(props.y1)\n const x2 = getValue(props.x2)\n const y2 = getValue(props.y2)\n const stroke = getValue(props.stroke) || 'black'\n const strokeWidth = getValue(props.strokeWidth) || 1\n\n ctx.beginPath()\n ctx.moveTo(x1, y1)\n ctx.lineTo(x2, y2)\n ctx.strokeStyle = stroke\n ctx.lineWidth = strokeWidth\n ctx.stroke()\n break\n }\n\n case 'text': {\n const x = getValue(props.x)\n const y = getValue(props.y)\n const text = getValue(props.text)\n const fill = getValue(props.fill) || 'black'\n const fontSize = getValue(props.fontSize) || 16\n const fontFamily = getValue(props.fontFamily) || 'sans-serif'\n const fontWeight = getValue(props.fontWeight) || 'normal'\n const textAlign = getValue(props.textAlign) || 'left'\n\n ctx.font = `${fontWeight} ${fontSize}px ${fontFamily}`\n ctx.textAlign = textAlign as CanvasTextAlign\n ctx.fillStyle = fill\n ctx.fillText(text, x, y)\n break\n }\n\n case 'path': {\n const d = getValue(props.d)\n const fill = getValue(props.fill)\n const stroke = getValue(props.stroke)\n const strokeWidth = getValue(props.strokeWidth)\n\n // Parse SVG path data\n const path = new Path2D(d)\n\n if (fill) {\n ctx.fillStyle = fill\n ctx.fill(path)\n }\n\n if (stroke) {\n ctx.strokeStyle = stroke\n if (strokeWidth) ctx.lineWidth = strokeWidth\n ctx.stroke(path)\n }\n break\n }\n }\n\n // Reset opacity\n if (opacity !== undefined) {\n ctx.globalAlpha = 1\n }\n}\n","import { use } from '../../core/use'\nimport { queueDraw } from '../Canvas'\nimport type { DrawRectProps } from '../types'\n\nexport type { DrawRectProps }\n\nexport function DrawRect(props: DrawRectProps) {\n use(() => {\n queueDraw({\n type: 'rect',\n props\n })\n })\n\n return null\n}\n","import { use } from '../../core/use'\nimport { queueDraw } from '../Canvas'\nimport type { DrawCircleProps } from '../types'\n\nexport type { DrawCircleProps }\n\nexport function DrawCircle(props: DrawCircleProps) {\n use(() => {\n queueDraw({\n type: 'circle',\n props\n })\n })\n\n return null\n}\n","import { use } from '../../core/use'\nimport { queueDraw } from '../Canvas'\nimport type { DrawArcProps } from '../types'\n\nexport type { DrawArcProps }\n\nexport function DrawArc(props: DrawArcProps) {\n use(() => {\n queueDraw({\n type: 'arc',\n props\n })\n })\n\n return null\n}\n","import { use } from '../../core/use'\nimport { queueDraw } from '../Canvas'\nimport type { DrawLineProps } from '../types'\n\nexport type { DrawLineProps }\n\nexport function DrawLine(props: DrawLineProps) {\n use(() => {\n queueDraw({\n type: 'line',\n props\n })\n })\n\n return null\n}\n","import { use } from '../../core/use'\nimport { queueDraw } from '../Canvas'\nimport type { DrawTextProps } from '../types'\n\nexport type { DrawTextProps }\n\nexport function DrawText(props: DrawTextProps) {\n use(() => {\n queueDraw({\n type: 'text',\n props\n })\n })\n\n return null\n}\n","import { use } from '../../core/use'\nimport { queueDraw } from '../Canvas'\nimport type { DrawPathProps } from '../types'\n\nexport type { DrawPathProps }\n\nexport function DrawPath(props: DrawPathProps) {\n use(() => {\n queueDraw({\n type: 'path',\n props\n })\n })\n\n return null\n}\n"]}
|
package/dist/canvas.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {c,b as b$1}from'./chunk-3AKECLKA.mjs';import'./chunk-NRPWBHKP.mjs';import'./chunk-MI76R42D.mjs';import {a}from'./chunk-J3542Z77.mjs';var D=[];function l(t){D.push(t);}function C(t){let{width:y,height:w,children:e,style:u,ref:a$1}=t,s,n=null,i=()=>{!s||!n||(n.clearRect(0,0,y,w),D.length=0,Array.isArray(e)?e.forEach(o=>{typeof o=="function"&&o();}):typeof e=="function"&&e(),D.forEach(o=>{g(n,o);}),null);};return c(()=>{s&&i();}),a("canvas",{ref:o=>{s=o,n=o.getContext("2d"),a$1&&a$1(o),i();},width:y,height:w,style:u})}function r(t){return b$1(t)?t.valueOf?.()??t:t}function g(t,y){let{type:w,props:e}=y,u=r(e.opacity);switch(u!==void 0&&(t.globalAlpha=u),w){case "rect":{let a=r(e.x),s=r(e.y),n=r(e.width),i=r(e.height),o=r(e.fill),f=r(e.stroke),c=r(e.strokeWidth);o&&(t.fillStyle=o,t.fillRect(a,s,n,i)),f&&(t.strokeStyle=f,c&&(t.lineWidth=c),t.strokeRect(a,s,n,i));break}case "circle":{let a=r(e.x),s=r(e.y),n=r(e.radius),i=r(e.fill),o=r(e.stroke),f=r(e.strokeWidth);t.beginPath(),t.arc(a,s,n,0,Math.PI*2),i&&(t.fillStyle=i,t.fill()),o&&(t.strokeStyle=o,f&&(t.lineWidth=f),t.stroke());break}case "arc":{let a=r(e.x),s=r(e.y),n=r(e.radius),i=r(e.startAngle),o=r(e.endAngle),f=r(e.counterclockwise)||false,c=r(e.fill),m=r(e.stroke),h=r(e.strokeWidth);t.beginPath(),t.arc(a,s,n,i,o,f),c&&(t.fillStyle=c,t.fill()),m&&(t.strokeStyle=m,h&&(t.lineWidth=h),t.stroke());break}case "line":{let a=r(e.x1),s=r(e.y1),n=r(e.x2),i=r(e.y2),o=r(e.stroke)||"black",f=r(e.strokeWidth)||1;t.beginPath(),t.moveTo(a,s),t.lineTo(n,i),t.strokeStyle=o,t.lineWidth=f,t.stroke();break}case "text":{let a=r(e.x),s=r(e.y),n=r(e.text),i=r(e.fill)||"black",o=r(e.fontSize)||16,f=r(e.fontFamily)||"sans-serif",c=r(e.fontWeight)||"normal",m=r(e.textAlign)||"left";t.font=`${c} ${o}px ${f}`,t.textAlign=m,t.fillStyle=i,t.fillText(n,a,s);break}case "path":{let a=r(e.d),s=r(e.fill),n=r(e.stroke),i=r(e.strokeWidth),o=new Path2D(a);s&&(t.fillStyle=s,t.fill(o)),n&&(t.strokeStyle=n,i&&(t.lineWidth=i),t.stroke(o));break}}u!==void 0&&(t.globalAlpha=1);}function x(t){return c(()=>{l({type:"rect",props:t});}),null}function v(t){return c(()=>{l({type:"circle",props:t});}),null}function A(t){return c(()=>{l({type:"arc",props:t});}),null}function W(t){return c(()=>{l({type:"line",props:t});}),null}function b(t){return c(()=>{l({type:"text",props:t});}),null}function R(t){return c(()=>{l({type:"path",props:t});}),null}export{C as Canvas,A as DrawArc,v as DrawCircle,W as DrawLine,R as DrawPath,x as DrawRect,b as DrawText};//# sourceMappingURL=canvas.mjs.map
|
|
2
|
-
//# sourceMappingURL=canvas.mjs.map
|
package/dist/canvas.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/canvas/Canvas.tsx","../src/canvas/dom/DrawRect.tsx","../src/canvas/dom/DrawCircle.tsx","../src/canvas/dom/DrawArc.tsx","../src/canvas/dom/DrawLine.tsx","../src/canvas/dom/DrawText.tsx","../src/canvas/dom/DrawPath.tsx"],"names":["drawQueue","queueDraw","node","Canvas","props","width","height","children","style","ref","canvas","ctx","render","child","drawNode","use","jsx","el","getValue","val","isReactive","type","opacity","x","y","w","h","fill","stroke","strokeWidth","radius","startAngle","endAngle","counterclockwise","x1","y1","x2","y2","text","fontSize","fontFamily","fontWeight","textAlign","d","path","DrawRect","DrawCircle","DrawArc","DrawLine","DrawText","DrawPath"],"mappings":"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","file":"canvas.mjs","sourcesContent":["import { use } from '../core/use'\nimport { isReactive } from '../core/reactive'\nimport type { CanvasProps, CanvasDrawNode } from './types'\n\nexport type { CanvasProps }\n\n// Canvas context for children to access\nlet currentCanvasContext: CanvasRenderingContext2D | null = null\nconst drawQueue: CanvasDrawNode[] = []\n\nexport function getCanvasContext() {\n return currentCanvasContext\n}\n\nexport function queueDraw(node: CanvasDrawNode) {\n drawQueue.push(node)\n}\n\nexport function Canvas(props: CanvasProps) {\n const { width, height, children, style, ref } = props\n\n let canvas: HTMLCanvasElement | undefined\n let ctx: CanvasRenderingContext2D | null = null\n\n const render = () => {\n if (!canvas || !ctx) return\n\n // Clear canvas\n ctx.clearRect(0, 0, width, height)\n\n // Clear draw queue\n drawQueue.length = 0\n\n // Set current context for children\n currentCanvasContext = ctx\n\n // Render children (they will queue draw commands)\n if (Array.isArray(children)) {\n children.forEach(child => {\n if (typeof child === 'function') {\n child()\n }\n })\n } else if (typeof children === 'function') {\n children()\n }\n\n // Execute draw queue\n drawQueue.forEach(node => {\n drawNode(ctx!, node)\n })\n\n // Clear context\n currentCanvasContext = null\n }\n\n use(() => {\n if (canvas) {\n render()\n }\n })\n\n return (\n <canvas\n ref={(el: HTMLCanvasElement) => {\n canvas = el\n ctx = el.getContext('2d')\n if (ref) ref(el)\n render()\n }}\n width={width}\n height={height}\n style={style}\n />\n )\n}\n\nfunction getValue(val: any): any {\n if (isReactive(val)) {\n return val.valueOf?.() ?? val\n }\n return val\n}\n\nfunction drawNode(ctx: CanvasRenderingContext2D, node: CanvasDrawNode) {\n const { type, props } = node\n\n // Apply opacity\n const opacity = getValue(props.opacity)\n if (opacity !== undefined) {\n ctx.globalAlpha = opacity\n }\n\n switch (type) {\n case 'rect': {\n const x = getValue(props.x)\n const y = getValue(props.y)\n const w = getValue(props.width)\n const h = getValue(props.height)\n const fill = getValue(props.fill)\n const stroke = getValue(props.stroke)\n const strokeWidth = getValue(props.strokeWidth)\n\n if (fill) {\n ctx.fillStyle = fill\n ctx.fillRect(x, y, w, h)\n }\n\n if (stroke) {\n ctx.strokeStyle = stroke\n if (strokeWidth) ctx.lineWidth = strokeWidth\n ctx.strokeRect(x, y, w, h)\n }\n break\n }\n\n case 'circle': {\n const x = getValue(props.x)\n const y = getValue(props.y)\n const radius = getValue(props.radius)\n const fill = getValue(props.fill)\n const stroke = getValue(props.stroke)\n const strokeWidth = getValue(props.strokeWidth)\n\n ctx.beginPath()\n ctx.arc(x, y, radius, 0, Math.PI * 2)\n\n if (fill) {\n ctx.fillStyle = fill\n ctx.fill()\n }\n\n if (stroke) {\n ctx.strokeStyle = stroke\n if (strokeWidth) ctx.lineWidth = strokeWidth\n ctx.stroke()\n }\n break\n }\n\n case 'arc': {\n const x = getValue(props.x)\n const y = getValue(props.y)\n const radius = getValue(props.radius)\n const startAngle = getValue(props.startAngle)\n const endAngle = getValue(props.endAngle)\n const counterclockwise = getValue(props.counterclockwise) || false\n const fill = getValue(props.fill)\n const stroke = getValue(props.stroke)\n const strokeWidth = getValue(props.strokeWidth)\n\n ctx.beginPath()\n ctx.arc(x, y, radius, startAngle, endAngle, counterclockwise)\n\n if (fill) {\n ctx.fillStyle = fill\n ctx.fill()\n }\n\n if (stroke) {\n ctx.strokeStyle = stroke\n if (strokeWidth) ctx.lineWidth = strokeWidth\n ctx.stroke()\n }\n break\n }\n\n case 'line': {\n const x1 = getValue(props.x1)\n const y1 = getValue(props.y1)\n const x2 = getValue(props.x2)\n const y2 = getValue(props.y2)\n const stroke = getValue(props.stroke) || 'black'\n const strokeWidth = getValue(props.strokeWidth) || 1\n\n ctx.beginPath()\n ctx.moveTo(x1, y1)\n ctx.lineTo(x2, y2)\n ctx.strokeStyle = stroke\n ctx.lineWidth = strokeWidth\n ctx.stroke()\n break\n }\n\n case 'text': {\n const x = getValue(props.x)\n const y = getValue(props.y)\n const text = getValue(props.text)\n const fill = getValue(props.fill) || 'black'\n const fontSize = getValue(props.fontSize) || 16\n const fontFamily = getValue(props.fontFamily) || 'sans-serif'\n const fontWeight = getValue(props.fontWeight) || 'normal'\n const textAlign = getValue(props.textAlign) || 'left'\n\n ctx.font = `${fontWeight} ${fontSize}px ${fontFamily}`\n ctx.textAlign = textAlign as CanvasTextAlign\n ctx.fillStyle = fill\n ctx.fillText(text, x, y)\n break\n }\n\n case 'path': {\n const d = getValue(props.d)\n const fill = getValue(props.fill)\n const stroke = getValue(props.stroke)\n const strokeWidth = getValue(props.strokeWidth)\n\n // Parse SVG path data\n const path = new Path2D(d)\n\n if (fill) {\n ctx.fillStyle = fill\n ctx.fill(path)\n }\n\n if (stroke) {\n ctx.strokeStyle = stroke\n if (strokeWidth) ctx.lineWidth = strokeWidth\n ctx.stroke(path)\n }\n break\n }\n }\n\n // Reset opacity\n if (opacity !== undefined) {\n ctx.globalAlpha = 1\n }\n}\n","import { use } from '../../core/use'\nimport { queueDraw } from '../Canvas'\nimport type { DrawRectProps } from '../types'\n\nexport type { DrawRectProps }\n\nexport function DrawRect(props: DrawRectProps) {\n use(() => {\n queueDraw({\n type: 'rect',\n props\n })\n })\n\n return null\n}\n","import { use } from '../../core/use'\nimport { queueDraw } from '../Canvas'\nimport type { DrawCircleProps } from '../types'\n\nexport type { DrawCircleProps }\n\nexport function DrawCircle(props: DrawCircleProps) {\n use(() => {\n queueDraw({\n type: 'circle',\n props\n })\n })\n\n return null\n}\n","import { use } from '../../core/use'\nimport { queueDraw } from '../Canvas'\nimport type { DrawArcProps } from '../types'\n\nexport type { DrawArcProps }\n\nexport function DrawArc(props: DrawArcProps) {\n use(() => {\n queueDraw({\n type: 'arc',\n props\n })\n })\n\n return null\n}\n","import { use } from '../../core/use'\nimport { queueDraw } from '../Canvas'\nimport type { DrawLineProps } from '../types'\n\nexport type { DrawLineProps }\n\nexport function DrawLine(props: DrawLineProps) {\n use(() => {\n queueDraw({\n type: 'line',\n props\n })\n })\n\n return null\n}\n","import { use } from '../../core/use'\nimport { queueDraw } from '../Canvas'\nimport type { DrawTextProps } from '../types'\n\nexport type { DrawTextProps }\n\nexport function DrawText(props: DrawTextProps) {\n use(() => {\n queueDraw({\n type: 'text',\n props\n })\n })\n\n return null\n}\n","import { use } from '../../core/use'\nimport { queueDraw } from '../Canvas'\nimport type { DrawPathProps } from '../types'\n\nexport type { DrawPathProps }\n\nexport function DrawPath(props: DrawPathProps) {\n use(() => {\n queueDraw({\n type: 'path',\n props\n })\n })\n\n return null\n}\n"]}
|
package/dist/interactive.d.cts
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
declare enum Keys {
|
|
2
|
-
ArrowUp = "ArrowUp",
|
|
3
|
-
ArrowDown = "ArrowDown",
|
|
4
|
-
ArrowLeft = "ArrowLeft",
|
|
5
|
-
ArrowRight = "ArrowRight",
|
|
6
|
-
KeyW = "KeyW",
|
|
7
|
-
KeyA = "KeyA",
|
|
8
|
-
KeyS = "KeyS",
|
|
9
|
-
KeyD = "KeyD",
|
|
10
|
-
Space = "Space",
|
|
11
|
-
Enter = "Enter",
|
|
12
|
-
Escape = "Escape",
|
|
13
|
-
Tab = "Tab",
|
|
14
|
-
ShiftLeft = "ShiftLeft",
|
|
15
|
-
ShiftRight = "ShiftRight",
|
|
16
|
-
ControlLeft = "ControlLeft",
|
|
17
|
-
ControlRight = "ControlRight",
|
|
18
|
-
AltLeft = "AltLeft",
|
|
19
|
-
AltRight = "AltRight",
|
|
20
|
-
Digit0 = "Digit0",
|
|
21
|
-
Digit1 = "Digit1",
|
|
22
|
-
Digit2 = "Digit2",
|
|
23
|
-
Digit3 = "Digit3",
|
|
24
|
-
Digit4 = "Digit4",
|
|
25
|
-
Digit5 = "Digit5",
|
|
26
|
-
Digit6 = "Digit6",
|
|
27
|
-
Digit7 = "Digit7",
|
|
28
|
-
Digit8 = "Digit8",
|
|
29
|
-
Digit9 = "Digit9",
|
|
30
|
-
KeyE = "KeyE",
|
|
31
|
-
KeyQ = "KeyQ",
|
|
32
|
-
KeyR = "KeyR",
|
|
33
|
-
KeyF = "KeyF"
|
|
34
|
-
}
|
|
35
|
-
interface KeyboardState {
|
|
36
|
-
isPressed: (key: string) => boolean;
|
|
37
|
-
isJustPressed: (key: string) => boolean;
|
|
38
|
-
isJustReleased: (key: string) => boolean;
|
|
39
|
-
getPressedKeys: () => string[];
|
|
40
|
-
clearFrameState: () => void;
|
|
41
|
-
dispose: () => void;
|
|
42
|
-
}
|
|
43
|
-
declare enum MouseButton {
|
|
44
|
-
Left = 0,
|
|
45
|
-
Middle = 1,
|
|
46
|
-
Right = 2
|
|
47
|
-
}
|
|
48
|
-
interface MouseOptions {
|
|
49
|
-
canvas?: HTMLCanvasElement | (() => HTMLCanvasElement | undefined);
|
|
50
|
-
target?: EventTarget;
|
|
51
|
-
}
|
|
52
|
-
interface MouseState {
|
|
53
|
-
x: number | null;
|
|
54
|
-
y: number | null;
|
|
55
|
-
deltaX: number;
|
|
56
|
-
deltaY: number;
|
|
57
|
-
wheelDelta: number;
|
|
58
|
-
isPressed: (button: MouseButton) => boolean;
|
|
59
|
-
isLeftPressed: () => boolean;
|
|
60
|
-
isRightPressed: () => boolean;
|
|
61
|
-
isMiddlePressed: () => boolean;
|
|
62
|
-
clearFrameState: () => void;
|
|
63
|
-
dispose: () => void;
|
|
64
|
-
}
|
|
65
|
-
interface LoopCallbacks {
|
|
66
|
-
fixedFps?: number;
|
|
67
|
-
onUpdate?: (delta: number) => void;
|
|
68
|
-
onFixedUpdate?: (fixedDelta: number) => void;
|
|
69
|
-
onRender?: (alpha: number) => void;
|
|
70
|
-
}
|
|
71
|
-
interface Loop {
|
|
72
|
-
start: () => void;
|
|
73
|
-
stop: () => void;
|
|
74
|
-
isRunning: () => boolean;
|
|
75
|
-
getFps: () => number;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
declare function useLoop(callbacks: LoopCallbacks): Loop;
|
|
79
|
-
|
|
80
|
-
declare function useKeyboard(target?: EventTarget): KeyboardState;
|
|
81
|
-
|
|
82
|
-
declare function useMouse(options?: MouseOptions): MouseState;
|
|
83
|
-
|
|
84
|
-
export { type KeyboardState, Keys, type Loop, type LoopCallbacks, MouseButton, type MouseOptions, type MouseState, useKeyboard, useLoop, useMouse };
|
package/dist/interactive.d.ts
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
declare enum Keys {
|
|
2
|
-
ArrowUp = "ArrowUp",
|
|
3
|
-
ArrowDown = "ArrowDown",
|
|
4
|
-
ArrowLeft = "ArrowLeft",
|
|
5
|
-
ArrowRight = "ArrowRight",
|
|
6
|
-
KeyW = "KeyW",
|
|
7
|
-
KeyA = "KeyA",
|
|
8
|
-
KeyS = "KeyS",
|
|
9
|
-
KeyD = "KeyD",
|
|
10
|
-
Space = "Space",
|
|
11
|
-
Enter = "Enter",
|
|
12
|
-
Escape = "Escape",
|
|
13
|
-
Tab = "Tab",
|
|
14
|
-
ShiftLeft = "ShiftLeft",
|
|
15
|
-
ShiftRight = "ShiftRight",
|
|
16
|
-
ControlLeft = "ControlLeft",
|
|
17
|
-
ControlRight = "ControlRight",
|
|
18
|
-
AltLeft = "AltLeft",
|
|
19
|
-
AltRight = "AltRight",
|
|
20
|
-
Digit0 = "Digit0",
|
|
21
|
-
Digit1 = "Digit1",
|
|
22
|
-
Digit2 = "Digit2",
|
|
23
|
-
Digit3 = "Digit3",
|
|
24
|
-
Digit4 = "Digit4",
|
|
25
|
-
Digit5 = "Digit5",
|
|
26
|
-
Digit6 = "Digit6",
|
|
27
|
-
Digit7 = "Digit7",
|
|
28
|
-
Digit8 = "Digit8",
|
|
29
|
-
Digit9 = "Digit9",
|
|
30
|
-
KeyE = "KeyE",
|
|
31
|
-
KeyQ = "KeyQ",
|
|
32
|
-
KeyR = "KeyR",
|
|
33
|
-
KeyF = "KeyF"
|
|
34
|
-
}
|
|
35
|
-
interface KeyboardState {
|
|
36
|
-
isPressed: (key: string) => boolean;
|
|
37
|
-
isJustPressed: (key: string) => boolean;
|
|
38
|
-
isJustReleased: (key: string) => boolean;
|
|
39
|
-
getPressedKeys: () => string[];
|
|
40
|
-
clearFrameState: () => void;
|
|
41
|
-
dispose: () => void;
|
|
42
|
-
}
|
|
43
|
-
declare enum MouseButton {
|
|
44
|
-
Left = 0,
|
|
45
|
-
Middle = 1,
|
|
46
|
-
Right = 2
|
|
47
|
-
}
|
|
48
|
-
interface MouseOptions {
|
|
49
|
-
canvas?: HTMLCanvasElement | (() => HTMLCanvasElement | undefined);
|
|
50
|
-
target?: EventTarget;
|
|
51
|
-
}
|
|
52
|
-
interface MouseState {
|
|
53
|
-
x: number | null;
|
|
54
|
-
y: number | null;
|
|
55
|
-
deltaX: number;
|
|
56
|
-
deltaY: number;
|
|
57
|
-
wheelDelta: number;
|
|
58
|
-
isPressed: (button: MouseButton) => boolean;
|
|
59
|
-
isLeftPressed: () => boolean;
|
|
60
|
-
isRightPressed: () => boolean;
|
|
61
|
-
isMiddlePressed: () => boolean;
|
|
62
|
-
clearFrameState: () => void;
|
|
63
|
-
dispose: () => void;
|
|
64
|
-
}
|
|
65
|
-
interface LoopCallbacks {
|
|
66
|
-
fixedFps?: number;
|
|
67
|
-
onUpdate?: (delta: number) => void;
|
|
68
|
-
onFixedUpdate?: (fixedDelta: number) => void;
|
|
69
|
-
onRender?: (alpha: number) => void;
|
|
70
|
-
}
|
|
71
|
-
interface Loop {
|
|
72
|
-
start: () => void;
|
|
73
|
-
stop: () => void;
|
|
74
|
-
isRunning: () => boolean;
|
|
75
|
-
getFps: () => number;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
declare function useLoop(callbacks: LoopCallbacks): Loop;
|
|
79
|
-
|
|
80
|
-
declare function useKeyboard(target?: EventTarget): KeyboardState;
|
|
81
|
-
|
|
82
|
-
declare function useMouse(options?: MouseOptions): MouseState;
|
|
83
|
-
|
|
84
|
-
export { type KeyboardState, Keys, type Loop, type LoopCallbacks, MouseButton, type MouseOptions, type MouseState, useKeyboard, useLoop, useMouse };
|
package/dist/interactive.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkACYN2UKT_js=require('./chunk-ACYN2UKT.js');require('./chunk-3CKIHQIE.js'),require('./chunk-E6Z7AI4J.js');function F(a){let{fixedFps:n=60,onUpdate:v,onFixedUpdate:o,onRender:y}=a,p=1/n,S=.25,l=false,m=0,t=0,s=0,i=0,u=0,r=null;function d(w){if(!l)return;let D=Math.min((w-m)/1e3,S);if(m=w,v&&v(D),o)for(t+=D;t>=p;)o(p),t-=p;if(y){let h=t/p;y(h);}i++,w-u>=1e3&&(s=i,i=0,u=w),r=requestAnimationFrame(d);}return {start:()=>{l||(l=true,m=performance.now(),t=0,r=requestAnimationFrame(d));},stop:()=>{l=false,r!==null&&(cancelAnimationFrame(r),r=null);},isRunning:()=>l,getFps:()=>s}}var x=(e=>(e.ArrowUp="ArrowUp",e.ArrowDown="ArrowDown",e.ArrowLeft="ArrowLeft",e.ArrowRight="ArrowRight",e.KeyW="KeyW",e.KeyA="KeyA",e.KeyS="KeyS",e.KeyD="KeyD",e.Space="Space",e.Enter="Enter",e.Escape="Escape",e.Tab="Tab",e.ShiftLeft="ShiftLeft",e.ShiftRight="ShiftRight",e.ControlLeft="ControlLeft",e.ControlRight="ControlRight",e.AltLeft="AltLeft",e.AltRight="AltRight",e.Digit0="Digit0",e.Digit1="Digit1",e.Digit2="Digit2",e.Digit3="Digit3",e.Digit4="Digit4",e.Digit5="Digit5",e.Digit6="Digit6",e.Digit7="Digit7",e.Digit8="Digit8",e.Digit9="Digit9",e.KeyE="KeyE",e.KeyQ="KeyQ",e.KeyR="KeyR",e.KeyF="KeyF",e))(x||{}),P=(o=>(o[o.Left=0]="Left",o[o.Middle=1]="Middle",o[o.Right=2]="Right",o))(P||{});function C(a=window){let[n,v]=chunkACYN2UKT_js.c(new Set,{key:["keyboard","pressed"]}),[o,y]=chunkACYN2UKT_js.c(new Set,{key:["keyboard","justPressed"]}),[p,S]=chunkACYN2UKT_js.c(new Set,{key:["keyboard","justReleased"]}),l=t=>{let s=t.code,i=n;if(!i.has(s)){let u=new Set(i);u.add(s),v(u);let r=o,d=new Set(r);d.add(s),y(d);}},m=t=>{let s=t.code,i=n,u=new Set(i);u.delete(s),v(u);let r=p,d=new Set(r);d.add(s),S(d);};return a.addEventListener("keydown",l),a.addEventListener("keyup",m),{isPressed:t=>n?.has(t)||false,isJustPressed:t=>o?.has(t)||false,isJustReleased:t=>p?.has(t)||false,getPressedKeys:()=>Array.from(n||[]),clearFrameState:()=>{y(new Set),S(new Set);},dispose:()=>{a.removeEventListener("keydown",l),a.removeEventListener("keyup",m);}}}function J(a={}){let n=a.target||window,v=typeof a.canvas=="function"?a.canvas:()=>a.canvas,[o,y]=chunkACYN2UKT_js.c({x:0,y:0},{key:["mouse","position"]}),[p,S]=chunkACYN2UKT_js.c({x:0,y:0},{key:["mouse","delta"]}),[l,m]=chunkACYN2UKT_js.c(0,{key:["mouse","wheel"]}),[t,s]=chunkACYN2UKT_js.c(new Set,{key:["mouse","buttons"]}),i=0,u=0,r=g=>{let f=g,L=v(),c=f.clientX,E=f.clientY;if(L){let k=L.getBoundingClientRect();c=f.clientX-k.left,E=f.clientY-k.top;}y({x:c,y:E}),S({x:c-i,y:E-u}),i=c,u=E;},d=g=>{let f=g.button,L=t,c=new Set(L);c.add(f),s(c);},w=g=>{let f=g.button,L=t,c=new Set(L);c.delete(f),s(c);},D=g=>{m(g.deltaY);};n.addEventListener("mousemove",r),n.addEventListener("mousedown",d),n.addEventListener("mouseup",w),n.addEventListener("wheel",D);let h=t,R=o,M=p,A=l;return {get x(){return R.x},get y(){return R.y},get deltaX(){return M.x},get deltaY(){return M.y},get wheelDelta(){return A},isPressed:g=>h?.has(g)||false,isLeftPressed:()=>h?.has(0)||false,isRightPressed:()=>h?.has(2)||false,isMiddlePressed:()=>h?.has(1)||false,clearFrameState:()=>{S({x:0,y:0}),m(0);},dispose:()=>{n.removeEventListener("mousemove",r),n.removeEventListener("mousedown",d),n.removeEventListener("mouseup",w),n.removeEventListener("wheel",D);}}}exports.Keys=x;exports.MouseButton=P;exports.useKeyboard=C;exports.useLoop=F;exports.useMouse=J;//# sourceMappingURL=interactive.js.map
|
|
2
|
-
//# sourceMappingURL=interactive.js.map
|
package/dist/interactive.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interactive/loop.ts","../src/interactive/types.ts","../src/interactive/keyboard.ts","../src/interactive/mouse.ts"],"names":["useLoop","callbacks","fixedFps","onUpdate","onFixedUpdate","onRender","fixedDelta","maxDelta","running","lastTime","accumulator","fps","frameCount","fpsTime","rafId","loop","currentTime","delta","alpha","Keys","MouseButton","useKeyboard","target","pressedKeys","setPressedKeys","use","justPressedKeys","setJustPressedKeys","justReleasedKeys","setJustReleasedKeys","handleKeyDown","e","key","currentPressed","newPressed","currentJustPressed","newJustPressed","handleKeyUp","currentJustReleased","newJustReleased","useMouse","options","canvasGetter","position","setPosition","setDelta","wheelDelta","setWheelDelta","buttons","setButtons","lastX","lastY","handleMouseMove","me","canvas","x","y","rect","handleMouseDown","button","currentButtons","newButtons","handleMouseUp","handleWheel","currentPosition","currentDelta","currentWheelDelta"],"mappings":"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","file":"interactive.js","sourcesContent":["import type { LoopCallbacks, Loop } from './types'\n\nexport type { LoopCallbacks, Loop }\n\nexport function useLoop(callbacks: LoopCallbacks): Loop {\n const { fixedFps = 60, onUpdate, onFixedUpdate, onRender } = callbacks\n\n const fixedDelta = 1 / fixedFps\n const maxDelta = 0.25 // Cap delta at 250ms to prevent spiral of death\n\n let running = false\n let lastTime = 0\n let accumulator = 0\n let fps = 0\n let frameCount = 0\n let fpsTime = 0\n let rafId: number | null = null\n\n function loop(currentTime: number) {\n if (!running) return\n\n // Calculate delta in seconds\n const delta = Math.min((currentTime - lastTime) / 1000, maxDelta)\n lastTime = currentTime\n\n // Variable timestep update\n if (onUpdate) {\n onUpdate(delta)\n }\n\n // Fixed timestep update\n if (onFixedUpdate) {\n accumulator += delta\n\n while (accumulator >= fixedDelta) {\n onFixedUpdate(fixedDelta)\n accumulator -= fixedDelta\n }\n }\n\n // Render with interpolation alpha\n if (onRender) {\n const alpha = accumulator / fixedDelta\n onRender(alpha)\n }\n\n // FPS calculation\n frameCount++\n if (currentTime - fpsTime >= 1000) {\n fps = frameCount\n frameCount = 0\n fpsTime = currentTime\n }\n\n rafId = requestAnimationFrame(loop)\n }\n\n return {\n start: () => {\n if (running) return\n running = true\n lastTime = performance.now()\n accumulator = 0\n rafId = requestAnimationFrame(loop)\n },\n\n stop: () => {\n running = false\n if (rafId !== null) {\n cancelAnimationFrame(rafId)\n rafId = null\n }\n },\n\n isRunning: () => running,\n\n getFps: () => fps\n }\n}\n","// Keyboard types\nexport enum Keys {\n ArrowUp = 'ArrowUp',\n ArrowDown = 'ArrowDown',\n ArrowLeft = 'ArrowLeft',\n ArrowRight = 'ArrowRight',\n KeyW = 'KeyW',\n KeyA = 'KeyA',\n KeyS = 'KeyS',\n KeyD = 'KeyD',\n Space = 'Space',\n Enter = 'Enter',\n Escape = 'Escape',\n Tab = 'Tab',\n ShiftLeft = 'ShiftLeft',\n ShiftRight = 'ShiftRight',\n ControlLeft = 'ControlLeft',\n ControlRight = 'ControlRight',\n AltLeft = 'AltLeft',\n AltRight = 'AltRight',\n Digit0 = 'Digit0',\n Digit1 = 'Digit1',\n Digit2 = 'Digit2',\n Digit3 = 'Digit3',\n Digit4 = 'Digit4',\n Digit5 = 'Digit5',\n Digit6 = 'Digit6',\n Digit7 = 'Digit7',\n Digit8 = 'Digit8',\n Digit9 = 'Digit9',\n KeyE = 'KeyE',\n KeyQ = 'KeyQ',\n KeyR = 'KeyR',\n KeyF = 'KeyF',\n}\n\nexport interface KeyboardState {\n isPressed: (key: string) => boolean\n isJustPressed: (key: string) => boolean\n isJustReleased: (key: string) => boolean\n getPressedKeys: () => string[]\n clearFrameState: () => void\n dispose: () => void\n}\n\n// Mouse types\nexport enum MouseButton {\n Left = 0,\n Middle = 1,\n Right = 2\n}\n\nexport interface MouseOptions {\n canvas?: HTMLCanvasElement | (() => HTMLCanvasElement | undefined)\n target?: EventTarget\n}\n\nexport interface MouseState {\n x: number | null\n y: number | null\n deltaX: number\n deltaY: number\n wheelDelta: number\n isPressed: (button: MouseButton) => boolean\n isLeftPressed: () => boolean\n isRightPressed: () => boolean\n isMiddlePressed: () => boolean\n clearFrameState: () => void\n dispose: () => void\n}\n\n// Loop types\nexport interface LoopCallbacks {\n fixedFps?: number\n onUpdate?: (delta: number) => void\n onFixedUpdate?: (fixedDelta: number) => void\n onRender?: (alpha: number) => void\n}\n\nexport interface Loop {\n start: () => void\n stop: () => void\n isRunning: () => boolean\n getFps: () => number\n}\n","import { use } from '../core/use'\nimport { Keys, type KeyboardState } from './types'\n\nexport { Keys, type KeyboardState }\n\nexport function useKeyboard(target: EventTarget = window): KeyboardState {\n const [pressedKeys, setPressedKeys] = use<Set<string>>(new Set<string>(), { key: ['keyboard', 'pressed'] })\n const [justPressedKeys, setJustPressedKeys] = use<Set<string>>(new Set<string>(), { key: ['keyboard', 'justPressed'] })\n const [justReleasedKeys, setJustReleasedKeys] = use<Set<string>>(new Set<string>(), { key: ['keyboard', 'justReleased'] })\n\n const handleKeyDown = (e: Event) => {\n const key = (e as KeyboardEvent).code\n const currentPressed = pressedKeys as Set<string>\n\n if (!currentPressed.has(key)) {\n const newPressed = new Set(currentPressed)\n newPressed.add(key)\n setPressedKeys(newPressed)\n\n const currentJustPressed = justPressedKeys as Set<string>\n const newJustPressed = new Set(currentJustPressed)\n newJustPressed.add(key)\n setJustPressedKeys(newJustPressed)\n }\n }\n\n const handleKeyUp = (e: Event) => {\n const key = (e as KeyboardEvent).code\n const currentPressed = pressedKeys as Set<string>\n\n const newPressed = new Set(currentPressed)\n newPressed.delete(key)\n setPressedKeys(newPressed)\n\n const currentJustReleased = justReleasedKeys as Set<string>\n const newJustReleased = new Set(currentJustReleased)\n newJustReleased.add(key)\n setJustReleasedKeys(newJustReleased)\n }\n\n target.addEventListener('keydown', handleKeyDown)\n target.addEventListener('keyup', handleKeyUp)\n\n return {\n isPressed: (key: string) => {\n const current = pressedKeys as Set<string>\n return current?.has(key) || false\n },\n\n isJustPressed: (key: string) => {\n const current = justPressedKeys as Set<string>\n return current?.has(key) || false\n },\n\n isJustReleased: (key: string) => {\n const current = justReleasedKeys as Set<string>\n return current?.has(key) || false\n },\n\n getPressedKeys: () => {\n const current = pressedKeys as Set<string>\n return Array.from(current || [])\n },\n\n clearFrameState: () => {\n setJustPressedKeys(new Set<string>())\n setJustReleasedKeys(new Set<string>())\n },\n\n dispose: () => {\n target.removeEventListener('keydown', handleKeyDown)\n target.removeEventListener('keyup', handleKeyUp)\n }\n }\n}\n","import { use } from '../core/use'\nimport { MouseButton, type MouseOptions, type MouseState } from './types'\n\nexport { MouseButton, type MouseOptions, type MouseState }\n\nexport function useMouse(options: MouseOptions = {}): MouseState {\n const target = options.target || window\n const canvasGetter = typeof options.canvas === 'function' ? options.canvas : () => options.canvas as HTMLCanvasElement | undefined\n\n const [position, setPosition] = use({ x: 0, y: 0 }, { key: ['mouse', 'position'] })\n const [delta, setDelta] = use({ x: 0, y: 0 }, { key: ['mouse', 'delta'] })\n const [wheelDelta, setWheelDelta] = use(0, { key: ['mouse', 'wheel'] })\n const [buttons, setButtons] = use<Set<number>>(new Set<number>(), { key: ['mouse', 'buttons'] })\n\n let lastX = 0\n let lastY = 0\n\n const handleMouseMove = (e: Event) => {\n const me = e as MouseEvent\n const canvas = canvasGetter()\n\n let x = me.clientX\n let y = me.clientY\n\n // If canvas is provided, calculate position relative to canvas\n if (canvas) {\n const rect = canvas.getBoundingClientRect()\n x = me.clientX - rect.left\n y = me.clientY - rect.top\n }\n\n setPosition({ x, y })\n setDelta({ x: x - lastX, y: y - lastY })\n lastX = x\n lastY = y\n }\n\n const handleMouseDown = (e: Event) => {\n const button = (e as MouseEvent).button\n const currentButtons = buttons as Set<number>\n const newButtons = new Set(currentButtons)\n newButtons.add(button)\n setButtons(newButtons)\n }\n\n const handleMouseUp = (e: Event) => {\n const button = (e as MouseEvent).button\n const currentButtons = buttons as Set<number>\n const newButtons = new Set(currentButtons)\n newButtons.delete(button)\n setButtons(newButtons)\n }\n\n const handleWheel = (e: Event) => {\n const we = e as WheelEvent\n setWheelDelta(we.deltaY)\n }\n\n target.addEventListener('mousemove', handleMouseMove)\n target.addEventListener('mousedown', handleMouseDown)\n target.addEventListener('mouseup', handleMouseUp)\n target.addEventListener('wheel', handleWheel)\n\n const currentButtons = buttons as Set<number>\n const currentPosition = position as { x: number; y: number }\n const currentDelta = delta as { x: number; y: number }\n const currentWheelDelta = wheelDelta as number\n\n return {\n get x() { return currentPosition.x },\n get y() { return currentPosition.y },\n get deltaX() { return currentDelta.x },\n get deltaY() { return currentDelta.y },\n get wheelDelta() { return currentWheelDelta },\n\n isPressed: (button: MouseButton) => currentButtons?.has(button) || false,\n\n isLeftPressed: () => currentButtons?.has(MouseButton.Left) || false,\n\n isRightPressed: () => currentButtons?.has(MouseButton.Right) || false,\n\n isMiddlePressed: () => currentButtons?.has(MouseButton.Middle) || false,\n\n clearFrameState: () => {\n setDelta({ x: 0, y: 0 })\n setWheelDelta(0)\n },\n\n dispose: () => {\n target.removeEventListener('mousemove', handleMouseMove)\n target.removeEventListener('mousedown', handleMouseDown)\n target.removeEventListener('mouseup', handleMouseUp)\n target.removeEventListener('wheel', handleWheel)\n }\n }\n}\n"]}
|
package/dist/interactive.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {c}from'./chunk-3AKECLKA.mjs';import'./chunk-NRPWBHKP.mjs';import'./chunk-MI76R42D.mjs';function F(a){let{fixedFps:n=60,onUpdate:v,onFixedUpdate:o,onRender:y}=a,p=1/n,S=.25,l=false,m=0,t=0,s=0,i=0,u=0,r=null;function d(w){if(!l)return;let D=Math.min((w-m)/1e3,S);if(m=w,v&&v(D),o)for(t+=D;t>=p;)o(p),t-=p;if(y){let h=t/p;y(h);}i++,w-u>=1e3&&(s=i,i=0,u=w),r=requestAnimationFrame(d);}return {start:()=>{l||(l=true,m=performance.now(),t=0,r=requestAnimationFrame(d));},stop:()=>{l=false,r!==null&&(cancelAnimationFrame(r),r=null);},isRunning:()=>l,getFps:()=>s}}var x=(e=>(e.ArrowUp="ArrowUp",e.ArrowDown="ArrowDown",e.ArrowLeft="ArrowLeft",e.ArrowRight="ArrowRight",e.KeyW="KeyW",e.KeyA="KeyA",e.KeyS="KeyS",e.KeyD="KeyD",e.Space="Space",e.Enter="Enter",e.Escape="Escape",e.Tab="Tab",e.ShiftLeft="ShiftLeft",e.ShiftRight="ShiftRight",e.ControlLeft="ControlLeft",e.ControlRight="ControlRight",e.AltLeft="AltLeft",e.AltRight="AltRight",e.Digit0="Digit0",e.Digit1="Digit1",e.Digit2="Digit2",e.Digit3="Digit3",e.Digit4="Digit4",e.Digit5="Digit5",e.Digit6="Digit6",e.Digit7="Digit7",e.Digit8="Digit8",e.Digit9="Digit9",e.KeyE="KeyE",e.KeyQ="KeyQ",e.KeyR="KeyR",e.KeyF="KeyF",e))(x||{}),P=(o=>(o[o.Left=0]="Left",o[o.Middle=1]="Middle",o[o.Right=2]="Right",o))(P||{});function C(a=window){let[n,v]=c(new Set,{key:["keyboard","pressed"]}),[o,y]=c(new Set,{key:["keyboard","justPressed"]}),[p,S]=c(new Set,{key:["keyboard","justReleased"]}),l=t=>{let s=t.code,i=n;if(!i.has(s)){let u=new Set(i);u.add(s),v(u);let r=o,d=new Set(r);d.add(s),y(d);}},m=t=>{let s=t.code,i=n,u=new Set(i);u.delete(s),v(u);let r=p,d=new Set(r);d.add(s),S(d);};return a.addEventListener("keydown",l),a.addEventListener("keyup",m),{isPressed:t=>n?.has(t)||false,isJustPressed:t=>o?.has(t)||false,isJustReleased:t=>p?.has(t)||false,getPressedKeys:()=>Array.from(n||[]),clearFrameState:()=>{y(new Set),S(new Set);},dispose:()=>{a.removeEventListener("keydown",l),a.removeEventListener("keyup",m);}}}function J(a={}){let n=a.target||window,v=typeof a.canvas=="function"?a.canvas:()=>a.canvas,[o,y]=c({x:0,y:0},{key:["mouse","position"]}),[p,S]=c({x:0,y:0},{key:["mouse","delta"]}),[l,m]=c(0,{key:["mouse","wheel"]}),[t,s]=c(new Set,{key:["mouse","buttons"]}),i=0,u=0,r=g=>{let f=g,L=v(),c=f.clientX,E=f.clientY;if(L){let k=L.getBoundingClientRect();c=f.clientX-k.left,E=f.clientY-k.top;}y({x:c,y:E}),S({x:c-i,y:E-u}),i=c,u=E;},d=g=>{let f=g.button,L=t,c=new Set(L);c.add(f),s(c);},w=g=>{let f=g.button,L=t,c=new Set(L);c.delete(f),s(c);},D=g=>{m(g.deltaY);};n.addEventListener("mousemove",r),n.addEventListener("mousedown",d),n.addEventListener("mouseup",w),n.addEventListener("wheel",D);let h=t,R=o,M=p,A=l;return {get x(){return R.x},get y(){return R.y},get deltaX(){return M.x},get deltaY(){return M.y},get wheelDelta(){return A},isPressed:g=>h?.has(g)||false,isLeftPressed:()=>h?.has(0)||false,isRightPressed:()=>h?.has(2)||false,isMiddlePressed:()=>h?.has(1)||false,clearFrameState:()=>{S({x:0,y:0}),m(0);},dispose:()=>{n.removeEventListener("mousemove",r),n.removeEventListener("mousedown",d),n.removeEventListener("mouseup",w),n.removeEventListener("wheel",D);}}}export{x as Keys,P as MouseButton,C as useKeyboard,F as useLoop,J as useMouse};//# sourceMappingURL=interactive.mjs.map
|
|
2
|
-
//# sourceMappingURL=interactive.mjs.map
|
package/dist/interactive.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interactive/loop.ts","../src/interactive/types.ts","../src/interactive/keyboard.ts","../src/interactive/mouse.ts"],"names":["useLoop","callbacks","fixedFps","onUpdate","onFixedUpdate","onRender","fixedDelta","maxDelta","running","lastTime","accumulator","fps","frameCount","fpsTime","rafId","loop","currentTime","delta","alpha","Keys","MouseButton","useKeyboard","target","pressedKeys","setPressedKeys","use","justPressedKeys","setJustPressedKeys","justReleasedKeys","setJustReleasedKeys","handleKeyDown","e","key","currentPressed","newPressed","currentJustPressed","newJustPressed","handleKeyUp","currentJustReleased","newJustReleased","useMouse","options","canvasGetter","position","setPosition","setDelta","wheelDelta","setWheelDelta","buttons","setButtons","lastX","lastY","handleMouseMove","me","canvas","x","y","rect","handleMouseDown","button","currentButtons","newButtons","handleMouseUp","handleWheel","currentPosition","currentDelta","currentWheelDelta"],"mappings":"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","file":"interactive.mjs","sourcesContent":["import type { LoopCallbacks, Loop } from './types'\n\nexport type { LoopCallbacks, Loop }\n\nexport function useLoop(callbacks: LoopCallbacks): Loop {\n const { fixedFps = 60, onUpdate, onFixedUpdate, onRender } = callbacks\n\n const fixedDelta = 1 / fixedFps\n const maxDelta = 0.25 // Cap delta at 250ms to prevent spiral of death\n\n let running = false\n let lastTime = 0\n let accumulator = 0\n let fps = 0\n let frameCount = 0\n let fpsTime = 0\n let rafId: number | null = null\n\n function loop(currentTime: number) {\n if (!running) return\n\n // Calculate delta in seconds\n const delta = Math.min((currentTime - lastTime) / 1000, maxDelta)\n lastTime = currentTime\n\n // Variable timestep update\n if (onUpdate) {\n onUpdate(delta)\n }\n\n // Fixed timestep update\n if (onFixedUpdate) {\n accumulator += delta\n\n while (accumulator >= fixedDelta) {\n onFixedUpdate(fixedDelta)\n accumulator -= fixedDelta\n }\n }\n\n // Render with interpolation alpha\n if (onRender) {\n const alpha = accumulator / fixedDelta\n onRender(alpha)\n }\n\n // FPS calculation\n frameCount++\n if (currentTime - fpsTime >= 1000) {\n fps = frameCount\n frameCount = 0\n fpsTime = currentTime\n }\n\n rafId = requestAnimationFrame(loop)\n }\n\n return {\n start: () => {\n if (running) return\n running = true\n lastTime = performance.now()\n accumulator = 0\n rafId = requestAnimationFrame(loop)\n },\n\n stop: () => {\n running = false\n if (rafId !== null) {\n cancelAnimationFrame(rafId)\n rafId = null\n }\n },\n\n isRunning: () => running,\n\n getFps: () => fps\n }\n}\n","// Keyboard types\nexport enum Keys {\n ArrowUp = 'ArrowUp',\n ArrowDown = 'ArrowDown',\n ArrowLeft = 'ArrowLeft',\n ArrowRight = 'ArrowRight',\n KeyW = 'KeyW',\n KeyA = 'KeyA',\n KeyS = 'KeyS',\n KeyD = 'KeyD',\n Space = 'Space',\n Enter = 'Enter',\n Escape = 'Escape',\n Tab = 'Tab',\n ShiftLeft = 'ShiftLeft',\n ShiftRight = 'ShiftRight',\n ControlLeft = 'ControlLeft',\n ControlRight = 'ControlRight',\n AltLeft = 'AltLeft',\n AltRight = 'AltRight',\n Digit0 = 'Digit0',\n Digit1 = 'Digit1',\n Digit2 = 'Digit2',\n Digit3 = 'Digit3',\n Digit4 = 'Digit4',\n Digit5 = 'Digit5',\n Digit6 = 'Digit6',\n Digit7 = 'Digit7',\n Digit8 = 'Digit8',\n Digit9 = 'Digit9',\n KeyE = 'KeyE',\n KeyQ = 'KeyQ',\n KeyR = 'KeyR',\n KeyF = 'KeyF',\n}\n\nexport interface KeyboardState {\n isPressed: (key: string) => boolean\n isJustPressed: (key: string) => boolean\n isJustReleased: (key: string) => boolean\n getPressedKeys: () => string[]\n clearFrameState: () => void\n dispose: () => void\n}\n\n// Mouse types\nexport enum MouseButton {\n Left = 0,\n Middle = 1,\n Right = 2\n}\n\nexport interface MouseOptions {\n canvas?: HTMLCanvasElement | (() => HTMLCanvasElement | undefined)\n target?: EventTarget\n}\n\nexport interface MouseState {\n x: number | null\n y: number | null\n deltaX: number\n deltaY: number\n wheelDelta: number\n isPressed: (button: MouseButton) => boolean\n isLeftPressed: () => boolean\n isRightPressed: () => boolean\n isMiddlePressed: () => boolean\n clearFrameState: () => void\n dispose: () => void\n}\n\n// Loop types\nexport interface LoopCallbacks {\n fixedFps?: number\n onUpdate?: (delta: number) => void\n onFixedUpdate?: (fixedDelta: number) => void\n onRender?: (alpha: number) => void\n}\n\nexport interface Loop {\n start: () => void\n stop: () => void\n isRunning: () => boolean\n getFps: () => number\n}\n","import { use } from '../core/use'\nimport { Keys, type KeyboardState } from './types'\n\nexport { Keys, type KeyboardState }\n\nexport function useKeyboard(target: EventTarget = window): KeyboardState {\n const [pressedKeys, setPressedKeys] = use<Set<string>>(new Set<string>(), { key: ['keyboard', 'pressed'] })\n const [justPressedKeys, setJustPressedKeys] = use<Set<string>>(new Set<string>(), { key: ['keyboard', 'justPressed'] })\n const [justReleasedKeys, setJustReleasedKeys] = use<Set<string>>(new Set<string>(), { key: ['keyboard', 'justReleased'] })\n\n const handleKeyDown = (e: Event) => {\n const key = (e as KeyboardEvent).code\n const currentPressed = pressedKeys as Set<string>\n\n if (!currentPressed.has(key)) {\n const newPressed = new Set(currentPressed)\n newPressed.add(key)\n setPressedKeys(newPressed)\n\n const currentJustPressed = justPressedKeys as Set<string>\n const newJustPressed = new Set(currentJustPressed)\n newJustPressed.add(key)\n setJustPressedKeys(newJustPressed)\n }\n }\n\n const handleKeyUp = (e: Event) => {\n const key = (e as KeyboardEvent).code\n const currentPressed = pressedKeys as Set<string>\n\n const newPressed = new Set(currentPressed)\n newPressed.delete(key)\n setPressedKeys(newPressed)\n\n const currentJustReleased = justReleasedKeys as Set<string>\n const newJustReleased = new Set(currentJustReleased)\n newJustReleased.add(key)\n setJustReleasedKeys(newJustReleased)\n }\n\n target.addEventListener('keydown', handleKeyDown)\n target.addEventListener('keyup', handleKeyUp)\n\n return {\n isPressed: (key: string) => {\n const current = pressedKeys as Set<string>\n return current?.has(key) || false\n },\n\n isJustPressed: (key: string) => {\n const current = justPressedKeys as Set<string>\n return current?.has(key) || false\n },\n\n isJustReleased: (key: string) => {\n const current = justReleasedKeys as Set<string>\n return current?.has(key) || false\n },\n\n getPressedKeys: () => {\n const current = pressedKeys as Set<string>\n return Array.from(current || [])\n },\n\n clearFrameState: () => {\n setJustPressedKeys(new Set<string>())\n setJustReleasedKeys(new Set<string>())\n },\n\n dispose: () => {\n target.removeEventListener('keydown', handleKeyDown)\n target.removeEventListener('keyup', handleKeyUp)\n }\n }\n}\n","import { use } from '../core/use'\nimport { MouseButton, type MouseOptions, type MouseState } from './types'\n\nexport { MouseButton, type MouseOptions, type MouseState }\n\nexport function useMouse(options: MouseOptions = {}): MouseState {\n const target = options.target || window\n const canvasGetter = typeof options.canvas === 'function' ? options.canvas : () => options.canvas as HTMLCanvasElement | undefined\n\n const [position, setPosition] = use({ x: 0, y: 0 }, { key: ['mouse', 'position'] })\n const [delta, setDelta] = use({ x: 0, y: 0 }, { key: ['mouse', 'delta'] })\n const [wheelDelta, setWheelDelta] = use(0, { key: ['mouse', 'wheel'] })\n const [buttons, setButtons] = use<Set<number>>(new Set<number>(), { key: ['mouse', 'buttons'] })\n\n let lastX = 0\n let lastY = 0\n\n const handleMouseMove = (e: Event) => {\n const me = e as MouseEvent\n const canvas = canvasGetter()\n\n let x = me.clientX\n let y = me.clientY\n\n // If canvas is provided, calculate position relative to canvas\n if (canvas) {\n const rect = canvas.getBoundingClientRect()\n x = me.clientX - rect.left\n y = me.clientY - rect.top\n }\n\n setPosition({ x, y })\n setDelta({ x: x - lastX, y: y - lastY })\n lastX = x\n lastY = y\n }\n\n const handleMouseDown = (e: Event) => {\n const button = (e as MouseEvent).button\n const currentButtons = buttons as Set<number>\n const newButtons = new Set(currentButtons)\n newButtons.add(button)\n setButtons(newButtons)\n }\n\n const handleMouseUp = (e: Event) => {\n const button = (e as MouseEvent).button\n const currentButtons = buttons as Set<number>\n const newButtons = new Set(currentButtons)\n newButtons.delete(button)\n setButtons(newButtons)\n }\n\n const handleWheel = (e: Event) => {\n const we = e as WheelEvent\n setWheelDelta(we.deltaY)\n }\n\n target.addEventListener('mousemove', handleMouseMove)\n target.addEventListener('mousedown', handleMouseDown)\n target.addEventListener('mouseup', handleMouseUp)\n target.addEventListener('wheel', handleWheel)\n\n const currentButtons = buttons as Set<number>\n const currentPosition = position as { x: number; y: number }\n const currentDelta = delta as { x: number; y: number }\n const currentWheelDelta = wheelDelta as number\n\n return {\n get x() { return currentPosition.x },\n get y() { return currentPosition.y },\n get deltaX() { return currentDelta.x },\n get deltaY() { return currentDelta.y },\n get wheelDelta() { return currentWheelDelta },\n\n isPressed: (button: MouseButton) => currentButtons?.has(button) || false,\n\n isLeftPressed: () => currentButtons?.has(MouseButton.Left) || false,\n\n isRightPressed: () => currentButtons?.has(MouseButton.Right) || false,\n\n isMiddlePressed: () => currentButtons?.has(MouseButton.Middle) || false,\n\n clearFrameState: () => {\n setDelta({ x: 0, y: 0 })\n setWheelDelta(0)\n },\n\n dispose: () => {\n target.removeEventListener('mousemove', handleMouseMove)\n target.removeEventListener('mousedown', handleMouseDown)\n target.removeEventListener('mouseup', handleMouseUp)\n target.removeEventListener('wheel', handleWheel)\n }\n }\n}\n"]}
|