atom.io 0.6.7 → 0.6.9

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 (129) hide show
  1. package/dist/index.d.mts +241 -263
  2. package/dist/index.d.ts +241 -263
  3. package/dist/index.js +28 -1911
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +5 -1871
  6. package/dist/index.mjs.map +1 -1
  7. package/introspection/dist/index.d.mts +121 -176
  8. package/introspection/dist/index.d.ts +121 -176
  9. package/introspection/dist/index.js +6 -346
  10. package/introspection/dist/index.js.map +1 -1
  11. package/introspection/dist/index.mjs +5 -324
  12. package/introspection/dist/index.mjs.map +1 -1
  13. package/json/dist/index.d.mts +37 -8
  14. package/json/dist/index.d.ts +37 -8
  15. package/json/dist/index.js +31 -48
  16. package/json/dist/index.js.map +1 -1
  17. package/json/dist/index.mjs +6 -14
  18. package/json/dist/index.mjs.map +1 -1
  19. package/package.json +30 -14
  20. package/react/dist/index.js +34 -83
  21. package/react/dist/index.js.map +1 -1
  22. package/react/dist/index.mjs +7 -43
  23. package/react/dist/index.mjs.map +1 -1
  24. package/react-devtools/dist/index.css +1 -42
  25. package/react-devtools/dist/index.css.map +1 -1
  26. package/react-devtools/dist/index.d.mts +128 -193
  27. package/react-devtools/dist/index.d.ts +128 -193
  28. package/react-devtools/dist/index.js +56 -4154
  29. package/react-devtools/dist/index.js.map +1 -1
  30. package/react-devtools/dist/index.mjs +19 -4117
  31. package/react-devtools/dist/index.mjs.map +1 -1
  32. package/realtime/dist/index.d.mts +7 -11
  33. package/realtime/dist/index.d.ts +7 -11
  34. package/realtime/dist/index.js +26 -185
  35. package/realtime/dist/index.js.map +1 -1
  36. package/realtime/dist/index.mjs +4 -149
  37. package/realtime/dist/index.mjs.map +1 -1
  38. package/realtime-react/dist/index.d.mts +12 -16
  39. package/realtime-react/dist/index.d.ts +12 -16
  40. package/realtime-react/dist/index.js +41 -214
  41. package/realtime-react/dist/index.js.map +1 -1
  42. package/realtime-react/dist/index.mjs +9 -169
  43. package/realtime-react/dist/index.mjs.map +1 -1
  44. package/src/atom.ts +7 -6
  45. package/src/index.ts +12 -9
  46. package/src/logger.ts +5 -5
  47. package/src/selector.ts +16 -14
  48. package/src/silo.ts +36 -39
  49. package/src/subscribe.ts +25 -20
  50. package/src/timeline.ts +9 -4
  51. package/src/transaction.ts +3 -4
  52. package/src/internal/atom-internal.ts +0 -54
  53. package/src/internal/families-internal.ts +0 -141
  54. package/src/internal/get.ts +0 -129
  55. package/src/internal/index.ts +0 -15
  56. package/src/internal/is-default.ts +0 -35
  57. package/src/internal/operation.ts +0 -139
  58. package/src/internal/selector/create-read-write-selector.ts +0 -66
  59. package/src/internal/selector/create-readonly-selector.ts +0 -46
  60. package/src/internal/selector/index.ts +0 -4
  61. package/src/internal/selector/lookup-selector-sources.ts +0 -16
  62. package/src/internal/selector/register-selector.ts +0 -57
  63. package/src/internal/selector/trace-selector-atoms.ts +0 -43
  64. package/src/internal/selector/update-selector-atoms.ts +0 -33
  65. package/src/internal/selector-internal.ts +0 -58
  66. package/src/internal/set.ts +0 -99
  67. package/src/internal/store.ts +0 -151
  68. package/src/internal/subject.ts +0 -24
  69. package/src/internal/subscribe-internal.ts +0 -88
  70. package/src/internal/time-travel-internal.ts +0 -91
  71. package/src/internal/timeline/add-atom-to-timeline.ts +0 -168
  72. package/src/internal/timeline/index.ts +0 -1
  73. package/src/internal/timeline-internal.ts +0 -107
  74. package/src/internal/transaction/abort-transaction.ts +0 -12
  75. package/src/internal/transaction/apply-transaction.ts +0 -57
  76. package/src/internal/transaction/build-transaction.ts +0 -33
  77. package/src/internal/transaction/index.ts +0 -25
  78. package/src/internal/transaction/redo-transaction.ts +0 -23
  79. package/src/internal/transaction/undo-transaction.ts +0 -23
  80. package/src/internal/transaction-internal.ts +0 -61
  81. package/src/introspection/attach-atom-index.ts +0 -73
  82. package/src/introspection/attach-introspection-states.ts +0 -42
  83. package/src/introspection/attach-selector-index.ts +0 -77
  84. package/src/introspection/attach-timeline-family.ts +0 -59
  85. package/src/introspection/attach-timeline-index.ts +0 -36
  86. package/src/introspection/attach-transaction-index.ts +0 -38
  87. package/src/introspection/attach-transaction-logs.ts +0 -40
  88. package/src/introspection/index.ts +0 -20
  89. package/src/json/index.ts +0 -1
  90. package/src/json/select-json.ts +0 -18
  91. package/src/react/index.ts +0 -2
  92. package/src/react/store-context.tsx +0 -13
  93. package/src/react/store-hooks.ts +0 -47
  94. package/src/react-devtools/AtomIODevtools.tsx +0 -107
  95. package/src/react-devtools/Button.tsx +0 -24
  96. package/src/react-devtools/StateEditor.tsx +0 -70
  97. package/src/react-devtools/StateIndex.tsx +0 -153
  98. package/src/react-devtools/TimelineIndex.tsx +0 -92
  99. package/src/react-devtools/TransactionIndex.tsx +0 -70
  100. package/src/react-devtools/Updates.tsx +0 -145
  101. package/src/react-devtools/devtools.scss +0 -311
  102. package/src/react-devtools/index.ts +0 -72
  103. package/src/react-explorer/AtomIOExplorer.tsx +0 -218
  104. package/src/react-explorer/explorer-effects.ts +0 -20
  105. package/src/react-explorer/explorer-states.ts +0 -217
  106. package/src/react-explorer/index.ts +0 -23
  107. package/src/react-explorer/space-states.ts +0 -72
  108. package/src/react-explorer/view-states.ts +0 -41
  109. package/src/realtime/README.md +0 -33
  110. package/src/realtime/hook-composition/expose-family.ts +0 -101
  111. package/src/realtime/hook-composition/expose-single.ts +0 -38
  112. package/src/realtime/hook-composition/expose-timeline.ts +0 -60
  113. package/src/realtime/hook-composition/index.ts +0 -12
  114. package/src/realtime/hook-composition/receive-state.ts +0 -29
  115. package/src/realtime/hook-composition/receive-transaction.ts +0 -18
  116. package/src/realtime/index.ts +0 -1
  117. package/src/realtime-react/index.ts +0 -3
  118. package/src/realtime-react/realtime-context.tsx +0 -30
  119. package/src/realtime-react/realtime-hooks.ts +0 -39
  120. package/src/realtime-react/realtime-state.ts +0 -10
  121. package/src/realtime-react/use-pull-family-member.ts +0 -26
  122. package/src/realtime-react/use-pull-family.ts +0 -24
  123. package/src/realtime-react/use-pull.ts +0 -22
  124. package/src/realtime-react/use-push.ts +0 -25
  125. package/src/realtime-react/use-server-action.ts +0 -33
  126. package/src/realtime-testing/index.ts +0 -1
  127. package/src/realtime-testing/setup-realtime-test.tsx +0 -159
  128. package/src/web-effects/index.ts +0 -1
  129. package/src/web-effects/storage.ts +0 -30
