@shivaedev/work-board 0.14.2 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.md +1 -1
- package/assets/agent.js +1 -1
- package/assets/native.js +25 -25
- package/assets/react.js +38 -37
- package/dist/browser/diagnostics/schema.d.ts +15 -12
- package/dist/browser/diagnostics/schema.d.ts.map +1 -1
- package/dist/browser/diagnostics/schema.js +12 -2
- package/dist/browser/diagnostics/schema.js.map +1 -1
- package/dist/browser/views/remaining.d.ts +20 -12
- package/dist/browser/views/remaining.d.ts.map +1 -1
- package/dist/client/client.d.ts +1 -0
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +1 -1
- package/dist/client/client.js.map +1 -1
- package/dist/client/formStatus.d.ts +12 -0
- package/dist/client/formStatus.d.ts.map +1 -0
- package/dist/client/formStatus.js +27 -0
- package/dist/client/formStatus.js.map +1 -0
- package/dist/client/react/BoardShell.d.ts.map +1 -1
- package/dist/client/react/BoardShell.js +15 -21
- package/dist/client/react/BoardShell.js.map +1 -1
- package/dist/client/react/DocumentContext.d.ts.map +1 -1
- package/dist/client/react/DocumentContext.js +6 -3
- package/dist/client/react/DocumentContext.js.map +1 -1
- package/dist/client/react/FormContext.d.ts +5 -0
- package/dist/client/react/FormContext.d.ts.map +1 -0
- package/dist/client/react/FormContext.js +10 -0
- package/dist/client/react/FormContext.js.map +1 -0
- package/dist/client/react/LiveControls.d.ts +4 -3
- package/dist/client/react/LiveControls.d.ts.map +1 -1
- package/dist/client/react/LiveControls.js +5 -19
- package/dist/client/react/LiveControls.js.map +1 -1
- package/dist/client/react/MainLocationContext.d.ts +3 -0
- package/dist/client/react/MainLocationContext.d.ts.map +1 -0
- package/dist/client/react/MainLocationContext.js +7 -0
- package/dist/client/react/MainLocationContext.js.map +1 -0
- package/dist/client/react/ProjectionFrame.d.ts +1 -2
- package/dist/client/react/ProjectionFrame.d.ts.map +1 -1
- package/dist/client/react/ProjectionFrame.js +10 -4
- package/dist/client/react/ProjectionFrame.js.map +1 -1
- package/dist/client/react/ReadingLibrary.d.ts.map +1 -1
- package/dist/client/react/ReadingLibrary.js +7 -8
- package/dist/client/react/ReadingLibrary.js.map +1 -1
- package/dist/client/react/SystemPage.d.ts.map +1 -1
- package/dist/client/react/SystemPage.js +2 -1
- package/dist/client/react/SystemPage.js.map +1 -1
- package/dist/client/react/TodayOptions.d.ts.map +1 -1
- package/dist/client/react/TodayOptions.js +23 -14
- package/dist/client/react/TodayOptions.js.map +1 -1
- package/dist/client/react/VisualViewer.d.ts.map +1 -1
- package/dist/client/react/VisualViewer.js +6 -5
- package/dist/client/react/VisualViewer.js.map +1 -1
- package/dist/client/react/boardRouter.d.ts +3 -2
- package/dist/client/react/boardRouter.d.ts.map +1 -1
- package/dist/client/react/boardRouter.js +2 -1
- package/dist/client/react/boardRouter.js.map +1 -1
- package/dist/client/react/createResponse.d.ts +32 -4
- package/dist/client/react/createResponse.d.ts.map +1 -1
- package/dist/client/react/createResponse.js +7 -28
- package/dist/client/react/createResponse.js.map +1 -1
- package/dist/client/react/diagnosticsValues.d.ts.map +1 -1
- package/dist/client/react/diagnosticsValues.js +5 -7
- package/dist/client/react/diagnosticsValues.js.map +1 -1
- package/dist/client/react/entry.d.ts.map +1 -1
- package/dist/client/react/entry.js +2 -34
- package/dist/client/react/entry.js.map +1 -1
- package/dist/client/react/githubLimited.d.ts +3 -0
- package/dist/client/react/githubLimited.d.ts.map +1 -0
- package/dist/client/react/githubLimited.js +4 -0
- package/dist/client/react/githubLimited.js.map +1 -0
- package/dist/client/react/loadProjection.d.ts +135 -135
- package/dist/client/react/loadRemaining.d.ts +37 -29
- package/dist/client/react/loadRemaining.d.ts.map +1 -1
- package/dist/client/react/mainLocation.d.ts +4 -2
- package/dist/client/react/mainLocation.d.ts.map +1 -1
- package/dist/client/react/mainLocation.js +1 -8
- package/dist/client/react/mainLocation.js.map +1 -1
- package/dist/client/react/mountBoard.d.ts +3 -0
- package/dist/client/react/mountBoard.d.ts.map +1 -0
- package/dist/client/react/mountBoard.js +45 -0
- package/dist/client/react/mountBoard.js.map +1 -0
- package/dist/client/react/navigationLocation.d.ts +1 -1
- package/dist/client/react/navigationLocation.d.ts.map +1 -1
- package/dist/client/react/navigationLocation.js +1 -1
- package/dist/client/react/navigationLocation.js.map +1 -1
- package/dist/client/react/retryPage.d.ts +2 -1
- package/dist/client/react/retryPage.d.ts.map +1 -1
- package/dist/client/react/retryPage.js +3 -4
- package/dist/client/react/retryPage.js.map +1 -1
- package/dist/client/react/useBoardNavigation.d.ts.map +1 -1
- package/dist/client/react/useBoardNavigation.js +18 -8
- package/dist/client/react/useBoardNavigation.js.map +1 -1
- package/dist/client/react/useDocumentPage.d.ts +1 -1
- package/dist/client/react/useDocumentPage.d.ts.map +1 -1
- package/dist/client/react/useDocumentPage.js +9 -6
- package/dist/client/react/useDocumentPage.js.map +1 -1
- package/dist/client/react/useHandoffForm.d.ts +56 -30
- package/dist/client/react/useHandoffForm.d.ts.map +1 -1
- package/dist/client/react/useHandoffForm.js +19 -30
- package/dist/client/react/useHandoffForm.js.map +1 -1
- package/dist/client/react/useResponseForm.d.ts +72 -43
- package/dist/client/react/useResponseForm.d.ts.map +1 -1
- package/dist/client/react/useResponseForm.js +20 -17
- package/dist/client/react/useResponseForm.js.map +1 -1
- package/dist/client/react/visualSources.d.ts.map +1 -1
- package/dist/client/react/visualSources.js +10 -8
- package/dist/client/react/visualSources.js.map +1 -1
- package/dist/client/saveFailure.d.ts +8 -0
- package/dist/client/saveFailure.d.ts.map +1 -0
- package/dist/client/saveFailure.js +8 -0
- package/dist/client/saveFailure.js.map +1 -0
- package/dist/diagnostics/daemonContract.d.ts +65 -38
- package/dist/diagnostics/daemonContract.d.ts.map +1 -1
- package/dist/diagnostics/daemonContract.js +2 -1
- package/dist/diagnostics/daemonContract.js.map +1 -1
- package/dist/diagnostics/health.d.ts +10 -0
- package/dist/diagnostics/health.d.ts.map +1 -1
- package/dist/diagnostics/health.js +2 -0
- package/dist/diagnostics/health.js.map +1 -1
- package/dist/diagnostics/source.d.ts +55 -36
- package/dist/diagnostics/source.d.ts.map +1 -1
- package/dist/diagnostics/source.js +1 -2
- package/dist/diagnostics/source.js.map +1 -1
- package/dist/rpc/contract.d.ts +60 -36
- package/dist/rpc/contract.d.ts.map +1 -1
- package/dist/server/diagnostics/daemon.d.ts +41 -25
- package/dist/server/diagnostics/daemon.d.ts.map +1 -1
- package/dist/server/diagnostics/fleetHealth.d.ts +10 -0
- package/dist/server/diagnostics/fleetHealth.d.ts.map +1 -1
- package/dist/server/diagnostics/githubLimits.d.ts +12 -13
- package/dist/server/diagnostics/githubLimits.d.ts.map +1 -1
- package/dist/server/diagnostics/githubLimits.js +6 -6
- package/dist/server/diagnostics/githubLimits.js.map +1 -1
- package/dist/server/integration/diagnostics.d.ts +74 -38
- package/dist/server/integration/diagnostics.d.ts.map +1 -1
- package/dist/server/mcp/client.d.ts +20 -12
- package/dist/server/mcp/client.d.ts.map +1 -1
- package/dist/server/mcp/queries.d.ts +60 -36
- package/dist/server/mcp/queries.d.ts.map +1 -1
- package/dist/server/metadata/fields.js +1 -1
- package/dist/server/metadata/fields.js.map +1 -1
- package/dist/server/packageInfo.d.ts +1 -1
- package/dist/server/packageInfo.js +1 -1
- package/dist/server/views/remainingQueries.d.ts +20 -12
- package/dist/server/views/remainingQueries.d.ts.map +1 -1
- package/package.json +7 -6
- package/src/browser/diagnostics/schema.ts +12 -2
- package/src/client/client.ts +2 -1
- package/src/client/formStatus.ts +35 -0
- package/src/client/react/BoardShell.tsx +19 -26
- package/src/client/react/DocumentContext.tsx +6 -3
- package/src/client/react/FormContext.ts +13 -0
- package/src/client/react/LiveControls.tsx +5 -25
- package/src/client/react/MainLocationContext.ts +8 -0
- package/src/client/react/ProjectionFrame.tsx +13 -5
- package/src/client/react/ReadingLibrary.tsx +7 -8
- package/src/client/react/SystemPage.tsx +2 -1
- package/src/client/react/TodayOptions.tsx +40 -33
- package/src/client/react/VisualViewer.tsx +6 -6
- package/src/client/react/boardRouter.ts +3 -2
- package/src/client/react/createResponse.ts +10 -35
- package/src/client/react/diagnosticsValues.tsx +20 -12
- package/src/client/react/entry.tsx +2 -37
- package/src/client/react/githubLimited.ts +5 -0
- package/src/client/react/mainLocation.ts +5 -8
- package/src/client/react/mountBoard.tsx +49 -0
- package/src/client/react/navigationLocation.ts +2 -2
- package/src/client/react/retryPage.ts +4 -4
- package/src/client/react/useBoardNavigation.ts +20 -8
- package/src/client/react/useDocumentPage.ts +12 -6
- package/src/client/react/useHandoffForm.ts +25 -33
- package/src/client/react/useResponseForm.ts +20 -18
- package/src/client/react/visualSources.ts +10 -8
- package/src/client/saveFailure.ts +14 -0
- package/src/diagnostics/daemonContract.ts +2 -1
- package/src/diagnostics/health.ts +2 -0
- package/src/diagnostics/source.ts +1 -2
- package/src/server/diagnostics/githubLimits.ts +9 -11
- package/src/server/metadata/fields.ts +1 -1
- package/src/server/packageInfo.ts +1 -1
- package/dist/client/handoffs/failureStatus.d.ts +0 -2
- package/dist/client/handoffs/failureStatus.d.ts.map +0 -1
- package/dist/client/handoffs/failureStatus.js +0 -7
- package/dist/client/handoffs/failureStatus.js.map +0 -1
- package/dist/client/responses/failure.d.ts +0 -5
- package/dist/client/responses/failure.d.ts.map +0 -1
- package/dist/client/responses/failure.js +0 -13
- package/dist/client/responses/failure.js.map +0 -1
- package/dist/server/diagnostics/readCommand.d.ts +0 -4
- package/dist/server/diagnostics/readCommand.d.ts.map +0 -1
- package/dist/server/diagnostics/readCommand.js +0 -20
- package/dist/server/diagnostics/readCommand.js.map +0 -1
- package/src/client/handoffs/failureStatus.ts +0 -6
- package/src/client/responses/failure.ts +0 -13
- package/src/server/diagnostics/readCommand.ts +0 -24
|
@@ -20,22 +20,25 @@ export declare const CodexLimits: Schema.Struct<{
|
|
|
20
20
|
export type CodexLimits = typeof CodexLimits.Type;
|
|
21
21
|
export declare const GithubWindow: Schema.Struct<{
|
|
22
22
|
readonly limit: Schema.Int;
|
|
23
|
+
readonly limitedBy: Schema.NullOr<Schema.Literals<readonly ["rate-limit", "reserve"]>>;
|
|
24
|
+
readonly limitedUntil: Schema.NullOr<Schema.Number>;
|
|
25
|
+
readonly observedAt: Schema.Number;
|
|
23
26
|
readonly remaining: Schema.Int;
|
|
24
27
|
readonly reset: Schema.Int;
|
|
28
|
+
readonly resource: Schema.String;
|
|
29
|
+
readonly used: Schema.Int;
|
|
25
30
|
}>;
|
|
26
31
|
export type GithubWindow = typeof GithubWindow.Type;
|
|
27
|
-
export declare const GithubLimits: Schema.Struct<{
|
|
28
|
-
readonly
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
readonly
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}>;
|
|
38
|
-
}>;
|
|
32
|
+
export declare const GithubLimits: Schema.$Array<Schema.Struct<{
|
|
33
|
+
readonly limit: Schema.Int;
|
|
34
|
+
readonly limitedBy: Schema.NullOr<Schema.Literals<readonly ["rate-limit", "reserve"]>>;
|
|
35
|
+
readonly limitedUntil: Schema.NullOr<Schema.Number>;
|
|
36
|
+
readonly observedAt: Schema.Number;
|
|
37
|
+
readonly remaining: Schema.Int;
|
|
38
|
+
readonly reset: Schema.Int;
|
|
39
|
+
readonly resource: Schema.String;
|
|
40
|
+
readonly used: Schema.Int;
|
|
41
|
+
}>>;
|
|
39
42
|
export type GithubLimits = typeof GithubLimits.Type;
|
|
40
43
|
export type Observation<A> = {
|
|
41
44
|
readonly state: "ready";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/browser/diagnostics/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,eAAO,MAAM,WAAW;;;;EAItB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAClD,eAAO,MAAM,WAAW;;;;;;;;;;;EAAgG,CAAC;AACzH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/browser/diagnostics/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,eAAO,MAAM,WAAW;;;;EAItB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAClD,eAAO,MAAM,WAAW;;;;;;;;;;;EAAgG,CAAC;AACzH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAGlD,eAAO,MAAM,YAAY;;;;;;;;;EASvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AACpD,eAAO,MAAM,YAAY;;;;;;;;;GAA2D,CAAC;AACrF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD,MAAM,MAAM,WAAW,CAAC,CAAC,IACtB;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC3E;IAAE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
@@ -6,6 +6,16 @@ export const UsageWindow = Schema.Struct({
|
|
|
6
6
|
});
|
|
7
7
|
export const CodexLimits = Schema.Struct({ primary: Schema.NullOr(UsageWindow), secondary: Schema.NullOr(UsageWindow) });
|
|
8
8
|
const Count = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
|
|
9
|
-
|
|
10
|
-
export const
|
|
9
|
+
const Timestamp = Schema.Number.check(Schema.isFinite(), Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(8_640_000_000_000_000));
|
|
10
|
+
export const GithubWindow = Schema.Struct({
|
|
11
|
+
limit: Count,
|
|
12
|
+
limitedBy: Schema.NullOr(Schema.Literals(["rate-limit", "reserve"])),
|
|
13
|
+
limitedUntil: Schema.NullOr(Timestamp),
|
|
14
|
+
observedAt: Timestamp,
|
|
15
|
+
remaining: Count,
|
|
16
|
+
reset: Count.check(Schema.isLessThanOrEqualTo(8_640_000_000_000)),
|
|
17
|
+
resource: Schema.String.check(Schema.isMinLength(1), Schema.isMaxLength(100)),
|
|
18
|
+
used: Count,
|
|
19
|
+
});
|
|
20
|
+
export const GithubLimits = Schema.Array(GithubWindow).check(Schema.isMaxLength(50));
|
|
11
21
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/browser/diagnostics/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC1H,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACrF,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAEzH,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/browser/diagnostics/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC1H,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACrF,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAEzH,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAC9I,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IACpE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IACtC,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IACjE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7E,IAAI,EAAE,KAAK;CACX,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -27,6 +27,16 @@ export declare const DiagnosticsProjection: Schema.Struct<{
|
|
|
27
27
|
readonly state: Schema.Literal<"ready">;
|
|
28
28
|
readonly value: Schema.Struct<{
|
|
29
29
|
readonly concurrency: Schema.Int;
|
|
30
|
+
readonly github: Schema.optional<Schema.$Array<Schema.Struct<{
|
|
31
|
+
readonly limit: Schema.Int;
|
|
32
|
+
readonly limitedBy: Schema.NullOr<Schema.Literals<readonly ["rate-limit", "reserve"]>>;
|
|
33
|
+
readonly limitedUntil: Schema.NullOr<Schema.Number>;
|
|
34
|
+
readonly observedAt: Schema.Number;
|
|
35
|
+
readonly remaining: Schema.Int;
|
|
36
|
+
readonly reset: Schema.Int;
|
|
37
|
+
readonly resource: Schema.String;
|
|
38
|
+
readonly used: Schema.Int;
|
|
39
|
+
}>>>;
|
|
30
40
|
readonly lastCapacityRejection: Schema.NullOr<Schema.Struct<{
|
|
31
41
|
readonly at: Schema.Number;
|
|
32
42
|
readonly cause: Schema.String;
|
|
@@ -51,18 +61,16 @@ export declare const DiagnosticsProjection: Schema.Struct<{
|
|
|
51
61
|
readonly github: Schema.Union<readonly [Schema.Struct<{
|
|
52
62
|
readonly observedAt: Schema.Number;
|
|
53
63
|
readonly state: Schema.Literal<"ready">;
|
|
54
|
-
readonly value: Schema.Struct<{
|
|
55
|
-
readonly
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
readonly
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}>;
|
|
65
|
-
}>;
|
|
64
|
+
readonly value: Schema.$Array<Schema.Struct<{
|
|
65
|
+
readonly limit: Schema.Int;
|
|
66
|
+
readonly limitedBy: Schema.NullOr<Schema.Literals<readonly ["rate-limit", "reserve"]>>;
|
|
67
|
+
readonly limitedUntil: Schema.NullOr<Schema.Number>;
|
|
68
|
+
readonly observedAt: Schema.Number;
|
|
69
|
+
readonly remaining: Schema.Int;
|
|
70
|
+
readonly reset: Schema.Int;
|
|
71
|
+
readonly resource: Schema.String;
|
|
72
|
+
readonly used: Schema.Int;
|
|
73
|
+
}>>;
|
|
66
74
|
}>, Schema.Struct<{
|
|
67
75
|
readonly cause: Schema.String;
|
|
68
76
|
readonly observedAt: Schema.Number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remaining.d.ts","sourceRoot":"","sources":["../../../src/browser/views/remaining.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"remaining.d.ts","sourceRoot":"","sources":["../../../src/browser/views/remaining.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsE,CAAC;AACzG,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAC;AAEtE,eAAO,MAAM,eAAe;;;;;;;EAG1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;AAC1D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAkE,CAAC;AACjG,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAC9D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC"}
|
package/dist/client/client.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export interface BrowserClient {
|
|
|
24
24
|
readonly registry: AtomRegistry.AtomRegistry;
|
|
25
25
|
readonly responses: BoundContract<typeof responseContract>;
|
|
26
26
|
readonly run: <A, E>(effect: Effect.Effect<A, E, Reader>, signal?: AbortSignal) => Promise<A>;
|
|
27
|
+
readonly runtime: Atom.AtomRuntime<Reader>;
|
|
27
28
|
readonly updates: ReturnType<typeof live<Reader, InternalServerError | RpcClientError, never>>;
|
|
28
29
|
}
|
|
29
30
|
export declare function browserClient(url: string, options?: ResumeOptions): BrowserClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,KAAK,IAAI,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAC;AAE/D,OAAO,KAAK,KAAK,UAAU,MAAM,8BAA8B,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,KAAK,EAAQ,MAAM,oCAAoC,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,sCAAsC,CAAC;AACxF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAa,YAAY,EAAY,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,MAAM;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,MAAM,CAAC;CAC/B;AAED,KAAK,aAAa,CAAC,SAAS,IAC3B,SAAS,SAAS,QAAQ,CAAC,MAAM,KAAK,EAAE,MAAM,QAAQ,EAAE,MAAM,SAAS,EAAE,MAAM,KAAK,EAAE,MAAM,QAAQ,CAAC,GAClG,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,GAC1D,KAAK,CAAC;AACV,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,YAAY,CAAC,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,eAAe,CAAC,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACzH,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1G,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,YAAY,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC3D,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9F,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,mBAAmB,GAAG,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;CAC/F;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,aAAa,CAmDrF"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,KAAK,IAAI,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAC;AAE/D,OAAO,KAAK,KAAK,UAAU,MAAM,8BAA8B,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,KAAK,EAAQ,MAAM,oCAAoC,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,sCAAsC,CAAC;AACxF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAa,YAAY,EAAY,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,MAAM;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,MAAM,CAAC;CAC/B;AAED,KAAK,aAAa,CAAC,SAAS,IAC3B,SAAS,SAAS,QAAQ,CAAC,MAAM,KAAK,EAAE,MAAM,QAAQ,EAAE,MAAM,SAAS,EAAE,MAAM,KAAK,EAAE,MAAM,QAAQ,CAAC,GAClG,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,GAC1D,KAAK,CAAC;AACV,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,YAAY,CAAC,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,eAAe,CAAC,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACzH,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1G,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,YAAY,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC3D,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9F,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,mBAAmB,GAAG,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;CAC/F;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,aAAa,CAmDrF"}
|
package/dist/client/client.js
CHANGED
|
@@ -59,6 +59,6 @@ export function browserClient(url, options = {}) {
|
|
|
59
59
|
return result.success;
|
|
60
60
|
}
|
|
61
61
|
const responses = bind(responseContract, Client);
|
|
62
|
-
return { api, handoffs: bind(handoffContract, Client), mutate, read, registry, responses, run, updates };
|
|
62
|
+
return { api, handoffs: bind(handoffContract, Client), mutate, read, registry, responses, run, runtime: Client.runtime, updates };
|
|
63
63
|
}
|
|
64
64
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAc,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAsB,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAExF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Option } from "effect";
|
|
2
|
+
import type { SaveState } from "@shivaedev/effect-react/save-state.ts";
|
|
3
|
+
import { type SaveFailure } from "./saveFailure.ts";
|
|
4
|
+
export type DraftInteraction = "draft" | "cleared" | "submitted";
|
|
5
|
+
export declare function formStatus<A>(state: Pick<SaveState<SaveFailure>, "saving" | "failure"> & {
|
|
6
|
+
readonly created: Option.Option<A>;
|
|
7
|
+
}, interaction: DraftInteraction, kind: "response" | "handoff", saved: (value: A) => string): {
|
|
8
|
+
readonly outcome: string | undefined;
|
|
9
|
+
readonly text: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function responseSaved(id: string, dirty: boolean): string;
|
|
12
|
+
//# sourceMappingURL=formStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formStatus.d.ts","sourceRoot":"","sources":["../../src/client/formStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,kBAAkB,CAAC;AAEjE,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;AACjE,wBAAgB,UAAU,CAAC,CAAC,EAC3B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CAAE,EAClG,WAAW,EAAE,gBAAgB,EAC7B,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GACzB;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAoBjE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,UAEvD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Option } from "effect";
|
|
2
|
+
import { saveFailure } from "./saveFailure.js";
|
|
3
|
+
export function formStatus(state, interaction, kind, saved) {
|
|
4
|
+
if (state.saving) {
|
|
5
|
+
return {
|
|
6
|
+
outcome: "pending",
|
|
7
|
+
text: kind === "response" ? "Pending: registering reviewed context, then recording response…" : "Pending: preparing the local handoff file…",
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
if (interaction === "submitted") {
|
|
11
|
+
if (Option.isSome(state.failure)) {
|
|
12
|
+
return saveFailure(state.failure.value, kind);
|
|
13
|
+
}
|
|
14
|
+
if (Option.isSome(state.created)) {
|
|
15
|
+
return { outcome: "saved", text: saved(state.created.value) };
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const ready = kind === "handoff" ? "Draft ready. Review and preview before preparing the file." : "";
|
|
19
|
+
return {
|
|
20
|
+
outcome: undefined,
|
|
21
|
+
text: interaction === "cleared" ? `Draft cleared. Saved ${kind === "response" ? "responses" : "handoffs"} are unchanged.` : ready,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function responseSaved(id, dirty) {
|
|
25
|
+
return `Saved: responses/${id}.md. This records feedback, not acceptance.${dirty ? " Your current draft remains unsaved." : ""}`;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=formStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formStatus.js","sourceRoot":"","sources":["../../src/client/formStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAoB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGjE,MAAM,UAAU,UAAU,CACzB,KAAkG,EAClG,WAA6B,EAC7B,IAA4B,EAC5B,KAA2B;IAE3B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO;YACN,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,iEAAiE,CAAC,CAAC,CAAC,4CAA4C;SAC5I,CAAC;IACH,CAAC;IACD,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,CAAC;IACF,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,4DAA4D,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,OAAO;QACN,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,iBAAiB,CAAC,CAAC,CAAC,KAAK;KACjI,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAU,EAAE,KAAc;IACvD,OAAO,oBAAoB,EAAE,8CAA8C,KAAK,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAClI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoardShell.d.ts","sourceRoot":"","sources":["../../../src/client/react/BoardShell.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,YAAY,MAAM,gCAAgC,CAAC;AAGpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"BoardShell.d.ts","sourceRoot":"","sources":["../../../src/client/react/BoardShell.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,YAAY,MAAM,gCAAgC,CAAC;AAGpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAYvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAS9C,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,YAAY,CAAC;CAC7C;AACD,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,+BAO/C"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useRouterState } from "@tanstack/react-router";
|
|
3
3
|
import { Option } from "effect";
|
|
4
|
-
import {
|
|
4
|
+
import { useEffect, useState } from "react";
|
|
5
5
|
import { useQuery } from "@shivaedev/effect-react/result-state.ts";
|
|
6
6
|
import { navigationQuery } from "#client/page/routeQuery.ts";
|
|
7
7
|
import { AgeTicker } from "./Age.js";
|
|
8
8
|
import { FleetMain } from "./FleetMain.js";
|
|
9
|
+
import { FormContext } from "./FormContext.js";
|
|
9
10
|
import { Header } from "./Header.js";
|
|
10
11
|
import { LiveControls } from "./LiveControls.js";
|
|
11
|
-
import {
|
|
12
|
+
import { MainLocationContext, useMainLocation } from "./MainLocationContext.js";
|
|
13
|
+
import { emptyMainLocation } from "./mainLocation.js";
|
|
12
14
|
import { PhoneNavigation } from "./PhoneNavigation.js";
|
|
13
15
|
import { ReadingLibrary } from "./ReadingLibrary.js";
|
|
14
16
|
import { SearchDialog } from "./SearchDialog.js";
|
|
@@ -21,49 +23,41 @@ import { useSearchDialog } from "./useSearchDialog.js";
|
|
|
21
23
|
import { useSidebar } from "./useSidebar.js";
|
|
22
24
|
import { VisualInspection } from "./VisualInspection.js";
|
|
23
25
|
export function BoardShell(options) {
|
|
24
|
-
const
|
|
26
|
+
const [main, onPage] = useState(emptyMainLocation);
|
|
27
|
+
return (_jsx(MainLocationContext.Provider, { value: main, children: _jsx(BoardWorkspace, { ...options, onPage: onPage }) }));
|
|
28
|
+
}
|
|
29
|
+
function BoardWorkspace(options) {
|
|
30
|
+
const { api, ready, client, onPage } = options;
|
|
31
|
+
const main = useMainLocation();
|
|
25
32
|
const appearance = useAppearance();
|
|
26
33
|
const sidebar = useSidebar(appearance);
|
|
27
34
|
const status = useBoardNavigation(options);
|
|
28
35
|
const search = useSearchDialog();
|
|
29
36
|
const [libraryOpen, setLibraryOpen] = useState(false);
|
|
30
37
|
const location = useRouterState({ select: (state) => state.location });
|
|
31
|
-
const [main, setMain] = useState({ file: "", view: "" });
|
|
32
38
|
const query = useQuery(navigationQuery(api), { keepPreviousData: true });
|
|
33
39
|
const data = Option.getOrUndefined(query.data);
|
|
34
|
-
const onPage = useCallback((next) => setMain((previous) => (sameMainLocation(previous, next) ? previous : next)), []);
|
|
35
40
|
useEffect(() => {
|
|
36
41
|
function start() {
|
|
37
42
|
const doc = document.getElementById("doc");
|
|
38
43
|
const context = doc?.querySelector(".item-context");
|
|
39
|
-
if (data &&
|
|
44
|
+
if (data && main.route && (!context || context.dataset.readingReady === "true")) {
|
|
40
45
|
ready?.();
|
|
41
46
|
}
|
|
42
47
|
}
|
|
43
48
|
start();
|
|
44
|
-
document.addEventListener("board-page", start);
|
|
45
49
|
document.addEventListener("board-reading-ready", start);
|
|
46
50
|
return () => {
|
|
47
|
-
document.removeEventListener("board-page", start);
|
|
48
51
|
document.removeEventListener("board-reading-ready", start);
|
|
49
52
|
};
|
|
50
|
-
}, [ready, data]);
|
|
51
|
-
useEffect(() => {
|
|
52
|
-
function sync() {
|
|
53
|
-
const doc = document.getElementById("doc");
|
|
54
|
-
if (doc) {
|
|
55
|
-
onPage(displayedLocation(doc));
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
document.addEventListener("board-page", sync);
|
|
59
|
-
return () => document.removeEventListener("board-page", sync);
|
|
60
|
-
}, [onPage]);
|
|
53
|
+
}, [ready, data, main]);
|
|
61
54
|
useEffect(() => {
|
|
62
55
|
if (data) {
|
|
63
56
|
document.dispatchEvent(new Event("board-index-change"));
|
|
64
57
|
}
|
|
65
58
|
}, [data]);
|
|
66
|
-
const live = client ? (_jsx(LiveControls, { client: client,
|
|
67
|
-
|
|
59
|
+
const live = client ? (_jsx(LiveControls, { client: client, navigationFailed: Option.isSome(query.cause), navigationPending: query.pending })) : (_jsx("span", { className: "font-mono text-muted-foreground text-xs", id: shellIds.live, role: "status", children: "connecting" }));
|
|
60
|
+
const content = (_jsx(AgeTicker, { children: _jsxs(ReadingLibrary, { api: api, close: () => setLibraryOpen(false), open: libraryOpen, children: [_jsx("a", { className: "sr-only rounded-md bg-background p-3 focus:not-sr-only focus:absolute focus:z-50", href: "#doc", children: "Skip to content" }), _jsxs("div", { className: "grid min-h-dvh grid-cols-1 bg-background text-foreground md:data-[sidebar=open]:grid-cols-[248px_minmax(0,1fr)] print:block", "data-board-workspace": true, "data-sidebar": sidebar.open ? "open" : "closed", children: [_jsx(Sidebar, { api: api, controls: sidebar, data: data, home: location.pathname === "/", main: main, openLibrary: () => setLibraryOpen(true) }), _jsx("button", { "aria-label": "Close files", className: "fixed inset-0 z-30 hidden border-0 bg-black/45 p-0 data-[open=true]:block md:hidden", "data-open": sidebar.narrow && sidebar.open, hidden: !(sidebar.narrow && sidebar.open), id: shellIds.sidebarBackdrop, onClick: () => sidebar.close(), type: "button" }), _jsxs("div", { className: "min-w-0 pb-[calc(4rem+env(safe-area-inset-bottom))] md:pb-0", "data-board-page": true, inert: sidebar.narrow && sidebar.open, children: [_jsx(Header, { appearance: appearance, count: data?.inboxCount ?? null, live: live, main: main, openSearch: search.show, sidebar: sidebar, status: status, updates: client ? _jsx(UpdatesToggle, { client: client }) : null }), _jsx(FleetMain, { api: api, home: data?.home, onPage: onPage, url: location.pathname + location.searchStr }), _jsx(PhoneNavigation, { main: main, openSearch: search.show })] })] }), Option.isSome(query.cause) && _jsx("p", { role: "status", children: "Navigation refresh failed. Your displayed files are retained." }), _jsx(VisualInspection, {}), _jsx(SearchDialog, { api: api, appearance: appearance, close: search.close, open: search.open, returnFocus: search.returnFocus, toggleSidebar: sidebar.toggle })] }) }));
|
|
61
|
+
return client ? _jsx(FormContext.Provider, { value: client, children: content }) : content;
|
|
68
62
|
}
|
|
69
63
|
//# sourceMappingURL=BoardShell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoardShell.js","sourceRoot":"","sources":["../../../src/client/react/BoardShell.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"BoardShell.js","sourceRoot":"","sources":["../../../src/client/react/BoardShell.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentContext.d.ts","sourceRoot":"","sources":["../../../src/client/react/DocumentContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"DocumentContext.d.ts","sourceRoot":"","sources":["../../../src/client/react/DocumentContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAO5D,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,+BAsDlF"}
|
|
@@ -4,11 +4,16 @@ import { Tabs } from "#client/react/components/ui/Tabs.tsx";
|
|
|
4
4
|
import { Age } from "./Age.js";
|
|
5
5
|
import { DocumentMetadata } from "./DocumentMetadata.js";
|
|
6
6
|
import { DocumentSource } from "./DocumentSource.js";
|
|
7
|
+
import { useMainLocation } from "./MainLocationContext.js";
|
|
7
8
|
export function DocumentContext({ document: data }) {
|
|
9
|
+
const page = useMainLocation();
|
|
8
10
|
const [headings, setHeadings] = useState([]);
|
|
9
11
|
const contextRef = useRef(null);
|
|
10
12
|
const [tab, setTab] = useState("details");
|
|
11
13
|
useEffect(() => {
|
|
14
|
+
if (page.route && page.projection === "document" && page.file !== data.file) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
12
17
|
function outline() {
|
|
13
18
|
const entries = [
|
|
14
19
|
...(contextRef.current
|
|
@@ -20,10 +25,8 @@ export function DocumentContext({ document: data }) {
|
|
|
20
25
|
.map((heading) => ({ depth: Number(heading.tagName.slice(1)), id: heading.id, title: heading.textContent?.replace(/#$/u, "") ?? "" }));
|
|
21
26
|
setHeadings((current) => (JSON.stringify(current) === JSON.stringify(entries) ? current : entries));
|
|
22
27
|
}
|
|
23
|
-
document.addEventListener("board-page", outline);
|
|
24
28
|
outline();
|
|
25
|
-
|
|
26
|
-
}, []);
|
|
29
|
+
}, [page, data]);
|
|
27
30
|
useLayoutEffect(() => {
|
|
28
31
|
const context = contextRef.current;
|
|
29
32
|
if (!context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentContext.js","sourceRoot":"","sources":["../../../src/client/react/DocumentContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErE,OAAO,EAAE,IAAI,EAAE,MAAM,sCAAsC,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,UAAW,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"DocumentContext.js","sourceRoot":"","sources":["../../../src/client/react/DocumentContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { BrowserClient } from "#client/client.ts";
|
|
2
|
+
export type FormClient = Pick<BrowserClient, "handoffs" | "responses" | "runtime">;
|
|
3
|
+
export declare const FormContext: import("react").Context<FormClient | undefined>;
|
|
4
|
+
export declare function useFormClient(): FormClient;
|
|
5
|
+
//# sourceMappingURL=FormContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormContext.d.ts","sourceRoot":"","sources":["../../../src/client/react/FormContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC,CAAC;AACnF,eAAO,MAAM,WAAW,iDAAmD,CAAC;AAE5E,wBAAgB,aAAa,eAM5B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
export const FormContext = createContext(undefined);
|
|
3
|
+
export function useFormClient() {
|
|
4
|
+
const client = useContext(FormContext);
|
|
5
|
+
if (!client) {
|
|
6
|
+
throw new Error("Board forms require the shell's RPC client");
|
|
7
|
+
}
|
|
8
|
+
return client;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=FormContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormContext.js","sourceRoot":"","sources":["../../../src/client/react/FormContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAIlD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAyB,SAAS,CAAC,CAAC;AAE5E,MAAM,UAAU,aAAa;IAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { BrowserClient } from "#client/client.ts";
|
|
2
|
-
export declare function LiveControls({ client,
|
|
3
|
-
readonly client: BrowserClient
|
|
4
|
-
|
|
2
|
+
export declare function LiveControls({ client, navigationPending, navigationFailed, }: {
|
|
3
|
+
readonly client: Pick<BrowserClient, "api" | "registry"> & {
|
|
4
|
+
readonly updates: Pick<BrowserClient["updates"], "paused" | "status">;
|
|
5
|
+
};
|
|
5
6
|
readonly navigationPending: boolean;
|
|
6
7
|
readonly navigationFailed: boolean;
|
|
7
8
|
}): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveControls.d.ts","sourceRoot":"","sources":["../../../src/client/react/LiveControls.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"LiveControls.d.ts","sourceRoot":"","sources":["../../../src/client/react/LiveControls.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOvD,wBAAgB,YAAY,CAAC,EAC5B,MAAM,EACN,iBAAiB,EACjB,gBAAgB,GAChB,EAAE;IACF,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,UAAU,CAAC,GAAG;QAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAA;KAAE,CAAC;IACrI,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;CACnC,+BAyCA"}
|
|
@@ -2,34 +2,20 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useAtomValue } from "@effect/atom-react";
|
|
3
3
|
import { Option } from "effect";
|
|
4
4
|
import * as Atom from "effect/reactivity/Atom";
|
|
5
|
-
import { useEffect, useMemo
|
|
5
|
+
import { useEffect, useMemo } from "react";
|
|
6
6
|
import { useQuery } from "@shivaedev/effect-react/result-state.ts";
|
|
7
7
|
import { activeRead } from "./activeRead.js";
|
|
8
8
|
import { liveStatus } from "./liveStatus.js";
|
|
9
|
+
import { useMainLocation } from "./MainLocationContext.js";
|
|
9
10
|
import { shellIds } from "./shellIds.js";
|
|
10
11
|
const opening = Atom.make({ failed: false, pending: true });
|
|
11
|
-
export function LiveControls({ client,
|
|
12
|
+
export function LiveControls({ client, navigationPending, navigationFailed, }) {
|
|
12
13
|
const status = useAtomValue(client.updates.status);
|
|
13
14
|
const paused = useAtomValue(client.updates.paused);
|
|
14
15
|
const watcher = useQuery(client.api.watcher.query());
|
|
15
16
|
const watching = Option.getOrUndefined(watcher.data)?.watching === true;
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
function sync() {
|
|
19
|
-
const doc = document.getElementById("doc");
|
|
20
|
-
if (doc?.dataset.route !== current) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
setPage({
|
|
24
|
-
kind: doc?.dataset.projection ?? "document",
|
|
25
|
-
url: current,
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
sync();
|
|
29
|
-
document.addEventListener("board-page", sync);
|
|
30
|
-
return () => document.removeEventListener("board-page", sync);
|
|
31
|
-
}, [current]);
|
|
32
|
-
const atom = useMemo(() => (page ? activeRead(client.api, page.kind, page.url) : opening), [client, page]);
|
|
17
|
+
const page = useMainLocation();
|
|
18
|
+
const atom = useMemo(() => (page.route ? activeRead(client.api, page.projection, page.route) : opening), [client, page.projection, page.route]);
|
|
33
19
|
const reading = useAtomValue(atom);
|
|
34
20
|
const displayed = liveStatus({
|
|
35
21
|
connection: status.connection,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveControls.js","sourceRoot":"","sources":["../../../src/client/react/LiveControls.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"LiveControls.js","sourceRoot":"","sources":["../../../src/client/react/LiveControls.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5D,MAAM,UAAU,YAAY,CAAC,EAC5B,MAAM,EACN,iBAAiB,EACjB,gBAAgB,GAKhB;IACA,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxE,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAChJ,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,UAAU,CAAC;QAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,gBAAgB;QAChB,MAAM;QACN,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,iBAAiB,IAAI,OAAO,CAAC,OAAO;QAC7C,QAAQ;KACR,CAAC,CAAC;IACH,SAAS,CACR,GAAG,EAAE,CACJ,MAAM,CAAC,QAAQ,CAAC,SAAS,CACxB,MAAM,CAAC,OAAO,CAAC,MAAM,EACrB,CAAC,KAAK,EAAE,EAAE;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC5D,CAAC;IACF,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACnB,EACF,CAAC,MAAM,CAAC,CACR,CAAC;IACF,OAAO,CACN,eACC,SAAS,EAAC,gHAAgH,gBAC9G,SAAS,CAAC,KAAK,EAC3B,EAAE,EAAE,QAAQ,CAAC,IAAI,EACjB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,SAAS,CAAC,KAAK,YAErB,SAAS,CAAC,IAAI,GACT,CACP,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainLocationContext.d.ts","sourceRoot":"","sources":["../../../src/client/react/MainLocationContext.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,mEAAmC,CAAC;AAEpE,wBAAgB,eAAe,6CAE9B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
import { emptyMainLocation } from "./mainLocation.js";
|
|
3
|
+
export const MainLocationContext = createContext(emptyMainLocation);
|
|
4
|
+
export function useMainLocation() {
|
|
5
|
+
return useContext(MainLocationContext);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=MainLocationContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainLocationContext.js","sourceRoot":"","sources":["../../../src/client/react/MainLocationContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAEpE,MAAM,UAAU,eAAe;IAC9B,OAAO,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -6,9 +6,8 @@ import type { ProjectionRoute } from "./projectionRoute.ts";
|
|
|
6
6
|
import type { RemainingRoute } from "./remainingRoute.ts";
|
|
7
7
|
export declare function ProjectionFrame<A, E>({ atom, location, onPage, render, source, route, url, }: {
|
|
8
8
|
readonly atom: Atom.Atom<AsyncResult.AsyncResult<A, E>>;
|
|
9
|
-
readonly location: (data: A) => MainLocation & {
|
|
9
|
+
readonly location: (data: A) => Omit<MainLocation, "route" | "projection"> & {
|
|
10
10
|
readonly identity?: string | undefined;
|
|
11
|
-
readonly status: number;
|
|
12
11
|
};
|
|
13
12
|
readonly onPage: (location: MainLocation) => void;
|
|
14
13
|
readonly render: (data: A) => ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectionFrame.d.ts","sourceRoot":"","sources":["../../../src/client/react/ProjectionFrame.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,KAAK,IAAI,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,OAAO,CAAC;AAGhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,EACrC,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,GAAG,GACH,EAAE;IACF,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,YAAY,GAAG;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"ProjectionFrame.d.ts","sourceRoot":"","sources":["../../../src/client/react/ProjectionFrame.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,KAAK,IAAI,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,OAAO,CAAC;AAGhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,EACrC,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,GAAG,GACH,EAAE;IACF,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,YAAY,CAAC,GAAG;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IACxH,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,cAAc,CAAC;IACjD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACrB,+BAuFA"}
|
|
@@ -15,7 +15,7 @@ export function ProjectionFrame({ atom, location, onPage, render, source, route,
|
|
|
15
15
|
const failed = Option.isSome(query.cause);
|
|
16
16
|
useLayoutEffect(() => {
|
|
17
17
|
const element = hostRef.current;
|
|
18
|
-
if (element
|
|
18
|
+
if (element) {
|
|
19
19
|
delete element.dataset.route;
|
|
20
20
|
}
|
|
21
21
|
if (!element || query.pending || (data === undefined && !failed)) {
|
|
@@ -33,8 +33,14 @@ export function ProjectionFrame({ atom, location, onPage, render, source, route,
|
|
|
33
33
|
}
|
|
34
34
|
renderedRef.current = projectionChanges(mainElement, renderedRef.current, url);
|
|
35
35
|
mainElement.dataset.route = url;
|
|
36
|
-
flushSync(() => onPage({
|
|
37
|
-
|
|
36
|
+
flushSync(() => onPage({
|
|
37
|
+
file: main.file,
|
|
38
|
+
projection: route,
|
|
39
|
+
route: url,
|
|
40
|
+
status: main.status,
|
|
41
|
+
title: mainElement.querySelector("h1")?.textContent?.trim(),
|
|
42
|
+
view: main.view,
|
|
43
|
+
}));
|
|
38
44
|
});
|
|
39
45
|
}
|
|
40
46
|
const observer = new MutationObserver((records) => {
|
|
@@ -50,7 +56,7 @@ export function ProjectionFrame({ atom, location, onPage, render, source, route,
|
|
|
50
56
|
active = false;
|
|
51
57
|
observer.disconnect();
|
|
52
58
|
};
|
|
53
|
-
}, [data, failed, query.pending, expectedSource, main.file, main.view, onPage, url]);
|
|
59
|
+
}, [data, failed, query.pending, expectedSource, main.file, main.status, main.view, onPage, route, url]);
|
|
54
60
|
return (_jsxs(_Fragment, { children: [_jsxs("main", { className: "board-view min-w-0 p-4 md:p-8", "data-file": main.file, "data-identity": "identity" in main ? main.identity : undefined, "data-projection": route, "data-react-projection": true, "data-status": main.status, "data-url": route === "board" ? fileUrl(main.file) : url, "data-view": main.view, id: shellIds.doc, ref: hostRef, tabIndex: -1, children: [data === undefined && (_jsx("p", { className: "empty", role: "status", children: loadingMessage(query.pending, missing, failure) })), _jsx("div", { className: data === undefined ? "hidden" : "contents", hidden: data === undefined, children: content === undefined ? null : render(content) })] }), data !== undefined && Option.isSome(query.cause) && _jsx("p", { role: "status", children: "Refresh failed. Your displayed view is retained." })] }));
|
|
55
61
|
}
|
|
56
62
|
function loadingMessage(pending, missing, failure) {
|