atom.io 0.6.9 → 0.7.0
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/README.md +21 -2
- package/dist/index.d.mts +34 -421
- package/dist/index.d.ts +34 -421
- package/dist/index.js +248 -23
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +209 -4
- package/dist/index.mjs.map +1 -1
- package/internal/dist/index.d.mts +342 -0
- package/internal/dist/index.d.ts +342 -0
- package/internal/dist/index.js +1873 -0
- package/internal/dist/index.js.map +1 -0
- package/internal/dist/index.mjs +1798 -0
- package/internal/dist/index.mjs.map +1 -0
- package/internal/package.json +15 -0
- package/internal/src/atom/create-atom.ts +75 -0
- package/internal/src/atom/delete-atom.ts +10 -0
- package/internal/src/atom/index.ts +3 -0
- package/internal/src/atom/is-default.ts +37 -0
- package/internal/src/caching.ts +21 -0
- package/internal/src/families/create-atom-family.ts +59 -0
- package/internal/src/families/create-readonly-selector-family.ts +45 -0
- package/internal/src/families/create-selector-family.ts +67 -0
- package/internal/src/families/index.ts +3 -0
- package/internal/src/get-state-internal.ts +23 -0
- package/internal/src/index.ts +13 -0
- package/internal/src/mutable/create-mutable-atom-family.ts +25 -0
- package/internal/src/mutable/create-mutable-atom.ts +49 -0
- package/internal/src/mutable/get-json-token.ts +22 -0
- package/internal/src/mutable/get-update-token.ts +20 -0
- package/internal/src/mutable/index.ts +17 -0
- package/internal/src/mutable/is-atom-token-mutable.ts +7 -0
- package/internal/src/mutable/tracker-family.ts +61 -0
- package/internal/src/mutable/tracker.ts +164 -0
- package/internal/src/mutable/transceiver.ts +110 -0
- package/internal/src/operation.ts +68 -0
- package/internal/src/selector/create-read-write-selector.ts +65 -0
- package/internal/src/selector/create-readonly-selector.ts +49 -0
- package/internal/src/selector/create-selector.ts +65 -0
- package/internal/src/selector/index.ts +5 -0
- package/internal/src/selector/lookup-selector-sources.ts +20 -0
- package/internal/src/selector/register-selector.ts +61 -0
- package/internal/src/selector/trace-selector-atoms.ts +45 -0
- package/internal/src/selector/update-selector-atoms.ts +34 -0
- package/internal/src/set-state/become.ts +10 -0
- package/internal/src/set-state/copy-mutable-if-needed.ts +23 -0
- package/internal/src/set-state/copy-mutable-in-transaction.ts +59 -0
- package/internal/src/set-state/copy-mutable-into-new-store.ts +34 -0
- package/internal/src/set-state/emit-update.ts +23 -0
- package/internal/src/set-state/evict-downstream.ts +39 -0
- package/internal/src/set-state/index.ts +2 -0
- package/internal/src/set-state/set-atom-state.ts +38 -0
- package/internal/src/set-state/set-selector-state.ts +19 -0
- package/internal/src/set-state/set-state-internal.ts +18 -0
- package/internal/src/set-state/stow-update.ts +42 -0
- package/internal/src/store/deposit.ts +43 -0
- package/internal/src/store/index.ts +5 -0
- package/internal/src/store/lookup.ts +26 -0
- package/internal/src/store/store.ts +154 -0
- package/internal/src/store/withdraw-new-family-member.ts +53 -0
- package/internal/src/store/withdraw.ts +113 -0
- package/internal/src/subject.ts +21 -0
- package/internal/src/subscribe/index.ts +1 -0
- package/internal/src/subscribe/recall-state.ts +19 -0
- package/internal/src/subscribe/subscribe-to-root-atoms.ts +47 -0
- package/internal/src/timeline/add-atom-to-timeline.ts +189 -0
- package/internal/src/timeline/index.ts +3 -0
- package/internal/src/timeline/time-travel-internal.ts +91 -0
- package/internal/src/timeline/timeline-internal.ts +115 -0
- package/internal/src/transaction/abort-transaction.ts +12 -0
- package/internal/src/transaction/apply-transaction.ts +64 -0
- package/internal/src/transaction/build-transaction.ts +39 -0
- package/internal/src/transaction/index.ts +26 -0
- package/internal/src/transaction/redo-transaction.ts +22 -0
- package/internal/src/transaction/transaction-internal.ts +64 -0
- package/internal/src/transaction/undo-transaction.ts +22 -0
- package/introspection/dist/index.d.mts +3 -197
- package/introspection/dist/index.d.ts +3 -197
- package/introspection/dist/index.js +329 -4
- package/introspection/dist/index.js.map +1 -1
- package/introspection/dist/index.mjs +310 -4
- package/introspection/dist/index.mjs.map +1 -1
- package/introspection/src/attach-atom-index.ts +84 -0
- package/introspection/src/attach-introspection-states.ts +38 -0
- package/introspection/src/attach-selector-index.ts +90 -0
- package/introspection/src/attach-timeline-family.ts +59 -0
- package/introspection/src/attach-timeline-index.ts +38 -0
- package/introspection/src/attach-transaction-index.ts +40 -0
- package/introspection/src/attach-transaction-logs.ts +43 -0
- package/introspection/src/index.ts +20 -0
- package/json/dist/index.d.mts +10 -2
- package/json/dist/index.d.ts +10 -2
- package/json/dist/index.js +83 -26
- package/json/dist/index.js.map +1 -1
- package/json/dist/index.mjs +74 -3
- package/json/dist/index.mjs.map +1 -1
- package/json/src/index.ts +5 -0
- package/json/src/select-json-family.ts +35 -0
- package/json/src/select-json.ts +22 -0
- package/package.json +103 -63
- package/react/dist/index.d.mts +9 -17
- package/react/dist/index.d.ts +9 -17
- package/react/dist/index.js +44 -27
- package/react/dist/index.js.map +1 -1
- package/react/dist/index.mjs +24 -4
- package/react/dist/index.mjs.map +1 -1
- package/react/src/index.ts +2 -0
- package/react/src/store-context.tsx +12 -0
- package/react/src/store-hooks.ts +36 -0
- package/react-devtools/dist/index.css +50 -1
- package/react-devtools/dist/index.css.map +1 -1
- package/react-devtools/dist/index.d.mts +104 -71
- package/react-devtools/dist/index.d.ts +104 -71
- package/react-devtools/dist/index.js +2806 -44
- package/react-devtools/dist/index.js.map +1 -1
- package/react-devtools/dist/index.mjs +2775 -10
- package/react-devtools/dist/index.mjs.map +1 -1
- package/react-devtools/src/AtomIODevtools.tsx +109 -0
- package/react-devtools/src/Button.tsx +23 -0
- package/react-devtools/src/StateEditor.tsx +75 -0
- package/react-devtools/src/StateIndex.tsx +159 -0
- package/react-devtools/src/TimelineIndex.tsx +88 -0
- package/react-devtools/src/TransactionIndex.tsx +70 -0
- package/react-devtools/src/Updates.tsx +150 -0
- package/react-devtools/src/devtools.scss +310 -0
- package/react-devtools/src/index.ts +72 -0
- package/realtime-react/dist/index.d.mts +8 -22
- package/realtime-react/dist/index.d.ts +8 -22
- package/realtime-react/dist/index.js +87 -32
- package/realtime-react/dist/index.js.map +1 -1
- package/realtime-react/dist/index.mjs +62 -6
- package/realtime-react/dist/index.mjs.map +1 -1
- package/realtime-react/src/index.ts +7 -0
- package/realtime-react/src/realtime-context.tsx +29 -0
- package/realtime-react/src/use-pull-family-member.ts +15 -0
- package/realtime-react/src/use-pull-mutable-family-member.ts +20 -0
- package/realtime-react/src/use-pull-mutable.ts +17 -0
- package/realtime-react/src/use-pull.ts +15 -0
- package/realtime-react/src/use-push.ts +19 -0
- package/realtime-react/src/use-server-action.ts +18 -0
- package/realtime-testing/dist/index.d.mts +49 -0
- package/realtime-testing/dist/index.d.ts +49 -0
- package/realtime-testing/dist/index.js +147 -0
- package/realtime-testing/dist/index.js.map +1 -0
- package/realtime-testing/dist/index.mjs +116 -0
- package/realtime-testing/dist/index.mjs.map +1 -0
- package/realtime-testing/src/index.ts +1 -0
- package/realtime-testing/src/setup-realtime-test.tsx +161 -0
- package/src/atom.ts +64 -9
- package/src/index.ts +36 -32
- package/src/logger.ts +3 -3
- package/src/selector.ts +3 -3
- package/src/silo.ts +29 -20
- package/src/subscribe.ts +3 -3
- package/src/timeline.ts +2 -2
- package/transceivers/set-rtx/dist/index.d.mts +39 -0
- package/transceivers/set-rtx/dist/index.d.ts +39 -0
- package/transceivers/set-rtx/dist/index.js +213 -0
- package/transceivers/set-rtx/dist/index.js.map +1 -0
- package/transceivers/set-rtx/dist/index.mjs +211 -0
- package/transceivers/set-rtx/dist/index.mjs.map +1 -0
- package/{realtime → transceivers/set-rtx}/package.json +1 -1
- package/transceivers/set-rtx/src/index.ts +1 -0
- package/transceivers/set-rtx/src/set-rtx.ts +242 -0
- package/realtime/dist/index.d.mts +0 -23
- package/realtime/dist/index.d.ts +0 -23
- package/realtime/dist/index.js +0 -32
- package/realtime/dist/index.js.map +0 -1
- package/realtime/dist/index.mjs +0 -7
- package/realtime/dist/index.mjs.map +0 -1
package/package.json
CHANGED
|
@@ -1,27 +1,96 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "atom.io",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Reactive state graph for React, Preact, and vanilla",
|
|
5
|
+
"dependencies": {},
|
|
6
|
+
"peerDependencies": {
|
|
7
|
+
"@testing-library/react": ">=14.0.0",
|
|
8
|
+
"@floating-ui/react": ">=0.25.0",
|
|
9
|
+
"@floating-ui/react-dom": ">=2.0.0",
|
|
10
|
+
"framer-motion": ">=10.0.0",
|
|
11
|
+
"react": ">=18.0.0",
|
|
12
|
+
"socket.io": ">=4.0.0",
|
|
13
|
+
"socket.io-client": ">=4.0.0"
|
|
14
|
+
},
|
|
15
|
+
"peerDependenciesMeta": {
|
|
16
|
+
"@testing-library/react": {
|
|
17
|
+
"optional": true
|
|
18
|
+
},
|
|
19
|
+
"react": {
|
|
20
|
+
"optional": true
|
|
21
|
+
},
|
|
22
|
+
"@floating-ui/react": {
|
|
23
|
+
"optional": true
|
|
24
|
+
},
|
|
25
|
+
"@floating-ui/react-dom": {
|
|
26
|
+
"optional": true
|
|
27
|
+
},
|
|
28
|
+
"framer-motion": {
|
|
29
|
+
"optional": true
|
|
30
|
+
},
|
|
31
|
+
"socket.io": {
|
|
32
|
+
"optional": true
|
|
33
|
+
},
|
|
34
|
+
"socket.io-client": {
|
|
35
|
+
"optional": true
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@emotion/react": "11.11.1",
|
|
40
|
+
"@testing-library/react": "14.0.0",
|
|
41
|
+
"@types/mock-fs": "4.13.1",
|
|
42
|
+
"@types/react": "18.2.21",
|
|
43
|
+
"@types/tmp": "0.2.4",
|
|
44
|
+
"concurrently": "8.2.1",
|
|
45
|
+
"eslint": "8.50.0",
|
|
46
|
+
"framer-motion": "10.16.4",
|
|
47
|
+
"happy-dom": "12.1.6",
|
|
48
|
+
"preact": "10.17.1",
|
|
49
|
+
"react": "18.2.0",
|
|
50
|
+
"react-dom": "18.2.0",
|
|
51
|
+
"react-router-dom": "6.16.0",
|
|
52
|
+
"socket.io": "4.7.2",
|
|
53
|
+
"socket.io-client": "4.7.2",
|
|
54
|
+
"tmp": "0.2.1",
|
|
55
|
+
"tsup": "7.2.0",
|
|
56
|
+
"typescript": "5.2.2",
|
|
57
|
+
"vite": "4.4.9",
|
|
58
|
+
"vite-tsconfig-paths": "4.2.1",
|
|
59
|
+
"vitest": "0.34.5"
|
|
60
|
+
},
|
|
5
61
|
"main": "dist/index.js",
|
|
6
62
|
"types": "dist/index.d.ts",
|
|
7
63
|
"module": "dist/index.mjs",
|
|
8
64
|
"files": [
|
|
9
65
|
"dist",
|
|
66
|
+
"internal/dist",
|
|
67
|
+
"internal/package.json",
|
|
68
|
+
"internal/src",
|
|
10
69
|
"introspection/dist",
|
|
11
70
|
"introspection/package.json",
|
|
71
|
+
"introspection/src",
|
|
12
72
|
"json/dist",
|
|
13
73
|
"json/package.json",
|
|
74
|
+
"json/src",
|
|
14
75
|
"react/dist",
|
|
15
76
|
"react/package.json",
|
|
77
|
+
"react/src",
|
|
16
78
|
"react-devtools/dist",
|
|
17
79
|
"react-devtools/package.json",
|
|
80
|
+
"react-devtools/src",
|
|
18
81
|
"realtime/dist",
|
|
19
82
|
"realtime/package.json",
|
|
83
|
+
"realtime/src",
|
|
20
84
|
"realtime-react/dist",
|
|
21
85
|
"realtime-react/package.json",
|
|
86
|
+
"realtime-react/src",
|
|
22
87
|
"realtime-testing/dist",
|
|
23
88
|
"realtime-testing/package.json",
|
|
24
|
-
"src"
|
|
89
|
+
"realtime-testing/src",
|
|
90
|
+
"src",
|
|
91
|
+
"transceivers/set-rtx/dist",
|
|
92
|
+
"transceivers/set-rtx/package.json",
|
|
93
|
+
"transceivers/set-rtx/src"
|
|
25
94
|
],
|
|
26
95
|
"exports": {
|
|
27
96
|
"./package.json": "./package.json",
|
|
@@ -31,6 +100,13 @@
|
|
|
31
100
|
"import": "./dist/index.mjs",
|
|
32
101
|
"require": "./dist/index.js"
|
|
33
102
|
},
|
|
103
|
+
"./internal/package.json": "./internal/package.json",
|
|
104
|
+
"./internal": {
|
|
105
|
+
"types": "./internal/dist/index.d.ts",
|
|
106
|
+
"browser": "./internal/dist/index.mjs",
|
|
107
|
+
"import": "./internal/dist/index.mjs",
|
|
108
|
+
"require": "./internal/dist/index.js"
|
|
109
|
+
},
|
|
34
110
|
"./introspection/package.json": "./json/package.json",
|
|
35
111
|
"./introspection": {
|
|
36
112
|
"types": "./json/dist/index.d.ts",
|
|
@@ -59,12 +135,12 @@
|
|
|
59
135
|
"import": "./react-devtools/dist/index.mjs",
|
|
60
136
|
"require": "./react-devtools/dist/index.js"
|
|
61
137
|
},
|
|
62
|
-
"./realtime/package.json": "./realtime/package.json",
|
|
63
|
-
"./realtime": {
|
|
64
|
-
"types": "./realtime/dist/index.d.ts",
|
|
65
|
-
"browser": "./realtime/dist/index.mjs",
|
|
66
|
-
"import": "./realtime/dist/index.mjs",
|
|
67
|
-
"require": "./realtime/dist/index.js"
|
|
138
|
+
"./realtime-client/package.json": "./realtime-client/package.json",
|
|
139
|
+
"./realtime-client": {
|
|
140
|
+
"types": "./realtime-client/dist/index.d.ts",
|
|
141
|
+
"browser": "./realtime-client/dist/index.mjs",
|
|
142
|
+
"import": "./realtime-client/dist/index.mjs",
|
|
143
|
+
"require": "./realtime-client/dist/index.js"
|
|
68
144
|
},
|
|
69
145
|
"./realtime-react/package.json": "./realtime-react/package.json",
|
|
70
146
|
"./realtime-react": {
|
|
@@ -73,6 +149,13 @@
|
|
|
73
149
|
"import": "./realtime-react/dist/index.mjs",
|
|
74
150
|
"require": "./realtime-react/dist/index.js"
|
|
75
151
|
},
|
|
152
|
+
"./realtime-server/package.json": "./realtime-server/package.json",
|
|
153
|
+
"./realtime-server": {
|
|
154
|
+
"types": "./realtime-server/dist/index.d.ts",
|
|
155
|
+
"browser": "./realtime-server/dist/index.mjs",
|
|
156
|
+
"import": "./realtime-server/dist/index.mjs",
|
|
157
|
+
"require": "./realtime-server/dist/index.js"
|
|
158
|
+
},
|
|
76
159
|
"./realtime-testing/package.json": "./realtime-testing/package.json",
|
|
77
160
|
"./realtime-testing": {
|
|
78
161
|
"types": "./realtime-testing/dist/index.d.ts",
|
|
@@ -80,60 +163,14 @@
|
|
|
80
163
|
"import": "./realtime-testing/dist/index.mjs",
|
|
81
164
|
"require": "./realtime-testing/dist/index.js"
|
|
82
165
|
},
|
|
83
|
-
"./
|
|
84
|
-
"./
|
|
85
|
-
"types": "./
|
|
86
|
-
"browser": "./
|
|
87
|
-
"import": "./
|
|
88
|
-
"require": "./
|
|
166
|
+
"./transceivers/set-rtx/package.json": "./transceivers/set-rtx/package.json",
|
|
167
|
+
"./transceivers/set-rtx": {
|
|
168
|
+
"types": "./transceivers/set-rtx/dist/index.d.ts",
|
|
169
|
+
"browser": "./transceivers/set-rtx/dist/index.mjs",
|
|
170
|
+
"import": "./transceivers/set-rtx/dist/index.mjs",
|
|
171
|
+
"require": "./transceivers/set-rtx/dist/index.js"
|
|
89
172
|
}
|
|
90
173
|
},
|
|
91
|
-
"peerDependencies": {
|
|
92
|
-
"preact": ">=10.0.0",
|
|
93
|
-
"react": ">=16.8.0",
|
|
94
|
-
"socket.io": ">=4.0.0",
|
|
95
|
-
"socket.io-client": ">=4.0.0"
|
|
96
|
-
},
|
|
97
|
-
"peerDependenciesMeta": {
|
|
98
|
-
"preact": {
|
|
99
|
-
"optional": true
|
|
100
|
-
},
|
|
101
|
-
"react": {
|
|
102
|
-
"optional": true
|
|
103
|
-
},
|
|
104
|
-
"socket.io": {
|
|
105
|
-
"optional": true
|
|
106
|
-
},
|
|
107
|
-
"socket.io-client": {
|
|
108
|
-
"optional": true
|
|
109
|
-
}
|
|
110
|
-
},
|
|
111
|
-
"dependencies": {
|
|
112
|
-
"fp-ts": "2.16.1"
|
|
113
|
-
},
|
|
114
|
-
"devDependencies": {
|
|
115
|
-
"@emotion/react": "11.11.1",
|
|
116
|
-
"@testing-library/react": "14.0.0",
|
|
117
|
-
"@types/mock-fs": "4.13.1",
|
|
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",
|
|
125
|
-
"react": "18.2.0",
|
|
126
|
-
"react-dom": "18.2.0",
|
|
127
|
-
"react-router-dom": "6.16.0",
|
|
128
|
-
"socket.io": "4.7.2",
|
|
129
|
-
"socket.io-client": "4.7.2",
|
|
130
|
-
"tmp": "0.2.1",
|
|
131
|
-
"tsup": "7.2.0",
|
|
132
|
-
"typescript": "5.2.2",
|
|
133
|
-
"vite": "4.4.9",
|
|
134
|
-
"vite-tsconfig-paths": "4.2.1",
|
|
135
|
-
"vitest": "0.34.4"
|
|
136
|
-
},
|
|
137
174
|
"repository": {
|
|
138
175
|
"type": "git",
|
|
139
176
|
"url": "git+https://github.com/jeremybanka/wayforge.git"
|
|
@@ -147,17 +184,20 @@
|
|
|
147
184
|
"scripts": {
|
|
148
185
|
"build": "concurrently \"npm:build:*\"",
|
|
149
186
|
"build:main": "tsup",
|
|
187
|
+
"build:internal": "cd internal && tsup",
|
|
150
188
|
"build:introspection": "cd introspection && tsup",
|
|
151
189
|
"build:json": "cd json && tsup",
|
|
152
190
|
"build:react": "cd react && tsup",
|
|
153
191
|
"build:react-devtools": "cd react-devtools && tsup",
|
|
154
|
-
"build:realtime": "cd realtime && tsup",
|
|
192
|
+
"build:realtime-client": "cd realtime-client && tsup",
|
|
155
193
|
"build:realtime-react": "cd realtime-react && tsup",
|
|
156
|
-
"build:
|
|
194
|
+
"build:realtime-server": "cd realtime-server && tsup",
|
|
195
|
+
"build:realtime-testing": "cd realtime-testing && tsup",
|
|
196
|
+
"build:transceivers:set-rtx": "cd transceivers/set-rtx && tsup",
|
|
157
197
|
"lint:biome": "biome check .",
|
|
158
198
|
"lint:eslint": "eslint .",
|
|
159
199
|
"lint": "npm run lint:biome && npm run lint:eslint",
|
|
160
200
|
"test": "vitest",
|
|
161
|
-
"test:once": "vitest run"
|
|
201
|
+
"test:once": "cross-env LIB=dist vitest run"
|
|
162
202
|
}
|
|
163
203
|
}
|
package/react/dist/index.d.mts
CHANGED
|
@@ -1,24 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Store } from 'atom.io/internal';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import { StateToken, ReadonlySelectorToken, MutableAtomToken } from 'atom.io';
|
|
4
|
+
import { Json } from 'atom.io/json';
|
|
3
5
|
|
|
4
|
-
declare const StoreContext: React.Context<
|
|
6
|
+
declare const StoreContext: React.Context<Store>;
|
|
5
7
|
declare const StoreProvider: React.FC<{
|
|
6
8
|
children: React.ReactNode;
|
|
7
|
-
store?:
|
|
9
|
+
store?: Store;
|
|
8
10
|
}>;
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
declare function useI<T>(token: StateToken<T>): <New extends T>(next: New | ((old: T) => New)) => void;
|
|
13
|
+
declare function useO<T>(token: ReadonlySelectorToken<T> | StateToken<T>): T;
|
|
14
|
+
declare function useJSON<Serializable extends Json.Serializable>(token: MutableAtomToken<any, Serializable>): Serializable;
|
|
11
15
|
|
|
12
|
-
|
|
13
|
-
useI: <T>(token: AtomIO.StateToken<T>) => (next: Modifier<T> | T) => void;
|
|
14
|
-
useO: <T>(token: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>) => T;
|
|
15
|
-
useIO: <T>(token: AtomIO.StateToken<T>) => [T, (next: Modifier<T> | T) => void];
|
|
16
|
-
};
|
|
17
|
-
declare const storeHooks: StoreHooks;
|
|
18
|
-
declare function useI<T>(token: AtomIO.StateToken<T>): (next: Modifier<T> | T) => void;
|
|
19
|
-
declare function useO<T>(token: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>): T;
|
|
20
|
-
declare function useIO<T>(token: AtomIO.StateToken<T>): [T, (next: Modifier<T> | T) => void];
|
|
21
|
-
declare function useStore<T>(token: AtomIO.StateToken<T>): [T, (next: Modifier<T> | T) => void];
|
|
22
|
-
declare function useStore<T>(token: AtomIO.ReadonlySelectorToken<T>): T;
|
|
23
|
-
|
|
24
|
-
export { StoreContext, StoreHooks, StoreProvider, storeHooks, useI, useIO, useO, useStore };
|
|
16
|
+
export { StoreContext, StoreProvider, useI, useJSON, useO };
|
package/react/dist/index.d.ts
CHANGED
|
@@ -1,24 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Store } from 'atom.io/internal';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import { StateToken, ReadonlySelectorToken, MutableAtomToken } from 'atom.io';
|
|
4
|
+
import { Json } from 'atom.io/json';
|
|
3
5
|
|
|
4
|
-
declare const StoreContext: React.Context<
|
|
6
|
+
declare const StoreContext: React.Context<Store>;
|
|
5
7
|
declare const StoreProvider: React.FC<{
|
|
6
8
|
children: React.ReactNode;
|
|
7
|
-
store?:
|
|
9
|
+
store?: Store;
|
|
8
10
|
}>;
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
declare function useI<T>(token: StateToken<T>): <New extends T>(next: New | ((old: T) => New)) => void;
|
|
13
|
+
declare function useO<T>(token: ReadonlySelectorToken<T> | StateToken<T>): T;
|
|
14
|
+
declare function useJSON<Serializable extends Json.Serializable>(token: MutableAtomToken<any, Serializable>): Serializable;
|
|
11
15
|
|
|
12
|
-
|
|
13
|
-
useI: <T>(token: AtomIO.StateToken<T>) => (next: Modifier<T> | T) => void;
|
|
14
|
-
useO: <T>(token: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>) => T;
|
|
15
|
-
useIO: <T>(token: AtomIO.StateToken<T>) => [T, (next: Modifier<T> | T) => void];
|
|
16
|
-
};
|
|
17
|
-
declare const storeHooks: StoreHooks;
|
|
18
|
-
declare function useI<T>(token: AtomIO.StateToken<T>): (next: Modifier<T> | T) => void;
|
|
19
|
-
declare function useO<T>(token: AtomIO.ReadonlySelectorToken<T> | AtomIO.StateToken<T>): T;
|
|
20
|
-
declare function useIO<T>(token: AtomIO.StateToken<T>): [T, (next: Modifier<T> | T) => void];
|
|
21
|
-
declare function useStore<T>(token: AtomIO.StateToken<T>): [T, (next: Modifier<T> | T) => void];
|
|
22
|
-
declare function useStore<T>(token: AtomIO.ReadonlySelectorToken<T>): T;
|
|
23
|
-
|
|
24
|
-
export { StoreContext, StoreHooks, StoreProvider, storeHooks, useI, useIO, useO, useStore };
|
|
16
|
+
export { StoreContext, StoreProvider, useI, useJSON, useO };
|
package/react/dist/index.js
CHANGED
|
@@ -1,38 +1,55 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var internal = require('atom.io/internal');
|
|
4
|
+
var React2 = require('react');
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var atom_io = require('atom.io');
|
|
6
7
|
|
|
7
8
|
function _interopNamespace(e) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
9
|
+
if (e && e.__esModule) return e;
|
|
10
|
+
var n = Object.create(null);
|
|
11
|
+
if (e) {
|
|
12
|
+
Object.keys(e).forEach(function (k) {
|
|
13
|
+
if (k !== 'default') {
|
|
14
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return e[k]; }
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
n.default = e;
|
|
23
|
+
return Object.freeze(n);
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
var
|
|
26
|
-
var o__namespace = /*#__PURE__*/_interopNamespace(o);
|
|
26
|
+
var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
// src/store-context.tsx
|
|
29
|
+
var StoreContext = React2__namespace.createContext(internal.IMPLICIT.STORE);
|
|
30
|
+
var StoreProvider = ({ children, store = internal.IMPLICIT.STORE }) => /* @__PURE__ */ jsxRuntime.jsx(StoreContext.Provider, { value: store, children });
|
|
31
|
+
function useI(token) {
|
|
32
|
+
const store = React2__namespace.useContext(StoreContext);
|
|
33
|
+
return (next) => atom_io.setState(token, next, store);
|
|
34
|
+
}
|
|
35
|
+
function useO(token) {
|
|
36
|
+
const store = React2__namespace.useContext(StoreContext);
|
|
37
|
+
const id = React2__namespace.useId();
|
|
38
|
+
return React2__namespace.useSyncExternalStore(
|
|
39
|
+
(dispatch) => atom_io.subscribe(token, dispatch, `use-o:${id}`, store),
|
|
40
|
+
() => atom_io.getState(token, store),
|
|
41
|
+
() => atom_io.getState(token, store)
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
function useJSON(token) {
|
|
45
|
+
const jsonToken = internal.getJsonToken(token);
|
|
46
|
+
return useO(jsonToken);
|
|
47
|
+
}
|
|
29
48
|
|
|
30
|
-
exports.StoreContext =
|
|
31
|
-
exports.StoreProvider =
|
|
32
|
-
exports.
|
|
33
|
-
exports.
|
|
34
|
-
exports.
|
|
35
|
-
exports.useO = s;
|
|
36
|
-
exports.useStore = f;
|
|
49
|
+
exports.StoreContext = StoreContext;
|
|
50
|
+
exports.StoreProvider = StoreProvider;
|
|
51
|
+
exports.useI = useI;
|
|
52
|
+
exports.useJSON = useJSON;
|
|
53
|
+
exports.useO = useO;
|
|
37
54
|
//# sourceMappingURL=out.js.map
|
|
38
55
|
//# sourceMappingURL=index.js.map
|
package/react/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/store-context.tsx","../src/store-hooks.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../src/store-context.tsx","../src/store-hooks.ts"],"names":["React"],"mappings":";AACA,SAAS,gBAAgB;AACzB,YAAY,WAAW;AAQtB;AANM,IAAM,eAAqB,oBAAqB,SAAS,KAAK;AAE9D,IAAM,gBAGR,CAAC,EAAE,UAAU,QAAQ,SAAS,MAAM,MACxC,oBAAC,aAAa,UAAb,EAAsB,OAAO,OAAQ,UAAS;;;ACVhD,YAAYA,YAAW;AAEvB,SAAS,UAAU,UAAU,iBAAiB;AAO9C,SAAS,oBAAoB;AAItB,SAAS,KACf,OACyD;AACzD,QAAM,QAAc,kBAAW,YAAY;AAC3C,SAAO,CAAC,SAAS,SAAS,OAAO,MAAM,KAAK;AAC7C;AAEO,SAAS,KAAQ,OAAoD;AAC3E,QAAM,QAAc,kBAAW,YAAY;AAC3C,QAAM,KAAW,aAAM;AACvB,SAAa;AAAA,IACZ,CAAC,aAAa,UAAU,OAAO,UAAU,SAAS,EAAE,IAAI,KAAK;AAAA,IAC7D,MAAM,SAAS,OAAO,KAAK;AAAA,IAC3B,MAAM,SAAS,OAAO,KAAK;AAAA,EAC5B;AACD;AAEO,SAAS,QACf,OACe;AACf,QAAM,YAAY,aAAa,KAAK;AACpC,SAAO,KAAK,SAAS;AACtB","sourcesContent":["import type { Store } from \"atom.io/internal\"\nimport { IMPLICIT } from \"atom.io/internal\"\nimport * as React from \"react\"\n\nexport const StoreContext = React.createContext<Store>(IMPLICIT.STORE)\n\nexport const StoreProvider: React.FC<{\n\tchildren: React.ReactNode\n\tstore?: Store\n}> = ({ children, store = IMPLICIT.STORE }) => (\n\t<StoreContext.Provider value={store}>{children}</StoreContext.Provider>\n)\n","import * as React from \"react\"\n\nimport { getState, setState, subscribe } from \"atom.io\"\nimport type {\n\tMutableAtomToken,\n\tReadonlySelectorToken,\n\tStateToken,\n} from \"atom.io\"\n\nimport { getJsonToken } from \"atom.io/internal\"\nimport type { Json } from \"atom.io/json\"\nimport { StoreContext } from \"./store-context\"\n\nexport function useI<T>(\n\ttoken: StateToken<T>,\n): <New extends T>(next: New | ((old: T) => New)) => void {\n\tconst store = React.useContext(StoreContext)\n\treturn (next) => setState(token, next, store)\n}\n\nexport function useO<T>(token: ReadonlySelectorToken<T> | StateToken<T>): T {\n\tconst store = React.useContext(StoreContext)\n\tconst id = React.useId()\n\treturn React.useSyncExternalStore<T>(\n\t\t(dispatch) => subscribe(token, dispatch, `use-o:${id}`, store),\n\t\t() => getState(token, store),\n\t\t() => getState(token, store),\n\t)\n}\n\nexport function useJSON<Serializable extends Json.Serializable,>(\n\ttoken: MutableAtomToken<any, Serializable>,\n): Serializable {\n\tconst jsonToken = getJsonToken(token)\n\treturn useO(jsonToken)\n}\n"]}
|
package/react/dist/index.mjs
CHANGED
|
@@ -1,9 +1,29 @@
|
|
|
1
|
-
import
|
|
2
|
-
import * as
|
|
1
|
+
import { IMPLICIT, getJsonToken } from 'atom.io/internal';
|
|
2
|
+
import * as React2 from 'react';
|
|
3
3
|
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
import { setState, subscribe, getState } from 'atom.io';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
// src/store-context.tsx
|
|
7
|
+
var StoreContext = React2.createContext(IMPLICIT.STORE);
|
|
8
|
+
var StoreProvider = ({ children, store = IMPLICIT.STORE }) => /* @__PURE__ */ jsx(StoreContext.Provider, { value: store, children });
|
|
9
|
+
function useI(token) {
|
|
10
|
+
const store = React2.useContext(StoreContext);
|
|
11
|
+
return (next) => setState(token, next, store);
|
|
12
|
+
}
|
|
13
|
+
function useO(token) {
|
|
14
|
+
const store = React2.useContext(StoreContext);
|
|
15
|
+
const id = React2.useId();
|
|
16
|
+
return React2.useSyncExternalStore(
|
|
17
|
+
(dispatch) => subscribe(token, dispatch, `use-o:${id}`, store),
|
|
18
|
+
() => getState(token, store),
|
|
19
|
+
() => getState(token, store)
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
function useJSON(token) {
|
|
23
|
+
const jsonToken = getJsonToken(token);
|
|
24
|
+
return useO(jsonToken);
|
|
25
|
+
}
|
|
6
26
|
|
|
7
|
-
export {
|
|
27
|
+
export { StoreContext, StoreProvider, useI, useJSON, useO };
|
|
8
28
|
//# sourceMappingURL=out.js.map
|
|
9
29
|
//# sourceMappingURL=index.mjs.map
|
package/react/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/store-context.tsx","../src/store-hooks.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../src/store-context.tsx","../src/store-hooks.ts"],"names":["React"],"mappings":";AACA,SAAS,gBAAgB;AACzB,YAAY,WAAW;AAQtB;AANM,IAAM,eAAqB,oBAAqB,SAAS,KAAK;AAE9D,IAAM,gBAGR,CAAC,EAAE,UAAU,QAAQ,SAAS,MAAM,MACxC,oBAAC,aAAa,UAAb,EAAsB,OAAO,OAAQ,UAAS;;;ACVhD,YAAYA,YAAW;AAEvB,SAAS,UAAU,UAAU,iBAAiB;AAO9C,SAAS,oBAAoB;AAItB,SAAS,KACf,OACyD;AACzD,QAAM,QAAc,kBAAW,YAAY;AAC3C,SAAO,CAAC,SAAS,SAAS,OAAO,MAAM,KAAK;AAC7C;AAEO,SAAS,KAAQ,OAAoD;AAC3E,QAAM,QAAc,kBAAW,YAAY;AAC3C,QAAM,KAAW,aAAM;AACvB,SAAa;AAAA,IACZ,CAAC,aAAa,UAAU,OAAO,UAAU,SAAS,EAAE,IAAI,KAAK;AAAA,IAC7D,MAAM,SAAS,OAAO,KAAK;AAAA,IAC3B,MAAM,SAAS,OAAO,KAAK;AAAA,EAC5B;AACD;AAEO,SAAS,QACf,OACe;AACf,QAAM,YAAY,aAAa,KAAK;AACpC,SAAO,KAAK,SAAS;AACtB","sourcesContent":["import type { Store } from \"atom.io/internal\"\nimport { IMPLICIT } from \"atom.io/internal\"\nimport * as React from \"react\"\n\nexport const StoreContext = React.createContext<Store>(IMPLICIT.STORE)\n\nexport const StoreProvider: React.FC<{\n\tchildren: React.ReactNode\n\tstore?: Store\n}> = ({ children, store = IMPLICIT.STORE }) => (\n\t<StoreContext.Provider value={store}>{children}</StoreContext.Provider>\n)\n","import * as React from \"react\"\n\nimport { getState, setState, subscribe } from \"atom.io\"\nimport type {\n\tMutableAtomToken,\n\tReadonlySelectorToken,\n\tStateToken,\n} from \"atom.io\"\n\nimport { getJsonToken } from \"atom.io/internal\"\nimport type { Json } from \"atom.io/json\"\nimport { StoreContext } from \"./store-context\"\n\nexport function useI<T>(\n\ttoken: StateToken<T>,\n): <New extends T>(next: New | ((old: T) => New)) => void {\n\tconst store = React.useContext(StoreContext)\n\treturn (next) => setState(token, next, store)\n}\n\nexport function useO<T>(token: ReadonlySelectorToken<T> | StateToken<T>): T {\n\tconst store = React.useContext(StoreContext)\n\tconst id = React.useId()\n\treturn React.useSyncExternalStore<T>(\n\t\t(dispatch) => subscribe(token, dispatch, `use-o:${id}`, store),\n\t\t() => getState(token, store),\n\t\t() => getState(token, store),\n\t)\n}\n\nexport function useJSON<Serializable extends Json.Serializable,>(\n\ttoken: MutableAtomToken<any, Serializable>,\n): Serializable {\n\tconst jsonToken = getJsonToken(token)\n\treturn useO(jsonToken)\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Store } from "atom.io/internal"
|
|
2
|
+
import { IMPLICIT } from "atom.io/internal"
|
|
3
|
+
import * as React from "react"
|
|
4
|
+
|
|
5
|
+
export const StoreContext = React.createContext<Store>(IMPLICIT.STORE)
|
|
6
|
+
|
|
7
|
+
export const StoreProvider: React.FC<{
|
|
8
|
+
children: React.ReactNode
|
|
9
|
+
store?: Store
|
|
10
|
+
}> = ({ children, store = IMPLICIT.STORE }) => (
|
|
11
|
+
<StoreContext.Provider value={store}>{children}</StoreContext.Provider>
|
|
12
|
+
)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as React from "react"
|
|
2
|
+
|
|
3
|
+
import { getState, setState, subscribe } from "atom.io"
|
|
4
|
+
import type {
|
|
5
|
+
MutableAtomToken,
|
|
6
|
+
ReadonlySelectorToken,
|
|
7
|
+
StateToken,
|
|
8
|
+
} from "atom.io"
|
|
9
|
+
|
|
10
|
+
import { getJsonToken } from "atom.io/internal"
|
|
11
|
+
import type { Json } from "atom.io/json"
|
|
12
|
+
import { StoreContext } from "./store-context"
|
|
13
|
+
|
|
14
|
+
export function useI<T>(
|
|
15
|
+
token: StateToken<T>,
|
|
16
|
+
): <New extends T>(next: New | ((old: T) => New)) => void {
|
|
17
|
+
const store = React.useContext(StoreContext)
|
|
18
|
+
return (next) => setState(token, next, store)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function useO<T>(token: ReadonlySelectorToken<T> | StateToken<T>): T {
|
|
22
|
+
const store = React.useContext(StoreContext)
|
|
23
|
+
const id = React.useId()
|
|
24
|
+
return React.useSyncExternalStore<T>(
|
|
25
|
+
(dispatch) => subscribe(token, dispatch, `use-o:${id}`, store),
|
|
26
|
+
() => getState(token, store),
|
|
27
|
+
() => getState(token, store),
|
|
28
|
+
)
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function useJSON<Serializable extends Json.Serializable,>(
|
|
32
|
+
token: MutableAtomToken<any, Serializable>,
|
|
33
|
+
): Serializable {
|
|
34
|
+
const jsonToken = getJsonToken(token)
|
|
35
|
+
return useO(jsonToken)
|
|
36
|
+
}
|
|
@@ -1,2 +1,51 @@
|
|
|
1
|
-
|
|
1
|
+
/* ../../hamr/src/react-data-designer/RelationEditor.module.scss */
|
|
2
|
+
.class {
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-flow: row wrap;
|
|
5
|
+
gap: 4px;
|
|
6
|
+
section { display: flex; flex-flow: row; margin-bottom: 1rem; border: 1px solid #ccc; padding: 2px; margin: 0; span { display: flex; } };
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/* src/devtools.scss */
|
|
10
|
+
main.atom_io_devtools {
|
|
11
|
+
--fg-color: #eee;
|
|
12
|
+
--bg-color: #111;
|
|
13
|
+
--bg-tint1: #222;
|
|
14
|
+
--fg-border: 1px solid var(--fg-color);
|
|
15
|
+
@media (prefers-color-scheme: light) {
|
|
16
|
+
--fg-color: #444;
|
|
17
|
+
--bg-color: #ddd;
|
|
18
|
+
--bg-tint1: #e3e3e3;
|
|
19
|
+
}
|
|
20
|
+
box-sizing: border-box;
|
|
21
|
+
color: var(--fg-color);
|
|
22
|
+
background-color: var(--bg-color);
|
|
23
|
+
border: 2px solid var(--fg-color);
|
|
24
|
+
position: fixed;
|
|
25
|
+
right: 0;
|
|
26
|
+
bottom: 0;
|
|
27
|
+
height: 100%;
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-flow: column;
|
|
30
|
+
max-height: 800px;
|
|
31
|
+
width: 100%;
|
|
32
|
+
max-width: 500px;
|
|
33
|
+
overflow-y: scroll;
|
|
34
|
+
* {
|
|
35
|
+
font-size: 16px;
|
|
36
|
+
font-family: theia, monospace;
|
|
37
|
+
}
|
|
38
|
+
> header {
|
|
39
|
+
padding: 5px;
|
|
40
|
+
padding-left: 10px;
|
|
41
|
+
padding-bottom: 0;
|
|
42
|
+
display: flex;
|
|
43
|
+
justify-content: space-between;
|
|
44
|
+
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; } } };
|
|
45
|
+
}
|
|
46
|
+
> main {
|
|
47
|
+
background: var(--bg-tint1);
|
|
48
|
+
}
|
|
49
|
+
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; } } } };
|
|
50
|
+
}
|
|
2
51
|
/*# sourceMappingURL=index.css.map */
|