atom.io 0.17.0 → 0.18.1

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 (153) hide show
  1. package/data/dist/index.cjs +62 -40
  2. package/data/dist/index.cjs.map +1 -1
  3. package/data/dist/index.d.ts +8 -2
  4. package/data/dist/index.js +64 -42
  5. package/data/dist/index.js.map +1 -1
  6. package/data/src/dict.ts +8 -4
  7. package/data/src/join.ts +74 -33
  8. package/data/src/struct-family.ts +18 -17
  9. package/dist/chunk-IZHOMSXA.js +331 -0
  10. package/dist/chunk-IZHOMSXA.js.map +1 -0
  11. package/dist/chunk-JDUNWJFB.js +18 -0
  12. package/dist/chunk-JDUNWJFB.js.map +1 -0
  13. package/dist/index.cjs +4 -10
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.d.ts +66 -51
  16. package/dist/index.js +5 -11
  17. package/dist/index.js.map +1 -1
  18. package/internal/dist/index.cjs +187 -58
  19. package/internal/dist/index.cjs.map +1 -1
  20. package/internal/dist/index.d.ts +95 -71
  21. package/internal/dist/index.js +179 -53
  22. package/internal/dist/index.js.map +1 -1
  23. package/internal/src/arbitrary.ts +3 -0
  24. package/internal/src/atom/delete-atom.ts +7 -6
  25. package/internal/src/caching.ts +6 -4
  26. package/internal/src/families/find-in-store.ts +16 -0
  27. package/internal/src/get-environment-data.ts +4 -7
  28. package/internal/src/index.ts +6 -5
  29. package/internal/src/ingest-updates/ingest-atom-update.ts +6 -2
  30. package/internal/src/ingest-updates/ingest-transaction-update.ts +0 -1
  31. package/internal/src/selector/create-standalone-selector.ts +0 -2
  32. package/internal/src/set-state/copy-mutable-if-needed.ts +5 -0
  33. package/internal/src/set-state/emit-update.ts +25 -11
  34. package/internal/src/set-state/set-atom.ts +15 -18
  35. package/internal/src/store/store.ts +14 -2
  36. package/internal/src/store/withdraw.ts +72 -2
  37. package/internal/src/subscribe/subscribe-to-timeline.ts +2 -2
  38. package/internal/src/subscribe/subscribe-to-transaction.ts +2 -2
  39. package/internal/src/timeline/create-timeline.ts +12 -1
  40. package/internal/src/transaction/act-upon-store.ts +19 -0
  41. package/internal/src/transaction/apply-transaction.ts +6 -1
  42. package/internal/src/transaction/assign-transaction-to-continuity.ts +18 -0
  43. package/internal/src/transaction/build-transaction.ts +7 -6
  44. package/internal/src/transaction/create-transaction.ts +1 -1
  45. package/internal/src/transaction/get-epoch-number.ts +40 -0
  46. package/internal/src/transaction/index.ts +10 -1
  47. package/internal/src/transaction/set-epoch-number.ts +30 -0
  48. package/introspection/dist/index.cjs.map +1 -1
  49. package/introspection/dist/index.d.ts +3 -3
  50. package/introspection/dist/index.js.map +1 -1
  51. package/introspection/src/attach-introspection-states.ts +6 -2
  52. package/introspection/src/attach-timeline-family.ts +5 -2
  53. package/introspection/src/attach-transaction-logs.ts +2 -2
  54. package/json/dist/index.d.ts +3 -1
  55. package/json/src/index.ts +4 -0
  56. package/package.json +241 -230
  57. package/react/dist/index.cjs.map +1 -1
  58. package/react/dist/index.d.ts +1 -1
  59. package/react/dist/index.js.map +1 -1
  60. package/react/src/use-json.ts +1 -1
  61. package/react-devtools/dist/index.cjs +131 -134
  62. package/react-devtools/dist/index.cjs.map +1 -1
  63. package/react-devtools/dist/index.css +2 -2
  64. package/react-devtools/dist/index.css.map +1 -1
  65. package/react-devtools/dist/index.d.ts +3 -3
  66. package/react-devtools/dist/index.js +91 -108
  67. package/react-devtools/dist/index.js.map +1 -1
  68. package/react-devtools/src/StateEditor.tsx +4 -4
  69. package/react-devtools/src/StateIndex.tsx +1 -4
  70. package/react-devtools/src/TimelineIndex.tsx +3 -3
  71. package/react-devtools/src/TransactionIndex.tsx +9 -8
  72. package/react-devtools/src/index.ts +2 -2
  73. package/realtime/dist/index.cjs +120 -0
  74. package/realtime/dist/index.cjs.map +1 -0
  75. package/realtime/dist/index.d.ts +146 -0
  76. package/realtime/dist/index.js +111 -0
  77. package/realtime/dist/index.js.map +1 -0
  78. package/realtime/package.json +16 -0
  79. package/realtime/src/index.ts +2 -0
  80. package/realtime/src/realtime-continuity.ts +162 -0
  81. package/realtime/src/shared-room-store.ts +48 -0
  82. package/realtime-client/dist/index.cjs +424 -170
  83. package/realtime-client/dist/index.cjs.map +1 -1
  84. package/realtime-client/dist/index.d.ts +15 -11
  85. package/realtime-client/dist/index.js +96 -177
  86. package/realtime-client/dist/index.js.map +1 -1
  87. package/realtime-client/src/index.ts +8 -7
  88. package/realtime-client/src/{pull-family-member.ts → pull-atom-family-member.ts} +2 -2
  89. package/realtime-client/src/{pull-state.ts → pull-atom.ts} +2 -2
  90. package/realtime-client/src/{pull-mutable-family-member.ts → pull-mutable-atom-family-member.ts} +6 -6
  91. package/realtime-client/src/{pull-mutable.ts → pull-mutable-atom.ts} +1 -1
  92. package/realtime-client/src/pull-selector-family-member.ts +42 -0
  93. package/realtime-client/src/pull-selector.ts +38 -0
  94. package/realtime-client/src/realtime-client-stores/client-main-store.ts +12 -2
  95. package/realtime-client/src/realtime-client-stores/client-sync-store.ts +7 -7
  96. package/realtime-client/src/sync-continuity.ts +368 -0
  97. package/realtime-react/dist/index.cjs +367 -27
  98. package/realtime-react/dist/index.cjs.map +1 -1
  99. package/realtime-react/dist/index.d.ts +24 -8
  100. package/realtime-react/dist/index.js +38 -22
  101. package/realtime-react/dist/index.js.map +1 -1
  102. package/realtime-react/src/index.ts +6 -5
  103. package/realtime-react/src/use-pull-atom-family-member.ts +21 -0
  104. package/realtime-react/src/{use-sync.ts → use-pull-atom.ts} +4 -4
  105. package/realtime-react/src/{use-pull-mutable.ts → use-pull-mutable-atom.ts} +4 -3
  106. package/realtime-react/src/use-pull-mutable-family-member.ts +9 -4
  107. package/realtime-react/src/use-pull-selector-family-member.ts +21 -0
  108. package/realtime-react/src/{use-pull.ts → use-pull-selector.ts} +7 -5
  109. package/realtime-react/src/use-push.ts +3 -2
  110. package/realtime-react/src/use-server-action.ts +3 -2
  111. package/realtime-react/src/use-sync-continuity.ts +12 -0
  112. package/realtime-server/dist/index.cjs +769 -371
  113. package/realtime-server/dist/index.cjs.map +1 -1
  114. package/realtime-server/dist/index.d.ts +130 -60
  115. package/realtime-server/dist/index.js +753 -361
  116. package/realtime-server/dist/index.js.map +1 -1
  117. package/realtime-server/src/index.ts +17 -3
  118. package/realtime-server/src/ipc-sockets/child-socket.ts +135 -0
  119. package/realtime-server/src/ipc-sockets/custom-socket.ts +90 -0
  120. package/realtime-server/src/ipc-sockets/index.ts +3 -0
  121. package/realtime-server/src/ipc-sockets/parent-socket.ts +185 -0
  122. package/realtime-server/src/realtime-action-receiver.ts +8 -5
  123. package/realtime-server/src/realtime-continuity-synchronizer.ts +376 -0
  124. package/realtime-server/src/realtime-family-provider.ts +30 -71
  125. package/realtime-server/src/realtime-mutable-family-provider.ts +24 -86
  126. package/realtime-server/src/realtime-server-stores/index.ts +4 -1
  127. package/realtime-server/src/realtime-server-stores/realtime-continuity-store.ts +109 -0
  128. package/realtime-server/src/realtime-server-stores/server-room-external-actions.ts +64 -0
  129. package/realtime-server/src/realtime-server-stores/server-room-external-store.ts +42 -0
  130. package/realtime-server/src/realtime-server-stores/server-sync-store.ts +51 -98
  131. package/realtime-server/src/realtime-server-stores/server-user-store.ts +14 -29
  132. package/realtime-server/src/realtime-state-receiver.ts +0 -1
  133. package/realtime-testing/dist/index.cjs +34 -32
  134. package/realtime-testing/dist/index.cjs.map +1 -1
  135. package/realtime-testing/dist/index.d.ts +1 -0
  136. package/realtime-testing/dist/index.js +33 -31
  137. package/realtime-testing/dist/index.js.map +1 -1
  138. package/realtime-testing/src/setup-realtime-test.tsx +44 -32
  139. package/src/atom.ts +49 -31
  140. package/src/logger.ts +14 -5
  141. package/src/selector.ts +44 -25
  142. package/src/subscribe.ts +2 -1
  143. package/src/timeline.ts +4 -4
  144. package/src/transaction.ts +13 -17
  145. package/src/validators.ts +15 -9
  146. package/dist/chunk-H4Q5FTPZ.js +0 -11
  147. package/dist/chunk-H4Q5FTPZ.js.map +0 -1
  148. package/internal/src/set-state/copy-mutable-in-transaction.ts +0 -19
  149. package/realtime-client/src/sync-server-action.ts +0 -170
  150. package/realtime-client/src/sync-state.ts +0 -19
  151. package/realtime-react/src/use-pull-family-member.ts +0 -16
  152. package/realtime-react/src/use-sync-server-action.ts +0 -16
  153. package/realtime-server/src/realtime-action-synchronizer.ts +0 -152
