@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.
- 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/runtime.js +20 -2
- package/dist/browser/runtime.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/runtime.js +20 -2
- package/dist/server/runtime.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/provider.d.ts +1 -1
- package/dist/solid/provider.d.ts.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/runtime.d.ts.map +1 -1
- package/dist/solid/runtime.js +20 -2
- package/dist/solid/runtime.js.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 +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/provider.tsx +1 -1
- package/src/reorder.tsx +11 -6
- package/src/runtime.ts +24 -2
- 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 +20 -14
|
@@ -53,6 +53,17 @@ const applyAndFlush = apply => {
|
|
|
53
53
|
const WardicContext = createContext(null);
|
|
54
54
|
/** The nearest provider's value, `undefined` outside one. */
|
|
55
55
|
const contextValue = () => Option.getOrUndefined(Option.fromNullishOr(useContext(WardicContext)));
|
|
56
|
+
/**
|
|
57
|
+
* A provider's context: a server render's, inert, or the client's. Decided by a plain `if`: a client
|
|
58
|
+
* build folds `isServer` and drops the server render's code, where `Bool.match` kept it (#518: 8.4 KB
|
|
59
|
+
* gzipped in every Solid 2 app). `env` and `appear` are read once, as the provider's docs say.
|
|
60
|
+
*/
|
|
61
|
+
const contextOf = given => {
|
|
62
|
+
if (isServer) 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
|
+
};
|
|
56
67
|
/**
|
|
57
68
|
* Puts Wardic in your app: every Wardic element sits under one. Give it the Environment, `DomLive` in
|
|
58
69
|
* a browser, and the Features your elements use.
|
|
@@ -67,12 +78,7 @@ const contextValue = () => Option.getOrUndefined(Option.fromNullishOr(useContext
|
|
|
67
78
|
// unmount, inert during a server render (ADR-0021). reducedMotion is read as each animation starts
|
|
68
79
|
// (ADR-0029), a WardicConfig's over it (#434); appear (ADR-0044, #585) on the server once.
|
|
69
80
|
export function WardicProvider(props) {
|
|
70
|
-
const value =
|
|
71
|
-
onTrue: () => serverContext(props.env, serverAppearOf(props.appear, props.reducedMotion, props.nonce), () => untrack(() => props.reducedMotion)),
|
|
72
|
-
onFalse: () => clientContext(props.env, applyAndFlush, () => untrack(() => props.reducedMotion),
|
|
73
|
-
// eslint-disable-next-line solid/reactivity -- the provider's setting, tracked too: `createReducedMotionConfig` reads it where it tracks (#584)
|
|
74
|
-
() => props.reducedMotion, untrack(() => props.scaleCorrectors))
|
|
75
|
-
});
|
|
81
|
+
const value = contextOf(props);
|
|
76
82
|
// Disposing the runtime closes its Scope: the projection system, then the gate (#132). Its
|
|
77
83
|
// disposal rejects first, ending every `animateLayout` still waiting: their flights won't end (#257).
|
|
78
84
|
let abort = constUndefined;
|
|
@@ -93,7 +99,7 @@ export function WardicProvider(props) {
|
|
|
93
99
|
// element mounted after pays none of it. One mounted before then builds it itself, as before. Asked
|
|
94
100
|
// for here, with no computation of the provider's own (an `onSettled`'s would shift a hydration's
|
|
95
101
|
// owners from the server's), and on the client alone.
|
|
96
|
-
if (
|
|
102
|
+
if (!isServer) onCleanup(whenIdle(() => prepareIdle(value, section)));
|
|
97
103
|
return _$createComponent(WardicContext, {
|
|
98
104
|
value: value,
|
|
99
105
|
get children() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","names":["Bool","Effect","Fiber","constUndefined","identity","Latch","Option","Predicate","UndefinedOr","isServer","useHead","createContext","DEV","flush","isHydrating","onCleanup","onSettled","runWithOwner","untrack","useContext","Context","Report","ROOT","strictMessage","FeatureSectionContext","sectionUnder","useLazySection","explainerOf","serverAppear","animateLayoutOf","clientContext","fromContext","interrupted","prepareIdle","reducedMotionSettingWith","reducedMotionWith","reported","serverContext","whenIdle","onSettledClientOnly","useWardicConfig","skipAnimationsOf","instantLayoutOf","instantTransitionOf","resetOf","applyAndFlush","apply","WardicContext","contextValue","getOrUndefined","fromNullishOr","WardicProvider","props","value","match","onTrue","env","serverAppearOf","appear","reducedMotion","nonce","onFalse","scaleCorrectors","abort","disposed","Promise","_","reject","catch","disposals","set","DOMException","features","dispose","section","sectionOf","sections","not","_$createComponent","children","WeakMap","useFeatureSection","onDefined","onUndefined","getOrThrow","get","parent","strict","cause","runtime","runFork","failure","LazyWardic","useElementFeatures","brings","complete","Error","isUndefined","registry","useFeatureRegistry","own","build","services","merge","pending","useBrought","undefined","state","appearStyle","css","tags","styleTags","tag","useWardicAppear","useWardicRuntime","useWardicGate","gate","useWardicRenderer","renderer","useWardicPositionalKeys","positionalKeys","useWardicDefaultTransition","defaultTransition","useWardicReducedMotion","config","useWardicSkipAnimations","instant","or","active","createInstantLayoutTransition","projection","createInstantTransition","createResetProjection","useWardicReducedMotionSetting","fromWardicContext","name","read","useBuiltProjection","useAnimateLayout","declare","v","fn","resolve","settle","settled","result","from","waiting","gone","race","then","runScoped","effect","run","latch","makeUnsafe","held","andThen","await","openUnsafe","interruptUnsafe","fiber","useWardicFiber","effectThunk"],"sources":["../../../../src/unstable/v2/provider.tsx"],"sourcesContent":[null],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBA,OAAO,KAAKA,IAAI,MAAM,gBAAgB;AACtC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,cAAc,EAAEC,QAAQ,QAAQ,iBAAiB;AAC1D,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,WAAW,MAAM,oBAAoB;AAMjD,SAAuBC,QAAQ,EAAYC,OAAO,QAAQ,cAAc;AACxE,SAASC,aAAa,EAAEC,GAAG,EAAEC,KAAK,EAAEC,WAAW,EAAEC,SAAS,EAAEC,SAAS,EAAEC,YAAY,EAAEC,OAAO,EAAEC,UAAU,QAAQ,UAAU;AAC1H,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,oBAAoB;AAC5C,SAAqFC,IAAI,EAAEC,aAAa,QAAQ,kBAAkB;AAClI,SAASC,qBAAqB,EAAEC,YAAY,EAAEC,cAAc,QAAQ,sBAAsB;AAC1F,SAASC,WAAW,EAAqBC,YAAY,QAAQ,iBAAiB;AAC9E,SACEC,eAAe,EACfC,aAAa,EACbC,WAAW,EACXC,WAAW,EACXC,WAAW,EACXC,wBAAwB,EACxBC,iBAAiB,EACjBC,QAAQ,EACRC,aAAa,EAKbC,QAAQ,QACH,kBAAkB;AACzB,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,eAAe,QAAQ,oBAAqB;AACrD,SAASC,gBAAgB,QAAQ,8BAA8B;AAC/D,SAASC,eAAe,EAA0BC,mBAAmB,EAAEC,OAAO,QAAQ,kBAAkB;AAGxG;AACA,MAAMC,aAAa,GAAIC,KAAiB,IAAU;EAChDjC,KAAK,CAACiC,KAAK,CAAC;AACd,CAAC;AAED;;;;;AAKA,MAAMC,aAAa,GAAGpC,aAAa,CAA4B,IAAI,CAAC;AAEpE;AACA,MAAMqC,YAAY,GAAGA,CAAA,KAAsC1C,MAAM,CAAC2C,cAAc,CAAC3C,MAAM,CAAC4C,aAAa,CAAC/B,UAAU,CAAC4B,aAAa,CAAC,CAAC,CAAC;AAEjI;;;;;;;;;;AAUA;AACA;AACA;AACA,OAAM,SAAUI,cAAcA,CAACC,KAiC9B;EACC,MAAMC,KAAK,GAAGrD,IAAI,CAACsD,KAAK,CAAC7C,QAAQ,EAAE;IACjC8C,MAAM,EAAEA,CAAA,KAAMlB,aAAa,CAACe,KAAK,CAACI,GAAG,EAAEC,cAAc,CAACL,KAAK,CAACM,MAAM,EAAEN,KAAK,CAACO,aAAa,EAAEP,KAAK,CAACQ,KAAK,CAAC,EAAE,MAAM1C,OAAO,CAAC,MAAMkC,KAAK,CAACO,aAAa,CAAC,CAAC;IAChJE,OAAO,EAAEA,CAAA,KACP/B,aAAa,CACXsB,KAAK,CAACI,GAAG,EACTX,aAAa,EACb,MAAM3B,OAAO,CAAC,MAAMkC,KAAK,CAACO,aAAa,CAAC;IACxC;IACA,MAAMP,KAAK,CAACO,aAAa,EACzBzC,OAAO,CAAC,MAAMkC,KAAK,CAACU,eAAe,CAAC;GAEzC,CAAC;EACF;EACA;EACA,IAAIC,KAAK,GAAG5D,cAAgD;EAC5D,MAAM6D,QAAQ,GAAG,IAAIC,OAAO,CAAQ,CAACC,CAAC,EAAEC,MAAM,KAAI;IAChDJ,KAAK,GAAGI,MAAM;EAChB,CAAC,CAAC;EACF;EACAH,QAAQ,CAACI,KAAK,CAACjE,cAAc,CAAC;EAC9BkE,SAAS,CAACC,GAAG,CAACjB,KAAK,EAAEW,QAAQ,CAAC;EAC9BjD,SAAS,CAAC,MAAK;IACbgD,KAAK,CAAC,IAAIQ,YAAY,CAAC,qEAAqE,EAAE,YAAY,CAAC,CAAC;IAC5G;IACA,KAAKlB,KAAK,CAACmB,QAAQ,CAACC,OAAO,EAAE;EAC/B,CAAC,CAAC;EACF,MAAMC,OAAO,GAAGC,SAAS,CAACtB,KAAK,EAAE/B,IAAI,EAAE8B,KAAK,CAAC;EAC7CwB,QAAQ,CAACN,GAAG,CAACjB,KAAK,EAAEqB,OAAO,CAAC;EAC5B;EACA;EACA;EACA;EACA,IAAI1E,IAAI,CAAC6E,GAAG,CAACpE,QAAQ,CAAC,EAAEM,SAAS,CAACuB,QAAQ,CAAC,MAAML,WAAW,CAACoB,KAAK,EAAEqB,OAAO,CAAC,CAAC,CAAC;EAC9E,OAAAI,iBAAA,CAAQ/B,aAAa;IAACM,KAAK,EAAEA,KAAK;IAAA,IAAA0B,SAAA;MAAA,OAAG3B,KAAK,CAAC2B,QAAQ;IAAA;EAAA;AACrD;AAEA;;;;AAIA;AACA,MAAMH,QAAQ,GAAG,IAAII,OAAO,EAAsC;AAElE;;;;AAIA,OAAM,SAAUC,iBAAiBA,CAAA;EAC/B,OAAOzE,WAAW,CAAC8C,KAAK,CAAC5B,cAAc,EAAE,EAAE;IACzCwD,SAAS,EAAE9E,QAAQ;IACnB+E,WAAW,EAAEA,CAAA,KAAM3E,WAAW,CAAC8C,KAAK,CAACN,YAAY,EAAE,EAAE;MAAEmC,WAAW,EAAEA,CAAA,KAAM7D,IAAI;MAAE4D,SAAS,EAAG7B,KAAK,IAAK7C,WAAW,CAAC4E,UAAU,CAACR,QAAQ,CAACS,GAAG,CAAChC,KAAK,CAAC;IAAC,CAAE;GACpJ,CAAC;AACJ;AAEA;;;;AAIA,MAAMsB,SAAS,GAAGA,CAChBtB,KAAyB,EACzBiC,MAAsB,EACtBlC,KAA8F,KAE9F3B,YAAY,CAAC6D,MAAM,EAAEjC,KAAK,CAACmB,QAAQ,EAAEtD,OAAO,CAAC,MAAMkC,KAAK,CAACoB,QAAQ,CAAC,EAAEtD,OAAO,CAAC,MAAMkC,KAAK,CAACmC,MAAM,CAAC,KAAK,IAAI,EAAGC,KAAK,IAAI;EAClHnC,KAAK,CAACoC,OAAO,CAACC,OAAO,CAACrE,MAAM,CAACsE,OAAO,CAAC,iDAAiD,EAAEH,KAAK,CAAC,CAAC;AACjG,CAAC,CAAC;AAEJ;;;;;;;;;;;AAWA;AACA;AACA,OAAM,SAAUI,UAAUA,CAACxC,KAM1B;EACC,MAAMsB,OAAO,GAAG3C,WAAW,CAACiB,YAAY,EAAE,EAAE,YAAY,EAAGK,KAAK,IAAKsB,SAAS,CAACtB,KAAK,EAAE4B,iBAAiB,EAAE,EAAE7B,KAAK,CAAC,CAAC;EAClH,OAAA0B,iBAAA,CAAQtD,qBAAqB;IAAC6B,KAAK,EAAEqB,OAAO;IAAA,IAAAK,SAAA;MAAA,OAAG3B,KAAK,CAAC2B,QAAQ;IAAA;EAAA;AAC/D;AAEA;;;;;AAKA,OAAM,SAAUc,kBAAkBA,CAACC,MAA0C,EAAEC,QAAiB;EAC9F,MAAMrB,OAAO,GAAGO,iBAAiB,EAAE;EACnC,IAAIrE,GAAG,IAAImF,QAAQ,IAAIrB,OAAO,CAACa,MAAM,EAAE,MAAM,IAAIS,KAAK,CAACzE,aAAa,CAAC,iCAAiC,EAAE,yBAAyB,CAAC,CAAC;EACnI,IAAIhB,SAAS,CAAC0F,WAAW,CAACH,MAAM,CAAC,EAAE,OAAOpB,OAAO;EACjD,MAAMwB,QAAQ,GAAGC,kBAAkB,EAAE;EACrC;EACA,IAAIJ,QAAQ,EAAE,OAAOG,QAAQ,CAACxB,OAAO,CAACoB,MAAM,CAAC;EAC7C,MAAMM,GAAG,GAAGF,QAAQ,CAACG,KAAK,CAACP,MAAM,CAAC;EAClC,OAAO;IAAEQ,QAAQ,EAAEA,CAAA,KAAMlF,OAAO,CAACmF,KAAK,CAAC7B,OAAO,CAAC4B,QAAQ,EAAE,EAAEF,GAAG,CAAC;IAAEI,OAAO,EAAE9B,OAAO,CAAC8B,OAAO;IAAEjB,MAAM,EAAEb,OAAO,CAACa;EAAM,CAAE;AACrH;AAEA;AACA,OAAM,SAAUY,kBAAkBA,CAAA;EAChC,OAAOpE,WAAW,CAACiB,YAAY,EAAE,EAAE,oBAAoB,EAAGK,KAAK,IAAKA,KAAK,CAACmB,QAAQ,CAAC;AACrF;AAEA;;;;;AAKA,OAAM,SAAUiC,UAAUA,CAACjC,QAAgC;EACzD,MAAM0B,QAAQ,GAAGC,kBAAkB,EAAE;EACrC,OAAO,MAAMD,QAAQ,CAACG,KAAK,CAAC7B,QAAQ,CAAC;AACvC;AAEA;AACA;AACA,MAAMH,SAAS,GAAG,IAAIW,OAAO,EAAsC;AAEnE;;;;;AAKA,MAAMvB,cAAc,GAAGA,CAACC,MAAuC,EAAEC,aAA+C,EAAEC,KAAyB,KAA8B;EACvK,IAAIF,MAAM,KAAK,KAAK,EAAE,OAAOgD,SAAS;EACtC,MAAMC,KAAK,GAAG/E,YAAY,CAACpB,WAAW,CAAC8C,KAAK,CAACK,aAAa,EAAE;IAAEwB,WAAW,EAAEA,CAAA,KAAM,MAAe;IAAED,SAAS,EAAE9E;EAAQ,CAAE,CAAC,EAAEuB,WAAW,CAAC+B,MAAM,CAAC,EAAEE,KAAK,CAAC;EACrJlD,OAAO,CAACkG,WAAW,CAAC,MAAMD,KAAK,CAACE,GAAG,EAAE,EAAEjD,KAAK,CAAC,CAAC;EAC9C,OAAO+C,KAAK;AACd,CAAC;AAED;;;;;;AAMA,OAAO,MAAMC,WAAW,GAAGA,CAACC,GAAiB,EAAEjD,KAAyB,KAA4B;EAClG,IAAIkD,IAAgC;EACpC,OAAO,MAAK;IACV,IAAIvG,SAAS,CAAC0F,WAAW,CAACa,IAAI,CAAC,EAAEA,IAAI,GAAGC,SAAS,CAACF,GAAG,EAAE,EAAEjD,KAAK,CAAC;IAC/D,OAAOkD,IAAI;EACb,CAAC;AACH,CAAC;AAED,MAAMC,SAAS,GAAGA,CAACF,GAAW,EAAEjD,KAAyB,KAAoB;EAC3E,IAAIiD,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE;EACzB,IAAItG,SAAS,CAAC0F,WAAW,CAACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAEoD,GAAG,EAAE,OAAO;IAAE5D,KAAK,EAAE;MAAE,oBAAoB,EAAE,EAAE;MAAE2B,QAAQ,EAAE8B;IAAG;EAAE,CAAE,CAAC;EAC/G,OAAO,CAAC;IAAEG,GAAG,EAAE,OAAO;IAAE5D,KAAK,EAAE;MAAE,oBAAoB,EAAE,EAAE;MAAEQ,KAAK;MAAEmB,QAAQ,EAAE8B;IAAG;EAAE,CAAE,CAAC;AACtF,CAAC;AAED;AACA,OAAM,SAAUI,eAAeA,CAAA;EAC7B,OAAOzG,WAAW,CAAC8C,KAAK,CAACN,YAAY,EAAE,EAAE;IAAEmC,WAAW,EAAEhF,cAAc;IAAE+E,SAAS,EAAG7B,KAAK,IAAKA,KAAK,CAACK;EAAM,CAAE,CAAC;AAC/G;AAEA;;;;;;;;;;;;AAYA;AACA,OAAM,SAAUwD,gBAAgBA,CAAA;EAC9B,OAAOnF,WAAW,CAACiB,YAAY,EAAE,EAAE,kBAAkB,EAAGK,KAAK,IAAKA,KAAK,CAACoC,OAAO,CAAC;AAClF;AAEA;;;;;;;AAOA;AACA,OAAM,SAAU0B,aAAaA,CAAA;EAC3B,OAAOpF,WAAW,CAACiB,YAAY,EAAE,EAAE,eAAe,EAAGK,KAAK,IAAKA,KAAK,CAAC+D,IAAI,CAAC;AAC5E;AAEA;AACA,OAAM,SAAUC,iBAAiBA,CAAA;EAC/B,OAAOtF,WAAW,CAACiB,YAAY,EAAE,EAAE,mBAAmB,EAAGK,KAAK,IAAKA,KAAK,CAACiE,QAAQ,CAAC;AACpF;AAEA;AACA,OAAM,SAAUC,uBAAuBA,CAAA;EACrC,OAAOxF,WAAW,CAACiB,YAAY,EAAE,EAAE,yBAAyB,EAAGK,KAAK,IAAKA,KAAK,CAACmE,cAAc,CAAC;AAChG;AAEA;AACA,OAAM,SAAUC,0BAA0BA,CAAA;EACxC,OAAO1F,WAAW,CAACiB,YAAY,EAAE,EAAE,4BAA4B,EAAGK,KAAK,IAAKA,KAAK,CAACqE,iBAAiB,CAAC;AACtG;AAEA;;;;AAIA,OAAM,SAAUC,sBAAsBA,CAAA;EACpC,MAAMC,MAAM,GAAGpF,eAAe,EAAE;EAChC,OAAOT,WAAW,CAACiB,YAAY,EAAE,EAAE,wBAAwB,EAAGK,KAAK,IAAKlB,iBAAiB,CAACkB,KAAK,EAAEuE,MAAM,CAAC,CAAC;AAC3G;AAEA;;;;;AAKA,OAAM,SAAUC,uBAAuBA,CAAA;EACrC,MAAMD,MAAM,GAAGnF,gBAAgB,CAACD,eAAe,EAAE,CAAC;EAClD,MAAMa,KAAK,GAAGL,YAAY,EAAE;EAC5B,IAAIzC,SAAS,CAAC0F,WAAW,CAAC5C,KAAK,CAAC,EAAE,OAAOuE,MAAM;EAC/C,MAAME,OAAO,GAAGzE,KAAK,CAACyE,OAAO;EAC7B,OAAO,MAAM9H,IAAI,CAAC+H,EAAE,CAACD,OAAO,CAACE,MAAM,EAAE,EAAEJ,MAAM,EAAE,CAAC;AAClD;AAEA;;;;;;;;;;;AAWA;AACA,OAAM,SAAUK,6BAA6BA,CAAA;EAC3C,OAAOlG,WAAW,CAACiB,YAAY,EAAE,EAAE,+BAA+B,EAAGK,KAAK,IAAKX,eAAe,CAAC,MAAMW,KAAK,CAAC6E,UAAU,CAAC,CAAC;AACzH;AAEA;;;;;;;;;;;AAWA;AACA,OAAM,SAAUC,uBAAuBA,CAAA;EACrC,OAAOpG,WAAW,CAACiB,YAAY,EAAE,EAAE,yBAAyB,EAAGK,KAAK,IAAKV,mBAAmB,CAAC,MAAMU,KAAK,CAAC6E,UAAU,EAAE,MAAM7E,KAAK,CAACyE,OAAO,CAAC,CAAC;AAC5I;AAEA;;;;;;;;;;;;;;AAcA;AACA,OAAM,SAAUM,qBAAqBA,CAAA;EACnC,OAAOrG,WAAW,CAACiB,YAAY,EAAE,EAAE,uBAAuB,EAAGK,KAAK,IAAKT,OAAO,CAAC,MAAMS,KAAK,CAAC6E,UAAU,CAAC,CAAC;AACzG;AAEA;;;;AAIA,OAAM,SAAUG,6BAA6BA,CAAA;EAC3C,MAAMT,MAAM,GAAGpF,eAAe,EAAE;EAChC,OAAOT,WAAW,CAACiB,YAAY,EAAE,EAAE,+BAA+B,EAAGK,KAAK,IAAKnB,wBAAwB,CAACmB,KAAK,EAAEuE,MAAM,CAAC,CAAC;AACzH;AAEA;;;;AAIA,OAAO,MAAMU,iBAAiB,GAAGA,CAAKC,IAAY,EAAEC,IAAsC,KAAQzG,WAAW,CAACiB,YAAY,EAAE,EAAEuF,IAAI,EAAEC,IAAI,CAAC;AAEzI;;;;;AAKA,OAAM,SAAUC,kBAAkBA,CAAA;EAChC,OAAO1G,WAAW,CAACiB,YAAY,EAAE,EAAE,oBAAoB,EAAGK,KAAK,IAAK,MAAMA,KAAK,CAAC6E,UAAU,CAAC;AAC7F;AAWA;;;;;;;;;;;;;AAaA,OAAM,SAAUQ,gBAAgBA,CAAA;EAC9B,MAAMrF,KAAK,GAAGL,YAAY,EAAE;EAC5B,MAAM2F,OAAO,GAAG9G,eAAe,CAACwB,KAAK,CAAC;EACtC,MAAMW,QAAQ,GAAGxD,WAAW,CAAC8C,KAAK,CAACD,KAAK,EAAE;IAAE8B,WAAW,EAAEhF,cAAc;IAAE+E,SAAS,EAAG0D,CAAC,IAAKvE,SAAS,CAACgB,GAAG,CAACuD,CAAC;EAAC,CAAE,CAAC;EAC9G,OAAYC,EAAW,IAAyB;IAC9C;IACA,IAAIpI,QAAQ,EAAE,OAAOwD,OAAO,CAAC6E,OAAO,CAACH,OAAO,CAACE,EAAE,CAAC,CAAwB;IACxE,IAAIE,MAAM,GAAG5I,cAA4B;IACzC,MAAM6I,OAAO,GAAG,IAAI/E,OAAO,CAAQ6E,OAAO,IAAI;MAC5CC,MAAM,GAAGD,OAAO;IAClB,CAAC,CAAC;IACF;IACA,MAAMG,MAAM,GAAGN,OAAO,CAACE,EAAE,CAAC;IAC1B;IACA;IACA;IACA;IACA;IACA5H,YAAY,CAAC,IAAI,EAAE,MACjBD,SAAS,CAAC,MAAK;MACb2H,OAAO,CAACxI,cAAc,EAAE;QAAE+I,IAAI,EAAE,UAAU;QAAElI,SAAS,EAAEA,CAAA,KAAM+H,MAAM;MAAE,CAAE,CAAC;IAC1E,CAAC,CAAC,CACH;IACD,MAAMI,OAAO,GAAG3I,WAAW,CAAC8C,KAAK,CAACU,QAAQ,EAAE;MAAEmB,WAAW,EAAEA,CAAA,KAAM6D,OAAO;MAAE9D,SAAS,EAAGkE,IAAI,IAAKnF,OAAO,CAACoF,IAAI,CAAC,CAACL,OAAO,EAAEI,IAAI,CAAC;IAAC,CAAE,CAAC;IAC/H,OAAOD,OAAO,CAACG,IAAI,CAAC,MAAML,MAAM,CAAwB;EAC1D,CAAC;AACH;AAEA;;;;;;;;;;AAUA;AACA;AACA,OAAM,SAAUM,SAASA,CAAO9D,OAAsB,EAAE+D,MAA2C;EACjG,IAAI/I,QAAQ,EAAE,OAAOuB,WAAW,EAAQ;EACxC,MAAMyH,GAAG,GAAGrH,QAAQ,CAACoH,MAAM,CAAC;EAC5B,IAAI1I,WAAW,EAAE,EAAE;IACjB,MAAM4I,KAAK,GAAGrJ,KAAK,CAACsJ,UAAU,CAAC,KAAK,CAAC;IACrC,MAAMC,IAAI,GAAGnE,OAAO,CAACC,OAAO,CAACzF,MAAM,CAAC4J,OAAO,CAACH,KAAK,CAACI,KAAK,EAAEL,GAAG,CAAC,CAAC;IAC9DlH,mBAAmB,CAAC,MAAK;MACvBmH,KAAK,CAACK,UAAU,EAAE;IACpB,CAAC,CAAC;IACFhJ,SAAS,CAAC,MAAM6I,IAAI,CAACI,eAAe,EAAE,CAAC;IACvC,OAAOJ,IAAI;EACb;EACA,MAAMK,KAAK,GAAGxE,OAAO,CAACC,OAAO,CAAC+D,GAAG,CAAC;EAClC;EACA;EACA1I,SAAS,CAAC,MAAMkJ,KAAK,CAACD,eAAe,EAAE,CAAC;EACxC,OAAOC,KAAK;AACd;AAEA;;;;;;;;AAQA,OAAM,SAAUC,cAAcA,CAAOC,WAAsD;EACzF,MAAM1E,OAAO,GAAGyB,gBAAgB,EAAE;EAClC,IAAIzG,QAAQ,EAAE,OAAOuB,WAAW,EAAQ;EACxC,OAAOuH,SAAS,CAAC9D,OAAO,EAAE0E,WAAW,EAAE,CAAC;AAC1C","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"provider.js","names":["Bool","Effect","Fiber","constUndefined","identity","Latch","Option","Predicate","UndefinedOr","isServer","useHead","createContext","DEV","flush","isHydrating","onCleanup","onSettled","runWithOwner","untrack","useContext","Context","Report","ROOT","strictMessage","FeatureSectionContext","sectionUnder","useLazySection","explainerOf","serverAppear","animateLayoutOf","clientContext","fromContext","interrupted","prepareIdle","reducedMotionSettingWith","reducedMotionWith","reported","serverContext","whenIdle","onSettledClientOnly","useWardicConfig","skipAnimationsOf","instantLayoutOf","instantTransitionOf","resetOf","applyAndFlush","apply","WardicContext","contextValue","getOrUndefined","fromNullishOr","contextOf","given","env","serverAppearOf","appear","reducedMotion","nonce","scaleCorrectors","WardicProvider","props","value","abort","disposed","Promise","_","reject","catch","disposals","set","DOMException","features","dispose","section","sectionOf","sections","_$createComponent","children","WeakMap","useFeatureSection","match","onDefined","onUndefined","getOrThrow","get","parent","strict","cause","runtime","runFork","failure","LazyWardic","useElementFeatures","brings","complete","Error","isUndefined","registry","useFeatureRegistry","own","build","services","merge","pending","useBrought","undefined","state","appearStyle","css","tags","styleTags","tag","useWardicAppear","useWardicRuntime","useWardicGate","gate","useWardicRenderer","renderer","useWardicPositionalKeys","positionalKeys","useWardicDefaultTransition","defaultTransition","useWardicReducedMotion","config","useWardicSkipAnimations","instant","or","active","createInstantLayoutTransition","projection","createInstantTransition","createResetProjection","useWardicReducedMotionSetting","fromWardicContext","name","read","useBuiltProjection","useAnimateLayout","declare","v","fn","resolve","settle","settled","result","from","waiting","gone","race","then","runScoped","effect","run","latch","makeUnsafe","held","andThen","await","openUnsafe","interruptUnsafe","fiber","useWardicFiber","effectThunk"],"sources":["../../../../src/unstable/v2/provider.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/server/feature.js
CHANGED
|
@@ -25,6 +25,16 @@ import * as Option from "effect/Option";
|
|
|
25
25
|
import * as Predicate from "effect/Predicate";
|
|
26
26
|
import * as UndefinedOr from "effect/UndefinedOr";
|
|
27
27
|
import * as OwnerScope from "./owner-scope.js";
|
|
28
|
+
/**
|
|
29
|
+
* `key`'s Layer for a Feature: the Environment's service when it gives one (`@wardic/test`'s `TestLive`),
|
|
30
|
+
* else `layer`, the DOM's, which a provider's `MemoMap` builds once for every Feature standing on it.
|
|
31
|
+
*/
|
|
32
|
+
// ADR-0067 decision 14 (the gestures' input) and *Amendment (#518)*, decision 5 (the scroll). A Feature
|
|
33
|
+
// module's call to it is marked pure, so an app that never imports the module drops `layer`.
|
|
34
|
+
export const fromEnvironmentOr = (key, layer) => Layer.unwrap(Effect.map(Effect.serviceOption(key), Option.match({
|
|
35
|
+
onSome: given => Layer.succeed(key)(given),
|
|
36
|
+
onNone: () => layer
|
|
37
|
+
})));
|
|
28
38
|
/** Features as one flat list, each once, in order. */
|
|
29
39
|
export const flatten = features => Arr.dedupeWith(flattenInto(features), (a, b) => a === b);
|
|
30
40
|
const flattenInto = features => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature.js","names":["Color","Report","Arr","Cause","Context","Effect","Exit","constFalse","constVoid","identity","Layer","Option","Predicate","UndefinedOr","OwnerScope","flatten","features","dedupeWith","flattenInto","a","b","isFeature","flatMap","value","hasProperty","isLoad","prop","isFunction","NONE","empty","ROOT","services","pending","strict","makeSection","parent","registry","report","host","own","ownOf","last","above","mine","isNotUndefined","joined","merge","NO_OWN","isUndefined","loaded","server","build","built","
|
|
1
|
+
{"version":3,"file":"feature.js","names":["Color","Report","Arr","Cause","Context","Effect","Exit","constFalse","constVoid","identity","Layer","Option","Predicate","UndefinedOr","OwnerScope","fromEnvironmentOr","key","layer","unwrap","map","serviceOption","match","onSome","given","succeed","onNone","flatten","features","dedupeWith","flattenInto","a","b","isFeature","flatMap","value","hasProperty","isLoad","prop","isFunction","NONE","empty","ROOT","services","pending","strict","makeSection","parent","registry","report","host","own","ownOf","last","above","mine","isNotUndefined","joined","merge","NO_OWN","isUndefined","loaded","server","build","built","onDefined","onUndefined","load","changed","reactivity","trigger","live","onCleanup","then","notify","error","die","track","sectionsAndWarnings","warn","sections","WeakMap","warned","Set","section","get","set","warnOnce","feature","message","has","add","clientRegistry","runtime","scope","open","Map","lists","all","one","runSync","buildWithMemoMap","memoMap","reduce","runFork","logWarning","dispose","disposeReported","context","cachedContext","runPromiseExit","disposeEffect","exit","isSuccess","failure","cause","runPromise","provideContext","serverRegistry","ran","forEach","WIDE_GAMUT","unreadColorIn","values","spacesRegistered","undefined","findFirst","Object","isString","test","pipe","getOrUndefined","strictMessage","complete","slim","LAYOUT_PROPS","missingMessage","what","entry"],"sources":["../../src/feature.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -10,16 +10,13 @@ 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.js";
|
|
14
14
|
/**
|
|
15
15
|
* The gestures' `InputSource`: the Environment's when it gives one (`@wardic/test`'s `TestLive`, a
|
|
16
16
|
* test's pushed input), else the DOM's, built over the page's `document`. One Layer, so a provider's
|
|
17
17
|
* `MemoMap` builds it once for every gesture Feature it has.
|
|
18
18
|
*/
|
|
19
|
-
export const input = /*#__PURE__*/
|
|
20
|
-
onSome: given => Layer.succeed(InputSource.InputSource)(given),
|
|
21
|
-
onNone: () => DomInput.layer
|
|
22
|
-
})));
|
|
19
|
+
export const input = /*#__PURE__*/fromEnvironmentOr(InputSource.InputSource, DomInput.layer);
|
|
23
20
|
/** `watch` with the gestures' input given: what a gesture Feature hands its elements, which run it on their provider. */
|
|
24
21
|
export const withInput = (source, watch) => (...args) => Effect.provideService(watch(...args), InputSource.InputSource, source);
|
|
25
22
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","names":["InputSource","DomInput","Context","Effect","Layer","
|
|
1
|
+
{"version":3,"file":"input.js","names":["InputSource","DomInput","Context","Effect","Layer","fromEnvironmentOr","input","layer","withInput","source","watch","args","provideService","gestureLayer","key","make","effect","map","pipe","provideMerge"],"sources":["../../../src/features/input.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;AAOA,OAAO,KAAKA,WAAW,MAAM,0BAA0B;AACvD,OAAO,KAAKC,QAAQ,MAAM,sBAAsB;AAChD,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,iBAAiB,QAAQ,eAAe;AAGjD;;;;;AAKA,OAAO,MAAMC,KAAK,GAAyC,aAAcD,iBAAiB,CAACL,WAAW,CAACA,WAAW,EAAEC,QAAQ,CAACM,KAAK,CAAC;AAEnI;AACA,OAAO,MAAMC,SAAS,GACpBA,CAA+CC,MAA0C,EAAEC,KAAgD,KAC3I,CAAC,GAAGC,IAAU,KACZR,MAAM,CAACS,cAAc,CAACF,KAAK,CAAC,GAAGC,IAAI,CAAC,EAAEX,WAAW,CAACA,WAAW,EAAES,MAAM,CAAC;AAE1E;;;;AAIA,OAAO,MAAMI,YAAY,GAAGA,CAAOC,GAAsB,EAAEC,IAAuD,KAChHX,KAAK,CAACY,MAAM,CAACF,GAAG,CAAC,CAACX,MAAM,CAACc,GAAG,CAACjB,WAAW,CAACA,WAAW,EAAEe,IAAI,CAAC,CAAC,CAACG,IAAI,CAACd,KAAK,CAACe,YAAY,CAACb,KAAK,CAAC,CAAC","ignoreList":[]}
|
|
@@ -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 { fromEnvironmentOr } from "../feature.js";
|
|
11
|
+
/**
|
|
12
|
+
* A container's scroll, live, for the scroll-linked values. `createScroll` brings it, so an app doesn't
|
|
13
|
+
* give it. The Environment's `ScrollSource` when it gives one (`@wardic/test`'s `TestLive`), else the
|
|
14
|
+
* DOM's, built once per provider.
|
|
15
|
+
*/
|
|
16
|
+
export const scroll = {
|
|
17
|
+
name: "scroll",
|
|
18
|
+
key: ScrollSource.ScrollSource,
|
|
19
|
+
layer: /*#__PURE__*/fromEnvironmentOr(ScrollSource.ScrollSource, DomScrollSource.layer)
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=scroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll.js","names":["ScrollSource","DomScrollSource","fromEnvironmentOr","scroll","name","key","layer"],"sources":["../../../src/features/scroll.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;AAOA,OAAO,KAAKA,YAAY,MAAM,2BAA2B;AACzD,OAAO,KAAKC,eAAe,MAAM,6BAA6B;AAC9D,SAAuBC,iBAAiB,QAAQ,eAAe;AAE/D;;;;;AAKA,OAAO,MAAMC,MAAM,GAAuC;EACxDC,IAAI,EAAE,QAAQ;EACdC,GAAG,EAAEL,YAAY,CAACA,YAAY;EAC9BM,KAAK,EAAE,aAAcJ,iBAAiB,CAACF,YAAY,CAACA,YAAY,EAAEC,eAAe,CAACK,KAAK;CACxF","ignoreList":[]}
|
package/dist/server/index.js
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
|
* `WardicProvider` (one Effect runtime + `AtomRegistry` per ADR-0006), the
|
|
17
17
|
* `useWardicRuntime` accessor, and the scoped-fiber runner (`runScoped` /
|
|
@@ -25,6 +25,7 @@ export const VERSION = "1.0.0-rc.3";
|
|
|
25
25
|
export { createInstantLayoutTransition, createInstantTransition, createResetProjection, runScoped, useAnimateLayout, useWardicFiber, useWardicGate, useWardicRuntime, WardicProvider, LazyWardic } from "./provider.js";
|
|
26
26
|
export { colors } from "./features/colors.js";
|
|
27
27
|
export { layout } from "./features/layout.js";
|
|
28
|
+
export { scroll } from "./features/scroll.js";
|
|
28
29
|
/**
|
|
29
30
|
* The gestures (#511, ADR-0067 decision 3), a Feature each: `hover`, `press` (its Keyboard presses
|
|
30
31
|
* included), `focus`, `inView`, `pan` and `drag` (`dragControls` and the release's inertia included).
|
|
@@ -81,7 +82,8 @@ export { createCycle } from "./cycle.js";
|
|
|
81
82
|
* scroll, a value's velocity and time (#234). `createAnimationFrame` tells a callback each frame, and `createWillChange` makes a
|
|
82
83
|
* `willChange` that turns on as its element animates (#443).
|
|
83
84
|
*/
|
|
84
|
-
export { createAnimationFrame, createFollowValue,
|
|
85
|
+
export { createAnimationFrame, createFollowValue, createSpring, createTime, createTransform, createVelocity, createWillChange } from "./live-value.js";
|
|
86
|
+
export { createScroll } from "./live-scroll.js";
|
|
85
87
|
/**
|
|
86
88
|
* `createWard` — a **Ward**, one element's motion binding (ADR-0005, ADR-0042): recognizers ->
|
|
87
89
|
* Override stack -> spring/tween Retarget -> the gate, which commits each frame onto the
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["VERSION","createInstantLayoutTransition","createInstantTransition","createResetProjection","runScoped","useAnimateLayout","useWardicFiber","useWardicGate","useWardicRuntime","WardicProvider","LazyWardic","colors","layout","drag","focus","hover","inView","pan","press","domAnimation","domMax","correctParentTransform","transformViewBoxPoint","WardicConfig","fromAtom","streamToSignal","createDragControls","createAnimate","createAnimationControls","createInView","createPageInView","createReducedMotion","createReducedMotionConfig","createDrag","createFocus","createHover","createPress","createCycle","createAnimationFrame","createFollowValue","
|
|
1
|
+
{"version":3,"file":"index.js","names":["VERSION","createInstantLayoutTransition","createInstantTransition","createResetProjection","runScoped","useAnimateLayout","useWardicFiber","useWardicGate","useWardicRuntime","WardicProvider","LazyWardic","colors","layout","scroll","drag","focus","hover","inView","pan","press","domAnimation","domMax","correctParentTransform","transformViewBoxPoint","WardicConfig","fromAtom","streamToSignal","createDragControls","createAnimate","createAnimationControls","createInView","createPageInView","createReducedMotion","createReducedMotionConfig","createDrag","createFocus","createHover","createPress","createCycle","createAnimationFrame","createFollowValue","createSpring","createTime","createTransform","createVelocity","createWillChange","createScroll","createWard","createReorderGroup","createReorderItem","Reorder","reorderItem","runDragTrack","useVariantContext","WardicVariantContext","wardic","w","isWardicComponent","unwrapWardicComponent","isValidWardicProp","AnimatePresence","PresenceContext","useIsPresent","usePresence","usePresenceContext","usePresenceData","LayoutGroup","createProjectionNode","measureLayoutBox","anticipate","backIn","backInOut","backOut","circIn","circInOut","circOut","cubicBezier","easeIn","easeInOut","easeOut","steps","stagger","arc"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;AAQA;;;;;AAKA,OAAO,MAAMA,OAAO,GAAG,YAAY;AAEnC;;;;;;;;;;AAUA,SACEC,6BAA6B,EAC7BC,uBAAuB,EACvBC,qBAAqB,EACrBC,SAAS,EACTC,gBAAgB,EAChBC,cAAc,EACdC,aAAa,EACbC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,QACL,eAAgB;AAWvB,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,MAAM,QAAQ,sBAAsB;AAC7C;;;;;;;AAOA,SAASC,IAAI,QAAQ,oBAAoB;AACzC,SAASC,KAAK,QAAQ,qBAAqB;AAC3C,SAASC,KAAK,QAAQ,qBAAqB;AAC3C,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,GAAG,QAAQ,mBAAmB;AACvC,SAASC,KAAK,QAAQ,qBAAqB;AAC3C,SAASC,YAAY,QAAQ,6BAA6B;AAC1D,SAASC,MAAM,QAAQ,uBAAuB;AAG9C;AACA,SAASC,sBAAsB,EAAEC,qBAAqB,QAAQ,iBAAiB;AAI/E;;;;AAIA,SAASC,YAAY,QAAgC,oBAAqB;AAU1E;;;;;AAKA,SAASC,QAAQ,EAAEC,cAAc,QAAQ,aAAa;AAGtD;AACA,SAASC,kBAAkB,QAAiE,oBAAoB;AAChH;AACA;AACA,SAASC,aAAa,QAAQ,qBAAqB;AAkBnD;AACA,SAASC,uBAAuB,QAAqE,yBAAyB;AAE9H;;;;;;AAMA,SAEEC,YAAY,EACZC,gBAAgB,EAChBC,mBAAmB,EACnBC,yBAAyB,QACpB,cAAc;AACrB,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,WAAW,QAAQ,mBAAmB;AAC/C;AACA,SAASC,WAAW,QAAoB,YAAY;AAEpD;;;;;;;;AAQA,SACEC,oBAAoB,EACpBC,iBAAiB,EACjBC,YAAY,EACZC,UAAU,EACVC,eAAe,EACfC,cAAc,EACdC,gBAAgB,QACX,iBAAiB;AACxB,SAASC,YAAY,QAAmE,kBAAkB;AAG1G;;;;;;AAMA,SAASC,UAAU,QAAQ,eAAe;AAC1C,eAA8F,kBAAmB;AAgCjH;;;;;;;AAOA,SACEC,kBAAkB,EAClBC,iBAAiB,EACjBC,OAAO,EAcPC,WAAW,QACN,cAAe;AAEtB;;;;;;;AAOA,SAIEC,YAAY,QACP,WAAW;AAElB;;;;;;;AAOA,SAEEC,iBAAiB,EACjBC,oBAAoB,QACf,eAAe;AAEtB;;;;;;;;AAQA,SAKEC,MAAM,QACD,aAAc;AACrB;;;;AAIA,SAAiBC,CAAC,QAAQ,QAAS;AACnC;AACA;AACA,SAASC,iBAAiB,EAAEC,qBAAqB,QAAkC,uBAAuB;AAC1G,SAASC,iBAAiB,QAAQ,mBAAmB;AAErD;;;;;;;;;AASA,SACEC,eAAe,EAEfC,eAAe,EAIfC,YAAY,EACZC,WAAW,EACXC,kBAAkB,EAClBC,eAAe,QACV,eAAgB;AAEvB;;;;;;;;;AASA,SAA2CC,WAAW,EAAEC,oBAAoB,QAAQ,aAAc;AAClG,SAASC,gBAAgB,QAAQ,8BAA8B;AAE/D;;;;;;AAMA,SACEC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,SAAS,EACTC,OAAO,EACPC,WAAW,EACXC,MAAM,EACNC,SAAS,EACTC,OAAO,EACPC,KAAK,QACA,qBAAqB;AAC5B,SAASC,OAAO,QAAmC,cAAc;AACjE,SAASC,GAAG,QAA+B,UAAU","ignoreList":[]}
|
package/dist/server/layout.js
CHANGED
|
@@ -65,7 +65,7 @@ export function LayoutGroup(props) {
|
|
|
65
65
|
const outer = useLayoutGroupId();
|
|
66
66
|
const id = untrack(() => layoutGroupIdOf(outer, props.id, props.inherit));
|
|
67
67
|
// A server render has no projection system to re-measure (ADR-0021).
|
|
68
|
-
if (
|
|
68
|
+
if (!isServer) {
|
|
69
69
|
const projection = useWardicProjection();
|
|
70
70
|
// A group-level dependency change re-measures the whole tree (Q5), compared first as Motion's is
|
|
71
71
|
// (#618). `defer: true` skips the mount read (nodes seed themselves on registration).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","names":["Bool","createContext","createEffect","createMemo","on","onCleanup","untrack","useContext","layoutGroupIdOf","registrationOf","useWardicProjection","isServer","createProjectionNode","opts","projectionNodeOf","projection","handle","register","dispose","dependency","layoutDependency","notify","defer","LayoutGroupContext","undefined","useLayoutGroupId","LayoutGroup","props","outer","id","inherit","
|
|
1
|
+
{"version":3,"file":"layout.js","names":["Bool","createContext","createEffect","createMemo","on","onCleanup","untrack","useContext","layoutGroupIdOf","registrationOf","useWardicProjection","isServer","createProjectionNode","opts","projectionNodeOf","projection","handle","register","dispose","dependency","layoutDependency","notify","defer","LayoutGroupContext","undefined","useLayoutGroupId","LayoutGroup","props","outer","id","inherit","match","onTrue","children","onFalse","_$createComponent","Provider","value"],"sources":["../../src/layout.tsx"],"sourcesContent":[null],"mappings":";AAoBA,OAAO,KAAKA,IAAI,MAAM,gBAAgB;AACtC,SAASC,aAAa,EAAEC,YAAY,EAAEC,UAAU,EAAYC,EAAE,EAAEC,SAAS,EAAEC,OAAO,EAAEC,UAAU,QAAQ,UAAU;AAChH,SAASC,eAAe,QAAiC,mBAAmB;AAC5E,SAASC,cAAc,QAA0C,oBAAoB;AACrF,SAASC,mBAAmB,QAAQ,wBAAwB;AAC5D,SAASC,QAAQ,QAAQ,aAAa;AAItC;;;;;;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAIC,IAAiC,IAAkCC,gBAAgB,CAACJ,mBAAmB,EAAE,EAAEG,IAAI,CAAC;AAErJ;;;;AAIA,OAAO,MAAMC,gBAAgB,GAAGA,CAACC,UAAkC,EAAEF,IAAiC,KAAiC;EACrI,MAAMG,MAAM,GAAGD,UAAU,CAACE,QAAQ,CAACR,cAAc,CAACI,IAAI,CAAC,CAAC;EACxDR,SAAS,CAACW,MAAM,CAACE,OAAO,CAAC;EACzB;EACA;EACA,MAAMC,UAAU,GAAGhB,UAAU,CAAC,MAAMU,IAAI,CAACO,gBAAgB,EAAE,CAAC;EAC5DlB,YAAY,CAACE,EAAE,CAACe,UAAU,EAAE,MAAMH,MAAM,CAACK,MAAM,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAI,CAAE,CAAC,CAAC;EACpE,OAAON,MAAM,EAAC;AAChB,CAAC;AAED;AACA,MAAMO,kBAAkB,GAAGtB,aAAa,CAAqBuB,SAAS,CAAC;AAEvE;AACA,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAA0BlB,UAAU,CAACgB,kBAAkB,CAAC;AAuBxF;;;;;;;;;;;;;;;AAeA;AACA;AACA;AACA,OAAM,SAAUG,WAAWA,CAACC,KAAuB;EACjD;EACA,MAAMC,KAAK,GAAGH,gBAAgB,EAAE;EAChC,MAAMI,EAAE,GAAGvB,OAAO,CAAC,MAAME,eAAe,CAACoB,KAAK,EAAED,KAAK,CAACE,EAAE,EAAEF,KAAK,CAACG,OAAO,CAAC,CAAC;EACzE;EACA,IAAI,CAACnB,QAAQ,EAAE;IACb,MAAMI,UAAU,GAAGL,mBAAmB,EAAE;IACxC;IACA;IACA,MAAMS,UAAU,GAAGhB,UAAU,CAAC,MAAMwB,KAAK,CAACP,gBAAgB,CAAC;IAC3DlB,YAAY,CAACE,EAAE,CAACe,UAAU,EAAE,MAAMJ,UAAU,CAACM,MAAM,EAAE,EAAE;MAAEC,KAAK,EAAE;IAAI,CAAE,CAAC,CAAC;EAC1E;EACA;EACA;EACA;EACA,OAAOtB,IAAI,CAAC+B,KAAK,CAACF,EAAE,KAAKD,KAAK,EAAE;IAC9BI,MAAM,EAAEA,CAAA,KAASL,KAAK,CAACM,QAAY;IACnCC,OAAO,EAAEA,CAAA,KAAAC,iBAAA,CAAOZ,kBAAkB,CAACa,QAAQ;MAACC,KAAK,EAAER,EAAE;MAAA,IAAAI,SAAA;QAAA,OAAGN,KAAK,CAACM,QAAQ;MAAA;IAAA;GACvE,CAAC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,115 @@
|
|
|
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 * as Arr from "effect/Array";
|
|
10
|
+
import * as Bool from "effect/Boolean";
|
|
11
|
+
import * as Effect from "effect/Effect";
|
|
12
|
+
import * as Option from "effect/Option";
|
|
13
|
+
import * as Predicate from "effect/Predicate";
|
|
14
|
+
import { AtomRegistry } from "effect/reactivity";
|
|
15
|
+
import * as Scope from "effect/Scope";
|
|
16
|
+
import * as UndefinedOr from "effect/UndefinedOr";
|
|
17
|
+
import { createEffect, createSignal, onCleanup } from "solid-js";
|
|
18
|
+
import { scroll } from "./features/scroll.js";
|
|
19
|
+
import { serviceOf } from "./gesture-features.js";
|
|
20
|
+
import { CLOSE_FAILED, SERVER_ZERO } from "./live-value.js";
|
|
21
|
+
import * as OwnerScope from "./owner-scope.js";
|
|
22
|
+
import { useBrought, useWardicRuntime } from "./provider.js";
|
|
23
|
+
import { isServer } from "./server.js";
|
|
24
|
+
/** What it brings (ADR-0067 decision 12): the `scroll` Feature, whatever its section has (#518). */
|
|
25
|
+
const SCROLL = [scroll];
|
|
26
|
+
const SERVER_SCROLL = {
|
|
27
|
+
scrollX: SERVER_ZERO,
|
|
28
|
+
scrollY: SERVER_ZERO,
|
|
29
|
+
scrollXProgress: SERVER_ZERO,
|
|
30
|
+
scrollYProgress: SERVER_ZERO
|
|
31
|
+
};
|
|
32
|
+
/** An element source read now: `None` for an accessor whose ref hasn't arrived. */
|
|
33
|
+
const elementOf = source => Bool.match(Predicate.isFunction(source), {
|
|
34
|
+
onTrue: () => Option.fromUndefinedOr(source()),
|
|
35
|
+
onFalse: () => Option.some(source)
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* A scroll as values: `scrollX` and `scrollY`, how far it's scrolled, in pixels, and `scrollXProgress`
|
|
39
|
+
* and `scrollYProgress`, from 0 to 1 through its range. The page's, or a `container`'s. With a
|
|
40
|
+
* `target`, the progress is the target's way through, between two `offset`s, on `axis`. Each is set in
|
|
41
|
+
* the scroll's own event, so a value derived from one paints in the frame that shows the scroll. A
|
|
42
|
+
* `container` or `target` given as an accessor of a ref reads 0s until the ref is there. 0s on a
|
|
43
|
+
* server. Motion's `useScroll`.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* let box!: HTMLDivElement
|
|
47
|
+
* const { scrollYProgress } = createScroll({ container: () => box })
|
|
48
|
+
* <div ref={box}>…</div>
|
|
49
|
+
* <w.div style={{ scaleX: scrollYProgress }} />
|
|
50
|
+
* @see https://wardic.dev/reference/solid/live-values/create-scroll
|
|
51
|
+
*/
|
|
52
|
+
// #234. An accessor `container` or `target` is read in an effect, and a change of either follows the
|
|
53
|
+
// new one.
|
|
54
|
+
export const createScroll = (options = {}) => {
|
|
55
|
+
const runtime = useWardicRuntime();
|
|
56
|
+
if (isServer) return SERVER_SCROLL;
|
|
57
|
+
const services = useBrought(SCROLL);
|
|
58
|
+
const [scrollX, setScrollX] = createSignal(0);
|
|
59
|
+
const [scrollY, setScrollY] = createSignal(0);
|
|
60
|
+
const [scrollXProgress, setScrollXProgress] = createSignal(0);
|
|
61
|
+
const [scrollYProgress, setScrollYProgress] = createSignal(0);
|
|
62
|
+
createEffect(() => {
|
|
63
|
+
const container = UndefinedOr.match(options.container, {
|
|
64
|
+
onUndefined: () => Option.some(undefined),
|
|
65
|
+
onDefined: elementOf
|
|
66
|
+
});
|
|
67
|
+
const target = UndefinedOr.match(options.target, {
|
|
68
|
+
onUndefined: () => Option.some(undefined),
|
|
69
|
+
onDefined: elementOf
|
|
70
|
+
});
|
|
71
|
+
// A ref not there yet: the values hold until it is.
|
|
72
|
+
if (Bool.or(Option.isNone(container), Option.isNone(target))) return;
|
|
73
|
+
const registry = runtime.runSync(AtomRegistry.AtomRegistry);
|
|
74
|
+
const scope = OwnerScope.open(runtime);
|
|
75
|
+
onCleanup(() => OwnerScope.close(runtime, scope, CLOSE_FAILED));
|
|
76
|
+
const values = runtime.runSync(LiveValue.scroll({
|
|
77
|
+
...UndefinedOr.match(Option.getOrUndefined(container), {
|
|
78
|
+
onUndefined: () => ({}),
|
|
79
|
+
onDefined: element => ({
|
|
80
|
+
container: element
|
|
81
|
+
})
|
|
82
|
+
}),
|
|
83
|
+
...UndefinedOr.match(Option.getOrUndefined(target), {
|
|
84
|
+
onUndefined: () => ({}),
|
|
85
|
+
onDefined: element => ({
|
|
86
|
+
target: element
|
|
87
|
+
})
|
|
88
|
+
}),
|
|
89
|
+
...UndefinedOr.match(options.offset, {
|
|
90
|
+
onUndefined: () => ({}),
|
|
91
|
+
onDefined: offset => ({
|
|
92
|
+
offset
|
|
93
|
+
})
|
|
94
|
+
}),
|
|
95
|
+
...UndefinedOr.match(options.axis, {
|
|
96
|
+
onUndefined: () => ({}),
|
|
97
|
+
onDefined: axis => ({
|
|
98
|
+
axis
|
|
99
|
+
})
|
|
100
|
+
})
|
|
101
|
+
}).pipe(Effect.provideService(ScrollSource.ScrollSource, serviceOf(services(), ScrollSource.ScrollSource)), Scope.provide(scope)));
|
|
102
|
+
// Each derived Atom is read at once: it tracks the scroll only once it's been read.
|
|
103
|
+
const stops = Arr.map([[values.scrollX, setScrollX], [values.scrollY, setScrollY], [values.scrollXProgress, setScrollXProgress], [values.scrollYProgress, setScrollYProgress]], ([atom, set]) => registry.subscribe(atom, v => void set(v), {
|
|
104
|
+
immediate: true
|
|
105
|
+
}));
|
|
106
|
+
onCleanup(() => Arr.forEach(stops, stop => stop()));
|
|
107
|
+
});
|
|
108
|
+
return {
|
|
109
|
+
scrollX,
|
|
110
|
+
scrollY,
|
|
111
|
+
scrollXProgress,
|
|
112
|
+
scrollYProgress
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=live-scroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-scroll.js","names":["LiveValue","ScrollSource","Arr","Bool","Effect","Option","Predicate","AtomRegistry","Scope","UndefinedOr","createEffect","createSignal","onCleanup","scroll","serviceOf","CLOSE_FAILED","SERVER_ZERO","OwnerScope","useBrought","useWardicRuntime","isServer","SCROLL","SERVER_SCROLL","scrollX","scrollY","scrollXProgress","scrollYProgress","elementOf","source","match","isFunction","onTrue","fromUndefinedOr","onFalse","some","createScroll","options","runtime","services","setScrollX","setScrollY","setScrollXProgress","setScrollYProgress","container","onUndefined","undefined","onDefined","target","or","isNone","registry","runSync","scope","open","close","values","getOrUndefined","element","offset","axis","pipe","provideService","provide","stops","map","atom","set","subscribe","v","immediate","forEach","stop"],"sources":["../../src/live-scroll.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -6,9 +6,7 @@ import * as Predicate from "effect/Predicate";
|
|
|
6
6
|
import { Atom, AtomRegistry } from "effect/reactivity";
|
|
7
7
|
import * as UndefinedOr from "effect/UndefinedOr";
|
|
8
8
|
import * as Scope from "effect/Scope";
|
|
9
|
-
import
|
|
10
|
-
import * as Option from "effect/Option";
|
|
11
|
-
import { createComputed, createEffect, createMemo, createSignal, on, onCleanup, untrack } from "solid-js";
|
|
9
|
+
import { createComputed, createMemo, on, onCleanup, untrack } from "solid-js";
|
|
12
10
|
import { eachFrameOf } from "./animation-frame.js";
|
|
13
11
|
import { fromAtom } from "./bridge.js";
|
|
14
12
|
import { atomOf, carry, followAccessorOf, followOptionsOf, numberOf, readLive, serverFollowOf, serverRegistryOf, unitOf, willChangeOf, withUnit } from "./live-style.js";
|
|
@@ -18,12 +16,14 @@ import { isServer } from "./server.js";
|
|
|
18
16
|
import { withServerInterpolators } from "./server-interpolators.js";
|
|
19
17
|
/** A Live value as an accessor: an accessor as it is, an Atom read through the provider's registry. */
|
|
20
18
|
const accessorOf = source => Bool.match(Atom.isAtom(source), {
|
|
21
|
-
onTrue: () =>
|
|
22
|
-
onTrue: () => () => readLive(source, serverRegistryOf, untrack),
|
|
23
|
-
onFalse: () => fromAtom(source)
|
|
24
|
-
}),
|
|
19
|
+
onTrue: () => atomAccessorOf(source),
|
|
25
20
|
onFalse: () => source
|
|
26
21
|
});
|
|
22
|
+
/** 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). */
|
|
23
|
+
const atomAccessorOf = atom => {
|
|
24
|
+
if (isServer) return () => readLive(atom, serverRegistryOf, untrack);
|
|
25
|
+
return fromAtom(atom);
|
|
26
|
+
};
|
|
27
27
|
export function createTransform(source, fnOrInput, output, options) {
|
|
28
28
|
const read = accessorOf(source);
|
|
29
29
|
if (Predicate.isFunction(fnOrInput)) return createMemo(() => fnOrInput(read()));
|
|
@@ -109,7 +109,8 @@ const liveOf = (runtime, live) => {
|
|
|
109
109
|
const out = runtime.runSync(live.pipe(Scope.provide(scope)));
|
|
110
110
|
return carry(fromAtom(out), out);
|
|
111
111
|
};
|
|
112
|
-
|
|
112
|
+
/** A server render's value of a Live helper: 0, and no Atom. Internal. */
|
|
113
|
+
export const SERVER_ZERO = () => 0;
|
|
113
114
|
/**
|
|
114
115
|
* A `will-change` for an element's `style`: `"auto"` until the element first animates a transform key,
|
|
115
116
|
* `opacity`, `clipPath`, `filter` or `backgroundColor`, or is dragged; then `"transform"`, for good, so
|
|
@@ -150,94 +151,6 @@ export const createAnimationFrame = callback => {
|
|
|
150
151
|
onCleanup(() => OwnerScope.close(runtime, scope, CLOSE_FAILED));
|
|
151
152
|
runtime.runSync(eachFrameOf(runtime, callback).pipe(Scope.provide(scope)));
|
|
152
153
|
};
|
|
153
|
-
const SERVER_SCROLL = {
|
|
154
|
-
scrollX: SERVER_ZERO,
|
|
155
|
-
scrollY: SERVER_ZERO,
|
|
156
|
-
scrollXProgress: SERVER_ZERO,
|
|
157
|
-
scrollYProgress: SERVER_ZERO
|
|
158
|
-
};
|
|
159
|
-
/** An element source read now: `None` for an accessor whose ref hasn't arrived. */
|
|
160
|
-
const elementOf = source => Bool.match(Predicate.isFunction(source), {
|
|
161
|
-
onTrue: () => Option.fromUndefinedOr(source()),
|
|
162
|
-
onFalse: () => Option.some(source)
|
|
163
|
-
});
|
|
164
|
-
/**
|
|
165
|
-
* A scroll as values: `scrollX` and `scrollY`, how far it's scrolled, in pixels, and `scrollXProgress`
|
|
166
|
-
* and `scrollYProgress`, from 0 to 1 through its range. The page's, or a `container`'s. With a
|
|
167
|
-
* `target`, the progress is the target's way through, between two `offset`s, on `axis`. Each is set in
|
|
168
|
-
* the scroll's own event, so a value derived from one paints in the frame that shows the scroll. A
|
|
169
|
-
* `container` or `target` given as an accessor of a ref reads 0s until the ref is there. 0s on a
|
|
170
|
-
* server. Motion's `useScroll`.
|
|
171
|
-
*
|
|
172
|
-
* @example
|
|
173
|
-
* let box!: HTMLDivElement
|
|
174
|
-
* const { scrollYProgress } = createScroll({ container: () => box })
|
|
175
|
-
* <div ref={box}>…</div>
|
|
176
|
-
* <w.div style={{ scaleX: scrollYProgress }} />
|
|
177
|
-
* @see https://wardic.dev/reference/solid/live-values/create-scroll
|
|
178
|
-
*/
|
|
179
|
-
// #234. An accessor `container` or `target` is read in an effect, and a change of either follows the
|
|
180
|
-
// new one.
|
|
181
|
-
export const createScroll = (options = {}) => {
|
|
182
|
-
const runtime = useWardicRuntime();
|
|
183
|
-
if (isServer) return SERVER_SCROLL;
|
|
184
|
-
const [scrollX, setScrollX] = createSignal(0);
|
|
185
|
-
const [scrollY, setScrollY] = createSignal(0);
|
|
186
|
-
const [scrollXProgress, setScrollXProgress] = createSignal(0);
|
|
187
|
-
const [scrollYProgress, setScrollYProgress] = createSignal(0);
|
|
188
|
-
createEffect(() => {
|
|
189
|
-
const container = UndefinedOr.match(options.container, {
|
|
190
|
-
onUndefined: () => Option.some(undefined),
|
|
191
|
-
onDefined: elementOf
|
|
192
|
-
});
|
|
193
|
-
const target = UndefinedOr.match(options.target, {
|
|
194
|
-
onUndefined: () => Option.some(undefined),
|
|
195
|
-
onDefined: elementOf
|
|
196
|
-
});
|
|
197
|
-
// A ref not there yet: the values hold until it is.
|
|
198
|
-
if (Bool.or(Option.isNone(container), Option.isNone(target))) return;
|
|
199
|
-
const registry = runtime.runSync(AtomRegistry.AtomRegistry);
|
|
200
|
-
const scope = OwnerScope.open(runtime);
|
|
201
|
-
onCleanup(() => OwnerScope.close(runtime, scope, CLOSE_FAILED));
|
|
202
|
-
const values = runtime.runSync(LiveValue.scroll({
|
|
203
|
-
...UndefinedOr.match(Option.getOrUndefined(container), {
|
|
204
|
-
onUndefined: () => ({}),
|
|
205
|
-
onDefined: element => ({
|
|
206
|
-
container: element
|
|
207
|
-
})
|
|
208
|
-
}),
|
|
209
|
-
...UndefinedOr.match(Option.getOrUndefined(target), {
|
|
210
|
-
onUndefined: () => ({}),
|
|
211
|
-
onDefined: element => ({
|
|
212
|
-
target: element
|
|
213
|
-
})
|
|
214
|
-
}),
|
|
215
|
-
...UndefinedOr.match(options.offset, {
|
|
216
|
-
onUndefined: () => ({}),
|
|
217
|
-
onDefined: offset => ({
|
|
218
|
-
offset
|
|
219
|
-
})
|
|
220
|
-
}),
|
|
221
|
-
...UndefinedOr.match(options.axis, {
|
|
222
|
-
onUndefined: () => ({}),
|
|
223
|
-
onDefined: axis => ({
|
|
224
|
-
axis
|
|
225
|
-
})
|
|
226
|
-
})
|
|
227
|
-
}).pipe(Scope.provide(scope)));
|
|
228
|
-
// Each derived Atom is read at once: it tracks the scroll only once it's been read.
|
|
229
|
-
const stops = Arr.map([[values.scrollX, setScrollX], [values.scrollY, setScrollY], [values.scrollXProgress, setScrollXProgress], [values.scrollYProgress, setScrollYProgress]], ([atom, set]) => registry.subscribe(atom, v => void set(v), {
|
|
230
|
-
immediate: true
|
|
231
|
-
}));
|
|
232
|
-
onCleanup(() => Arr.forEach(stops, stop => stop()));
|
|
233
|
-
});
|
|
234
|
-
return {
|
|
235
|
-
scrollX,
|
|
236
|
-
scrollY,
|
|
237
|
-
scrollXProgress,
|
|
238
|
-
scrollYProgress
|
|
239
|
-
};
|
|
240
|
-
};
|
|
241
154
|
/** An accessor as an Atom, set as it changes, and held in `registry` until its owner's disposal. */
|
|
242
155
|
const mirrorOf = (accessor, registry) => {
|
|
243
156
|
const atom = Atom.make(untrack(accessor));
|
|
@@ -248,5 +161,5 @@ const mirrorOf = (accessor, registry) => {
|
|
|
248
161
|
return atom;
|
|
249
162
|
};
|
|
250
163
|
/** What a helper's Scope reports when one of its finalizers fails as its owner goes. */
|
|
251
|
-
const CLOSE_FAILED = "wardic.liveValue: a finalizer failed";
|
|
164
|
+
export const CLOSE_FAILED = "wardic.liveValue: a finalizer failed";
|
|
252
165
|
//# sourceMappingURL=live-value.js.map
|