atom.io 0.6.8 → 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.
Files changed (214) hide show
  1. package/README.md +21 -2
  2. package/dist/index.d.mts +42 -461
  3. package/dist/index.d.ts +42 -461
  4. package/dist/index.js +128 -1792
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +75 -1742
  7. package/dist/index.mjs.map +1 -1
  8. package/internal/dist/index.d.mts +342 -0
  9. package/internal/dist/index.d.ts +342 -0
  10. package/internal/dist/index.js +1873 -0
  11. package/internal/dist/index.js.map +1 -0
  12. package/internal/dist/index.mjs +1798 -0
  13. package/internal/dist/index.mjs.map +1 -0
  14. package/internal/package.json +15 -0
  15. package/internal/src/atom/create-atom.ts +75 -0
  16. package/internal/src/atom/delete-atom.ts +10 -0
  17. package/internal/src/atom/index.ts +3 -0
  18. package/{src/internal → internal/src/atom}/is-default.ts +4 -2
  19. package/internal/src/caching.ts +21 -0
  20. package/internal/src/families/create-atom-family.ts +59 -0
  21. package/internal/src/families/create-readonly-selector-family.ts +45 -0
  22. package/internal/src/families/create-selector-family.ts +67 -0
  23. package/internal/src/families/index.ts +3 -0
  24. package/internal/src/get-state-internal.ts +23 -0
  25. package/internal/src/index.ts +13 -0
  26. package/internal/src/mutable/create-mutable-atom-family.ts +25 -0
  27. package/internal/src/mutable/create-mutable-atom.ts +49 -0
  28. package/internal/src/mutable/get-json-token.ts +22 -0
  29. package/internal/src/mutable/get-update-token.ts +20 -0
  30. package/internal/src/mutable/index.ts +17 -0
  31. package/internal/src/mutable/is-atom-token-mutable.ts +7 -0
  32. package/internal/src/mutable/tracker-family.ts +61 -0
  33. package/internal/src/mutable/tracker.ts +164 -0
  34. package/internal/src/mutable/transceiver.ts +110 -0
  35. package/internal/src/operation.ts +68 -0
  36. package/{src/internal → internal/src}/selector/create-read-write-selector.ts +10 -13
  37. package/{src/internal → internal/src}/selector/create-readonly-selector.ts +9 -8
  38. package/internal/src/selector/create-selector.ts +65 -0
  39. package/{src/internal → internal/src}/selector/index.ts +1 -0
  40. package/internal/src/selector/lookup-selector-sources.ts +20 -0
  41. package/{src/internal → internal/src}/selector/register-selector.ts +13 -9
  42. package/{src/internal → internal/src}/selector/trace-selector-atoms.ts +4 -2
  43. package/{src/internal → internal/src}/selector/update-selector-atoms.ts +4 -3
  44. package/internal/src/set-state/become.ts +10 -0
  45. package/internal/src/set-state/copy-mutable-if-needed.ts +23 -0
  46. package/internal/src/set-state/copy-mutable-in-transaction.ts +59 -0
  47. package/internal/src/set-state/copy-mutable-into-new-store.ts +34 -0
  48. package/internal/src/set-state/emit-update.ts +23 -0
  49. package/internal/src/set-state/evict-downstream.ts +39 -0
  50. package/internal/src/set-state/index.ts +2 -0
  51. package/internal/src/set-state/set-atom-state.ts +38 -0
  52. package/internal/src/set-state/set-selector-state.ts +19 -0
  53. package/internal/src/set-state/set-state-internal.ts +18 -0
  54. package/internal/src/set-state/stow-update.ts +42 -0
  55. package/internal/src/store/deposit.ts +43 -0
  56. package/internal/src/store/index.ts +5 -0
  57. package/internal/src/store/lookup.ts +26 -0
  58. package/internal/src/store/store.ts +154 -0
  59. package/internal/src/store/withdraw-new-family-member.ts +53 -0
  60. package/internal/src/store/withdraw.ts +113 -0
  61. package/internal/src/subject.ts +21 -0
  62. package/internal/src/subscribe/index.ts +1 -0
  63. package/internal/src/subscribe/recall-state.ts +19 -0
  64. package/internal/src/subscribe/subscribe-to-root-atoms.ts +47 -0
  65. package/{src/internal → internal/src}/timeline/add-atom-to-timeline.ts +50 -29
  66. package/internal/src/timeline/index.ts +3 -0
  67. package/{src/internal → internal/src/timeline}/time-travel-internal.ts +6 -6
  68. package/{src/internal → internal/src/timeline}/timeline-internal.ts +20 -12
  69. package/{src/internal → internal/src}/transaction/abort-transaction.ts +1 -1
  70. package/{src/internal → internal/src}/transaction/apply-transaction.ts +25 -18
  71. package/{src/internal → internal/src}/transaction/build-transaction.ts +12 -6
  72. package/{src/internal → internal/src}/transaction/index.ts +3 -2
  73. package/{src/internal → internal/src}/transaction/redo-transaction.ts +4 -5
  74. package/{src/internal → internal/src/transaction}/transaction-internal.ts +16 -13
  75. package/{src/internal → internal/src}/transaction/undo-transaction.ts +4 -5
  76. package/introspection/dist/index.d.mts +12 -260
  77. package/introspection/dist/index.d.ts +12 -260
  78. package/introspection/dist/index.js +125 -140
  79. package/introspection/dist/index.js.map +1 -1
  80. package/introspection/dist/index.mjs +103 -116
  81. package/introspection/dist/index.mjs.map +1 -1
  82. package/{src/introspection → introspection/src}/attach-atom-index.ts +41 -30
  83. package/{src/introspection → introspection/src}/attach-introspection-states.ts +6 -10
  84. package/introspection/src/attach-selector-index.ts +90 -0
  85. package/{src/introspection → introspection/src}/attach-timeline-family.ts +16 -16
  86. package/introspection/src/attach-timeline-index.ts +38 -0
  87. package/introspection/src/attach-transaction-index.ts +40 -0
  88. package/{src/introspection → introspection/src}/attach-transaction-logs.ts +11 -8
  89. package/json/dist/index.d.mts +41 -2
  90. package/json/dist/index.d.ts +41 -2
  91. package/json/dist/index.js +88 -48
  92. package/json/dist/index.js.map +1 -1
  93. package/json/dist/index.mjs +76 -13
  94. package/json/dist/index.mjs.map +1 -1
  95. package/json/src/index.ts +5 -0
  96. package/json/src/select-json-family.ts +35 -0
  97. package/json/src/select-json.ts +22 -0
  98. package/package.json +105 -57
  99. package/react/dist/index.d.mts +9 -17
  100. package/react/dist/index.d.ts +9 -17
  101. package/react/dist/index.js +45 -77
  102. package/react/dist/index.js.map +1 -1
  103. package/react/dist/index.mjs +18 -34
  104. package/react/dist/index.mjs.map +1 -1
  105. package/react/src/store-context.tsx +12 -0
  106. package/react/src/store-hooks.ts +36 -0
  107. package/react-devtools/dist/index.css +1 -1
  108. package/react-devtools/dist/index.css.map +1 -1
  109. package/react-devtools/dist/index.d.mts +199 -230
  110. package/react-devtools/dist/index.d.ts +199 -230
  111. package/react-devtools/dist/index.js +610 -2466
  112. package/react-devtools/dist/index.js.map +1 -1
  113. package/react-devtools/dist/index.mjs +543 -2401
  114. package/react-devtools/dist/index.mjs.map +1 -1
  115. package/{src/react-devtools → react-devtools/src}/AtomIODevtools.tsx +5 -3
  116. package/{src/react-devtools → react-devtools/src}/Button.tsx +2 -3
  117. package/{src/react-devtools → react-devtools/src}/StateEditor.tsx +3 -2
  118. package/{src/react-devtools → react-devtools/src}/StateIndex.tsx +7 -4
  119. package/{src/react-devtools → react-devtools/src}/TimelineIndex.tsx +7 -11
  120. package/{src/react-devtools → react-devtools/src}/TransactionIndex.tsx +4 -4
  121. package/{src/react-devtools → react-devtools/src}/Updates.tsx +9 -4
  122. package/{src/react-devtools → react-devtools/src}/index.ts +5 -5
  123. package/realtime-react/dist/index.d.mts +9 -25
  124. package/realtime-react/dist/index.d.ts +9 -25
  125. package/realtime-react/dist/index.js +75 -193
  126. package/realtime-react/dist/index.js.map +1 -1
  127. package/realtime-react/dist/index.mjs +44 -148
  128. package/realtime-react/dist/index.mjs.map +1 -1
  129. package/realtime-react/src/index.ts +7 -0
  130. package/{src/realtime-react → realtime-react/src}/realtime-context.tsx +3 -4
  131. package/realtime-react/src/use-pull-family-member.ts +15 -0
  132. package/realtime-react/src/use-pull-mutable-family-member.ts +20 -0
  133. package/realtime-react/src/use-pull-mutable.ts +17 -0
  134. package/realtime-react/src/use-pull.ts +15 -0
  135. package/realtime-react/src/use-push.ts +19 -0
  136. package/realtime-react/src/use-server-action.ts +18 -0
  137. package/realtime-testing/dist/index.d.mts +49 -0
  138. package/realtime-testing/dist/index.d.ts +49 -0
  139. package/realtime-testing/dist/index.js +147 -0
  140. package/realtime-testing/dist/index.js.map +1 -0
  141. package/realtime-testing/dist/index.mjs +116 -0
  142. package/realtime-testing/dist/index.mjs.map +1 -0
  143. package/{src/realtime-testing → realtime-testing/src}/setup-realtime-test.tsx +10 -8
  144. package/src/atom.ts +64 -8
  145. package/src/index.ts +36 -29
  146. package/src/logger.ts +7 -7
  147. package/src/selector.ts +5 -5
  148. package/src/silo.ts +49 -43
  149. package/src/subscribe.ts +27 -22
  150. package/src/timeline.ts +9 -4
  151. package/src/transaction.ts +3 -4
  152. package/transceivers/set-rtx/dist/index.d.mts +39 -0
  153. package/transceivers/set-rtx/dist/index.d.ts +39 -0
  154. package/transceivers/set-rtx/dist/index.js +213 -0
  155. package/transceivers/set-rtx/dist/index.js.map +1 -0
  156. package/transceivers/set-rtx/dist/index.mjs +211 -0
  157. package/transceivers/set-rtx/dist/index.mjs.map +1 -0
  158. package/{realtime → transceivers/set-rtx}/package.json +1 -1
  159. package/transceivers/set-rtx/src/index.ts +1 -0
  160. package/transceivers/set-rtx/src/set-rtx.ts +242 -0
  161. package/realtime/dist/index.d.mts +0 -25
  162. package/realtime/dist/index.d.ts +0 -25
  163. package/realtime/dist/index.js +0 -190
  164. package/realtime/dist/index.js.map +0 -1
  165. package/realtime/dist/index.mjs +0 -151
  166. package/realtime/dist/index.mjs.map +0 -1
  167. package/src/internal/atom-internal.ts +0 -54
  168. package/src/internal/families-internal.ts +0 -144
  169. package/src/internal/get.ts +0 -129
  170. package/src/internal/index.ts +0 -15
  171. package/src/internal/operation.ts +0 -139
  172. package/src/internal/selector/lookup-selector-sources.ts +0 -16
  173. package/src/internal/selector-internal.ts +0 -58
  174. package/src/internal/set.ts +0 -99
  175. package/src/internal/store.ts +0 -151
  176. package/src/internal/subscribe-internal.ts +0 -88
  177. package/src/internal/timeline/index.ts +0 -1
  178. package/src/introspection/attach-selector-index.ts +0 -77
  179. package/src/introspection/attach-timeline-index.ts +0 -36
  180. package/src/introspection/attach-transaction-index.ts +0 -38
  181. package/src/json/index.ts +0 -1
  182. package/src/json/select-json.ts +0 -18
  183. package/src/react/store-context.tsx +0 -13
  184. package/src/react/store-hooks.ts +0 -47
  185. package/src/react-explorer/AtomIOExplorer.tsx +0 -218
  186. package/src/react-explorer/explorer-effects.ts +0 -20
  187. package/src/react-explorer/explorer-states.ts +0 -217
  188. package/src/react-explorer/index.ts +0 -23
  189. package/src/react-explorer/space-states.ts +0 -72
  190. package/src/react-explorer/view-states.ts +0 -41
  191. package/src/realtime/README.md +0 -33
  192. package/src/realtime/hook-composition/expose-family.ts +0 -101
  193. package/src/realtime/hook-composition/expose-single.ts +0 -38
  194. package/src/realtime/hook-composition/expose-timeline.ts +0 -60
  195. package/src/realtime/hook-composition/index.ts +0 -12
  196. package/src/realtime/hook-composition/receive-state.ts +0 -29
  197. package/src/realtime/hook-composition/receive-transaction.ts +0 -18
  198. package/src/realtime/index.ts +0 -1
  199. package/src/realtime-react/index.ts +0 -3
  200. package/src/realtime-react/realtime-hooks.ts +0 -39
  201. package/src/realtime-react/realtime-state.ts +0 -10
  202. package/src/realtime-react/use-pull-family-member.ts +0 -26
  203. package/src/realtime-react/use-pull-family.ts +0 -24
  204. package/src/realtime-react/use-pull.ts +0 -24
  205. package/src/realtime-react/use-push.ts +0 -27
  206. package/src/realtime-react/use-server-action.ts +0 -33
  207. package/src/tracker/index.ts +0 -3
  208. package/src/tracker/tracker.ts +0 -61
  209. package/src/web-effects/index.ts +0 -1
  210. package/src/web-effects/storage.ts +0 -30
  211. /package/{src/introspection → introspection/src}/index.ts +0 -0
  212. /package/{src/react → react/src}/index.ts +0 -0
  213. /package/{src/react-devtools → react-devtools/src}/devtools.scss +0 -0
  214. /package/{src/realtime-testing → realtime-testing/src}/index.ts +0 -0
@@ -1,11 +1,38 @@
1
- var __create = Object.create;
1
+ 'use strict';
2
+
3
+ var atom_io = require('atom.io');
4
+ var introspection = require('atom.io/introspection');
5
+ var webEffects = require('atom.io/web-effects');
6
+ var react = require('atom.io/react');
7
+ var framerMotion = require('framer-motion');
8
+ var React = require('react');
9
+ var jsxRuntime = require('react/jsx-runtime');
10
+ var react$1 = require('@floating-ui/react');
11
+
12
+ function _interopNamespace(e) {
13
+ if (e && e.__esModule) return e;
14
+ var n = Object.create(null);
15
+ if (e) {
16
+ Object.keys(e).forEach(function (k) {
17
+ if (k !== 'default') {
18
+ var d = Object.getOwnPropertyDescriptor(e, k);
19
+ Object.defineProperty(n, k, d.get ? d : {
20
+ enumerable: true,
21
+ get: function () { return e[k]; }
22
+ });
23
+ }
24
+ });
25
+ }
26
+ n.default = e;
27
+ return Object.freeze(n);
28
+ }
29
+
30
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
31
+
2
32
  var __defProp = Object.defineProperty;
3
33
  var __defProps = Object.defineProperties;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
34
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
35
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
- var __getProtoOf = Object.getPrototypeOf;
9
36
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
37
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
38
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -23,104 +50,48 @@ var __spreadValues = (a2, b2) => {
23
50
  var __spreadProps = (a2, b2) => __defProps(a2, __getOwnPropDescs(b2));
24
51
  var __restKey = (key) => typeof key === "symbol" ? key : key + "";
25
52
  var __objRest = (source, exclude) => {
26
- var target2 = {};
53
+ var target = {};
27
54
  for (var prop in source)
28
55
  if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
29
- target2[prop] = source[prop];
56
+ target[prop] = source[prop];
30
57
  if (source != null && __getOwnPropSymbols)
31
58
  for (var prop of __getOwnPropSymbols(source)) {
32
59
  if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
33
- target2[prop] = source[prop];
60
+ target[prop] = source[prop];
34
61
  }
35
- return target2;
62
+ return target;
36
63
  };
37
- var __export = (target2, all) => {
38
- for (var name in all)
39
- __defProp(target2, name, { get: all[name], enumerable: true });
40
- };
41
- var __copyProps = (to, from, except, desc) => {
42
- if (from && typeof from === "object" || typeof from === "function") {
43
- for (let key of __getOwnPropNames(from))
44
- if (!__hasOwnProp.call(to, key) && key !== except)
45
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
46
- }
47
- return to;
48
- };
49
- var __toESM = (mod, isNodeMode, target2) => (target2 = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
50
- // If the importer is in node compatibility mode or this is not an ESM
51
- // file that has been converted to a CommonJS file using a Babel-
52
- // compatible transform (i.e. "__esModule" has not been set), then set
53
- // "default" to the CommonJS "module.exports" for node compatibility.
54
- isNodeMode || !mod || !mod.__esModule ? __defProp(target2, "default", { value: mod, enumerable: true }) : target2,
55
- mod
56
- ));
57
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
58
-
59
- // ../src/react-devtools/index.ts
60
- var react_devtools_exports = {};
61
- __export(react_devtools_exports, {
62
- AtomIODevtools: () => AtomIODevtools,
63
- atomIndex: () => atomIndex,
64
- devtoolsAreOpenState: () => devtoolsAreOpenState,
65
- devtoolsViewOptionsState: () => devtoolsViewOptionsState,
66
- devtoolsViewSelectionState: () => devtoolsViewSelectionState,
67
- findTimelineState: () => findTimelineState,
68
- findTransactionLogState: () => findTransactionLogState,
69
- findViewIsOpenState: () => findViewIsOpenState,
70
- jsonTreeRefinery: () => jsonTreeRefinery,
71
- prettyJson: () => prettyJson,
72
- primitiveRefinery: () => primitiveRefinery,
73
- selectorIndex: () => selectorIndex,
74
- timelineIndex: () => timelineIndex,
75
- transactionIndex: () => transactionIndex
76
- });
77
- module.exports = __toCommonJS(react_devtools_exports);
78
-
79
- // ../../anvl/src/object/index.ts
80
- var import_function4 = require("fp-ts/function");
81
-
82
- // ../../anvl/src/object/refinement.ts
83
- var import_function2 = require("fp-ts/function");
84
64
 
85
- // ../../anvl/src/object/access.ts
86
- var access = (k) => Object.assign((obj) => obj[k], {
87
- in: (obj) => obj[k]
88
- });
89
-
90
- // ../../anvl/src/object/entries.ts
91
- var recordToEntries = (obj) => Object.entries(obj);
92
- var entriesToRecord = (entries) => Object.fromEntries(entries);
93
-
94
- // ../../anvl/src/object/mapObject.ts
95
- var import_function = require("fp-ts/function");
96
-
97
- // ../../anvl/src/array/venn.ts
98
- var includesAll = (items) => (array) => {
99
- for (const item of items) {
100
- if (!array.includes(item))
101
- return false;
65
+ // ../../anvl/src/function/pipe.ts
66
+ function pipe(a2, ab, bc, cd, de, ef, fg, gh, hi) {
67
+ switch (arguments.length) {
68
+ case 1:
69
+ return a2;
70
+ case 2:
71
+ return ab(a2);
72
+ case 3:
73
+ return bc(ab(a2));
74
+ case 4:
75
+ return cd(bc(ab(a2)));
76
+ case 5:
77
+ return de(cd(bc(ab(a2))));
78
+ case 6:
79
+ return ef(de(cd(bc(ab(a2)))));
80
+ case 7:
81
+ return fg(ef(de(cd(bc(ab(a2))))));
82
+ case 8:
83
+ return gh(fg(ef(de(cd(bc(ab(a2)))))));
84
+ case 9:
85
+ return hi(gh(fg(ef(de(cd(bc(ab(a2))))))));
86
+ default: {
87
+ let ret = arguments[0];
88
+ for (let i = 1; i < arguments.length; i++) {
89
+ ret = arguments[i](ret);
90
+ }
91
+ return ret;
92
+ }
102
93
  }
103
- return true;
104
- };
105
- var comprises = (items) => (array) => includesAll(items)(array) && includesAll(array)(items);
106
-
107
- // ../../anvl/src/array/index.ts
108
- var isArray = (isType) => (input) => Array.isArray(input) && input.every((item) => isType(item));
109
- var map = (f) => (a2) => a2.map(f);
110
- var every = (f = Boolean) => (a2) => a2.every(f);
111
- var allTrue = every((x) => x === true);
112
- var addTo = (a2) => (x) => a2.includes(x) ? a2 : [...a2, x];
113
- var isEmptyArray = (input) => Array.isArray(input) && input.length === 0;
114
- var isOneOf = (...args) => (input) => args.includes(input);
115
-
116
- // ../../anvl/src/object/mapObject.ts
117
- var mapObject = (obj, fn) => (0, import_function.pipe)(
118
- obj,
119
- recordToEntries,
120
- map(([key, val]) => [key, fn(val, key)]),
121
- entriesToRecord
122
- );
123
- var mob = (fn) => (obj) => mapObject(obj, fn);
94
+ }
124
95
 
125
96
  // ../../anvl/src/function/index.ts
126
97
  var doNothing = () => void 0;
@@ -151,11 +122,48 @@ var fallback = (fn, fallbackValue) => {
151
122
  }
152
123
  };
153
124
 
125
+ // ../../anvl/src/array/venn.ts
126
+ var includesAll = (items) => (array) => {
127
+ for (const item of items) {
128
+ if (!array.includes(item))
129
+ return false;
130
+ }
131
+ return true;
132
+ };
133
+ var comprises = (items) => (array) => includesAll(items)(array) && includesAll(array)(items);
134
+
135
+ // ../../anvl/src/array/index.ts
136
+ var isArray = (isType) => (input) => Array.isArray(input) && input.every((item) => isType(item));
137
+ var map = (f) => (a2) => a2.map(f);
138
+ var every = (f = Boolean) => (a2) => a2.every(f);
139
+ var allTrue = every((x) => x === true);
140
+ var addTo = (a2) => (x) => a2.includes(x) ? a2 : [...a2, x];
141
+ var isEmptyArray = (input) => Array.isArray(input) && input.length === 0;
142
+ var isOneOf = (...args) => (input) => args.includes(input);
143
+
154
144
  // ../../anvl/src/nullish/index.ts
155
145
  var isUndefined = (input) => input === void 0;
156
146
  var ifDefined = (validate) => (input) => isUndefined(input) || validate(input);
157
147
  var ifNullish = (alt) => (input) => input != null ? input : alt;
158
148
 
149
+ // ../../anvl/src/object/access.ts
150
+ var access = (k) => Object.assign((obj) => obj[k], {
151
+ in: (obj) => obj[k]
152
+ });
153
+
154
+ // ../../anvl/src/object/entries.ts
155
+ var recordToEntries = (obj) => Object.entries(obj);
156
+ var entriesToRecord = (entries) => Object.fromEntries(entries);
157
+
158
+ // ../../anvl/src/object/mapObject.ts
159
+ var mapObject = (obj, fn) => pipe(
160
+ obj,
161
+ recordToEntries,
162
+ map(([key, val]) => [key, fn(val, key)]),
163
+ entriesToRecord
164
+ );
165
+ var mob = (fn) => (obj) => mapObject(obj, fn);
166
+
159
167
  // ../../anvl/src/object/refinement.ts
160
168
  var isNonNullObject = (input) => typeof input === `object` && input !== null;
161
169
  var isPlainObject = (input) => isNonNullObject(input) && Object.getPrototypeOf(input) === Object.prototype;
