atom.io 0.33.16 → 0.33.18

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.
@@ -1,12 +1,12 @@
1
1
  import { Store } from "atom.io/internal";
2
2
  import { Canonical, Json } from "atom.io/json";
3
- import { MutableAtomFamilyToken, MutableAtomToken, ReadableFamilyToken, ReadableToken, TimelineToken, WritableFamilyToken, WritableToken } from "atom.io";
4
- import * as React from "react";
3
+ import { Loadable, MutableAtomFamilyToken, MutableAtomToken, ReadableFamilyToken, ReadableToken, TimelineToken, WritableFamilyToken, WritableToken } from "atom.io";
4
+ import * as React$1 from "react";
5
5
 
6
6
  //#region src/react/store-context.d.ts
7
- declare const StoreContext: React.Context<Store>;
8
- declare const StoreProvider: React.FC<{
9
- children: React.ReactNode;
7
+ declare const StoreContext: React$1.Context<Store>;
8
+ declare const StoreProvider: React$1.FC<{
9
+ children: React$1.ReactNode;
10
10
  store?: Store;
11
11
  }>;
12
12
  //#endregion
@@ -18,6 +18,24 @@ declare function useI<T, K extends Canonical>(token: WritableFamilyToken<T, K>,
18
18
  declare function useJSON<Serializable extends Json.Serializable>(token: MutableAtomToken<any, Serializable>): Serializable;
19
19
  declare function useJSON<Serializable extends Json.Serializable, Key extends Canonical>(token: MutableAtomFamilyToken<any, Serializable, Key>, key: Key): Serializable;
20
20
  //#endregion
21
+ //#region src/react/use-loadable.d.ts
22
+ declare function useLoadable<T>(token: ReadableToken<Loadable<T>>): `LOADING` | {
23
+ loading: boolean;
24
+ value: T;
25
+ };
26
+ declare function useLoadable<T, K extends Canonical>(token: ReadableFamilyToken<Loadable<T>, K>, key: K): `LOADING` | {
27
+ loading: boolean;
28
+ value: T;
29
+ };
30
+ declare function useLoadable<T, F extends T>(token: ReadableToken<Loadable<T>>, fallback: F): {
31
+ loading: boolean;
32
+ value: T;
33
+ };
34
+ declare function useLoadable<T, K extends Canonical, F extends T>(token: ReadableFamilyToken<Loadable<T>, K>, key: K, fallback: F): {
35
+ loading: boolean;
36
+ value: T;
37
+ };
38
+ //#endregion
21
39
  //#region src/react/use-o.d.ts
22
40
  declare function useO<T>(token: ReadableToken<T>): T;
23
41
  declare function useO<T, K extends Canonical>(token: ReadableFamilyToken<T, K>, key: K): T;
@@ -31,5 +49,5 @@ type TimelineMeta = {
31
49
  };
32
50
  declare function useTL(token: TimelineToken<any>): TimelineMeta;
33
51
  //#endregion
34
- export { StoreContext, StoreProvider, TimelineMeta, useI, useJSON, useO, useTL };
52
+ export { StoreContext, StoreProvider, TimelineMeta, useI, useJSON, useLoadable, useO, useTL };
35
53
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["StoreContext: React.Context<Store>","StoreProvider: React.FC<{\n\tchildren: React.ReactNode\n\tstore?: Store\n}>","token: WritableToken<T>","next: New | ((old: T) => New)","old: T","token: WritableFamilyToken<T, K>","key: K","token: MutableAtomToken<any, Serializable>","token: MutableAtomFamilyToken<any, Serializable, Key>","key: Key","token: ReadableToken<T>","token: ReadableFamilyToken<T, K>","key: K","token: TimelineToken<any>"],"sources":["../../src/react/store-context.tsx","../../src/react/use-i.ts","../../src/react/use-json.ts","../../src/react/use-o.ts","../../src/react/use-tl.ts"],"sourcesContent":[],"mappings":";;;;;;cAIaA,cAAc,KAAA,CAAM,QAAQ;cAI5BC,eAAe,KAAA,CAAM;YACvB,KAAA,CAAM;UACR;AANT,CAAA,CAAA;;;iBCIgB,eACR,cAAc,kBACN,SAAS,aAAa,MAAM;iBAE5B,kBAAkB,UDRlC,CAAA,KAAaD,ECSL,mBDTiC,CCSb,CDTa,ECSV,CDTU,CAAA,EAAA,GAAA,ECUnC,CDVmC,CAAA,EAAA,CAAA,YCWzB,CDXyB,CAAA,CAAA,IAAA,ECWhB,GDXgB,GAAA,CAAA,CAAA,GAAA,ECWH,CDXG,EAAA,GCWG,GDXH,CAAA,EAAA,GAAA,IAAA;;;iBEQzB,6BAA6B,IAAA,CAAK,qBAC1C,sBAAsB,gBAC3B;iBAEa,6BACM,IAAA,CAAK,0BACd,UFdb,CAAA,KAAaA,EEeJ,sBFfgC,CAAA,GAAA,EEeJ,YFfI,EEeU,GFfV,CAAA,EAAA,GAAA,EEeqB,GFfrB,CAAA,EEe2B,YFf3B;;;iBGIzB,eAAe,cAAc,KAAK;iBAElC,kBAAkB,UHNlC,CAAA,KAAaA,EGOL,mBHPiC,CGOb,CHPa,EGOV,CHPU,CAAA,EAAA,GAAA,EGQnC,CHRmC,CAAA,EGStC,CHTsC;;;KIG7B,YAAA;;;;;AJHZ,CAAA;AAAyC,iBIUzB,KAAA,CJVyB,KAAA,EIUZ,aJVY,CAAA,GAAA,CAAA,CAAA,EIUS,YJVT"}
1
+ {"version":3,"file":"index.d.ts","names":["StoreContext: React.Context<Store>","StoreProvider: React.FC<{\n\tchildren: React.ReactNode\n\tstore?: Store\n}>","token: WritableToken<T>","next: New | ((old: T) => New)","old: T","token: WritableFamilyToken<T, K>","key: K","token: MutableAtomToken<any, Serializable>","token: MutableAtomFamilyToken<any, Serializable, Key>","key: Key","token: ReadableToken<Loadable<T>>","token: ReadableFamilyToken<Loadable<T>, K>","key: K","fallback: F","token: ReadableToken<T>","token: ReadableFamilyToken<T, K>","key: K","token: TimelineToken<any>"],"sources":["../../src/react/store-context.tsx","../../src/react/use-i.ts","../../src/react/use-json.ts","../../src/react/use-loadable.ts","../../src/react/use-o.ts","../../src/react/use-tl.ts"],"sourcesContent":[],"mappings":";;;;;;cAIaA,cAAc,OAAA,CAAM,QAAQ;cAI5BC,eAAe,OAAA,CAAM;YACvB,OAAA,CAAM;UACR;AANT,CAAA,CAAA;;;iBCIgB,eACR,cAAc,kBACN,SAAS,aAAa,MAAM;iBAE5B,kBAAkB,UDRlC,CAAA,KAAaD,ECSL,mBDTiC,CCSb,CDTa,ECSV,CDTU,CAAA,EAAA,GAAA,ECUnC,CDVmC,CAAA,EAAA,CAAA,YCWzB,CDXyB,CAAA,CAAA,IAAA,ECWhB,GDXgB,GAAA,CAAA,CAAA,GAAA,ECWH,CDXG,EAAA,GCWG,GDXH,CAAA,EAAA,GAAA,IAAA;;;iBEQzB,6BAA6B,IAAA,CAAK,qBAC1C,sBAAsB,gBAC3B;iBAEa,6BACM,IAAA,CAAK,0BACd,UFdb,CAAA,KAAaA,EEeJ,sBFfgC,CAAA,GAAA,EEeJ,YFfI,EEeU,GFfV,CAAA,EAAA,GAAA,EEeqB,GFfrB,CAAA,EEe2B,YFf3B;;;iBGEzB,sBACR,cAAc,SAAS;;SACW;AHJ1C,CAAA;AAAyC,iBGMzB,WHNyB,CAAA,CAAA,EAAA,UGMA,SHNR,CAAA,CAAA,KAAA,EGOzB,mBHPyB,CGOL,QHPK,CGOI,CHPJ,CAAA,EGOQ,CHPR,CAAA,EAAA,GAAA,EGQ3B,CHR2B,CAAA,EAAA,SAAA,GAAA;EAIjC,OAAaC,EAAAA,OAAAA;EAGZ,KAAA,EGEyC,CHFzC;CAAA;AADQ,iBGKO,WHLP,CAAA,CAAA,EAFyB,UGOO,CHPP,SGQ1B,cAAc,SAAS,eACpB;;SACmB;AFV9B,CAAA;AAAgB,iBEYA,WFZA,CAAA,CAAA,EACM,UEWmB,SFXjC,EAAA,UEWsD,CFV9C,CAAA,CAAA,KAAS,EEWjB,mBFXiB,CEWG,QFXH,CEWY,CFXZ,CAAA,EEWgB,CFXhB,CAAA,EAAA,GAAA,EEYnB,CFZmB,EAAA,QAAA,EEad,CFbc,CAAA,EAAA;EAAA,OAAa,EAAA,OAAA;EAAA,KAAA,EEcR,CFdc;AAAA,CAAA;;;iBGF5B,eAAe,cAAc,KAAK;iBAElC,kBAAkB,UJNlC,CAAA,KAAaD,EIOL,mBJPiC,CIOb,CJPa,EIOV,CJPU,CAAA,EAAA,GAAA,EIQnC,CJRmC,CAAA,EIStC,CJTsC;;;KKG7B,YAAA;;;;;ALHZ,CAAA;AAAyC,iBKUzB,KAAA,CLVyB,KAAA,EKUZ,aLVY,CAAA,GAAA,CAAA,CAAA,EKUS,YLVT"}
@@ -1,23 +1,68 @@
1
- import { StoreContext, StoreProvider, useI, useO } from "../use-o-BrXc7Qro.js";
1
+ import { StoreContext, StoreProvider, useI, useO } from "../use-o-DXPncKmZ.js";
2
2
  import { findInStore, getJsonToken, subscribeToTimeline, withdraw } from "atom.io/internal";
3
3
  import { redo, undo } from "atom.io";
4
- import * as React from "react";
4
+ import * as React$1 from "react";
5
+ import React from "react";
6
+ import { useO as useO$1 } from "atom.io/react";
5
7
 
6
8
  //#region src/react/use-json.ts
7
9
  function useJSON(token, key) {
8
- const store = React.useContext(StoreContext);
10
+ const store = React$1.useContext(StoreContext);
9
11
  const stateToken = token.type === `mutable_atom_family` ? findInStore(store, token, key) : token;
10
12
  const jsonToken = getJsonToken(store, stateToken);
11
13
  return useO(jsonToken);
12
14
  }
13
15
 
16
+ //#endregion
17
+ //#region src/react/use-loadable.ts
18
+ function useLoadable(...params) {
19
+ let loadable;
20
+ let fallback;
21
+ const [token] = params;
22
+ let key;
23
+ switch (token.type) {
24
+ case `atom`:
25
+ case `mutable_atom`:
26
+ case `readonly_held_selector`:
27
+ case `readonly_pure_selector`:
28
+ case `writable_held_selector`:
29
+ case `writable_pure_selector`:
30
+ loadable = useO$1(token);
31
+ fallback = params[1];
32
+ break;
33
+ case `atom_family`:
34
+ case `mutable_atom_family`:
35
+ case `readonly_held_selector_family`:
36
+ case `readonly_pure_selector_family`:
37
+ case `writable_held_selector_family`:
38
+ case `writable_pure_selector_family`:
39
+ key = params[1];
40
+ loadable = useO$1(token, key);
41
+ fallback = params[2];
42
+ }
43
+ const lastLoadedRef = React.useRef(fallback ?? (loadable instanceof Promise ? `LOADING` : loadable));
44
+ const { current: lastLoaded } = lastLoadedRef;
45
+ if (loadable instanceof Promise) {
46
+ if (lastLoaded === `LOADING`) return `LOADING`;
47
+ return {
48
+ loading: true,
49
+ value: lastLoaded
50
+ };
51
+ }
52
+ lastLoadedRef.current = loadable;
53
+ return {
54
+ loading: false,
55
+ value: loadable
56
+ };
57
+ }
58
+
14
59
  //#endregion
15
60
  //#region src/react/use-tl.ts
16
61
  function useTL(token) {
17
- const store = React.useContext(StoreContext);
18
- const id = React.useId();
62
+ const store = React$1.useContext(StoreContext);
63
+ const id = React$1.useId();
19
64
  const timeline = withdraw(store, token);
20
- const tokenRef = React.useRef(token);
65
+ const tokenRef = React$1.useRef(token);
21
66
  const rebuildMeta = () => {
22
67
  return {
23
68
  at: timeline.at,
@@ -30,7 +75,7 @@ function useTL(token) {
30
75
  }
31
76
  };
32
77
  };
33
- const meta = React.useRef(rebuildMeta());
78
+ const meta = React$1.useRef(rebuildMeta());
34
79
  const retrieve = () => {
35
80
  if (meta.current.at !== timeline?.at || meta.current.length !== timeline?.history.length || tokenRef.current !== token) {
36
81
  tokenRef.current = token;
@@ -38,9 +83,9 @@ function useTL(token) {
38
83
  }
39
84
  return meta.current;
40
85
  };
41
- return React.useSyncExternalStore((dispatch) => subscribeToTimeline(store, token, `use-tl:${id}`, dispatch), retrieve, retrieve);
86
+ return React$1.useSyncExternalStore((dispatch) => subscribeToTimeline(store, token, `use-tl:${id}`, dispatch), retrieve, retrieve);
42
87
  }
43
88
 
44
89
  //#endregion
45
- export { StoreContext, StoreProvider, useI, useJSON, useO, useTL };
90
+ export { StoreContext, StoreProvider, useI, useJSON, useLoadable, useO, useTL };
46
91
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["token:\n\t\t| MutableAtomFamilyToken<any, Serializable, Key>\n\t\t| MutableAtomToken<any, Serializable>","key?: Key","stateToken: ReadableToken<any>","token: TimelineToken<any>"],"sources":["../../src/react/use-json.ts","../../src/react/use-tl.ts"],"sourcesContent":["import type {\n\tMutableAtomFamilyToken,\n\tMutableAtomToken,\n\tReadableToken,\n} from \"atom.io\"\nimport { findInStore, getJsonToken } from \"atom.io/internal\"\nimport type { Canonical, Json } from \"atom.io/json\"\nimport * as React from \"react\"\n\nimport { StoreContext } from \"./store-context\"\nimport { useO } from \"./use-o\"\n\nexport function useJSON<Serializable extends Json.Serializable>(\n\ttoken: MutableAtomToken<any, Serializable>,\n): Serializable\n\nexport function useJSON<\n\tSerializable extends Json.Serializable,\n\tKey extends Canonical,\n>(token: MutableAtomFamilyToken<any, Serializable, Key>, key: Key): Serializable\n\nexport function useJSON<\n\tSerializable extends Json.Serializable,\n\tKey extends Canonical,\n>(\n\ttoken:\n\t\t| MutableAtomFamilyToken<any, Serializable, Key>\n\t\t| MutableAtomToken<any, Serializable>,\n\tkey?: Key,\n): Serializable {\n\tconst store = React.useContext(StoreContext)\n\tconst stateToken: ReadableToken<any> =\n\t\ttoken.type === `mutable_atom_family`\n\t\t\t? findInStore(store, token, key as Key)\n\t\t\t: token\n\tconst jsonToken = getJsonToken(store, stateToken)\n\treturn useO(jsonToken)\n}\n","import type { TimelineToken } from \"atom.io\"\nimport { redo, undo } from \"atom.io\"\nimport { subscribeToTimeline, withdraw } from \"atom.io/internal\"\nimport * as React from \"react\"\n\nimport { StoreContext } from \"./store-context\"\n\nexport type TimelineMeta = {\n\tat: number\n\tlength: number\n\tundo: () => void\n\tredo: () => void\n}\n\nexport function useTL(token: TimelineToken<any>): TimelineMeta {\n\tconst store = React.useContext(StoreContext)\n\tconst id = React.useId()\n\tconst timeline = withdraw(store, token)\n\tconst tokenRef = React.useRef(token)\n\tconst rebuildMeta = () => {\n\t\treturn {\n\t\t\tat: timeline.at,\n\t\t\tlength: timeline.history.length,\n\t\t\tundo: () => {\n\t\t\t\tundo(token)\n\t\t\t},\n\t\t\tredo: () => {\n\t\t\t\tredo(token)\n\t\t\t},\n\t\t}\n\t}\n\tconst meta = React.useRef<TimelineMeta>(rebuildMeta())\n\tconst retrieve = () => {\n\t\tif (\n\t\t\tmeta.current.at !== timeline?.at ||\n\t\t\tmeta.current.length !== timeline?.history.length ||\n\t\t\ttokenRef.current !== token\n\t\t) {\n\t\t\ttokenRef.current = token\n\t\t\tmeta.current = rebuildMeta()\n\t\t}\n\t\treturn meta.current\n\t}\n\treturn React.useSyncExternalStore<TimelineMeta>(\n\t\t(dispatch) => subscribeToTimeline(store, token, `use-tl:${id}`, dispatch),\n\t\tretrieve,\n\t\tretrieve,\n\t)\n}\n"],"mappings":";;;;;;AAqBA,SAAgB,QAIfA,OAGAC,KACe;CACf,MAAM,QAAQ,MAAM,WAAW,aAAa;CAC5C,MAAMC,aACL,MAAM,SAAS,CAAC,mBAAmB,CAAC,GACjC,YAAY,OAAO,OAAO,IAAW,GACrC;CACJ,MAAM,YAAY,aAAa,OAAO,WAAW;AACjD,QAAO,KAAK,UAAU;AACtB;;;;ACvBD,SAAgB,MAAMC,OAAyC;CAC9D,MAAM,QAAQ,MAAM,WAAW,aAAa;CAC5C,MAAM,KAAK,MAAM,OAAO;CACxB,MAAM,WAAW,SAAS,OAAO,MAAM;CACvC,MAAM,WAAW,MAAM,OAAO,MAAM;CACpC,MAAM,cAAc,MAAM;AACzB,SAAO;GACN,IAAI,SAAS;GACb,QAAQ,SAAS,QAAQ;GACzB,MAAM,MAAM;IACX,KAAK,MAAM;GACX;GACD,MAAM,MAAM;IACX,KAAK,MAAM;GACX;EACD;CACD;CACD,MAAM,OAAO,MAAM,OAAqB,aAAa,CAAC;CACtD,MAAM,WAAW,MAAM;AACtB,MACC,KAAK,QAAQ,OAAO,UAAU,MAC9B,KAAK,QAAQ,WAAW,UAAU,QAAQ,UAC1C,SAAS,YAAY,OACpB;GACD,SAAS,UAAU;GACnB,KAAK,UAAU,aAAa;EAC5B;AACD,SAAO,KAAK;CACZ;AACD,QAAO,MAAM,qBACZ,CAAC,aAAa,oBAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EACzE,UACA,SACA;AACD"}
1
+ {"version":3,"file":"index.js","names":["token:\n\t\t| MutableAtomFamilyToken<any, Serializable, Key>\n\t\t| MutableAtomToken<any, Serializable>","key?: Key","React","stateToken: ReadableToken<any>","loadable: ReadableToken<any>","fallback: unknown","key: Canonical","useO","token: TimelineToken<any>","React"],"sources":["../../src/react/use-json.ts","../../src/react/use-loadable.ts","../../src/react/use-tl.ts"],"sourcesContent":["import type {\n\tMutableAtomFamilyToken,\n\tMutableAtomToken,\n\tReadableToken,\n} from \"atom.io\"\nimport { findInStore, getJsonToken } from \"atom.io/internal\"\nimport type { Canonical, Json } from \"atom.io/json\"\nimport * as React from \"react\"\n\nimport { StoreContext } from \"./store-context\"\nimport { useO } from \"./use-o\"\n\nexport function useJSON<Serializable extends Json.Serializable>(\n\ttoken: MutableAtomToken<any, Serializable>,\n): Serializable\n\nexport function useJSON<\n\tSerializable extends Json.Serializable,\n\tKey extends Canonical,\n>(token: MutableAtomFamilyToken<any, Serializable, Key>, key: Key): Serializable\n\nexport function useJSON<\n\tSerializable extends Json.Serializable,\n\tKey extends Canonical,\n>(\n\ttoken:\n\t\t| MutableAtomFamilyToken<any, Serializable, Key>\n\t\t| MutableAtomToken<any, Serializable>,\n\tkey?: Key,\n): Serializable {\n\tconst store = React.useContext(StoreContext)\n\tconst stateToken: ReadableToken<any> =\n\t\ttoken.type === `mutable_atom_family`\n\t\t\t? findInStore(store, token, key as Key)\n\t\t\t: token\n\tconst jsonToken = getJsonToken(store, stateToken)\n\treturn useO(jsonToken)\n}\n","/** biome-ignore-all lint/correctness/useHookAtTopLevel: params are used in an invariant way */\nimport type { Loadable, ReadableFamilyToken, ReadableToken } from \"atom.io\"\nimport type { Canonical } from \"atom.io/json\"\nimport { useO } from \"atom.io/react\"\nimport React from \"react\"\n\nexport function useLoadable<T>(\n\ttoken: ReadableToken<Loadable<T>>,\n): `LOADING` | { loading: boolean; value: T }\n\nexport function useLoadable<T, K extends Canonical>(\n\ttoken: ReadableFamilyToken<Loadable<T>, K>,\n\tkey: K,\n): `LOADING` | { loading: boolean; value: T }\n\nexport function useLoadable<T, F extends T>(\n\ttoken: ReadableToken<Loadable<T>>,\n\tfallback: F,\n): { loading: boolean; value: T }\n\nexport function useLoadable<T, K extends Canonical, F extends T>(\n\ttoken: ReadableFamilyToken<Loadable<T>, K>,\n\tkey: K,\n\tfallback: F,\n): { loading: boolean; value: T }\n\nexport function useLoadable(\n\t...params:\n\t\t| readonly [ReadableFamilyToken<any, Canonical>, Canonical, unknown]\n\t\t| readonly [ReadableFamilyToken<any, Canonical>, Canonical]\n\t\t| readonly [ReadableToken<any>, unknown]\n\t\t| readonly [ReadableToken<any>]\n): `LOADING` | { loading: boolean; value: unknown } {\n\tlet loadable: ReadableToken<any>\n\tlet fallback: unknown\n\n\tconst [token] = params\n\tlet key: Canonical\n\tswitch (token.type) {\n\t\tcase `atom`:\n\t\tcase `mutable_atom`:\n\t\tcase `readonly_held_selector`:\n\t\tcase `readonly_pure_selector`:\n\t\tcase `writable_held_selector`:\n\t\tcase `writable_pure_selector`:\n\t\t\tloadable = useO(token)\n\t\t\tfallback = params[1]\n\t\t\tbreak\n\t\tcase `atom_family`:\n\t\tcase `mutable_atom_family`:\n\t\tcase `readonly_held_selector_family`:\n\t\tcase `readonly_pure_selector_family`:\n\t\tcase `writable_held_selector_family`:\n\t\tcase `writable_pure_selector_family`:\n\t\t\tkey = params[1] as Canonical\n\t\t\tloadable = useO(token, key)\n\t\t\tfallback = params[2]\n\t}\n\n\tconst lastLoadedRef = React.useRef(\n\t\tfallback ?? (loadable instanceof Promise ? `LOADING` : loadable),\n\t)\n\tconst { current: lastLoaded } = lastLoadedRef\n\tif (loadable instanceof Promise) {\n\t\tif (lastLoaded === `LOADING`) {\n\t\t\treturn `LOADING`\n\t\t}\n\t\treturn {\n\t\t\tloading: true,\n\t\t\tvalue: lastLoaded,\n\t\t}\n\t}\n\n\tlastLoadedRef.current = loadable\n\treturn {\n\t\tloading: false,\n\t\tvalue: loadable,\n\t}\n}\n","import type { TimelineToken } from \"atom.io\"\nimport { redo, undo } from \"atom.io\"\nimport { subscribeToTimeline, withdraw } from \"atom.io/internal\"\nimport * as React from \"react\"\n\nimport { StoreContext } from \"./store-context\"\n\nexport type TimelineMeta = {\n\tat: number\n\tlength: number\n\tundo: () => void\n\tredo: () => void\n}\n\nexport function useTL(token: TimelineToken<any>): TimelineMeta {\n\tconst store = React.useContext(StoreContext)\n\tconst id = React.useId()\n\tconst timeline = withdraw(store, token)\n\tconst tokenRef = React.useRef(token)\n\tconst rebuildMeta = () => {\n\t\treturn {\n\t\t\tat: timeline.at,\n\t\t\tlength: timeline.history.length,\n\t\t\tundo: () => {\n\t\t\t\tundo(token)\n\t\t\t},\n\t\t\tredo: () => {\n\t\t\t\tredo(token)\n\t\t\t},\n\t\t}\n\t}\n\tconst meta = React.useRef<TimelineMeta>(rebuildMeta())\n\tconst retrieve = () => {\n\t\tif (\n\t\t\tmeta.current.at !== timeline?.at ||\n\t\t\tmeta.current.length !== timeline?.history.length ||\n\t\t\ttokenRef.current !== token\n\t\t) {\n\t\t\ttokenRef.current = token\n\t\t\tmeta.current = rebuildMeta()\n\t\t}\n\t\treturn meta.current\n\t}\n\treturn React.useSyncExternalStore<TimelineMeta>(\n\t\t(dispatch) => subscribeToTimeline(store, token, `use-tl:${id}`, dispatch),\n\t\tretrieve,\n\t\tretrieve,\n\t)\n}\n"],"mappings":";;;;;;;;AAqBA,SAAgB,QAIfA,OAGAC,KACe;CACf,MAAM,QAAQC,QAAM,WAAW,aAAa;CAC5C,MAAMC,aACL,MAAM,SAAS,CAAC,mBAAmB,CAAC,GACjC,YAAY,OAAO,OAAO,IAAW,GACrC;CACJ,MAAM,YAAY,aAAa,OAAO,WAAW;AACjD,QAAO,KAAK,UAAU;AACtB;;;;ACXD,SAAgB,YACf,GAAG,QAKgD;CACnD,IAAIC;CACJ,IAAIC;CAEJ,MAAM,CAAC,MAAM,GAAG;CAChB,IAAIC;AACJ,SAAQ,MAAM,MAAd;EACC,KAAK,CAAC,IAAI,CAAC;EACX,KAAK,CAAC,YAAY,CAAC;EACnB,KAAK,CAAC,sBAAsB,CAAC;EAC7B,KAAK,CAAC,sBAAsB,CAAC;EAC7B,KAAK,CAAC,sBAAsB,CAAC;EAC7B,KAAK,CAAC,sBAAsB,CAAC;GAC5B,WAAWC,OAAK,MAAM;GACtB,WAAW,OAAO;AAClB;EACD,KAAK,CAAC,WAAW,CAAC;EAClB,KAAK,CAAC,mBAAmB,CAAC;EAC1B,KAAK,CAAC,6BAA6B,CAAC;EACpC,KAAK,CAAC,6BAA6B,CAAC;EACpC,KAAK,CAAC,6BAA6B,CAAC;EACpC,KAAK,CAAC,6BAA6B,CAAC;GACnC,MAAM,OAAO;GACb,WAAWA,OAAK,OAAO,IAAI;GAC3B,WAAW,OAAO;CACnB;CAED,MAAM,gBAAgB,MAAM,OAC3B,aAAa,oBAAoB,UAAU,CAAC,OAAO,CAAC,GAAG,UACvD;CACD,MAAM,EAAE,SAAS,YAAY,GAAG;AAChC,KAAI,oBAAoB,SAAS;AAChC,MAAI,eAAe,CAAC,OAAO,CAAC,CAC3B,QAAO,CAAC,OAAO,CAAC;AAEjB,SAAO;GACN,SAAS;GACT,OAAO;EACP;CACD;CAED,cAAc,UAAU;AACxB,QAAO;EACN,SAAS;EACT,OAAO;CACP;AACD;;;;AChED,SAAgB,MAAMC,OAAyC;CAC9D,MAAM,QAAQC,QAAM,WAAW,aAAa;CAC5C,MAAM,KAAKA,QAAM,OAAO;CACxB,MAAM,WAAW,SAAS,OAAO,MAAM;CACvC,MAAM,WAAWA,QAAM,OAAO,MAAM;CACpC,MAAM,cAAc,MAAM;AACzB,SAAO;GACN,IAAI,SAAS;GACb,QAAQ,SAAS,QAAQ;GACzB,MAAM,MAAM;IACX,KAAK,MAAM;GACX;GACD,MAAM,MAAM;IACX,KAAK,MAAM;GACX;EACD;CACD;CACD,MAAM,OAAOA,QAAM,OAAqB,aAAa,CAAC;CACtD,MAAM,WAAW,MAAM;AACtB,MACC,KAAK,QAAQ,OAAO,UAAU,MAC9B,KAAK,QAAQ,WAAW,UAAU,QAAQ,UAC1C,SAAS,YAAY,OACpB;GACD,SAAS,UAAU;GACnB,KAAK,UAAU,aAAa;EAC5B;AACD,SAAO,KAAK;CACZ;AACD,QAAOA,QAAM,qBACZ,CAAC,aAAa,oBAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EACzE,UACA,SACA;AACD"}
@@ -2,7 +2,9 @@ import { Json, JsonTypes } from "atom.io/json";
2
2
  import { CSSProperties, Component, DetailedHTMLProps, ErrorInfo, FC, ForwardRefExoticComponent, InputHTMLAttributes, ReactElement, ReactNode } from "react";
3
3
 
4
4
  //#region src/react-devtools/AtomIODevtools.d.ts
5
- declare const AtomIODevtools: React.FC;
5
+ declare const AtomIODevtools: React.FC<{
6
+ hideByDefault?: boolean;
7
+ }>;
6
8
  //#endregion
7
9
  //#region src/react-devtools/elastic-input/ElasticInput.d.ts
8
10
  type ElasticInputProps = DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement> & {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["AtomIODevtools: React.FC","ElasticInput: ForwardRefExoticComponent<\n\tDetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement> & {\n\t\twidthPadding?: number\n\t}\n>","min: number","max: number","value: number","input: string","VALID_NON_NUMBER_INTERPRETATIONS: Readonly<\n\tRecord<ValidNonNumber, number | null>\n>","DEFAULT_NUMBER_CONSTRAINTS: NumberConstraints","e: React.ChangeEvent<HTMLInputElement>","e: React.MouseEvent<HTMLDivElement, MouseEvent>","newValue: number | null","NumberInput: FC<NumberInputProps>","value: string","TextInput: FC<TextInputProps>","DefaultFallback: FC<FallbackProps>","error: Error | string","errorInfo: ErrorInfo","newState:\n\t\t\t\t| ErrorBoundaryState\n\t\t\t\t| ((currState: ErrorBoundaryState) => ErrorBoundaryState)","currState: ErrorBoundaryState","props: ErrorBoundaryProps","error: Error","DEFAULT_JSON_EDITOR_COMPONENTS: JsonEditorComponents","newKey: string","newType: keyof JsonTypes","path: ReadonlyArray<number | string>","newValue: boolean","SubEditors: Record<\n\tkeyof JsonTypes,\n\tFC<JsonEditorProps_INTERNAL<any>>\n>","valOrUpdater: T | ((currVal: T) => T)","currVal: T","newKey: string","path: ReadonlyArray<number | string>","input: unknown","next: New | ((old: T) => New)","old: T"],"sources":["../../src/react-devtools/AtomIODevtools.tsx","../../src/react-devtools/elastic-input/ElasticInput.tsx","../../src/react-devtools/elastic-input/NumberInput.tsx","../../src/react-devtools/elastic-input/TextInput.tsx","../../src/react-devtools/error-boundary/DefaultFallback.tsx","../../src/react-devtools/error-boundary/ReactErrorBoundary.tsx","../../src/react-devtools/json-editor/default-components.tsx","../../src/react-devtools/json-editor/json-editor-internal.tsx","../../src/react-devtools/json-editor/developer-interface.tsx","../../src/react-devtools/json-editor/editors-by-type/utilities/cast-to-json.ts","../../src/react-devtools/json-editor/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":["AtomIODevtools: React.FC<{ hideByDefault?: boolean }>","ElasticInput: ForwardRefExoticComponent<\n\tDetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement> & {\n\t\twidthPadding?: number\n\t}\n>","min: number","max: number","value: number","input: string","VALID_NON_NUMBER_INTERPRETATIONS: Readonly<\n\tRecord<ValidNonNumber, number | null>\n>","DEFAULT_NUMBER_CONSTRAINTS: NumberConstraints","e: React.ChangeEvent<HTMLInputElement>","e: React.MouseEvent<HTMLDivElement, MouseEvent>","newValue: number | null","NumberInput: FC<NumberInputProps>","value: string","TextInput: FC<TextInputProps>","DefaultFallback: FC<FallbackProps>","error: Error | string","errorInfo: ErrorInfo","newState:\n\t\t\t\t| ErrorBoundaryState\n\t\t\t\t| ((currState: ErrorBoundaryState) => ErrorBoundaryState)","currState: ErrorBoundaryState","props: ErrorBoundaryProps","error: Error","DEFAULT_JSON_EDITOR_COMPONENTS: JsonEditorComponents","newKey: string","newType: keyof JsonTypes","path: ReadonlyArray<number | string>","newValue: boolean","SubEditors: Record<\n\tkeyof JsonTypes,\n\tFC<JsonEditorProps_INTERNAL<any>>\n>","valOrUpdater: T | ((currVal: T) => T)","currVal: T","newKey: string","path: ReadonlyArray<number | string>","input: unknown","next: New | ((old: T) => New)","old: T"],"sources":["../../src/react-devtools/AtomIODevtools.tsx","../../src/react-devtools/elastic-input/ElasticInput.tsx","../../src/react-devtools/elastic-input/NumberInput.tsx","../../src/react-devtools/elastic-input/TextInput.tsx","../../src/react-devtools/error-boundary/DefaultFallback.tsx","../../src/react-devtools/error-boundary/ReactErrorBoundary.tsx","../../src/react-devtools/json-editor/default-components.tsx","../../src/react-devtools/json-editor/json-editor-internal.tsx","../../src/react-devtools/json-editor/developer-interface.tsx","../../src/react-devtools/json-editor/editors-by-type/utilities/cast-to-json.ts","../../src/react-devtools/json-editor/index.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { useI, useO } from "../use-o-BrXc7Qro.js";
1
+ import { useI, useO } from "../use-o-DXPncKmZ.js";
2
2
  import { IMPLICIT, actUponStore, arbitrary, become, createAtomFamily, createStandaloneAtom, createTransaction, disposeFromStore, findInStore, getFromStore } from "atom.io/internal";
3
3
  import { JSON_DEFAULTS, fromEntries, isJson, stringifyJson, toEntries } from "atom.io/json";
4
4
  import { redo, undo } from "atom.io";
@@ -167,19 +167,31 @@ const DEFAULT_JSON_EDITOR_COMPONENTS = {
167
167
 
168
168
  //#endregion
169
169
  //#region src/react-devtools/store.ts
170
- function attachDevtoolsStates(store) {
170
+ function attachDevtoolsStates(store, hideByDefault = false) {
171
171
  const introspectionStates = attachIntrospectionStates(store);
172
- const devtoolsAreOpenState = createStandaloneAtom(store, {
172
+ const devtoolsAreHiddenAtom = createStandaloneAtom(store, {
173
+ key: `🔍 Devtools Are Hidden`,
174
+ default: hideByDefault,
175
+ effects: typeof window === `undefined` ? [] : [persistSync(window.localStorage, JSON, `🔍 Devtools Are Hidden`), ({ setSelf }) => {
176
+ window.addEventListener(`keydown`, (e) => {
177
+ if (e.ctrlKey && e.shiftKey && e.key.toLowerCase() === `a`) {
178
+ e.preventDefault();
179
+ setSelf((state) => !state);
180
+ }
181
+ });
182
+ }]
183
+ });
184
+ const devtoolsAreOpenAtom = createStandaloneAtom(store, {
173
185
  key: `🔍 Devtools Are Open`,
174
186
  default: true,
175
187
  effects: typeof window === `undefined` ? [] : [persistSync(window.localStorage, JSON, `🔍 Devtools Are Open`)]
176
188
  });
177
- const devtoolsViewSelectionState = createStandaloneAtom(store, {
189
+ const devtoolsViewSelectionAtom = createStandaloneAtom(store, {
178
190
  key: `🔍 Devtools View Selection`,
179
191
  default: `atoms`,
180
192
  effects: typeof window === `undefined` ? [] : [persistSync(window.localStorage, JSON, `🔍 Devtools View`)]
181
193
  });
182
- const devtoolsViewOptionsState = createStandaloneAtom(store, {
194
+ const devtoolsViewOptionsAtom = createStandaloneAtom(store, {
183
195
  key: `🔍 Devtools View Options`,
184
196
  default: [
185
197
  `atoms`,
@@ -197,7 +209,7 @@ function attachDevtoolsStates(store) {
197
209
  const openCloseAllTX = createTransaction(store, {
198
210
  key: `🔍 Open Close All`,
199
211
  do: ({ get, set }, path, current) => {
200
- const currentView = get(devtoolsViewSelectionState);
212
+ const currentView = get(devtoolsViewSelectionAtom);
201
213
  let states;
202
214
  switch (currentView) {
203
215
  case `atoms`:
@@ -241,9 +253,10 @@ function attachDevtoolsStates(store) {
241
253
  });
242
254
  return {
243
255
  ...introspectionStates,
244
- devtoolsAreOpenState,
245
- devtoolsViewSelectionState,
246
- devtoolsViewOptionsState,
256
+ devtoolsAreHiddenAtom,
257
+ devtoolsAreOpenAtom,
258
+ devtoolsViewSelectionAtom,
259
+ devtoolsViewOptionsAtom,
247
260
  viewIsOpenAtoms,
248
261
  openCloseAllTX,
249
262
  store
@@ -1417,21 +1430,22 @@ const TransactionIndex = () => {
1417
1430
 
1418
1431
  //#endregion
1419
1432
  //#region src/react-devtools/AtomIODevtools.tsx
1420
- const AtomIODevtools = () => {
1433
+ const AtomIODevtools = ({ hideByDefault = false }) => {
1421
1434
  const store = useContext(StoreContext);
1422
1435
  return /* @__PURE__ */ jsx(DevtoolsContext.Provider, {
1423
- value: attachDevtoolsStates(store),
1436
+ value: attachDevtoolsStates(store, hideByDefault),
1424
1437
  children: /* @__PURE__ */ jsx(AtomIODevtoolsInternal, {})
1425
1438
  });
1426
1439
  };
1427
1440
  const AtomIODevtoolsInternal = () => {
1428
1441
  const constraintsRef = useRef(null);
1429
- const { atomIndex, selectorIndex, devtoolsAreOpenState, devtoolsViewSelectionState, devtoolsViewOptionsState } = useContext(DevtoolsContext);
1430
- const setDevtoolsAreOpen = useI$1(devtoolsAreOpenState);
1431
- const devtoolsAreOpen = useO$1(devtoolsAreOpenState);
1432
- const setDevtoolsView = useI$1(devtoolsViewSelectionState);
1433
- const devtoolsView = useO$1(devtoolsViewSelectionState);
1434
- const devtoolsViewOptions = useO$1(devtoolsViewOptionsState);
1442
+ const { atomIndex, selectorIndex, devtoolsAreHiddenAtom, devtoolsAreOpenAtom, devtoolsViewSelectionAtom, devtoolsViewOptionsAtom } = useContext(DevtoolsContext);
1443
+ const devtoolsAreHidden = useO$1(devtoolsAreHiddenAtom);
1444
+ const setDevtoolsAreOpen = useI$1(devtoolsAreOpenAtom);
1445
+ const devtoolsAreOpen = useO$1(devtoolsAreOpenAtom);
1446
+ const setDevtoolsView = useI$1(devtoolsViewSelectionAtom);
1447
+ const devtoolsView = useO$1(devtoolsViewSelectionAtom);
1448
+ const devtoolsViewOptions = useO$1(devtoolsViewOptionsAtom);
1435
1449
  const mouseHasMoved = useRef(false);
1436
1450
  return /* @__PURE__ */ jsxs("span", {
1437
1451
  style: {
@@ -1453,10 +1467,11 @@ const AtomIODevtoolsInternal = () => {
1453
1467
  bottom: 0,
1454
1468
  pointerEvents: `none`
1455
1469
  }
1456
- }), /* @__PURE__ */ jsxs(motion.main, {
1470
+ }), devtoolsAreHidden ? null : /* @__PURE__ */ jsxs(motion.main, {
1457
1471
  drag: true,
1458
1472
  dragConstraints: constraintsRef,
1459
1473
  "data-css": "atom_io_devtools",
1474
+ "data-testid": "devtools",
1460
1475
  transition: {
1461
1476
  type: `spring`,
1462
1477
  bounce: .25