@@ -1,5 +1,5 @@
1
- /* ../hamr/src/react-data-designer/RelationEditor.module.scss */
2
- .class {
1
+ /* ../hamr/react-data-designer/src/relation-editor-styles.scss */
2
+ .relation-editor-0123456789 {
3
3
  display: flex;
4
4
  flex-flow: row wrap;
5
5
  gap: 4px;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../hamr/src/react-data-designer/RelationEditor.module.scss","../src/devtools.scss"],"sourcesContent":[".class {\n display: flex;\n flex-flow: row wrap;\n gap: 4px;\n section {\n display: flex;\n flex-flow: row;\n margin-bottom: 1rem;\n border: 1px solid #ccc;\n padding: 2px;\n margin: 0;\n span {\n display: flex;\n }\n }\n}\n","main.atom_io_devtools {\n --fg-color: #eee;\n --bg-color: #111;\n --bg-tint1: #222;\n --fg-border: 1px solid var(--fg-color);\n @media (prefers-color-scheme: light) {\n --fg-color: #444;\n --bg-color: #ddd;\n --bg-tint1: #e3e3e3;\n }\n box-sizing: border-box;\n color: var(--fg-color);\n background-color: var(--bg-color);\n border: 2px solid var(--fg-color);\n position: fixed;\n right: 0;\n bottom: 0;\n height: 100%;\n display: flex;\n flex-flow: column;\n max-height: 800px;\n width: 100%;\n max-width: 500px;\n overflow-y: scroll;\n * {\n font-size: 16px;\n font-family: theia, monospace;\n }\n > header {\n padding: 5px;\n padding-left: 10px;\n padding-bottom: 0;\n display: flex;\n justify-content: space-between;\n h1 {\n font-size: inherit;\n margin: 0;\n font-size: 24px;\n font-family: charter;\n }\n nav {\n display: flex;\n flex-flow: row nowrap;\n button {\n cursor: pointer;\n background: none;\n border: none;\n padding: none;\n margin-bottom: -2px;\n z-index: 1000;\n &:disabled {\n cursor: default;\n background-color: var(--bg-tint1);\n color: var(--fg-color);\n border: var(--fg-border);\n border-bottom: none;\n }\n }\n }\n }\n > main {\n background: var(--bg-tint1);\n }\n main {\n overflow-y: scroll;\n flex-grow: 1;\n display: flex;\n flex-flow: column;\n gap: 0;\n article.index {\n .node .node {\n border-right: var(--fg-border);\n padding-right: 0;\n background: #fff3;\n }\n .node > .node {\n margin: 5px 0;\n margin-left: 12px;\n border-left: var(--fg-border);\n }\n .node {\n border-top: var(--fg-border);\n overflow-x: scroll;\n padding: 5px;\n &:last-of-type {\n border-bottom: var(--fg-border);\n }\n &.transaction_update {\n padding: 0;\n }\n header {\n display: flex;\n flex-flow: row;\n gap: 5px;\n position: sticky;\n z-index: 999;\n top: 0;\n button.carat {\n cursor: pointer;\n background: none;\n border: none;\n width: 20px;\n &.open {\n transform: rotate(90deg);\n }\n &:disabled {\n cursor: default;\n }\n }\n label {\n display: flex;\n flex-flow: row;\n gap: 5px;\n cursor: help;\n h2 {\n display: inline-block;\n margin: 0;\n }\n .detail {\n color: #777;\n @media (prefers-color-scheme: light) {\n color: #999;\n }\n }\n }\n }\n main {\n margin-left: 15px;\n }\n }\n section.transaction_log {\n margin-top: 0;\n header: {\n padding: 5px;\n }\n main {\n display: flex;\n flex-flow: row wrap;\n gap: 5px;\n .transaction_update {\n width: 100%;\n display: flex;\n flex-flow: row;\n align-items: flex-start;\n justify-content: flex-start;\n justify-items: flex-start;\n align-content: flex-start;\n border-left: var(--fg-border);\n border-top: var(--fg-border);\n header {\n padding: 5px;\n h4 {\n margin: 0;\n padding: 0;\n font-size: inherit;\n }\n }\n main {\n margin-left: 0;\n display: flex;\n flex-flow: column;\n gap: 0px;\n border-left: 1px solid #333;\n section ~ section {\n border-top: 1px solid #333;\n }\n section {\n padding: 5px;\n &.transaction_output {\n border-right: none;\n }\n &.transaction_impact {\n padding: 5px;\n }\n margin: 0;\n article {\n border-left: var(--fg-border);\n border-right: var(--fg-border);\n .summary {\n white-space: nowrap;\n }\n }\n }\n }\n }\n }\n }\n section.timeline_log {\n header {\n display: flex;\n label {\n display: flex;\n width: 100%;\n flex-grow: 1;\n .gap {\n flex-grow: 1;\n }\n nav {\n display: flex;\n flex-flow: row nowrap;\n gap: 5px;\n }\n }\n }\n .timeline_update {\n padding: 5px;\n border-left: var(--fg-border);\n h4 {\n margin: 0;\n padding: 0;\n font-size: inherit;\n }\n main {\n margin: 0;\n .node.atom_update {\n border-left: var(--fg-border);\n }\n }\n }\n .you_are_here {\n background: var(--fg-color);\n color: var(--bg-color);\n text-align: center;\n }\n }\n }\n }\n footer {\n display: flex;\n justify-content: flex-end;\n button {\n cursor: pointer;\n background: none;\n border: none;\n padding: none;\n position: absolute;\n right: 0;\n bottom: 0;\n }\n }\n\n .json_editor {\n input {\n font-family: theia;\n border: none;\n border-bottom: 1px solid;\n background: none;\n &:disabled {\n border: none;\n }\n }\n button {\n background: none;\n margin-left: auto;\n color: #777;\n border: none;\n font-family: theia;\n font-size: 14px;\n margin: none;\n padding: 4px;\n padding-bottom: 6px;\n cursor: pointer;\n &:hover {\n color: #333;\n background-color: #aaa;\n }\n }\n select {\n font-family: theia;\n font-size: 14px;\n background: none;\n border: none;\n color: #777;\n @media (prefers-color-scheme: light) {\n color: #999;\n }\n }\n .json_editor_unofficial {\n background-color: #777;\n button {\n color: #333;\n }\n }\n .json_editor_missing {\n background-color: #f055;\n }\n .json_editor_key {\n padding-right: 10px;\n input {\n color: #999;\n @media (prefers-color-scheme: light) {\n color: #777;\n }\n }\n }\n .json_editor_object {\n border-left: 2px solid #333;\n padding-left: 20px;\n @media (prefers-color-scheme: light) {\n border-color: #ccc;\n }\n .json_editor_properties {\n > * {\n border-bottom: var(--fg-border);\n margin-bottom: 2px;\n }\n }\n }\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../hamr/react-data-designer/src/relation-editor-styles.scss","../src/devtools.scss"],"sourcesContent":[".relation-editor-0123456789 {\n display: flex;\n flex-flow: row wrap;\n gap: 4px;\n section {\n display: flex;\n flex-flow: row;\n margin-bottom: 1rem;\n border: 1px solid #ccc;\n padding: 2px;\n margin: 0;\n span {\n display: flex;\n }\n }\n}\n","main.atom_io_devtools {\n --fg-color: #eee;\n --bg-color: #111;\n --bg-tint1: #222;\n --fg-border: 1px solid var(--fg-color);\n @media (prefers-color-scheme: light) {\n --fg-color: #444;\n --bg-color: #ddd;\n --bg-tint1: #e3e3e3;\n }\n box-sizing: border-box;\n color: var(--fg-color);\n background-color: var(--bg-color);\n border: 2px solid var(--fg-color);\n position: fixed;\n right: 0;\n bottom: 0;\n height: 100%;\n display: flex;\n flex-flow: column;\n max-height: 800px;\n width: 100%;\n max-width: 500px;\n overflow-y: scroll;\n * {\n font-size: 16px;\n font-family: theia, monospace;\n }\n > header {\n padding: 5px;\n padding-left: 10px;\n padding-bottom: 0;\n display: flex;\n justify-content: space-between;\n h1 {\n font-size: inherit;\n margin: 0;\n font-size: 24px;\n font-family: charter;\n }\n nav {\n display: flex;\n flex-flow: row nowrap;\n button {\n cursor: pointer;\n background: none;\n border: none;\n padding: none;\n margin-bottom: -2px;\n z-index: 1000;\n &:disabled {\n cursor: default;\n background-color: var(--bg-tint1);\n color: var(--fg-color);\n border: var(--fg-border);\n border-bottom: none;\n }\n }\n }\n }\n > main {\n background: var(--bg-tint1);\n }\n main {\n overflow-y: scroll;\n flex-grow: 1;\n display: flex;\n flex-flow: column;\n gap: 0;\n article.index {\n .node .node {\n border-right: var(--fg-border);\n padding-right: 0;\n background: #fff3;\n }\n .node > .node {\n margin: 5px 0;\n margin-left: 12px;\n border-left: var(--fg-border);\n }\n .node {\n border-top: var(--fg-border);\n overflow-x: scroll;\n padding: 5px;\n &:last-of-type {\n border-bottom: var(--fg-border);\n }\n &.transaction_update {\n padding: 0;\n }\n header {\n display: flex;\n flex-flow: row;\n gap: 5px;\n position: sticky;\n z-index: 999;\n top: 0;\n button.carat {\n cursor: pointer;\n background: none;\n border: none;\n width: 20px;\n &.open {\n transform: rotate(90deg);\n }\n &:disabled {\n cursor: default;\n }\n }\n label {\n display: flex;\n flex-flow: row;\n gap: 5px;\n cursor: help;\n h2 {\n display: inline-block;\n margin: 0;\n }\n .detail {\n color: #777;\n @media (prefers-color-scheme: light) {\n color: #999;\n }\n }\n }\n }\n main {\n margin-left: 15px;\n }\n }\n section.transaction_log {\n margin-top: 0;\n header: {\n padding: 5px;\n }\n main {\n display: flex;\n flex-flow: row wrap;\n gap: 5px;\n .transaction_update {\n width: 100%;\n display: flex;\n flex-flow: row;\n align-items: flex-start;\n justify-content: flex-start;\n justify-items: flex-start;\n align-content: flex-start;\n border-left: var(--fg-border);\n border-top: var(--fg-border);\n header {\n padding: 5px;\n h4 {\n margin: 0;\n padding: 0;\n font-size: inherit;\n }\n }\n main {\n margin-left: 0;\n display: flex;\n flex-flow: column;\n gap: 0px;\n border-left: 1px solid #333;\n section ~ section {\n border-top: 1px solid #333;\n }\n section {\n padding: 5px;\n &.transaction_output {\n border-right: none;\n }\n &.transaction_impact {\n padding: 5px;\n }\n margin: 0;\n article {\n border-left: var(--fg-border);\n border-right: var(--fg-border);\n .summary {\n white-space: nowrap;\n }\n }\n }\n }\n }\n }\n }\n section.timeline_log {\n header {\n display: flex;\n label {\n display: flex;\n width: 100%;\n flex-grow: 1;\n .gap {\n flex-grow: 1;\n }\n nav {\n display: flex;\n flex-flow: row nowrap;\n gap: 5px;\n }\n }\n }\n .timeline_update {\n padding: 5px;\n border-left: var(--fg-border);\n h4 {\n margin: 0;\n padding: 0;\n font-size: inherit;\n }\n main {\n margin: 0;\n .node.atom_update {\n border-left: var(--fg-border);\n }\n }\n }\n .you_are_here {\n background: var(--fg-color);\n color: var(--bg-color);\n text-align: center;\n }\n }\n }\n }\n footer {\n display: flex;\n justify-content: flex-end;\n button {\n cursor: pointer;\n background: none;\n border: none;\n padding: none;\n position: absolute;\n right: 0;\n bottom: 0;\n }\n }\n\n .json_editor {\n input {\n font-family: theia;\n border: none;\n border-bottom: 1px solid;\n background: none;\n &:disabled {\n border: none;\n }\n }\n button {\n background: none;\n margin-left: auto;\n color: #777;\n border: none;\n font-family: theia;\n font-size: 14px;\n margin: none;\n padding: 4px;\n padding-bottom: 6px;\n cursor: pointer;\n &:hover {\n color: #333;\n background-color: #aaa;\n }\n }\n select {\n font-family: theia;\n font-size: 14px;\n background: none;\n border: none;\n color: #777;\n @media (prefers-color-scheme: light) {\n color: #999;\n }\n }\n .json_editor_unofficial {\n background-color: #777;\n button {\n color: #333;\n }\n }\n .json_editor_missing {\n background-color: #f055;\n }\n .json_editor_key {\n padding-right: 10px;\n input {\n color: #999;\n @media (prefers-color-scheme: light) {\n color: #777;\n }\n }\n }\n .json_editor_object {\n border-left: 2px solid #333;\n padding-left: 20px;\n @media (prefers-color-scheme: light) {\n border-color: #ccc;\n }\n .json_editor_properties {\n > * {\n border-bottom: var(--fg-border);\n margin-bottom: 2px;\n }\n }\n }\n }\n}\n"],"mappings":"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","names":[]}
@@ -64,14 +64,14 @@ declare const AtomIODevtools: () => JSX.Element;
64
64
  declare const atomIndex: atom_io.ReadonlySelectorToken<AtomTokenIndex>;
65
65
  declare const selectorIndex: atom_io.ReadonlySelectorToken<SelectorTokenIndex>;
66
66
  declare const transactionIndex: atom_io.ReadonlySelectorToken<atom_io.TransactionToken<atom_io.ƒn>[]>;
67
- declare const findTransactionLogState: atom_io.ReadonlySelectorFamily<atom_io.TransactionUpdate<atom_io.ƒn>[]>;
67
+ declare const findTransactionLogState: atom_io.ReadonlySelectorFamilyToken<atom_io.TransactionUpdate<atom_io.ƒn>[], string>;
68
68
  declare const timelineIndex: atom_io.ReadonlySelectorToken<atom_io.TimelineToken<any>[]>;
69
- declare const findTimelineState: atom_io.ReadonlySelectorFamily<Internal.Timeline<any>>;
69
+ declare const findTimelineState: atom_io.ReadonlySelectorFamilyToken<Internal.Timeline<any>, string>;
70
70
  declare const devtoolsAreOpenState: atom_io.RegularAtomToken<boolean>;
71
71
  type DevtoolsView = `atoms` | `selectors` | `timelines` | `transactions`;
72
72
  declare const devtoolsViewSelectionState: atom_io.RegularAtomToken<DevtoolsView>;
73
73
  declare const devtoolsViewOptionsState: atom_io.RegularAtomToken<DevtoolsView[]>;
74
- declare const findViewIsOpenState: atom_io.RegularAtomFamily<boolean, string>;
74
+ declare const findViewIsOpenState: atom_io.RegularAtomFamilyTokenWithCall<boolean, string>;
75
75
  declare const primitiveRefinery: Refinery<{
76
76
  number: (input: unknown) => input is number;
77
77
  string: (input: unknown) => input is string;
@@ -1,7 +1,8 @@
1
- import { treeShake, isEmptyArray, pipe, ifDefined, isArray, isRecord, doesExtend, isModifier, sprawl, isPlainObject, raiseError, recordToEntries, fallback, hasExactProperties, isEmptyObject, doNothing, isOneOf, map, entriesToRecord, comprises, addTo, become, mapObject, delve } from '../../dist/chunk-NYCVSXQB.js';
1
+ import { lazyLocalStorageEffect } from '../../dist/chunk-JDUNWJFB.js';
2
+ import { treeShake, isEmptyArray, pipe, ifDefined, isArray, isRecord, doesExtend, isModifier, isPlainObject, raiseError, sprawl, recordToEntries, fallback, hasExactProperties, isEmptyObject, doNothing, isOneOf, map, entriesToRecord, comprises, addTo, become, mapObject, delve } from '../../dist/chunk-NYCVSXQB.js';
2
3
  import { JSON_TYPE_NAMES, isString, isNumber, isBoolean, stringifyJson, JSON_DEFAULTS } from '../../dist/chunk-XACXFU3B.js';
3
4
  import { __spreadProps, __spreadValues, __objRest, __restKey } from '../../dist/chunk-PZLG2HP3.js';
4
- import { selectorFamily, atom, atomFamily, undo, redo, getState } from 'atom.io';
5
+ import { selectorFamily, atom, atomFamily, findState, undo, redo, getState } from 'atom.io';
5
6
  import { attachIntrospectionStates } from 'atom.io/introspection';
6
7
  import { useI, useO } from 'atom.io/react';
7
8
  import { motion, spring, LayoutGroup } from 'framer-motion';
@@ -10,21 +11,6 @@ import { forwardRef, useRef, useState, useImperativeHandle, useLayoutEffect, Fra
10
11
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
11
12
  import { useFloating, useClick, useInteractions, FloatingPortal } from '@floating-ui/react';
12
13
 
13
- // __unstable__/web-effects/src/storage.ts
14
- var persistAtom = (storage) => ({ stringify, parse }) => (key) => ({ setSelf, onSet }) => {
15
- const savedValue = storage.getItem(key);
16
- if (savedValue != null)
17
- setSelf(parse(savedValue));
18
- onSet(({ newValue }) => {
19
- if (newValue == null) {
20
- storage.removeItem(key);
21
- return;
22
- }
23
- storage.setItem(key, stringify(newValue));
24
- });
25
- };
26
- var lazyLocalStorageEffect = persistAtom(localStorage)(JSON);
27
-
28
14
  // ../anvl/src/refinement/refinery.ts
29
15
  var Refinery = class {
30
16
  constructor(supported) {
@@ -70,6 +56,86 @@ var discoverType = (input) => {
70
56
  return Object.getPrototypeOf(input).constructor.name;
71
57
  };
72
58
 
59
+ // ../anvl/src/refinement/refine-json.ts
60
+ var JSON_PROTOTYPES = [
61
+ `Array`,
62
+ `Boolean`,
63
+ `Number`,
64
+ `Object`,
65
+ `String`
66
+ ];
67
+ 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(
68
+ 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.`
69
+ );
70
+ var isJson = (input) => {
71
+ var _a2;
72
+ if (input === null)
73
+ return true;
74
+ if (input === void 0)
75
+ return false;
76
+ const prototype = (_a2 = Object.getPrototypeOf(input)) == null ? void 0 : _a2.constructor.name;
77
+ const isJson2 = JSON_PROTOTYPES.includes(prototype);
78
+ return isJson2;
79
+ };
80
+
81
+ // ../anvl/src/refinement/can-exist.ts
82
+ var canExist = (_) => true;
83
+
84
+ // ../anvl/src/refinement/cannot-exist.ts
85
+ var cannotExist = (_) => false;
86
+
87
+ // ../anvl/src/refinement/is-union.ts
88
+ var mustSatisfyOneOfTheFollowing = (isTypeA, logging = false, refinements = [isTypeA]) => {
89
+ const name = `(${refinements.map((r) => (r == null ? void 0 : r.name) || `anon`).join(` | `)})`;
90
+ const _ = {
91
+ [name]: (input) => refinements.some(
92
+ (refinement) => {
93
+ var _a2;
94
+ return logging && console.log(
95
+ refinements.map((r) => r.name || `anon`).join(` | `),
96
+ `>`,
97
+ (_a2 = refinement.name) != null ? _a2 : `anon`,
98
+ `:`,
99
+ refinement(input)
100
+ ), refinement(input);
101
+ }
102
+ )
103
+ };
104
+ const checkTypes = Object.assign(_[name], {
105
+ or: (isTypeB) => mustSatisfyOneOfTheFollowing(isTypeB, logging, [...refinements, isTypeB])
106
+ });
107
+ return checkTypes;
108
+ };
109
+ var isUnion = mustSatisfyOneOfTheFollowing(cannotExist);
110
+
111
+ // ../anvl/src/refinement/is-intersection.ts
112
+ function mustSatisfyAllOfTheFollowing(isTypeA, logging = false, refinements = [isTypeA]) {
113
+ const name = `(${refinements.map((r) => (r == null ? void 0 : r.name) || `anon`).join(` & `)})`;
114
+ const _ = {
115
+ [name]: (input) => refinements.every(
116
+ (refinement) => (logging && console.log(
117
+ refinements.map((r) => r.name || `anon`).join(` & `),
118
+ `>`,
119
+ refinement.name || `anon`,
120
+ `:`,
121
+ refinement(input)
122
+ ), refinement(input))
123
+ )
124
+ };
125
+ const checkTypes = Object.assign(_[name], {
126
+ and: (isTypeB) => mustSatisfyAllOfTheFollowing(isTypeB, logging, [
127
+ ...refinements,
128
+ isTypeB
129
+ ])
130
+ });
131
+ return checkTypes;
132
+ }
133
+ var isIntersection = mustSatisfyAllOfTheFollowing(canExist);
134
+
135
+ // ../anvl/src/refinement/index.ts
136
+ var isLiteral = (value) => (input) => input === value;
137
+ var isWithin = (args) => (input) => args.includes(input);
138
+
73
139
  // ../anvl/src/tree/differ.ts
74
140
  function diffNumber(a2, b2) {
75
141
  const sign = a2 < b2 ? `+` : `-`;
@@ -187,28 +253,6 @@ var Differ = class {
187
253
  };
188
254
  }
189
255
  };
190
-
191
- // ../anvl/src/refinement/refine-json.ts
192
- var JSON_PROTOTYPES = [
193
- `Array`,
194
- `Boolean`,
195
- `Number`,
196
- `Object`,
197
- `String`
198
- ];
199
- 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(
200
- 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.`
201
- );
202
- var isJson = (input) => {
203
- var _a2;
204
- if (input === null)
205
- return true;
206
- if (input === void 0)
207
- return false;
208
- const prototype = (_a2 = Object.getPrototypeOf(input)) == null ? void 0 : _a2.constructor.name;
209
- const isJson2 = JSON_PROTOTYPES.includes(prototype);
210
- return isJson2;
211
- };
212
256
  var OpenClose = ({ isOpen, setIsOpen, disabled }) => {
213
257
  return /* @__PURE__ */ jsx(
214
258
  "button",
@@ -225,64 +269,6 @@ var button = {
225
269
  OpenClose
226
270
  };
227
271
 
228
- // ../anvl/src/refinement/can-exist.ts
229
- var canExist = (_) => true;
230
-
231
- // ../anvl/src/refinement/cannot-exist.ts
232
- var cannotExist = (_) => false;
233
-
234
- // ../anvl/src/refinement/is-union.ts
235
- var mustSatisfyOneOfTheFollowing = (isTypeA, logging = false, refinements = [isTypeA]) => {
236
- const name = `(${refinements.map((r) => (r == null ? void 0 : r.name) || `anon`).join(` | `)})`;
237
- const _ = {
238
- [name]: (input) => refinements.some(
239
- (refinement) => {
240
- var _a2;
241
- return logging && console.log(
242
- refinements.map((r) => r.name || `anon`).join(` | `),
243
- `>`,
244
- (_a2 = refinement.name) != null ? _a2 : `anon`,
245
- `:`,
246
- refinement(input)
247
- ), refinement(input);
248
- }
249
- )
250
- };
251
- const checkTypes = Object.assign(_[name], {
252
- or: (isTypeB) => mustSatisfyOneOfTheFollowing(isTypeB, logging, [...refinements, isTypeB])
253
- });
254
- return checkTypes;
255
- };
256
- var isUnion = mustSatisfyOneOfTheFollowing(cannotExist);
257
-
258
- // ../anvl/src/refinement/is-intersection.ts
259
- function mustSatisfyAllOfTheFollowing(isTypeA, logging = false, refinements = [isTypeA]) {
260
- const name = `(${refinements.map((r) => (r == null ? void 0 : r.name) || `anon`).join(` & `)})`;
261
- const _ = {
262
- [name]: (input) => refinements.every(
263
- (refinement) => (logging && console.log(
264
- refinements.map((r) => r.name || `anon`).join(` & `),
265
- `>`,
266
- refinement.name || `anon`,
267
- `:`,
268
- refinement(input)
269
- ), refinement(input))
270
- )
271
- };
272
- const checkTypes = Object.assign(_[name], {
273
- and: (isTypeB) => mustSatisfyAllOfTheFollowing(isTypeB, logging, [
274
- ...refinements,
275
- isTypeB
276
- ])
277
- });
278
- return checkTypes;
279
- }
280
- var isIntersection = mustSatisfyAllOfTheFollowing(canExist);
281
-
282
- // ../anvl/src/refinement/index.ts
283
- var isLiteral = (value) => (input) => input === value;
284
- var isWithin = (args) => (input) => args.includes(input);
285
-
286
272
  // ../anvl/src/join/core-relation-data.ts
287
273
  var RELATION_TYPES = [`1:1`, `1:n`, `n:n`];
288
274
  var isRelationType = (x) => RELATION_TYPES.includes(x);
@@ -872,7 +858,7 @@ var JsonEditor_INTERNAL = ({
872
858
  ] }) });
873
859
  };
874
860
 
875
- // ../hamr/src/react-json-editor/editors-by-type/utilities/array-elements.ts
861
+ // ../hamr/react-json-editor/src/editors-by-type/utilities/array-elements.ts
876
862
  var makeElementSetters = (data, set) => data.map(
877
863
  (value, index) => (newValue) => set(() => {
878
864
  const newData = [...data];
@@ -1354,7 +1340,7 @@ var castToJson = (input) => {
1354
1340
  };
1355
1341
  };
1356
1342
 
1357
- // ../hamr/src/react-json-editor/editors-by-type/utilities/object-properties.ts
1343
+ // ../hamr/react-json-editor/src/editors-by-type/utilities/object-properties.ts
1358
1344
  var makePropertySetters = (data, set) => mapObject(
1359
1345
  data,
1360
1346
  (value, key) => (newValue) => set(__spreadProps(__spreadValues({}, data), { [key]: become(newValue)(value[key]) }))
@@ -1680,7 +1666,7 @@ var JsonEditor = ({
1680
1666
  );
1681
1667
  };
1682
1668
 
1683
- // ../hamr/src/react-json-editor/index.ts
1669
+ // ../hamr/react-json-editor/src/index.ts
1684
1670
  var SubEditors = {
1685
1671
  array: ArrayEditor,
1686
1672
  boolean: BooleanEditor,
@@ -2072,9 +2058,6 @@ var Id = ({ id }) => {
2072
2058
  ) })
2073
2059
  ] });
2074
2060
  };
2075
-
2076
- // ../hamr/src/react-data-designer/RelationEditor.module.scss
2077
- var RelationEditor_module_default = {};
2078
2061
  var RelationEditor = (props) => {
2079
2062
  const seen = /* @__PURE__ */ new Set();
2080
2063
  const data = Object.entries(props.data.relations).sort(([_, a2], [__, b2]) => b2.length - a2.length).filter(([head, tail]) => {
@@ -2086,7 +2069,7 @@ var RelationEditor = (props) => {
2086
2069
  }
2087
2070
  return true;
2088
2071
  });
2089
- return /* @__PURE__ */ jsx("article", { className: RelationEditor_module_default.class, children: data.map(([head, tail]) => /* @__PURE__ */ jsxs("section", { children: [
2072
+ return /* @__PURE__ */ jsx("article", { className: "relation-editor-0123456789", children: data.map(([head, tail]) => /* @__PURE__ */ jsxs("section", { children: [
2090
2073
  /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(Id, { id: head }) }),
2091
2074
  ":",
2092
2075
  /* @__PURE__ */ jsx("span", { children: tail.map((child) => /* @__PURE__ */ jsx(Id, { id: child })) })
@@ -2412,8 +2395,8 @@ var TimelineIndex = () => {
2412
2395
  TimelineLog,
2413
2396
  {
2414
2397
  token,
2415
- isOpenState: findViewIsOpenState(token.key),
2416
- timelineState: findTimelineState(token.key)
2398
+ isOpenState: findState(findViewIsOpenState, token.key),
2399
+ timelineState: findState(findTimelineState, token.key)
2417
2400
  },
2418
2401
  token.key
2419
2402
  );
@@ -2452,8 +2435,8 @@ var TransactionIndex = () => {
2452
2435
  TransactionLog,
2453
2436
  {
2454
2437
  token,
2455
- isOpenState: findViewIsOpenState(token.key),
2456
- logState: findTransactionLogState(token.key)
2438
+ isOpenState: findState(findViewIsOpenState, token.key),
2439
+ logState: findState(findTransactionLogState, token.key)
2457
2440
  },
2458
2441
  token.key
2459
2442
  );