@@ -166,14 +174,14 @@ var hasProperties = (isValue, options = { allowExtraProperties: false }) => {
166
174
  isValue
167
175
  ).map(([k, v]) => String(k) + `:` + v.name).join(`,`)}}`;
168
176
  const _ = {
169
- [name]: (input) => isPlainObject(input) && (0, import_function2.pipe)(
177
+ [name]: (input) => isPlainObject(input) && pipe(
170
178
  isValue,
171
179
  Object.entries,
172
180
  every(([key, val]) => key in input || val(void 0))
173
- ) && (0, import_function2.pipe)(
181
+ ) && pipe(
174
182
  input,
175
183
  mob(
176
- (val, key) => (0, import_function2.pipe)(
184
+ (val, key) => pipe(
177
185
  isValue,
178
186
  access(key),
179
187
  ifNullish(() => options.allowExtraProperties),
@@ -186,14 +194,10 @@ var hasProperties = (isValue, options = { allowExtraProperties: false }) => {
186
194
  };
187
195
  return _[name];
188
196
  };
189
- var doesExtend = (
190
- /* alias for hasExactProperties with allowExtraProperties */
191
- (isValue) => hasProperties(isValue, { allowExtraProperties: true })
192
- );
193
- var hasExactProperties = (
194
- /* alias for hasProperties without allowExtraProperties */
195
- (isValue) => hasProperties(isValue, { allowExtraProperties: false })
196
- );
197
+ var ALLOW_EXTENSION = { allowExtraProperties: true };
198
+ var doesExtend = (isValue) => hasProperties(isValue, ALLOW_EXTENSION);
199
+ var DO_NOT_ALLOW_EXTENSION = { allowExtraProperties: false };
200
+ var hasExactProperties = (isValue) => hasProperties(isValue, DO_NOT_ALLOW_EXTENSION);
197
201
 
198
202
  // ../../anvl/src/object/sprawl.ts
199
203
  var sprawl = (tree, inspector) => {
@@ -397,68 +401,82 @@ var Differ = class {
397
401
  }
398
402
  };
399
403
 
400
- // ../../anvl/src/string/capitalize.ts
401
- var capitalize = (str) => str[0].toUpperCase() + str.slice(1);
402
-
403
- // ../src/internal/get.ts
404
- var computeSelectorState = (selector) => selector.get();
405
- function lookup(key, store) {
406
- const core = target(store);
407
- const type = core.atoms.has(key) ? `atom` : core.selectors.has(key) ? `selector` : `readonly_selector`;
408
- return { key, type };
409
- }
410
- function withdraw(token, store) {
411
- var _a2, _b, _c, _d, _e;
412
- const core = target(store);
413
- return (_e = (_d = (_c = (_b = (_a2 = core.atoms.get(token.key)) != null ? _a2 : core.selectors.get(token.key)) != null ? _b : core.readonlySelectors.get(token.key)) != null ? _c : core.transactions.get(token.key)) != null ? _d : core.timelines.get(token.key)) != null ? _e : null;
414
- }
415
- function deposit(state) {
416
- return __spreadValues({
417
- key: state.key,
418
- type: state.type
419
- }, `family` in state && { family: state.family });
420
- }
421
- var getState__INTERNAL = (state, store = IMPLICIT.STORE) => {
422
- var _a2, _b, _c;
423
- if (isValueCached(state.key, store)) {
424
- (_a2 = store.config.logger) == null ? void 0 : _a2.info(`>> read "${state.key}"`);
425
- return readCachedValue(state.key, store);
426
- }
427
- if (state.type !== `atom`) {
428
- (_b = store.config.logger) == null ? void 0 : _b.info(`-> calc "${state.key}"`);
429
- return computeSelectorState(state);
430
- }
431
- (_c = store.config.logger) == null ? void 0 : _c.error(
432
- `Attempted to get atom "${state.key}", which was never initialized in store "${store.config.name}".`
433
- );
434
- return state.default;
404
+ // ../../anvl/src/json/index.ts
405
+ var stringifyJson = (json) => JSON.stringify(json);
406
+ var JSON_TYPE_NAMES = [
407
+ `array`,
408
+ `boolean`,
409
+ `null`,
410
+ `number`,
411
+ `object`,
412
+ `string`
413
+ ];
414
+ var JSON_DEFAULTS = {
415
+ array: [],
416
+ boolean: false,
417
+ null: null,
418
+ number: 0,
419
+ object: {},
420
+ string: ``
435
421
  };
436
422
 
437
- // ../src/internal/is-default.ts
438
- var isAtomDefault = (key, store = IMPLICIT.STORE) => {
439
- const core = target(store);
440
- return core.atomsThatAreDefault.has(key);
423
+ // ../../anvl/src/primitive/index.ts
424
+ var isString = (input) => {
425
+ return typeof input === `string`;
441
426
  };
442
- var markAtomAsDefault = (key, store = IMPLICIT.STORE) => {
443
- const core = target(store);
444
- core.atomsThatAreDefault = new Set(core.atomsThatAreDefault).add(key);
427
+ var isNumber = (input) => {
428
+ return typeof input === `number`;
445
429
  };
446
- var markAtomAsNotDefault = (key, store = IMPLICIT.STORE) => {
447
- const core = target(store);
448
- core.atomsThatAreDefault = new Set(target(store).atomsThatAreDefault);
449
- core.atomsThatAreDefault.delete(key);
430
+ var isBoolean = (input) => {
431
+ return typeof input === `boolean`;
450
432
  };
451
433
 
452
- // ../../anvl/src/join/core-relation-data.ts
453
- var import_string = require("fp-ts/string");
434
+ // ../../anvl/src/refinement/refine-json.ts
435
+ var JSON_PROTOTYPES = [
436
+ `Array`,
437
+ `Boolean`,
438
+ `Number`,
439
+ `Object`,
440
+ `String`
441
+ ];
442
+ var refineJsonType = (data) => data === null ? { type: `null`, data: null } : isBoolean(data) ? { type: `boolean`, data } : isNumber(data) ? { type: `number`, data } : isString(data) ? { type: `string`, data } : Array.isArray(data) ? { type: `array`, data } : isPlainObject(data) ? { type: `object`, data } : raiseError(
443
+ data === void 0 ? `undefined passed to refineJsonType. This is not valid JSON.` : `${stringifyJson(data)} with prototype "${Object.getPrototypeOf(data).constructor.name}" passed to refineJsonType. This is not valid JSON.`
444
+ );
445
+ var isJson = (input) => {
446
+ var _a2;
447
+ if (input === null)
448
+ return true;
449
+ if (input === void 0)
450
+ return false;
451
+ const prototype = (_a2 = Object.getPrototypeOf(input)) == null ? void 0 : _a2.constructor.name;
452
+ const isJson2 = JSON_PROTOTYPES.includes(prototype);
453
+ return isJson2;
454
+ };
455
+ var OpenClose = ({ isOpen, setIsOpen, disabled }) => {
456
+ return /* @__PURE__ */ jsxRuntime.jsx(
457
+ "button",
458
+ {
459
+ type: "button",
460
+ className: `carat ${isOpen ? `open` : `closed`}`,
461
+ onClick: () => setIsOpen((isOpen2) => !isOpen2),
462
+ disabled,
463
+ children: "\u25B6"
464
+ }
465
+ );
466
+ };
467
+ var button = {
468
+ OpenClose
469
+ };
454
470
 
455
- // ../../anvl/src/refinement/index.ts
471
+ // ../../anvl/src/refinement/can-exist.ts
456
472
  var canExist = (_) => true;
473
+
474
+ // ../../anvl/src/refinement/cannot-exist.ts
457
475
  var cannotExist = (_) => false;
458
- var isLiteral = (value) => (input) => input === value;
459
- var isWithin = (args) => (input) => args.includes(input);
460
- var couldBe = (isTypeA, logging = false, refinements = [isTypeA]) => {
461
- const name = `(${refinements.map((r) => r.name || `anon`).join(` | `)})`;
476
+
477
+ // ../../anvl/src/refinement/is-union.ts
478
+ var mustSatisfyOneOfTheFollowing = (isTypeA, logging = false, refinements = [isTypeA]) => {
479
+ const name = `(${refinements.map((r) => (r == null ? void 0 : r.name) || `anon`).join(` | `)})`;
462
480
  const _ = {
463
481
  [name]: (input) => refinements.some(
464
482
  (refinement) => {
@@ -474,13 +492,15 @@ var couldBe = (isTypeA, logging = false, refinements = [isTypeA]) => {
474
492
  )
475
493
  };
476
494
  const checkTypes = Object.assign(_[name], {
477
- or: (isTypeB) => couldBe(isTypeB, logging, [...refinements, isTypeB])
495
+ or: (isTypeB) => mustSatisfyOneOfTheFollowing(isTypeB, logging, [...refinements, isTypeB])
478
496
  });
479
497
  return checkTypes;
480
498
  };
481
- var isUnion = couldBe(cannotExist);
482
- var mustBe = (isTypeA, logging = false, refinements = [isTypeA]) => {
483
- const name = `(${refinements.map((r) => r.name || `anon`).join(` & `)})`;
499
+ var isUnion = mustSatisfyOneOfTheFollowing(cannotExist);
500
+
501
+ // ../../anvl/src/refinement/is-intersection.ts
502
+ function mustSatisfyAllOfTheFollowing(isTypeA, logging = false, refinements = [isTypeA]) {
503
+ const name = `(${refinements.map((r) => (r == null ? void 0 : r.name) || `anon`).join(` & `)})`;
484
504
  const _ = {
485
505
  [name]: (input) => refinements.every(
486
506
  (refinement) => (logging && console.log(
@@ -493,11 +513,18 @@ var mustBe = (isTypeA, logging = false, refinements = [isTypeA]) => {
493
513
  )
494
514
  };
495
515
  const checkTypes = Object.assign(_[name], {
496
- and: (isTypeB) => mustBe(isTypeB, logging, [...refinements, isTypeB])
516
+ and: (isTypeB) => mustSatisfyAllOfTheFollowing(isTypeB, logging, [
517
+ ...refinements,
518
+ isTypeB
519
+ ])
497
520
  });
498
521
  return checkTypes;
499
- };
500
- var isIntersection = mustBe(canExist);
522
+ }
523
+ var isIntersection = mustSatisfyAllOfTheFollowing(canExist);
524
+
525
+ // ../../anvl/src/refinement/index.ts
526
+ var isLiteral = (value) => (input) => input === value;
527
+ var isWithin = (args) => (input) => args.includes(input);
501
528
 
502
529
  // ../../anvl/src/join/core-relation-data.ts
503
530
  var RELATION_TYPES = [`1:1`, `1:n`, `n:n`];
@@ -515,8 +542,8 @@ var isRelationData = ({
515
542
  isContent
516
543
  } = {}) => (input) => {
517
544
  return hasExactProperties({
518
- contents: isContent ? isRecord(import_string.isString, isContent) : hasExactProperties({}),
519
- relations: isRecord(import_string.isString, isArray(import_string.isString)),
545
+ contents: isContent ? isRecord(isString, isContent) : hasExactProperties({}),
546
+ relations: isRecord(isString, isArray(isString)),
520
547
  relationType: isRelationType,
521
548
  a: isLiteral(a2),
522
549
  b: isLiteral(b2)
@@ -553,9 +580,6 @@ var makeJsonInterface = (join, ...params) => {
553
580
  };
554
581
  };
555
582
 
556
- // ../../anvl/src/join/relation-contents.ts
557
- var import_function6 = require("fp-ts/function");
558
-
559
583
  // ../../anvl/src/join/relation-record.ts
560
584
  var getRelationEntries = (relationMap, idA) => getRelatedIds(relationMap, idA).map((idB) => [
561
585
  idB,
@@ -563,10 +587,6 @@ var getRelationEntries = (relationMap, idA) => getRelatedIds(relationMap, idA).m
563
587
  ]);
564
588
  var getRelationRecord = (relationMap, id) => Object.fromEntries(getRelationEntries(relationMap, id));
565
589
 
566
- // ../../anvl/src/join/remove-relation.ts
567
- var import_function5 = require("fp-ts/function");
568
- var import_string2 = require("fp-ts/string");
569
-
570
590
  // ../../anvl/src/string/split.ts
571
591
  var split = (separator) => (str) => str.split(separator);
572
592
 
@@ -574,7 +594,7 @@ var split = (separator) => (str) => str.split(separator);
574
594
  var removeSpecific = (current, idA, idB) => {
575
595
  const isIdForRemoval = isOneOf(idA, idB);
576
596
  return __spreadProps(__spreadValues({}, current), {
577
- relations: (0, import_function5.pipe)(
597
+ relations: pipe(
578
598
  current.relations,
579
599
  recordToEntries,
580
600
  map(([id, relations]) => [
@@ -584,17 +604,17 @@ var removeSpecific = (current, idA, idB) => {
584
604
  entriesToRecord,
585
605
  treeShake(isEmptyArray)
586
606
  ),
587
- contents: (0, import_function5.pipe)(
607
+ contents: pipe(
588
608
  current.contents,
589
609
  treeShake(
590
- (_, key) => (0, import_string2.isString)(key) && (0, import_function5.pipe)(key, split(`/`), comprises([idA, idB]))
610
+ (_, key) => isString(key) && pipe(key, split(`/`), comprises([idA, idB]))
591
611
  )
592
612
  )
593
613
  });
594
614
  };
595
615
  var removeAll = (current, idToRemove) => {
596
616
  const next = __spreadProps(__spreadValues({}, current), {
597
- relations: (0, import_function5.pipe)(
617
+ relations: pipe(
598
618
  current.relations,
599
619
  recordToEntries,
600
620
  map(([id, relations]) => [
@@ -604,10 +624,10 @@ var removeAll = (current, idToRemove) => {
604
624
  entriesToRecord,
605
625
  treeShake((val, key) => key === idToRemove || isEmptyArray(val))
606
626
  ),
607
- contents: (0, import_function5.pipe)(
627
+ contents: pipe(
608
628
  current.contents,
609
629
  treeShake(
610
- (_, key) => (0, import_string2.isString)(key) && key.split(`/`).includes(idToRemove)
630
+ (_, key) => isString(key) && key.split(`/`).includes(idToRemove)
611
631
  )
612
632
  )
613
633
  });
@@ -689,7 +709,7 @@ var getRelations = (relationMap, id) => getRelationEntries(relationMap, id).map(
689
709
  var setRelations = (current, subject, relations) => {
690
710
  const idA = subject[current.a];
691
711
  const idB = subject[current.b];
692
- return (0, import_function6.pipe)(
712
+ return pipe(
693
713
  current,
694
714
  (relationData) => {
695
715
  const relatedIds = getRelatedIds(current, idA);
@@ -769,879 +789,50 @@ var Join = class _Join {
769
789
  }
770
790
  getRelatedId(id) {
771
791
  return getRelatedId(this, id);
772
- }
773
- getRelatedIds(id) {
774
- return getRelatedIds(this, id);
775
- }
776
- getContent(idA, idB) {
777
- return getContent(this, idA, idB);
778
- }
779
- getRelationEntries(id) {
780
- return getRelationEntries(this, id);
781
- }
782
- getRelationRecord(id) {
783
- return getRelationRecord(this, id);
784
- }
785
- getRelation(id) {
786
- return getRelations(this, id)[0];
787
- }
788
- getRelations(id) {
789
- return getRelations(this, id);
790
- }
791
- setRelations(subject, relations) {
792
- return new _Join(setRelations(this, subject, relations));
793
- }
794
- set(relation, ...rest) {
795
- return new _Join(setRelationWithContent(this, relation, ...rest));
796
- }
797
- remove(relation) {
798
- return new _Join(
799
- removeRelation(this, relation)
800
- );
801
- }
802
- };
803
-
804
- // ../src/internal/store.ts
805
- var createStore = (name, store = null) => {
806
- var _a2;
807
- const created = __spreadProps(__spreadValues({}, store != null ? store : (() => ({
808
- atomsThatAreDefault: /* @__PURE__ */ new Set(),
809
- selectorAtoms: new Join({ relationType: `n:n` }).from(`selectorKey`).to(`atomKey`),
810
- selectorGraph: new Join({ relationType: `n:n` })
811
- }))()), {
812
- valueMap: new Map(store == null ? void 0 : store.valueMap),
813
- atoms: /* @__PURE__ */ new Map(),
814
- readonlySelectors: /* @__PURE__ */ new Map(),
815
- selectors: /* @__PURE__ */ new Map(),
816
- transactions: /* @__PURE__ */ new Map(),
817
- timelines: /* @__PURE__ */ new Map(),
818
- timelineAtoms: new Join({ relationType: `1:n` }).from(`timelineKey`).to(`atomKey`),
819
- subject: {
820
- atomCreation: new Subject(),
821
- selectorCreation: new Subject(),
822
- transactionCreation: new Subject(),
823
- timelineCreation: new Subject(),
824
- operationStatus: new Subject()
825
- },
826
- operation: __spreadValues({
827
- open: false
828
- }, store == null ? void 0 : store.operation),
829
- transactionStatus: __spreadValues({
830
- phase: `idle`
831
- }, store == null ? void 0 : store.transactionStatus),
832
- config: __spreadProps(__spreadValues({
833
- logger: __spreadValues(__spreadProps(__spreadValues({}, console), {
834
- info: doNothing
835
- }), (_a2 = store == null ? void 0 : store.config) == null ? void 0 : _a2.logger),
836
- logger__INTERNAL: console
837
- }, store == null ? void 0 : store.config), {
838
- name
839
- })
840
- });
841
- store == null ? void 0 : store.atoms.forEach((atom2) => {
842
- const copiedAtom = __spreadProps(__spreadValues({}, atom2), { subject: new Subject() });
843
- created.atoms.set(atom2.key, copiedAtom);
844
- });
845
- store == null ? void 0 : store.readonlySelectors.forEach((selector) => {
846
- selector.install(created);
847
- });
848
- store == null ? void 0 : store.selectors.forEach((selector) => {
849
- selector.install(created);
850
- });
851
- store == null ? void 0 : store.transactions.forEach((tx) => {
852
- tx.install(created);
853
- });
854
- store == null ? void 0 : store.timelines.forEach((timeline2) => {
855
- timeline2.install(created);
856
- });
857
- return created;
858
- };
859
- var IMPLICIT = {
860
- STORE_INTERNAL: void 0,
861
- get STORE() {
862
- var _a2;
863
- return (_a2 = this.STORE_INTERNAL) != null ? _a2 : this.STORE_INTERNAL = createStore(`DEFAULT`);
864
- }
865
- };
866
-
867
- // ../src/internal/operation.ts
868
- var openOperation = (token, store) => {
869
- var _a2, _b;
870
- const core = target(store);
871
- if (core.operation.open) {
872
- (_a2 = store.config.logger) == null ? void 0 : _a2.error(
873
- `\u274C failed to setState to "${token.key}" during a setState for "${core.operation.token.key}"`
874
- );
875
- throw Symbol(`violation`);
876
- }
877
- core.operation = {
878
- open: true,
879
- done: /* @__PURE__ */ new Set(),
880
- prev: new Map(store.valueMap),
881
- time: Date.now(),
882
- token
883
- };
884
- (_b = store.config.logger) == null ? void 0 : _b.info(
885
- `\u2B55 operation start from "${token.key}" in store "${store.config.name}"`
886
- );
887
- };
888
- var closeOperation = (store) => {
889
- var _a2;
890
- const core = target(store);
891
- core.operation = { open: false };
892
- (_a2 = store.config.logger) == null ? void 0 : _a2.info(`\u{1F534} operation done`);
893
- store.subject.operationStatus.next(core.operation);
894
- };
895
- var isDone = (key, store = IMPLICIT.STORE) => {
896
- var _a2;
897
- const core = target(store);
898
- if (!core.operation.open) {
899
- (_a2 = store.config.logger) == null ? void 0 : _a2.warn(
900
- `isDone called outside of an operation. This is probably a bug.`
901
- );
902
- return true;
903
- }
904
- return core.operation.done.has(key);
905
- };
906
- var markDone = (key, store = IMPLICIT.STORE) => {
907
- var _a2;
908
- const core = target(store);
909
- if (!core.operation.open) {
910
- (_a2 = store.config.logger) == null ? void 0 : _a2.warn(
911
- `markDone called outside of an operation. This is probably a bug.`
912
- );
913
- return;
914
- }
915
- core.operation.done.add(key);
916
- };
917
- var recallState = (state, store = IMPLICIT.STORE) => {
918
- var _a2;
919
- const core = target(store);
920
- if (!core.operation.open) {
921
- (_a2 = store.config.logger) == null ? void 0 : _a2.warn(
922
- `recall called outside of an operation. This is probably a bug.`
923
- );
924
- return core.valueMap.get(state.key);
925
- }
926
- return core.operation.prev.get(state.key);
927
- };
928
- var cacheValue = (key, value, store = IMPLICIT.STORE) => {
929
- const core = target(store);
930
- core.valueMap.set(key, value);
931
- };
932
- var evictCachedValue = (key, store = IMPLICIT.STORE) => {
933
- const core = target(store);
934
- core.valueMap.delete(key);
935
- };
936
- var readCachedValue = (key, store = IMPLICIT.STORE) => target(store).valueMap.get(key);
937
- var isValueCached = (key, store = IMPLICIT.STORE) => target(store).valueMap.has(key);
938
-
939
- // ../src/internal/transaction-internal.ts
940
- var target = (store = IMPLICIT.STORE) => store.transactionStatus.phase === `building` ? store.transactionStatus.core : store;
941
-
942
- // ../src/internal/atom-internal.ts
943
- function atom__INTERNAL(options, family, store = IMPLICIT.STORE) {
944
- var _a2, _b, _c;
945
- const core = target(store);
946
- const existing = core.atoms.get(options.key);
947
- if (existing) {
948
- (_b = (_a2 = store.config.logger) == null ? void 0 : _a2.error) == null ? void 0 : _b.call(
949
- _a2,
950
- `Key "${options.key}" already exists in the store.`
951
- );
952
- return deposit(existing);
953
- }
954
- const subject = new Subject();
955
- const newAtom = __spreadValues(__spreadProps(__spreadValues({}, options), {
956
- subject,
957
- type: `atom`
958
- }), family && { family });
959
- const initialValue = options.default instanceof Function ? options.default() : options.default;
960
- core.atoms.set(newAtom.key, newAtom);
961
- markAtomAsDefault(options.key, store);
962
- cacheValue(options.key, initialValue, store);
963
- const token = deposit(newAtom);
964
- (_c = options.effects) == null ? void 0 : _c.forEach(
965
- (effect) => effect({
966
- setSelf: (next) => setState(token, next, store),
967
- onSet: (handle) => subscribe(token, handle, store)
968
- })
969
- );
970
- store.subject.atomCreation.next(token);
971
- return token;
972
- }
973
-
974
- // ../../anvl/src/json/index.ts
975
- var stringifyJson = (json) => JSON.stringify(json);
976
- var JSON_TYPE_NAMES = [
977
- `array`,
978
- `boolean`,
979
- `null`,
980
- `number`,
981
- `object`,
982
- `string`
983
- ];
984
- var JSON_DEFAULTS = {
985
- array: [],
986
- boolean: false,
987
- null: null,
988
- number: 0,
989
- object: {},
990
- string: ``
991
- };
992
-
993
- // ../src/internal/families-internal.ts
994
- function atomFamily__INTERNAL(options, store = IMPLICIT.STORE) {
995
- const subject = new Subject();
996
- return Object.assign(
997
- (key) => {
998
- const subKey = stringifyJson(key);
999
- const family = { key: options.key, subKey };
1000
- const fullKey = `${options.key}(${subKey})`;
1001
- const existing = withdraw({ key: fullKey, type: `atom` }, store);
1002
- let token;
1003
- if (existing) {
1004
- token = deposit(existing);
1005
- } else {
1006
- const individualOptions = {
1007
- key: fullKey,
1008
- default: options.default instanceof Function ? options.default(key) : options.default
1009
- };
1010
- if (options.effects) {
1011
- individualOptions.effects = options.effects(key);
1012
- }
1013
- token = atom__INTERNAL(individualOptions, family, store);
1014
- }
1015
- subject.next(token);
1016
- return token;
1017
- },
1018
- {
1019
- key: options.key,
1020
- type: `atom_family`,
1021
- subject
1022
- }
1023
- );
1024
- }
1025
-
1026
- // ../src/internal/selector/lookup-selector-sources.ts
1027
- var lookupSelectorSources = (key, store) => target(store).selectorGraph.getRelations(key).filter(({ source }) => source !== key).map(({ source }) => lookup(source, store));
1028
-
1029
- // ../src/internal/selector/trace-selector-atoms.ts
1030
- var traceSelectorAtoms = (selectorKey, dependency, store) => {
1031
- const roots = [];
1032
- const sources = lookupSelectorSources(dependency.key, store);
1033
- let depth = 0;
1034
- while (sources.length > 0) {
1035
- const source = sources.shift();
1036
- ++depth;
1037
- if (depth > 999) {
1038
- throw new Error(
1039
- `Maximum selector dependency depth exceeded in selector "${selectorKey}".`
1040
- );
1041
- }
1042
- if (source.type !== `atom`) {
1043
- sources.push(...lookupSelectorSources(source.key, store));
1044
- } else {
1045
- roots.push(source);
1046
- }
1047
- }
1048
- return roots;
1049
- };
1050
- var traceAllSelectorAtoms = (selectorKey, store) => {
1051
- const sources = lookupSelectorSources(selectorKey, store);
1052
- return sources.flatMap(
1053
- (source) => source.type === `atom` ? source : traceSelectorAtoms(selectorKey, source, store)
1054
- );
1055
- };
1056
-
1057
- // ../src/internal/set.ts
1058
- var evictDownStream = (state, store = IMPLICIT.STORE) => {
1059
- var _a2, _b;
1060
- const core = target(store);
1061
- const downstream = core.selectorAtoms.getRelations(state.key);
1062
- const downstreamKeys = downstream.map(({ id }) => id);
1063
- (_a2 = store.config.logger) == null ? void 0 : _a2.info(
1064
- ` || ${downstreamKeys.length} downstream:`,
1065
- downstreamKeys
1066
- );
1067
- if (core.operation.open) {
1068
- (_b = store.config.logger) == null ? void 0 : _b.info(` ||`, [...core.operation.done], `already done`);
1069
- }
1070
- downstream.forEach(({ id: stateKey }) => {
1071
- var _a3, _b2, _c, _d;
1072
- if (isDone(stateKey, store)) {
1073
- (_a3 = store.config.logger) == null ? void 0 : _a3.info(` || ${stateKey} already done`);
1074
- return;
1075
- }
1076
- const state2 = (_b2 = core.selectors.get(stateKey)) != null ? _b2 : core.readonlySelectors.get(stateKey);
1077
- if (!state2) {
1078
- (_c = store.config.logger) == null ? void 0 : _c.info(
1079
- ` || ${stateKey} is an atom, and can't be downstream`
1080
- );
1081
- return;
1082
- }
1083
- evictCachedValue(stateKey, store);
1084
- (_d = store.config.logger) == null ? void 0 : _d.info(` xx evicted "${stateKey}"`);
1085
- markDone(stateKey, store);
1086
- });
1087
- };
1088
- var setAtomState = (atom2, next, store = IMPLICIT.STORE) => {
1089
- var _a2, _b;
1090
- const oldValue = getState__INTERNAL(atom2, store);
1091
- const newValue = become(next)(oldValue);
1092
- (_a2 = store.config.logger) == null ? void 0 : _a2.info(`<< setting atom "${atom2.key}" to`, newValue);
1093
- cacheValue(atom2.key, newValue, store);
1094
- if (isAtomDefault(atom2.key, store)) {
1095
- markAtomAsNotDefault(atom2.key, store);
1096
- }
1097
- markDone(atom2.key, store);
1098
- (_b = store.config.logger) == null ? void 0 : _b.info(
1099
- ` || evicting caches downstream from "${atom2.key}"`
1100
- );
1101
- evictDownStream(atom2, store);
1102
- const update = { oldValue, newValue };
1103
- if (store.transactionStatus.phase !== `building`) {
1104
- emitUpdate(atom2, update, store);
1105
- } else {
1106
- stowUpdate(atom2, update, store);
1107
- }
1108
- };
1109
- var setSelectorState = (selector, next, store = IMPLICIT.STORE) => {
1110
- var _a2, _b;
1111
- const oldValue = getState__INTERNAL(selector, store);
1112
- const newValue = become(next)(oldValue);
1113
- (_a2 = store.config.logger) == null ? void 0 : _a2.info(`<< setting selector "${selector.key}" to`, newValue);
1114
- (_b = store.config.logger) == null ? void 0 : _b.info(` || propagating change made to "${selector.key}"`);
1115
- selector.set(newValue);
1116
- };
1117
- var setState__INTERNAL = (state, value, store = IMPLICIT.STORE) => {
1118
- if (`set` in state) {
1119
- setSelectorState(state, value, store);
1120
- } else {
1121
- setAtomState(state, value, store);
1122
- }
1123
- };
1124
-
1125
- // ../../anvl/reactivity/subject.ts
1126
- var Subject = class {
1127
- constructor() {
1128
- this.subscribers = [];
1129
- }
1130
- subscribe(subscriber) {
1131
- this.subscribers.push(subscriber);
1132
- const unsubscribe = () => this.unsubscribe(subscriber);
1133
- return { unsubscribe };
1134
- }
1135
- unsubscribe(subscriber) {
1136
- const subscriberIndex = this.subscribers.indexOf(subscriber);
1137
- if (subscriberIndex !== -1) {
1138
- this.subscribers.splice(subscriberIndex, 1);
1139
- }
1140
- }
1141
- next(value) {
1142
- for (const subscriber of this.subscribers) {
1143
- subscriber(value);
1144
- }
1145
- }
1146
- };
1147
-
1148
- // ../src/internal/subscribe-internal.ts
1149
- var stowUpdate = (state, update, store) => {
1150
- var _a2;
1151
- const { key } = state;
1152
- const { logger } = store.config;
1153
- if (store.transactionStatus.phase !== `building`) {
1154
- (_a2 = store.config.logger) == null ? void 0 : _a2.warn(
1155
- `stowUpdate called outside of a transaction. This is probably a bug.`
1156
- );
1157
- return;
1158
- }
1159
- store.transactionStatus.atomUpdates.push(__spreadValues({ key }, update));
1160
- logger == null ? void 0 : logger.info(`\u{1F4DD} ${key} stowed (`, update.oldValue, `->`, update.newValue, `)`);
1161
- };
1162
- var emitUpdate = (state, update, store) => {
1163
- const { key } = state;
1164
- const { logger } = store.config;
1165
- logger == null ? void 0 : logger.info(
1166
- `\u{1F4E2} ${state.type} "${key}" went (`,
1167
- update.oldValue,
1168
- `->`,
1169
- update.newValue,
1170
- `)`
1171
- );
1172
- state.subject.next(update);
1173
- };
1174
- var subscribeToRootAtoms = (state, store) => {
1175
- const dependencySubscriptions = `default` in state ? null : traceAllSelectorAtoms(state.key, store).map((atomToken) => {
1176
- const atom2 = withdraw(atomToken, store);
1177
- if (atom2 === null) {
1178
- throw new Error(
1179
- `Atom "${atomToken.key}", a dependency of selector "${state.key}", not found in store "${store.config.name}".`
1180
- );
1181
- }
1182
- return atom2.subject.subscribe((atomChange) => {
1183
- var _a2, _b;
1184
- (_a2 = store.config.logger) == null ? void 0 : _a2.info(
1185
- `\u{1F4E2} selector "${state.key}" saw root "${atomToken.key}" go (`,
1186
- atomChange.oldValue,
1187
- `->`,
1188
- atomChange.newValue,
1189
- `)`
1190
- );
1191
- const oldValue = recallState(state, store);
1192
- const newValue = getState__INTERNAL(state, store);
1193
- (_b = store.config.logger) == null ? void 0 : _b.info(
1194
- ` <- "${state.key}" went (`,
1195
- oldValue,
1196
- `->`,
1197
- newValue,
1198
- `)`
1199
- );
1200
- state.subject.next({ newValue, oldValue });
1201
- });
1202
- });
1203
- return dependencySubscriptions;
1204
- };
1205
-
1206
- // ../src/atom.ts
1207
- function atom(options) {
1208
- return atom__INTERNAL(options);
1209
- }
1210
- function atomFamily(options) {
1211
- return atomFamily__INTERNAL(options);
1212
- }
1213
-
1214
- // ../src/subscribe.ts
1215
- var subscribe = (token, handleUpdate, store = IMPLICIT.STORE) => {
1216
- var _a2;
1217
- const state = withdraw(token, store);
1218
- if (state === null) {
1219
- throw new Error(
1220
- `State "${token.key}" not found in this store. Did you forget to initialize with the "atom" or "selector" function?`
1221
- );
1222
- }
1223
- const subscription = state.subject.subscribe(handleUpdate);
1224
- (_a2 = store.config.logger) == null ? void 0 : _a2.info(`\u{1F440} subscribe to "${state.key}"`);
1225
- const dependencySubscriptions = state.type !== `atom` ? subscribeToRootAtoms(state, store) : null;
1226
- const unsubscribe = dependencySubscriptions === null ? () => {
1227
- var _a3;
1228
- (_a3 = store.config.logger) == null ? void 0 : _a3.info(`\u{1F648} unsubscribe from "${state.key}"`);
1229
- subscription.unsubscribe();
1230
- } : () => {
1231
- var _a3;
1232
- (_a3 = store.config.logger) == null ? void 0 : _a3.info(
1233
- `\u{1F648} unsubscribe from "${state.key}" and its dependencies`
1234
- );
1235
- subscription.unsubscribe();
1236
- for (const dependencySubscription of dependencySubscriptions) {
1237
- dependencySubscription.unsubscribe();
1238
- }
1239
- };
1240
- return unsubscribe;
1241
- };
1242
-
1243
- // ../src/index.ts
1244
- var setState = (token, value, store = IMPLICIT.STORE) => {
1245
- try {
1246
- openOperation(token, store);
1247
- } catch (thrown) {
1248
- if (!(typeof thrown === `symbol`)) {
1249
- throw thrown;
1250
- }
1251
- return;
1252
- }
1253
- const state = withdraw(token, store);
1254
- if (state === null) {
1255
- throw new Error(
1256
- `${capitalize(token.type)} "${token.key}" not found in store "${store.config.name}".`
1257
- );
1258
- }
1259
- setState__INTERNAL(state, value, store);
1260
- closeOperation(store);
1261
- };
1262
-
1263
- // ../src/introspection/attach-introspection-states.ts
1264
- var import_atom7 = require("atom.io");
1265
-
1266
- // ../src/introspection/attach-atom-index.ts
1267
- var import_atom = require("atom.io");
1268
- var attachAtomIndex = (store = import_atom.__INTERNAL__.IMPLICIT.STORE) => {
1269
- const atomTokenIndexState__INTERNAL = import_atom.__INTERNAL__.atom__INTERNAL(
1270
- {
1271
- key: `\u{1F441}\u200D\u{1F5E8} Atom Token Index (Internal)`,
1272
- default: () => [...store.atoms].filter(([key]) => !key.includes(`\u{1F441}\u200D\u{1F5E8}`)).reduce((acc, [key]) => {
1273
- acc[key] = { key, type: `atom` };
1274
- return acc;
1275
- }, {}),
1276
- effects: [
1277
- ({ setSelf }) => {
1278
- store.subject.atomCreation.subscribe((atomToken) => {
1279
- if (store.operation.open) {
1280
- return;
1281
- }
1282
- if (atomToken.key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
1283
- return;
1284
- }
1285
- setSelf((state) => {
1286
- const { key, family } = atomToken;
1287
- if (family) {
1288
- const { key: familyKey, subKey } = family;
1289
- const current = state[familyKey];
1290
- if (current === void 0 || `familyMembers` in current) {
1291
- const familyKeyState = current || {
1292
- key: familyKey,
1293
- familyMembers: {}
1294
- };
1295
- return __spreadProps(__spreadValues({}, state), {
1296
- [familyKey]: __spreadProps(__spreadValues({}, familyKeyState), {
1297
- familyMembers: __spreadProps(__spreadValues({}, familyKeyState.familyMembers), {
1298
- [subKey]: atomToken
1299
- })
1300
- })
1301
- });
1302
- }
1303
- }
1304
- return __spreadProps(__spreadValues({}, state), {
1305
- [key]: atomToken
1306
- });
1307
- });
1308
- });
1309
- }
1310
- ]
1311
- },
1312
- void 0,
1313
- store
1314
- );
1315
- return import_atom.__INTERNAL__.selector__INTERNAL(
1316
- {
1317
- key: `\u{1F441}\u200D\u{1F5E8} Atom Token Index`,
1318
- get: ({ get }) => get(atomTokenIndexState__INTERNAL)
1319
- },
1320
- void 0,
1321
- store
1322
- );
1323
- };
1324
-
1325
- // ../src/introspection/attach-selector-index.ts
1326
- var import_atom2 = require("atom.io");
1327
- var attachSelectorIndex = (store = import_atom2.__INTERNAL__.IMPLICIT.STORE) => {
1328
- const readonlySelectorTokenIndexState__INTERNAL = import_atom2.__INTERNAL__.atom__INTERNAL(
1329
- {
1330
- key: `\u{1F441}\u200D\u{1F5E8} Selector Token Index (Internal)`,
1331
- default: () => Object.assign(
1332
- [...store.readonlySelectors].filter(([key]) => !key.includes(`\u{1F441}\u200D\u{1F5E8}`)).reduce((acc, [key]) => {
1333
- acc[key] = { key, type: `readonly_selector` };
1334
- return acc;
1335
- }, {}),
1336
- [...store.selectors].reduce((acc, [key]) => {
1337
- acc[key] = { key, type: `selector` };
1338
- return acc;
1339
- }, {})
1340
- ),
1341
- effects: [
1342
- ({ setSelf }) => {
1343
- store.subject.selectorCreation.subscribe((selectorToken) => {
1344
- if (store.operation.open) {
1345
- return;
1346
- }
1347
- if (selectorToken.key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
1348
- return;
1349
- }
1350
- setSelf((state) => {
1351
- const { key, family } = selectorToken;
1352
- if (family) {
1353
- const { key: familyKey, subKey } = family;
1354
- const current = state[familyKey];
1355
- if (current === void 0 || `familyMembers` in current) {
1356
- const familyKeyState = current || {
1357
- key: familyKey,
1358
- familyMembers: {}
1359
- };
1360
- return __spreadProps(__spreadValues({}, state), {
1361
- [familyKey]: __spreadProps(__spreadValues({}, familyKeyState), {
1362
- familyMembers: __spreadProps(__spreadValues({}, familyKeyState.familyMembers), {
1363
- [subKey]: selectorToken
1364
- })
1365
- })
1366
- });
1367
- }
1368
- }
1369
- return __spreadProps(__spreadValues({}, state), {
1370
- [key]: selectorToken
1371
- });
1372
- });
1373
- });
1374
- }
1375
- ]
1376
- },
1377
- void 0,
1378
- store
1379
- );
1380
- return import_atom2.__INTERNAL__.selector__INTERNAL({
1381
- key: `\u{1F441}\u200D\u{1F5E8} Selector Token Index`,
1382
- get: ({ get }) => get(readonlySelectorTokenIndexState__INTERNAL)
1383
- });
1384
- };
1385
-
1386
- // ../src/introspection/attach-timeline-family.ts
1387
- var import_atom3 = require("atom.io");
1388
- var attachTimelineFamily = (store = import_atom3.__INTERNAL__.IMPLICIT.STORE) => {
1389
- const findTimelineLogState__INTERNAL = import_atom3.__INTERNAL__.atomFamily__INTERNAL(
1390
- {
1391
- key: `\u{1F441}\u200D\u{1F5E8} Timeline Update Log (Internal)`,
1392
- default: (key) => {
1393
- var _a2;
1394
- return (_a2 = store.timelines.get(key)) != null ? _a2 : {
1395
- key: ``,
1396
- at: 0,
1397
- timeTraveling: null,
1398
- history: [],
1399
- selectorTime: null,
1400
- transactionKey: null,
1401
- install: () => {
1402
- },
1403
- subject: new Subject()
1404
- };
1405
- },
1406
- effects: (key) => [
1407
- ({ setSelf }) => {
1408
- const tl = store.timelines.get(key);
1409
- tl == null ? void 0 : tl.subject.subscribe((_) => {
1410
- if (store.operation.open === true) {
1411
- const subscription = store.subject.operationStatus.subscribe(
1412
- (operationStatus) => {
1413
- if (operationStatus.open === false) {
1414
- subscription.unsubscribe();
1415
- setSelf(__spreadValues({}, tl));
1416
- }
1417
- }
1418
- );
1419
- } else {
1420
- setSelf(__spreadValues({}, tl));
1421
- }
1422
- });
1423
- }
1424
- ]
1425
- },
1426
- store
1427
- );
1428
- const findTimelineLogState = import_atom3.__INTERNAL__.selectorFamily__INTERNAL(
1429
- {
1430
- key: `\u{1F441}\u200D\u{1F5E8} Timeline Update Log`,
1431
- get: (key) => ({ get }) => get(findTimelineLogState__INTERNAL(key))
1432
- },
1433
- store
1434
- );
1435
- return findTimelineLogState;
1436
- };
1437
-
1438
- // ../src/introspection/attach-timeline-index.ts
1439
- var import_atom4 = require("atom.io");
1440
- var attachTimelineIndex = (store = import_atom4.__INTERNAL__.IMPLICIT.STORE) => {
1441
- const timelineTokenIndexState__INTERNAL = import_atom4.__INTERNAL__.atom__INTERNAL(
1442
- {
1443
- key: `\u{1F441}\u200D\u{1F5E8} Timeline Token Index (Internal)`,
1444
- default: () => [...store.timelines].map(([key]) => {
1445
- return { key, type: `timeline` };
1446
- }),
1447
- effects: [
1448
- ({ setSelf }) => {
1449
- store.subject.timelineCreation.subscribe((timelineToken) => {
1450
- setSelf((state) => [...state, timelineToken]);
1451
- });
1452
- }
1453
- ]
1454
- },
1455
- void 0,
1456
- store
1457
- );
1458
- const timelineTokenIndex = import_atom4.__INTERNAL__.selector__INTERNAL(
1459
- {
1460
- key: `\u{1F441}\u200D\u{1F5E8} Timeline Token Index`,
1461
- get: ({ get }) => get(timelineTokenIndexState__INTERNAL)
1462
- },
1463
- void 0,
1464
- store
1465
- );
1466
- return timelineTokenIndex;
1467
- };
1468
-
1469
- // ../src/introspection/attach-transaction-index.ts
1470
- var import_atom5 = require("atom.io");
1471
- var attachTransactionIndex = (store = import_atom5.__INTERNAL__.IMPLICIT.STORE) => {
1472
- const transactionTokenIndexState__INTERNAL = import_atom5.__INTERNAL__.atom__INTERNAL(
1473
- {
1474
- key: `\u{1F441}\u200D\u{1F5E8} Transaction Token Index (Internal)`,
1475
- default: () => [...store.transactions].map(([key]) => {
1476
- return { key, type: `transaction` };
1477
- }),
1478
- effects: [
1479
- ({ setSelf }) => {
1480
- store.subject.transactionCreation.subscribe((transactionToken) => {
1481
- setSelf((state) => [...state, transactionToken]);
1482
- });
1483
- }
1484
- ]
1485
- },
1486
- void 0,
1487
- store
1488
- );
1489
- const transactionTokenIndex = import_atom5.__INTERNAL__.selector__INTERNAL(
1490
- {
1491
- key: `\u{1F441}\u200D\u{1F5E8} Transaction Token Index`,
1492
- get: ({ get }) => get(transactionTokenIndexState__INTERNAL)
1493
- },
1494
- void 0,
1495
- store
1496
- );
1497
- return transactionTokenIndex;
1498
- };
1499
-
1500
- // ../src/introspection/attach-transaction-logs.ts
1501
- var import_atom6 = require("atom.io");
1502
- var attachTransactionLogs = (store = import_atom6.__INTERNAL__.IMPLICIT.STORE) => {
1503
- const findTransactionUpdateLog = import_atom6.__INTERNAL__.atomFamily__INTERNAL(
1504
- {
1505
- key: `\u{1F441}\u200D\u{1F5E8} Transaction Update Log (Internal)`,
1506
- default: () => [],
1507
- effects: (key) => [
1508
- ({ setSelf }) => {
1509
- const tx = store.transactions.get(key);
1510
- tx == null ? void 0 : tx.subject.subscribe((transactionUpdate) => {
1511
- if (transactionUpdate.key === key) {
1512
- setSelf((state) => [...state, transactionUpdate]);
1513
- }
1514
- });
1515
- }
1516
- ]
1517
- },
1518
- store
1519
- );
1520
- const findTransactionUpdateLogState = import_atom6.__INTERNAL__.selectorFamily__INTERNAL(
1521
- {
1522
- key: `\u{1F441}\u200D\u{1F5E8} Transaction Update Log`,
1523
- get: (key) => ({ get }) => get(findTransactionUpdateLog(key))
1524
- },
1525
- store
1526
- );
1527
- return findTransactionUpdateLogState;
1528
- };
1529
-
1530
- // ../src/introspection/attach-introspection-states.ts
1531
- var attachIntrospectionStates = (store = import_atom7.__INTERNAL__.IMPLICIT.STORE) => {
1532
- return {
1533
- atomIndex: attachAtomIndex(store),
1534
- selectorIndex: attachSelectorIndex(store),
1535
- transactionIndex: attachTransactionIndex(store),
1536
- findTransactionLogState: attachTransactionLogs(store),
1537
- timelineIndex: attachTimelineIndex(store),
1538
- findTimelineState: attachTimelineFamily(store)
1539
- };
1540
- };
1541
-
1542
- // ../src/web-effects/storage.ts
1543
- var persistAtom = (storage) => ({ stringify, parse }) => (key) => ({ setSelf, onSet }) => {
1544
- const savedValue = storage.getItem(key);
1545
- if (savedValue != null)
1546
- setSelf(parse(savedValue));
1547
- onSet(({ newValue }) => {
1548
- if (newValue == null) {
1549
- storage.removeItem(key);
1550
- return;
1551
- }
1552
- storage.setItem(key, stringify(newValue));
1553
- });
1554
- };
1555
- var lazyLocalStorageEffect = persistAtom(localStorage)(JSON);
1556
-
1557
- // ../src/react-devtools/AtomIODevtools.tsx
1558
- var import_react12 = require("atom.io/react");
1559
- var import_framer_motion = require("framer-motion");
1560
- var import_react13 = require("react");
1561
-
1562
- // ../src/react-devtools/StateIndex.tsx
1563
- var import_atom8 = require("atom.io");
1564
- var import_react8 = require("atom.io/react");
1565
-
1566
- // ../../anvl/src/refinement/refine-json.ts
1567
- var import_boolean = require("fp-ts/boolean");
1568
- var import_number = require("fp-ts/number");
1569
- var import_string3 = require("fp-ts/string");
1570
- var JSON_PROTOTYPES = [
1571
- `Array`,
1572
- `Boolean`,
1573
- `Number`,
1574
- `Object`,
1575
- `String`
1576
- ];
1577
- var refineJsonType = (data) => data === null ? { type: `null`, data: null } : (0, import_boolean.isBoolean)(data) ? { type: `boolean`, data } : (0, import_number.isNumber)(data) ? { type: `number`, data } : (0, import_string3.isString)(data) ? { type: `string`, data } : Array.isArray(data) ? { type: `array`, data } : isPlainObject(data) ? { type: `object`, data } : raiseError(
1578
- data === void 0 ? `undefined passed to refineJsonType. This is not valid JSON.` : `${stringifyJson(data)} with prototype "${Object.getPrototypeOf(data).constructor.name}" passed to refineJsonType. This is not valid JSON.`
1579
- );
1580
- var isJson = (input) => {
1581
- var _a2;
1582
- if (input === null)
1583
- return true;
1584
- if (input === void 0)
1585
- return false;
1586
- const prototype = (_a2 = Object.getPrototypeOf(input)) == null ? void 0 : _a2.constructor.name;
1587
- const isJson2 = JSON_PROTOTYPES.includes(prototype);
1588
- return isJson2;
1589
- };
1590
-
1591
- // ../src/react-devtools/Button.tsx
1592
- var import_jsx_dev_runtime = require("react/jsx-dev-runtime");
1593
- var OpenClose = ({ isOpen, setIsOpen, disabled }) => {
1594
- return /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(
1595
- "button",
1596
- {
1597
- type: "button",
1598
- className: `carat ${isOpen ? `open` : `closed`}`,
1599
- onClick: () => setIsOpen((isOpen2) => !isOpen2),
1600
- disabled,
1601
- children: "\u25B6"
1602
- },
1603
- void 0,
1604
- false,
1605
- {
1606
- fileName: "../src/react-devtools/Button.tsx",
1607
- lineNumber: 11,
1608
- columnNumber: 3
1609
- },
1610
- this
1611
- );
1612
- };
1613
- var button = {
1614
- OpenClose
792
+ }
793
+ getRelatedIds(id) {
794
+ return getRelatedIds(this, id);
795
+ }
796
+ getContent(idA, idB) {
797
+ return getContent(this, idA, idB);
798
+ }
799
+ getRelationEntries(id) {
800
+ return getRelationEntries(this, id);
801
+ }
802
+ getRelationRecord(id) {
803
+ return getRelationRecord(this, id);
804
+ }
805
+ getRelation(id) {
806
+ return getRelations(this, id)[0];
807
+ }
808
+ getRelations(id) {
809
+ return getRelations(this, id);
810
+ }
811
+ setRelations(subject, relations) {
812
+ return new _Join(setRelations(this, subject, relations));
813
+ }
814
+ set(relation, ...rest) {
815
+ return new _Join(setRelationWithContent(this, relation, ...rest));
816
+ }
817
+ remove(relation) {
818
+ return new _Join(
819
+ removeRelation(this, relation)
820
+ );
821
+ }
1615
822
  };