@@ -1,15 +1,7 @@
1
- // ../src/json/select-json.ts
2
- import * as AtomIO from "atom.io";
3
- var selectJson = (atom, transform, store = AtomIO.__INTERNAL__.IMPLICIT.STORE) => AtomIO.__INTERNAL__.selector__INTERNAL(
4
- {
5
- key: `${atom.key}JSON`,
6
- get: ({ get }) => transform.toJson(get(atom)),
7
- set: ({ set }, newValue) => set(atom, transform.fromJson(newValue))
8
- },
9
- void 0,
10
- store
11
- );
12
- export {
13
- selectJson
14
- };
1
+ import * as n from 'atom.io';
2
+
3
+ var J={toJson:e=>Array.from(e),fromJson:e=>new Set(e)};var a=e=>JSON.parse(e),l=e=>JSON.stringify(e),p=["array","boolean","null","number","object","string"],S={array:[],boolean:!1,null:null,number:0,object:{},string:""};var y=(e,t,r=n.__INTERNAL__.IMPLICIT.STORE)=>n.__INTERNAL__.selector__INTERNAL({key:`${e.key}JSON`,get:({get:o})=>t.toJson(o(e)),set:({set:o},s)=>o(e,t.fromJson(s))},void 0,r);
4
+
5
+ export { S as JSON_DEFAULTS, p as JSON_TYPE_NAMES, a as parseJson, y as selectJson, J as stringSetJsonInterface, l as stringifyJson };
6
+ //# sourceMappingURL=out.js.map
15
7
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/json/select-json.ts"],"sourcesContent":["import * as AtomIO from \"atom.io\"\n\nimport type { Json, JsonInterface } from \"~/packages/anvl/src/json\"\n\nexport const selectJson = <T, J extends Json>(\n\tatom: AtomIO.AtomToken<T>,\n\ttransform: JsonInterface<T, J>,\n\tstore: AtomIO.Store = AtomIO.__INTERNAL__.IMPLICIT.STORE,\n): AtomIO.SelectorToken<J> =>\n\tAtomIO.__INTERNAL__.selector__INTERNAL(\n\t\t{\n\t\t\tkey: `${atom.key}JSON`,\n\t\t\tget: ({ get }) => transform.toJson(get(atom)),\n\t\t\tset: ({ set }, newValue) => set(atom, transform.fromJson(newValue)),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n"],"mappings":";AAAA,YAAY,YAAY;AAIjB,IAAM,aAAa,CACzB,MACA,WACA,QAA6B,oBAAa,SAAS,UAE5C,oBAAa;AAAA,EACnB;AAAA,IACC,KAAK,GAAG,KAAK,GAAG;AAAA,IAChB,KAAK,CAAC,EAAE,IAAI,MAAM,UAAU,OAAO,IAAI,IAAI,CAAC;AAAA,IAC5C,KAAK,CAAC,EAAE,IAAI,GAAG,aAAa,IAAI,MAAM,UAAU,SAAS,QAAQ,CAAC;AAAA,EACnE;AAAA,EACA;AAAA,EACA;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../anvl/src/json/json-interface.ts","../../../anvl/src/json/index.ts","../src/select-json.ts"],"names":["stringSetJsonInterface","stringSet","json","parseJson","str","stringifyJson","JSON_TYPE_NAMES","JSON_DEFAULTS","AtomIO","selectJson","atom","transform","store","get","set","newValue"],"mappings":"AAOO,IAAMA,EAGT,CACH,OAASC,GAAc,MAAM,KAAKA,CAAS,EAC3C,SAAWC,GAAS,IAAI,IAAIA,CAAI,CACjC,ECTO,IAAMC,EACZC,GAC4D,KAAK,MAAMA,CAAG,EAI9DC,EACZH,GACoB,KAAK,UAAUA,CAAI,EAI3BI,EAAkB,CAC9B,QACA,UACA,OACA,SACA,SACA,QACD,EAaaC,EAA2B,CACvC,MAAO,CAAC,EACR,QAAS,GACT,KAAM,KACN,OAAQ,EACR,OAAQ,CAAC,EACT,OAAQ,EACT,EC3CA,UAAYC,MAAY,UAIjB,IAAMC,EAAa,CACzBC,EACAC,EACAC,EAA6B,eAAa,SAAS,QAE5C,eAAa,mBACnB,CACC,IAAK,GAAGF,EAAK,GAAG,OAChB,IAAK,CAAC,CAAE,IAAAG,CAAI,IAAMF,EAAU,OAAOE,EAAIH,CAAI,CAAC,EAC5C,IAAK,CAAC,CAAE,IAAAI,CAAI,EAAGC,IAAaD,EAAIJ,EAAMC,EAAU,SAASI,CAAQ,CAAC,CACnE,EACA,OACAH,CACD","sourcesContent":["import type { Json } from \".\"\n\nexport type JsonInterface<T, J extends Json.Serializable = Json.Serializable> = {\n\ttoJson: (t: T) => J\n\tfromJson: (json: J) => T\n}\n\nexport const stringSetJsonInterface: JsonInterface<\n\tSet<string>,\n\tJson.Array<string>\n> = {\n\ttoJson: (stringSet) => Array.from(stringSet),\n\tfromJson: (json) => new Set(json),\n}\n","export * from \"./json-interface\"\nimport type * as Json from \"./json\"\nexport { Json }\n\nexport const parseJson = <S extends Stringified<Json.Serializable>>(\n\tstr: S | string,\n): S extends Stringified<infer J> ? J : Json.Serializable => JSON.parse(str)\n\nexport type Stringified<J extends Json.Serializable> = string & { __json: J }\n\nexport const stringifyJson = <J extends Json.Serializable>(\n\tjson: J,\n): Stringified<J> => JSON.stringify(json) as Stringified<J>\n\nexport type Empty = Record<string, never>\n\nexport const JSON_TYPE_NAMES = [\n\t`array`,\n\t`boolean`,\n\t`null`,\n\t`number`,\n\t`object`,\n\t`string`,\n] as const\n\nexport type JsonTypeName = typeof JSON_TYPE_NAMES[number]\n\nexport interface JsonTypes extends Record<JsonTypeName, Json.Serializable> {\n\tarray: Json.Array\n\tboolean: boolean\n\tnull: null\n\tnumber: number\n\tobject: Json.Object\n\tstring: string\n}\n\nexport const JSON_DEFAULTS: JsonTypes = {\n\tarray: [],\n\tboolean: false,\n\tnull: null,\n\tnumber: 0,\n\tobject: {},\n\tstring: ``,\n}\n","import * as AtomIO from \"atom.io\"\n\nimport type { Json, JsonInterface } from \".\"\n\nexport const selectJson = <T, J extends Json.Serializable>(\n\tatom: AtomIO.AtomToken<T>,\n\ttransform: JsonInterface<T, J>,\n\tstore: AtomIO.Store = AtomIO.__INTERNAL__.IMPLICIT.STORE,\n): AtomIO.SelectorToken<J> =>\n\tAtomIO.__INTERNAL__.selector__INTERNAL(\n\t\t{\n\t\t\tkey: `${atom.key}JSON`,\n\t\t\tget: ({ get }) => transform.toJson(get(atom)),\n\t\t\tset: ({ set }, newValue) => set(atom, transform.fromJson(newValue)),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "atom.io",
3
- "version": "0.6.7",
3
+ "version": "0.6.9",
4
4
  "description": "Reactive state graph for React, Preact, and vanilla",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -79,6 +79,13 @@
79
79
  "browser": "./realtime-testing/dist/index.mjs",
80
80
  "import": "./realtime-testing/dist/index.mjs",
81
81
  "require": "./realtime-testing/dist/index.js"
82
+ },
83
+ "./tracker/package.json": "./tracker/package.json",
84
+ "./tracker": {
85
+ "types": "./tracker/dist/index.d.ts",
86
+ "browser": "./tracker/dist/index.mjs",
87
+ "import": "./tracker/dist/index.mjs",
88
+ "require": "./tracker/dist/index.js"
82
89
  }
83
90
  },
