ilha 0.14.10 → 0.15.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/define.d.ts +1 -1
- package/dist/define.js +1 -1
- package/dist/index.d.ts +9 -17
- package/dist/index.js +3 -2
- package/dist/jsx-dev-runtime.d.ts +2 -2
- package/dist/jsx-dev-runtime.js +1 -1
- package/dist/jsx-runtime.d.ts +2 -2
- package/dist/jsx-runtime.js +1 -1
- package/dist/mount-qJHX_CfF.js +482 -0
- package/dist/{mount-BzNrfVW4.js → paint-core-Cw1HbMp6.js} +138 -572
- package/dist/renderer.d.ts +119 -0
- package/dist/renderer.js +75 -0
- package/dist/runtime-B-sEGtAa.d.ts +95 -0
- package/dist/{types-CJF2qMK6.d.ts → types-DsdtZMhG.d.ts} +29 -2
- package/dist/{vnode-M-oJMKcv.js → vnode-BHUY61Rm.js} +11 -2
- package/dist/{vnode-CUTNGblA.d.ts → vnode-CpSQZnLM.d.ts} +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { b as View, i as Component, m as PropValue, p as PropBag, u as IlhaRuntime } from "./types-DsdtZMhG.js";
|
|
2
|
+
import { n as getFiber, t as FiberLocal } from "./runtime-B-sEGtAa.js";
|
|
3
|
+
//#region src/shared.d.ts
|
|
4
|
+
declare const KEEP: unique symbol;
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region src/paint-core.d.ts
|
|
7
|
+
/** Structural element API shared by DOM `Element` and the SSR `SsrEl` shim. */
|
|
8
|
+
interface PaintEl<Node> {
|
|
9
|
+
readonly tagName: string;
|
|
10
|
+
dataset: DOMStringMap;
|
|
11
|
+
setAttribute: (name: string, value: string) => void;
|
|
12
|
+
removeAttribute: (name: string) => void;
|
|
13
|
+
appendChild: (node: Node) => void;
|
|
14
|
+
append: (...nodes: Node[]) => void;
|
|
15
|
+
}
|
|
16
|
+
type FormControlKey = "value" | "checked" | "selected";
|
|
17
|
+
interface PaintOps<Node, El extends PaintEl<Node>> {
|
|
18
|
+
createElement: (tag: string, ns?: string) => El;
|
|
19
|
+
createText: (text: string) => Node;
|
|
20
|
+
/**
|
|
21
|
+
* Parse pre-rendered HTML into nodes under `parent` (DOM:
|
|
22
|
+
* context-aware fragment parse; SSR: raw node, parent unused).
|
|
23
|
+
*/
|
|
24
|
+
createRaw: (html: string, parent: ParentNode) => Node[];
|
|
25
|
+
/** Display-contents span marking a dynamic hole; `null` omits the slot attr. */
|
|
26
|
+
createSlotHost: (slotId: string | null) => El;
|
|
27
|
+
/** Fiber root for a host element (SSR: cast SsrEl up to ParentNode). */
|
|
28
|
+
asRoot: (el: El) => ParentNode;
|
|
29
|
+
/** Insertable node for a reused fiber/island host. */
|
|
30
|
+
asNode: (host: ParentNode) => Node;
|
|
31
|
+
/**
|
|
32
|
+
* Node a render returns for a reused live host (DOM: a stand-in the morph
|
|
33
|
+
* swaps for the host in place, so the host is never detached).
|
|
34
|
+
*/
|
|
35
|
+
reuseNode: (host: ParentNode) => Node;
|
|
36
|
+
/** Make `root`'s children exactly `nodes`, moving as little as possible. */
|
|
37
|
+
placeChildren: (root: ParentNode, nodes: Node[]) => void;
|
|
38
|
+
/** Append one node to `root`. Only `Painter.insert` calls it. */
|
|
39
|
+
appendRoot: (root: ParentNode, node: Node) => void;
|
|
40
|
+
/** Element view of a host (SSR: SsrEl masquerades as Element). */
|
|
41
|
+
asElement: (el: El) => Element;
|
|
42
|
+
/**
|
|
43
|
+
* The element a rendered element ended up as (DOM: the live node the morph
|
|
44
|
+
* kept in its place; SSR: itself).
|
|
45
|
+
*/
|
|
46
|
+
committed: (el: El) => El;
|
|
47
|
+
/** Mark a host disconnected (SSR: flag flip; DOM: noop, the DOM tracks it). */
|
|
48
|
+
disconnect: (el: El) => void;
|
|
49
|
+
/**
|
|
50
|
+
* Take a prop as the component wrote it, before it is stringified. Return
|
|
51
|
+
* `true` to claim it; anything else falls through to the attribute, style
|
|
52
|
+
* and form-control handling below. A host that is not a DOM uses it to keep
|
|
53
|
+
* object values. Event props, `children`, `key` and `ref` never reach it.
|
|
54
|
+
*/
|
|
55
|
+
setProp?: (el: El, key: string, value: PropValue) => boolean;
|
|
56
|
+
setStyle: (el: El, css: string) => void;
|
|
57
|
+
setFormControl: (el: El, key: FormControlKey, v: PropValue) => void;
|
|
58
|
+
bindEvents: (el: El, props: PropBag, fiber: FiberLocal) => void;
|
|
59
|
+
}
|
|
60
|
+
/** Painter surface returned by `createPainter`, shared by every host. */
|
|
61
|
+
interface Painter<Node, El> {
|
|
62
|
+
applyProps: (el: El, props: PropBag, fiber: FiberLocal) => void;
|
|
63
|
+
/** Runs `fn` and flushes queued refs once the outermost paint commits. */
|
|
64
|
+
commit: (fn: () => void) => void;
|
|
65
|
+
/**
|
|
66
|
+
* Runs `fn` as one paint of `fiber`: the keyed components it materializes
|
|
67
|
+
* stay alive, and the ones it no longer reaches are closed afterwards.
|
|
68
|
+
*/
|
|
69
|
+
pass: (fiber: FiberLocal, fn: () => void) => void;
|
|
70
|
+
disposeHoles: (fiber: FiberLocal, opts?: {
|
|
71
|
+
morph?: boolean;
|
|
72
|
+
}) => void;
|
|
73
|
+
insert: (fiber: FiberLocal, nodes: Node[]) => void;
|
|
74
|
+
materialize: (view: View, fiber: FiberLocal) => Node[];
|
|
75
|
+
paintHole: (fiber: FiberLocal, view: View | typeof KEEP) => void;
|
|
76
|
+
}
|
|
77
|
+
//#endregion
|
|
78
|
+
//#region src/events.d.ts
|
|
79
|
+
export declare const bindEvents: (node: Element, props: PropBag, fiber: FiberLocal) => void;
|
|
80
|
+
//#endregion
|
|
81
|
+
//#region src/renderer.d.ts
|
|
82
|
+
export interface RendererMountOptions {
|
|
83
|
+
/**
|
|
84
|
+
* Called with a failing root component, and with a nested component no
|
|
85
|
+
* `ErrorBoundary` caught, before the error view paints.
|
|
86
|
+
*/
|
|
87
|
+
onError?: (error: Error) => void;
|
|
88
|
+
/**
|
|
89
|
+
* Called with the mount's runtime before the root component runs. Every
|
|
90
|
+
* fiber of the mount carries it, so a host can key its own per-mount state
|
|
91
|
+
* on it and read that state from inside a component through `getFiber()`.
|
|
92
|
+
*/
|
|
93
|
+
onRuntime?: (runtime: IlhaRuntime) => void;
|
|
94
|
+
}
|
|
95
|
+
export interface RendererHandle {
|
|
96
|
+
/** Stop the tree: closes every fiber, releases the registry, clears the root. */
|
|
97
|
+
unmount: () => void;
|
|
98
|
+
/** Resolves once in-flight work (async components, streams) goes idle. */
|
|
99
|
+
ready: Promise<null>;
|
|
100
|
+
runtime: IlhaRuntime;
|
|
101
|
+
}
|
|
102
|
+
export interface HostRenderer<Node, El extends PaintEl<Node> & Node> {
|
|
103
|
+
/** The shared painter, for advanced callers that paint holes themselves. */
|
|
104
|
+
readonly painter: Painter<Node, El>;
|
|
105
|
+
mount: (root: ParentNode, fn: Component, options?: RendererMountOptions) => RendererHandle;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Build a renderer for a host described by `ops`.
|
|
109
|
+
*
|
|
110
|
+
* Unlike the DOM painter this materializes fresh host nodes on every paint and
|
|
111
|
+
* attempts no morph: the host receives the new child list through
|
|
112
|
+
* `ops.placeChildren` and decides what to keep. Holes that must survive a
|
|
113
|
+
* repaint (atoms, islands, keyed rows, positional components) stay alive across
|
|
114
|
+
* paints and hand their host node back through `ops.reuseNode`, so their state
|
|
115
|
+
* is never remounted.
|
|
116
|
+
*/
|
|
117
|
+
export declare const createRenderer: <Node, El extends PaintEl<Node> & Node>(ops: PaintOps<Node, El>) => HostRenderer<Node, El>;
|
|
118
|
+
//#endregion
|
|
119
|
+
export { type Component, type FiberLocal, type FormControlKey, type IlhaRuntime, type PaintEl, type PaintOps, type Painter, type PropBag, type PropValue, type View, getFiber };
|
package/dist/renderer.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { d as defer } from "./vnode-BHUY61Rm.js";
|
|
2
|
+
import { S as getFiber, T as makeRuntime, c as bindEvents, t as createPainter, u as runSetup, w as makeRootFiber, x as closeFiber } from "./paint-core-Cw1HbMp6.js";
|
|
3
|
+
|
|
4
|
+
//#region src/renderer.ts
|
|
5
|
+
/**
|
|
6
|
+
* Host renderer seam.
|
|
7
|
+
*
|
|
8
|
+
* `mount()` and `renderToString()` ship the two painters ilha uses on the web:
|
|
9
|
+
* the DOM painter and the SSR string painter. This entry exposes the same
|
|
10
|
+
* machinery for a third host — a native toolkit, a test harness, or any tree
|
|
11
|
+
* that is not a DOM — by letting the caller supply `PaintOps`.
|
|
12
|
+
*
|
|
13
|
+
* The painter is host-agnostic: props, holes, keyed reconciliation, refs,
|
|
14
|
+
* events, atoms and generators all run through `PaintOps`. The only host
|
|
15
|
+
* differences are element creation, text creation, placement and teardown.
|
|
16
|
+
*
|
|
17
|
+
* A host mounted through `createRenderer` is placed with `placeChildren` only:
|
|
18
|
+
* every paint hands over the complete child list of the root it painted.
|
|
19
|
+
* `appendRoot` is never called on this path.
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Build a renderer for a host described by `ops`.
|
|
23
|
+
*
|
|
24
|
+
* Unlike the DOM painter this materializes fresh host nodes on every paint and
|
|
25
|
+
* attempts no morph: the host receives the new child list through
|
|
26
|
+
* `ops.placeChildren` and decides what to keep. Holes that must survive a
|
|
27
|
+
* repaint (atoms, islands, keyed rows, positional components) stay alive across
|
|
28
|
+
* paints and hand their host node back through `ops.reuseNode`, so their state
|
|
29
|
+
* is never remounted.
|
|
30
|
+
*/
|
|
31
|
+
const createRenderer = (ops) => {
|
|
32
|
+
const painter = createPainter(ops);
|
|
33
|
+
const paint = (fiber, view) => {
|
|
34
|
+
painter.commit(() => {
|
|
35
|
+
painter.pass(fiber, () => {
|
|
36
|
+
fiber.islandFrame ??= {
|
|
37
|
+
i: 0,
|
|
38
|
+
slots: []
|
|
39
|
+
};
|
|
40
|
+
painter.disposeHoles(fiber, { morph: true });
|
|
41
|
+
ops.placeChildren(fiber.root, painter.materialize(view, fiber));
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
return {
|
|
46
|
+
mount(root, fn, options = {}) {
|
|
47
|
+
const runtime = makeRuntime({ onError: options.onError });
|
|
48
|
+
options.onRuntime?.(runtime);
|
|
49
|
+
const { promise: ready, resolve } = defer();
|
|
50
|
+
const fiber = makeRootFiber({
|
|
51
|
+
paint,
|
|
52
|
+
root,
|
|
53
|
+
runtime,
|
|
54
|
+
settle: resolve
|
|
55
|
+
});
|
|
56
|
+
runtime.begin();
|
|
57
|
+
runtime.setIdle(resolve);
|
|
58
|
+
runSetup(fiber, fn);
|
|
59
|
+
runtime.end();
|
|
60
|
+
return {
|
|
61
|
+
ready,
|
|
62
|
+
runtime,
|
|
63
|
+
unmount: () => {
|
|
64
|
+
closeFiber(fiber);
|
|
65
|
+
runtime.close();
|
|
66
|
+
ops.placeChildren(root, []);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
},
|
|
70
|
+
painter
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
//#endregion
|
|
75
|
+
export { bindEvents, createRenderer, getFiber };
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { C as WatchOnceCleanup, S as WatchContext, a as ComponentFn, b as View, d as Instruction, l as Fragment, n as AtomHandle, p as PropBag, u as IlhaRuntime, x as WatchCallback } from "./types-DsdtZMhG.js";
|
|
2
|
+
import * as Atom from "effect/reactivity/Atom";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as Stream from "effect/Stream";
|
|
5
|
+
import { AtomRegistry } from "effect/reactivity/AtomRegistry";
|
|
6
|
+
import * as Scope from "effect/Scope";
|
|
7
|
+
//#region src/watch.d.ts
|
|
8
|
+
/** Values delivered to watch callbacks. */
|
|
9
|
+
type WatchValue = string | number | boolean | bigint | null | undefined | readonly WatchValue[] | WatchRecord;
|
|
10
|
+
interface WatchRecord {
|
|
11
|
+
readonly [key: string]: WatchValue | undefined;
|
|
12
|
+
}
|
|
13
|
+
declare const WATCH_ONCE: unique symbol;
|
|
14
|
+
/** Discriminator for watch slot identity (atom/stream instance). */
|
|
15
|
+
type WatchKey = Atom.Atom<WatchValue> | Stream.Stream<WatchValue, unknown, unknown> | AtomHandle<WatchValue> | typeof WATCH_ONCE;
|
|
16
|
+
interface WatchSlot {
|
|
17
|
+
key: WatchKey;
|
|
18
|
+
fnRef?: {
|
|
19
|
+
current: (value: WatchValue) => void;
|
|
20
|
+
};
|
|
21
|
+
dispose: () => void;
|
|
22
|
+
}
|
|
23
|
+
interface WatchFn {
|
|
24
|
+
<A extends WatchValue>(source: AtomHandle<A> | Atom.Atom<A> | Stream.Stream<A, unknown, unknown>, fn: WatchCallback<A>): Instruction<undefined>;
|
|
25
|
+
once: (fn: (ctx: WatchContext) => WatchOnceCleanup | undefined | Promise<WatchOnceCleanup | undefined>) => Instruction<undefined>;
|
|
26
|
+
}
|
|
27
|
+
declare const watch: WatchFn;
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/runtime.d.ts
|
|
30
|
+
interface Hole {
|
|
31
|
+
dispose: () => void;
|
|
32
|
+
keepOnMorph?: boolean;
|
|
33
|
+
atom?: Atom.Atom<unknown>;
|
|
34
|
+
host?: Element;
|
|
35
|
+
holeFiber?: FiberLocal;
|
|
36
|
+
islandSlot?: IslandSlot;
|
|
37
|
+
}
|
|
38
|
+
interface IslandSlot {
|
|
39
|
+
type: string | Fragment | ComponentFn;
|
|
40
|
+
host: Element;
|
|
41
|
+
updateProps?: (props?: PropBag) => void;
|
|
42
|
+
unmount?: () => void;
|
|
43
|
+
}
|
|
44
|
+
interface IslandFrame {
|
|
45
|
+
i: number;
|
|
46
|
+
slots: (IslandSlot | undefined)[];
|
|
47
|
+
}
|
|
48
|
+
interface ComponentSlot {
|
|
49
|
+
type: unknown;
|
|
50
|
+
hole: FiberLocal;
|
|
51
|
+
}
|
|
52
|
+
interface ComponentFrame {
|
|
53
|
+
i: number;
|
|
54
|
+
slots: ComponentSlot[];
|
|
55
|
+
}
|
|
56
|
+
interface FiberLocal {
|
|
57
|
+
root: ParentNode;
|
|
58
|
+
registry: AtomRegistry;
|
|
59
|
+
scope: Scope.Closeable;
|
|
60
|
+
runtime: IlhaRuntime;
|
|
61
|
+
holes: Hole[];
|
|
62
|
+
inFlight: boolean;
|
|
63
|
+
closed: boolean;
|
|
64
|
+
hydrate?: boolean;
|
|
65
|
+
keyedHoles?: Map<string, FiberLocal>;
|
|
66
|
+
/** Counts this fiber's paints; a keyed hole records the last one it was in. */
|
|
67
|
+
keyedGen?: number;
|
|
68
|
+
/** On a keyed hole: the parent's `keyedGen` of the last paint that reached it. */
|
|
69
|
+
keyedSeen?: number;
|
|
70
|
+
liveEl?: Element;
|
|
71
|
+
primitiveI?: number;
|
|
72
|
+
primitives?: Atom.Atom<unknown>[];
|
|
73
|
+
/** Releases for the state atoms this fiber keeps in the registry. */
|
|
74
|
+
primitiveHolds?: (() => void)[];
|
|
75
|
+
watchI?: number;
|
|
76
|
+
watchSlots?: WatchSlot[];
|
|
77
|
+
islandFrame?: IslandFrame;
|
|
78
|
+
componentFrame?: ComponentFrame;
|
|
79
|
+
componentType?: unknown;
|
|
80
|
+
renderSub?: () => void;
|
|
81
|
+
trackRestore?: () => void;
|
|
82
|
+
propsBox?: {
|
|
83
|
+
current: PropBag;
|
|
84
|
+
};
|
|
85
|
+
parent?: FiberLocal;
|
|
86
|
+
contexts?: Map<symbol, Atom.Atom<unknown>>;
|
|
87
|
+
handleError?: (error: Error) => void;
|
|
88
|
+
paintFn: (fiber: FiberLocal, view: View) => void;
|
|
89
|
+
paint: (view: View) => void;
|
|
90
|
+
run: <A, E>(effect: Effect.Effect<A, E, AtomRegistry>, onOk?: (a: A) => void, onErr?: (e: E) => void) => void;
|
|
91
|
+
fail: <E>(e: E) => void;
|
|
92
|
+
}
|
|
93
|
+
declare const getFiber: () => FiberLocal;
|
|
94
|
+
//#endregion
|
|
95
|
+
export { getFiber as n, watch as r, FiberLocal as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect, Stream } from "effect";
|
|
2
2
|
import { AtomRegistry } from "effect/reactivity/AtomRegistry";
|
|
3
|
-
import "effect/Scope";
|
|
3
|
+
import { Closeable } from "effect/Scope";
|
|
4
4
|
import { Atom } from "effect/reactivity";
|
|
5
5
|
//#region src/types.d.ts
|
|
6
6
|
type JsonText = string | number | bigint | boolean | null | undefined;
|
|
@@ -12,6 +12,11 @@ type EventHandler = (event: Event) => void;
|
|
|
12
12
|
interface PropBag {
|
|
13
13
|
readonly [key: string]: PropValue | undefined;
|
|
14
14
|
}
|
|
15
|
+
type ActionArg = JsonText | PropBag | readonly ActionArg[];
|
|
16
|
+
interface SsrAction {
|
|
17
|
+
readonly k: string;
|
|
18
|
+
readonly a: readonly ActionArg[];
|
|
19
|
+
}
|
|
15
20
|
type View = VNode | UnsafeHtml | JsonText | AtomHandle<unknown> | Stream.Stream<View, unknown, unknown> | GeneratorFn | Component | View[] | Iterable<View>;
|
|
16
21
|
declare const Fragment: unique symbol;
|
|
17
22
|
type Fragment = typeof Fragment;
|
|
@@ -37,6 +42,28 @@ interface Instruction<A, E = Error> extends Iterable<Instruction<A, E>, A>, Prom
|
|
|
37
42
|
readonly effect: Effect.Effect<A, E, AtomRegistry>;
|
|
38
43
|
}
|
|
39
44
|
type Component = (() => View | undefined | Promise<View | undefined>) | GeneratorFn;
|
|
45
|
+
interface IlhaRuntime {
|
|
46
|
+
readonly registry: AtomRegistry;
|
|
47
|
+
readonly scope: Closeable;
|
|
48
|
+
readonly ssr: boolean;
|
|
49
|
+
readonly ssrValues: unknown[];
|
|
50
|
+
ssrActions: Record<string, SsrAction>;
|
|
51
|
+
ssrEventI: number;
|
|
52
|
+
ssrCapture: boolean;
|
|
53
|
+
hydrateValues?: unknown[];
|
|
54
|
+
hydrateI: number;
|
|
55
|
+
nextHole: () => number;
|
|
56
|
+
begin: () => void;
|
|
57
|
+
end: () => void;
|
|
58
|
+
later: (fn: () => void) => void;
|
|
59
|
+
setIdle: (cb: () => void) => void;
|
|
60
|
+
close: () => void;
|
|
61
|
+
/**
|
|
62
|
+
* The mount's failure hook. Called for a failing root component and for a
|
|
63
|
+
* nested component no `ErrorBoundary` caught, before the error view paints.
|
|
64
|
+
*/
|
|
65
|
+
onError?: (error: Error) => void;
|
|
66
|
+
}
|
|
40
67
|
interface AtomHandle<A> {
|
|
41
68
|
readonly $$atom: 1;
|
|
42
69
|
readonly atom: Atom.Atom<A>;
|
|
@@ -97,4 +124,4 @@ interface EventSourceFeed<T = string> {
|
|
|
97
124
|
readonly latest: AtomHandle<T | undefined>;
|
|
98
125
|
}
|
|
99
126
|
//#endregion
|
|
100
|
-
export {
|
|
127
|
+
export { WatchOnceCleanup as C, WatchContext as S, ResourceOptions as _, ComponentFn as a, View as b, EventSourceStatus as c, Instruction as d, JsxComponent as f, ResourceFetcher as g, Resource as h, Component as i, Fragment as l, PropValue as m, AtomHandle as n, EventSourceFeed as o, PropBag as p, AtomOptions as r, EventSourceOptions as s, AtomEquality as t, IlhaRuntime as u, UnsafeHtml as v, Yielded as w, WatchCallback as x, VNode as y };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as AsyncResult from "effect/reactivity/AsyncResult";
|
|
2
1
|
import * as Option from "effect/Option";
|
|
3
2
|
import * as Result from "effect/Result";
|
|
3
|
+
import * as AsyncResult from "effect/reactivity/AsyncResult";
|
|
4
4
|
|
|
5
5
|
//#region src/errors.ts
|
|
6
6
|
const asFailure = (e) => {
|
|
@@ -46,6 +46,15 @@ const unwrap = (value, keep) => {
|
|
|
46
46
|
}
|
|
47
47
|
return value;
|
|
48
48
|
};
|
|
49
|
+
const defer = () => {
|
|
50
|
+
const { promise, resolve } = Promise.withResolvers();
|
|
51
|
+
return {
|
|
52
|
+
promise,
|
|
53
|
+
resolve: () => {
|
|
54
|
+
resolve(null);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
};
|
|
49
58
|
const errorView = (e) => ({
|
|
50
59
|
$$ilha: 1,
|
|
51
60
|
children: [failureMessage(e)],
|
|
@@ -88,4 +97,4 @@ const isSetupFn = (x) => {
|
|
|
88
97
|
};
|
|
89
98
|
|
|
90
99
|
//#endregion
|
|
91
|
-
export {
|
|
100
|
+
export { toError as S, isString as _, ISLAND as a, asFailure as b, KEEP as c, defer as d, errorView as f, isObject as g, isNumber as h, Fragment as i, KEY_ATTR as l, isFunction as m, isSetupFn as n, ISLAND_MOUNT_INTERNAL as o, isBigInt as p, isVNode as r, ISLAND_SLOT_TAG as s, h as t, SLOT_ATTR as u, skip as v, failureMessage as x, unwrap as y };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as ComponentFn, b as View, f as JsxComponent, l as Fragment, n as AtomHandle, p as PropBag, y as VNode } from "./types-DsdtZMhG.js";
|
|
2
2
|
//#region src/jsx-types.d.ts
|
|
3
3
|
declare namespace JSX {
|
|
4
4
|
export type Element = View;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ilha",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Generator-first island UI on Effect",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"effect",
|
|
@@ -52,6 +52,10 @@
|
|
|
52
52
|
"./define": {
|
|
53
53
|
"types": "./dist/define.d.ts",
|
|
54
54
|
"import": "./dist/define.js"
|
|
55
|
+
},
|
|
56
|
+
"./renderer": {
|
|
57
|
+
"types": "./dist/renderer.d.ts",
|
|
58
|
+
"import": "./dist/renderer.js"
|
|
55
59
|
}
|
|
56
60
|
},
|
|
57
61
|
"publishConfig": {
|