1616
-
1617
- // ../src/react-devtools/StateEditor.tsx
1618
- var import_react7 = require("atom.io/react");
1619
-
1620
- // ../../hamr/src/react-json-editor/editors-by-type/utilities/array-elements.ts
1621
- var makeElementSetters = (data, set) => data.map(
1622
- (value, index) => (newValue) => set(() => {
1623
- const newData = [...data];
1624
- newData[index] = become(newValue)(value);
1625
- return newData;
1626
- })
1627
- );
1628
-
1629
- // ../../hamr/src/react-elastic-input/ElasticInput.tsx
1630
- var import_react = require("react");
1631
- var import_jsx_dev_runtime2 = require("react/jsx-dev-runtime");
1632
- var ElasticInput = (0, import_react.forwardRef)(function ElasticInputFC(props, ref) {
823
+ var ElasticInput = React.forwardRef(function ElasticInputFC(props, ref) {
1633
824
  var _a2, _b, _c, _d;
1634
- const inputRef = (0, import_react.useRef)(null);
1635
- const spanRef = (0, import_react.useRef)(null);
1636
- const [inputWidth, setInputWidth] = (0, import_react.useState)(`auto`);
1637
- (0, import_react.useImperativeHandle)(ref, () => ({
825
+ const inputRef = React.useRef(null);
826
+ const spanRef = React.useRef(null);
827
+ const [inputWidth, setInputWidth] = React.useState(`auto`);
828
+ React.useImperativeHandle(ref, () => ({
1638
829
  focus: () => {
1639
830
  var _a3;
1640
831
  (_a3 = inputRef.current) == null ? void 0 : _a3.focus();
1641
832
  }
1642
833
  }));
1643
834
  const extraWidth = props.type === `number` ? 15 : 0;
1644
- (0, import_react.useLayoutEffect)(() => {
835
+ React.useLayoutEffect(() => {
1645
836
  if (spanRef.current) {
1646
837
  setInputWidth(`${spanRef.current.offsetWidth + extraWidth}px`);
1647
838
  const interval = setInterval(() => {
@@ -1652,8 +843,8 @@ var ElasticInput = (0, import_react.forwardRef)(function ElasticInputFC(props, r
1652
843
  return () => clearInterval(interval);
1653
844
  }
1654
845
  }, [(_a2 = inputRef.current) == null ? void 0 : _a2.value, props.value]);
1655
- return /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("div", { style: { display: `inline-block`, position: `relative` }, children: [
1656
- /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)(
846
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: `inline-block`, position: `relative` }, children: [
847
+ /* @__PURE__ */ jsxRuntime.jsx(
1657
848
  "input",
1658
849
  __spreadProps(__spreadValues({}, props), {
1659
850
  ref: inputRef,
@@ -1665,17 +856,9 @@ var ElasticInput = (0, import_react.forwardRef)(function ElasticInputFC(props, r
1665
856
  fontSize: `inherit`,
1666
857
  width: inputWidth
1667
858
  }, props.style)
1668
- }),
1669
- void 0,
1670
- false,
1671
- {
1672
- fileName: "../../hamr/src/react-elastic-input/ElasticInput.tsx",
1673
- lineNumber: 45,
1674
- columnNumber: 4
1675
- },
1676
- this
859
+ })
1677
860
  ),
1678
- /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)(
861
+ /* @__PURE__ */ jsxRuntime.jsx(
1679
862
  "span",
1680
863
  {
1681
864
  ref: spanRef,
@@ -1689,35 +872,16 @@ var ElasticInput = (0, import_react.forwardRef)(function ElasticInputFC(props, r
1689
872
  fontSize: ((_d = props.style) == null ? void 0 : _d.fontSize) || `inherit`
1690
873
  },
1691
874
  children: props.value
1692
- },
1693
- void 0,
1694
- false,
1695
- {
1696
- fileName: "../../hamr/src/react-elastic-input/ElasticInput.tsx",
1697
- lineNumber: 58,
1698
- columnNumber: 4
1699
- },
1700
- this
875
+ }
1701
876
  )
1702
- ] }, void 0, true, {
1703
- fileName: "../../hamr/src/react-elastic-input/ElasticInput.tsx",
1704
- lineNumber: 44,
1705
- columnNumber: 3
1706
- }, this);
877
+ ] });
1707
878
  });
1708
879
 
1709
- // ../../hamr/src/react-elastic-input/NumberInput.tsx
1710
- var import_function11 = require("fp-ts/function");
1711
- var import_react2 = require("react");
1712
-
1713
880
  // ../../anvl/src/number/clamp.ts
1714
881
  var clampInto = (min, max) => (value) => value < min ? min : value > max ? max : value;
1715
882
 
1716
883
  // ../../anvl/src/number/wrap.ts
1717
884
  var wrapInto = (min, max) => (value) => value < min ? max - (min - value) % (max - min) : min + (value - min) % (max - min);
1718
-
1719
- // ../../hamr/src/react-elastic-input/NumberInput.tsx
1720
- var import_jsx_dev_runtime3 = require("react/jsx-dev-runtime");
1721
885
  function round(value, decimalPlaces) {
1722
886
  if (decimalPlaces === void 0)
1723
887
  return value;
@@ -1749,7 +913,7 @@ var initRefinery = (constraints) => (input) => {
1749
913
  return null;
1750
914
  }
1751
915
  const { max, min, decimalPlaces } = __spreadValues(__spreadValues({}, DEFAULT_NUMBER_CONSTRAINTS), constraints);
1752
- const constrained = (0, import_function11.pipe)(
916
+ const constrained = pipe(
1753
917
  input != null ? input : 0,
1754
918
  clampInto(min, max),
1755
919
  (n) => decimalPlaces ? round(n, decimalPlaces) : n
@@ -1778,9 +942,9 @@ var NumberInput = ({
1778
942
  testId,
1779
943
  value = null
1780
944
  }) => {
1781
- const id = (0, import_react2.useId)();
1782
- const [temporaryEntry, setTemporaryEntry] = (0, import_react2.useState)(null);
1783
- const userHasMadeDeliberateChange = (0, import_react2.useRef)(false);
945
+ const id = React.useId();
946
+ const [temporaryEntry, setTemporaryEntry] = React.useState(null);
947
+ const userHasMadeDeliberateChange = React.useRef(false);
1784
948
  const refine = initRefinery({ max, min, decimalPlaces, nullable: true });
1785
949
  const allowDecimal = decimalPlaces === void 0 || decimalPlaces > 0;
1786
950
  const handleBlur = () => {
@@ -1813,13 +977,9 @@ var NumberInput = ({
1813
977
  }
1814
978
  };
1815
979
  const displayValue = temporaryEntry != null ? temporaryEntry : valueToText(value ? refine(value) : value);
1816
- return /* @__PURE__ */ (0, import_jsx_dev_runtime3.jsxDEV)("span", { css: customCss, children: [
1817
- label && /* @__PURE__ */ (0, import_jsx_dev_runtime3.jsxDEV)("label", { htmlFor: id, children: label }, void 0, false, {
1818
- fileName: "../../hamr/src/react-elastic-input/NumberInput.tsx",
1819
- lineNumber: 168,
1820
- columnNumber: 14
1821
- }, this),
1822
- autoSize ? /* @__PURE__ */ (0, import_jsx_dev_runtime3.jsxDEV)(
980
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { css: customCss, children: [
981
+ label && /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: id, children: label }),
982
+ autoSize ? /* @__PURE__ */ jsxRuntime.jsx(
1823
983
  ElasticInput,
1824
984
  {
1825
985
  type: "text",
@@ -1832,16 +992,8 @@ var NumberInput = ({
1832
992
  id,
1833
993
  onClick,
1834
994
  "data-testid": `number-input-${testId != null ? testId : id}`
1835
- },
1836
- void 0,
1837
- false,
1838
- {
1839
- fileName: "../../hamr/src/react-elastic-input/NumberInput.tsx",
1840
- lineNumber: 170,
1841
- columnNumber: 5
1842
- },
1843
- this
1844
- ) : /* @__PURE__ */ (0, import_jsx_dev_runtime3.jsxDEV)(
995
+ }
996
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
1845
997
  "input",
1846
998
  {
1847
999
  type: "text",
@@ -1854,25 +1006,10 @@ var NumberInput = ({
1854
1006
  id,
1855
1007
  onClick,
1856
1008
  "data-testid": `number-input-${testId != null ? testId : id}`
1857
- },
1858
- void 0,
1859
- false,
1860
- {
1861
- fileName: "../../hamr/src/react-elastic-input/NumberInput.tsx",
1862
- lineNumber: 183,
1863
- columnNumber: 5
1864
- },
1865
- this
1009
+ }
1866
1010
  )
1867
- ] }, void 0, true, {
1868
- fileName: "../../hamr/src/react-elastic-input/NumberInput.tsx",
1869
- lineNumber: 167,
1870
- columnNumber: 3
1871
- }, this);
1011
+ ] });
1872
1012
  };
1873
-
1874
- // ../../hamr/src/react-elastic-input/TextInput.tsx
1875
- var import_jsx_dev_runtime4 = require("react/jsx-dev-runtime");
1876
1013
  var TextInput = ({
1877
1014
  value,
1878
1015
  set,
@@ -1881,13 +1018,9 @@ var TextInput = ({
1881
1018
  customCss,
1882
1019
  autoSize = false
1883
1020
  }) => {
1884
- return /* @__PURE__ */ (0, import_jsx_dev_runtime4.jsxDEV)("span", { css: customCss, children: [
1885
- /* @__PURE__ */ (0, import_jsx_dev_runtime4.jsxDEV)("label", { children: label }, void 0, false, {
1886
- fileName: "../../hamr/src/react-elastic-input/TextInput.tsx",
1887
- lineNumber: 26,
1888
- columnNumber: 4
1889
- }, this),
1890
- autoSize ? /* @__PURE__ */ (0, import_jsx_dev_runtime4.jsxDEV)(
1021
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { css: customCss, children: [
1022
+ /* @__PURE__ */ jsxRuntime.jsx("label", { children: label }),
1023
+ autoSize ? /* @__PURE__ */ jsxRuntime.jsx(
1891
1024
  ElasticInput,
1892
1025
  {
1893
1026
  type: "text",
@@ -1895,16 +1028,8 @@ var TextInput = ({
1895
1028
  onChange: (e) => set == null ? void 0 : set(e.target.value),
1896
1029
  disabled: set === void 0,
1897
1030
  placeholder
1898
- },
1899
- void 0,
1900
- false,
1901
- {
1902
- fileName: "../../hamr/src/react-elastic-input/TextInput.tsx",
1903
- lineNumber: 28,
1904
- columnNumber: 5
1905
- },
1906
- this
1907
- ) : /* @__PURE__ */ (0, import_jsx_dev_runtime4.jsxDEV)(
1031
+ }
1032
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
1908
1033
  "input",
1909
1034
  {
1910
1035
  type: "text",
@@ -1912,49 +1037,19 @@ var TextInput = ({
1912
1037
  onChange: (e) => set == null ? void 0 : set(e.target.value),
1913
1038
  disabled: set === void 0,
1914
1039
  placeholder
1915
- },
1916
- void 0,
1917
- false,
1918
- {
1919
- fileName: "../../hamr/src/react-elastic-input/TextInput.tsx",
1920
- lineNumber: 36,
1921
- columnNumber: 5
1922
- },
1923
- this
1040
+ }
1924
1041
  )
1925
- ] }, void 0, true, {
1926
- fileName: "../../hamr/src/react-elastic-input/TextInput.tsx",
1927
- lineNumber: 25,
1928
- columnNumber: 3
1929
- }, this);
1042
+ ] });
1930
1043
  };
1931
-
1932
- // ../../hamr/src/react-json-editor/editors-by-type/non-json.tsx
1933
- var import_jsx_dev_runtime5 = require("react/jsx-dev-runtime");
1934
1044
  var NonJsonEditor = ({ data }) => {
1935
- return data === void 0 ? /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(ElasticInput, { disabled: true, value: "undefined" }, void 0, false, {
1936
- fileName: "../../hamr/src/react-json-editor/editors-by-type/non-json.tsx",
1937
- lineNumber: 6,
1938
- columnNumber: 3
1939
- }, this) : /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(
1045
+ return data === void 0 ? /* @__PURE__ */ jsxRuntime.jsx(ElasticInput, { disabled: true, value: "undefined" }) : /* @__PURE__ */ jsxRuntime.jsx(
1940
1046
  ElasticInput,
1941
1047
  {
1942
1048
  disabled: true,
1943
1049
  value: Object.getPrototypeOf(data).constructor.name + ` ` + JSON.stringify(data)
1944
- },
1945
- void 0,
1946
- false,
1947
- {
1948
- fileName: "../../hamr/src/react-json-editor/editors-by-type/non-json.tsx",
1949
- lineNumber: 8,
1950
- columnNumber: 3
1951
- },
1952
- this
1050
+ }
1953
1051
  );
1954
1052
  };
1955
-
1956
- // ../../hamr/src/react-json-editor/json-editor-internal.tsx
1957
- var import_jsx_dev_runtime6 = require("react/jsx-dev-runtime");
1958
1053
  var JsonEditor_INTERNAL = ({
1959
1054
  data,
1960
1055
  set,
@@ -1975,53 +1070,25 @@ var JsonEditor_INTERNAL = ({
1975
1070
  const refined = dataIsJson ? refineJsonType(data) : { type: `non-json`, data };
1976
1071
  const SubEditor = dataIsJson ? SubEditors[refined.type] : NonJsonEditor;
1977
1072
  const disabled = isReadonly(path);
1978
- return isHidden(path) ? null : /* @__PURE__ */ (0, import_jsx_dev_runtime6.jsxDEV)(Components.ErrorBoundary, { children: /* @__PURE__ */ (0, import_jsx_dev_runtime6.jsxDEV)(Components.EditorWrapper, { className, customCss, children: [
1979
- remove && /* @__PURE__ */ (0, import_jsx_dev_runtime6.jsxDEV)(
1073
+ return isHidden(path) ? null : /* @__PURE__ */ jsxRuntime.jsx(Components.ErrorBoundary, { children: /* @__PURE__ */ jsxRuntime.jsxs(Components.EditorWrapper, { className, customCss, children: [
1074
+ remove && /* @__PURE__ */ jsxRuntime.jsx(
1980
1075
  Components.Button,
1981
1076
  {
1982
1077
  onClick: disabled ? doNothing : remove,
1983
1078
  disabled,
1984
- children: /* @__PURE__ */ (0, import_jsx_dev_runtime6.jsxDEV)(Components.DeleteIcon, {}, void 0, false, {
1985
- fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
1986
- lineNumber: 65,
1987
- columnNumber: 7
1988
- }, this)
1989
- },
1990
- void 0,
1991
- false,
1992
- {
1993
- fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
1994
- lineNumber: 61,
1995
- columnNumber: 6
1996
- },
1997
- this
1079
+ children: /* @__PURE__ */ jsxRuntime.jsx(Components.DeleteIcon, {})
1080
+ }
1998
1081
  ),
1999
- HeaderDisplay && /* @__PURE__ */ (0, import_jsx_dev_runtime6.jsxDEV)(HeaderDisplay, { data, schema }, void 0, false, {
2000
- fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
2001
- lineNumber: 68,
2002
- columnNumber: 23
2003
- }, this),
2004
- rename && /* @__PURE__ */ (0, import_jsx_dev_runtime6.jsxDEV)(Components.KeyWrapper, { children: /* @__PURE__ */ (0, import_jsx_dev_runtime6.jsxDEV)(
1082
+ HeaderDisplay && /* @__PURE__ */ jsxRuntime.jsx(HeaderDisplay, { data, schema }),
1083
+ rename && /* @__PURE__ */ jsxRuntime.jsx(Components.KeyWrapper, { children: /* @__PURE__ */ jsxRuntime.jsx(
2005
1084
  ElasticInput,
2006
1085
  {
2007
1086
  value: name,
2008
1087
  onChange: disabled ? doNothing : (e) => rename(e.target.value),
2009
1088
  disabled
2010
- },
2011
- void 0,
2012
- false,
2013
- {
2014
- fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
2015
- lineNumber: 71,
2016
- columnNumber: 7
2017
- },
2018
- this
2019
- ) }, void 0, false, {
2020
- fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
2021
- lineNumber: 70,
2022
- columnNumber: 6
2023
- }, this),
2024
- /* @__PURE__ */ (0, import_jsx_dev_runtime6.jsxDEV)(
1089
+ }
1090
+ ) }),
1091
+ /* @__PURE__ */ jsxRuntime.jsx(
2025
1092
  SubEditor,
2026
1093
  {
2027
1094
  data: refined.data,
@@ -2033,50 +1100,28 @@ var JsonEditor_INTERNAL = ({
2033
1100
  isReadonly,
2034
1101
  isHidden,
2035
1102
  Components
2036
- },
2037
- void 0,
2038
- false,
2039
- {
2040
- fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
2041
- lineNumber: 78,
2042
- columnNumber: 5
2043
- },
2044
- this
1103
+ }
2045
1104
  ),
2046
- recast && dataIsJson ? /* @__PURE__ */ (0, import_jsx_dev_runtime6.jsxDEV)(
1105
+ recast && dataIsJson ? /* @__PURE__ */ jsxRuntime.jsx(
2047
1106
  "select",
2048
1107
  {
2049
1108
  onChange: disabled ? doNothing : (e) => recast(e.target.value),
2050
1109
  value: refined.type,
2051
1110
  disabled,
2052
- children: Object.keys(SubEditors).map((type) => /* @__PURE__ */ (0, import_jsx_dev_runtime6.jsxDEV)("option", { value: type, children: type }, type, false, {
2053
- fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
2054
- lineNumber: 100,
2055
- columnNumber: 8
2056
- }, this))
2057
- },
2058
- void 0,
2059
- false,
2060
- {
2061
- fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
2062
- lineNumber: 90,
2063
- columnNumber: 6
2064
- },
2065
- this
1111
+ children: Object.keys(SubEditors).map((type) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: type, children: type }, type))
1112
+ }
2066
1113
  ) : null
2067
- ] }, void 0, true, {
2068
- fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
2069
- lineNumber: 59,
2070
- columnNumber: 4
2071
- }, this) }, void 0, false, {
2072
- fileName: "../../hamr/src/react-json-editor/json-editor-internal.tsx",
2073
- lineNumber: 58,
2074
- columnNumber: 3
2075
- }, this);
1114
+ ] }) });
2076
1115
  };
2077
1116
 
2078
- // ../../hamr/src/react-json-editor/editors-by-type/array-editor.tsx
2079
- var import_jsx_dev_runtime7 = require("react/jsx-dev-runtime");
1117
+ // ../../hamr/src/react-json-editor/editors-by-type/utilities/array-elements.ts
1118
+ var makeElementSetters = (data, set) => data.map(
1119
+ (value, index) => (newValue) => set(() => {
1120
+ const newData = [...data];
1121
+ newData[index] = become(newValue)(value);
1122
+ return newData;
1123
+ })
1124
+ );
2080
1125
  var ArrayEditor = ({
2081
1126
  path = [],
2082
1127
  isReadonly = () => false,
@@ -2086,9 +1131,9 @@ var ArrayEditor = ({
2086
1131
  Components
2087
1132
  }) => {
2088
1133
  const setElement = makeElementSetters(data, set);
2089
- return /* @__PURE__ */ (0, import_jsx_dev_runtime7.jsxDEV)(import_jsx_dev_runtime7.Fragment, { children: data.map((element, index) => {
1134
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: data.map((element, index) => {
2090
1135
  const newPath = [...path, index];
2091
- return /* @__PURE__ */ (0, import_jsx_dev_runtime7.jsxDEV)(
1136
+ return /* @__PURE__ */ jsxRuntime.jsx(
2092
1137
  JsonEditor_INTERNAL,
2093
1138
  {
2094
1139
  path: newPath,
@@ -2098,32 +1143,12 @@ var ArrayEditor = ({
2098
1143
  set: setElement[index],
2099
1144
  Components
2100
1145
  },
2101
- newPath.join(``),
2102
- false,
2103
- {
2104
- fileName: "../../hamr/src/react-json-editor/editors-by-type/array-editor.tsx",
2105
- lineNumber: 23,
2106
- columnNumber: 6
2107
- },
2108
- this
1146
+ newPath.join(``)
2109
1147
  );
2110
- }) }, void 0, false, {
2111
- fileName: "../../hamr/src/react-json-editor/editors-by-type/array-editor.tsx",
2112
- lineNumber: 19,
2113
- columnNumber: 3
2114
- }, this);
1148
+ }) });
2115
1149
  };
2116
1150
 
2117
- // ../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx
2118
- var import_react3 = require("react");
2119
-
2120
- // ../../anvl/src/json-schema/json-schema.ts
2121
- var import_boolean2 = require("fp-ts/boolean");
2122
- var import_number3 = require("fp-ts/number");
2123
- var import_string6 = require("fp-ts/string");
2124
-
2125
1151
  // ../../anvl/src/json-schema/integer.ts
2126
- var import_function13 = require("fp-ts/function");
2127
1152
  var isInteger = (input) => Number.isInteger(input);
2128
1153
  var parseInteger = (input) => {
2129
1154
  if (isInteger(input))
@@ -2149,7 +1174,7 @@ var IntegerParseError = class extends Error {
2149
1174
  }
2150
1175
  };
2151
1176
  var Int = Object.assign((input) => parseInteger(input), {
2152
- from: (input) => (0, import_function13.pipe)(
1177
+ from: (input) => pipe(
2153
1178
  input,
2154
1179
  String,
2155
1180
  parseFloat,
@@ -2180,18 +1205,17 @@ var Int = Object.assign((input) => parseInteger(input), {
2180
1205
  function asNumber(input) {
2181
1206
  return input;
2182
1207
  }
2183
- var a = asNumber(new Fraction(1, 2));
2184
- var b = asNumber([new Fraction(1, 2)]);
2185
- var c = asNumber({ a: new Fraction(1, 2) });
1208
+ asNumber(new Fraction(1, 2));
1209
+ asNumber([new Fraction(1, 2)]);
1210
+ asNumber({ a: new Fraction(1, 2) });
2186
1211
 
2187
1212
  // ../../anvl/src/json-schema/refs.ts
2188
- var import_string4 = require("fp-ts/string");
2189
1213
  function isJsonSchemaRef(input) {
2190
1214
  return doesExtend({
2191
- $ref: import_string4.isString
1215
+ $ref: isString
2192
1216
  })(input);
2193
1217
  }
2194
- var colorPalette = {
1218
+ ({
2195
1219
  $defs: {
2196
1220
  colorChannel: {
2197
1221
  type: `integer`,
@@ -2211,7 +1235,7 @@ var colorPalette = {
2211
1235
  items: {
2212
1236
  $ref: `#/$defs/color`
2213
1237
  }
2214
- };
1238
+ });
2215
1239
  var retrieveRef = ({
2216
1240
  refNode: { $ref },
2217
1241
  refMap = {},
@@ -2239,7 +1263,6 @@ var retrieveRef = ({
2239
1263
  };
2240
1264
 
2241
1265
  // ../../anvl/src/json-schema/string-formats.ts
2242
- var import_string5 = require("fp-ts/string");
2243
1266
  var JSON_SCHEMA_STRING_FORMATS = [
2244
1267
  `date-time`,
2245
1268
  `date`,
@@ -2257,32 +1280,17 @@ var JSON_SCHEMA_STRING_FORMATS = [
2257
1280
 
2258
1281
  // ../../anvl/src/json-schema/json-schema.ts
2259
1282
  var JSON_SCHEMA_TYPE_NAMES = [...JSON_TYPE_NAMES, `integer`];
2260
- var JSON_SCHEMA_META_TYPE_NAMES = [
1283
+ [
2261
1284
  ...JSON_SCHEMA_TYPE_NAMES,
2262
1285
  `any`,
2263
1286
  `never`
2264
1287
  ];
2265
- var JSON_SCHEMA_REFINERY = {
2266
- array: isArraySchema,
2267
- boolean: isBooleanSchema,
2268
- integer: isIntegerSchema,
2269
- null: isNullSchema,
2270
- number: isNumberSchema,
2271
- object: isObjectSchema,
2272
- string: isStringSchema,
2273
- any: isLiteral(true),
2274
- never: isLiteral(false),
2275
- union: isUnionSchema,
2276
- intersection: isIntersectionSchema,
2277
- negation: isNegationSchema,
2278
- conditional: isConditionalSchema
2279
- };
2280
1288
  var stringSchemaStructure = {
2281
1289
  type: isLiteral(`string`),
2282
- enum: ifDefined(isArray(import_string6.isString)),
1290
+ enum: ifDefined(isArray(isString)),
2283
1291
  minLength: ifDefined(isInteger),
2284
1292
  maxLength: ifDefined(isInteger),
2285
- pattern: ifDefined(import_string6.isString),
1293
+ pattern: ifDefined(isString),
2286
1294
  format: ifDefined(isWithin(JSON_SCHEMA_STRING_FORMATS))
2287
1295
  };
2288
1296
  function isStringSchema(input) {
@@ -2290,12 +1298,12 @@ function isStringSchema(input) {
2290
1298
  }
2291
1299
  var numberSchemaStructure = {
2292
1300
  type: isLiteral(`number`),
2293
- enum: ifDefined(isArray(import_number3.isNumber)),
2294
- minimum: ifDefined(import_number3.isNumber),
2295
- maximum: ifDefined(import_number3.isNumber),
2296
- exclusiveMinimum: ifDefined(import_number3.isNumber),
2297
- exclusiveMaximum: ifDefined(import_number3.isNumber),
2298
- multipleOf: ifDefined(import_number3.isNumber)
1301
+ enum: ifDefined(isArray(isNumber)),
1302
+ minimum: ifDefined(isNumber),
1303
+ maximum: ifDefined(isNumber),
1304
+ exclusiveMinimum: ifDefined(isNumber),
1305
+ exclusiveMaximum: ifDefined(isNumber),
1306
+ multipleOf: ifDefined(isNumber)
2299
1307
  };
2300
1308
  function isNumberSchema(input) {
2301
1309
  return doesExtend(numberSchemaStructure)(input);
@@ -2314,7 +1322,7 @@ function isIntegerSchema(input) {
2314
1322
  }
2315
1323
  var booleanSchemaStructure = {
2316
1324
  type: isLiteral(`boolean`),
2317
- enum: ifDefined(isArray(import_boolean2.isBoolean))
1325
+ enum: ifDefined(isArray(isBoolean))
2318
1326
  };
2319
1327
  function isBooleanSchema(input) {
2320
1328
  return doesExtend(booleanSchemaStructure)(input);
@@ -2327,23 +1335,25 @@ function isNullSchema(input) {
2327
1335
  }
2328
1336
  var objectSchemaStructure = {
2329
1337
  type: isLiteral(`object`),
2330
- properties: ifDefined(isRecord(import_string6.isString, isJsonSchema)),
2331
- required: ifDefined(isArray(import_string6.isString)),
1338
+ properties: ifDefined(isRecord(isString, isJsonSchema)),
1339
+ required: ifDefined(isArray(isString)),
2332
1340
  additionalProperties: ifDefined(isJsonSchema),
2333
1341
  propertyNames: ifDefined(isStringSchema),
2334
1342
  minProperties: ifDefined(isInteger),
2335
1343
  maxProperties: ifDefined(isInteger),
2336
- dependentSchemas: ifDefined(isRecord(import_string6.isString, isJsonSchema))
1344
+ dependentSchemas: ifDefined(isRecord(isString, isJsonSchema))
2337
1345
  };
2338
1346
  function isObjectSchema(input) {
2339
1347
  return doesExtend(objectSchemaStructure)(input);
2340
1348
  }
2341
1349
  var arraySchemaStructure = {
2342
1350
  type: isLiteral(`array`),
2343
- items: ifDefined(couldBe(isJsonSchema).or(isArray(isJsonSchema))),
1351
+ items: ifDefined(
1352
+ mustSatisfyOneOfTheFollowing(isJsonSchema).or(isArray(isJsonSchema))
1353
+ ),
2344
1354
  minItems: ifDefined(isInteger),
2345
1355
  maxItems: ifDefined(isInteger),
2346
- uniqueItems: ifDefined(import_boolean2.isBoolean)
1356
+ uniqueItems: ifDefined(isBoolean)
2347
1357
  };
2348
1358
  function isArraySchema(input) {
2349
1359
  return doesExtend(arraySchemaStructure)(input);
@@ -2375,7 +1385,7 @@ function isNegationSchema(input) {
2375
1385
  var mixedSchemaStructure = __spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, arraySchemaStructure), booleanSchemaStructure), integerSchemaStructure), nullSchemaStructure), numberSchemaStructure), objectSchemaStructure), stringSchemaStructure), {
2376
1386
  type: isArray(isWithin(JSON_SCHEMA_TYPE_NAMES)),
2377
1387
  enum: ifDefined(
2378
- isArray(isUnion.or(isInteger).or(import_boolean2.isBoolean).or(import_number3.isNumber).or(import_string6.isString))
1388
+ isArray(isUnion.or(isInteger).or(isBoolean).or(isNumber).or(isString))
2379
1389
  )
2380
1390
  });
2381
1391
  function isMixedSchema(input) {
@@ -2383,12 +1393,12 @@ function isMixedSchema(input) {
2383
1393
  }
2384
1394
  var isJsonSchemaCore = isUnion.or(isArraySchema).or(isBooleanSchema).or(isConditionalSchema).or(isExclusiveSchema).or(isIntegerSchema).or(isIntersectionSchema).or(isMixedSchema).or(isNegationSchema).or(isNullSchema).or(isNumberSchema).or(isObjectSchema).or(isStringSchema).or(isUnionSchema);
2385
1395
  var isJsonSchemaRoot = doesExtend({
2386
- $id: ifDefined(import_string6.isString),
2387
- $schema: ifDefined(import_string6.isString)
1396
+ $id: ifDefined(isString),
1397
+ $schema: ifDefined(isString)
2388
1398
  });
2389
1399
  var isJsonSchemaObject = isIntersection.and(isJsonSchemaCore).and(isJsonSchemaRoot);
2390
1400
  function isJsonSchema(input) {
2391
- return couldBe(isJsonSchemaObject).or(import_boolean2.isBoolean).or(isJsonSchemaRef)(input);
1401
+ return mustSatisfyOneOfTheFollowing(isBoolean).or(isJsonSchemaObject).or(isJsonSchemaRef)(input);
2392
1402
  }
2393
1403
 
2394
1404
  // ../../anvl/src/json-schema/path-into.ts
@@ -2604,7 +1614,7 @@ var makePropertyRenamers = (data, set, stableKeyMapRef) => mapObject(
2604
1614
  var makePropertyRemovers = (data, set) => mapObject(
2605
1615
  data,
2606
1616
  (_, key) => () => set(() => {
2607
- const _a2 = data, { [key]: _2 } = _a2, rest = __objRest(_a2, [__restKey(key)]);
1617
+ const _a2 = data, rest = __objRest(_a2, [__restKey(key)]);
2608
1618
  return rest;
2609
1619
  })
2610
1620
  );
@@ -2621,36 +1631,17 @@ var makePropertySorter = (data, set, sortFn) => () => {
2621
1631
  sortedKeys.forEach((key) => sortedObj[key] = data[key]);
2622
1632
  set(sortedObj);
2623
1633
  };
2624
-
2625
- // ../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx
2626
- var import_jsx_dev_runtime8 = require("react/jsx-dev-runtime");
2627
1634
  var PropertyAdder = ({
2628
1635
  addProperty,
2629
1636
  disabled,
2630
1637
  propertyKey,
2631
1638
  Components
2632
- }) => /* @__PURE__ */ (0, import_jsx_dev_runtime8.jsxDEV)(Components.MissingPropertyWrapper, { children: [
2633
- /* @__PURE__ */ (0, import_jsx_dev_runtime8.jsxDEV)(ElasticInput, { disabled: true, defaultValue: propertyKey }, void 0, false, {
2634
- fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
2635
- lineNumber: 38,
2636
- columnNumber: 3
2637
- }, this),
1639
+ }) => /* @__PURE__ */ jsxRuntime.jsxs(Components.MissingPropertyWrapper, { children: [
1640
+ /* @__PURE__ */ jsxRuntime.jsx(ElasticInput, { disabled: true, defaultValue: propertyKey }),
2638
1641
  ` `,
2639
- /* @__PURE__ */ (0, import_jsx_dev_runtime8.jsxDEV)(ElasticInput, { disabled: true, defaultValue: "is missing" }, void 0, false, {
2640
- fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
2641
- lineNumber: 40,
2642
- columnNumber: 3
2643
- }, this),
2644
- /* @__PURE__ */ (0, import_jsx_dev_runtime8.jsxDEV)(Components.Button, { onClick: () => addProperty(), disabled, children: "+" }, void 0, false, {
2645
- fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
2646
- lineNumber: 41,
2647
- columnNumber: 3
2648
- }, this)
2649
- ] }, void 0, true, {
2650
- fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
2651
- lineNumber: 37,
2652
- columnNumber: 2
2653
- }, this);
1642
+ /* @__PURE__ */ jsxRuntime.jsx(ElasticInput, { disabled: true, defaultValue: "is missing" }),
1643
+ /* @__PURE__ */ jsxRuntime.jsx(Components.Button, { onClick: () => addProperty(), disabled, children: "+" })
1644
+ ] });
2654
1645
  var ObjectEditor = ({
2655
1646
  schema,
2656
1647
  path = [],
@@ -2662,7 +1653,7 @@ var ObjectEditor = ({
2662
1653
  }) => {
2663
1654
  var _a2;
2664
1655
  const disabled = isReadonly(path);
2665
- const stableKeyMap = (0, import_react3.useRef)(
1656
+ const stableKeyMap = React.useRef(
2666
1657
  Object.keys(data).reduce((acc, key) => {
2667
1658
  acc[key] = key;
2668
1659
  return acc;
@@ -2685,20 +1676,16 @@ var ObjectEditor = ({
2685
1676
  [[], []]
2686
1677
  );
2687
1678
  const missingKeys = schemaKeys === true ? [] : schemaKeys.filter((key) => !dataKeys.includes(key));
2688
- return /* @__PURE__ */ (0, import_jsx_dev_runtime8.jsxDEV)(import_jsx_dev_runtime8.Fragment, { children: [
2689
- /* @__PURE__ */ (0, import_jsx_dev_runtime8.jsxDEV)(Components.Button, { onClick: () => sortProperties(), disabled, children: "Sort" }, void 0, false, {
2690
- fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
2691
- lineNumber: 95,
2692
- columnNumber: 4
2693
- }, this),
2694
- /* @__PURE__ */ (0, import_jsx_dev_runtime8.jsxDEV)(Components.ObjectWrapper, { children: [
2695
- /* @__PURE__ */ (0, import_jsx_dev_runtime8.jsxDEV)("div", { className: "json_editor_properties", children: [...missingKeys, ...officialKeys, ...unofficialKeys].map((key) => {
1679
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1680
+ /* @__PURE__ */ jsxRuntime.jsx(Components.Button, { onClick: () => sortProperties(), disabled, children: "Sort" }),
1681
+ /* @__PURE__ */ jsxRuntime.jsxs(Components.ObjectWrapper, { children: [
1682
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "json_editor_properties", children: [...missingKeys, ...officialKeys, ...unofficialKeys].map((key) => {
2696
1683
  const originalKey = stableKeyMap.current[key];
2697
1684
  const newPath = [...path, key];
2698
1685
  const originalPath = [...path, originalKey];
2699
1686
  const isOfficial = schemaKeys === true || schemaKeys.includes(key);
2700
1687
  const isMissing = missingKeys.includes(key);
2701
- return isMissing ? /* @__PURE__ */ (0, import_jsx_dev_runtime8.jsxDEV)(
1688
+ return isMissing ? /* @__PURE__ */ jsxRuntime.jsx(
2702
1689
  PropertyAdder,
2703
1690
  {
2704
1691
  propertyKey: key,
@@ -2706,15 +1693,8 @@ var ObjectEditor = ({
2706
1693
  disabled,
2707
1694
  Components
2708
1695
  },
2709
- key + `IsMissing`,
2710
- false,
2711
- {
2712
- fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
2713
- lineNumber: 108,
2714
- columnNumber: 8
2715
- },
2716
- this
2717
- ) : /* @__PURE__ */ (0, import_jsx_dev_runtime8.jsxDEV)(
1696
+ key + `IsMissing`
1697
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
2718
1698
  JsonEditor_INTERNAL,
2719
1699
  {
2720
1700
  schema,
@@ -2730,107 +1710,49 @@ var ObjectEditor = ({
2730
1710
  className: `json_editor_property ${isOfficial ? `json_editor_official` : `json_editor_unofficial`}`,
2731
1711
  Components
2732
1712
  },
2733
- originalPath.join(`.`),
2734
- false,
2735
- {
2736
- fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
2737
- lineNumber: 116,
2738
- columnNumber: 8
2739
- },
2740
- this
1713
+ originalPath.join(`.`)
2741
1714
  );
2742
- }) }, void 0, false, {
2743
- fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
2744
- lineNumber: 99,
2745
- columnNumber: 5
2746
- }, this),
2747
- /* @__PURE__ */ (0, import_jsx_dev_runtime8.jsxDEV)(
1715
+ }) }),
1716
+ /* @__PURE__ */ jsxRuntime.jsx(
2748
1717
  Components.Button,
2749
1718
  {
2750
1719
  onClick: disabled ? doNothing : () => makePropertyAdder(`new_property`, `string`)(),
2751
1720
  disabled,
2752
1721
  children: "+"
2753
- },
2754
- void 0,
2755
- false,
2756
- {
2757
- fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
2758
- lineNumber: 136,
2759
- columnNumber: 5
2760
- },
2761
- this
1722
+ }
2762
1723
  )
2763
- ] }, void 0, true, {
2764
- fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
2765
- lineNumber: 98,
2766
- columnNumber: 4
2767
- }, this)
2768
- ] }, void 0, true, {
2769
- fileName: "../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx",
2770
- lineNumber: 94,
2771
- columnNumber: 3
2772
- }, this);
1724
+ ] })
1725
+ ] });
2773
1726
  };
2774
-
2775
- // ../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx
2776
- var import_jsx_dev_runtime9 = require("react/jsx-dev-runtime");
2777
1727
  var BooleanEditor = ({
2778
1728
  data,
2779
1729
  set,
2780
1730
  Components
2781
- }) => /* @__PURE__ */ (0, import_jsx_dev_runtime9.jsxDEV)(Components.BooleanWrapper, { children: /* @__PURE__ */ (0, import_jsx_dev_runtime9.jsxDEV)(
1731
+ }) => /* @__PURE__ */ jsxRuntime.jsx(Components.BooleanWrapper, { children: /* @__PURE__ */ jsxRuntime.jsx(
2782
1732
  "input",
2783
1733
  {
2784
1734
  type: "checkbox",
2785
1735
  checked: data,
2786
1736
  onChange: (event) => set(event.target.checked)
2787
- },
2788
- void 0,
2789
- false,
2790
- {
2791
- fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
2792
- lineNumber: 12,
2793
- columnNumber: 3
2794
- },
2795
- this
2796
- ) }, void 0, false, {
2797
- fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
2798
- lineNumber: 11,
2799
- columnNumber: 2
2800
- }, this);
1737
+ }
1738
+ ) });
2801
1739
  var NullEditor = ({
2802
1740
  Components
2803
- }) => /* @__PURE__ */ (0, import_jsx_dev_runtime9.jsxDEV)(Components.NullWrapper, { children: '" "' }, void 0, false, {
2804
- fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
2805
- lineNumber: 23,
2806
- columnNumber: 2
2807
- }, this);
1741
+ }) => /* @__PURE__ */ jsxRuntime.jsx(Components.NullWrapper, { children: '" "' });
2808
1742
  var NumberEditor = ({
2809
1743
  path = [],
2810
1744
  isReadonly = () => false,
2811
1745
  data,
2812
1746
  set,
2813
1747
  Components
2814
- }) => /* @__PURE__ */ (0, import_jsx_dev_runtime9.jsxDEV)(Components.NumberWrapper, { children: /* @__PURE__ */ (0, import_jsx_dev_runtime9.jsxDEV)(
1748
+ }) => /* @__PURE__ */ jsxRuntime.jsx(Components.NumberWrapper, { children: /* @__PURE__ */ jsxRuntime.jsx(
2815
1749
  NumberInput,
2816
1750
  {
2817
1751
  value: data,
2818
1752
  set: isReadonly(path) ? void 0 : (newValue) => set(Number(newValue)),
2819
1753
  autoSize: true
2820
- },
2821
- void 0,
2822
- false,
2823
- {
2824
- fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
2825
- lineNumber: 34,
2826
- columnNumber: 3
2827
- },
2828
- this
2829
- ) }, void 0, false, {
2830
- fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
2831
- lineNumber: 33,
2832
- columnNumber: 2
2833
- }, this);
1754
+ }
1755
+ ) });
2834
1756
  var StringEditor = ({
2835
1757
  path = [],
2836
1758
  isReadonly = () => false,
@@ -2838,38 +1760,20 @@ var StringEditor = ({
2838
1760
  set,
2839
1761
  Components
2840
1762
  }) => {
2841
- return /* @__PURE__ */ (0, import_jsx_dev_runtime9.jsxDEV)(Components.StringWrapper, { children: /* @__PURE__ */ (0, import_jsx_dev_runtime9.jsxDEV)(
1763
+ return /* @__PURE__ */ jsxRuntime.jsx(Components.StringWrapper, { children: /* @__PURE__ */ jsxRuntime.jsx(
2842
1764
  TextInput,
2843
1765
  {
2844
1766
  value: data,
2845
1767
  set: isReadonly(path) ? void 0 : set,
2846
1768
  autoSize: true
2847
- },
2848
- void 0,
2849
- false,
2850
- {
2851
- fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
2852
- lineNumber: 51,
2853
- columnNumber: 4
2854
- },
2855
- this
2856
- ) }, void 0, false, {
2857
- fileName: "../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx",
2858
- lineNumber: 50,
2859
- columnNumber: 3
2860
- }, this);
1769
+ }
1770
+ ) });
2861
1771
  };
2862
-
2863
- // ../../hamr/src/react-error-boundary/ReactErrorBoundary.tsx
2864
- var import_react4 = require("react");
2865
-
2866
- // ../../hamr/src/react-error-boundary/DefaultFallback.tsx
2867
- var import_jsx_dev_runtime10 = require("react/jsx-dev-runtime");
2868
1772
  var DefaultFallback = ({ error, errorInfo }) => {
2869
1773
  var _a2, _b;
2870
1774
  const component = errorInfo == null ? void 0 : errorInfo.componentStack.split(` `).filter(Boolean)[2];
2871
1775
  const message = (_b = (_a2 = error == null ? void 0 : error.toString()) != null ? _a2 : errorInfo == null ? void 0 : errorInfo.componentStack) != null ? _b : `Unknown error`;
2872
- return /* @__PURE__ */ (0, import_jsx_dev_runtime10.jsxDEV)(
1776
+ return /* @__PURE__ */ jsxRuntime.jsx(
2873
1777
  "div",
2874
1778
  {
2875
1779
  "data-testid": "error-boundary",
@@ -2881,7 +1785,7 @@ var DefaultFallback = ({ error, errorInfo }) => {
2881
1785
  // backgroundRepeat: `no-repeat`,
2882
1786
  backgroundSize: `overlay`
2883
1787
  },
2884
- children: /* @__PURE__ */ (0, import_jsx_dev_runtime10.jsxDEV)(
1788
+ children: /* @__PURE__ */ jsxRuntime.jsx(
2885
1789
  "div",
2886
1790
  {
2887
1791
  style: {
@@ -2890,7 +1794,7 @@ var DefaultFallback = ({ error, errorInfo }) => {
2890
1794
  padding: `50px`,
2891
1795
  border: `1px solid dashed`
2892
1796
  },
2893
- children: /* @__PURE__ */ (0, import_jsx_dev_runtime10.jsxDEV)(
1797
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
2894
1798
  "span",
2895
1799
  {
2896
1800
  style: {
@@ -2901,49 +1805,18 @@ var DefaultFallback = ({ error, errorInfo }) => {
2901
1805
  },
2902
1806
  children: [
2903
1807
  `\u26A0\uFE0F `,
2904
- /* @__PURE__ */ (0, import_jsx_dev_runtime10.jsxDEV)("span", { style: { color: `#fc0`, fontWeight: 700 }, children: component }, void 0, false, {
2905
- fileName: "../../hamr/src/react-error-boundary/DefaultFallback.tsx",
2906
- lineNumber: 42,
2907
- columnNumber: 6
2908
- }, this),
1808
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: `#fc0`, fontWeight: 700 }, children: component }),
2909
1809
  ` \u26A0\uFE0F `,
2910
1810
  message
2911
1811
  ]
2912
- },
2913
- void 0,
2914
- true,
2915
- {
2916
- fileName: "../../hamr/src/react-error-boundary/DefaultFallback.tsx",
2917
- lineNumber: 33,
2918
- columnNumber: 5
2919
- },
2920
- this
1812
+ }
2921
1813
  )
2922
- },
2923
- void 0,
2924
- false,
2925
- {
2926
- fileName: "../../hamr/src/react-error-boundary/DefaultFallback.tsx",
2927
- lineNumber: 25,
2928
- columnNumber: 4
2929
- },
2930
- this
1814
+ }
2931
1815
  )
2932
- },
2933
- void 0,
2934
- false,
2935
- {
2936
- fileName: "../../hamr/src/react-error-boundary/DefaultFallback.tsx",
2937
- lineNumber: 13,
2938
- columnNumber: 3
2939
- },
2940
- this
1816
+ }
2941
1817
  );
2942
1818
  };
2943
-
2944
- // ../../hamr/src/react-error-boundary/ReactErrorBoundary.tsx
2945
- var import_jsx_dev_runtime11 = require("react/jsx-dev-runtime");
2946
- var ErrorBoundary = class extends import_react4.Component {
1819
+ var ErrorBoundary = class extends React.Component {
2947
1820
  constructor(props) {
2948
1821
  super(props);
2949
1822
  this.state = {};
@@ -2959,23 +1832,12 @@ var ErrorBoundary = class extends import_react4.Component {
2959
1832
  render() {
2960
1833
  const { error, errorInfo } = this.state;
2961
1834
  const { children, Fallback = DefaultFallback } = this.props;
2962
- return errorInfo ? /* @__PURE__ */ (0, import_jsx_dev_runtime11.jsxDEV)(Fallback, { error, errorInfo }, void 0, false, {
2963
- fileName: "../../hamr/src/react-error-boundary/ReactErrorBoundary.tsx",
2964
- lineNumber: 51,
2965
- columnNumber: 4
2966
- }, this) : children;
1835
+ return errorInfo ? /* @__PURE__ */ jsxRuntime.jsx(Fallback, { error, errorInfo }) : children;
2967
1836
  }
2968
1837
  };
2969
-
2970
- // ../../hamr/src/react-json-editor/default-components.tsx
2971
- var import_jsx_dev_runtime12 = require("react/jsx-dev-runtime");
2972
1838
  var DEFAULT_JSON_EDITOR_COMPONENTS = {
2973
- ErrorBoundary: ({ children }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)(ErrorBoundary, { children }, void 0, false, {
2974
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
2975
- lineNumber: 49,
2976
- columnNumber: 35
2977
- }, this),
2978
- Button: ({ onClick, children, disabled }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)(
1839
+ ErrorBoundary: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children }),
1840
+ Button: ({ onClick, children, disabled }) => /* @__PURE__ */ jsxRuntime.jsx(
2979
1841
  "button",
2980
1842
  {
2981
1843
  type: "button",
@@ -2983,21 +1845,9 @@ var DEFAULT_JSON_EDITOR_COMPONENTS = {
2983
1845
  onClick,
2984
1846
  disabled,
2985
1847
  children
2986
- },
2987
- void 0,
2988
- false,
2989
- {
2990
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
2991
- lineNumber: 51,
2992
- columnNumber: 3
2993
- },
2994
- this
1848
+ }
2995
1849
  ),
2996
- EditorWrapper: ({ children, customCss, className }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)("div", { className: `json_editor ` + className, css: customCss, children }, void 0, false, {
2997
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
2998
- lineNumber: 61,
2999
- columnNumber: 3
3000
- }, this),
1850
+ EditorWrapper: ({ children, customCss, className }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: `json_editor ` + className, css: customCss, children }),
3001
1851
  EditorLayout: ({
3002
1852
  DeleteButton,
3003
1853
  Header,
@@ -3006,109 +1856,28 @@ var DEFAULT_JSON_EDITOR_COMPONENTS = {
3006
1856
  ValueEditor,
3007
1857
  Wrapper
3008
1858
  }) => {
3009
- return /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)(Wrapper, { children: [
3010
- DeleteButton && /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)(DeleteButton, {}, void 0, false, {
3011
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3012
- lineNumber: 75,
3013
- columnNumber: 22
3014
- }, this),
3015
- Header && /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)(Header, {}, void 0, false, {
3016
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3017
- lineNumber: 76,
3018
- columnNumber: 16
3019
- }, this),
3020
- KeyInput && /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)(KeyInput, {}, void 0, false, {
3021
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3022
- lineNumber: 77,
3023
- columnNumber: 18
3024
- }, this),
3025
- TypeSelect && /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)(TypeSelect, {}, void 0, false, {
3026
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3027
- lineNumber: 78,
3028
- columnNumber: 20
3029
- }, this),
3030
- /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)(ValueEditor, {}, void 0, false, {
3031
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3032
- lineNumber: 79,
3033
- columnNumber: 5
3034
- }, this)
3035
- ] }, void 0, true, {
3036
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3037
- lineNumber: 74,
3038
- columnNumber: 4
3039
- }, this);
1859
+ return /* @__PURE__ */ jsxRuntime.jsxs(Wrapper, { children: [
1860
+ DeleteButton && /* @__PURE__ */ jsxRuntime.jsx(DeleteButton, {}),
1861
+ Header && /* @__PURE__ */ jsxRuntime.jsx(Header, {}),
1862
+ KeyInput && /* @__PURE__ */ jsxRuntime.jsx(KeyInput, {}),
1863
+ TypeSelect && /* @__PURE__ */ jsxRuntime.jsx(TypeSelect, {}),
1864
+ /* @__PURE__ */ jsxRuntime.jsx(ValueEditor, {})
1865
+ ] });
3040
1866
  },
3041
- ArrayWrapper: ({ children }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)("div", { className: "json_editor_array", children }, void 0, false, {
3042
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3043
- lineNumber: 84,
3044
- columnNumber: 3
3045
- }, this),
3046
- ObjectWrapper: ({ children }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)("div", { className: "json_editor_object", children }, void 0, false, {
3047
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3048
- lineNumber: 87,
3049
- columnNumber: 3
3050
- }, this),
3051
- StringWrapper: ({ children }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)("span", { className: "json_editor_string", children }, void 0, false, {
3052
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3053
- lineNumber: 90,
3054
- columnNumber: 3
3055
- }, this),
3056
- NumberWrapper: ({ children }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)("span", { className: "json_editor_number", children }, void 0, false, {
3057
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3058
- lineNumber: 93,
3059
- columnNumber: 3
3060
- }, this),
3061
- BooleanWrapper: ({ children }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)("span", { className: "json_editor_boolean", children }, void 0, false, {
3062
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3063
- lineNumber: 96,
3064
- columnNumber: 3
3065
- }, this),
3066
- NullWrapper: ({ children }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)("span", { className: "json_editor_null", children }, void 0, false, {
3067
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3068
- lineNumber: 99,
3069
- columnNumber: 3
3070
- }, this),
3071
- MissingPropertyWrapper: ({ children }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)("div", { className: "json_editor_property json_editor_missing", children }, void 0, false, {
3072
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3073
- lineNumber: 102,
3074
- columnNumber: 3
3075
- }, this),
3076
- MiscastPropertyWrapper: ({ children }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)("div", { className: "json_editor_property json_editor_miscast", children }, void 0, false, {
3077
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3078
- lineNumber: 105,
3079
- columnNumber: 3
3080
- }, this),
3081
- IllegalPropertyWrapper: ({ children }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)("span", { className: "json_editor_property json_editor_illegal", children }, void 0, false, {
3082
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3083
- lineNumber: 108,
3084
- columnNumber: 3
3085
- }, this),
3086
- OfficialPropertyWrapper: ({ children }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)("span", { className: "json_editor_property json_editor_official", children }, void 0, false, {
3087
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3088
- lineNumber: 111,
3089
- columnNumber: 3
3090
- }, this),
3091
- UnofficialPropertyWrapper: ({ children }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)("span", { className: "json_editor_property json_editor_unofficial", children }, void 0, false, {
3092
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3093
- lineNumber: 114,
3094
- columnNumber: 3
3095
- }, this),
3096
- DeleteIcon: () => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)("span", { className: "json_editor_icon json_editor_delete", children: "x" }, void 0, false, {
3097
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3098
- lineNumber: 119,
3099
- columnNumber: 3
3100
- }, this),
3101
- KeyWrapper: ({ children }) => /* @__PURE__ */ (0, import_jsx_dev_runtime12.jsxDEV)("span", { className: "json_editor_key", children }, void 0, false, {
3102
- fileName: "../../hamr/src/react-json-editor/default-components.tsx",
3103
- lineNumber: 122,
3104
- columnNumber: 3
3105
- }, this)
1867
+ ArrayWrapper: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "json_editor_array", children }),
1868
+ ObjectWrapper: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "json_editor_object", children }),
1869
+ StringWrapper: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "json_editor_string", children }),
1870
+ NumberWrapper: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "json_editor_number", children }),
1871
+ BooleanWrapper: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "json_editor_boolean", children }),
1872
+ NullWrapper: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "json_editor_null", children }),
1873
+ MissingPropertyWrapper: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "json_editor_property json_editor_missing", children }),
1874
+ MiscastPropertyWrapper: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "json_editor_property json_editor_miscast", children }),
1875
+ IllegalPropertyWrapper: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "json_editor_property json_editor_illegal", children }),
1876
+ OfficialPropertyWrapper: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "json_editor_property json_editor_official", children }),
1877
+ UnofficialPropertyWrapper: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "json_editor_property json_editor_unofficial", children }),
1878
+ DeleteIcon: () => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "json_editor_icon json_editor_delete", children: "x" }),
1879
+ KeyWrapper: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "json_editor_key", children })
3106
1880
  };
