@declarion/react 0.52.0 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist-lib/{DraggableChildrenTable-CJCjc_cd.js → DraggableChildrenTable-BQZTvZaU.js} +35 -35
  2. package/dist-lib/{Grid-DUjbQg3r.js → Grid-B9Tiytbd.js} +28 -28
  3. package/dist-lib/{LayoutRenderer-DbdxC-Bq.js → LayoutRenderer-D_v9OD_A.js} +920 -922
  4. package/dist-lib/{ListCardsBody-C8ofksQb.js → ListCardsBody-dRnXsQ7A.js} +14 -14
  5. package/dist-lib/{MarkdownRenderer-B9_5fwuE.js → MarkdownRenderer-BCyrsLrd.js} +10 -10
  6. package/dist-lib/{record-documents-key-8fdm7C10.js → RecordIdBadge-CGxPR-8q.js} +1 -4
  7. package/dist-lib/{RefreshControl-C-8UCyau.js → RefreshControl-CV8nGACW.js} +120 -122
  8. package/dist-lib/{SmartDetailPage.impl-DWjNQ052.js → SmartDetailPage.impl-DWprVNMb.js} +376 -377
  9. package/dist-lib/{SmartListPage.impl-yKBK7a8b.js → SmartListPage.impl-BwWURGwa.js} +1098 -1099
  10. package/dist-lib/{SmartRecordListPage.impl-DRpU_DOC.js → SmartRecordListPage.impl-BKKBShAg.js} +183 -183
  11. package/dist-lib/{SortHeaderMenu-CbihbEGd.js → SortHeaderMenu-pgi4sxMs.js} +1 -1
  12. package/dist-lib/{action-dispatch-C28UhXXA.js → action-dispatch-DlHTYag7.js} +382 -382
  13. package/dist-lib/api/events.d.ts +27 -5
  14. package/dist-lib/{cardProjection-Bp_ZPLUE.js → cardProjection-C7Orz841.js} +146 -204
  15. package/dist-lib/components/pages/DocumentsMenu.d.ts +1 -1
  16. package/dist-lib/components/pages/RecordDocumentsPanel.d.ts +2 -2
  17. package/dist-lib/components/pages/list/useListQuery.d.ts +6 -1
  18. package/dist-lib/components/shared/RefreshControl.d.ts +7 -1
  19. package/dist-lib/components/shared/useOwnRefresh.d.ts +9 -0
  20. package/dist-lib/{field-classification-CeYJlsNq.js → field-classification-EY8CFF3P.js} +301 -320
  21. package/dist-lib/{format-count-C3N-WxEy.js → format-count-BHkaDr9V.js} +245 -245
  22. package/dist-lib/hooks/useMutations.d.ts +1 -1
  23. package/dist-lib/hooks/useSSE.d.ts +24 -4
  24. package/dist-lib/index.js +1541 -1832
  25. package/dist-lib/lib/document-templates.d.ts +1 -1
  26. package/dist-lib/lib/realtime-reconcile.d.ts +43 -0
  27. package/dist-lib/{peekDraftStore-D3sowXga.js → peekDraftStore-1pIajluX.js} +36 -36
  28. package/dist-lib/{registry-p6CejATt.js → registry-C5ug25M8.js} +507 -507
  29. package/dist-lib/stores/realtime.d.ts +20 -0
  30. package/dist-lib/testing.js +35 -35
  31. package/dist-lib/{useCurrentScreen-74x5yJNb.js → useCurrentScreen-BdnZq8vZ.js} +2504 -1557
  32. package/dist-lib/{useListQuery-D75bgLLz.js → useListQuery-BxgrPZIB.js} +13 -10
  33. package/dist-lib/{useProperties-C5fZp12D.js → useProperties-Bhi9Wn5O.js} +25 -25
  34. package/dist-lib/useTabSearchMirror-Dl5x0xKu.js +177 -0
  35. package/dist-lib/{value-DKekzcjz.js → value-Rp-5W3o8.js} +25 -25
  36. package/package.json +7 -7
  37. package/dist-lib/useTabSearchMirror-D_wzoYRz.js +0 -406