84
91
  "peerDependencies": {
@@ -108,23 +115,24 @@
108
115
  "@emotion/react": "11.11.1",
109
116
  "@testing-library/react": "14.0.0",
110
117
  "@types/mock-fs": "4.13.1",
111
- "@types/react": "18.2.19",
112
- "@types/tmp": "0.2.3",
113
- "eslint": "8.46.0",
114
- "framer-motion": "10.15.1",
115
- "happy-dom": "10.9.0",
116
- "preact": "10.16.0",
118
+ "@types/react": "18.2.21",
119
+ "@types/tmp": "0.2.4",
120
+ "concurrently": "8.2.1",
121
+ "eslint": "8.49.0",
122
+ "framer-motion": "10.16.4",
123
+ "happy-dom": "11.0.6",
124
+ "preact": "10.17.1",
117
125
  "react": "18.2.0",
118
126
  "react-dom": "18.2.0",
119
- "react-router-dom": "6.14.2",
127
+ "react-router-dom": "6.16.0",
120
128
  "socket.io": "4.7.2",
121
129
  "socket.io-client": "4.7.2",
122
130
  "tmp": "0.2.1",
123
131
  "tsup": "7.2.0",
124
- "typescript": "5.1.6",
132
+ "typescript": "5.2.2",
125
133
  "vite": "4.4.9",
126
- "vite-tsconfig-paths": "4.2.0",
127
- "vitest": "0.34.1"
134
+ "vite-tsconfig-paths": "4.2.1",
135
+ "vitest": "0.34.4"
128
136
  },
129
137
  "repository": {
130
138
  "type": "git",
@@ -137,10 +145,18 @@
137
145
  "access": "public"
138
146
  },
139
147
  "scripts": {
140
- "build": "./build.sh",
141
- "lint:rome": "rome check .",
148
+ "build": "concurrently \"npm:build:*\"",
149
+ "build:main": "tsup",
150
+ "build:introspection": "cd introspection && tsup",
151
+ "build:json": "cd json && tsup",
152
+ "build:react": "cd react && tsup",
153
+ "build:react-devtools": "cd react-devtools && tsup",
154
+ "build:realtime": "cd realtime && tsup",
155
+ "build:realtime-react": "cd realtime-react && tsup",
156
+ "build:tracker": "cd tracker && tsup",
157
+ "lint:biome": "biome check .",
142
158
  "lint:eslint": "eslint .",
143
- "lint": "npm run lint:rome && npm run lint:eslint",
159
+ "lint": "npm run lint:biome && npm run lint:eslint",
144
160
  "test": "vitest",
145
161
  "test:once": "vitest run"
146
162
  }
@@ -1,87 +1,38 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ 'use strict';
28
2
 
29
- // ../src/react/index.ts
30
- var react_exports = {};
31
- __export(react_exports, {
32
- StoreContext: () => StoreContext,
33
- StoreProvider: () => StoreProvider,
34
- storeHooks: () => storeHooks,
35
- useI: () => useI,
36
- useIO: () => useIO,
37
- useO: () => useO,
38
- useStore: () => useStore
39
- });
40
- module.exports = __toCommonJS(react_exports);
3
+ var r = require('atom.io');
4
+ var o = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
41
6
 
42
- // ../src/react/store-context.tsx
43
- var AtomIO = __toESM(require("atom.io"));
44
- var React = __toESM(require("react"));
45
- var import_jsx_dev_runtime = require("react/jsx-dev-runtime");
46
- var StoreContext = React.createContext(
47
- AtomIO.__INTERNAL__.IMPLICIT.STORE
48
- );
49
- var StoreProvider = ({ children, store = AtomIO.__INTERNAL__.IMPLICIT.STORE }) => /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(StoreContext.Provider, { value: store, children }, void 0, false, {
50
- fileName: "../src/react/store-context.tsx",
51
- lineNumber: 12,
52
- columnNumber: 2
53
- }, this);
54
-
55
- // ../src/react/store-hooks.ts
56
- var AtomIO2 = __toESM(require("atom.io"));
57
- var React2 = __toESM(require("react"));
58
- var storeHooks = { useI, useO, useIO };
59
- function useI(token) {
60
- const store = React2.useContext(StoreContext);
61
- const update = (next) => AtomIO2.setState(token, next, store);
62
- return update;
63
- }
64
- function useO(token) {
65
- const store = React2.useContext(StoreContext);
66
- return React2.useSyncExternalStore(
67
- (observe) => AtomIO2.subscribe(token, observe, store),
68
- () => AtomIO2.getState(token, store)
69
- );
70
- }
71
- function useIO(token) {
72
- return [useO(token), useI(token)];
73
- }
74
- function useStore(token) {
75
- return token.type === `readonly_selector` ? useO(token) : useIO(token);
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
76
23
  }
