@wardic/solid 1.0.0-rc.4 → 1.0.0-rc.5
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/browser/feature.js +10 -0
- package/dist/browser/feature.js.map +1 -1
- package/dist/browser/features/input.js +2 -5
- package/dist/browser/features/input.js.map +1 -1
- package/dist/browser/features/scroll.js +21 -0
- package/dist/browser/features/scroll.js.map +1 -0
- package/dist/browser/index.js +4 -2
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/layout.js +1 -1
- package/dist/browser/layout.js.map +1 -1
- package/dist/browser/live-scroll.js +115 -0
- package/dist/browser/live-scroll.js.map +1 -0
- package/dist/browser/live-value.js +10 -97
- package/dist/browser/live-value.js.map +1 -1
- package/dist/browser/reorder.js +14 -10
- package/dist/browser/reorder.js.map +1 -1
- package/dist/browser/unstable/v2/index.js +3 -1
- package/dist/browser/unstable/v2/index.js.map +1 -1
- package/dist/browser/unstable/v2/layout.js +1 -1
- package/dist/browser/unstable/v2/layout.js.map +1 -1
- package/dist/browser/unstable/v2/live-scroll.js +127 -0
- package/dist/browser/unstable/v2/live-scroll.js.map +1 -0
- package/dist/browser/unstable/v2/live-value.js +5 -104
- package/dist/browser/unstable/v2/live-value.js.map +1 -1
- package/dist/browser/unstable/v2/provider.js +13 -7
- package/dist/browser/unstable/v2/provider.js.map +1 -1
- package/dist/server/feature.js +10 -0
- package/dist/server/feature.js.map +1 -1
- package/dist/server/features/input.js +2 -5
- package/dist/server/features/input.js.map +1 -1
- package/dist/server/features/scroll.js +21 -0
- package/dist/server/features/scroll.js.map +1 -0
- package/dist/server/index.js +4 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/layout.js +1 -1
- package/dist/server/layout.js.map +1 -1
- package/dist/server/live-scroll.js +115 -0
- package/dist/server/live-scroll.js.map +1 -0
- package/dist/server/live-value.js +10 -97
- package/dist/server/live-value.js.map +1 -1
- package/dist/server/reorder.js +14 -10
- package/dist/server/reorder.js.map +1 -1
- package/dist/server/unstable/v2/index.js +3 -1
- package/dist/server/unstable/v2/index.js.map +1 -1
- package/dist/server/unstable/v2/layout.js +1 -1
- package/dist/server/unstable/v2/layout.js.map +1 -1
- package/dist/server/unstable/v2/live-scroll.js +127 -0
- package/dist/server/unstable/v2/live-scroll.js.map +1 -0
- package/dist/server/unstable/v2/live-value.js +5 -104
- package/dist/server/unstable/v2/live-value.js.map +1 -1
- package/dist/server/unstable/v2/provider.js +13 -7
- package/dist/server/unstable/v2/provider.js.map +1 -1
- package/dist/solid/feature.d.ts +5 -0
- package/dist/solid/feature.d.ts.map +1 -1
- package/dist/solid/feature.js +10 -0
- package/dist/solid/feature.js.map +1 -1
- package/dist/solid/features/input.d.ts.map +1 -1
- package/dist/solid/features/input.js +2 -6
- package/dist/solid/features/input.js.map +1 -1
- package/dist/solid/features/scroll.d.ts +16 -0
- package/dist/solid/features/scroll.d.ts.map +1 -0
- package/dist/solid/features/scroll.js +21 -0
- package/dist/solid/features/scroll.js.map +1 -0
- package/dist/solid/index.d.ts +5 -2
- package/dist/solid/index.d.ts.map +1 -1
- package/dist/solid/index.js +4 -2
- package/dist/solid/index.js.map +1 -1
- package/dist/solid/layout.jsx +1 -1
- package/dist/solid/layout.jsx.map +1 -1
- package/dist/solid/live-scroll.d.ts +47 -0
- package/dist/solid/live-scroll.d.ts.map +1 -0
- package/dist/solid/live-scroll.js +84 -0
- package/dist/solid/live-scroll.js.map +1 -0
- package/dist/solid/live-value.d.ts +4 -45
- package/dist/solid/live-value.d.ts.map +1 -1
- package/dist/solid/live-value.js +11 -66
- package/dist/solid/live-value.js.map +1 -1
- package/dist/solid/reorder.d.ts.map +1 -1
- package/dist/solid/reorder.jsx +11 -6
- package/dist/solid/reorder.jsx.map +1 -1
- package/dist/solid/unstable/v2/index.d.ts +4 -2
- package/dist/solid/unstable/v2/index.d.ts.map +1 -1
- package/dist/solid/unstable/v2/index.js +3 -1
- package/dist/solid/unstable/v2/index.js.map +1 -1
- package/dist/solid/unstable/v2/layout.jsx +1 -1
- package/dist/solid/unstable/v2/layout.jsx.map +1 -1
- package/dist/solid/unstable/v2/live-scroll.d.ts +47 -0
- package/dist/solid/unstable/v2/live-scroll.d.ts.map +1 -0
- package/dist/solid/unstable/v2/live-scroll.js +93 -0
- package/dist/solid/unstable/v2/live-scroll.js.map +1 -0
- package/dist/solid/unstable/v2/live-value.d.ts +4 -45
- package/dist/solid/unstable/v2/live-value.d.ts.map +1 -1
- package/dist/solid/unstable/v2/live-value.js +5 -70
- package/dist/solid/unstable/v2/live-value.js.map +1 -1
- package/dist/solid/unstable/v2/provider.d.ts.map +1 -1
- package/dist/solid/unstable/v2/provider.jsx +14 -7
- package/dist/solid/unstable/v2/provider.jsx.map +1 -1
- package/package.json +4 -4
- package/src/feature.ts +17 -0
- package/src/features/input.ts +2 -10
- package/src/features/scroll.ts +21 -0
- package/src/index.ts +4 -5
- package/src/layout.tsx +1 -1
- package/src/live-scroll.ts +125 -0
- package/src/live-value.ts +11 -106
- package/src/reorder.tsx +11 -6
- package/src/unstable/v2/index.ts +3 -5
- package/src/unstable/v2/layout.tsx +1 -1
- package/src/unstable/v2/live-scroll.ts +136 -0
- package/src/unstable/v2/live-value.ts +5 -111
- package/src/unstable/v2/provider.tsx +19 -13
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as LiveValue from "@wardic/core/LiveValue";
|
|
2
|
-
import type * as ScrollOffset from "@wardic/dom/ScrollOffset";
|
|
3
2
|
import { type Accessor } from "solid-js";
|
|
4
3
|
import { type FollowAccessor, type FollowValueOptions, type LiveSource, type SpringAccessor, type WillChange } from "../../live-style.ts";
|
|
4
|
+
/** What a helper's Scope reports when one of its finalizers fails as its owner goes. */
|
|
5
|
+
export declare const CLOSE_FAILED = "wardic.liveValue: a finalizer failed";
|
|
5
6
|
/**
|
|
6
7
|
* A value mapped from another: through a function, `createTransform(x, (x) => x * 2)`, or through
|
|
7
8
|
* ranges, `createTransform(x, input, output)`: a source at `input[i]` gives `output[i]`, and one between
|
|
@@ -73,6 +74,8 @@ export declare const createVelocity: (source: LiveSource<number>) => Accessor<nu
|
|
|
73
74
|
* @see https://wardic.dev/reference/solid/live-values/create-time
|
|
74
75
|
*/
|
|
75
76
|
export declare const createTime: () => Accessor<number>;
|
|
77
|
+
/** A server render's value of a Live helper: 0, and no Atom. Internal. */
|
|
78
|
+
export declare const SERVER_ZERO: Accessor<number>;
|
|
76
79
|
/**
|
|
77
80
|
* A `will-change` for an element's `style`: `"auto"` until the element first animates a transform key,
|
|
78
81
|
* `opacity`, `clipPath`, `filter` or `backgroundColor`, or is dragged; then `"transform"`, for good, so
|
|
@@ -99,48 +102,4 @@ export declare const createWillChange: () => Accessor<WillChange>;
|
|
|
99
102
|
* @see https://wardic.dev/reference/solid/live-values/create-animation-frame
|
|
100
103
|
*/
|
|
101
104
|
export declare const createAnimationFrame: (callback: (time: number, delta: number) => void) => void;
|
|
102
|
-
/** An element, or an accessor of one, such as `() => box` for a ref: read once it's there. */
|
|
103
|
-
export type ElementSource = Element | Accessor<Element | undefined>;
|
|
104
|
-
/** `createScroll`'s options, as Motion's `useScroll`'s. */
|
|
105
|
-
export interface ScrollOptions {
|
|
106
|
-
/** The scrolling element, as an accessor of its ref: `() => box`. The page's scroll when left out. */
|
|
107
|
-
readonly container?: ElementSource;
|
|
108
|
-
/** An element whose way through the container the progress reads, between the `offset`s. */
|
|
109
|
-
readonly target?: ElementSource;
|
|
110
|
-
/**
|
|
111
|
-
* Where the progress runs, as Motion's: each stop pairs an edge of the target with an edge of the
|
|
112
|
-
* container, `["start end", "end start"]`, 0 at the first and 1 at the last. An edge is `start`,
|
|
113
|
-
* `center` or `end`, a fraction, or a length. With a target, `["start start", "end end"]` by default.
|
|
114
|
-
*/
|
|
115
|
-
readonly offset?: ScrollOffset.ScrollOffset;
|
|
116
|
-
/** The axis `target` and `offset` read: `"y"` (the default) or `"x"`. */
|
|
117
|
-
readonly axis?: "x" | "y";
|
|
118
|
-
}
|
|
119
|
-
/** `createScroll`'s values, Motion's four, each an accessor. */
|
|
120
|
-
export interface ScrollValues {
|
|
121
|
-
/** How far it's scrolled across, in pixels. */
|
|
122
|
-
readonly scrollX: Accessor<number>;
|
|
123
|
-
/** How far it's scrolled down, in pixels. */
|
|
124
|
-
readonly scrollY: Accessor<number>;
|
|
125
|
-
/** Its progress across, from 0 to 1: through its range, or, with a `target` or `offset`, through theirs. */
|
|
126
|
-
readonly scrollXProgress: Accessor<number>;
|
|
127
|
-
/** Its progress down, from 0 to 1: through its range, or, with a `target` or `offset`, through theirs. */
|
|
128
|
-
readonly scrollYProgress: Accessor<number>;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* A scroll as values: `scrollX` and `scrollY`, how far it's scrolled, in pixels, and `scrollXProgress`
|
|
132
|
-
* and `scrollYProgress`, from 0 to 1 through its range. The page's, or a `container`'s. With a
|
|
133
|
-
* `target`, the progress is the target's way through, between two `offset`s, on `axis`. Each is set in
|
|
134
|
-
* the scroll's own event, so a value derived from one paints in the frame that shows the scroll. A
|
|
135
|
-
* `container` or `target` given as an accessor of a ref reads 0s until the ref is there. 0s on a
|
|
136
|
-
* server. Motion's `useScroll`.
|
|
137
|
-
*
|
|
138
|
-
* @example
|
|
139
|
-
* let box!: HTMLDivElement
|
|
140
|
-
* const { scrollYProgress } = createScroll({ container: () => box })
|
|
141
|
-
* <div ref={box}>…</div>
|
|
142
|
-
* <w.div style={{ scaleX: scrollYProgress }} />
|
|
143
|
-
* @see https://wardic.dev/reference/solid/live-values/create-scroll
|
|
144
|
-
*/
|
|
145
|
-
export declare const createScroll: (options?: ScrollOptions) => ScrollValues;
|
|
146
105
|
//# sourceMappingURL=live-value.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-value.d.ts","sourceRoot":"","sources":["../../../../src/unstable/v2/live-value.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"live-value.d.ts","sourceRoot":"","sources":["../../../../src/unstable/v2/live-value.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAA;AAQnD,OAAO,EAAE,KAAK,QAAQ,EAAgD,MAAM,UAAU,CAAA;AACtF,OAAO,EAEL,KAAK,cAAc,EAGnB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAKf,KAAK,cAAc,EAEnB,KAAK,UAAU,EAGhB,MAAM,qBAAqB,CAAA;AAiC5B,wFAAwF;AACxF,eAAO,MAAM,YAAY,yCAAyC,CAAA;AAUlE;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;AAC1F,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACvD,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAC1B,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,GACtC,QAAQ,CAAC,CAAC,CAAC,CAAA;AACd,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;AAmDhL;;;;;;;;;;;;;GAaG;AAGH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;AACnH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;AAyBnH;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;AACnH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;AAKnH;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,WAAY,UAAU,CAAC,MAAM,CAAC,KAAG,QAAQ,CAAC,MAAM,CAI1E,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,QAAO,QAAQ,CAAC,MAAM,CAG5C,CAAA;AAED,0EAA0E;AAC1E,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAW,CAAA;AAEpD;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,gBAAgB,QAAO,QAAQ,CAAC,UAAU,CAItD,CAAA;AAID;;;;;;;;;;;;GAYG;AAGH,eAAO,MAAM,oBAAoB,aAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,KAAG,IAMtF,CAAA"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
import * as LiveValue from "@wardic/core/LiveValue";
|
|
2
|
-
import * as Arr from "effect/Array";
|
|
3
2
|
import * as Bool from "effect/Boolean";
|
|
4
3
|
import * as Effect from "effect/Effect";
|
|
5
|
-
import * as Option from "effect/Option";
|
|
6
4
|
import * as Predicate from "effect/Predicate";
|
|
7
5
|
import { Atom, AtomRegistry } from "effect/reactivity";
|
|
8
|
-
import * as Rec from "effect/Record";
|
|
9
6
|
import * as Scope from "effect/Scope";
|
|
10
7
|
import * as UndefinedOr from "effect/UndefinedOr";
|
|
11
8
|
import { isServer } from "@solidjs/web";
|
|
12
|
-
import { createEffect, createMemo,
|
|
9
|
+
import { createEffect, createMemo, onCleanup, untrack } from "solid-js";
|
|
13
10
|
import { atomOf, followAccessorOf, followOptionsOf, numberOf, readLive, serverFollowOf, serverRegistryOf, unitOf, willChangeOf, withUnit, } from "../../live-style.js";
|
|
14
11
|
import { eachFrameOf } from "../../animation-frame.js";
|
|
15
12
|
import * as OwnerScope from "../../owner-scope.js";
|
|
16
13
|
import { withServerInterpolators } from "../../server-interpolators.js";
|
|
17
14
|
import { followAtom } from "./bridge.js";
|
|
18
|
-
import { CLIENT_ONLY, CLIENT_ONLY_DEFERRED
|
|
15
|
+
import { CLIENT_ONLY, CLIENT_ONLY_DEFERRED } from "./solid-reactivity.js";
|
|
19
16
|
import { useWardicRuntime, useWardicSkipAnimations } from "./provider.jsx";
|
|
20
17
|
/** A Live value read now on a server: an Atom through a server's own registry, an accessor called. */
|
|
21
18
|
const readOnServer = (source) => readLive(source, serverRegistryOf, untrack);
|
|
@@ -34,7 +31,7 @@ const sourceAtomOf = (source, registry) => UndefinedOr.match(atomOf(source), {
|
|
|
34
31
|
onDefined: (atom) => atom,
|
|
35
32
|
});
|
|
36
33
|
/** What a helper's Scope reports when one of its finalizers fails as its owner goes. */
|
|
37
|
-
const CLOSE_FAILED = "wardic.liveValue: a finalizer failed";
|
|
34
|
+
export const CLOSE_FAILED = "wardic.liveValue: a finalizer failed";
|
|
38
35
|
/** A helper's Atom, made on the provider's runtime in a Scope its owner's disposal closes, as an accessor carrying it. */
|
|
39
36
|
const liveOf = (runtime, live) => {
|
|
40
37
|
const scope = OwnerScope.open(runtime);
|
|
@@ -126,7 +123,8 @@ export const createTime = () => {
|
|
|
126
123
|
return SERVER_ZERO;
|
|
127
124
|
return liveOf(useWardicRuntime(), LiveValue.time());
|
|
128
125
|
};
|
|
129
|
-
|
|
126
|
+
/** A server render's value of a Live helper: 0, and no Atom. Internal. */
|
|
127
|
+
export const SERVER_ZERO = () => 0;
|
|
130
128
|
/**
|
|
131
129
|
* A `will-change` for an element's `style`: `"auto"` until the element first animates a transform key,
|
|
132
130
|
* `opacity`, `clipPath`, `filter` or `backgroundColor`, or is dragged; then `"transform"`, for good, so
|
|
@@ -169,67 +167,4 @@ export const createAnimationFrame = (callback) => {
|
|
|
169
167
|
onCleanup(() => OwnerScope.close(runtime, scope, CLOSE_FAILED));
|
|
170
168
|
runtime.runSync(eachFrameOf(runtime, callback).pipe(Scope.provide(scope)));
|
|
171
169
|
};
|
|
172
|
-
const SCROLL_KEYS = ["scrollX", "scrollY", "scrollXProgress", "scrollYProgress"];
|
|
173
|
-
/** `createScroll`'s elements before the render has settled: none yet. */
|
|
174
|
-
const NOT_YET = { container: Option.none(), target: Option.none() };
|
|
175
|
-
const SERVER_SCROLL = { scrollX: SERVER_ZERO, scrollY: SERVER_ZERO, scrollXProgress: SERVER_ZERO, scrollYProgress: SERVER_ZERO };
|
|
176
|
-
/** An element source read now: `None` for an accessor whose ref hasn't arrived. */
|
|
177
|
-
const elementOf = (source) => Bool.match(Predicate.isFunction(source), {
|
|
178
|
-
onTrue: () => Option.fromUndefinedOr(source()),
|
|
179
|
-
onFalse: () => Option.some(source),
|
|
180
|
-
});
|
|
181
|
-
/**
|
|
182
|
-
* A scroll as values: `scrollX` and `scrollY`, how far it's scrolled, in pixels, and `scrollXProgress`
|
|
183
|
-
* and `scrollYProgress`, from 0 to 1 through its range. The page's, or a `container`'s. With a
|
|
184
|
-
* `target`, the progress is the target's way through, between two `offset`s, on `axis`. Each is set in
|
|
185
|
-
* the scroll's own event, so a value derived from one paints in the frame that shows the scroll. A
|
|
186
|
-
* `container` or `target` given as an accessor of a ref reads 0s until the ref is there. 0s on a
|
|
187
|
-
* server. Motion's `useScroll`.
|
|
188
|
-
*
|
|
189
|
-
* @example
|
|
190
|
-
* let box!: HTMLDivElement
|
|
191
|
-
* const { scrollYProgress } = createScroll({ container: () => box })
|
|
192
|
-
* <div ref={box}>…</div>
|
|
193
|
-
* <w.div style={{ scaleX: scrollYProgress }} />
|
|
194
|
-
* @see https://wardic.dev/reference/solid/live-values/create-scroll
|
|
195
|
-
*/
|
|
196
|
-
// #234. An accessor `container` or `target` is read in an effect, and a change of either follows the
|
|
197
|
-
// new one. Each value carries one Atom for its life.
|
|
198
|
-
export const createScroll = (options = {}) => {
|
|
199
|
-
if (isServer)
|
|
200
|
-
return SERVER_SCROLL;
|
|
201
|
-
const runtime = useWardicRuntime();
|
|
202
|
-
const registry = runtime.runSync(AtomRegistry.AtomRegistry);
|
|
203
|
-
// Its own four Atoms, set from the scroll of the elements there now.
|
|
204
|
-
const outs = Rec.fromIterableWith(SCROLL_KEYS, (key) => [key, Atom.make(0)]);
|
|
205
|
-
Arr.forEach(SCROLL_KEYS, (key) => onCleanup(registry.mount(outs[key])));
|
|
206
|
-
// Its elements are read once the render has settled: a ref given as `() => box` is set during the
|
|
207
|
-
// render, after this effect's first compute, and isn't a signal, so nothing would read it again.
|
|
208
|
-
const [settled, setSettled] = createSignal(false);
|
|
209
|
-
onSettledClientOnly(() => {
|
|
210
|
-
setSettled(true);
|
|
211
|
-
});
|
|
212
|
-
createEffect(() => Bool.match(settled(), {
|
|
213
|
-
onTrue: () => ({ container: elementOf(options.container), target: elementOf(options.target) }),
|
|
214
|
-
onFalse: () => NOT_YET,
|
|
215
|
-
}), ({ container, target }) => {
|
|
216
|
-
// A ref not there yet: the values hold until it is.
|
|
217
|
-
if (Bool.or(Option.isNone(container), Option.isNone(target)))
|
|
218
|
-
return undefined;
|
|
219
|
-
const scope = OwnerScope.open(runtime);
|
|
220
|
-
const values = runtime.runSync(LiveValue.scroll({
|
|
221
|
-
...UndefinedOr.match(Option.getOrUndefined(container), { onUndefined: () => ({}), onDefined: (element) => ({ container: element }) }),
|
|
222
|
-
...UndefinedOr.match(Option.getOrUndefined(target), { onUndefined: () => ({}), onDefined: (element) => ({ target: element }) }),
|
|
223
|
-
...UndefinedOr.match(options.offset, { onUndefined: () => ({}), onDefined: (offset) => ({ offset }) }),
|
|
224
|
-
...UndefinedOr.match(options.axis, { onUndefined: () => ({}), onDefined: (axis) => ({ axis }) }),
|
|
225
|
-
}).pipe(Scope.provide(scope)));
|
|
226
|
-
// Each derived Atom is read at once: it tracks the scroll only once it's been read.
|
|
227
|
-
const stops = Arr.map(SCROLL_KEYS, (key) => registry.subscribe(values[key], (v) => registry.set(outs[key], v), { immediate: true }));
|
|
228
|
-
return () => {
|
|
229
|
-
Arr.forEach(stops, (stop) => stop());
|
|
230
|
-
OwnerScope.close(runtime, scope, CLOSE_FAILED);
|
|
231
|
-
};
|
|
232
|
-
}, CLIENT_ONLY);
|
|
233
|
-
return Rec.map(outs, (atom) => followAtom(registry, atom));
|
|
234
|
-
};
|
|
235
170
|
//# sourceMappingURL=live-value.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-value.js","sourceRoot":"","sources":["../../../../src/unstable/v2/live-value.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"live-value.js","sourceRoot":"","sources":["../../../../src/unstable/v2/live-value.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/unstable/v2/provider.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAMrC,OAAO,KAAK,KAAK,iBAAiB,MAAM,gCAAgC,CAAA;AACxE,OAAO,KAAK,KAAK,aAAa,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,KAAK,SAAS,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,KAAK,gBAAgB,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,KAAK,OAAO,EAAY,KAAK,GAAG,EAAW,MAAM,cAAc,CAAA;AAExE,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAuB,MAAM,kBAAkB,CAAA;AAElI,OAAO,EAAe,KAAK,YAAY,EAAgB,MAAM,iBAAiB,CAAA;AAC9E,OAAO,EAUL,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EAAmB,KAAK,iBAAiB,EAAgC,MAAM,kBAAkB,CAAA;AACxG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/unstable/v2/provider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,18 @@ const applyAndFlush = (apply) => {
|
|
|
52
52
|
const WardicContext = createContext(null);
|
|
53
53
|
/** The nearest provider's value, `undefined` outside one. */
|
|
54
54
|
const contextValue = () => Option.getOrUndefined(Option.fromNullishOr(useContext(WardicContext)));
|
|
55
|
+
/**
|
|
56
|
+
* A provider's context: a server render's, inert, or the client's. Decided by a plain `if`: a client
|
|
57
|
+
* build folds `isServer` and drops the server render's code, where `Bool.match` kept it (#518: 8.4 KB
|
|
58
|
+
* gzipped in every Solid 2 app). `env` and `appear` are read once, as the provider's docs say.
|
|
59
|
+
*/
|
|
60
|
+
const contextOf = (given) => {
|
|
61
|
+
if (isServer)
|
|
62
|
+
return serverContext(given.env, serverAppearOf(given.appear, given.reducedMotion, given.nonce), () => untrack(() => given.reducedMotion));
|
|
63
|
+
return clientContext(given.env, applyAndFlush, () => untrack(() => given.reducedMotion),
|
|
64
|
+
// The provider's setting, tracked too: `createReducedMotionConfig` reads it where it tracks (#584).
|
|
65
|
+
() => given.reducedMotion, untrack(() => given.scaleCorrectors));
|
|
66
|
+
};
|
|
55
67
|
/**
|
|
56
68
|
* Puts Wardic in your app: every Wardic element sits under one. Give it the Environment, `DomLive` in
|
|
57
69
|
* a browser, and the Features your elements use.
|
|
@@ -66,12 +78,7 @@ const contextValue = () => Option.getOrUndefined(Option.fromNullishOr(useContext
|
|
|
66
78
|
// unmount, inert during a server render (ADR-0021). reducedMotion is read as each animation starts
|
|
67
79
|
// (ADR-0029), a WardicConfig's over it (#434); appear (ADR-0044, #585) on the server once.
|
|
68
80
|
export function WardicProvider(props) {
|
|
69
|
-
const value =
|
|
70
|
-
onTrue: () => serverContext(props.env, serverAppearOf(props.appear, props.reducedMotion, props.nonce), () => untrack(() => props.reducedMotion)),
|
|
71
|
-
onFalse: () => clientContext(props.env, applyAndFlush, () => untrack(() => props.reducedMotion),
|
|
72
|
-
// eslint-disable-next-line solid/reactivity -- the provider's setting, tracked too: `createReducedMotionConfig` reads it where it tracks (#584)
|
|
73
|
-
() => props.reducedMotion, untrack(() => props.scaleCorrectors)),
|
|
74
|
-
});
|
|
81
|
+
const value = contextOf(props);
|
|
75
82
|
// Disposing the runtime closes its Scope: the projection system, then the gate (#132). Its
|
|
76
83
|
// disposal rejects first, ending every `animateLayout` still waiting: their flights won't end (#257).
|
|
77
84
|
let abort = constUndefined;
|
|
@@ -92,7 +99,7 @@ export function WardicProvider(props) {
|
|
|
92
99
|
// element mounted after pays none of it. One mounted before then builds it itself, as before. Asked
|
|
93
100
|
// for here, with no computation of the provider's own (an `onSettled`'s would shift a hydration's
|
|
94
101
|
// owners from the server's), and on the client alone.
|
|
95
|
-
if (
|
|
102
|
+
if (!isServer)
|
|
96
103
|
onCleanup(whenIdle(() => prepareIdle(value, section)));
|
|
97
104
|
return <WardicContext value={value}>{props.children}</WardicContext>;
|
|
98
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.jsx","sourceRoot":"","sources":["../../../../src/unstable/v2/provider.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider.jsx","sourceRoot":"","sources":["../../../../src/unstable/v2/provider.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wardic/solid",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.5",
|
|
4
4
|
"description": "Motion for React's API on Solid 1 and Solid 2: Wardic's elements, gestures, layout and presence animations.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"animation",
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
70
|
"@solid-primitives/refs": "^1.1.3",
|
|
71
|
-
"@wardic/core": "1.0.0-rc.
|
|
72
|
-
"@wardic/dom": "1.0.0-rc.
|
|
71
|
+
"@wardic/core": "1.0.0-rc.5",
|
|
72
|
+
"@wardic/dom": "1.0.0-rc.5",
|
|
73
73
|
"csstype": "^3.1.0"
|
|
74
74
|
},
|
|
75
75
|
"peerDependencies": {
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"@solidjs/router-2": "npm:@solidjs/router@2.0.0-next.43",
|
|
92
92
|
"@solidjs/web": "2.0.0-rc.20",
|
|
93
93
|
"@types/babel__core": "^7.20.5",
|
|
94
|
-
"@wardic/test": "1.0.0-rc.
|
|
94
|
+
"@wardic/test": "1.0.0-rc.5",
|
|
95
95
|
"babel-preset-solid": "1.9.12",
|
|
96
96
|
"effect": "4.1.1",
|
|
97
97
|
"solid-js": "^1.9.18",
|
package/src/feature.ts
CHANGED
|
@@ -52,6 +52,23 @@ export type FeatureLoad = () => Promise<Features>
|
|
|
52
52
|
/** Features given to a `WardicProvider` or a `LazyWardic`: at once, or loaded lazily. */
|
|
53
53
|
export type FeaturesProp = Features | FeatureLoad
|
|
54
54
|
|
|
55
|
+
/**
|
|
56
|
+
* `key`'s Layer for a Feature: the Environment's service when it gives one (`@wardic/test`'s `TestLive`),
|
|
57
|
+
* else `layer`, the DOM's, which a provider's `MemoMap` builds once for every Feature standing on it.
|
|
58
|
+
*/
|
|
59
|
+
// ADR-0067 decision 14 (the gestures' input) and *Amendment (#518)*, decision 5 (the scroll). A Feature
|
|
60
|
+
// module's call to it is marked pure, so an app that never imports the module drops `layer`.
|
|
61
|
+
export const fromEnvironmentOr = <I, S, R>(key: Context.Key<I, S>, layer: Layer.Layer<I, never, R>): Layer.Layer<I, never, R> =>
|
|
62
|
+
Layer.unwrap(
|
|
63
|
+
Effect.map(
|
|
64
|
+
Effect.serviceOption(key),
|
|
65
|
+
Option.match({
|
|
66
|
+
onSome: (given): Layer.Layer<I, never, R> => Layer.succeed(key)(given),
|
|
67
|
+
onNone: (): Layer.Layer<I, never, R> => layer,
|
|
68
|
+
}),
|
|
69
|
+
),
|
|
70
|
+
)
|
|
71
|
+
|
|
55
72
|
/** Features as one flat list, each once, in order. */
|
|
56
73
|
export const flatten = (features: Features): ReadonlyArray<Feature> => Arr.dedupeWith(flattenInto(features), (a, b) => a === b)
|
|
57
74
|
|
package/src/features/input.ts
CHANGED
|
@@ -10,7 +10,7 @@ import * as DomInput from "@wardic/dom/DomInput"
|
|
|
10
10
|
import * as Context from "effect/Context"
|
|
11
11
|
import * as Effect from "effect/Effect"
|
|
12
12
|
import * as Layer from "effect/Layer"
|
|
13
|
-
import
|
|
13
|
+
import { fromEnvironmentOr } from "../feature.ts"
|
|
14
14
|
import type { ProviderServices } from "../runtime.ts"
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -18,15 +18,7 @@ import type { ProviderServices } from "../runtime.ts"
|
|
|
18
18
|
* test's pushed input), else the DOM's, built over the page's `document`. One Layer, so a provider's
|
|
19
19
|
* `MemoMap` builds it once for every gesture Feature it has.
|
|
20
20
|
*/
|
|
21
|
-
export const input: Layer.Layer<InputSource.InputSource> = /*#__PURE__*/
|
|
22
|
-
/*#__PURE__*/ Effect.map(
|
|
23
|
-
Effect.serviceOption(InputSource.InputSource),
|
|
24
|
-
Option.match({
|
|
25
|
-
onSome: (given): Layer.Layer<InputSource.InputSource> => Layer.succeed(InputSource.InputSource)(given),
|
|
26
|
-
onNone: (): Layer.Layer<InputSource.InputSource> => DomInput.layer,
|
|
27
|
-
}),
|
|
28
|
-
),
|
|
29
|
-
)
|
|
21
|
+
export const input: Layer.Layer<InputSource.InputSource> = /*#__PURE__*/ fromEnvironmentOr(InputSource.InputSource, DomInput.layer)
|
|
30
22
|
|
|
31
23
|
/** `watch` with the gestures' input given: what a gesture Feature hands its elements, which run it on their provider. */
|
|
32
24
|
export const withInput =
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The **`scroll` Feature** (#518, ADR-0067 *Amendment (#518)*, decision 5), in a module of its own: a
|
|
3
|
+
* container's scroll, which `createScroll` brings, so an app that reads no scroll ships none of the
|
|
4
|
+
* Environment's scroll code. Its top-level calls are marked pure, as every Feature module's are.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import * as ScrollSource from "@wardic/core/ScrollSource"
|
|
9
|
+
import * as DomScrollSource from "@wardic/dom/DomScrollSource"
|
|
10
|
+
import { type Feature, fromEnvironmentOr } from "../feature.ts"
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A container's scroll, live, for the scroll-linked values. `createScroll` brings it, so an app doesn't
|
|
14
|
+
* give it. The Environment's `ScrollSource` when it gives one (`@wardic/test`'s `TestLive`), else the
|
|
15
|
+
* DOM's, built once per provider.
|
|
16
|
+
*/
|
|
17
|
+
export const scroll: Feature<ScrollSource.ScrollSource> = {
|
|
18
|
+
name: "scroll",
|
|
19
|
+
key: ScrollSource.ScrollSource,
|
|
20
|
+
layer: /*#__PURE__*/ fromEnvironmentOr(ScrollSource.ScrollSource, DomScrollSource.layer),
|
|
21
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @see https://wardic.dev/reference/solid/utilities/version
|
|
13
13
|
*/
|
|
14
|
-
export const VERSION = "1.0.0-rc.
|
|
14
|
+
export const VERSION = "1.0.0-rc.5"
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* `WardicProvider` (one Effect runtime + `AtomRegistry` per ADR-0006), the
|
|
@@ -42,10 +42,12 @@ export {
|
|
|
42
42
|
* those it uses; a Complete element (`wardic.*`) has every one. `colors`: every CSS colour space beyond
|
|
43
43
|
* a hex, `rgb()`, `hsl()` and the colour names. `layout`: layout animations, the props `layout`,
|
|
44
44
|
* `layoutId`, `layoutScroll` and `layoutRoot` (`LayoutGroup` and `Reorder` bring it themselves).
|
|
45
|
+
* `scroll`: a container's scroll, which `createScroll` brings itself (#518).
|
|
45
46
|
*/
|
|
46
47
|
export type { Feature, FeatureLoad, Features, FeaturesProp } from "./feature.ts"
|
|
47
48
|
export { colors } from "./features/colors.ts"
|
|
48
49
|
export { layout } from "./features/layout.ts"
|
|
50
|
+
export { scroll } from "./features/scroll.ts"
|
|
49
51
|
/**
|
|
50
52
|
* The gestures (#511, ADR-0067 decision 3), a Feature each: `hover`, `press` (its Keyboard presses
|
|
51
53
|
* included), `focus`, `inView`, `pan` and `drag` (`dragControls` and the release's inertia included).
|
|
@@ -146,16 +148,13 @@ export { createCycle, type Cycle } from "./cycle.ts"
|
|
|
146
148
|
export {
|
|
147
149
|
createAnimationFrame,
|
|
148
150
|
createFollowValue,
|
|
149
|
-
createScroll,
|
|
150
151
|
createSpring,
|
|
151
152
|
createTime,
|
|
152
153
|
createTransform,
|
|
153
154
|
createVelocity,
|
|
154
155
|
createWillChange,
|
|
155
|
-
type ElementSource,
|
|
156
|
-
type ScrollOptions,
|
|
157
|
-
type ScrollValues,
|
|
158
156
|
} from "./live-value.ts"
|
|
157
|
+
export { createScroll, type ElementSource, type ScrollOptions, type ScrollValues } from "./live-scroll.ts"
|
|
159
158
|
export type { FollowAccessor, FollowValueOptions, Live, LiveSource, SpringAccessor, WillChange } from "./live-style.ts"
|
|
160
159
|
|
|
161
160
|
/**
|
package/src/layout.tsx
CHANGED
|
@@ -110,7 +110,7 @@ export function LayoutGroup(props: LayoutGroupProps): JSX.Element {
|
|
|
110
110
|
const outer = useLayoutGroupId()
|
|
111
111
|
const id = untrack(() => layoutGroupIdOf(outer, props.id, props.inherit))
|
|
112
112
|
// A server render has no projection system to re-measure (ADR-0021).
|
|
113
|
-
if (
|
|
113
|
+
if (!isServer) {
|
|
114
114
|
const projection = useWardicProjection()
|
|
115
115
|
// A group-level dependency change re-measures the whole tree (Q5), compared first as Motion's is
|
|
116
116
|
// (#618). `defer: true` skips the mount read (nodes seed themselves on registration).
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `createScroll` (#518): in a module of its own, so it brings the `scroll` Feature only to an app that
|
|
3
|
+
* reads a scroll, and on the pages that do (ADR-0067, *Amendments (#548, #518)*).
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import * as LiveValue from "@wardic/core/LiveValue"
|
|
8
|
+
import * as ScrollSource from "@wardic/core/ScrollSource"
|
|
9
|
+
import type * as ScrollOffset from "@wardic/dom/ScrollOffset"
|
|
10
|
+
import * as Arr from "effect/Array"
|
|
11
|
+
import * as Bool from "effect/Boolean"
|
|
12
|
+
import * as Effect from "effect/Effect"
|
|
13
|
+
import * as Option from "effect/Option"
|
|
14
|
+
import * as Predicate from "effect/Predicate"
|
|
15
|
+
import { AtomRegistry } from "effect/reactivity"
|
|
16
|
+
import * as Scope from "effect/Scope"
|
|
17
|
+
import * as UndefinedOr from "effect/UndefinedOr"
|
|
18
|
+
import { type Accessor, createEffect, createSignal, onCleanup } from "solid-js"
|
|
19
|
+
import type { Feature } from "./feature.ts"
|
|
20
|
+
import { scroll } from "./features/scroll.ts"
|
|
21
|
+
import { serviceOf } from "./gesture-features.ts"
|
|
22
|
+
import { CLOSE_FAILED, SERVER_ZERO } from "./live-value.ts"
|
|
23
|
+
import * as OwnerScope from "./owner-scope.ts"
|
|
24
|
+
import { useBrought, useWardicRuntime } from "./provider.tsx"
|
|
25
|
+
import { isServer } from "./server.ts"
|
|
26
|
+
|
|
27
|
+
/** What it brings (ADR-0067 decision 12): the `scroll` Feature, whatever its section has (#518). */
|
|
28
|
+
const SCROLL: ReadonlyArray<Feature> = [scroll]
|
|
29
|
+
|
|
30
|
+
/** An element, or an accessor of one, such as `() => box` for a ref: read once it's there. */
|
|
31
|
+
export type ElementSource = Element | Accessor<Element | undefined>
|
|
32
|
+
|
|
33
|
+
/** `createScroll`'s options, as Motion's `useScroll`'s. */
|
|
34
|
+
export interface ScrollOptions {
|
|
35
|
+
/** The scrolling element, as an accessor of its ref: `() => box`. The page's scroll when left out. */
|
|
36
|
+
readonly container?: ElementSource
|
|
37
|
+
/** An element whose way through the container the progress reads, between the `offset`s. */
|
|
38
|
+
readonly target?: ElementSource
|
|
39
|
+
/**
|
|
40
|
+
* Where the progress runs, as Motion's: each stop pairs an edge of the target with an edge of the
|
|
41
|
+
* container, `["start end", "end start"]`, 0 at the first and 1 at the last. An edge is `start`,
|
|
42
|
+
* `center` or `end`, a fraction, or a length. With a target, `["start start", "end end"]` by default.
|
|
43
|
+
*/
|
|
44
|
+
// The DOM's syntax (`@wardic/dom/ScrollOffset`); with a target and none given, its `All`.
|
|
45
|
+
readonly offset?: ScrollOffset.ScrollOffset
|
|
46
|
+
/** The axis `target` and `offset` read: `"y"` (the default) or `"x"`. */
|
|
47
|
+
readonly axis?: "x" | "y"
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** `createScroll`'s values, Motion's four, each an accessor. */
|
|
51
|
+
export interface ScrollValues {
|
|
52
|
+
/** How far it's scrolled across, in pixels. */
|
|
53
|
+
readonly scrollX: Accessor<number>
|
|
54
|
+
/** How far it's scrolled down, in pixels. */
|
|
55
|
+
readonly scrollY: Accessor<number>
|
|
56
|
+
/** Its progress across, from 0 to 1: through its range, or, with a `target` or `offset`, through theirs. */
|
|
57
|
+
readonly scrollXProgress: Accessor<number>
|
|
58
|
+
/** Its progress down, from 0 to 1: through its range, or, with a `target` or `offset`, through theirs. */
|
|
59
|
+
readonly scrollYProgress: Accessor<number>
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const SERVER_SCROLL: ScrollValues = { scrollX: SERVER_ZERO, scrollY: SERVER_ZERO, scrollXProgress: SERVER_ZERO, scrollYProgress: SERVER_ZERO }
|
|
63
|
+
|
|
64
|
+
/** An element source read now: `None` for an accessor whose ref hasn't arrived. */
|
|
65
|
+
const elementOf = (source: ElementSource): Option.Option<Element> =>
|
|
66
|
+
Bool.match(Predicate.isFunction(source), {
|
|
67
|
+
onTrue: () => Option.fromUndefinedOr((source as Accessor<Element | undefined>)()),
|
|
68
|
+
onFalse: () => Option.some(source as Element),
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* A scroll as values: `scrollX` and `scrollY`, how far it's scrolled, in pixels, and `scrollXProgress`
|
|
73
|
+
* and `scrollYProgress`, from 0 to 1 through its range. The page's, or a `container`'s. With a
|
|
74
|
+
* `target`, the progress is the target's way through, between two `offset`s, on `axis`. Each is set in
|
|
75
|
+
* the scroll's own event, so a value derived from one paints in the frame that shows the scroll. A
|
|
76
|
+
* `container` or `target` given as an accessor of a ref reads 0s until the ref is there. 0s on a
|
|
77
|
+
* server. Motion's `useScroll`.
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* let box!: HTMLDivElement
|
|
81
|
+
* const { scrollYProgress } = createScroll({ container: () => box })
|
|
82
|
+
* <div ref={box}>…</div>
|
|
83
|
+
* <w.div style={{ scaleX: scrollYProgress }} />
|
|
84
|
+
* @see https://wardic.dev/reference/solid/live-values/create-scroll
|
|
85
|
+
*/
|
|
86
|
+
// #234. An accessor `container` or `target` is read in an effect, and a change of either follows the
|
|
87
|
+
// new one.
|
|
88
|
+
export const createScroll = (options: ScrollOptions = {}): ScrollValues => {
|
|
89
|
+
const runtime = useWardicRuntime()
|
|
90
|
+
if (isServer) return SERVER_SCROLL
|
|
91
|
+
const services = useBrought(SCROLL)
|
|
92
|
+
const [scrollX, setScrollX] = createSignal(0)
|
|
93
|
+
const [scrollY, setScrollY] = createSignal(0)
|
|
94
|
+
const [scrollXProgress, setScrollXProgress] = createSignal(0)
|
|
95
|
+
const [scrollYProgress, setScrollYProgress] = createSignal(0)
|
|
96
|
+
createEffect(() => {
|
|
97
|
+
const container = UndefinedOr.match(options.container, { onUndefined: () => Option.some(undefined), onDefined: elementOf })
|
|
98
|
+
const target = UndefinedOr.match(options.target, { onUndefined: () => Option.some(undefined), onDefined: elementOf })
|
|
99
|
+
// A ref not there yet: the values hold until it is.
|
|
100
|
+
if (Bool.or(Option.isNone(container), Option.isNone(target))) return
|
|
101
|
+
const registry = runtime.runSync(AtomRegistry.AtomRegistry)
|
|
102
|
+
const scope = OwnerScope.open(runtime)
|
|
103
|
+
onCleanup(() => OwnerScope.close(runtime, scope, CLOSE_FAILED))
|
|
104
|
+
const values = runtime.runSync(
|
|
105
|
+
LiveValue.scroll({
|
|
106
|
+
...UndefinedOr.match(Option.getOrUndefined(container), { onUndefined: () => ({}), onDefined: (element) => ({ container: element }) }),
|
|
107
|
+
...UndefinedOr.match(Option.getOrUndefined(target), { onUndefined: () => ({}), onDefined: (element) => ({ target: element }) }),
|
|
108
|
+
...UndefinedOr.match(options.offset, { onUndefined: () => ({}), onDefined: (offset) => ({ offset }) }),
|
|
109
|
+
...UndefinedOr.match(options.axis, { onUndefined: () => ({}), onDefined: (axis) => ({ axis }) }),
|
|
110
|
+
}).pipe(Effect.provideService(ScrollSource.ScrollSource, serviceOf(services(), ScrollSource.ScrollSource)), Scope.provide(scope)),
|
|
111
|
+
)
|
|
112
|
+
// Each derived Atom is read at once: it tracks the scroll only once it's been read.
|
|
113
|
+
const stops = Arr.map(
|
|
114
|
+
[
|
|
115
|
+
[values.scrollX, setScrollX],
|
|
116
|
+
[values.scrollY, setScrollY],
|
|
117
|
+
[values.scrollXProgress, setScrollXProgress],
|
|
118
|
+
[values.scrollYProgress, setScrollYProgress],
|
|
119
|
+
] as const,
|
|
120
|
+
([atom, set]) => registry.subscribe(atom, (v) => void set(v), { immediate: true }),
|
|
121
|
+
)
|
|
122
|
+
onCleanup(() => Arr.forEach(stops, (stop) => stop()))
|
|
123
|
+
})
|
|
124
|
+
return { scrollX, scrollY, scrollXProgress, scrollYProgress }
|
|
125
|
+
}
|