jazz-tools 0.19.8 → 0.19.11

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 (154) hide show
  1. package/.turbo/turbo-build.log +56 -50
  2. package/CHANGELOG.md +30 -3
  3. package/dist/{chunk-2S3Z2CN6.js → chunk-HX5S6W5E.js} +372 -103
  4. package/dist/chunk-HX5S6W5E.js.map +1 -0
  5. package/dist/index.js +1 -1
  6. package/dist/inspector/account-switcher.d.ts +4 -0
  7. package/dist/inspector/account-switcher.d.ts.map +1 -0
  8. package/dist/inspector/chunk-C6BJPHBQ.js +4096 -0
  9. package/dist/inspector/chunk-C6BJPHBQ.js.map +1 -0
  10. package/dist/inspector/contexts/node.d.ts +19 -0
  11. package/dist/inspector/contexts/node.d.ts.map +1 -0
  12. package/dist/inspector/{custom-element-P76EIWEV.js → custom-element-GJVBPZES.js} +1011 -884
  13. package/dist/inspector/custom-element-GJVBPZES.js.map +1 -0
  14. package/dist/inspector/{viewer/new-app.d.ts → in-app.d.ts} +3 -3
  15. package/dist/inspector/in-app.d.ts.map +1 -0
  16. package/dist/inspector/index.d.ts +0 -11
  17. package/dist/inspector/index.d.ts.map +1 -1
  18. package/dist/inspector/index.js +56 -3910
  19. package/dist/inspector/index.js.map +1 -1
  20. package/dist/inspector/pages/home.d.ts +2 -0
  21. package/dist/inspector/pages/home.d.ts.map +1 -0
  22. package/dist/inspector/register-custom-element.js +1 -1
  23. package/dist/inspector/router/context.d.ts +12 -0
  24. package/dist/inspector/router/context.d.ts.map +1 -0
  25. package/dist/inspector/router/hash-router.d.ts +7 -0
  26. package/dist/inspector/router/hash-router.d.ts.map +1 -0
  27. package/dist/inspector/router/in-memory-router.d.ts +7 -0
  28. package/dist/inspector/router/in-memory-router.d.ts.map +1 -0
  29. package/dist/inspector/router/index.d.ts +5 -0
  30. package/dist/inspector/router/index.d.ts.map +1 -0
  31. package/dist/inspector/standalone.d.ts +6 -0
  32. package/dist/inspector/standalone.d.ts.map +1 -0
  33. package/dist/inspector/standalone.js +420 -0
  34. package/dist/inspector/standalone.js.map +1 -0
  35. package/dist/inspector/tests/router/hash-router.test.d.ts +2 -0
  36. package/dist/inspector/tests/router/hash-router.test.d.ts.map +1 -0
  37. package/dist/inspector/tests/router/in-memory-router.test.d.ts +2 -0
  38. package/dist/inspector/tests/router/in-memory-router.test.d.ts.map +1 -0
  39. package/dist/inspector/ui/modal.d.ts +1 -0
  40. package/dist/inspector/ui/modal.d.ts.map +1 -1
  41. package/dist/inspector/viewer/breadcrumbs.d.ts +1 -7
  42. package/dist/inspector/viewer/breadcrumbs.d.ts.map +1 -1
  43. package/dist/inspector/viewer/header.d.ts +7 -0
  44. package/dist/inspector/viewer/header.d.ts.map +1 -0
  45. package/dist/inspector/viewer/page-stack.d.ts +4 -13
  46. package/dist/inspector/viewer/page-stack.d.ts.map +1 -1
  47. package/dist/inspector/viewer/page.d.ts.map +1 -1
  48. package/dist/react/hooks.d.ts +1 -1
  49. package/dist/react/hooks.d.ts.map +1 -1
  50. package/dist/react/index.d.ts +1 -1
  51. package/dist/react/index.d.ts.map +1 -1
  52. package/dist/react/index.js +5 -1
  53. package/dist/react/index.js.map +1 -1
  54. package/dist/react-core/hooks.d.ts +59 -0
  55. package/dist/react-core/hooks.d.ts.map +1 -1
  56. package/dist/react-core/index.js +124 -36
  57. package/dist/react-core/index.js.map +1 -1
  58. package/dist/react-core/tests/testUtils.d.ts +1 -0
  59. package/dist/react-core/tests/testUtils.d.ts.map +1 -1
  60. package/dist/react-core/tests/useSuspenseAccount.test.d.ts +2 -0
  61. package/dist/react-core/tests/useSuspenseAccount.test.d.ts.map +1 -0
  62. package/dist/react-core/tests/useSuspenseCoState.test.d.ts +2 -0
  63. package/dist/react-core/tests/useSuspenseCoState.test.d.ts.map +1 -0
  64. package/dist/react-core/use.d.ts +3 -0
  65. package/dist/react-core/use.d.ts.map +1 -0
  66. package/dist/react-native/index.js +5 -1
  67. package/dist/react-native/index.js.map +1 -1
  68. package/dist/react-native-core/crypto/RNCrypto.d.ts +2 -0
  69. package/dist/react-native-core/crypto/RNCrypto.d.ts.map +1 -0
  70. package/dist/react-native-core/crypto/RNCrypto.js +3 -0
  71. package/dist/react-native-core/crypto/RNCrypto.js.map +1 -0
  72. package/dist/react-native-core/hooks.d.ts +1 -1
  73. package/dist/react-native-core/hooks.d.ts.map +1 -1
  74. package/dist/react-native-core/index.js +5 -1
  75. package/dist/react-native-core/index.js.map +1 -1
  76. package/dist/react-native-core/platform.d.ts +2 -1
  77. package/dist/react-native-core/platform.d.ts.map +1 -1
  78. package/dist/testing.js +1 -1
  79. package/dist/testing.js.map +1 -1
  80. package/dist/tools/coValues/account.d.ts +7 -1
  81. package/dist/tools/coValues/account.d.ts.map +1 -1
  82. package/dist/tools/coValues/interfaces.d.ts +1 -1
  83. package/dist/tools/coValues/interfaces.d.ts.map +1 -1
  84. package/dist/tools/implementation/ContextManager.d.ts +3 -0
  85. package/dist/tools/implementation/ContextManager.d.ts.map +1 -1
  86. package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts +8 -1
  87. package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts.map +1 -1
  88. package/dist/tools/implementation/zodSchema/zodCo.d.ts.map +1 -1
  89. package/dist/tools/subscribe/CoValueCoreSubscription.d.ts +8 -22
  90. package/dist/tools/subscribe/CoValueCoreSubscription.d.ts.map +1 -1
  91. package/dist/tools/subscribe/SubscriptionCache.d.ts +51 -0
  92. package/dist/tools/subscribe/SubscriptionCache.d.ts.map +1 -0
  93. package/dist/tools/subscribe/SubscriptionScope.d.ts +17 -1
  94. package/dist/tools/subscribe/SubscriptionScope.d.ts.map +1 -1
  95. package/dist/tools/subscribe/utils.d.ts +9 -1
  96. package/dist/tools/subscribe/utils.d.ts.map +1 -1
  97. package/dist/tools/testing.d.ts +2 -2
  98. package/dist/tools/testing.d.ts.map +1 -1
  99. package/dist/tools/tests/SubscriptionCache.test.d.ts +2 -0
  100. package/dist/tools/tests/SubscriptionCache.test.d.ts.map +1 -0
  101. package/package.json +18 -6
  102. package/src/inspector/account-switcher.tsx +440 -0
  103. package/src/inspector/contexts/node.tsx +129 -0
  104. package/src/inspector/custom-element.tsx +2 -2
  105. package/src/inspector/in-app.tsx +61 -0
  106. package/src/inspector/index.tsx +2 -22
  107. package/src/inspector/pages/home.tsx +77 -0
  108. package/src/inspector/router/context.ts +21 -0
  109. package/src/inspector/router/hash-router.tsx +128 -0
  110. package/src/inspector/{viewer/use-page-path.ts → router/in-memory-router.tsx} +31 -29
  111. package/src/inspector/router/index.ts +4 -0
  112. package/src/inspector/standalone.tsx +60 -0
  113. package/src/inspector/tests/router/hash-router.test.tsx +847 -0
  114. package/src/inspector/tests/router/in-memory-router.test.tsx +724 -0
  115. package/src/inspector/ui/modal.tsx +5 -2
  116. package/src/inspector/viewer/breadcrumbs.tsx +5 -11
  117. package/src/inspector/viewer/header.tsx +67 -0
  118. package/src/inspector/viewer/page-stack.tsx +18 -26
  119. package/src/inspector/viewer/page.tsx +0 -1
  120. package/src/react/hooks.tsx +2 -0
  121. package/src/react/index.ts +1 -14
  122. package/src/react-core/hooks.ts +167 -18
  123. package/src/react-core/tests/createCoValueSubscriptionContext.test.tsx +18 -8
  124. package/src/react-core/tests/testUtils.tsx +67 -5
  125. package/src/react-core/tests/useCoState.test.ts +3 -7
  126. package/src/react-core/tests/useSubscriptionSelector.test.ts +3 -7
  127. package/src/react-core/tests/useSuspenseAccount.test.tsx +343 -0
  128. package/src/react-core/tests/useSuspenseCoState.test.tsx +1182 -0
  129. package/src/react-core/use.ts +46 -0
  130. package/src/react-native-core/crypto/RNCrypto.ts +1 -0
  131. package/src/react-native-core/hooks.tsx +2 -0
  132. package/src/react-native-core/platform.ts +2 -1
  133. package/src/tools/coValues/account.ts +13 -2
  134. package/src/tools/coValues/interfaces.ts +2 -3
  135. package/src/tools/implementation/ContextManager.ts +13 -0
  136. package/src/tools/implementation/zodSchema/schemaTypes/AccountSchema.ts +8 -1
  137. package/src/tools/subscribe/CoValueCoreSubscription.ts +71 -100
  138. package/src/tools/subscribe/SubscriptionCache.ts +272 -0
  139. package/src/tools/subscribe/SubscriptionScope.ts +113 -7
  140. package/src/tools/subscribe/utils.ts +77 -0
  141. package/src/tools/testing.ts +0 -3
  142. package/src/tools/tests/CoValueCoreSubscription.test.ts +46 -12
  143. package/src/tools/tests/ContextManager.test.ts +85 -0
  144. package/src/tools/tests/SubscriptionCache.test.ts +237 -0
  145. package/src/tools/tests/account.test.ts +11 -4
  146. package/src/tools/tests/coMap.test.ts +5 -7
  147. package/src/tools/tests/schema.resolved.test.ts +3 -3
  148. package/tsup.config.ts +2 -0
  149. package/dist/chunk-2S3Z2CN6.js.map +0 -1
  150. package/dist/inspector/custom-element-P76EIWEV.js.map +0 -1
  151. package/dist/inspector/viewer/new-app.d.ts.map +0 -1
  152. package/dist/inspector/viewer/use-page-path.d.ts +0 -10
  153. package/dist/inspector/viewer/use-page-path.d.ts.map +0 -1
  154. package/src/inspector/viewer/new-app.tsx +0 -156