@@ -3,7 +3,27 @@ interface RealtimeState {
3
3
  degradedEntities: ReadonlySet<string>;
4
4
  /** Mark one entity as auto-degraded. Idempotent. */
5
5
  markDegraded: (entityCode: string) => void;
6
+ /** Realtime is delivering everything again; forget every degraded entity. */
7
+ clearDegraded: () => void;
8
+ /**
9
+ * True while a presented resume position's replay has not landed. The rows
10
+ * keep rendering; what is not true is that they are up to date.
11
+ */
12
+ replayPending: boolean;
13
+ setReplayPending: (pending: boolean) => void;
14
+ /**
15
+ * True while a row re-read was turned away for budget. The rows keep
16
+ * rendering, but only a refresh the person asks for will renew them.
17
+ */
18
+ readRefused: boolean;
19
+ setReadRefused: (refused: boolean) => void;
6
20
  }
7
21
  export declare const useRealtimeStore: import("zustand").UseBoundStore<import("zustand").StoreApi<RealtimeState>>;
8
22
  export declare function isEntityLive(realtimeFlag: boolean | undefined, degradedEntities: ReadonlySet<string>, entityCode: string): boolean;
23
+ /**
24
+ * Whether a screen showing this entity is CURRENT - a different question from
25
+ * isEntityLive, which answers whether the relay delivers at all. The rows keep
26
+ * rendering throughout; this is what says they may be behind. docs/realtime.md.
27
+ */
28
+ export declare function useScreenIsLive(realtimeFlag: boolean | undefined, entityCode: string): boolean;
9
29
  export {};
@@ -1,4 +1,4 @@
1
- import { Dt as e, Et as t, Ot as n, ft as r, jt as i, nr as a, r as o, t as s, yt as c } from "./useCurrentScreen-74x5yJNb.js";
1
+ import { Er as e, Jt as t, Vt as n, nn as r, on as i, r as a, rn as o, t as s, tn as c } from "./useCurrentScreen-BdnZq8vZ.js";
2
2
  import { useState as l } from "react";
3
3
  import { MemoryRouter as u, useLocation as d } from "react-router";
4
4
  import { QueryClient as f, QueryClientProvider as p } from "@tanstack/react-query";
@@ -89,15 +89,15 @@ function E(e) {
89
89
  }
90
90
  return e;
91
91
  }
