@wardic/solid 1.0.0-rc.3 → 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.
Files changed (123) hide show
  1. package/dist/browser/feature.js +10 -0
  2. package/dist/browser/feature.js.map +1 -1
  3. package/dist/browser/features/input.js +2 -5
  4. package/dist/browser/features/input.js.map +1 -1
  5. package/dist/browser/features/scroll.js +21 -0
  6. package/dist/browser/features/scroll.js.map +1 -0
  7. package/dist/browser/index.js +4 -2
  8. package/dist/browser/index.js.map +1 -1
  9. package/dist/browser/layout.js +1 -1
  10. package/dist/browser/layout.js.map +1 -1
  11. package/dist/browser/live-scroll.js +115 -0
  12. package/dist/browser/live-scroll.js.map +1 -0
  13. package/dist/browser/live-value.js +10 -97
  14. package/dist/browser/live-value.js.map +1 -1
  15. package/dist/browser/reorder.js +14 -10
  16. package/dist/browser/reorder.js.map +1 -1
  17. package/dist/browser/runtime.js +20 -2
  18. package/dist/browser/runtime.js.map +1 -1
  19. package/dist/browser/unstable/v2/index.js +3 -1
  20. package/dist/browser/unstable/v2/index.js.map +1 -1
  21. package/dist/browser/unstable/v2/layout.js +1 -1
  22. package/dist/browser/unstable/v2/layout.js.map +1 -1
  23. package/dist/browser/unstable/v2/live-scroll.js +127 -0
  24. package/dist/browser/unstable/v2/live-scroll.js.map +1 -0
  25. package/dist/browser/unstable/v2/live-value.js +5 -104
  26. package/dist/browser/unstable/v2/live-value.js.map +1 -1
  27. package/dist/browser/unstable/v2/provider.js +13 -7
  28. package/dist/browser/unstable/v2/provider.js.map +1 -1
  29. package/dist/server/feature.js +10 -0
  30. package/dist/server/feature.js.map +1 -1
  31. package/dist/server/features/input.js +2 -5
  32. package/dist/server/features/input.js.map +1 -1
  33. package/dist/server/features/scroll.js +21 -0
  34. package/dist/server/features/scroll.js.map +1 -0
  35. package/dist/server/index.js +4 -2
  36. package/dist/server/index.js.map +1 -1
  37. package/dist/server/layout.js +1 -1
  38. package/dist/server/layout.js.map +1 -1
  39. package/dist/server/live-scroll.js +115 -0
  40. package/dist/server/live-scroll.js.map +1 -0
  41. package/dist/server/live-value.js +10 -97
  42. package/dist/server/live-value.js.map +1 -1
  43. package/dist/server/reorder.js +14 -10
  44. package/dist/server/reorder.js.map +1 -1
  45. package/dist/server/runtime.js +20 -2
  46. package/dist/server/runtime.js.map +1 -1
  47. package/dist/server/unstable/v2/index.js +3 -1
  48. package/dist/server/unstable/v2/index.js.map +1 -1
  49. package/dist/server/unstable/v2/layout.js +1 -1
  50. package/dist/server/unstable/v2/layout.js.map +1 -1
  51. package/dist/server/unstable/v2/live-scroll.js +127 -0
  52. package/dist/server/unstable/v2/live-scroll.js.map +1 -0
  53. package/dist/server/unstable/v2/live-value.js +5 -104
  54. package/dist/server/unstable/v2/live-value.js.map +1 -1
  55. package/dist/server/unstable/v2/provider.js +13 -7
  56. package/dist/server/unstable/v2/provider.js.map +1 -1
  57. package/dist/solid/feature.d.ts +5 -0
  58. package/dist/solid/feature.d.ts.map +1 -1
  59. package/dist/solid/feature.js +10 -0
  60. package/dist/solid/feature.js.map +1 -1
  61. package/dist/solid/features/input.d.ts.map +1 -1
  62. package/dist/solid/features/input.js +2 -6
  63. package/dist/solid/features/input.js.map +1 -1
  64. package/dist/solid/features/scroll.d.ts +16 -0
  65. package/dist/solid/features/scroll.d.ts.map +1 -0
  66. package/dist/solid/features/scroll.js +21 -0
  67. package/dist/solid/features/scroll.js.map +1 -0
  68. package/dist/solid/index.d.ts +5 -2
  69. package/dist/solid/index.d.ts.map +1 -1
  70. package/dist/solid/index.js +4 -2
  71. package/dist/solid/index.js.map +1 -1
  72. package/dist/solid/layout.jsx +1 -1
  73. package/dist/solid/layout.jsx.map +1 -1
  74. package/dist/solid/live-scroll.d.ts +47 -0
  75. package/dist/solid/live-scroll.d.ts.map +1 -0
  76. package/dist/solid/live-scroll.js +84 -0
  77. package/dist/solid/live-scroll.js.map +1 -0
  78. package/dist/solid/live-value.d.ts +4 -45
  79. package/dist/solid/live-value.d.ts.map +1 -1
  80. package/dist/solid/live-value.js +11 -66
  81. package/dist/solid/live-value.js.map +1 -1
  82. package/dist/solid/provider.d.ts +1 -1
  83. package/dist/solid/provider.d.ts.map +1 -1
  84. package/dist/solid/reorder.d.ts.map +1 -1
  85. package/dist/solid/reorder.jsx +11 -6
  86. package/dist/solid/reorder.jsx.map +1 -1
  87. package/dist/solid/runtime.d.ts.map +1 -1
  88. package/dist/solid/runtime.js +20 -2
  89. package/dist/solid/runtime.js.map +1 -1
  90. package/dist/solid/unstable/v2/index.d.ts +4 -2
  91. package/dist/solid/unstable/v2/index.d.ts.map +1 -1
  92. package/dist/solid/unstable/v2/index.js +3 -1
  93. package/dist/solid/unstable/v2/index.js.map +1 -1
  94. package/dist/solid/unstable/v2/layout.jsx +1 -1
  95. package/dist/solid/unstable/v2/layout.jsx.map +1 -1
  96. package/dist/solid/unstable/v2/live-scroll.d.ts +47 -0
  97. package/dist/solid/unstable/v2/live-scroll.d.ts.map +1 -0
  98. package/dist/solid/unstable/v2/live-scroll.js +93 -0
  99. package/dist/solid/unstable/v2/live-scroll.js.map +1 -0
  100. package/dist/solid/unstable/v2/live-value.d.ts +4 -45
  101. package/dist/solid/unstable/v2/live-value.d.ts.map +1 -1
  102. package/dist/solid/unstable/v2/live-value.js +5 -70
  103. package/dist/solid/unstable/v2/live-value.js.map +1 -1
  104. package/dist/solid/unstable/v2/provider.d.ts +1 -1
  105. package/dist/solid/unstable/v2/provider.d.ts.map +1 -1
  106. package/dist/solid/unstable/v2/provider.jsx +14 -7
  107. package/dist/solid/unstable/v2/provider.jsx.map +1 -1
  108. package/package.json +4 -4
  109. package/src/feature.ts +17 -0
  110. package/src/features/input.ts +2 -10
  111. package/src/features/scroll.ts +21 -0
  112. package/src/index.ts +4 -5
  113. package/src/layout.tsx +1 -1
  114. package/src/live-scroll.ts +125 -0
  115. package/src/live-value.ts +11 -106
  116. package/src/provider.tsx +1 -1
  117. package/src/reorder.tsx +11 -6
  118. package/src/runtime.ts +24 -2
  119. package/src/unstable/v2/index.ts +3 -5
  120. package/src/unstable/v2/layout.tsx +1 -1
  121. package/src/unstable/v2/live-scroll.ts +136 -0
  122. package/src/unstable/v2/live-value.ts +5 -111
  123. package/src/unstable/v2/provider.tsx +20 -14
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/unstable/v2/provider.tsx"],"names":[],"mappings":"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"}
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 = Bool.match(isServer, {
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 (Bool.not(isServer))
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",
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.3",
72
- "@wardic/dom": "1.0.0-rc.3",
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.3",
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
 
@@ -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 * as Option from "effect/Option"
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__*/ Layer.unwrap(
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.3"
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 (Bool.not(isServer)) {
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
+ }
package/src/live-value.ts CHANGED
@@ -21,7 +21,6 @@
21
21
  */
22
22
  import type * as InterpolatorRegistry from "@wardic/core/InterpolatorRegistry"
23
23
  import * as LiveValue from "@wardic/core/LiveValue"
24
- import type * as ScrollOffset from "@wardic/dom/ScrollOffset"
25
24
  import * as Bool from "effect/Boolean"
26
25
  import * as Effect from "effect/Effect"
27
26
  import { identity } from "effect/Function"
@@ -29,9 +28,7 @@ import * as Predicate from "effect/Predicate"
29
28
  import { Atom, AtomRegistry } from "effect/reactivity"
30
29
  import * as UndefinedOr from "effect/UndefinedOr"
31
30
  import * as Scope from "effect/Scope"
32
- import * as Arr from "effect/Array"
33
- import * as Option from "effect/Option"
34
- import { type Accessor, createComputed, createEffect, createMemo, createSignal, on, onCleanup, untrack } from "solid-js"
31
+ import { type Accessor, createComputed, createMemo, on, onCleanup, untrack } from "solid-js"
35
32
  import { eachFrameOf } from "./animation-frame.ts"
36
33
  import { fromAtom } from "./bridge.ts"
37
34
  import type { FollowAccessor, FollowValueOptions, LiveSource, SpringAccessor, WillChange } from "./live-style.ts"
@@ -45,14 +42,16 @@ import { withServerInterpolators } from "./server-interpolators.ts"
45
42
  /** A Live value as an accessor: an accessor as it is, an Atom read through the provider's registry. */
46
43
  const accessorOf = <A>(source: LiveSource<A>): Accessor<A> =>
47
44
  Bool.match(Atom.isAtom(source), {
48
- onTrue: () =>
49
- Bool.match(isServer, {
50
- onTrue: (): Accessor<A> => () => readLive(source, serverRegistryOf, untrack) as A,
51
- onFalse: () => fromAtom(source as Atom.Atom<A>),
52
- }),
45
+ onTrue: () => atomAccessorOf(source as Atom.Atom<A>),
53
46
  onFalse: () => source as Accessor<A>,
54
47
  })
55
48
 
49
+ /** An Atom as an accessor: on a server, read once; on the client, followed. A plain `if`, so a client build drops the server's read (#518). */
50
+ const atomAccessorOf = <A>(atom: Atom.Atom<A>): Accessor<A> => {
51
+ if (isServer) return () => readLive(atom, serverRegistryOf, untrack) as A
52
+ return fromAtom(atom)
53
+ }
54
+
56
55
  /**
57
56
  * A value mapped from another: through a function, `createTransform(x, (x) => x * 2)`, or through
58
57
  * ranges, `createTransform(x, input, output)`: a source at `input[i]` gives `output[i]`, and one between
@@ -225,7 +224,8 @@ const liveOf = <A, R>(runtime: WardicRuntime, live: Effect.Effect<Atom.Atom<A>,
225
224
  return carry(fromAtom(out), out)
226
225
  }
227
226
 
228
- const SERVER_ZERO: Accessor<number> = () => 0
227
+ /** A server render's value of a Live helper: 0, and no Atom. Internal. */
228
+ export const SERVER_ZERO: Accessor<number> = () => 0
229
229
 
230
230
  /**
231
231
  * A `will-change` for an element's `style`: `"auto"` until the element first animates a transform key,
@@ -270,101 +270,6 @@ export const createAnimationFrame = (callback: (time: number, delta: number) =>
270
270
  runtime.runSync(eachFrameOf(runtime, callback).pipe(Scope.provide(scope)))
271
271
  }
272
272
 
273
- /** An element, or an accessor of one, such as `() => box` for a ref: read once it's there. */
274
- export type ElementSource = Element | Accessor<Element | undefined>
275
-
276
- /** `createScroll`'s options, as Motion's `useScroll`'s. */
277
- export interface ScrollOptions {
278
- /** The scrolling element, as an accessor of its ref: `() => box`. The page's scroll when left out. */
279
- readonly container?: ElementSource
280
- /** An element whose way through the container the progress reads, between the `offset`s. */
281
- readonly target?: ElementSource
282
- /**
283
- * Where the progress runs, as Motion's: each stop pairs an edge of the target with an edge of the
284
- * container, `["start end", "end start"]`, 0 at the first and 1 at the last. An edge is `start`,
285
- * `center` or `end`, a fraction, or a length. With a target, `["start start", "end end"]` by default.
286
- */
287
- // The DOM's syntax (`@wardic/dom/ScrollOffset`); with a target and none given, its `All`.
288
- readonly offset?: ScrollOffset.ScrollOffset
289
- /** The axis `target` and `offset` read: `"y"` (the default) or `"x"`. */
290
- readonly axis?: "x" | "y"
291
- }
292
-
293
- /** `createScroll`'s values, Motion's four, each an accessor. */
294
- export interface ScrollValues {
295
- /** How far it's scrolled across, in pixels. */
296
- readonly scrollX: Accessor<number>
297
- /** How far it's scrolled down, in pixels. */
298
- readonly scrollY: Accessor<number>
299
- /** Its progress across, from 0 to 1: through its range, or, with a `target` or `offset`, through theirs. */
300
- readonly scrollXProgress: Accessor<number>
301
- /** Its progress down, from 0 to 1: through its range, or, with a `target` or `offset`, through theirs. */
302
- readonly scrollYProgress: Accessor<number>
303
- }
304
-
305
- const SERVER_SCROLL: ScrollValues = { scrollX: SERVER_ZERO, scrollY: SERVER_ZERO, scrollXProgress: SERVER_ZERO, scrollYProgress: SERVER_ZERO }
306
-
307
- /** An element source read now: `None` for an accessor whose ref hasn't arrived. */
308
- const elementOf = (source: ElementSource): Option.Option<Element> =>
309
- Bool.match(Predicate.isFunction(source), {
310
- onTrue: () => Option.fromUndefinedOr((source as Accessor<Element | undefined>)()),
311
- onFalse: () => Option.some(source as Element),
312
- })
313
-
314
- /**
315
- * A scroll as values: `scrollX` and `scrollY`, how far it's scrolled, in pixels, and `scrollXProgress`
316
- * and `scrollYProgress`, from 0 to 1 through its range. The page's, or a `container`'s. With a
317
- * `target`, the progress is the target's way through, between two `offset`s, on `axis`. Each is set in
318
- * the scroll's own event, so a value derived from one paints in the frame that shows the scroll. A
319
- * `container` or `target` given as an accessor of a ref reads 0s until the ref is there. 0s on a
320
- * server. Motion's `useScroll`.
321
- *
322
- * @example
323
- * let box!: HTMLDivElement
324
- * const { scrollYProgress } = createScroll({ container: () => box })
325
- * <div ref={box}>…</div>
326
- * <w.div style={{ scaleX: scrollYProgress }} />
327
- * @see https://wardic.dev/reference/solid/live-values/create-scroll
328
- */
329
- // #234. An accessor `container` or `target` is read in an effect, and a change of either follows the
330
- // new one.
331
- export const createScroll = (options: ScrollOptions = {}): ScrollValues => {
332
- const runtime = useWardicRuntime()
333
- if (isServer) return SERVER_SCROLL
334
- const [scrollX, setScrollX] = createSignal(0)
335
- const [scrollY, setScrollY] = createSignal(0)
336
- const [scrollXProgress, setScrollXProgress] = createSignal(0)
337
- const [scrollYProgress, setScrollYProgress] = createSignal(0)
338
- createEffect(() => {
339
- const container = UndefinedOr.match(options.container, { onUndefined: () => Option.some(undefined), onDefined: elementOf })
340
- const target = UndefinedOr.match(options.target, { onUndefined: () => Option.some(undefined), onDefined: elementOf })
341
- // A ref not there yet: the values hold until it is.
342
- if (Bool.or(Option.isNone(container), Option.isNone(target))) return
343
- const registry = runtime.runSync(AtomRegistry.AtomRegistry)
344
- const scope = OwnerScope.open(runtime)
345
- onCleanup(() => OwnerScope.close(runtime, scope, CLOSE_FAILED))
346
- const values = runtime.runSync(
347
- LiveValue.scroll({
348
- ...UndefinedOr.match(Option.getOrUndefined(container), { onUndefined: () => ({}), onDefined: (element) => ({ container: element }) }),
349
- ...UndefinedOr.match(Option.getOrUndefined(target), { onUndefined: () => ({}), onDefined: (element) => ({ target: element }) }),
350
- ...UndefinedOr.match(options.offset, { onUndefined: () => ({}), onDefined: (offset) => ({ offset }) }),
351
- ...UndefinedOr.match(options.axis, { onUndefined: () => ({}), onDefined: (axis) => ({ axis }) }),
352
- }).pipe(Scope.provide(scope)),
353
- )
354
- // Each derived Atom is read at once: it tracks the scroll only once it's been read.
355
- const stops = Arr.map(
356
- [
357
- [values.scrollX, setScrollX],
358
- [values.scrollY, setScrollY],
359
- [values.scrollXProgress, setScrollXProgress],
360
- [values.scrollYProgress, setScrollYProgress],
361
- ] as const,
362
- ([atom, set]) => registry.subscribe(atom, (v) => void set(v), { immediate: true }),
363
- )
364
- onCleanup(() => Arr.forEach(stops, (stop) => stop()))
365
- })
366
- return { scrollX, scrollY, scrollXProgress, scrollYProgress }
367
- }
368
273
 
369
274
  /** An accessor as an Atom, set as it changes, and held in `registry` until its owner's disposal. */
370
275
  const mirrorOf = <A>(accessor: Accessor<A>, registry: AtomRegistry.AtomRegistry): Atom.Writable<A> => {
@@ -375,4 +280,4 @@ const mirrorOf = <A>(accessor: Accessor<A>, registry: AtomRegistry.AtomRegistry)
375
280
  }
376
281
 
377
282
  /** What a helper's Scope reports when one of its finalizers fails as its owner goes. */
378
- const CLOSE_FAILED = "wardic.liveValue: a finalizer failed"
283
+ export const CLOSE_FAILED = "wardic.liveValue: a finalizer failed"
package/src/provider.tsx CHANGED
@@ -88,7 +88,7 @@ const WardicContext = createContext<WardicContextValue | undefined>(undefined)
88
88
  // this provider's alone, one keyed borderRadius/boxShadow replacing the built-in; ignored on a server.
89
89
  // features/strict: #511, ADR-0067, read once.
90
90
  export function WardicProvider(props: {
91
- /** The Environment Wardic runs in: `DomLive` in a browser, from `@wardic/dom`. Read once. */
91
+ /** The Environment Wardic runs in: `DomLive` in a browser, from `@wardic/dom`. Read once, and built at once: a Layer that waits as it builds fails it. */
92
92
  readonly env: WardicEnv
93
93
  /**
94
94
  * How animations honour the visitor's reduced-motion setting: `"user"` follows it (the default),
package/src/reorder.tsx CHANGED
@@ -324,6 +324,16 @@ const itemInternals = <V,>(group: ItemGroup<V>, value: V, element: Accessor<HTML
324
324
  }
325
325
  }
326
326
 
327
+ /**
328
+ * An item's internals: on a server, the drag defaults with its group's touch-action, joining no
329
+ * controller (ADR-0021); on the client, `itemInternals`. A plain `if`, so a client build drops the
330
+ * server's (#518).
331
+ */
332
+ const internalsOf = <V,>(group: ItemGroup<V>, value: V, element: Accessor<HTMLElement | undefined>, listens: boolean): SpineInternals => {
333
+ if (isServer) return { brings: ITEM_BRINGS, dragAxis: () => true, baseStyle: touchActionOf(group, listens) }
334
+ return itemInternals(group, value, element, useWardicRuntime(), listens)
335
+ }
336
+
327
337
  /**
328
338
  * What an item adds to its element for the keyboard reorder (ADR-0037): `tabindex="0"` while the
329
339
  * group's keyboard is on and the app gave no `tabIndex` of its own, and `aria-describedby` with
@@ -378,12 +388,7 @@ export function createReorderItem<V>(group: ReorderGroup<V>, config: ReorderItem
378
388
  const value = untrack(cfg).value
379
389
  const listens = untrack(cfg).dragListener !== false
380
390
  const [element, setElement] = createSignal<HTMLElement>()
381
- // On a server the item renders the drag defaults with its group's touch-action and
382
- // joins no controller (ADR-0021).
383
- const internals: SpineInternals = Bool.match(isServer, {
384
- onTrue: (): SpineInternals => ({ brings: ITEM_BRINGS, dragAxis: () => true, baseStyle: touchActionOf(group, listens) }),
385
- onFalse: () => itemInternals(group, value, element, useWardicRuntime(), listens),
386
- })
391
+ const internals = internalsOf(group, value, element, listens)
387
392
  const ward = createWardWith(() => ({ ...withoutValue(cfg()), layout: itemLayoutOf(cfg().layout) }), internals)
388
393
  // The instructions element exists on the client only, so `aria-describedby` waits for the mount.
389
394
  const [describedBy, setDescribedBy] = createSignal<string>()