3107
-
3108
- // ../../hamr/src/react-json-editor/developer-interface.tsx
3109
- var import_ajv = __toESM(require("ajv"));
3110
- var import_react5 = require("react");
3111
- var import_jsx_dev_runtime13 = require("react/jsx-dev-runtime");
3112
1881
  var JsonEditor = ({
3113
1882
  data,
3114
1883
  set,
@@ -3125,12 +1894,7 @@ var JsonEditor = ({
3125
1894
  Components: CustomComponents = {}
3126
1895
  }) => {
3127
1896
  const Components = __spreadValues(__spreadValues({}, DEFAULT_JSON_EDITOR_COMPONENTS), CustomComponents);
3128
- const ajv = new import_ajv.default({ allErrors: true, verbose: true });
3129
- const validate = (0, import_react5.useMemo)(() => {
3130
- return ajv.compile(schema);
3131
- }, [schema]);
3132
- const validationResults = validate(data);
3133
- return /* @__PURE__ */ (0, import_jsx_dev_runtime13.jsxDEV)(
1897
+ return /* @__PURE__ */ jsxRuntime.jsx(
3134
1898
  JsonEditor_INTERNAL,
3135
1899
  {
3136
1900
  data,
@@ -3146,15 +1910,7 @@ var JsonEditor = ({
3146
1910
  customCss,
3147
1911
  Header,
3148
1912
  Components
3149
- },
3150
- void 0,
3151
- false,
3152
- {
3153
- fileName: "../../hamr/src/react-json-editor/developer-interface.tsx",
3154
- lineNumber: 77,
3155
- columnNumber: 3
3156
- },
3157
- this
1913
+ }
3158
1914
  );
3159
1915
  };
3160
1916
 
@@ -3168,14 +1924,6 @@ var SubEditors = {
3168
1924
  string: StringEditor
3169
1925
  };
3170
1926
 
3171
- // ../../hamr/src/react-data-designer/RelationEditor.module.scss
3172
- var RelationEditor_module_default = {};
3173
-
3174
- // ../../hamr/src/react-id/Id.tsx
3175
- var import_react6 = require("@floating-ui/react");
3176
- var import_function22 = require("fp-ts/function");
3177
- var React = __toESM(require("react"));
3178
-
3179
1927
  // ../../anvl/src/string/string-to-color.ts
3180
1928
  function stringToColor(input) {
3181
1929
  let hash = 0;
@@ -3282,7 +2030,6 @@ var maxSatForHueInFilter_default = (hue, filter) => {
3282
2030
  $ /= hueB - hueA;
3283
2031
  $ *= tuningPointB.sat - tuningPointA.sat;
3284
2032
  $ += tuningPointA.sat;
3285
- Math.round($);
3286
2033
  maxSat = $;
3287
2034
  }
3288
2035
  }
@@ -3463,25 +2210,6 @@ var hexToSpec = (hex) => {
3463
2210
  };
3464
2211
  var hexToSpec_default = hexToSpec;
3465
2212
 
3466
- // ../../luum/src/mixers/lum.ts
3467
- var import_function16 = require("fp-ts/function");
3468
- var resetColor = (color) => (0, import_function16.pipe)(color, specToHex_default, hexToSpec_default, (hsl) => __spreadProps(__spreadValues({}, hsl), {
3469
- prefer: color.prefer
3470
- }));
3471
- var setLum = (newLum) => (currentColor) => {
3472
- const newColor = __spreadProps(__spreadValues({}, currentColor), {
3473
- lum: (0, import_function16.pipe)(currentColor.lum, become(newLum), clampInto(0, 1))
3474
- });
3475
- return newColor;
3476
- };
3477
- var shadeBy = (shadeAmount) => (color) => setLum((lum) => (lum * 100 - shadeAmount) / 100)(resetColor(color));
3478
-
3479
- // ../../luum/src/mixers/sat.ts
3480
- var import_function18 = require("fp-ts/function");
3481
-
3482
- // ../../luum/src/mixers/hue.ts
3483
- var import_function19 = require("fp-ts/function");
3484
-
3485
2213
  // ../../luum/src/mixers/contrast.ts
3486
2214
  var contrastMax = (color) => __spreadProps(__spreadValues({}, color), {
3487
2215
  lum: color.lum > 0.666 ? 0 : 1
@@ -3490,10 +2218,6 @@ var offset = (offsetAmount) => (color) => __spreadProps(__spreadValues({}, color
3490
2218
  lum: color.lum > 0.666 ? color.lum - offsetAmount : color.lum + offsetAmount
3491
2219
  });
3492
2220
 
3493
- // ../../luum/src/scheme/index.ts
3494
- var import_function20 = require("fp-ts/function");
3495
- var import_string7 = require("fp-ts/string");
3496
-
3497
2221
  // ../../luum/src/constants/luum-spec.ts
3498
2222
  var defaultSpec = {
3499
2223
  hue: 0,
@@ -3504,13 +2228,7 @@ var defaultSpec = {
3504
2228
 
3505
2229
  // ../../luum/src/scheme/index.ts
3506
2230
  var isLuumSpec = (input) => typeof input === `object` && input !== null && typeof input.hue === `number` && typeof input.sat === `number` && typeof input.lum === `number` && [`sat`, `lum`].includes(input.prefer);
3507
- var isLuumSpecModifier = isModifier(isLuumSpec)(defaultSpec);
3508
- var RED = {
3509
- hue: 0,
3510
- sat: 255,
3511
- lum: 0.5,
3512
- prefer: `sat`
3513
- };
2231
+ isModifier(isLuumSpec)(defaultSpec);
3514
2232
  var WAYFORGE_CORE_COLOR_NAMES = [
3515
2233
  `Red`,
3516
2234
  `Orange`,
@@ -3525,7 +2243,7 @@ var WAYFORGE_CORE_COLOR_NAMES = [
3525
2243
  `Magenta`,
3526
2244
  `Pink`
3527
2245
  ];
3528
- var WAYFORGE_CORE_COLORS = WAYFORGE_CORE_COLOR_NAMES.reduce((acc, name, idx) => {
2246
+ WAYFORGE_CORE_COLOR_NAMES.reduce((acc, name, idx) => {
3529
2247
  acc[name] = {
3530
2248
  hue: idx * 30,
3531
2249
  sat: 255,
@@ -3534,41 +2252,26 @@ var WAYFORGE_CORE_COLORS = WAYFORGE_CORE_COLOR_NAMES.reduce((acc, name, idx) =>
3534
2252
  };
3535
2253
  return acc;
3536
2254
  }, {});
3537
- var PAINT_MY_WAGON_RED = {
3538
- rootSelectors: [`.wagon`],
3539
- root: RED,
3540
- attributes: [`background-color`, shadeBy(5)],
3541
- states: [
3542
- [
3543
- [`:hover`, `:focus`],
3544
- [`background-color`, shadeBy(10)]
3545
- ],
3546
- [`:active`, [`background-color`, shadeBy(15)]]
3547
- ]
3548
- };
3549
-
3550
- // ../../hamr/src/react-id/Id.tsx
3551
- var import_jsx_dev_runtime14 = require("react/jsx-dev-runtime");
3552
2255
  var Id = ({ id }) => {
3553
- const [isOpen, setIsOpen] = React.useState(false);
3554
- const { refs, floatingStyles, context } = (0, import_react6.useFloating)({
2256
+ const [isOpen, setIsOpen] = React__namespace.useState(false);
2257
+ const { refs, floatingStyles, context } = react$1.useFloating({
3555
2258
  open: isOpen,
3556
2259
  onOpenChange: setIsOpen,
3557
2260
  placement: `bottom-start`
3558
2261
  });
3559
- const click = (0, import_react6.useClick)(context);
3560
- const { getReferenceProps, getFloatingProps } = (0, import_react6.useInteractions)([click]);
2262
+ const click = react$1.useClick(context);
2263
+ const { getReferenceProps, getFloatingProps } = react$1.useInteractions([click]);
3561
2264
  const bgColor = stringToColor(id);
3562
- const contrastColor = (0, import_function22.pipe)(bgColor, hexToSpec_default, contrastMax, specToHex_default);
3563
- const offsetColor = (0, import_function22.pipe)(bgColor, hexToSpec_default, offset(0.25), specToHex_default);
3564
- const contrastOffsetColor = (0, import_function22.pipe)(
2265
+ const contrastColor = pipe(bgColor, hexToSpec_default, contrastMax, specToHex_default);
2266
+ const offsetColor = pipe(bgColor, hexToSpec_default, offset(0.25), specToHex_default);
2267
+ const contrastOffsetColor = pipe(
3565
2268
  offsetColor,
3566
2269
  hexToSpec_default,
3567
2270
  contrastMax,
3568
2271
  specToHex_default
3569
2272
  );
3570
- return /* @__PURE__ */ (0, import_jsx_dev_runtime14.jsxDEV)(import_jsx_dev_runtime14.Fragment, { children: [
3571
- /* @__PURE__ */ (0, import_jsx_dev_runtime14.jsxDEV)(
2273
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2274
+ /* @__PURE__ */ jsxRuntime.jsx(
3572
2275
  "span",
3573
2276
  __spreadProps(__spreadValues({
3574
2277
  role: "content",
@@ -3583,17 +2286,9 @@ var Id = ({ id }) => {
3583
2286
  whiteSpace: `nowrap`
3584
2287
  },
3585
2288
  children: id.substring(0, 3)
3586
- }),
3587
- void 0,
3588
- false,
3589
- {
3590
- fileName: "../../hamr/src/react-id/Id.tsx",
3591
- lineNumber: 36,
3592
- columnNumber: 4
3593
- },
3594
- this
2289
+ })
3595
2290
  ),
3596
- isOpen && /* @__PURE__ */ (0, import_jsx_dev_runtime14.jsxDEV)(import_react6.FloatingPortal, { children: /* @__PURE__ */ (0, import_jsx_dev_runtime14.jsxDEV)(
2291
+ isOpen && /* @__PURE__ */ jsxRuntime.jsx(react$1.FloatingPortal, { children: /* @__PURE__ */ jsxRuntime.jsx(
3597
2292
  "span",
3598
2293
  __spreadProps(__spreadValues({
3599
2294
  role: "popup",
@@ -3606,29 +2301,13 @@ var Id = ({ id }) => {
3606
2301
  boxShadow: `0px 2px 10px rgba(0, 0, 0, 0.1)`
3607
2302
  }),
3608
2303
  children: id
3609
- }),
3610
- void 0,
3611
- false,
3612
- {
3613
- fileName: "../../hamr/src/react-id/Id.tsx",
3614
- lineNumber: 53,
3615
- columnNumber: 6
3616
- },
3617
- this
3618
- ) }, void 0, false, {
3619
- fileName: "../../hamr/src/react-id/Id.tsx",
3620
- lineNumber: 52,
3621
- columnNumber: 5
3622
- }, this)
3623
- ] }, void 0, true, {
3624
- fileName: "../../hamr/src/react-id/Id.tsx",
3625
- lineNumber: 35,
3626
- columnNumber: 3
3627
- }, this);
2304
+ })
2305
+ ) })
2306
+ ] });
3628
2307
  };
3629
2308
 
3630
- // ../../hamr/src/react-data-designer/RelationEditor.tsx
3631
- var import_jsx_dev_runtime15 = require("react/jsx-dev-runtime");
2309
+ // ../../hamr/src/react-data-designer/RelationEditor.module.scss
2310
+ var RelationEditor_module_default = {};
3632
2311
  var RelationEditor = (props) => {
3633
2312
  const seen = /* @__PURE__ */ new Set();
3634
2313
  const data = Object.entries(props.data.relations).sort(([_, a2], [__, b2]) => b2.length - a2.length).filter(([head, tail]) => {
@@ -3640,125 +2319,48 @@ var RelationEditor = (props) => {
3640
2319
  }
3641
2320
  return true;
3642
2321
  });
3643
- return /* @__PURE__ */ (0, import_jsx_dev_runtime15.jsxDEV)("article", { className: RelationEditor_module_default.class, children: data.map(([head, tail]) => /* @__PURE__ */ (0, import_jsx_dev_runtime15.jsxDEV)("section", { children: [
3644
- /* @__PURE__ */ (0, import_jsx_dev_runtime15.jsxDEV)("span", { children: /* @__PURE__ */ (0, import_jsx_dev_runtime15.jsxDEV)(Id, { id: head }, void 0, false, {
3645
- fileName: "../../hamr/src/react-data-designer/RelationEditor.tsx",
3646
- lineNumber: 26,
3647
- columnNumber: 7
3648
- }, this) }, void 0, false, {
3649
- fileName: "../../hamr/src/react-data-designer/RelationEditor.tsx",
3650
- lineNumber: 25,
3651
- columnNumber: 6
3652
- }, this),
2322
+ return /* @__PURE__ */ jsxRuntime.jsx("article", { className: RelationEditor_module_default.class, children: data.map(([head, tail]) => /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
2323
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: /* @__PURE__ */ jsxRuntime.jsx(Id, { id: head }) }),
3653
2324
  ":",
3654
- /* @__PURE__ */ (0, import_jsx_dev_runtime15.jsxDEV)("span", { children: tail.map((child) => /* @__PURE__ */ (0, import_jsx_dev_runtime15.jsxDEV)(Id, { id: child }, void 0, false, {
3655
- fileName: "../../hamr/src/react-data-designer/RelationEditor.tsx",
3656
- lineNumber: 31,
3657
- columnNumber: 8
3658
- }, this)) }, void 0, false, {
3659
- fileName: "../../hamr/src/react-data-designer/RelationEditor.tsx",
3660
- lineNumber: 29,
3661
- columnNumber: 6
3662
- }, this)
3663
- ] }, void 0, true, {
3664
- fileName: "../../hamr/src/react-data-designer/RelationEditor.tsx",
3665
- lineNumber: 24,
3666
- columnNumber: 5
3667
- }, this)) }, void 0, false, {
3668
- fileName: "../../hamr/src/react-data-designer/RelationEditor.tsx",
3669
- lineNumber: 21,
3670
- columnNumber: 3
3671
- }, this);
2325
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: tail.map((child) => /* @__PURE__ */ jsxRuntime.jsx(Id, { id: child })) })
2326
+ ] })) });
3672
2327
  };
3673
-
3674
- // ../src/react-devtools/StateEditor.tsx
3675
- var import_jsx_dev_runtime16 = require("react/jsx-dev-runtime");
3676
2328
  var StateEditor = ({ token }) => {
3677
- const [data, set] = (0, import_react7.useIO)(token);
3678
- return isJson(data) ? /* @__PURE__ */ (0, import_jsx_dev_runtime16.jsxDEV)(JsonEditor, { data, set, schema: true }, void 0, false, {
3679
- fileName: "../src/react-devtools/StateEditor.tsx",
3680
- lineNumber: 17,
3681
- columnNumber: 3
3682
- }, this) : data instanceof Join ? /* @__PURE__ */ (0, import_jsx_dev_runtime16.jsxDEV)(RelationEditor, { data, set }, void 0, false, {
3683
- fileName: "../src/react-devtools/StateEditor.tsx",
3684
- lineNumber: 19,
3685
- columnNumber: 3
3686
- }, this) : /* @__PURE__ */ (0, import_jsx_dev_runtime16.jsxDEV)("div", { className: "json_editor", children: /* @__PURE__ */ (0, import_jsx_dev_runtime16.jsxDEV)(
2329
+ const set = react.useI(token);
2330
+ const data = react.useO(token);
2331
+ return isJson(data) ? /* @__PURE__ */ jsxRuntime.jsx(JsonEditor, { data, set, schema: true }) : data instanceof Join ? /* @__PURE__ */ jsxRuntime.jsx(RelationEditor, { data, set }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "json_editor", children: /* @__PURE__ */ jsxRuntime.jsx(
3687
2332
  ElasticInput,
3688
2333
  {
3689
2334
  value: data instanceof Set ? `Set { ${JSON.stringify([...data]).slice(1, -1)} }` : data instanceof Map ? `Map ` + JSON.stringify([...data]) : Object.getPrototypeOf(data).constructor.name + ` ` + fallback(() => JSON.stringify(data), `?`),
3690
2335
  disabled: true
3691
- },
3692
- void 0,
3693
- false,
3694
- {
3695
- fileName: "../src/react-devtools/StateEditor.tsx",
3696
- lineNumber: 22,
3697
- columnNumber: 4
3698
- },
3699
- this
3700
- ) }, void 0, false, {
3701
- fileName: "../src/react-devtools/StateEditor.tsx",
3702
- lineNumber: 21,
3703
- columnNumber: 3
3704
- }, this);
2336
+ }
2337
+ ) });
3705
2338
  };
3706
2339
  var ReadonlySelectorViewer = ({ token }) => {
3707
- const data = (0, import_react7.useO)(token);
3708
- return isJson(data) ? /* @__PURE__ */ (0, import_jsx_dev_runtime16.jsxDEV)(
2340
+ const data = react.useO(token);
2341
+ return isJson(data) ? /* @__PURE__ */ jsxRuntime.jsx(
3709
2342
  JsonEditor,
3710
2343
  {
3711
2344
  data,
3712
2345
  set: () => null,
3713
2346
  schema: true,
3714
2347
  isReadonly: () => true
3715
- },
3716
- void 0,
3717
- false,
3718
- {
3719
- fileName: "../src/react-devtools/StateEditor.tsx",
3720
- lineNumber: 43,
3721
- columnNumber: 3
3722
- },
3723
- this
3724
- ) : /* @__PURE__ */ (0, import_jsx_dev_runtime16.jsxDEV)("div", { className: "json_editor", children: /* @__PURE__ */ (0, import_jsx_dev_runtime16.jsxDEV)(
2348
+ }
2349
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "json_editor", children: /* @__PURE__ */ jsxRuntime.jsx(
3725
2350
  ElasticInput,
3726
2351
  {
3727
2352
  value: data instanceof Set ? `Set ` + JSON.stringify([...data]) : data instanceof Map ? `Map ` + JSON.stringify([...data]) : Object.getPrototypeOf(data).constructor.name + ` ` + JSON.stringify(data),
3728
2353
  disabled: true
3729
- },
3730
- void 0,
3731
- false,
3732
- {
3733
- fileName: "../src/react-devtools/StateEditor.tsx",
3734
- lineNumber: 51,
3735
- columnNumber: 4
3736
- },
3737
- this
3738
- ) }, void 0, false, {
3739
- fileName: "../src/react-devtools/StateEditor.tsx",
3740
- lineNumber: 50,
3741
- columnNumber: 3
3742
- }, this);
2354
+ }
2355
+ ) });
3743
2356
  };
