kiru 1.3.0 → 1.3.2
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/transition.d.ts +1 -2
- package/dist/components/transition.d.ts.map +1 -1
- package/dist/components/transition.js +13 -6
- package/dist/components/transition.js.map +1 -1
- package/dist/signals/types.d.ts +0 -3
- package/dist/signals/types.d.ts.map +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/transition.ts +16 -9
- package/src/signals/types.ts +0 -3
- package/src/types.ts +2 -2
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Signal } from "../signals/base.js";
|
|
2
1
|
export type TransitionState = "entering" | "entered" | "exiting" | "exited";
|
|
3
2
|
interface TransitionProps {
|
|
4
|
-
in: boolean | Signal<boolean>;
|
|
3
|
+
in: boolean | Kiru.Signal<boolean>;
|
|
5
4
|
/**
|
|
6
5
|
* Initial state of the transition
|
|
7
6
|
* @default "exited"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transition.d.ts","sourceRoot":"","sources":["../../src/components/transition.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transition.d.ts","sourceRoot":"","sources":["../../src/components/transition.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;AAC3E,UAAU,eAAe;IACvB,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAClC;;;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,CAiD/C,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { onMount } from "../hooks/onMount.js";
|
|
2
2
|
import { unwrap } from "../signals/utils.js";
|
|
3
3
|
import { setup } from "../hooks/setup.js";
|
|
4
4
|
/**
|
|
@@ -22,18 +22,25 @@ export const Transition = (props) => {
|
|
|
22
22
|
const queueStateChange = (transitionState) => {
|
|
23
23
|
timeoutRef = window.setTimeout(() => setTransitionState(transitionState), getTiming(transitionState, duration));
|
|
24
24
|
};
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
if (
|
|
25
|
+
const onInChange = (currentIn) => {
|
|
26
|
+
const t = tState.peek();
|
|
27
|
+
if (currentIn && t !== "entered" && t !== "entering") {
|
|
28
28
|
setTransitionState("entering");
|
|
29
29
|
queueStateChange("entered");
|
|
30
30
|
}
|
|
31
|
-
else if (!
|
|
31
|
+
else if (!currentIn && t !== "exited" && t !== "exiting") {
|
|
32
32
|
setTransitionState("exiting");
|
|
33
33
|
queueStateChange("exited");
|
|
34
34
|
}
|
|
35
|
+
};
|
|
36
|
+
const unsub = inState.subscribe(onInChange);
|
|
37
|
+
onMount(() => {
|
|
38
|
+
onInChange(inState.peek());
|
|
39
|
+
return () => {
|
|
40
|
+
unsub();
|
|
41
|
+
clearTimeout(timeoutRef);
|
|
42
|
+
};
|
|
35
43
|
});
|
|
36
|
-
onCleanup(() => (unsub(), clearTimeout(timeoutRef)));
|
|
37
44
|
return (props) => {
|
|
38
45
|
duration = props.duration;
|
|
39
46
|
onTransitionEnd = props.onTransitionEnd;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transition.js","sourceRoot":"","sources":["../../src/components/transition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"transition.js","sourceRoot":"","sources":["../../src/components/transition.ts"],"names":[],"mappings":"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"}
|
package/dist/signals/types.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import type { Signal } from "./base.js";
|
|
2
|
-
export type ReadonlySignal<T> = Signal<T> & {
|
|
3
|
-
readonly value: T;
|
|
4
|
-
};
|
|
5
2
|
export type SignalSubscriber<T = unknown> = (value: T, prevValue?: T) => void;
|
|
6
3
|
export type SignalValues<T extends readonly Signal<unknown>[]> = {
|
|
7
4
|
[I in keyof T]: T[I] extends Signal<infer V> ? V extends Kiru.StatefulPromise<infer P> ? P : V : never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/signals/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/signals/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;AAE7E,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI;KAC9D,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GACxC,CAAC,SAAS,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GACrC,CAAC,GACD,CAAC,GACH,KAAK;CACV,CAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Signal as SignalClass } from "./signals";
|
|
2
2
|
import type { $CONTEXT, $ERROR_BOUNDARY, $FRAGMENT } from "./constants";
|
|
3
3
|
import type { KiruGlobalContext } from "./globalContext";
|
|
4
4
|
import type { GlobalAttributes, HtmlElementAttributes, SvgElementAttributes, SvgGlobalAttributes, StyleObject, HtmlElementBindableProps, HTMLTagToElement, SVGTagToElement } from "./types.dom";
|
|
@@ -91,7 +91,7 @@ declare global {
|
|
|
91
91
|
}
|
|
92
92
|
type RenderMode = "dom" | "hydrate" | "string" | "stream";
|
|
93
93
|
type StateSetter<T> = T | ((prev: T) => T);
|
|
94
|
-
type Signal<T> = SignalClass<T
|
|
94
|
+
type Signal<T> = SignalClass<T>;
|
|
95
95
|
type ExoticSymbol = typeof $FRAGMENT | typeof $CONTEXT | typeof $ERROR_BOUNDARY;
|
|
96
96
|
interface Element {
|
|
97
97
|
type: (Function & {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Signal } from "../signals/base.js"
|
|
1
|
+
import { onMount } from "../hooks/onMount.js"
|
|
3
2
|
import { unwrap } from "../signals/utils.js"
|
|
4
3
|
import { setup } from "../hooks/setup.js"
|
|
5
4
|
|
|
6
5
|
export type TransitionState = "entering" | "entered" | "exiting" | "exited"
|
|
7
6
|
interface TransitionProps {
|
|
8
|
-
in: boolean | Signal<boolean>
|
|
7
|
+
in: boolean | Kiru.Signal<boolean>
|
|
9
8
|
/**
|
|
10
9
|
* Initial state of the transition
|
|
11
10
|
* @default "exited"
|
|
@@ -48,18 +47,26 @@ export const Transition: Kiru.FC<TransitionProps> = (props) => {
|
|
|
48
47
|
)
|
|
49
48
|
}
|
|
50
49
|
|
|
51
|
-
const
|
|
52
|
-
const
|
|
53
|
-
if (
|
|
50
|
+
const onInChange = (currentIn: boolean) => {
|
|
51
|
+
const t = tState.peek()
|
|
52
|
+
if (currentIn && t !== "entered" && t !== "entering") {
|
|
54
53
|
setTransitionState("entering")
|
|
55
54
|
queueStateChange("entered")
|
|
56
|
-
} else if (!
|
|
55
|
+
} else if (!currentIn && t !== "exited" && t !== "exiting") {
|
|
57
56
|
setTransitionState("exiting")
|
|
58
57
|
queueStateChange("exited")
|
|
59
58
|
}
|
|
60
|
-
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const unsub = inState.subscribe(onInChange)
|
|
61
62
|
|
|
62
|
-
|
|
63
|
+
onMount(() => {
|
|
64
|
+
onInChange(inState.peek())
|
|
65
|
+
return () => {
|
|
66
|
+
unsub()
|
|
67
|
+
clearTimeout(timeoutRef)
|
|
68
|
+
}
|
|
69
|
+
})
|
|
63
70
|
|
|
64
71
|
return (props) => {
|
|
65
72
|
duration = props.duration
|
package/src/signals/types.ts
CHANGED
package/src/types.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Signal as SignalClass } from "./signals"
|
|
2
2
|
import type { $CONTEXT, $ERROR_BOUNDARY, $FRAGMENT } from "./constants"
|
|
3
3
|
import type { KiruGlobalContext } from "./globalContext"
|
|
4
4
|
import type {
|
|
@@ -154,7 +154,7 @@ declare global {
|
|
|
154
154
|
|
|
155
155
|
type StateSetter<T> = T | ((prev: T) => T)
|
|
156
156
|
|
|
157
|
-
type Signal<T> = SignalClass<T>
|
|
157
|
+
type Signal<T> = SignalClass<T>
|
|
158
158
|
|
|
159
159
|
type ExoticSymbol =
|
|
160
160
|
| typeof $FRAGMENT
|