77
- // Annotate the CommonJS export names for ESM import in node:
78
- 0 && (module.exports = {
79
- StoreContext,
80
- StoreProvider,
81
- storeHooks,
82
- useI,
83
- useIO,
84
- useO,
85
- useStore
86
- });
24
+
25
+ var r__namespace = /*#__PURE__*/_interopNamespace(r);
26
+ var o__namespace = /*#__PURE__*/_interopNamespace(o);
27
+
28
+ var T=o__namespace.createContext(r__namespace.__INTERNAL__.IMPLICIT.STORE),d=({children:t,store:e=r__namespace.__INTERNAL__.IMPLICIT.STORE})=>jsxRuntime.jsx(T.Provider,{value:e,children:t});var x={useI:m,useO:s,useIO:I};function m(t){let e=o__namespace.useContext(T);return n=>r__namespace.setState(t,n,e)}function s(t){let e=o__namespace.useContext(T),a=o__namespace.useId();return o__namespace.useSyncExternalStore(n=>r__namespace.subscribe(t,n,`use-o:${a}`,e),()=>r__namespace.getState(t,e))}function I(t){return [s(t),m(t)]}function f(t){return t.type==="readonly_selector"?s(t):I(t)}
29
+
30
+ exports.StoreContext = T;
31
+ exports.StoreProvider = d;
32
+ exports.storeHooks = x;
33
+ exports.useI = m;
34
+ exports.useIO = I;
35
+ exports.useO = s;
36
+ exports.useStore = f;
37
+ //# sourceMappingURL=out.js.map
87
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react/index.ts","../../src/react/store-context.tsx","../../src/react/store-hooks.ts"],"sourcesContent":["export * from \"./store-context\"\nexport * from \"./store-hooks\"\n","import * as AtomIO from \"atom.io\"\nimport * as React from \"react\"\n\nexport const StoreContext = React.createContext<AtomIO.Store>(\n\tAtomIO.__INTERNAL__.IMPLICIT.STORE,\n)\n\nexport const StoreProvider: React.FC<{\n\tchildren: React.ReactNode\n\tstore?: AtomIO.Store\n}> = ({ children, store = AtomIO.__INTERNAL__.IMPLICIT.STORE }) => (\n\t<StoreContext.Provider value={store}>{children}</StoreContext.Provider>\n)\n","import * as AtomIO from \"atom.io\"\nimport * as React from \"react\"\n\nimport type { Modifier } from \"~/packages/anvl/src/function\"\n\nimport { StoreContext } from \"./store-context\"\n\nexport type StoreHooks = {\n\tuseI: <T>(token: AtomIO.StateToken<T>) => (next: Modifier<T> | T) => void\n\tuseO: <T>(token: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>) => T\n\tuseIO: <T>(token: AtomIO.StateToken<T>) => [T, (next: Modifier<T> | T) => void]\n}\nexport const storeHooks: StoreHooks = { useI, useO, useIO }\n\nexport function useI<T>(\n\ttoken: AtomIO.StateToken<T>,\n): (next: Modifier<T> | T) => void {\n\tconst store = React.useContext(StoreContext)\n\tconst update = (next: Modifier<T> | T) => AtomIO.setState(token, next, store)\n\treturn update\n}\n\nexport function useO<T>(\n\ttoken: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>,\n): T {\n\tconst store = React.useContext(StoreContext)\n\treturn React.useSyncExternalStore<T>(\n\t\t(observe) => AtomIO.subscribe(token, observe, store),\n\t\t() => AtomIO.getState(token, store),\n\t)\n}\n\nexport function useIO<T>(\n\ttoken: AtomIO.StateToken<T>,\n): [T, (next: Modifier<T> | T) => void] {\n\treturn [useO(token), useI(token)]\n}\n\nexport function useStore<T>(\n\ttoken: AtomIO.StateToken<T>,\n): [T, (next: Modifier<T> | T) => void]\nexport function useStore<T>(token: AtomIO.ReadonlySelectorToken<T>): T\nexport function useStore<T>(\n\ttoken: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>,\n): T | [T, (next: Modifier<T> | T) => void] {\n\treturn token.type === `readonly_selector` ? useO(token) : useIO(token)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,aAAwB;AACxB,YAAuB;AAUtB;AARM,IAAM,eAAqB;AAAA,EAC1B,oBAAa,SAAS;AAC9B;AAEO,IAAM,gBAGR,CAAC,EAAE,UAAU,QAAe,oBAAa,SAAS,MAAM,MAC5D,mDAAC,aAAa,UAAb,EAAsB,OAAO,OAAQ,YAAtC;AAAA;AAAA;AAAA;AAAA,OAA+C;;;ACXhD,IAAAA,UAAwB;AACxB,IAAAC,SAAuB;AAWhB,IAAM,aAAyB,EAAE,MAAM,MAAM,MAAM;AAEnD,SAAS,KACf,OACkC;AAClC,QAAM,QAAc,kBAAW,YAAY;AAC3C,QAAM,SAAS,CAAC,SAAiC,iBAAS,OAAO,MAAM,KAAK;AAC5E,SAAO;AACR;AAEO,SAAS,KACf,OACI;AACJ,QAAM,QAAc,kBAAW,YAAY;AAC3C,SAAa;AAAA,IACZ,CAAC,YAAmB,kBAAU,OAAO,SAAS,KAAK;AAAA,IACnD,MAAa,iBAAS,OAAO,KAAK;AAAA,EACnC;AACD;AAEO,SAAS,MACf,OACuC;AACvC,SAAO,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,CAAC;AACjC;AAMO,SAAS,SACf,OAC2C;AAC3C,SAAO,MAAM,SAAS,sBAAsB,KAAK,KAAK,IAAI,MAAM,KAAK;AACtE;","names":["AtomIO","React"]}
1
+ {"version":3,"sources":["../src/store-context.tsx","../src/store-hooks.ts"],"names":["AtomIO","React","jsx","StoreContext","StoreProvider","children","store","storeHooks","useI","useO","useIO","token","next","id","observe","useStore"],"mappings":"AAAA,UAAYA,MAAY,UACxB,UAAYC,MAAW,QAUtB,cAAAC,MAAA,oBARM,IAAMC,EAAqB,gBAC1B,eAAa,SAAS,KAC9B,EAEaC,EAGR,CAAC,CAAE,SAAAC,EAAU,MAAAC,EAAe,eAAa,SAAS,KAAM,IAC5DJ,EAACC,EAAa,SAAb,CAAsB,MAAOG,EAAQ,SAAAD,EAAS,ECXhD,UAAYL,MAAY,UACxB,UAAYC,MAAW,QAWhB,IAAMM,EAAyB,CAAE,KAAAC,EAAM,KAAAC,EAAM,MAAAC,CAAM,EAEnD,SAASF,EACfG,EACkC,CAClC,IAAML,EAAc,aAAWH,CAAY,EAE3C,OADgBS,GAAiC,WAASD,EAAOC,EAAMN,CAAK,CAE7E,CAEO,SAASG,EACfE,EACI,CACJ,IAAML,EAAc,aAAWH,CAAY,EACrCU,EAAW,QAAM,EACvB,OAAa,uBACXC,GAAmB,YAAUH,EAAOG,EAAS,SAASD,CAAE,GAAIP,CAAK,EAClE,IAAa,WAASK,EAAOL,CAAK,CACnC,CACD,CAEO,SAASI,EACfC,EACuC,CACvC,MAAO,CAACF,EAAKE,CAAK,EAAGH,EAAKG,CAAK,CAAC,CACjC,CAMO,SAASI,EACfJ,EAC2C,CAC3C,OAAOA,EAAM,OAAS,oBAAsBF,EAAKE,CAAK,EAAID,EAAMC,CAAK,CACtE","sourcesContent":["import * as AtomIO from \"atom.io\"\nimport * as React from \"react\"\n\nexport const StoreContext = React.createContext<AtomIO.Store>(\n\tAtomIO.__INTERNAL__.IMPLICIT.STORE,\n)\n\nexport const StoreProvider: React.FC<{\n\tchildren: React.ReactNode\n\tstore?: AtomIO.Store\n}> = ({ children, store = AtomIO.__INTERNAL__.IMPLICIT.STORE }) => (\n\t<StoreContext.Provider value={store}>{children}</StoreContext.Provider>\n)\n","import * as AtomIO from \"atom.io\"\nimport * as React from \"react\"\n\nimport type { Modifier } from \"~/packages/anvl/src/function\"\n\nimport { StoreContext } from \"./store-context\"\n\nexport type StoreHooks = {\n\tuseI: <T>(token: AtomIO.StateToken<T>) => (next: Modifier<T> | T) => void\n\tuseO: <T>(token: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>) => T\n\tuseIO: <T>(token: AtomIO.StateToken<T>) => [T, (next: Modifier<T> | T) => void]\n}\nexport const storeHooks: StoreHooks = { useI, useO, useIO }\n\nexport function useI<T>(\n\ttoken: AtomIO.StateToken<T>,\n): (next: Modifier<T> | T) => void {\n\tconst store = React.useContext(StoreContext)\n\tconst update = (next: Modifier<T> | T) => AtomIO.setState(token, next, store)\n\treturn update\n}\n\nexport function useO<T>(\n\ttoken: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>,\n): T {\n\tconst store = React.useContext(StoreContext)\n\tconst id = React.useId()\n\treturn React.useSyncExternalStore<T>(\n\t\t(observe) => AtomIO.subscribe(token, observe, `use-o:${id}`, store),\n\t\t() => AtomIO.getState(token, store),\n\t)\n}\n\nexport function useIO<T>(\n\ttoken: AtomIO.StateToken<T>,\n): [T, (next: Modifier<T> | T) => void] {\n\treturn [useO(token), useI(token)]\n}\n\nexport function useStore<T>(\n\ttoken: AtomIO.StateToken<T>,\n): [T, (next: Modifier<T> | T) => void]\nexport function useStore<T>(token: AtomIO.ReadonlySelectorToken<T>): T\nexport function useStore<T>(\n\ttoken: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>,\n): T | [T, (next: Modifier<T> | T) => void] {\n\treturn token.type === `readonly_selector` ? useO(token) : useIO(token)\n}\n"]}
@@ -1,45 +1,9 @@
1
- // ../src/react/store-context.tsx
2
- import * as AtomIO from "atom.io";
3
- import * as React from "react";
4
- import { jsxDEV } from "react/jsx-dev-runtime";
5
- var StoreContext = React.createContext(
6
- AtomIO.__INTERNAL__.IMPLICIT.STORE
7
- );
8
- var StoreProvider = ({ children, store = AtomIO.__INTERNAL__.IMPLICIT.STORE }) => /* @__PURE__ */ jsxDEV(StoreContext.Provider, { value: store, children }, void 0, false, {
9
- fileName: "../src/react/store-context.tsx",
10
- lineNumber: 12,
11
- columnNumber: 2
12
- }, this);
1
+ import * as r from 'atom.io';
2
+ import * as o from 'react';
3
+ import { jsx } from 'react/jsx-runtime';
13
4
 