3744
2357
  var StoreEditor = ({ token }) => {
3745
2358
  if (token.type === `readonly_selector`) {
3746
- return /* @__PURE__ */ (0, import_jsx_dev_runtime16.jsxDEV)(ReadonlySelectorViewer, { token }, void 0, false, {
3747
- fileName: "../src/react-devtools/StateEditor.tsx",
3748
- lineNumber: 71,
3749
- columnNumber: 10
3750
- }, this);
2359
+ return /* @__PURE__ */ jsxRuntime.jsx(ReadonlySelectorViewer, { token });
3751
2360
  }
3752
- return /* @__PURE__ */ (0, import_jsx_dev_runtime16.jsxDEV)(StateEditor, { token }, void 0, false, {
3753
- fileName: "../src/react-devtools/StateEditor.tsx",
3754
- lineNumber: 73,
3755
- columnNumber: 9
3756
- }, this);
2361
+ return /* @__PURE__ */ jsxRuntime.jsx(StateEditor, { token });
3757
2362
  };
3758
-
3759
- // ../src/react-devtools/StateIndex.tsx
3760
- var import_jsx_dev_runtime17 = require("react/jsx-dev-runtime");
3761
- var findStateTypeState = (0, import_atom8.selectorFamily)({
2363
+ var findStateTypeState = atom_io.selectorFamily({
3762
2364
  key: `\u{1F441}\u200D\u{1F5E8} State Type`,
3763
2365
  get: (token) => ({ get }) => {
3764
2366
  let state;
@@ -3776,695 +2378,317 @@ var findStateTypeState = (0, import_atom8.selectorFamily)({
3776
2378
  });
3777
2379
  var StateIndexLeafNode = ({ node, isOpenState, typeState }) => {
3778
2380
  var _a2, _b;
3779
- const [isOpen, setIsOpen] = (0, import_react8.useIO)(isOpenState);
3780
- const state = (0, import_react8.useO)(node);
3781
- const stateType = (0, import_react8.useO)(typeState);
2381
+ const setIsOpen = react.useI(isOpenState);
2382
+ const isOpen = react.useO(isOpenState);
2383
+ const state = react.useO(node);
2384
+ const stateType = react.useO(typeState);
3782
2385
  const isPrimitive = Boolean(primitiveRefinery.refine(state));
3783
- return /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)(import_jsx_dev_runtime17.Fragment, { children: [
3784
- /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)("header", { children: [
3785
- /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)(
2386
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2387
+ /* @__PURE__ */ jsxRuntime.jsxs("header", { children: [
2388
+ /* @__PURE__ */ jsxRuntime.jsx(
3786
2389
  button.OpenClose,
3787
2390
  {
3788
2391
  isOpen: isOpen && !isPrimitive,
3789
2392
  setIsOpen,
3790
2393
  disabled: isPrimitive
3791
- },
3792
- void 0,
3793
- false,
3794
- {
3795
- fileName: "../src/react-devtools/StateIndex.tsx",
3796
- lineNumber: 48,
3797
- columnNumber: 5
3798
- },
3799
- this
2394
+ }
3800
2395
  ),
3801
- /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)(
2396
+ /* @__PURE__ */ jsxRuntime.jsxs(
3802
2397
  "label",
3803
2398
  {
3804
- onClick: () => console.log(node, (0, import_atom8.getState)(node)),
3805
- onKeyUp: () => console.log(node, (0, import_atom8.getState)(node)),
2399
+ onClick: () => console.log(node, atom_io.getState(node)),
2400
+ onKeyUp: () => console.log(node, atom_io.getState(node)),
3806
2401
  children: [
3807
- /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)("h2", { children: (_b = (_a2 = node.family) == null ? void 0 : _a2.subKey) != null ? _b : node.key }, void 0, false, {
3808
- fileName: "../src/react-devtools/StateIndex.tsx",
3809
- lineNumber: 57,
3810
- columnNumber: 6
3811
- }, this),
3812
- /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)("span", { className: "type detail", children: [
2402
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { children: (_b = (_a2 = node.family) == null ? void 0 : _a2.subKey) != null ? _b : node.key }),
2403
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "type detail", children: [
3813
2404
  "(",
3814
2405
  stateType,
3815
2406
  ")"
3816
- ] }, void 0, true, {
3817
- fileName: "../src/react-devtools/StateIndex.tsx",
3818
- lineNumber: 58,
3819
- columnNumber: 6
3820
- }, this)
2407
+ ] })
3821
2408
  ]
3822
- },
3823
- void 0,
3824
- true,
3825
- {
3826
- fileName: "../src/react-devtools/StateIndex.tsx",
3827
- lineNumber: 53,
3828
- columnNumber: 5
3829
- },
3830
- this
2409
+ }
3831
2410
  ),
3832
- isPrimitive ? /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)(StoreEditor, { token: node }, void 0, false, {
3833
- fileName: "../src/react-devtools/StateIndex.tsx",
3834
- lineNumber: 60,
3835
- columnNumber: 20
3836
- }, this) : null
3837
- ] }, void 0, true, {
3838
- fileName: "../src/react-devtools/StateIndex.tsx",
3839
- lineNumber: 47,
3840
- columnNumber: 4
3841
- }, this),
3842
- isOpen && !isPrimitive ? /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)("main", { children: /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)(StoreEditor, { token: node }, void 0, false, {
3843
- fileName: "../src/react-devtools/StateIndex.tsx",
3844
- lineNumber: 64,
3845
- columnNumber: 6
3846
- }, this) }, void 0, false, {
3847
- fileName: "../src/react-devtools/StateIndex.tsx",
3848
- lineNumber: 63,
3849
- columnNumber: 5
3850
- }, this) : null
3851
- ] }, void 0, true, {
3852
- fileName: "../src/react-devtools/StateIndex.tsx",
3853
- lineNumber: 46,
3854
- columnNumber: 3
3855
- }, this);
2411
+ isPrimitive ? /* @__PURE__ */ jsxRuntime.jsx(StoreEditor, { token: node }) : null
2412
+ ] }),
2413
+ isOpen && !isPrimitive ? /* @__PURE__ */ jsxRuntime.jsx("main", { children: /* @__PURE__ */ jsxRuntime.jsx(StoreEditor, { token: node }) }) : null
2414
+ ] });
3856
2415
  };