@@ -1 +0,0 @@
1
- {"version":3,"file":"new-app.d.ts","sourceRoot":"","sources":["../../../src/inspector/viewer/new-app.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAc,MAAM,QAAQ,CAAC;AAWjE,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAmDvE,wBAAgB,qBAAqB,CAAC,EACpC,QAAkB,EAClB,SAAS,EACT,SAAS,GACV,EAAE;IACD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;CAC9B,2CAqFA"}
@@ -1,10 +0,0 @@
1
- import { CoID, RawCoValue } from "cojson";
2
- import { PageInfo } from "./types.js";
3
- export declare function usePagePath(defaultPath?: PageInfo[]): {
4
- path: PageInfo[];
5
- setPage: (coId: CoID<RawCoValue>) => void;
6
- addPages: (newPages: PageInfo[]) => void;
7
- goToIndex: (index: number) => void;
8
- goBack: () => void;
9
- };
10
- //# sourceMappingURL=use-page-path.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-page-path.d.ts","sourceRoot":"","sources":["../../../src/inspector/viewer/use-page-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,wBAAgB,WAAW,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE;;oBAwCzC,IAAI,CAAC,UAAU,CAAC;yBAdZ,QAAQ,EAAE;uBAOb,MAAM;;EA0BjB"}
@@ -1,156 +0,0 @@
1
- import { CoID, LocalNode, RawAccount, RawCoValue } from "cojson";
2
- import { styled } from "goober";
3
- import React, { useState } from "react";
4
- import { Button } from "../ui/button.js";
5
- import { Input } from "../ui/input.js";
6
- import { Breadcrumbs } from "./breadcrumbs.js";
7
- import { PageStack } from "./page-stack.js";
8
- import { usePagePath } from "./use-page-path.js";
9
-
10
- import { GlobalStyles } from "../ui/global-styles.js";
11
- import { Heading } from "../ui/heading.js";
12
- import { InspectorButton, type Position } from "./inspector-button.js";
13
- import { useOpenInspector } from "./use-open-inspector.js";
14
- import { DeleteLocalData } from "./delete-local-data.js";
15
-
16
- const InspectorContainer = styled("div")`
17
- position: fixed;
18
- height: 50vh;
19
- max-height: 800px;
20
- display: flex;
21
- flex-direction: column;
22
- bottom: 0;
23
- left: 0;
24
- width: 100%;
25
- background-color: white;
26
- border-top: 1px solid var(--j-border-color);
27
- color: var(--j-text-color);
28
-
29
- @media (prefers-color-scheme: dark) {
30
- background-color: var(--j-background);
31
- }
32
- `;
33
-
34
- const HeaderContainer = styled("div")`
35
- display: flex;
36
- align-items: center;
37
- gap: 1rem;
38
- padding: 0 0.75rem;
39
- margin: 0.75rem 0;
40
- `;
41
-
42
- const Form = styled("form")`
43
- width: 24rem;
44
- `;
45
-
46
- const InitialForm = styled("form")`
47
- display: flex;
48
- flex-direction: column;
49
- position: relative;
50
- top: -1.5rem;
51
- justify-content: center;
52
- gap: 0.5rem;
53
- height: 100%;
54
- width: 100%;
55
- max-width: 24rem;
56
- margin: 0 auto;
57
- `;
58
-
59
- const OrText = styled("p")`
60
- text-align: center;
61
- `;
62
-
63
- export function JazzInspectorInternal({
64
- position = "right",
65
- localNode,
66
- accountId,
67
- }: {
68
- position?: Position;
69
- localNode?: LocalNode;
70
- accountId?: CoID<RawAccount>;
71
- }) {
72
- const [open, setOpen] = useOpenInspector();
73
- const [coValueId, setCoValueId] = useState<CoID<RawCoValue> | "">("");
74
- const { path, addPages, goToIndex, goBack, setPage } = usePagePath();
75
-
76
- const handleCoValueIdSubmit = (e: React.FormEvent) => {
77
- e.preventDefault();
78
- if (coValueId) {
79
- setPage(coValueId);
80
- }
81
- setCoValueId("");
82
- };
83
-
84
- if (!open) {
85
- return (
86
- <InspectorButton position={position} onClick={() => setOpen(true)} />
87
- );
88
- }
89
-
90
- return (
91
- <InspectorContainer as={GlobalStyles} style={{ zIndex: 999 }}>
92
- <HeaderContainer>
93
- <Breadcrumbs path={path} onBreadcrumbClick={goToIndex} />
94
- {path.length !== 0 && (
95
- <Form onSubmit={handleCoValueIdSubmit}>
96
- <Input
97
- label="CoValue ID"
98
- style={{ fontFamily: "monospace" }}
99
- hideLabel
100
- placeholder="co_z1234567890abcdef123456789"
101
- value={coValueId}
102
- onChange={(e) => setCoValueId(e.target.value as CoID<RawCoValue>)}
103
- />
104
- </Form>
105
- )}
106
- <DeleteLocalData />
107
- <Button variant="plain" type="button" onClick={() => setOpen(false)}>
108
- Close
109
- </Button>
110
- </HeaderContainer>
111
-
112
- <PageStack
113
- path={path}
114
- node={localNode}
115
- goBack={goBack}
116
- addPages={addPages}
117
- >
118
- {path.length <= 0 && (
119
- <InitialForm
120
- onSubmit={handleCoValueIdSubmit}
121
- aria-hidden={path.length !== 0}
122
- >
123
- <Heading>Jazz CoValue Inspector</Heading>
124
- <Input
125
- label="CoValue ID"
126
- style={{ minWidth: "21rem", fontFamily: "monospace" }}
127
- hideLabel
128
- placeholder="co_z1234567890abcdef123456789"
129
- value={coValueId}
130
- onChange={(e) => setCoValueId(e.target.value as CoID<RawCoValue>)}
131
- />
132
- <Button type="submit" variant="primary">
133
- Inspect CoValue
134
- </Button>
135
-
136
- {accountId && (
137
- <>
138
- <OrText>or</OrText>
139
-
140
- <Button
141
- variant="secondary"
142
- onClick={() => {
143
- setCoValueId(accountId);
144
- setPage(accountId);
145
- }}
146
- >
147
- Inspect my account
148
- </Button>
149
- </>
150
- )}
151
- </InitialForm>
152
- )}
153
- </PageStack>
154
- </InspectorContainer>
155
- );
156
- }