92
- function D(r) {
93
- let i = r.entityData ?? {};
94
- n((e, t) => {
95
- let n = t;
96
- r.onListRequest?.(e, n);
97
- let a = i[e], o = typeof a == "function" ? a(n) : a;
92
+ function D(e) {
93
+ let n = e.entityData ?? {};
94
+ o((t, r) => {
95
+ let i = r;
96
+ e.onListRequest?.(t, i);
97
+ let a = n[t], o = typeof a == "function" ? a(i) : a;
98
98
  if (o instanceof Error) throw o;
99
99
  let s = E(o), c = s.meta?.per_page ?? 50, l = s.meta?.total ?? s.rows.length;
100
- return t.count === "only" ? {
100
+ return r.count === "only" ? {
101
101
  data: [],
102
102
  meta: {
103
103
  page: 1,
@@ -116,54 +116,54 @@ function D(r) {
116
116
  ...s.refs === void 0 ? {} : { $refs: s.refs }
117
117
  };
118
118
  });
119
- let a = r.entityItems ?? {}, o = r.entityItemResponses ?? {};
120
- e((e, t) => {
121
- let n = typeof t == "string" ? t : c(t), r = o[e]?.[n];
122
- if (r instanceof Error) throw r;
123
- if (r !== void 0) return r;
124
- let i = a[e]?.[n];
125
- if (i instanceof Error) throw i;
126
- return { data: i };
119
+ let i = e.entityItems ?? {}, a = e.entityItemResponses ?? {};
120
+ r((e, n) => {
121
+ let r = typeof n == "string" ? n : t(n), o = a[e]?.[r];
122
+ if (o instanceof Error) throw o;
123
+ if (o !== void 0) return o;
124
+ let s = i[e]?.[r];
125
+ if (s instanceof Error) throw s;
126
+ return { data: s };
127
127
  });
128
- let s = r.actionResults ?? {};
129
- t(async (e, t) => {
128
+ let s = e.actionResults ?? {};
129
+ c(async (e, t) => {
130
130
  if (!(e in s)) throw Error(`renderWithDeclarion: no action result registered for "${e}" (seed it via actionResults)`);
131
131
  let n = s[e];
132
132
  return C(typeof n == "function" ? await n(t) : n);
133
133
  });
134
134
  }
135
135
  function O() {
136
- n(null), e(null), t(null), i.setState({
136
+ o(null), r(null), c(null), i.setState({
137
137
  user: null,
138
138
  isAuthenticated: !1,
139
139
  activeTenant: null,
140
140
  tenants: []
141
141
  });
142
142
  }
143
- function k(e, t = {}) {
144
- let n = new f({ defaultOptions: { queries: {
143
+ function k(t, r = {}) {
144
+ let i = new f({ defaultOptions: { queries: {
145
145
  retry: !1,
146
146
  gcTime: Infinity
147
147
  } } });
148
- T(), n.setQueryData(["schema", !0], t.schema ?? v()), D(t);
149
- let i = t.screenCode ? /* @__PURE__ */ h(s, {
150
- code: t.screenCode,
151
- children: e
152
- }) : e, c = { current: t.route ?? "/" }, l = /* @__PURE__ */ g(p, {
153
- client: n,
148
+ T(), i.setQueryData(["schema", !0], r.schema ?? v()), D(r);
149
+ let o = r.screenCode ? /* @__PURE__ */ h(s, {
150
+ code: r.screenCode,
151
+ children: t
152
+ }) : t, c = { current: r.route ?? "/" }, l = /* @__PURE__ */ g(p, {
153
+ client: i,
154
154
  children: [/* @__PURE__ */ g(u, {
155
- initialEntries: [t.route ?? "/"],
156
- children: [/* @__PURE__ */ h(w, { into: c }), /* @__PURE__ */ h(o, { children: i })]
155
+ initialEntries: [r.route ?? "/"],
156
+ children: [/* @__PURE__ */ h(w, { into: c }), /* @__PURE__ */ h(a, { children: o })]
157
157
  }), /* @__PURE__ */ h(m, {})]
158
- }), d = t.embedQuery ? /* @__PURE__ */ h(r, {
159
- query: t.embedQuery,
158
+ }), d = r.embedQuery ? /* @__PURE__ */ h(n, {
159
+ query: r.embedQuery,
160
160
  children: l
161
- }) : l, y = _(t.viewport ? /* @__PURE__ */ h(a, {
162
- viewportOverride: t.viewport,
161
+ }) : l, y = _(r.viewport ? /* @__PURE__ */ h(e, {
162
+ viewportOverride: r.viewport,
163
163
  children: d
164
164
  }) : d);
165
165
  return Object.assign(y, {
166
- queryClient: n,
166
+ queryClient: i,
167
167
  location: () => c.current
168
168
  });
169
169
  }
@@ -184,7 +184,7 @@ function A({ children: e, authenticated: t = !0, ...n }) {
184
184
  client: r,
185
185
  children: [/* @__PURE__ */ h(u, {
186
186
  initialEntries: [n.route ?? "/"],
187
- children: /* @__PURE__ */ h(o, { children: e })
187
+ children: /* @__PURE__ */ h(a, { children: e })
188
188
  }), /* @__PURE__ */ h(m, {})]
189
189
  });
190
190
  }