3857
2416
  var StateIndexTreeNode = ({ node, isOpenState }) => {
3858
- const [isOpen, setIsOpen] = (0, import_react8.useIO)(isOpenState);
2417
+ const setIsOpen = react.useI(isOpenState);
2418
+ const isOpen = react.useO(isOpenState);
3859
2419
  Object.entries(node.familyMembers).forEach(([key, childNode]) => {
3860
2420
  findViewIsOpenState(key);
3861
2421
  findStateTypeState(childNode);
3862
2422
  });
3863
- return /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)(import_jsx_dev_runtime17.Fragment, { children: [
3864
- /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)("header", { children: [
3865
- /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)(button.OpenClose, { isOpen, setIsOpen }, void 0, false, {
3866
- fileName: "../src/react-devtools/StateIndex.tsx",
3867
- lineNumber: 84,
3868
- columnNumber: 5
3869
- }, this),
3870
- /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)("label", { children: [
3871
- /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)("h2", { children: node.key }, void 0, false, {
3872
- fileName: "../src/react-devtools/StateIndex.tsx",
3873
- lineNumber: 86,
3874
- columnNumber: 6
3875
- }, this),
3876
- /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)("span", { className: "type detail", children: " (family)" }, void 0, false, {
3877
- fileName: "../src/react-devtools/StateIndex.tsx",
3878
- lineNumber: 87,
3879
- columnNumber: 6
3880
- }, this)
3881
- ] }, void 0, true, {
3882
- fileName: "../src/react-devtools/StateIndex.tsx",
3883
- lineNumber: 85,
3884
- columnNumber: 5
3885
- }, this)
3886
- ] }, void 0, true, {
3887
- fileName: "../src/react-devtools/StateIndex.tsx",
3888
- lineNumber: 83,
3889
- columnNumber: 4
3890
- }, this),
3891
- isOpen ? Object.entries(node.familyMembers).map(([key, childNode]) => /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)(
2423
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2424
+ /* @__PURE__ */ jsxRuntime.jsxs("header", { children: [
2425
+ /* @__PURE__ */ jsxRuntime.jsx(button.OpenClose, { isOpen, setIsOpen }),
2426
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { children: [
2427
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { children: node.key }),
2428
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "type detail", children: " (family)" })
2429
+ ] })
2430
+ ] }),
2431
+ isOpen ? Object.entries(node.familyMembers).map(([key, childNode]) => /* @__PURE__ */ jsxRuntime.jsx(
3892
2432
  StateIndexNode,
3893
2433
  {
3894
2434
  node: childNode,
3895
2435
  isOpenState: findViewIsOpenState(childNode.key),
3896
2436
  typeState: findStateTypeState(childNode)
3897
2437
  },
3898
- key,
3899
- false,
3900
- {
3901
- fileName: "../src/react-devtools/StateIndex.tsx",
3902
- lineNumber: 92,
3903
- columnNumber: 7
3904
- },
3905
- this
2438
+ key
3906
2439
  )) : null