14
- // ../src/react/store-hooks.ts
15
- import * as AtomIO2 from "atom.io";
16
- import * as React2 from "react";
17
- var storeHooks = { useI, useO, useIO };
18
- function useI(token) {
19
- const store = React2.useContext(StoreContext);
20
- const update = (next) => AtomIO2.setState(token, next, store);
21
- return update;
22
- }
23
- function useO(token) {
24
- const store = React2.useContext(StoreContext);
25
- return React2.useSyncExternalStore(
26
- (observe) => AtomIO2.subscribe(token, observe, store),
27
- () => AtomIO2.getState(token, store)
28
- );
29
- }
30
- function useIO(token) {
31
- return [useO(token), useI(token)];
32
- }
33
- function useStore(token) {
34
- return token.type === `readonly_selector` ? useO(token) : useIO(token);
35
- }
36
- export {
37
- StoreContext,
38
- StoreProvider,
39
- storeHooks,
40
- useI,
41
- useIO,
42
- useO,
43
- useStore
44
- };
5
+ var T=o.createContext(r.__INTERNAL__.IMPLICIT.STORE),d=({children:t,store:e=r.__INTERNAL__.IMPLICIT.STORE})=>jsx(T.Provider,{value:e,children:t});var x={useI:m,useO:s,useIO:I};function m(t){let e=o.useContext(T);return n=>r.setState(t,n,e)}function s(t){let e=o.useContext(T),a=o.useId();return o.useSyncExternalStore(n=>r.subscribe(t,n,`use-o:${a}`,e),()=>r.getState(t,e))}function I(t){return [s(t),m(t)]}function f(t){return t.type==="readonly_selector"?s(t):I(t)}
6
+
7
+ export { T as StoreContext, d as StoreProvider, x as storeHooks, m as useI, I as useIO, s as useO, f as useStore };
8
+ //# sourceMappingURL=out.js.map
45
9
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react/store-context.tsx","../../src/react/store-hooks.ts"],"sourcesContent":["import * as AtomIO from \"atom.io\"\nimport * as React from \"react\"\n\nexport const StoreContext = React.createContext<AtomIO.Store>(\n\tAtomIO.__INTERNAL__.IMPLICIT.STORE,\n)\n\nexport const StoreProvider: React.FC<{\n\tchildren: React.ReactNode\n\tstore?: AtomIO.Store\n}> = ({ children, store = AtomIO.__INTERNAL__.IMPLICIT.STORE }) => (\n\t<StoreContext.Provider value={store}>{children}</StoreContext.Provider>\n)\n","import * as AtomIO from \"atom.io\"\nimport * as React from \"react\"\n\nimport type { Modifier } from \"~/packages/anvl/src/function\"\n\nimport { StoreContext } from \"./store-context\"\n\nexport type StoreHooks = {\n\tuseI: <T>(token: AtomIO.StateToken<T>) => (next: Modifier<T> | T) => void\n\tuseO: <T>(token: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>) => T\n\tuseIO: <T>(token: AtomIO.StateToken<T>) => [T, (next: Modifier<T> | T) => void]\n}\nexport const storeHooks: StoreHooks = { useI, useO, useIO }\n\nexport function useI<T>(\n\ttoken: AtomIO.StateToken<T>,\n): (next: Modifier<T> | T) => void {\n\tconst store = React.useContext(StoreContext)\n\tconst update = (next: Modifier<T> | T) => AtomIO.setState(token, next, store)\n\treturn update\n}\n\nexport function useO<T>(\n\ttoken: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>,\n): T {\n\tconst store = React.useContext(StoreContext)\n\treturn React.useSyncExternalStore<T>(\n\t\t(observe) => AtomIO.subscribe(token, observe, store),\n\t\t() => AtomIO.getState(token, store),\n\t)\n}\n\nexport function useIO<T>(\n\ttoken: AtomIO.StateToken<T>,\n): [T, (next: Modifier<T> | T) => void] {\n\treturn [useO(token), useI(token)]\n}\n\nexport function useStore<T>(\n\ttoken: AtomIO.StateToken<T>,\n): [T, (next: Modifier<T> | T) => void]\nexport function useStore<T>(token: AtomIO.ReadonlySelectorToken<T>): T\nexport function useStore<T>(\n\ttoken: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>,\n): T | [T, (next: Modifier<T> | T) => void] {\n\treturn token.type === `readonly_selector` ? useO(token) : useIO(token)\n}\n"],"mappings":";AAAA,YAAY,YAAY;AACxB,YAAY,WAAW;AAUtB;AARM,IAAM,eAAqB;AAAA,EAC1B,oBAAa,SAAS;AAC9B;AAEO,IAAM,gBAGR,CAAC,EAAE,UAAU,QAAe,oBAAa,SAAS,MAAM,MAC5D,uBAAC,aAAa,UAAb,EAAsB,OAAO,OAAQ,YAAtC;AAAA;AAAA;AAAA;AAAA,OAA+C;;;ACXhD,YAAYA,aAAY;AACxB,YAAYC,YAAW;AAWhB,IAAM,aAAyB,EAAE,MAAM,MAAM,MAAM;AAEnD,SAAS,KACf,OACkC;AAClC,QAAM,QAAc,kBAAW,YAAY;AAC3C,QAAM,SAAS,CAAC,SAAiC,iBAAS,OAAO,MAAM,KAAK;AAC5E,SAAO;AACR;AAEO,SAAS,KACf,OACI;AACJ,QAAM,QAAc,kBAAW,YAAY;AAC3C,SAAa;AAAA,IACZ,CAAC,YAAmB,kBAAU,OAAO,SAAS,KAAK;AAAA,IACnD,MAAa,iBAAS,OAAO,KAAK;AAAA,EACnC;AACD;AAEO,SAAS,MACf,OACuC;AACvC,SAAO,CAAC,KAAK,KAAK,GAAG,KAAK,KAAK,CAAC;AACjC;AAMO,SAAS,SACf,OAC2C;AAC3C,SAAO,MAAM,SAAS,sBAAsB,KAAK,KAAK,IAAI,MAAM,KAAK;AACtE;","names":["AtomIO","React"]}
1
+ {"version":3,"sources":["../src/store-context.tsx","../src/store-hooks.ts"],"names":["AtomIO","React","jsx","StoreContext","StoreProvider","children","store","storeHooks","useI","useO","useIO","token","next","id","observe","useStore"],"mappings":"AAAA,UAAYA,MAAY,UACxB,UAAYC,MAAW,QAUtB,cAAAC,MAAA,oBARM,IAAMC,EAAqB,gBAC1B,eAAa,SAAS,KAC9B,EAEaC,EAGR,CAAC,CAAE,SAAAC,EAAU,MAAAC,EAAe,eAAa,SAAS,KAAM,IAC5DJ,EAACC,EAAa,SAAb,CAAsB,MAAOG,EAAQ,SAAAD,EAAS,ECXhD,UAAYL,MAAY,UACxB,UAAYC,MAAW,QAWhB,IAAMM,EAAyB,CAAE,KAAAC,EAAM,KAAAC,EAAM,MAAAC,CAAM,EAEnD,SAASF,EACfG,EACkC,CAClC,IAAML,EAAc,aAAWH,CAAY,EAE3C,OADgBS,GAAiC,WAASD,EAAOC,EAAMN,CAAK,CAE7E,CAEO,SAASG,EACfE,EACI,CACJ,IAAML,EAAc,aAAWH,CAAY,EACrCU,EAAW,QAAM,EACvB,OAAa,uBACXC,GAAmB,YAAUH,EAAOG,EAAS,SAASD,CAAE,GAAIP,CAAK,EAClE,IAAa,WAASK,EAAOL,CAAK,CACnC,CACD,CAEO,SAASI,EACfC,EACuC,CACvC,MAAO,CAACF,EAAKE,CAAK,EAAGH,EAAKG,CAAK,CAAC,CACjC,CAMO,SAASI,EACfJ,EAC2C,CAC3C,OAAOA,EAAM,OAAS,oBAAsBF,EAAKE,CAAK,EAAID,EAAMC,CAAK,CACtE","sourcesContent":["import * as AtomIO from \"atom.io\"\nimport * as React from \"react\"\n\nexport const StoreContext = React.createContext<AtomIO.Store>(\n\tAtomIO.__INTERNAL__.IMPLICIT.STORE,\n)\n\nexport const StoreProvider: React.FC<{\n\tchildren: React.ReactNode\n\tstore?: AtomIO.Store\n}> = ({ children, store = AtomIO.__INTERNAL__.IMPLICIT.STORE }) => (\n\t<StoreContext.Provider value={store}>{children}</StoreContext.Provider>\n)\n","import * as AtomIO from \"atom.io\"\nimport * as React from \"react\"\n\nimport type { Modifier } from \"~/packages/anvl/src/function\"\n\nimport { StoreContext } from \"./store-context\"\n\nexport type StoreHooks = {\n\tuseI: <T>(token: AtomIO.StateToken<T>) => (next: Modifier<T> | T) => void\n\tuseO: <T>(token: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>) => T\n\tuseIO: <T>(token: AtomIO.StateToken<T>) => [T, (next: Modifier<T> | T) => void]\n}\nexport const storeHooks: StoreHooks = { useI, useO, useIO }\n\nexport function useI<T>(\n\ttoken: AtomIO.StateToken<T>,\n): (next: Modifier<T> | T) => void {\n\tconst store = React.useContext(StoreContext)\n\tconst update = (next: Modifier<T> | T) => AtomIO.setState(token, next, store)\n\treturn update\n}\n\nexport function useO<T>(\n\ttoken: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>,\n): T {\n\tconst store = React.useContext(StoreContext)\n\tconst id = React.useId()\n\treturn React.useSyncExternalStore<T>(\n\t\t(observe) => AtomIO.subscribe(token, observe, `use-o:${id}`, store),\n\t\t() => AtomIO.getState(token, store),\n\t)\n}\n\nexport function useIO<T>(\n\ttoken: AtomIO.StateToken<T>,\n): [T, (next: Modifier<T> | T) => void] {\n\treturn [useO(token), useI(token)]\n}\n\nexport function useStore<T>(\n\ttoken: AtomIO.StateToken<T>,\n): [T, (next: Modifier<T> | T) => void]\nexport function useStore<T>(token: AtomIO.ReadonlySelectorToken<T>): T\nexport function useStore<T>(\n\ttoken: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>,\n): T | [T, (next: Modifier<T> | T) => void] {\n\treturn token.type === `readonly_selector` ? useO(token) : useIO(token)\n}\n"]}
@@ -1,43 +1,2 @@
1
- /* ../src/react-devtools/devtools.scss */
2
- main.atom_io_devtools {
3
- --fg-color: #eee;
4
- --bg-color: #111;
5
- --bg-tint1: #222;
6
- --fg-border: 1px solid var(--fg-color);
7
- @media (prefers-color-scheme: light) {
8
- --fg-color: #444;
9
- --bg-color: #ddd;
10
- --bg-tint1: #e3e3e3;
11
- }
12
- box-sizing: border-box;
13
- color: var(--fg-color);
14
- background-color: var(--bg-color);
15
- border: 2px solid var(--fg-color);
16
- position: fixed;
17
- right: 0;
18
- bottom: 0;
19
- height: 100%;
20
- display: flex;
21
- flex-flow: column;
22
- max-height: 800px;
23
- width: 100%;
24
- max-width: 500px;
25
- overflow-y: scroll;
26
- * {
27
- font-size: 16px;
28
- font-family: theia, monospace;
29
- }
30
- > header {
31
- padding: 5px;
32
- padding-left: 10px;
33
- padding-bottom: 0;
34
- display: flex;
35
- justify-content: space-between;
36
- h1 { font-size: inherit; margin: 0; font-size: 24px; font-family: charter; } nav { display: flex; flex-flow: row nowrap; button { cursor: pointer; background: none; border: none; padding: none; margin-bottom: -2px; z-index: 1000; &:disabled { cursor: default; background-color: var(--bg-tint1); color: var(--fg-color); border: var(--fg-border); border-bottom: none; } } };
37
- }
38
- > main {
39
- background: var(--bg-tint1);
40
- }
41
- main { overflow-y: scroll; flex-grow: 1; display: flex; flex-flow: column; gap: 0; article.index { .node .node { border-right: var(--fg-border); padding-right: 0; background: #fff3; } .node > .node { margin: 5px 0; margin-left: 12px; border-left: var(--fg-border); } .node { border-top: var(--fg-border); overflow-x: scroll; padding: 5px; &:last-of-type { border-bottom: var(--fg-border); } &.transaction_update { padding: 0; } header { display: flex; flex-flow: row; gap: 5px; position: sticky; z-index: 999; top: 0; button.carat { cursor: pointer; background: none; border: none; width: 20px; &.open { transform: rotate(90deg); } &:disabled { cursor: default; } } label { display: flex; flex-flow: row; gap: 5px; cursor: help; h2 { display: inline-block; margin: 0; } .detail { color: #777; @media (prefers-color-scheme: light) { color: #999; } } } } main { margin-left: 15px; } } section.transaction_log { margin-top: 0; header: { padding: 5px; } main { display: flex; flex-flow: row wrap; gap: 5px; .transaction_update { width: 100%; display: flex; flex-flow: row; align-items: flex-start; justify-content: flex-start; justify-items: flex-start; align-content: flex-start; border-left: var(--fg-border); border-top: var(--fg-border); header { padding: 5px; h4 { margin: 0; padding: 0; font-size: inherit; } } main { margin-left: 0; display: flex; flex-flow: column; gap: 0px; border-left: 1px solid #333; section ~ section { border-top: 1px solid #333; } section { padding: 5px; &.transaction_output { border-right: none; } &.transaction_impact { padding: 5px; } margin: 0; article { border-left: var(--fg-border); border-right: var(--fg-border); .summary { white-space: nowrap; } } } } } } } section.timeline_log { header { display: flex; label { display: flex; width: 100%; flex-grow: 1; .gap { flex-grow: 1; } nav { display: flex; flex-flow: row nowrap; gap: 5px; } } } .timeline_update { padding: 5px; border-left: var(--fg-border); h4 { margin: 0; padding: 0; font-size: inherit; } main { margin: 0; .node.atom_update { border-left: var(--fg-border); } } } .you_are_here { background: var(--fg-color); color: var(--bg-color); text-align: center; } } } } footer { display: flex; justify-content: flex-end; button { cursor: pointer; background: none; border: none; padding: none; position: absolute; right: 0; bottom: 0; } } .json_editor { input { // font-size: 20px; font-family: theia; border: none; border-bottom: 1px solid; background: none; &:disabled { border: none; } } button { background: none; margin-left: auto; color: #777; border: none; font-family: theia; font-size: 14px; margin: none; padding: 4px; padding-bottom: 6px; cursor: pointer; &:hover { color: #333; background-color: #aaa; } } select { font-family: theia; font-size: 14px; background: none; border: none; color: #777; @media (prefers-color-scheme: light) { color: #999; } } .json_editor_unofficial { background-color: #777; button { color: #333; } } .json_editor_missing { background-color: #f055; } .json_editor_key { padding-right: 10px; input { color: #999; @media (prefers-color-scheme: light) { color: #777; } } } .json_editor_object { border-left: 2px solid #333; padding-left: 20px; @media (prefers-color-scheme: light) { border-color: #ccc; } .json_editor_properties { > * { border-bottom: var(--fg-border); margin-bottom: 2px; } } } };
42
- }
1
+ .class{display:flex;flex-flow:row wrap;gap:4px;section {display: flex; flex-flow: row; margin-bottom: 1rem; border: 1px solid #ccc; padding: 2px; margin: 0; span {display: flex;}}}main.atom_io_devtools{--fg-color: #eee;--bg-color: #111;--bg-tint1: #222;--fg-border: 1px solid var(--fg-color);@media (prefers-color-scheme: light){--fg-color: #444;--bg-color: #ddd;--bg-tint1: #e3e3e3}box-sizing:border-box;color:var(--fg-color);background-color:var(--bg-color);border:2px solid var(--fg-color);position:fixed;right:0;bottom:0;height:100%;display:flex;flex-flow:column;max-height:800px;width:100%;max-width:500px;overflow-y:scroll;*{font-size:16px;font-family:theia,monospace}>header{padding:5px 5px 0 10px;display:flex;justify-content:space-between;h1 {font-size: inherit; margin: 0; font-size: 24px; font-family: charter;} nav {display: flex; flex-flow: row nowrap; button {cursor: pointer; background: none; border: none; padding: none; margin-bottom: -2px; z-index: 1000; &:disabled {cursor: default; background-color: var(--bg-tint1); color: var(--fg-color); border: var(--fg-border); border-bottom: none;}}}}>main{background:var(--bg-tint1)}main {overflow-y: scroll; flex-grow: 1; display: flex; flex-flow: column; gap: 0; article.index {.node .node {border-right: var(--fg-border); padding-right: 0; background: #fff3;} .node > .node {margin: 5px 0; margin-left: 12px; border-left: var(--fg-border);} .node {border-top: var(--fg-border); overflow-x: scroll; padding: 5px; &:last-of-type {border-bottom: var(--fg-border);} &.transaction_update {padding: 0;} header {display: flex; flex-flow: row; gap: 5px; position: sticky; z-index: 999; top: 0; button.carat {cursor: pointer; background: none; border: none; width: 20px; &.open {transform: rotate(90deg);} &:disabled {cursor: default;}} label {display: flex; flex-flow: row; gap: 5px; cursor: help; h2 {display: inline-block; margin: 0;} .detail {color: #777; @media (prefers-color-scheme: light) {color: #999;}}}} main {margin-left: 15px;}} section.transaction_log {margin-top: 0; header: {padding: 5px;} main {display: flex; flex-flow: row wrap; gap: 5px; .transaction_update {width: 100%; display: flex; flex-flow: row; align-items: flex-start; justify-content: flex-start; justify-items: flex-start; align-content: flex-start; border-left: var(--fg-border); border-top: var(--fg-border); header {padding: 5px; h4 {margin: 0; padding: 0; font-size: inherit;}} main {margin-left: 0; display: flex; flex-flow: column; gap: 0px; border-left: 1px solid #333; section ~ section {border-top: 1px solid #333;} section {padding: 5px; &.transaction_output {border-right: none;} &.transaction_impact {padding: 5px;} margin: 0; article {border-left: var(--fg-border); border-right: var(--fg-border); .summary {white-space: nowrap;}}}}}}} section.timeline_log {header {display: flex; label {display: flex; width: 100%; flex-grow: 1; .gap {flex-grow: 1;} nav {display: flex; flex-flow: row nowrap; gap: 5px;}}} .timeline_update {padding: 5px; border-left: var(--fg-border); h4 {margin: 0; padding: 0; font-size: inherit;} main {margin: 0; .node.atom_update {border-left: var(--fg-border);}}} .you_are_here {background: var(--fg-color); color: var(--bg-color); text-align: center;}}}} footer {display: flex; justify-content: flex-end; button {cursor: pointer; background: none; border: none; padding: none; position: absolute; right: 0; bottom: 0;}} .json_editor {input {font-family: theia; border: none; border-bottom: 1px solid; background: none; &:disabled {border: none;}} button {background: none; margin-left: auto; color: #777; border: none; font-family: theia; font-size: 14px; margin: none; padding: 4px; padding-bottom: 6px; cursor: pointer; &:hover {color: #333; background-color: #aaa;}} select {font-family: theia; font-size: 14px; background: none; border: none; color: #777; @media (prefers-color-scheme: light) {color: #999;}} .json_editor_unofficial {background-color: #777; button {color: #333;}} .json_editor_missing {background-color: #f055;} .json_editor_key {padding-right: 10px; input {color: #999; @media (prefers-color-scheme: light) {color: #777;}}} .json_editor_object {border-left: 2px solid #333; padding-left: 20px; @media (prefers-color-scheme: light) {border-color: #ccc;} .json_editor_properties {> * {border-bottom: var(--fg-border); margin-bottom: 2px;}}}}}
43
2
  /*# sourceMappingURL=index.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react-devtools/devtools.scss"],"sourcesContent":["main.atom_io_devtools {\n --fg-color: #eee;\n --bg-color: #111;\n --bg-tint1: #222;\n --fg-border: 1px solid var(--fg-color);\n @media (prefers-color-scheme: light) {\n --fg-color: #444;\n --bg-color: #ddd;\n --bg-tint1: #e3e3e3;\n }\n box-sizing: border-box;\n color: var(--fg-color);\n background-color: var(--bg-color);\n border: 2px solid var(--fg-color);\n position: fixed;\n right: 0;\n bottom: 0;\n height: 100%;\n display: flex;\n flex-flow: column;\n max-height: 800px;\n width: 100%;\n max-width: 500px;\n overflow-y: scroll;\n * {\n font-size: 16px;\n font-family: theia, monospace;\n }\n > header {\n padding: 5px;\n padding-left: 10px;\n padding-bottom: 0;\n display: flex;\n justify-content: space-between;\n h1 {\n font-size: inherit;\n margin: 0;\n font-size: 24px;\n font-family: charter;\n }\n nav {\n display: flex;\n flex-flow: row nowrap;\n button {\n cursor: pointer;\n background: none;\n border: none;\n padding: none;\n margin-bottom: -2px;\n z-index: 1000;\n &:disabled {\n cursor: default;\n background-color: var(--bg-tint1);\n color: var(--fg-color);\n border: var(--fg-border);\n border-bottom: none;\n }\n }\n }\n }\n > main {\n background: var(--bg-tint1);\n }\n main {\n overflow-y: scroll;\n flex-grow: 1;\n display: flex;\n flex-flow: column;\n gap: 0;\n article.index {\n .node .node {\n border-right: var(--fg-border);\n padding-right: 0;\n background: #fff3;\n }\n .node > .node {\n margin: 5px 0;\n margin-left: 12px;\n border-left: var(--fg-border);\n }\n .node {\n border-top: var(--fg-border);\n overflow-x: scroll;\n padding: 5px;\n &:last-of-type {\n border-bottom: var(--fg-border);\n }\n &.transaction_update {\n padding: 0;\n }\n header {\n display: flex;\n flex-flow: row;\n gap: 5px;\n position: sticky;\n z-index: 999;\n top: 0;\n button.carat {\n cursor: pointer;\n background: none;\n border: none;\n width: 20px;\n &.open {\n transform: rotate(90deg);\n }\n &:disabled {\n cursor: default;\n }\n }\n label {\n display: flex;\n flex-flow: row;\n gap: 5px;\n cursor: help;\n h2 {\n display: inline-block;\n margin: 0;\n }\n .detail {\n color: #777;\n @media (prefers-color-scheme: light) {\n color: #999;\n }\n }\n }\n }\n main {\n margin-left: 15px;\n }\n }\n section.transaction_log {\n margin-top: 0;\n header: {\n padding: 5px;\n }\n main {\n display: flex;\n flex-flow: row wrap;\n gap: 5px;\n .transaction_update {\n width: 100%;\n display: flex;\n flex-flow: row;\n align-items: flex-start;\n justify-content: flex-start;\n justify-items: flex-start;\n align-content: flex-start;\n border-left: var(--fg-border);\n border-top: var(--fg-border);\n header {\n padding: 5px;\n h4 {\n margin: 0;\n padding: 0;\n font-size: inherit;\n }\n }\n main {\n margin-left: 0;\n display: flex;\n flex-flow: column;\n gap: 0px;\n border-left: 1px solid #333;\n section ~ section {\n border-top: 1px solid #333;\n }\n section {\n padding: 5px;\n &.transaction_output {\n border-right: none;\n }\n &.transaction_impact {\n padding: 5px;\n }\n margin: 0;\n article {\n border-left: var(--fg-border);\n border-right: var(--fg-border);\n .summary {\n white-space: nowrap;\n }\n }\n }\n }\n }\n }\n }\n section.timeline_log {\n header {\n display: flex;\n label {\n display: flex;\n width: 100%;\n flex-grow: 1;\n .gap {\n flex-grow: 1;\n }\n nav {\n display: flex;\n flex-flow: row nowrap;\n gap: 5px;\n }\n }\n }\n .timeline_update {\n padding: 5px;\n border-left: var(--fg-border);\n h4 {\n margin: 0;\n padding: 0;\n font-size: inherit;\n }\n main {\n margin: 0;\n .node.atom_update {\n border-left: var(--fg-border);\n }\n }\n }\n .you_are_here {\n background: var(--fg-color);\n color: var(--bg-color);\n text-align: center;\n }\n }\n }\n }\n footer {\n display: flex;\n justify-content: flex-end;\n button {\n cursor: pointer;\n background: none;\n border: none;\n padding: none;\n position: absolute;\n right: 0;\n bottom: 0;\n }\n }\n\n .json_editor {\n input {\n // font-size: 20px;\n font-family: theia;\n border: none;\n border-bottom: 1px solid;\n background: none;\n &:disabled {\n border: none;\n }\n }\n button {\n background: none;\n margin-left: auto;\n color: #777;\n border: none;\n font-family: theia;\n font-size: 14px;\n margin: none;\n padding: 4px;\n padding-bottom: 6px;\n cursor: pointer;\n &:hover {\n color: #333;\n background-color: #aaa;\n }\n }\n select {\n font-family: theia;\n font-size: 14px;\n background: none;\n border: none;\n color: #777;\n @media (prefers-color-scheme: light) {\n color: #999;\n }\n }\n .json_editor_unofficial {\n background-color: #777;\n button {\n color: #333;\n }\n }\n .json_editor_missing {\n background-color: #f055;\n }\n .json_editor_key {\n padding-right: 10px;\n input {\n color: #999;\n @media (prefers-color-scheme: light) {\n color: #777;\n }\n }\n }\n .json_editor_object {\n border-left: 2px solid #333;\n padding-left: 20px;\n @media (prefers-color-scheme: light) {\n border-color: #ccc;\n }\n .json_editor_properties {\n > * {\n border-bottom: var(--fg-border);\n margin-bottom: 2px;\n }\n }\n }\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../hamr/src/react-data-designer/RelationEditor.module.scss","../src/devtools.scss"],"sourcesContent":[".class {\n display: flex;\n flex-flow: row wrap;\n gap: 4px;\n section {\n display: flex;\n flex-flow: row;\n margin-bottom: 1rem;\n border: 1px solid #ccc;\n padding: 2px;\n margin: 0;\n span {\n display: flex;\n }\n }\n}\n","main.atom_io_devtools {\n --fg-color: #eee;\n --bg-color: #111;\n --bg-tint1: #222;\n --fg-border: 1px solid var(--fg-color);\n @media (prefers-color-scheme: light) {\n --fg-color: #444;\n --bg-color: #ddd;\n --bg-tint1: #e3e3e3;\n }\n box-sizing: border-box;\n color: var(--fg-color);\n background-color: var(--bg-color);\n border: 2px solid var(--fg-color);\n position: fixed;\n right: 0;\n bottom: 0;\n height: 100%;\n display: flex;\n flex-flow: column;\n max-height: 800px;\n width: 100%;\n max-width: 500px;\n overflow-y: scroll;\n * {\n font-size: 16px;\n font-family: theia, monospace;\n }\n > header {\n padding: 5px;\n padding-left: 10px;\n padding-bottom: 0;\n display: flex;\n justify-content: space-between;\n h1 {\n font-size: inherit;\n margin: 0;\n font-size: 24px;\n font-family: charter;\n }\n nav {\n display: flex;\n flex-flow: row nowrap;\n button {\n cursor: pointer;\n background: none;\n border: none;\n padding: none;\n margin-bottom: -2px;\n z-index: 1000;\n &:disabled {\n cursor: default;\n background-color: var(--bg-tint1);\n color: var(--fg-color);\n border: var(--fg-border);\n border-bottom: none;\n }\n }\n }\n }\n > main {\n background: var(--bg-tint1);\n }\n main {\n overflow-y: scroll;\n flex-grow: 1;\n display: flex;\n flex-flow: column;\n gap: 0;\n article.index {\n .node .node {\n border-right: var(--fg-border);\n padding-right: 0;\n background: #fff3;\n }\n .node > .node {\n margin: 5px 0;\n margin-left: 12px;\n border-left: var(--fg-border);\n }\n .node {\n border-top: var(--fg-border);\n overflow-x: scroll;\n padding: 5px;\n &:last-of-type {\n border-bottom: var(--fg-border);\n }\n &.transaction_update {\n padding: 0;\n }\n header {\n display: flex;\n flex-flow: row;\n gap: 5px;\n position: sticky;\n z-index: 999;\n top: 0;\n button.carat {\n cursor: pointer;\n background: none;\n border: none;\n width: 20px;\n &.open {\n transform: rotate(90deg);\n }\n &:disabled {\n cursor: default;\n }\n }\n label {\n display: flex;\n flex-flow: row;\n gap: 5px;\n cursor: help;\n h2 {\n display: inline-block;\n margin: 0;\n }\n .detail {\n color: #777;\n @media (prefers-color-scheme: light) {\n color: #999;\n }\n }\n }\n }\n main {\n margin-left: 15px;\n }\n }\n section.transaction_log {\n margin-top: 0;\n header: {\n padding: 5px;\n }\n main {\n display: flex;\n flex-flow: row wrap;\n gap: 5px;\n .transaction_update {\n width: 100%;\n display: flex;\n flex-flow: row;\n align-items: flex-start;\n justify-content: flex-start;\n justify-items: flex-start;\n align-content: flex-start;\n border-left: var(--fg-border);\n border-top: var(--fg-border);\n header {\n padding: 5px;\n h4 {\n margin: 0;\n padding: 0;\n font-size: inherit;\n }\n }\n main {\n margin-left: 0;\n display: flex;\n flex-flow: column;\n gap: 0px;\n border-left: 1px solid #333;\n section ~ section {\n border-top: 1px solid #333;\n }\n section {\n padding: 5px;\n &.transaction_output {\n border-right: none;\n }\n &.transaction_impact {\n padding: 5px;\n }\n margin: 0;\n article {\n border-left: var(--fg-border);\n border-right: var(--fg-border);\n .summary {\n white-space: nowrap;\n }\n }\n }\n }\n }\n }\n }\n section.timeline_log {\n header {\n display: flex;\n label {\n display: flex;\n width: 100%;\n flex-grow: 1;\n .gap {\n flex-grow: 1;\n }\n nav {\n display: flex;\n flex-flow: row nowrap;\n gap: 5px;\n }\n }\n }\n .timeline_update {\n padding: 5px;\n border-left: var(--fg-border);\n h4 {\n margin: 0;\n padding: 0;\n font-size: inherit;\n }\n main {\n margin: 0;\n .node.atom_update {\n border-left: var(--fg-border);\n }\n }\n }\n .you_are_here {\n background: var(--fg-color);\n color: var(--bg-color);\n text-align: center;\n }\n }\n }\n }\n footer {\n display: flex;\n justify-content: flex-end;\n button {\n cursor: pointer;\n background: none;\n border: none;\n padding: none;\n position: absolute;\n right: 0;\n bottom: 0;\n }\n }\n\n .json_editor {\n input {\n font-family: theia;\n border: none;\n border-bottom: 1px solid;\n background: none;\n &:disabled {\n border: none;\n }\n }\n button {\n background: none;\n margin-left: auto;\n color: #777;\n border: none;\n font-family: theia;\n font-size: 14px;\n margin: none;\n padding: 4px;\n padding-bottom: 6px;\n cursor: pointer;\n &:hover {\n color: #333;\n background-color: #aaa;\n }\n }\n select {\n font-family: theia;\n font-size: 14px;\n background: none;\n border: none;\n color: #777;\n @media (prefers-color-scheme: light) {\n color: #999;\n }\n }\n .json_editor_unofficial {\n background-color: #777;\n button {\n color: #333;\n }\n }\n .json_editor_missing {\n background-color: #f055;\n }\n .json_editor_key {\n padding-right: 10px;\n input {\n color: #999;\n @media (prefers-color-scheme: light) {\n color: #777;\n }\n }\n }\n .json_editor_object {\n border-left: 2px solid #333;\n padding-left: 20px;\n @media (prefers-color-scheme: light) {\n border-color: #ccc;\n }\n .json_editor_properties {\n > * {\n border-bottom: var(--fg-border);\n margin-bottom: 2px;\n }\n }\n }\n }\n}\n"],"mappings":"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","names":[]}