kiru 1.1.2 → 1.2.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/components/derive.d.ts +4 -0
- package/dist/components/derive.d.ts.map +1 -1
- package/dist/components/derive.js +8 -4
- package/dist/components/derive.js.map +1 -1
- package/dist/components/errorBoundary.d.ts +4 -0
- package/dist/components/errorBoundary.d.ts.map +1 -1
- package/dist/components/errorBoundary.js +4 -0
- package/dist/components/errorBoundary.js.map +1 -1
- package/dist/{signals/jsx.d.ts → components/for.d.ts} +7 -9
- package/dist/components/for.d.ts.map +1 -0
- package/dist/components/for.js +13 -0
- package/dist/components/for.js.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/lazy.d.ts +4 -0
- package/dist/components/lazy.d.ts.map +1 -1
- package/dist/components/lazy.js +4 -0
- package/dist/components/lazy.js.map +1 -1
- package/dist/components/portal.d.ts +4 -0
- package/dist/components/portal.d.ts.map +1 -1
- package/dist/components/portal.js +4 -0
- package/dist/components/portal.js.map +1 -1
- package/dist/components/show.d.ts +18 -0
- package/dist/components/show.d.ts.map +1 -0
- package/dist/components/show.js +18 -0
- package/dist/components/show.js.map +1 -0
- package/dist/components/transition.d.ts +4 -0
- package/dist/components/transition.d.ts.map +1 -1
- package/dist/components/transition.js +4 -0
- package/dist/components/transition.js.map +1 -1
- package/dist/hooks/setup.d.ts.map +1 -1
- package/dist/hooks/setup.js +3 -3
- package/dist/hooks/setup.js.map +1 -1
- package/dist/signals/computed.d.ts +1 -1
- package/dist/signals/computed.d.ts.map +1 -1
- package/dist/signals/computed.js +20 -20
- package/dist/signals/computed.js.map +1 -1
- package/dist/signals/index.d.ts +0 -6
- package/dist/signals/index.d.ts.map +1 -1
- package/dist/signals/index.js +0 -6
- package/dist/signals/index.js.map +1 -1
- package/dist/types.utils.d.ts +2 -0
- package/dist/types.utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/derive.ts +22 -19
- package/src/components/errorBoundary.ts +4 -0
- package/src/{signals/jsx.ts → components/for.ts} +34 -40
- package/src/components/index.ts +2 -0
- package/src/components/lazy.ts +4 -0
- package/src/components/portal.ts +4 -0
- package/src/components/show.ts +32 -0
- package/src/components/transition.ts +4 -0
- package/src/hooks/setup.ts +4 -4
- package/src/signals/computed.ts +4 -3
- package/src/signals/index.ts +0 -7
- package/src/types.utils.ts +3 -0
- package/dist/signals/jsx.d.ts.map +0 -1
- package/dist/signals/jsx.js +0 -11
- package/dist/signals/jsx.js.map +0 -1
|
@@ -17,6 +17,10 @@ export interface DeriveProps<T extends Derivable, Mode extends DeriveFallbackMod
|
|
|
17
17
|
type Derive = {
|
|
18
18
|
<T extends Derivable, U extends DeriveFallbackMode = "swr">(props: DeriveProps<T, U>): (props: DeriveProps<T, U>) => JSX.Element;
|
|
19
19
|
};
|
|
20
|
+
/**
|
|
21
|
+
* Derives a value from a signal or stateful promise and renders a child component.
|
|
22
|
+
* @see https://kirujs.dev/docs/api/components/derive
|
|
23
|
+
*/
|
|
20
24
|
export declare const Derive: Derive;
|
|
21
25
|
export {};
|
|
22
26
|
//# sourceMappingURL=derive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../src/components/derive.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../src/components/derive.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,MAAM,SAAS,GACjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GACpB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GACjC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAA;AAE5E,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAC5C,CAAC,GACD,CAAC,SAAS,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAC3C,CAAC,GACD,KAAK,CAAA;AAET,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,SACtC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GACpB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC,GACV;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAErC,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,SAAS,CAC9D,CAAC,EACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAC9B,CAAA;AAED,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAA;AAC5C,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,GAAG,CAAC,QAAQ,CAAA;AAEvE,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,UAAU,CAAA;AAEnD,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,SAAS,EACnB,IAAI,SAAS,kBAAkB,GAAG,UAAU;IAE5C,IAAI,EAAE,CAAC,CAAA;IACP,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,QAAQ,EAAE,CAAC,SAAS,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GACjD,IAAI,SAAS,KAAK,GAChB,gBAAgB,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,GACZ,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,gBAAgB,CAAC,CAAC,CAAC,SAAS,IAAI,GAC9B,IAAI,SAAS,KAAK,GAChB,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACjC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAC9C,GAAG,CAAC,OAAO,GACX,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,gBAAgB,CAAC,CAAC,CAAC,SAAS,IAAI,GAC9B,GAAG,CAAC,OAAO,GACX,KAAK,GACP,KAAK,CAAA;CACV;AAED,KAAK,MAAM,GAAG;IACZ,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,kBAAkB,GAAG,KAAK,EACxD,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GACvB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAA;CAC7C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAwDpB,CAAA"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { sideEffectsEnabled } from "../utils/index.js";
|
|
2
|
+
import { Signal } from "../signals/index.js";
|
|
2
3
|
import { $STREAM_DATA } from "../constants.js";
|
|
4
|
+
import { node } from "../globals.js";
|
|
5
|
+
import { ref } from "../ref.js";
|
|
3
6
|
import { requestUpdate } from "../scheduler.js";
|
|
4
|
-
import { Signal } from "../signals/index.js";
|
|
5
|
-
import { sideEffectsEnabled } from "../utils/index.js";
|
|
6
7
|
import { isStatefulPromise } from "../statefulPromise.js";
|
|
7
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Derives a value from a signal or stateful promise and renders a child component.
|
|
10
|
+
* @see https://kirujs.dev/docs/api/components/derive
|
|
11
|
+
*/
|
|
8
12
|
export const Derive = () => {
|
|
9
13
|
return (props) => {
|
|
10
14
|
const { from, children, fallback, mode } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive.js","sourceRoot":"","sources":["../../src/components/derive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"derive.js","sourceRoot":"","sources":["../../src/components/derive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAwB,MAAM,uBAAuB,CAAA;AA8D/E;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAW,GAAG,EAAE;IACjC,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;QAChD,MAAM,WAAW,GAAG,GAAG,CAAU,IAAI,CAAC,CAAA;QAEtC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiC,CAAA;QACzD,IAAI,KAAc,CAAA;QAElB,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAClB,KAAK,GAAG,IAAI,CAAC,KAAgB,CAAA;QAC/B,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,KAAK,GAAG,IAAI,CAAC,KAAgB,CAAA;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAwB,EAAE,CAAA;YACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;gBACnB,IAAI,iBAAiB,CAAC,CAAC,CAAC;oBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACzC,GAAG,CAAC,GAAG,CAAC,GACN,CACD,CAAC,KAAK,CAAA;YACT,CAAC;YACD,KAAK,GAAG,GAAc,CAAA;QACxB,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACxB,OAAQ,QAA6B,CAAC,KAAK,CAAC,CAAA;QAC9C,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC1B,MAAM;gBACJ,CAAC,YAAY,CAAC,EAAE;oBACd,QAAQ;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC3B;aAC6B,CAAA;QAClC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC3B,MAAM,CAAC,CAAC,KAAK,CAAA;YACf,CAAC;YACD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAQ,CAAA;gBAC7B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;gBAE/D,MAAM,IAAI,GAAG,WAAW,CAAC,OAAQ,CAAA;gBACjC,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,EAAE,CAAC;oBAChC,OAAQ,QAAsC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAC5D,CAAC;gBACD,OAAO,QAAQ,CAAA;YACjB,CAAC;QACH,CAAC;QAED,WAAW,CAAC,OAAO,GAAG,KAAK,CAAA;QAC3B,OAAQ,QAAsC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC9D,CAAC,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -3,5 +3,9 @@ export interface ErrorBoundaryProps {
|
|
|
3
3
|
fallback?: JSX.Element | ((error: Error) => JSX.Element);
|
|
4
4
|
onError?: (error: Error) => void;
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Catches errors in the children and renders a fallback component.
|
|
8
|
+
* @see https://kirujs.dev/docs/api/components/error-boundary
|
|
9
|
+
*/
|
|
6
10
|
export declare function ErrorBoundary({ children, fallback, onError, }: ErrorBoundaryProps): Kiru.Element;
|
|
7
11
|
//# sourceMappingURL=errorBoundary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorBoundary.d.ts","sourceRoot":"","sources":["../../src/components/errorBoundary.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAA;IACvB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC,OAAO,CAAC,CAAA;IACxD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACjC;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,EAAE,kBAAkB,gBAEpB"}
|
|
1
|
+
{"version":3,"file":"errorBoundary.d.ts","sourceRoot":"","sources":["../../src/components/errorBoundary.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAA;IACvB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC,OAAO,CAAC,CAAA;IACxD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACjC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,EAAE,kBAAkB,gBAEpB"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { $ERROR_BOUNDARY } from "../constants.js";
|
|
2
2
|
import { createElement } from "../index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Catches errors in the children and renders a fallback component.
|
|
5
|
+
* @see https://kirujs.dev/docs/api/components/error-boundary
|
|
6
|
+
*/
|
|
3
7
|
export function ErrorBoundary({ children, fallback, onError, }) {
|
|
4
8
|
return createElement($ERROR_BOUNDARY, { children, fallback, onError });
|
|
5
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorBoundary.js","sourceRoot":"","sources":["../../src/components/errorBoundary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAQ3C,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,QAAQ,EACR,OAAO,GACY;IACnB,OAAO,aAAa,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;AACxE,CAAC"}
|
|
1
|
+
{"version":3,"file":"errorBoundary.js","sourceRoot":"","sources":["../../src/components/errorBoundary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAQ3C;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,QAAQ,EACR,OAAO,GACY;IACnB,OAAO,aAAa,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;AACxE,CAAC"}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { Signal } from "./base.js";
|
|
1
|
+
import { type Signal } from "../signals/index.js";
|
|
3
2
|
type InferArraySignalItemType<T extends Signal<any[]> | readonly unknown[]> = T extends Signal<infer V> ? V extends Array<infer W> ? W : never : T extends unknown[] ? T[number] : never;
|
|
4
3
|
type ForProps<T extends Signal<any[]> | readonly unknown[], U = InferArraySignalItemType<T>> = {
|
|
5
4
|
each: T;
|
|
6
5
|
fallback?: JSX.Element;
|
|
7
6
|
children: (value: U, index: number, array: U[]) => JSX.Element;
|
|
8
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* Renders a list of items. If the list a Signal, it creates an automatically-updating list with fine-grained reactivity.
|
|
10
|
+
* If the list is empty, the fallback is rendered.
|
|
11
|
+
* @see https://kirujs.dev/docs/api/components/for
|
|
12
|
+
*/
|
|
9
13
|
export declare function For<T extends Signal<any[]> | unknown[]>({ each, fallback, children, }: ForProps<T>): JSX.Element;
|
|
10
|
-
export interface ShowProps {
|
|
11
|
-
children: JSX.Element;
|
|
12
|
-
when: Signalable<unknown>;
|
|
13
|
-
fallback?: JSX.Element;
|
|
14
|
-
}
|
|
15
|
-
export declare function Show({ children, when, fallback }: ShowProps): JSX.Element;
|
|
16
14
|
export {};
|
|
17
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=for.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"for.d.ts","sourceRoot":"","sources":["../../src/components/for.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEzD,KAAK,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,OAAO,EAAE,IACxE,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GACrB,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,GACD,KAAK,GACP,CAAC,SAAS,OAAO,EAAE,GACnB,CAAC,CAAC,MAAM,CAAC,GACT,KAAK,CAAA;AAEX,KAAK,QAAQ,CACX,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,OAAO,EAAE,EAC5C,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,IAC7B;IACF,IAAI,EAAE,CAAC,CAAA;IACP,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,OAAO,CAAA;CAC/D,CAAA;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,EACvD,IAAI,EACJ,QAAQ,EACR,QAAQ,GACT,EAAE,QAAQ,CAAC,CAAC,CAAC,eAIb"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { unwrap } from "../signals/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Renders a list of items. If the list a Signal, it creates an automatically-updating list with fine-grained reactivity.
|
|
4
|
+
* If the list is empty, the fallback is rendered.
|
|
5
|
+
* @see https://kirujs.dev/docs/api/components/for
|
|
6
|
+
*/
|
|
7
|
+
export function For({ each, fallback, children, }) {
|
|
8
|
+
const items = unwrap(each, true);
|
|
9
|
+
if (items.length === 0)
|
|
10
|
+
return fallback;
|
|
11
|
+
return items.map(children);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=for.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"for.js","sourceRoot":"","sources":["../../src/components/for.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAA;AAoBzD;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAsC,EACvD,IAAI,EACJ,QAAQ,EACR,QAAQ,GACI;IACZ,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA;IACvC,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC5B,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { ErrorBoundary, type ErrorBoundaryProps } from "./errorBoundary.js";
|
|
2
2
|
export * from "./derive.js";
|
|
3
|
+
export * from "./for.js";
|
|
3
4
|
export * from "./lazy.js";
|
|
4
5
|
export * from "./portal.js";
|
|
6
|
+
export * from "./show.js";
|
|
5
7
|
export * from "./transition.js";
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA"}
|
package/dist/components/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { ErrorBoundary } from "./errorBoundary.js";
|
|
2
2
|
export * from "./derive.js";
|
|
3
|
+
export * from "./for.js";
|
|
3
4
|
export * from "./lazy.js";
|
|
4
5
|
export * from "./portal.js";
|
|
6
|
+
export * from "./show.js";
|
|
5
7
|
export * from "./transition.js";
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAA;AAC3E,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAA;AAC3E,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA"}
|
|
@@ -6,6 +6,10 @@ type InferLazyImportProps<T extends LazyImportValue> = T extends FCModule ? Kiru
|
|
|
6
6
|
type LazyComponentProps<T extends LazyImportValue> = InferLazyImportProps<T> & {
|
|
7
7
|
fallback?: JSX.Element;
|
|
8
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* Lazy loads a component and renders it when it is ready.
|
|
11
|
+
* @see https://kirujs.dev/docs/api/components/lazy
|
|
12
|
+
*/
|
|
9
13
|
export declare function lazy<T extends LazyImportValue>(componentPromiseFn: () => Promise<T>): Kiru.FC<LazyComponentProps<T>>;
|
|
10
14
|
export {};
|
|
11
15
|
//# sourceMappingURL=lazy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/components/lazy.ts"],"names":[],"mappings":"AAMA,UAAU,QAAQ;IAChB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;CACtB;AAED,KAAK,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;AAE9C,KAAK,oBAAoB,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,SAAS,QAAQ,GACrE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAC7B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;AAOtB,KAAK,kBAAkB,CAAC,CAAC,SAAS,eAAe,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAC7E,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB,CAAA;AAOD,wBAAgB,IAAI,CAAC,CAAC,SAAS,eAAe,EAC5C,kBAAkB,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAwChC"}
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/components/lazy.ts"],"names":[],"mappings":"AAMA,UAAU,QAAQ;IAChB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;CACtB;AAED,KAAK,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;AAE9C,KAAK,oBAAoB,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,SAAS,QAAQ,GACrE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAC7B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;AAOtB,KAAK,kBAAkB,CAAC,CAAC,SAAS,eAAe,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAC7E,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB,CAAA;AAOD;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,eAAe,EAC5C,kBAAkB,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAwChC"}
|
package/dist/components/lazy.js
CHANGED
|
@@ -7,6 +7,10 @@ const lazyCache = isBrowser
|
|
|
7
7
|
? // @ts-ignore - we're shamefully polluting the global scope here and hiding it 🥲
|
|
8
8
|
(window.__KIRU_LAZY_CACHE ?? (window.__KIRU_LAZY_CACHE = new Map()))
|
|
9
9
|
: new Map();
|
|
10
|
+
/**
|
|
11
|
+
* Lazy loads a component and renders it when it is ready.
|
|
12
|
+
* @see https://kirujs.dev/docs/api/components/lazy
|
|
13
|
+
*/
|
|
10
14
|
export function lazy(componentPromiseFn) {
|
|
11
15
|
function LazyWrapper(props) {
|
|
12
16
|
const { fallback = null, ...rest } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/components/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAqB/C,MAAM,SAAS,GAA2B,SAAS;IACjD,CAAC,CAAC,iFAAiF;QACjF,CAAC,MAAM,CAAC,iBAAiB,KAAxB,MAAM,CAAC,iBAAiB,GAAK,IAAI,GAAG,EAAqB,EAAC;IAC7D,CAAC,CAAC,IAAI,GAAG,EAAqB,CAAA;AAEhC,MAAM,UAAU,IAAI,CAClB,kBAAoC;IAEpC,SAAS,WAAW,CAAC,KAA4B;QAC/C,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAQ,CAAA;QAC7B,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,MAAM,EAAE,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC3D,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAErC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAA;YACpC,MAAM,KAAK,GAAc;gBACvB,OAAO;gBACP,MAAM,EAAE,IAAI;aACb,CAAA;YACD,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE;gBACjC,KAAK,CAAC,MAAM;oBACV,OAAO,iBAAiB,KAAK,UAAU;wBACrC,CAAC,CAAC,iBAAiB;wBACnB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAA;gBAC/B,aAAa,CAAC,OAAO,CAAC,CAAA;YACxB,CAAC,CAAC,CAAA;YACF,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAChC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;YACtD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,OAAO,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW,CAAC,WAAW,GAAG,WAAW,CAAA;IACvC,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE,CAClD,KAAK,CAAC,OAAO,CACX,uCAAuC,EACvC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,CACtD,CAAA"}
|
|
1
|
+
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/components/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAqB/C,MAAM,SAAS,GAA2B,SAAS;IACjD,CAAC,CAAC,iFAAiF;QACjF,CAAC,MAAM,CAAC,iBAAiB,KAAxB,MAAM,CAAC,iBAAiB,GAAK,IAAI,GAAG,EAAqB,EAAC;IAC7D,CAAC,CAAC,IAAI,GAAG,EAAqB,CAAA;AAEhC;;;GAGG;AACH,MAAM,UAAU,IAAI,CAClB,kBAAoC;IAEpC,SAAS,WAAW,CAAC,KAA4B;QAC/C,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAQ,CAAA;QAC7B,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,MAAM,EAAE,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC3D,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAErC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAA;YACpC,MAAM,KAAK,GAAc;gBACvB,OAAO;gBACP,MAAM,EAAE,IAAI;aACb,CAAA;YACD,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE;gBACjC,KAAK,CAAC,MAAM;oBACV,OAAO,iBAAiB,KAAK,UAAU;wBACrC,CAAC,CAAC,iBAAiB;wBACnB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAA;gBAC/B,aAAa,CAAC,OAAO,CAAC,CAAA;YACxB,CAAC,CAAC,CAAA;YACF,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAChC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;YACtD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,OAAO,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW,CAAC,WAAW,GAAG,WAAW,CAAA;IACvC,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE,CAClD,KAAK,CAAC,OAAO,CACX,uCAAuC,EACvC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,CACtD,CAAA"}
|
|
@@ -2,6 +2,10 @@ interface PortalProps {
|
|
|
2
2
|
children?: JSX.Children;
|
|
3
3
|
container: HTMLElement | (() => HTMLElement);
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* Escapes the application DOM tree and renders a child component in the given container.
|
|
7
|
+
* @see https://kirujs.dev/docs/api/components/portal
|
|
8
|
+
*/
|
|
5
9
|
export declare function Portal({ children, container }: PortalProps): JSX.Children;
|
|
6
10
|
export {};
|
|
7
11
|
//# sourceMappingURL=portal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../src/components/portal.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAA;IACvB,SAAS,EAAE,WAAW,GAAG,CAAC,MAAM,WAAW,CAAC,CAAA;CAC7C;AAED,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,WAAW,gBAyB1D"}
|
|
1
|
+
{"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../src/components/portal.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAA;IACvB,SAAS,EAAE,WAAW,GAAG,CAAC,MAAM,WAAW,CAAC,CAAA;CAC7C;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,WAAW,gBAyB1D"}
|
|
@@ -3,6 +3,10 @@ import { __DEV__ } from "../env.js";
|
|
|
3
3
|
import { KiruError } from "../error.js";
|
|
4
4
|
import { node, renderMode } from "../globals.js";
|
|
5
5
|
import { nextIdle, requestUpdate } from "../scheduler.js";
|
|
6
|
+
/**
|
|
7
|
+
* Escapes the application DOM tree and renders a child component in the given container.
|
|
8
|
+
* @see https://kirujs.dev/docs/api/components/portal
|
|
9
|
+
*/
|
|
6
10
|
export function Portal({ children, container }) {
|
|
7
11
|
const vNode = node.current;
|
|
8
12
|
if (!vNode.dom) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portal.js","sourceRoot":"","sources":["../../src/components/portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAOzD,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAe;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAQ,CAAA;IAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACf,KAAK,CAAC,KAAK,IAAI,eAAe,CAAA;QAC9B,QAAQ,UAAU,CAAC,OAAO,EAAE,CAAC;YAC3B,KAAK,KAAK;gBACR,KAAK,CAAC,GAAG,GAAG,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;gBACrE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,YAAY,WAAW,CAAC,EAAE,CAAC;oBACxC,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,IAAI,SAAS,CAAC;4BAClB,OAAO,EAAE,uDAAuD,KAAK,CAAC,GAAG,EAAE;4BAC3E,KAAK,EAAE,KAAK;yBACb,CAAC,CAAA;oBACJ,CAAC;oBACD,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,OAAO,QAAQ,CAAA;YACjB,KAAK,SAAS;gBACZ,QAAQ,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;YACtC,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAA;QACf,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"portal.js","sourceRoot":"","sources":["../../src/components/portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAOzD;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAe;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAQ,CAAA;IAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACf,KAAK,CAAC,KAAK,IAAI,eAAe,CAAA;QAC9B,QAAQ,UAAU,CAAC,OAAO,EAAE,CAAC;YAC3B,KAAK,KAAK;gBACR,KAAK,CAAC,GAAG,GAAG,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;gBACrE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,YAAY,WAAW,CAAC,EAAE,CAAC;oBACxC,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,IAAI,SAAS,CAAC;4BAClB,OAAO,EAAE,uDAAuD,KAAK,CAAC,GAAG,EAAE;4BAC3E,KAAK,EAAE,KAAK;yBACb,CAAC,CAAA;oBACJ,CAAC;oBACD,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,OAAO,QAAQ,CAAA;YACjB,KAAK,SAAS;gBACZ,QAAQ,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;YACtC,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAA;QACf,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Truthy } from "../types.utils.js";
|
|
2
|
+
import type { Signalable } from "../types.js";
|
|
3
|
+
type ShowChildren<T> = (value: Truthy<T>) => JSX.Element;
|
|
4
|
+
export interface ShowProps<T> {
|
|
5
|
+
children: ShowChildren<T> | Exclude<JSX.Element, ShowChildren<T>>;
|
|
6
|
+
when: Signalable<T>;
|
|
7
|
+
fallback?: JSX.Element;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Conditionally renders a child component based on the 'when' prop.
|
|
11
|
+
* If the 'when' prop is truthy, the child component is rendered.
|
|
12
|
+
* If the 'when' prop is falsy, the fallback component is rendered.
|
|
13
|
+
* If the 'when' prop is a Signal, it creates an automatically-updating component with fine-grained reactivity.
|
|
14
|
+
* @see https://kirujs.dev/docs/api/components/show
|
|
15
|
+
*/
|
|
16
|
+
export declare function Show<T>({ children, when, fallback, }: ShowProps<T>): JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=show.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../src/components/show.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAA;AAExD,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,EACtB,QAAQ,EACR,IAAI,EACJ,QAAQ,GACT,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAQ5B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { unwrap } from "../signals/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Conditionally renders a child component based on the 'when' prop.
|
|
4
|
+
* If the 'when' prop is truthy, the child component is rendered.
|
|
5
|
+
* If the 'when' prop is falsy, the fallback component is rendered.
|
|
6
|
+
* If the 'when' prop is a Signal, it creates an automatically-updating component with fine-grained reactivity.
|
|
7
|
+
* @see https://kirujs.dev/docs/api/components/show
|
|
8
|
+
*/
|
|
9
|
+
export function Show({ children, when, fallback, }) {
|
|
10
|
+
const value = unwrap(when, true);
|
|
11
|
+
if (!!value) {
|
|
12
|
+
return typeof children === "function"
|
|
13
|
+
? children(value)
|
|
14
|
+
: children;
|
|
15
|
+
}
|
|
16
|
+
return fallback;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=show.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../src/components/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAY5C;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAI,EACtB,QAAQ,EACR,IAAI,EACJ,QAAQ,GACK;IACb,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAChC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,OAAO,QAAQ,KAAK,UAAU;YACnC,CAAC,CAAC,QAAQ,CAAC,KAAkB,CAAC;YAC9B,CAAC,CAAC,QAAQ,CAAA;IACd,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -14,6 +14,10 @@ interface TransitionProps {
|
|
|
14
14
|
element: (state: "entering" | "entered" | "exiting" | "exited") => JSX.Element;
|
|
15
15
|
onTransitionEnd?: (state: "entered" | "exited") => void;
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Animates the DOM in a procedural/coroutine-like fashion. Useful for modals, drawers, dialogs and more.
|
|
19
|
+
* @see https://kirujs.dev/docs/api/components/transition
|
|
20
|
+
*/
|
|
17
21
|
export declare const Transition: Kiru.FC<TransitionProps>;
|
|
18
22
|
export {};
|
|
19
23
|
//# sourceMappingURL=transition.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transition.d.ts","sourceRoot":"","sources":["../../src/components/transition.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAInD,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;AAC3E,UAAU,eAAe;IACvB,EAAE,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IACnC,QAAQ,CAAC,EACL,MAAM,GACN;QACE,EAAE,EAAE,MAAM,CAAA;QACV,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACL,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,KAAK,GAAG,CAAC,OAAO,CAAA;IAC9E,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,KAAK,IAAI,CAAA;CACxD;AAED,eAAO,MAAM,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,eAAe,CAoC/C,CAAA"}
|
|
1
|
+
{"version":3,"file":"transition.d.ts","sourceRoot":"","sources":["../../src/components/transition.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAInD,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;AAC3E,UAAU,eAAe;IACvB,EAAE,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;IACnC,QAAQ,CAAC,EACL,MAAM,GACN;QACE,EAAE,EAAE,MAAM,CAAA;QACV,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACL,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,KAAK,GAAG,CAAC,OAAO,CAAA;IAC9E,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,KAAK,IAAI,CAAA;CACxD;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,eAAe,CAoC/C,CAAA"}
|
|
@@ -2,6 +2,10 @@ import { onCleanup } from "../hooks/onCleanup.js";
|
|
|
2
2
|
import { signal } from "../signals/base.js";
|
|
3
3
|
import { effect } from "../signals/effect.js";
|
|
4
4
|
import { unwrap } from "../signals/utils.js";
|
|
5
|
+
/**
|
|
6
|
+
* Animates the DOM in a procedural/coroutine-like fashion. Useful for modals, drawers, dialogs and more.
|
|
7
|
+
* @see https://kirujs.dev/docs/api/components/transition
|
|
8
|
+
*/
|
|
5
9
|
export const Transition = (props) => {
|
|
6
10
|
const tState = signal(props.initialState || "exited");
|
|
7
11
|
let timeoutRef;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transition.js","sourceRoot":"","sources":["../../src/components/transition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAU,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAoB5C,MAAM,CAAC,MAAM,UAAU,GAA6B,CAAC,KAAK,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAkB,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAA;IACtE,IAAI,UAA8B,CAAA;IAElC,MAAM,kBAAkB,GAAG,CAAC,eAAgC,EAAE,EAAE;QAC9D,YAAY,CAAC,UAAU,CAAC,CAAA;QACxB,MAAM,CAAC,KAAK,GAAG,eAAe,CAAA;QAC9B,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;YAClE,IAAI,KAAK,CAAC,eAAe;gBAAE,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;QACnE,CAAC;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,eAAqC,EAAE,EAAE;QACjE,UAAU,GAAG,MAAM,CAAC,UAAU,CAC5B,GAAG,EAAE,CAAC,kBAAkB,CAAC,eAAe,CAAC,EACzC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,CAC3C,CAAA;IACH,CAAC,CAAA;IAED,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;QAC7B,IAAI,KAAK,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC7D,kBAAkB,CAAC,UAAU,CAAC,CAAA;YAC9B,gBAAgB,CAAC,SAAS,CAAC,CAAA;QAC7B,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACnE,kBAAkB,CAAC,SAAS,CAAC,CAAA;YAC7B,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAA;IAEzC,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,SAAS,SAAS,CAChB,eAAqC,EACrC,QAAqC;IAErC,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAA;IACjD,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,QAAQ,EAAE,EAAE,IAAI,eAAe,CAAA;QACxC,KAAK,QAAQ;YACX,OAAO,QAAQ,EAAE,GAAG,IAAI,eAAe,CAAA;IAC3C,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"transition.js","sourceRoot":"","sources":["../../src/components/transition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAU,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAoB5C;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAA6B,CAAC,KAAK,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAkB,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAA;IACtE,IAAI,UAA8B,CAAA;IAElC,MAAM,kBAAkB,GAAG,CAAC,eAAgC,EAAE,EAAE;QAC9D,YAAY,CAAC,UAAU,CAAC,CAAA;QACxB,MAAM,CAAC,KAAK,GAAG,eAAe,CAAA;QAC9B,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;YAClE,IAAI,KAAK,CAAC,eAAe;gBAAE,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;QACnE,CAAC;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,eAAqC,EAAE,EAAE;QACjE,UAAU,GAAG,MAAM,CAAC,UAAU,CAC5B,GAAG,EAAE,CAAC,kBAAkB,CAAC,eAAe,CAAC,EACzC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,CAC3C,CAAA;IACH,CAAC,CAAA;IAED,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;QAC7B,IAAI,KAAK,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC7D,kBAAkB,CAAC,UAAU,CAAC,CAAA;YAC9B,gBAAgB,CAAC,SAAS,CAAC,CAAA;QAC7B,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACnE,kBAAkB,CAAC,SAAS,CAAC,CAAA;YAC7B,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAA;IAEzC,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,SAAS,SAAS,CAChB,eAAqC,EACrC,QAAqC;IAErC,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAA;IACjD,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,QAAQ,EAAE,EAAE,IAAI,eAAe,CAAA;QACxC,KAAK,QAAQ;YACX,OAAO,QAAQ,EAAE,GAAG,IAAI,eAAe,CAAA;IAC3C,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/hooks/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/hooks/setup.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,MAAM,WAAW,KAAK,CAAC,KAAK,SAAS,EAAE;IACrC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,KAC/D,MAAM,CAAC,CAAC,CAAC,CAAA;IACd,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,SAAS,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,CAkBtD"}
|
package/dist/hooks/setup.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { signal } from "../signals/index.js";
|
|
1
|
+
import { computed, signal } from "../signals/index.js";
|
|
3
2
|
import { createVNodeId } from "../utils/vdom.js";
|
|
4
3
|
import { __DEV__ } from "../env.js";
|
|
4
|
+
import { node, setups } from "../globals.js";
|
|
5
5
|
/**
|
|
6
6
|
* Creates a per‑VNode setup context that can be used during
|
|
7
7
|
* component setup to derive props into signals.
|
|
@@ -32,7 +32,7 @@ function createSetup(vNode) {
|
|
|
32
32
|
return {
|
|
33
33
|
derive(selector) {
|
|
34
34
|
const props = { ...vNode.props };
|
|
35
|
-
const sig =
|
|
35
|
+
const sig = computed(() => selector(props));
|
|
36
36
|
propSyncs.push((p) => (sig.value = selector(p)));
|
|
37
37
|
return sig;
|
|
38
38
|
},
|
package/dist/hooks/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/hooks/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/hooks/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAU5C;;;;;GAKG;AACH,MAAM,UAAU,KAAK;IACnB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAQ,CAAA;IAC3B,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACnE,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAA;IAC3B,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAQ,KAAK,CAAC,CAAA;IACvC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACxB,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,WAAW,CAAmB,KAAiB;IACtD,IAAI,EAAkB,CAAA;IAGtB,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAuC,CAAA;IAE9E,IAAI,SAAS,GAAG,CAAC,CAAC,CAAA;IAElB,OAAO;QACL,MAAM,CAAC,QAAQ;YACb,MAAM,KAAK,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,EAAmB,CAAA;YACjD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;YAC3C,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAChD,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,IAAI,EAAE;YACJ,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;gBACjC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAA;gBACvB,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE;oBAClB,IAAI,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;wBAC9B,EAAE,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;wBAC/B,SAAS,GAAG,KAAK,CAAC,KAAK,CAAA;oBACzB,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,EAAE,CAAA;QACX,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -5,9 +5,9 @@ export declare class ComputedSignal<T> extends Signal<T> {
|
|
|
5
5
|
protected $isDirty: boolean;
|
|
6
6
|
constructor(getter: (prev?: T) => T, displayName?: string);
|
|
7
7
|
get value(): T;
|
|
8
|
+
set value(next: T);
|
|
8
9
|
toString(): string;
|
|
9
10
|
peek(): T;
|
|
10
|
-
set value(next: T);
|
|
11
11
|
subscribe(cb: (state: T, prevState?: T) => void): () => void;
|
|
12
12
|
static dispose(signal: ComputedSignal<any>): void;
|
|
13
13
|
private static stop;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computed.d.ts","sourceRoot":"","sources":["../../src/signals/computed.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGlC,qBAAa,cAAc,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IAC9C,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAClC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACxC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAA;gBACf,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM;IAuBzD,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"computed.d.ts","sourceRoot":"","sources":["../../src/signals/computed.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGlC,qBAAa,cAAc,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IAC9C,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAClC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACxC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAA;gBACf,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM;IAuBzD,IAAI,KAAK,IAKO,CAAC,CAFhB;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,EAEhB;IAED,QAAQ;IAKR,IAAI;IAKJ,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;IAO5D,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI;IAKjD,OAAO,CAAC,MAAM,CAAC,IAAI;IAYnB,OAAO,CAAC,MAAM,CAAC,GAAG;IA0BlB,OAAO,CAAC,cAAc;CA6BvB;AAED,wBAAgB,QAAQ,CAAC,CAAC,EACxB,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EACvB,WAAW,CAAC,EAAE,MAAM,GACnB,cAAc,CAAC,CAAC,CAAC,CAEnB"}
|
package/dist/signals/computed.js
CHANGED
|
@@ -30,6 +30,9 @@ export class ComputedSignal extends Signal {
|
|
|
30
30
|
this.ensureNotDirty();
|
|
31
31
|
return super.value;
|
|
32
32
|
}
|
|
33
|
+
set value(next) {
|
|
34
|
+
super.value = next;
|
|
35
|
+
}
|
|
33
36
|
toString() {
|
|
34
37
|
this.ensureNotDirty();
|
|
35
38
|
return super.toString();
|
|
@@ -38,8 +41,6 @@ export class ComputedSignal extends Signal {
|
|
|
38
41
|
this.ensureNotDirty();
|
|
39
42
|
return super.peek();
|
|
40
43
|
}
|
|
41
|
-
// @ts-expect-error
|
|
42
|
-
set value(next) { }
|
|
43
44
|
subscribe(cb) {
|
|
44
45
|
if (this.$isDirty) {
|
|
45
46
|
ComputedSignal.run(this);
|
|
@@ -61,17 +62,16 @@ export class ComputedSignal extends Signal {
|
|
|
61
62
|
computed.$isDirty = true;
|
|
62
63
|
}
|
|
63
64
|
static run(computed) {
|
|
64
|
-
let $computed = computed;
|
|
65
65
|
if (__DEV__) {
|
|
66
|
-
|
|
66
|
+
computed = latest(computed);
|
|
67
67
|
}
|
|
68
|
-
const { $id: id, $getter, $unsubs: subs } =
|
|
68
|
+
const { $id: id, $getter, $unsubs: subs } = computed;
|
|
69
69
|
const value = executeWithTracking({
|
|
70
70
|
id,
|
|
71
71
|
subs,
|
|
72
|
-
fn: () => $getter(
|
|
72
|
+
fn: () => $getter(computed.$value),
|
|
73
73
|
onDepChanged: () => {
|
|
74
|
-
|
|
74
|
+
computed.$isDirty = true;
|
|
75
75
|
if (__DEV__) {
|
|
76
76
|
if (!signalSubsMap?.get(id)?.size)
|
|
77
77
|
return;
|
|
@@ -80,28 +80,28 @@ export class ComputedSignal extends Signal {
|
|
|
80
80
|
if (!computed.$subs.size)
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
83
|
-
ComputedSignal.run(
|
|
84
|
-
if (Object.is(
|
|
83
|
+
ComputedSignal.run(computed);
|
|
84
|
+
if (Object.is(computed.$value, computed.$prevValue))
|
|
85
85
|
return;
|
|
86
|
-
|
|
86
|
+
computed.notify();
|
|
87
87
|
},
|
|
88
88
|
});
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
computed.sneak(value);
|
|
90
|
+
computed.$isDirty = false;
|
|
91
91
|
}
|
|
92
92
|
ensureNotDirty() {
|
|
93
|
-
let
|
|
93
|
+
let computed = this;
|
|
94
94
|
if (__DEV__) {
|
|
95
|
-
|
|
95
|
+
computed = latest(this);
|
|
96
96
|
}
|
|
97
|
-
if (
|
|
98
|
-
const pending = effectQueue.get(
|
|
97
|
+
if (!computed.$isDirty) {
|
|
98
|
+
const pending = effectQueue.get(computed.$id);
|
|
99
99
|
if (pending) {
|
|
100
100
|
pending();
|
|
101
|
-
effectQueue.delete(
|
|
101
|
+
effectQueue.delete(computed.$id);
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
if (
|
|
104
|
+
if (!computed.$isDirty)
|
|
105
105
|
return;
|
|
106
106
|
if (__DEV__) {
|
|
107
107
|
/**
|
|
@@ -113,10 +113,10 @@ export class ComputedSignal extends Signal {
|
|
|
113
113
|
* the previous signal's ID and not disposing it / deleting the
|
|
114
114
|
* map entry.
|
|
115
115
|
*/
|
|
116
|
-
if (
|
|
116
|
+
if (computed.$isDisposed)
|
|
117
117
|
return;
|
|
118
118
|
}
|
|
119
|
-
ComputedSignal.run(
|
|
119
|
+
ComputedSignal.run(computed);
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
122
|
export function computed(getter, displayName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computed.js","sourceRoot":"","sources":["../../src/signals/computed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGlC,MAAM,OAAO,cAAkB,SAAQ,MAAS;IAI9C,YAAY,MAAuB,EAAE,WAAoB;QACvD,KAAK,CAAC,KAAK,CAAM,EAAE,WAAW,CAAC,CAAA;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QAEpB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAE,CAAC,MAAO,CAAA;YACzC,mCAAmC;YACnC,IAAI,CAAC,WAAW,CAAC,GAAG;gBAClB,OAAO,EAAE,GAAG,EAAE;oBACZ,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACf,MAAM,CAAC,IAAI,CAAC,CAAA;oBACZ,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;gBAC/B,CAAC;gBACD,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;aACqB,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,IAAI,KAAK;QACP,IAAI,CAAC,cAAc,EAAE,CAAA;QACrB,OAAO,KAAK,CAAC,KAAK,CAAA;IACpB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAA;QACrB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,cAAc,EAAE,CAAA;QACrB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;IACrB,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"computed.js","sourceRoot":"","sources":["../../src/signals/computed.ts"],"names":[],"mappings":"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"}
|
package/dist/signals/index.d.ts
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ISSUES:
|
|
3
|
-
* 1. signal subscription when mixing local and global signals get reversed in hmr for ONLY the first update after HMR is dom
|
|
4
|
-
* 2. global computed will lose its vNode subscription on HMR
|
|
5
|
-
* */
|
|
6
1
|
export { Signal, signal } from "./base.js";
|
|
7
2
|
export { ComputedSignal, computed } from "./computed.js";
|
|
8
3
|
export { Effect, effect } from "./effect.js";
|
|
9
4
|
export { unwrap, tick } from "./utils.js";
|
|
10
|
-
export * from "./jsx.js";
|
|
11
5
|
export * from "./types.js";
|
|
12
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signals/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signals/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACzC,cAAc,YAAY,CAAA"}
|
package/dist/signals/index.js
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ISSUES:
|
|
3
|
-
* 1. signal subscription when mixing local and global signals get reversed in hmr for ONLY the first update after HMR is dom
|
|
4
|
-
* 2. global computed will lose its vNode subscription on HMR
|
|
5
|
-
* */
|
|
6
1
|
export { Signal, signal } from "./base.js";
|
|
7
2
|
export { ComputedSignal, computed } from "./computed.js";
|
|
8
3
|
export { Effect, effect } from "./effect.js";
|
|
9
4
|
export { unwrap, tick } from "./utils.js";
|
|
10
|
-
export * from "./jsx.js";
|
|
11
5
|
export * from "./types.js";
|
|
12
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signals/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signals/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACzC,cAAc,YAAY,CAAA"}
|
package/dist/types.utils.d.ts
CHANGED
|
@@ -55,4 +55,6 @@ export type ArrayHas<T extends any[], U> = Extract<T[number], U> extends never ?
|
|
|
55
55
|
export type RecordHas<T extends Record<string, any>, U> = [
|
|
56
56
|
Extract<T[keyof T], U>
|
|
57
57
|
] extends [never] ? false : true;
|
|
58
|
+
export type Falsy = false | 0 | 0n | "" | null | undefined;
|
|
59
|
+
export type Truthy<T> = Exclude<T, Falsy>;
|
|
58
60
|
//# sourceMappingURL=types.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.utils.d.ts","sourceRoot":"","sources":["../src/types.utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.utils.d.ts","sourceRoot":"","sources":["../src/types.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAEpE,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,CAAA;AAClD,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,CAAA;AACrD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,CAAA;AAClD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;AAE1C,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK;IAC/C,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,OAAO,CAAA;CACtD;AAED,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,KAAK;IAC9C,GAAG,EAAE,WAAW,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AACD,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,KAAK;IAC1C,GAAG,EAAE,OAAO,CAAA;IACZ,IAAI,EAAE,OAAO,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,KAAK;IAChD,IAAI,EAAE,OAAO,QAAQ,CAAA;IACrB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;QAC3B,KAAK,EAAE,CAAC,CAAA;QACR,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;KACrB,CAAA;CACF;AAED,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,KAAK;IACnD,IAAI,EAAE,OAAO,eAAe,CAAA;IAC5B,KAAK,EAAE,kBAAkB,CAAA;IACzB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,KAAK;IAC9C,IAAI,EAAE,OAAO,SAAS,CAAA;CACvB;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAA;AAEN,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAEzC,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK,IACjD;IACE,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,IAAI,CAAA;IACX,OAAO,EAAE,IAAI,CAAA;CACd,GACD;IACE,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,IAAI,CAAA;IACX,OAAO,EAAE,KAAK,CAAA;CACf,GACD;IACE,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,CAAC,CAAA;IACR,OAAO,EAAE,KAAK,CAAA;CACf,CAAA;AAEL,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI;KACvC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACf,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAErC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,IAAI,CAAA;AAEpD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI;IACxD,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;CACvB,SAAS,CAAC,KAAK,CAAC,GACb,KAAK,GACL,IAAI,CAAA;AAER,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,CAAA;AAC1D,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA"}
|
package/package.json
CHANGED
package/src/components/derive.ts
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { sideEffectsEnabled } from "../utils/index.js"
|
|
2
|
+
import { Signal } from "../signals/index.js"
|
|
2
3
|
import { $STREAM_DATA } from "../constants.js"
|
|
4
|
+
import { node } from "../globals.js"
|
|
5
|
+
import { ref } from "../ref.js"
|
|
3
6
|
import { requestUpdate } from "../scheduler.js"
|
|
4
|
-
import { Signal } from "../signals/index.js"
|
|
5
|
-
import { sideEffectsEnabled } from "../utils/index.js"
|
|
6
|
-
import type { RecordHas } from "../types.utils"
|
|
7
7
|
import { isStatefulPromise, StreamDataThrowValue } from "../statefulPromise.js"
|
|
8
|
-
import {
|
|
8
|
+
import type { RecordHas } from "../types.utils"
|
|
9
9
|
|
|
10
10
|
export type Derivable =
|
|
11
11
|
| Kiru.Signal<unknown>
|
|
12
12
|
| Kiru.StatefulPromiseBase<unknown>
|
|
13
13
|
| Record<string, Kiru.Signal<unknown> | Kiru.StatefulPromiseBase<unknown>>
|
|
14
14
|
|
|
15
|
-
type InnerOf<T> =
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
: never
|
|
15
|
+
type InnerOf<T> = T extends Kiru.Signal<infer V>
|
|
16
|
+
? V
|
|
17
|
+
: T extends Kiru.StatefulPromiseBase<infer P>
|
|
18
|
+
? P
|
|
19
|
+
: never
|
|
21
20
|
|
|
22
21
|
type UnwrapDerive<T extends Derivable> = T extends
|
|
23
22
|
| Kiru.Signal<unknown>
|
|
@@ -37,7 +36,7 @@ export type DeriveFallbackMode = "swr" | "fallback"
|
|
|
37
36
|
|
|
38
37
|
export interface DeriveProps<
|
|
39
38
|
T extends Derivable,
|
|
40
|
-
Mode extends DeriveFallbackMode = "fallback"
|
|
39
|
+
Mode extends DeriveFallbackMode = "fallback"
|
|
41
40
|
> {
|
|
42
41
|
from: T
|
|
43
42
|
mode?: Mode
|
|
@@ -46,19 +45,19 @@ export interface DeriveProps<
|
|
|
46
45
|
? ChildFnWithStale<U>
|
|
47
46
|
: ChildFn<U>
|
|
48
47
|
: T extends Record<string, any>
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
: ChildFn<UnwrapDerive<T>>
|
|
48
|
+
? RecordHasPromise<T> extends true
|
|
49
|
+
? Mode extends "swr"
|
|
50
|
+
? ChildFnWithStale<UnwrapDerive<T>>
|
|
53
51
|
: ChildFn<UnwrapDerive<T>>
|
|
54
52
|
: ChildFn<UnwrapDerive<T>>
|
|
53
|
+
: ChildFn<UnwrapDerive<T>>
|
|
55
54
|
fallback?: T extends Kiru.StatefulPromiseBase<any>
|
|
56
55
|
? JSX.Element
|
|
57
56
|
: T extends Record<string, any>
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
: never
|
|
57
|
+
? RecordHasPromise<T> extends true
|
|
58
|
+
? JSX.Element
|
|
61
59
|
: never
|
|
60
|
+
: never
|
|
62
61
|
}
|
|
63
62
|
|
|
64
63
|
type Derive = {
|
|
@@ -67,6 +66,10 @@ type Derive = {
|
|
|
67
66
|
): (props: DeriveProps<T, U>) => JSX.Element
|
|
68
67
|
}
|
|
69
68
|
|
|
69
|
+
/**
|
|
70
|
+
* Derives a value from a signal or stateful promise and renders a child component.
|
|
71
|
+
* @see https://kirujs.dev/docs/api/components/derive
|
|
72
|
+
*/
|
|
70
73
|
export const Derive: Derive = () => {
|
|
71
74
|
return (props) => {
|
|
72
75
|
const { from, children, fallback, mode } = props
|
|
@@ -7,6 +7,10 @@ export interface ErrorBoundaryProps {
|
|
|
7
7
|
onError?: (error: Error) => void
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Catches errors in the children and renders a fallback component.
|
|
12
|
+
* @see https://kirujs.dev/docs/api/components/error-boundary
|
|
13
|
+
*/
|
|
10
14
|
export function ErrorBoundary({
|
|
11
15
|
children,
|
|
12
16
|
fallback,
|
|
@@ -1,40 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
when: Signalable<unknown>
|
|
36
|
-
fallback?: JSX.Element
|
|
37
|
-
}
|
|
38
|
-
export function Show({ children, when, fallback }: ShowProps): JSX.Element {
|
|
39
|
-
return !!unwrap(when, true) ? children : fallback
|
|
40
|
-
}
|
|
1
|
+
import { unwrap, type Signal } from "../signals/index.js"
|
|
2
|
+
|
|
3
|
+
type InferArraySignalItemType<T extends Signal<any[]> | readonly unknown[]> =
|
|
4
|
+
T extends Signal<infer V>
|
|
5
|
+
? V extends Array<infer W>
|
|
6
|
+
? W
|
|
7
|
+
: never
|
|
8
|
+
: T extends unknown[]
|
|
9
|
+
? T[number]
|
|
10
|
+
: never
|
|
11
|
+
|
|
12
|
+
type ForProps<
|
|
13
|
+
T extends Signal<any[]> | readonly unknown[],
|
|
14
|
+
U = InferArraySignalItemType<T>
|
|
15
|
+
> = {
|
|
16
|
+
each: T
|
|
17
|
+
fallback?: JSX.Element
|
|
18
|
+
children: (value: U, index: number, array: U[]) => JSX.Element
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Renders a list of items. If the list a Signal, it creates an automatically-updating list with fine-grained reactivity.
|
|
23
|
+
* If the list is empty, the fallback is rendered.
|
|
24
|
+
* @see https://kirujs.dev/docs/api/components/for
|
|
25
|
+
*/
|
|
26
|
+
export function For<T extends Signal<any[]> | unknown[]>({
|
|
27
|
+
each,
|
|
28
|
+
fallback,
|
|
29
|
+
children,
|
|
30
|
+
}: ForProps<T>) {
|
|
31
|
+
const items = unwrap(each, true)
|
|
32
|
+
if (items.length === 0) return fallback
|
|
33
|
+
return items.map(children)
|
|
34
|
+
}
|
package/src/components/index.ts
CHANGED
package/src/components/lazy.ts
CHANGED
|
@@ -28,6 +28,10 @@ const lazyCache: Map<string, LazyState> = isBrowser
|
|
|
28
28
|
(window.__KIRU_LAZY_CACHE ??= new Map<string, LazyState>())
|
|
29
29
|
: new Map<string, LazyState>()
|
|
30
30
|
|
|
31
|
+
/**
|
|
32
|
+
* Lazy loads a component and renders it when it is ready.
|
|
33
|
+
* @see https://kirujs.dev/docs/api/components/lazy
|
|
34
|
+
*/
|
|
31
35
|
export function lazy<T extends LazyImportValue>(
|
|
32
36
|
componentPromiseFn: () => Promise<T>
|
|
33
37
|
): Kiru.FC<LazyComponentProps<T>> {
|
package/src/components/portal.ts
CHANGED
|
@@ -9,6 +9,10 @@ interface PortalProps {
|
|
|
9
9
|
container: HTMLElement | (() => HTMLElement)
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* Escapes the application DOM tree and renders a child component in the given container.
|
|
14
|
+
* @see https://kirujs.dev/docs/api/components/portal
|
|
15
|
+
*/
|
|
12
16
|
export function Portal({ children, container }: PortalProps) {
|
|
13
17
|
const vNode = node.current!
|
|
14
18
|
if (!vNode.dom) {
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { unwrap } from "../signals/index.js"
|
|
2
|
+
import type { Truthy } from "../types.utils.js"
|
|
3
|
+
import type { Signalable } from "../types.js"
|
|
4
|
+
|
|
5
|
+
type ShowChildren<T> = (value: Truthy<T>) => JSX.Element
|
|
6
|
+
|
|
7
|
+
export interface ShowProps<T> {
|
|
8
|
+
children: ShowChildren<T> | Exclude<JSX.Element, ShowChildren<T>>
|
|
9
|
+
when: Signalable<T>
|
|
10
|
+
fallback?: JSX.Element
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Conditionally renders a child component based on the 'when' prop.
|
|
15
|
+
* If the 'when' prop is truthy, the child component is rendered.
|
|
16
|
+
* If the 'when' prop is falsy, the fallback component is rendered.
|
|
17
|
+
* If the 'when' prop is a Signal, it creates an automatically-updating component with fine-grained reactivity.
|
|
18
|
+
* @see https://kirujs.dev/docs/api/components/show
|
|
19
|
+
*/
|
|
20
|
+
export function Show<T>({
|
|
21
|
+
children,
|
|
22
|
+
when,
|
|
23
|
+
fallback,
|
|
24
|
+
}: ShowProps<T>): JSX.Element {
|
|
25
|
+
const value = unwrap(when, true)
|
|
26
|
+
if (!!value) {
|
|
27
|
+
return typeof children === "function"
|
|
28
|
+
? children(value as Truthy<T>)
|
|
29
|
+
: children
|
|
30
|
+
}
|
|
31
|
+
return fallback
|
|
32
|
+
}
|
|
@@ -21,6 +21,10 @@ interface TransitionProps {
|
|
|
21
21
|
onTransitionEnd?: (state: "entered" | "exited") => void
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
/**
|
|
25
|
+
* Animates the DOM in a procedural/coroutine-like fashion. Useful for modals, drawers, dialogs and more.
|
|
26
|
+
* @see https://kirujs.dev/docs/api/components/transition
|
|
27
|
+
*/
|
|
24
28
|
export const Transition: Kiru.FC<TransitionProps> = (props) => {
|
|
25
29
|
const tState = signal<TransitionState>(props.initialState || "exited")
|
|
26
30
|
let timeoutRef: number | undefined
|
package/src/hooks/setup.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { signal } from "../signals/index.js"
|
|
3
|
-
import type { Signal } from "../signals/base.js"
|
|
1
|
+
import { computed, signal } from "../signals/index.js"
|
|
4
2
|
import { createVNodeId } from "../utils/vdom.js"
|
|
5
3
|
import { __DEV__ } from "../env.js"
|
|
4
|
+
import { node, setups } from "../globals.js"
|
|
5
|
+
import type { Signal } from "../signals/base.js"
|
|
6
6
|
|
|
7
7
|
export interface Setup<Props extends {}> {
|
|
8
8
|
readonly derive: <T>(
|
|
@@ -48,7 +48,7 @@ function createSetup<Props extends {}>(vNode: Kiru.VNode): Setup<Props> {
|
|
|
48
48
|
return {
|
|
49
49
|
derive(selector) {
|
|
50
50
|
const props = { ...vNode.props } as InferredProps
|
|
51
|
-
const sig =
|
|
51
|
+
const sig = computed(() => selector(props))
|
|
52
52
|
propSyncs.push((p) => (sig.value = selector(p)))
|
|
53
53
|
return sig
|
|
54
54
|
},
|
package/src/signals/computed.ts
CHANGED
|
@@ -38,6 +38,10 @@ export class ComputedSignal<T> extends Signal<T> {
|
|
|
38
38
|
return super.value
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
+
set value(next: T) {
|
|
42
|
+
super.value = next
|
|
43
|
+
}
|
|
44
|
+
|
|
41
45
|
toString() {
|
|
42
46
|
this.ensureNotDirty()
|
|
43
47
|
return super.toString()
|
|
@@ -48,9 +52,6 @@ export class ComputedSignal<T> extends Signal<T> {
|
|
|
48
52
|
return super.peek()
|
|
49
53
|
}
|
|
50
54
|
|
|
51
|
-
// @ts-expect-error
|
|
52
|
-
set value(next: T) {}
|
|
53
|
-
|
|
54
55
|
subscribe(cb: (state: T, prevState?: T) => void): () => void {
|
|
55
56
|
if (this.$isDirty) {
|
|
56
57
|
ComputedSignal.run(this)
|
package/src/signals/index.ts
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ISSUES:
|
|
3
|
-
* 1. signal subscription when mixing local and global signals get reversed in hmr for ONLY the first update after HMR is dom
|
|
4
|
-
* 2. global computed will lose its vNode subscription on HMR
|
|
5
|
-
* */
|
|
6
|
-
|
|
7
1
|
export { Signal, signal } from "./base.js"
|
|
8
2
|
export { ComputedSignal, computed } from "./computed.js"
|
|
9
3
|
export { Effect, effect } from "./effect.js"
|
|
10
4
|
export { unwrap, tick } from "./utils.js"
|
|
11
|
-
export * from "./jsx.js"
|
|
12
5
|
export * from "./types.js"
|
package/src/types.utils.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../../src/signals/jsx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGvC,KAAK,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,OAAO,EAAE,IACxE,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GACrB,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,GACD,KAAK,GACP,CAAC,SAAS,OAAO,EAAE,GACjB,CAAC,CAAC,MAAM,CAAC,GACT,KAAK,CAAA;AAEb,KAAK,QAAQ,CACX,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,OAAO,EAAE,EAC5C,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,IAC7B;IACF,IAAI,EAAE,CAAC,CAAA;IACP,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,OAAO,CAAA;CAC/D,CAAA;AAED,wBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,EACvD,IAAI,EACJ,QAAQ,EACR,QAAQ,GACT,EAAE,QAAQ,CAAC,CAAC,CAAC,eAIb;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;IACrB,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;IACzB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB;AACD,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CAEzE"}
|
package/dist/signals/jsx.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { unwrap } from "./utils.js";
|
|
2
|
-
export function For({ each, fallback, children, }) {
|
|
3
|
-
const items = unwrap(each, true);
|
|
4
|
-
if (items.length === 0)
|
|
5
|
-
return fallback;
|
|
6
|
-
return items.map(children);
|
|
7
|
-
}
|
|
8
|
-
export function Show({ children, when, fallback }) {
|
|
9
|
-
return !!unwrap(when, true) ? children : fallback;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=jsx.js.map
|
package/dist/signals/jsx.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../src/signals/jsx.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAoBnC,MAAM,UAAU,GAAG,CAAsC,EACvD,IAAI,EACJ,QAAQ,EACR,QAAQ,GACI;IACZ,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA;IACvC,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC5B,CAAC;AAOD,MAAM,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAa;IAC1D,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;AACnD,CAAC"}
|