3907
- ] }, void 0, true, {
3908
- fileName: "../src/react-devtools/StateIndex.tsx",
3909
- lineNumber: 82,
3910
- columnNumber: 3
3911
- }, this);
2440
+ ] });
3912
2441
  };
3913
2442
  var StateIndexNode = ({ node, isOpenState, typeState }) => {
3914
2443
  if (node.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)) {
3915
2444
  return null;
3916
2445
  }
3917
- return /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)("section", { className: "node state", children: `type` in node ? /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)(
2446
+ return /* @__PURE__ */ jsxRuntime.jsx("section", { className: "node state", children: `type` in node ? /* @__PURE__ */ jsxRuntime.jsx(
3918
2447
  StateIndexLeafNode,
3919
2448
  {
3920
2449
  node,
3921
2450
  isOpenState,
3922
2451
  typeState
3923
- },
3924
- void 0,
3925
- false,
3926
- {
3927
- fileName: "../src/react-devtools/StateIndex.tsx",
3928
- lineNumber: 117,
3929
- columnNumber: 5
3930
- },
3931
- this
3932
- ) : /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)(StateIndexTreeNode, { node, isOpenState }, void 0, false, {
3933
- fileName: "../src/react-devtools/StateIndex.tsx",
3934
- lineNumber: 123,
3935
- columnNumber: 5
3936
- }, this) }, void 0, false, {
3937
- fileName: "../src/react-devtools/StateIndex.tsx",
3938
- lineNumber: 115,
3939
- columnNumber: 3
3940
- }, this);
2452
+ }
2453
+ ) : /* @__PURE__ */ jsxRuntime.jsx(StateIndexTreeNode, { node, isOpenState }) });
3941
2454
  };
3942
2455
  var StateIndex = ({ tokenIndex }) => {
3943
- const tokenIds = (0, import_react8.useO)(tokenIndex);
3944
- return /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)("article", { className: "index state_index", children: Object.entries(tokenIds).filter(([key]) => !key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).sort().map(([key, node]) => {
3945
- return /* @__PURE__ */ (0, import_jsx_dev_runtime17.jsxDEV)(
2456
+ const tokenIds = react.useO(tokenIndex);
2457
+ return /* @__PURE__ */ jsxRuntime.jsx("article", { className: "index state_index", children: Object.entries(tokenIds).filter(([key]) => !key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).sort().map(([key, node]) => {
2458
+ return /* @__PURE__ */ jsxRuntime.jsx(
3946
2459
  StateIndexNode,
3947
2460
  {
3948
2461
  node,
3949
2462
  isOpenState: findViewIsOpenState(node.key),
3950
2463
  typeState: findStateTypeState(node)
3951
2464
  },
3952
- key,
3953
- false,
3954
- {
3955
- fileName: "../src/react-devtools/StateIndex.tsx",
3956
- lineNumber: 146,
3957
- columnNumber: 7
3958
- },
3959
- this
2465
+ key
3960
2466
  );
3961
- }) }, void 0, false, {
3962
- fileName: "../src/react-devtools/StateIndex.tsx",
3963
- lineNumber: 140,
3964
- columnNumber: 3
3965
- }, this);
2467
+ }) });
3966
2468
  };
3967
-
3968
- // ../src/react-devtools/TimelineIndex.tsx
3969
- var import_atom9 = require("atom.io");
3970
- var import_react9 = require("atom.io/react");
3971
- var import_react10 = require("react");
3972
-
3973
- // ../src/react-devtools/Updates.tsx
3974
- var import_jsx_dev_runtime18 = require("react/jsx-dev-runtime");
3975
2469
  var AtomUpdateFC = ({ atomUpdate }) => {
3976
- return /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)(
2470
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3977
2471
  "article",
3978
2472
  {
3979
2473
  className: "node atom_update",
3980
2474
  onClick: () => console.log(atomUpdate),
3981
2475
  onKeyUp: () => console.log(atomUpdate),
3982
2476
  children: [
3983
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("span", { className: "detail", children: [
2477
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "detail", children: [
3984
2478
  atomUpdate.key,
3985
2479
  ": "
3986
- ] }, void 0, true, {
3987
- fileName: "../src/react-devtools/Updates.tsx",
3988
- lineNumber: 20,
3989
- columnNumber: 4
3990
- }, this),
3991
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("span", { children: /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("span", { className: "summary", children: prettyJson.diff(atomUpdate.oldValue, atomUpdate.newValue).summary }, void 0, false, {
3992
- fileName: "../src/react-devtools/Updates.tsx",
3993
- lineNumber: 22,
3994
- columnNumber: 5
3995
- }, this) }, void 0, false, {
3996
- fileName: "../src/react-devtools/Updates.tsx",
3997
- lineNumber: 21,
3998
- columnNumber: 4
3999
- }, this)
2480
+ ] }),
2481
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "summary", children: prettyJson.diff(atomUpdate.oldValue, atomUpdate.newValue).summary }) })
4000
2482
  ]
4001
2483
  },
4002
- atomUpdate.key,
4003
- true,
4004
- {
4005
- fileName: "../src/react-devtools/Updates.tsx",
4006
- lineNumber: 14,
4007
- columnNumber: 3
4008
- },
4009
- this
2484
+ atomUpdate.key
4010
2485
  );
4011
2486
  };
4012
2487
  var TransactionUpdateFC = ({ serialNumber, transactionUpdate }) => {
4013
- return /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("article", { className: "node transaction_update", children: [
4014
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("header", { children: /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("h4", { children: serialNumber }, void 0, false, {
4015
- fileName: "../src/react-devtools/Updates.tsx",
4016
- lineNumber: 37,
4017
- columnNumber: 5
4018
- }, this) }, void 0, false, {
4019
- fileName: "../src/react-devtools/Updates.tsx",
4020
- lineNumber: 36,
4021
- columnNumber: 4
4022
- }, this),
4023
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("main", { children: [
4024
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("section", { className: "transaction_params", children: [
4025
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("span", { className: "detail", children: "params: " }, void 0, false, {
4026
- fileName: "../src/react-devtools/Updates.tsx",
4027
- lineNumber: 41,
4028
- columnNumber: 6
4029
- }, this),
2488
+ return /* @__PURE__ */ jsxRuntime.jsxs("article", { className: "node transaction_update", children: [
2489
+ /* @__PURE__ */ jsxRuntime.jsx("header", { children: /* @__PURE__ */ jsxRuntime.jsx("h4", { children: serialNumber }) }),
2490
+ /* @__PURE__ */ jsxRuntime.jsxs("main", { children: [
2491
+ /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "transaction_params", children: [
2492
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "detail", children: "params: " }),
4030
2493
  transactionUpdate.params.map((param, index) => {
4031
- return /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)(
2494
+ return /* @__PURE__ */ jsxRuntime.jsxs(
4032
2495
  "article",
4033
2496
  {
4034
2497
  className: "node transaction_param",
4035
2498
  onClick: () => console.log(transactionUpdate),
4036
2499
  onKeyUp: () => console.log(transactionUpdate),
4037
2500
  children: [
4038
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("span", { className: "detail", children: [
2501
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "detail", children: [
4039
2502
  discoverType(param),
4040
2503
  ": "
4041
- ] }, void 0, true, {
4042
- fileName: "../src/react-devtools/Updates.tsx",
4043
- lineNumber: 50,
4044
- columnNumber: 9
4045
- }, this),
4046
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("span", { className: "summary", children: typeof param === `object` && `type` in param && `target` in param ? /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)(import_jsx_dev_runtime18.Fragment, { children: JSON.stringify(param.type) }, void 0, false, {
4047
- fileName: "../src/react-devtools/Updates.tsx",
4048
- lineNumber: 55,
4049
- columnNumber: 11
4050
- }, this) : /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)(import_jsx_dev_runtime18.Fragment, { children: JSON.stringify(param) }, void 0, false, {
4051
- fileName: "../src/react-devtools/Updates.tsx",
4052
- lineNumber: 57,
4053
- columnNumber: 11
4054
- }, this) }, void 0, false, {
4055
- fileName: "../src/react-devtools/Updates.tsx",
4056
- lineNumber: 51,
4057
- columnNumber: 9
4058
- }, this)
2504
+ ] }),
2505
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "summary", children: typeof param === `object` && param !== null && `type` in param && `target` in param ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: JSON.stringify(param.type) }) : /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: JSON.stringify(param) }) })
4059
2506
  ]
4060
2507
  },
4061
- `param` + index,
4062
- true,
4063
- {
4064
- fileName: "../src/react-devtools/Updates.tsx",
4065
- lineNumber: 44,
4066
- columnNumber: 8
4067
- },
4068
- this
2508
+ `param` + index
4069
2509
  );
4070
2510
  })
4071
- ] }, void 0, true, {
4072
- fileName: "../src/react-devtools/Updates.tsx",
4073
- lineNumber: 40,
4074
- columnNumber: 5
4075
- }, this),
4076
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("section", { className: "node transaction_output", children: [
4077
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("span", { className: "detail", children: "output: " }, void 0, false, {
4078
- fileName: "../src/react-devtools/Updates.tsx",
4079
- lineNumber: 65,
4080
- columnNumber: 6
4081
- }, this),
4082
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("span", { className: "detail", children: discoverType(transactionUpdate.output) }, void 0, false, {
4083
- fileName: "../src/react-devtools/Updates.tsx",
4084
- lineNumber: 66,
4085
- columnNumber: 6
4086
- }, this),
4087
- transactionUpdate.output ? /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("span", { className: "summary", children: [
2511
+ ] }),
2512
+ /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "node transaction_output", children: [
2513
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "detail", children: "output: " }),
2514
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "detail", children: discoverType(transactionUpdate.output) }),
2515
+ transactionUpdate.output ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "summary", children: [
4088
2516
  ": ",
4089
2517
  JSON.stringify(transactionUpdate.output)
4090
- ] }, void 0, true, {
4091
- fileName: "../src/react-devtools/Updates.tsx",
4092
- lineNumber: 70,
4093
- columnNumber: 7
4094
- }, this) : null
4095
- ] }, void 0, true, {
4096
- fileName: "../src/react-devtools/Updates.tsx",
4097
- lineNumber: 64,
4098
- columnNumber: 5
4099
- }, this),
4100
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("section", { className: "transaction_impact", children: [
4101
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("span", { className: "detail", children: "impact: " }, void 0, false, {
4102
- fileName: "../src/react-devtools/Updates.tsx",
4103
- lineNumber: 76,
4104
- columnNumber: 6
4105
- }, this),
2518
+ ] }) : null
2519
+ ] }),
2520
+ /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "transaction_impact", children: [
2521
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "detail", children: "impact: " }),
4106
2522
  transactionUpdate.atomUpdates.filter((token) => !token.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).map((atomUpdate, index) => {
4107
- return /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)(
2523
+ return /* @__PURE__ */ jsxRuntime.jsx(
4108
2524
  article.AtomUpdate,
4109
2525
  {
4110
2526
  serialNumber: index,
4111
2527
  atomUpdate
4112
2528
  },
4113
- `${transactionUpdate.key}:${index}:${atomUpdate.key}`,
4114
- false,
4115
- {
4116
- fileName: "../src/react-devtools/Updates.tsx",
4117
- lineNumber: 81,
4118
- columnNumber: 9
4119
- },
4120
- this
2529
+ `${transactionUpdate.key}:${index}:${atomUpdate.key}`
4121
2530
  );
4122
2531
  })
4123
- ] }, void 0, true, {
4124
- fileName: "../src/react-devtools/Updates.tsx",
4125
- lineNumber: 75,
4126
- columnNumber: 5
4127
- }, this)
4128
- ] }, void 0, true, {
4129
- fileName: "../src/react-devtools/Updates.tsx",
4130
- lineNumber: 39,
4131
- columnNumber: 4
4132
- }, this)
4133
- ] }, void 0, true, {
4134
- fileName: "../src/react-devtools/Updates.tsx",
4135
- lineNumber: 35,
4136
- columnNumber: 3
4137
- }, this);
2532
+ ] })
2533
+ ] })
2534
+ ] });
4138
2535
  };
4139
2536
  var TimelineUpdateFC = ({ timelineUpdate }) => {
4140
- return /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("article", { className: "node timeline_update", children: [
4141
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("header", { children: /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("h4", { children: [
2537
+ return /* @__PURE__ */ jsxRuntime.jsxs("article", { className: "node timeline_update", children: [
2538
+ /* @__PURE__ */ jsxRuntime.jsx("header", { children: /* @__PURE__ */ jsxRuntime.jsxs("h4", { children: [
4142
2539
  timelineUpdate.timestamp,
4143
2540
  ": ",
4144
2541
  timelineUpdate.type,
4145
2542
  " (",
4146
2543
  timelineUpdate.key,
4147
2544
  ")"
4148
- ] }, void 0, true, {
4149
- fileName: "../src/react-devtools/Updates.tsx",
4150
- lineNumber: 100,
4151
- columnNumber: 5
4152
- }, this) }, void 0, false, {
4153
- fileName: "../src/react-devtools/Updates.tsx",
4154
- lineNumber: 99,
4155
- columnNumber: 4
4156
- }, this),
4157
- /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)("main", { children: timelineUpdate.type === `transaction_update` ? timelineUpdate.atomUpdates.filter((token) => !token.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).map((atomUpdate, index) => {
4158
- return /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)(
2545
+ ] }) }),
2546
+ /* @__PURE__ */ jsxRuntime.jsx("main", { children: timelineUpdate.type === `transaction_update` ? timelineUpdate.atomUpdates.filter((token) => !token.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).map((atomUpdate, index) => {
2547
+ return /* @__PURE__ */ jsxRuntime.jsx(
4159
2548
  article.AtomUpdate,
4160
2549
  {
4161
2550
  serialNumber: index,
4162
2551
  atomUpdate
4163
2552
  },
4164
- `${timelineUpdate.key}:${index}:${atomUpdate.key}`,
4165
- false,
4166
- {
4167
- fileName: "../src/react-devtools/Updates.tsx",
4168
- lineNumber: 111,
4169
- columnNumber: 9
4170
- },
4171
- this
2553
+ `${timelineUpdate.key}:${index}:${atomUpdate.key}`
4172
2554
  );
4173
2555
  }) : timelineUpdate.type === `selector_update` ? timelineUpdate.atomUpdates.filter((token) => !token.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).map((atomUpdate, index) => {
4174
- return /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)(
2556
+ return /* @__PURE__ */ jsxRuntime.jsx(
4175
2557
  article.AtomUpdate,
4176
2558
  {
4177
2559
  serialNumber: index,
4178
2560
  atomUpdate
4179
2561
  },
4180
- `${timelineUpdate.key}:${index}:${atomUpdate.key}`,
4181
- false,
4182
- {
4183
- fileName: "../src/react-devtools/Updates.tsx",
4184
- lineNumber: 123,
4185
- columnNumber: 9
4186
- },
4187
- this
2562
+ `${timelineUpdate.key}:${index}:${atomUpdate.key}`
4188
2563
  );
4189
- }) : timelineUpdate.type === `atom_update` ? /* @__PURE__ */ (0, import_jsx_dev_runtime18.jsxDEV)(
2564
+ }) : timelineUpdate.type === `atom_update` ? /* @__PURE__ */ jsxRuntime.jsx(
4190
2565
  article.AtomUpdate,
4191
2566
  {
4192
2567
  serialNumber: timelineUpdate.timestamp,
4193
2568
  atomUpdate: timelineUpdate
4194
- },
4195
- void 0,
4196
- false,
4197
- {
4198
- fileName: "../src/react-devtools/Updates.tsx",
4199
- lineNumber: 131,
4200
- columnNumber: 6
4201
- },
4202
- this
4203
- ) : null }, void 0, false, {
4204
- fileName: "../src/react-devtools/Updates.tsx",
4205
- lineNumber: 105,
4206
- columnNumber: 4
4207
- }, this)
4208
- ] }, void 0, true, {
4209
- fileName: "../src/react-devtools/Updates.tsx",
4210
- lineNumber: 98,
4211
- columnNumber: 3
4212
- }, this);
2569
+ }
2570
+ ) : null })
2571
+ ] });
4213
2572
  };
4214
2573
  var article = {
4215
2574
  AtomUpdate: AtomUpdateFC,
4216
2575
  TransactionUpdate: TransactionUpdateFC,
4217
2576
  TimelineUpdate: TimelineUpdateFC
4218
2577
  };
4219
-
4220
- // ../src/react-devtools/TimelineIndex.tsx
4221
- var import_jsx_dev_runtime19 = require("react/jsx-dev-runtime");
4222
2578
  var YouAreHere = () => {
4223
- return /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)("span", { className: "you_are_here", children: "you are here" }, void 0, false, {
4224
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4225
- lineNumber: 17,
4226
- columnNumber: 9
4227
- }, this);
2579
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "you_are_here", children: "you are here" });
4228
2580
  };
4229
2581
  var TimelineLog = ({ token, isOpenState, timelineState }) => {
4230
- const timeline2 = (0, import_react9.useO)(timelineState);
4231
- const [isOpen, setIsOpen] = (0, import_react9.useIO)(isOpenState);
4232
- return /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)("section", { className: "node timeline_log", children: [
4233
- /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)("header", { children: [
4234
- /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)(button.OpenClose, { isOpen, setIsOpen }, void 0, false, {
4235
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4236
- lineNumber: 31,
4237
- columnNumber: 5
4238
- }, this),
4239
- /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)("label", { children: [
4240
- /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)("h2", { children: token.key }, void 0, false, {
4241
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4242
- lineNumber: 33,
4243
- columnNumber: 6
4244
- }, this),
4245
- /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)("span", { className: "detail length", children: [
2582
+ const timeline = react.useO(timelineState);
2583
+ const isOpen = react.useO(isOpenState);
2584
+ const setIsOpen = react.useI(isOpenState);
2585
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "node timeline_log", children: [
2586
+ /* @__PURE__ */ jsxRuntime.jsxs("header", { children: [
2587
+ /* @__PURE__ */ jsxRuntime.jsx(button.OpenClose, { isOpen, setIsOpen }),
2588
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { children: [
2589
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { children: token.key }),
2590
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "detail length", children: [
4246
2591
  "(",
4247
- timeline2.at,
2592
+ timeline.at,
4248
2593
  "/",
4249
- timeline2.history.length,
2594
+ timeline.history.length,
4250
2595
  ")"
4251
- ] }, void 0, true, {
4252
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4253
- lineNumber: 34,
4254
- columnNumber: 6
4255
- }, this),
4256
- /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)("span", { className: "gap" }, void 0, false, {
4257
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4258
- lineNumber: 37,
4259
- columnNumber: 6
4260
- }, this),
4261
- /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)("nav", { children: [
4262
- /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)(
2596
+ ] }),
2597
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "gap" }),
2598
+ /* @__PURE__ */ jsxRuntime.jsxs("nav", { children: [
2599
+ /* @__PURE__ */ jsxRuntime.jsx(
4263
2600
  "button",
4264
2601
  {
4265
2602
  type: "button",
4266
- onClick: () => (0, import_atom9.undo)(token),
4267
- disabled: timeline2.at === 0,
2603
+ onClick: () => atom_io.undo(token),
2604
+ disabled: timeline.at === 0,
4268
2605
  children: "undo"
4269
- },
4270
- void 0,
4271
- false,
4272
- {
4273
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4274
- lineNumber: 39,
4275
- columnNumber: 7
4276
- },
4277
- this
2606
+ }
4278
2607
  ),
4279
- /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)(
2608
+ /* @__PURE__ */ jsxRuntime.jsx(
4280
2609
  "button",
4281
2610
  {
4282
2611
  type: "button",
4283
- onClick: () => (0, import_atom9.redo)(token),
4284
- disabled: timeline2.at === timeline2.history.length,
2612
+ onClick: () => atom_io.redo(token),
2613
+ disabled: timeline.at === timeline.history.length,
4285
2614
  children: "redo"
4286
- },
4287
- void 0,
4288
- false,
4289
- {
4290
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4291
- lineNumber: 46,
4292
- columnNumber: 7
4293
- },
4294
- this
2615
+ }
4295
2616
  )
4296
- ] }, void 0, true, {
4297
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4298
- lineNumber: 38,
4299
- columnNumber: 6
4300
- }, this)
4301
- ] }, void 0, true, {
4302
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4303
- lineNumber: 32,
4304
- columnNumber: 5
4305
- }, this)
4306
- ] }, void 0, true, {
4307
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4308
- lineNumber: 30,
4309
- columnNumber: 4
4310
- }, this),
4311
- isOpen ? /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)("main", { children: timeline2.history.map((update, index) => /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)(import_react10.Fragment, { children: [
4312
- index === timeline2.at ? /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)(YouAreHere, {}, void 0, false, {
4313
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4314
- lineNumber: 60,
4315
- columnNumber: 33
4316
- }, this) : null,
4317
- /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)(article.TimelineUpdate, { timelineUpdate: update }, void 0, false, {
4318
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4319
- lineNumber: 61,
4320
- columnNumber: 8
4321
- }, this),
4322
- index === timeline2.history.length - 1 && timeline2.at === timeline2.history.length ? /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)(YouAreHere, {}, void 0, false, {
4323
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4324
- lineNumber: 64,
4325
- columnNumber: 9
4326
- }, this) : null
4327
- ] }, update.key + index + timeline2.at, true, {
4328
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4329
- lineNumber: 59,
4330
- columnNumber: 7
4331
- }, this)) }, void 0, false, {
4332
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4333
- lineNumber: 57,
4334
- columnNumber: 5
4335
- }, this) : null
4336
- ] }, void 0, true, {
4337
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4338
- lineNumber: 29,
4339
- columnNumber: 3
4340
- }, this);
2617
+ ] })
2618
+ ] })
2619
+ ] }),
2620
+ isOpen ? /* @__PURE__ */ jsxRuntime.jsx("main", { children: timeline.history.map((update, index) => /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
2621
+ index === timeline.at ? /* @__PURE__ */ jsxRuntime.jsx(YouAreHere, {}) : null,
2622
+ /* @__PURE__ */ jsxRuntime.jsx(article.TimelineUpdate, { timelineUpdate: update }),
2623
+ index === timeline.history.length - 1 && timeline.at === timeline.history.length ? /* @__PURE__ */ jsxRuntime.jsx(YouAreHere, {}) : null
2624
+ ] }, update.key + index + timeline.at)) }) : null
2625
+ ] });
4341
2626
  };
4342
2627
  var TimelineIndex = () => {
4343
- const tokenIds = (0, import_react9.useO)(timelineIndex);
4344
- return /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)("article", { className: "index timeline_index", children: tokenIds.filter((token) => !token.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).map((token) => {
4345
- return /* @__PURE__ */ (0, import_jsx_dev_runtime19.jsxDEV)(
2628
+ const tokenIds = react.useO(timelineIndex);
2629
+ return /* @__PURE__ */ jsxRuntime.jsx("article", { className: "index timeline_index", children: tokenIds.filter((token) => !token.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).map((token) => {
2630
+ return /* @__PURE__ */ jsxRuntime.jsx(
4346
2631
  TimelineLog,
4347
2632
  {
4348
2633
  token,
4349
2634
  isOpenState: findViewIsOpenState(token.key),
4350
2635
  timelineState: findTimelineState(token.key)
4351
2636
  },
4352
- token.key,
4353
- false,
4354
- {
4355
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4356
- lineNumber: 82,
4357
- columnNumber: 7
4358
- },
4359
- this
2637
+ token.key
4360
2638
  );
4361
- }) }, void 0, false, {
4362
- fileName: "../src/react-devtools/TimelineIndex.tsx",
4363
- lineNumber: 77,
4364
- columnNumber: 3
4365
- }, this);
2639
+ }) });
4366
2640
  };
4367
-
4368
- // ../src/react-devtools/TransactionIndex.tsx
4369
- var import_react11 = require("atom.io/react");
4370
- var import_jsx_dev_runtime20 = require("react/jsx-dev-runtime");
4371
2641
  var TransactionLog = ({ token, isOpenState, logState }) => {
4372
- const log = (0, import_react11.useO)(logState);
4373
- const [isOpen, setIsOpen] = (0, import_react11.useIO)(isOpenState);
4374
- return /* @__PURE__ */ (0, import_jsx_dev_runtime20.jsxDEV)("section", { className: "node transaction_log", children: [
4375
- /* @__PURE__ */ (0, import_jsx_dev_runtime20.jsxDEV)("header", { children: [
4376
- /* @__PURE__ */ (0, import_jsx_dev_runtime20.jsxDEV)(button.OpenClose, { isOpen, setIsOpen }, void 0, false, {
4377
- fileName: "../src/react-devtools/TransactionIndex.tsx",
4378
- lineNumber: 31,
4379
- columnNumber: 5
4380
- }, this),
4381
- /* @__PURE__ */ (0, import_jsx_dev_runtime20.jsxDEV)("label", { children: [
4382
- /* @__PURE__ */ (0, import_jsx_dev_runtime20.jsxDEV)("h2", { children: token.key }, void 0, false, {
4383
- fileName: "../src/react-devtools/TransactionIndex.tsx",
4384
- lineNumber: 33,
4385
- columnNumber: 6
4386
- }, this),
4387
- /* @__PURE__ */ (0, import_jsx_dev_runtime20.jsxDEV)("span", { className: "detail length", children: [
2642
+ const log = react.useO(logState);
2643
+ const isOpen = react.useO(isOpenState);
2644
+ const setIsOpen = react.useI(isOpenState);
2645
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "node transaction_log", children: [
2646
+ /* @__PURE__ */ jsxRuntime.jsxs("header", { children: [
2647
+ /* @__PURE__ */ jsxRuntime.jsx(button.OpenClose, { isOpen, setIsOpen }),
2648
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { children: [
2649
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { children: token.key }),
2650
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "detail length", children: [
4388
2651
  "(",
4389
2652
  log.length,
4390
2653
  ")"
4391
- ] }, void 0, true, {
4392
- fileName: "../src/react-devtools/TransactionIndex.tsx",
4393
- lineNumber: 34,
4394
- columnNumber: 6
4395
- }, this)
4396
- ] }, void 0, true, {
4397
- fileName: "../src/react-devtools/TransactionIndex.tsx",
4398
- lineNumber: 32,
4399
- columnNumber: 5
4400
- }, this)
4401
- ] }, void 0, true, {
4402
- fileName: "../src/react-devtools/TransactionIndex.tsx",
4403
- lineNumber: 30,
4404
- columnNumber: 4
4405
- }, this),
4406
- isOpen ? /* @__PURE__ */ (0, import_jsx_dev_runtime20.jsxDEV)("main", { children: log.map((update, index) => /* @__PURE__ */ (0, import_jsx_dev_runtime20.jsxDEV)(
2654
+ ] })
2655
+ ] })
2656
+ ] }),
2657
+ isOpen ? /* @__PURE__ */ jsxRuntime.jsx("main", { children: log.map((update, index) => /* @__PURE__ */ jsxRuntime.jsx(
4407
2658
  article.TransactionUpdate,
4408
2659
  {
4409
2660
  serialNumber: index,
4410
2661
  transactionUpdate: update
4411
2662
  },
4412
- update.key + index,
4413
- false,
4414
- {
4415
- fileName: "../src/react-devtools/TransactionIndex.tsx",
4416
- lineNumber: 40,
4417
- columnNumber: 7
4418
- },
4419
- this
4420
- )) }, void 0, false, {
4421
- fileName: "../src/react-devtools/TransactionIndex.tsx",
4422
- lineNumber: 38,
4423
- columnNumber: 5
4424
- }, this) : null
4425
- ] }, void 0, true, {
4426
- fileName: "../src/react-devtools/TransactionIndex.tsx",
4427
- lineNumber: 29,
4428
- columnNumber: 3
4429
- }, this);
2663
+ update.key + index
2664
+ )) }) : null
2665
+ ] });
4430
2666
  };
4431
2667
  var TransactionIndex = () => {
4432
- const tokenIds = (0, import_react11.useO)(transactionIndex);
4433
- return /* @__PURE__ */ (0, import_jsx_dev_runtime20.jsxDEV)("article", { className: "index transaction_index", children: tokenIds.filter((token) => !token.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).map((token) => {
4434
- return /* @__PURE__ */ (0, import_jsx_dev_runtime20.jsxDEV)(
2668
+ const tokenIds = react.useO(transactionIndex);
2669
+ return /* @__PURE__ */ jsxRuntime.jsx("article", { className: "index transaction_index", children: tokenIds.filter((token) => !token.key.startsWith(`\u{1F441}\u200D\u{1F5E8}`)).map((token) => {
2670
+ return /* @__PURE__ */ jsxRuntime.jsx(
4435
2671
  TransactionLog,
4436
2672
  {
4437
2673
  token,
4438
2674
  isOpenState: findViewIsOpenState(token.key),
4439
2675
  logState: findTransactionLogState(token.key)
4440
2676
  },
4441
- token.key,
4442
- false,
4443
- {
4444
- fileName: "../src/react-devtools/TransactionIndex.tsx",
4445
- lineNumber: 60,
4446
- columnNumber: 7
4447
- },
4448
- this
2677
+ token.key
4449
2678
  );
4450
- }) }, void 0, false, {
4451
- fileName: "../src/react-devtools/TransactionIndex.tsx",
4452
- lineNumber: 55,
4453
- columnNumber: 3
4454
- }, this);
2679
+ }) });
4455
2680
  };
4456
-
4457
- // ../src/react-devtools/AtomIODevtools.tsx
4458
- var import_jsx_dev_runtime21 = require("react/jsx-dev-runtime");
4459
2681
  var AtomIODevtools = () => {
4460
- const constraintsRef = (0, import_react13.useRef)(null);
4461
- const [devtoolsAreOpen, setDevtoolsAreOpen] = (0, import_react12.useIO)(devtoolsAreOpenState);
4462
- const [devtoolsView, setDevtoolsView] = (0, import_react12.useIO)(devtoolsViewSelectionState);
4463
- const devtoolsViewOptions = (0, import_react12.useO)(devtoolsViewOptionsState);
4464
- const mouseHasMoved = (0, import_react13.useRef)(false);
4465
- return /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)(import_jsx_dev_runtime21.Fragment, { children: [
4466
- /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)(
4467
- import_framer_motion.motion.span,
2682
+ const constraintsRef = React.useRef(null);
2683
+ const setDevtoolsAreOpen = react.useI(devtoolsAreOpenState);
2684
+ const devtoolsAreOpen = react.useO(devtoolsAreOpenState);
2685
+ const setDevtoolsView = react.useI(devtoolsViewSelectionState);
2686
+ const devtoolsView = react.useO(devtoolsViewSelectionState);
2687
+ const devtoolsViewOptions = react.useO(devtoolsViewOptionsState);
2688
+ const mouseHasMoved = React.useRef(false);
2689
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2690
+ /* @__PURE__ */ jsxRuntime.jsx(
2691
+ framerMotion.motion.span,
4468
2692
  {
4469
2693
  ref: constraintsRef,
4470
2694
  className: "atom_io_devtools_zone",
@@ -4476,23 +2700,15 @@ var AtomIODevtools = () => {
4476
2700
  bottom: 0,
4477
2701
  pointerEvents: `none`
4478
2702
  }
4479
- },
4480
- void 0,
4481
- false,
4482
- {
4483
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4484
- lineNumber: 29,
4485
- columnNumber: 4
4486
- },
4487
- this
2703
+ }
4488
2704
  ),
4489
- /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)(
4490
- import_framer_motion.motion.main,
2705
+ /* @__PURE__ */ jsxRuntime.jsxs(
2706
+ framerMotion.motion.main,
4491
2707
  {
4492
2708
  drag: true,
4493
2709
  dragConstraints: constraintsRef,
4494
2710
  className: "atom_io_devtools",
4495
- transition: import_framer_motion.spring,
2711
+ transition: framerMotion.spring,
4496
2712
  style: devtoolsAreOpen ? {} : {
4497
2713
  backgroundColor: `#0000`,
4498
2714
  borderColor: `#0000`,
@@ -4500,14 +2716,10 @@ var AtomIODevtools = () => {
4500
2716
  maxWidth: 33
4501
2717
  },
4502
2718
  children: [
4503
- devtoolsAreOpen ? /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)(import_jsx_dev_runtime21.Fragment, { children: [
4504
- /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)(import_framer_motion.motion.header, { children: [
4505
- /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)("h1", { children: "atom.io" }, void 0, false, {
4506
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4507
- lineNumber: 60,
4508
- columnNumber: 8
4509
- }, this),
4510
- /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)("nav", { children: devtoolsViewOptions.map((viewOption) => /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)(
2719
+ devtoolsAreOpen ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2720
+ /* @__PURE__ */ jsxRuntime.jsxs(framerMotion.motion.header, { children: [
2721
+ /* @__PURE__ */ jsxRuntime.jsx("h1", { children: "atom.io" }),
2722
+ /* @__PURE__ */ jsxRuntime.jsx("nav", { children: devtoolsViewOptions.map((viewOption) => /* @__PURE__ */ jsxRuntime.jsx(
4511
2723
  "button",
4512
2724
  {
4513
2725
  type: "button",
@@ -4516,55 +2728,12 @@ var AtomIODevtools = () => {
4516
2728
  disabled: viewOption === devtoolsView,
4517
2729
  children: viewOption
4518
2730
  },
4519
- viewOption,
4520
- false,
4521
- {
4522
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4523
- lineNumber: 63,
4524
- columnNumber: 10
4525
- },
4526
- this
4527
- )) }, void 0, false, {
4528
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4529
- lineNumber: 61,
4530
- columnNumber: 8
4531
- }, this)
4532
- ] }, void 0, true, {
4533
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4534
- lineNumber: 59,
4535
- columnNumber: 7
4536
- }, this),
4537
- /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)(import_framer_motion.motion.main, { children: /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)(import_framer_motion.LayoutGroup, { children: devtoolsView === `atoms` ? /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)(StateIndex, { tokenIndex: atomIndex }, void 0, false, {
4538
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4539
- lineNumber: 78,
4540
- columnNumber: 10
4541
- }, this) : devtoolsView === `selectors` ? /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)(StateIndex, { tokenIndex: selectorIndex }, void 0, false, {
4542
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4543
- lineNumber: 80,
4544
- columnNumber: 10
4545
- }, this) : devtoolsView === `transactions` ? /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)(TransactionIndex, {}, void 0, false, {
4546
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4547
- lineNumber: 82,
4548
- columnNumber: 10
4549
- }, this) : devtoolsView === `timelines` ? /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)(TimelineIndex, {}, void 0, false, {
4550
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4551
- lineNumber: 84,
4552
- columnNumber: 10
4553
- }, this) : null }, void 0, false, {
4554
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4555
- lineNumber: 76,
4556
- columnNumber: 8
4557
- }, this) }, void 0, false, {
4558
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4559
- lineNumber: 75,
4560
- columnNumber: 7
4561
- }, this)
4562
- ] }, void 0, true, {
4563
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4564
- lineNumber: 58,
4565
- columnNumber: 6
4566
- }, this) : null,
4567
- /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)("footer", { children: /* @__PURE__ */ (0, import_jsx_dev_runtime21.jsxDEV)(
2731
+ viewOption
2732
+ )) })
2733
+ ] }),
2734
+ /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.main, { children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.LayoutGroup, { children: devtoolsView === `atoms` ? /* @__PURE__ */ jsxRuntime.jsx(StateIndex, { tokenIndex: atomIndex }) : devtoolsView === `selectors` ? /* @__PURE__ */ jsxRuntime.jsx(StateIndex, { tokenIndex: selectorIndex }) : devtoolsView === `transactions` ? /* @__PURE__ */ jsxRuntime.jsx(TransactionIndex, {}) : devtoolsView === `timelines` ? /* @__PURE__ */ jsxRuntime.jsx(TimelineIndex, {}) : null }) })
2735
+ ] }) : null,
2736
+ /* @__PURE__ */ jsxRuntime.jsx("footer", { children: /* @__PURE__ */ jsxRuntime.jsx(
4568
2737
  "button",
4569
2738
  {
4570
2739
  type: "button",
@@ -4576,39 +2745,15 @@ var AtomIODevtools = () => {
4576
2745
  }
4577
2746
  },
4578
2747
  children: "\u{1F441}\u200D\u{1F5E8}"
4579
- },
4580
- void 0,
4581
- false,
4582
- {
4583
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4584
- lineNumber: 91,
4585
- columnNumber: 6
4586
- },
4587
- this
4588
- ) }, void 0, false, {
4589
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4590
- lineNumber: 90,
4591
- columnNumber: 5
4592
- }, this)
2748
+ }
2749
+ ) })
4593
2750
  ]
4594
- },
4595
- void 0,
4596
- true,
4597
- {
4598
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4599
- lineNumber: 41,
4600
- columnNumber: 4
4601
- },
4602
- this
2751
+ }
4603
2752
  )
4604
- ] }, void 0, true, {
4605
- fileName: "../src/react-devtools/AtomIODevtools.tsx",
4606
- lineNumber: 28,
4607
- columnNumber: 3
4608
- }, this);
2753
+ ] });
4609
2754
  };
4610
2755
 
4611
- // ../src/react-devtools/index.ts
2756
+ // src/index.ts
4612
2757
  var {
4613
2758
  atomIndex,
4614
2759
  selectorIndex,
@@ -4616,26 +2761,26 @@ var {
4616
2761
  findTransactionLogState,
4617
2762
  timelineIndex,
4618
2763
  findTimelineState
4619
- } = attachIntrospectionStates();
4620
- var devtoolsAreOpenState = atom({
2764
+ } = introspection.attachIntrospectionStates();
2765
+ var devtoolsAreOpenState = atom_io.atom({
4621
2766
  key: `\u{1F441}\u200D\u{1F5E8} Devtools Are Open`,
4622
2767
  default: true,
4623
- effects: [lazyLocalStorageEffect(`\u{1F441}\u200D\u{1F5E8} Devtools Are Open`)]
2768
+ effects: [webEffects.lazyLocalStorageEffect(`\u{1F441}\u200D\u{1F5E8} Devtools Are Open`)]
4624
2769
  });
4625
- var devtoolsViewSelectionState = atom({
2770
+ var devtoolsViewSelectionState = atom_io.atom({
4626
2771
  key: `\u{1F441}\u200D\u{1F5E8} Devtools View Selection`,
4627
2772
  default: `atoms`,
4628
- effects: [lazyLocalStorageEffect(`\u{1F441}\u200D\u{1F5E8} Devtools View`)]
2773
+ effects: [webEffects.lazyLocalStorageEffect(`\u{1F441}\u200D\u{1F5E8} Devtools View`)]
4629
2774
  });
4630
- var devtoolsViewOptionsState = atom({
2775
+ var devtoolsViewOptionsState = atom_io.atom({
4631
2776
  key: `\u{1F441}\u200D\u{1F5E8} Devtools View Options`,
4632
2777
  default: [`atoms`, `selectors`, `transactions`, `timelines`],
4633
- effects: [lazyLocalStorageEffect(`\u{1F441}\u200D\u{1F5E8} Devtools View Options`)]
2778
+ effects: [webEffects.lazyLocalStorageEffect(`\u{1F441}\u200D\u{1F5E8} Devtools View Options`)]
4634
2779
  });
4635
- var findViewIsOpenState = atomFamily({
2780
+ var findViewIsOpenState = atom_io.atomFamily({
4636
2781
  key: `\u{1F441}\u200D\u{1F5E8} Devtools View Is Open`,
4637
2782
  default: false,
4638
- effects: (key) => [lazyLocalStorageEffect(key + `:view-is-open`)]
2783
+ effects: (key) => [webEffects.lazyLocalStorageEffect(key + `:view-is-open`)]
4639
2784
  });
4640
2785
  var primitiveRefinery = new Refinery({
4641
2786
  number: (input) => typeof input === `number`,
@@ -4655,21 +2800,20 @@ var prettyJson = new Differ(primitiveRefinery, jsonTreeRefinery, {
4655
2800
  object: diffObject,
4656
2801
  array: diffArray
4657
2802
  });
4658
- // Annotate the CommonJS export names for ESM import in node:
4659
- 0 && (module.exports = {
4660
- AtomIODevtools,
4661
- atomIndex,
4662
- devtoolsAreOpenState,
4663
- devtoolsViewOptionsState,
4664
- devtoolsViewSelectionState,
4665
- findTimelineState,
4666
- findTransactionLogState,
4667
- findViewIsOpenState,
4668
- jsonTreeRefinery,
4669
- prettyJson,
4670
- primitiveRefinery,
4671
- selectorIndex,
4672
- timelineIndex,
4673
- transactionIndex
4674
- });
2803
+
2804
+ exports.AtomIODevtools = AtomIODevtools;
2805
+ exports.atomIndex = atomIndex;
2806
+ exports.devtoolsAreOpenState = devtoolsAreOpenState;
2807
+ exports.devtoolsViewOptionsState = devtoolsViewOptionsState;
2808
+ exports.devtoolsViewSelectionState = devtoolsViewSelectionState;
2809
+ exports.findTimelineState = findTimelineState;
2810
+ exports.findTransactionLogState = findTransactionLogState;
2811
+ exports.findViewIsOpenState = findViewIsOpenState;
2812
+ exports.jsonTreeRefinery = jsonTreeRefinery;
2813
+ exports.prettyJson = prettyJson;
2814
+ exports.primitiveRefinery = primitiveRefinery;
2815
+ exports.selectorIndex = selectorIndex;
2816
+ exports.timelineIndex = timelineIndex;
2817
+ exports.transactionIndex = transactionIndex;
2818
+ //# sourceMappingURL=out.js.map
4675
2819
  //# sourceMappingURL=index.js.map