@declarion/react 0.32.0 → 0.35.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 (57) hide show
  1. package/README.md +1 -1
  2. package/dist-lib/{ActionRunner-CaSrGpBi.js → ActionRunner-Bkkb_YMa.js} +1332 -1310
  3. package/dist-lib/{DraggableChildrenTable-CAHg7paQ.js → DraggableChildrenTable-TNni9y0Q.js} +55 -55
  4. package/dist-lib/DynamicIcon-BWO6QtNF.js +261 -0
  5. package/dist-lib/{Grid-DDbBhqcl.js → Grid-DOtBLx3n.js} +2 -2
  6. package/dist-lib/{JsonEditor-KelPV-OQ.js → JsonEditor-DoNmyrYd.js} +2 -2
  7. package/dist-lib/{LayoutRenderer-CelsqsZ6.js → LayoutRenderer-CMuVgKev.js} +748 -746
  8. package/dist-lib/{MarkdownRenderer-DThy2ixe.js → MarkdownRenderer-DWOlvx8k.js} +1 -1
  9. package/dist-lib/{MonacoJson-DVjwsaBK.js → MonacoJson-BfpzZ1iT.js} +1 -1
  10. package/dist-lib/RefreshControl-CgU8mNEp.js +835 -0
  11. package/dist-lib/SmartDetailPage.impl-Bjl7EFzU.js +1774 -0
  12. package/dist-lib/{SmartRecordListPage.impl-BKIpTNK7.js → SmartRecordListPage.impl-D2eE-g5J.js} +91 -91
  13. package/dist-lib/assets/OFL-Inter.txt +93 -0
  14. package/dist-lib/assets/OFL-JetBrainsMono.txt +93 -0
  15. package/dist-lib/assets/inter-latin-ext-wght-normal.woff2 +0 -0
  16. package/dist-lib/assets/inter-latin-wght-normal.woff2 +0 -0
  17. package/dist-lib/assets/jetbrains-mono-latin-ext-wght-normal.woff2 +0 -0
  18. package/dist-lib/assets/jetbrains-mono-latin-wght-normal.woff2 +0 -0
  19. package/dist-lib/components/fields/cells/factories/host-icons.d.ts +9 -1
  20. package/dist-lib/components/layout/TopBar.d.ts +2 -1
  21. package/dist-lib/components/pages/DocumentsMenu.d.ts +22 -0
  22. package/dist-lib/components/pages/RecordDocumentsPanel.d.ts +42 -0
  23. package/dist-lib/components/pages/list/DataCell.d.ts +1 -2
  24. package/dist-lib/components/pages/list/ListHeader.d.ts +1 -11
  25. package/dist-lib/components/primitives/Btn.d.ts +1 -1
  26. package/dist-lib/components/primitives/Icons.d.ts +1 -0
  27. package/dist-lib/components/primitives/Tooltip.d.ts +30 -0
  28. package/dist-lib/components/primitives/index.d.ts +2 -0
  29. package/dist-lib/components/shared/ActionResultDialog.d.ts +4 -0
  30. package/dist-lib/components/shared/RecordHeader.d.ts +2 -1
  31. package/dist-lib/components/shared/ResponsiveActionBar.d.ts +9 -1
  32. package/dist-lib/declarion-react.css +1 -1
  33. package/dist-lib/embed/theme.d.ts +8 -8
  34. package/dist-lib/hooks/useBrandingChrome.d.ts +28 -2
  35. package/dist-lib/hooks/useResponsiveMode.d.ts +17 -1
  36. package/dist-lib/icons.js +1 -1
  37. package/dist-lib/index.js +2430 -2441
  38. package/dist-lib/lib/brand-tokens.d.ts +43 -0
  39. package/dist-lib/lib/document-templates.d.ts +12 -0
  40. package/dist-lib/lib/download.d.ts +20 -0
  41. package/dist-lib/lib/html-state.d.ts +11 -0
  42. package/dist-lib/lib/record-documents-key.d.ts +1 -0
  43. package/dist-lib/lib/versionTracker.d.ts +6 -0
  44. package/dist-lib/{registry-KQyyL5Gt.js → registry-GTwsJEYp.js} +1469 -1343
  45. package/dist-lib/stores/page-state.d.ts +1 -1
  46. package/dist-lib/stores/preferences.d.ts +37 -0
  47. package/dist-lib/testing.js +5 -5
  48. package/dist-lib/types/api.d.ts +95 -23
  49. package/dist-lib/types/schema.d.ts +32 -1
  50. package/dist-lib/{useProperties-D74hyWIa.js → useProperties-oNGJ7HwM.js} +67 -67
  51. package/dist-lib/{value-BfXXl5EE.js → value-DNs5L0Ad.js} +82 -82
  52. package/dist-lib/vite/fingerprint-plugin.d.ts +1 -1
  53. package/package.json +17 -16
  54. package/dist-lib/DynamicIcon-DCRdxxZ7.js +0 -260
  55. package/dist-lib/RefreshControl-CorluL6r.js +0 -582
  56. package/dist-lib/SmartDetailPage.impl-USIxbl-8.js +0 -1532
  57. package/dist-lib/stores/appearance.d.ts +0 -37
@@ -1,582 +0,0 @@
1
- import { s as e } from "./DynamicIcon-DCRdxxZ7.js";
2
- import { Bn as t, J as n, Ot as r, Vn as i, Y as a, kn as o, mt as s, rt as c } from "./ActionRunner-CaSrGpBi.js";
3
- import { useCallback as l, useEffect as u, useMemo as d, useRef as f, useState as p } from "react";
4
- import { useLocation as m } from "react-router-dom";
5
- import { useQuery as h, useQueryClient as ee } from "@tanstack/react-query";
6
- import { jsx as g, jsxs as _ } from "react/jsx-runtime";
7
- import { create as te } from "zustand";
8
- //#region src/components/primitives/Avatar.tsx
9
- function ne({ name: e, size: t = 22, color: n }) {
10
- let r = e.split(/\s+/).map((e) => e[0]).slice(0, 2).join("").toUpperCase(), i = e.split("").reduce((e, t) => e + t.charCodeAt(0), 0), a = [
11
- "#DCE4F6",
12
- "#E4DCF6",
13
- "#F6DCE4",
14
- "#F6E4DC",
15
- "#DCF6E4",
16
- "#DCF6F1",
17
- "#F1F6DC",
18
- "#F6DCF1"
19
- ];
20
- return /* @__PURE__ */ g("span", {
21
- style: {
22
- display: "inline-flex",
23
- alignItems: "center",
24
- justifyContent: "center",
25
- width: t,
26
- height: t,
27
- borderRadius: 999,
28
- background: n || a[i % a.length],
29
- color: "#1E2A4A",
30
- fontSize: t < 20 ? 9.5 : 10.5,
31
- fontWeight: 600,
32
- flexShrink: 0
33
- },
34
- children: r
35
- });
36
- }
37
- //#endregion
38
- //#region src/components/primitives/RecordIdBadge.tsx
39
- var v = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i, re = 1200;
40
- function y({ value: t }) {
41
- let [n, r] = p(!1), i = v.test(t) ? `${t.slice(0, 8)}…` : t;
42
- return /* @__PURE__ */ _("button", {
43
- type: "button",
44
- onClick: l(async () => {
45
- try {
46
- await navigator.clipboard.writeText(t), r(!0), window.setTimeout(() => r(!1), re);
47
- } catch {}
48
- }, [t]),
49
- title: n ? "Copied" : `Copy ${t}`,
50
- className: "mono inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[11px] text-text-4 hover:bg-surface-2 hover:text-text-3 transition-colors shrink-0 border border-transparent hover:border-border",
51
- children: [/* @__PURE__ */ g("span", { children: i }), n ? /* @__PURE__ */ g(e.check, { size: 10 }) : /* @__PURE__ */ g(e.copy, {
52
- size: 10,
53
- style: { opacity: .6 }
54
- })]
55
- });
56
- }
57
- //#endregion
58
- //#region src/lib/branding.ts
59
- var b = "branding";
60
- function ie(e) {
61
- let t = {};
62
- if (!e) return t;
63
- for (let n of e) t[n.code] = n.value;
64
- return t;
65
- }
66
- function ae(e, t) {
67
- return e?.parameters.find((e) => e.code === t)?.value;
68
- }
69
- function x(e) {
70
- return S(ae(e, b));
71
- }
72
- function S(e) {
73
- if (w(e)) return e;
74
- }
75
- function C(e) {
76
- let t = x(e)?.identity;
77
- return w(t) ? t : void 0;
78
- }
79
- function w(e) {
80
- return !!e && typeof e == "object" && !Array.isArray(e);
81
- }
82
- function oe(e) {
83
- if (!e) return !1;
84
- let t = e.trim();
85
- return t ? t.startsWith("/") || t.startsWith("http://") || t.startsWith("https://") || t.startsWith("data:image/") : !1;
86
- }
87
- //#endregion
88
- //#region src/api/params.ts
89
- async function se() {
90
- let e = (await r("/api/params/public")).data;
91
- if (Array.isArray(e)) return { parameters: e };
92
- let t = e ?? {};
93
- return {
94
- parameters: t.parameters ?? [],
95
- accents: t.accents,
96
- messages: t.messages,
97
- meta: t.meta
98
- };
99
- }
100
- async function T(e) {
101
- return (await r(`/api/params/${encodeURIComponent(e)}`)).data;
102
- }
103
- async function ce(e, t, n) {
104
- await c("user.__update", {
105
- object_ids: [e],
106
- entity: "user",
107
- fields: { $params: [{
108
- param_code: t,
109
- value: n
110
- }] }
111
- });
112
- }
113
- //#endregion
114
- //#region src/hooks/useParams.ts
115
- function E() {
116
- return h({
117
- queryKey: ["params-public"],
118
- queryFn: se,
119
- staleTime: 300 * 1e3
120
- });
121
- }
122
- function D(e, t = {}) {
123
- let n = t.enabled ?? !0;
124
- return h({
125
- queryKey: ["params", e],
126
- queryFn: () => T(e),
127
- enabled: !!e && n,
128
- staleTime: 60 * 1e3
129
- });
130
- }
131
- function O(e) {
132
- let t = s((e) => e.isAuthenticated), n = E(), r = D(e, { enabled: t }), i = k(n.data?.parameters, e);
133
- if (t && r.data?.found) return {
134
- value: r.data.value,
135
- found: !0,
136
- source: r.data.source,
137
- loading: !1,
138
- error: null
139
- };
140
- let a = i !== void 0;
141
- return {
142
- value: i?.value,
143
- found: a,
144
- source: a ? "public" : void 0,
145
- loading: n.isLoading || t && r.isLoading && !r.data && !r.error,
146
- error: r.error ?? n.error ?? null
147
- };
148
- }
149
- function k(e, t) {
150
- return e?.find((e) => e.code === t);
151
- }
152
- function A(e, t) {
153
- let n = h({
154
- queryKey: ["params", e],
155
- queryFn: () => T(e),
156
- enabled: !!e,
157
- staleTime: 60 * 1e3
158
- }), r = n.data, i = !!r?.found;
159
- return {
160
- value: i ? r.value : t,
161
- found: i,
162
- source: r?.source,
163
- loading: n.isLoading,
164
- error: n.error ?? null
165
- };
166
- }
167
- //#endregion
168
- //#region src/hooks/useBranding.ts
169
- function j() {
170
- let e = O(b);
171
- return {
172
- branding: S(e.value),
173
- isLoading: e.loading
174
- };
175
- }
176
- function le() {
177
- return j().branding?.identity;
178
- }
179
- function ue() {
180
- return j().branding?.chrome;
181
- }
182
- //#endregion
183
- //#region src/stores/page-state.ts
184
- var M = 1800 * 1e3, N = null;
185
- function P(e) {
186
- N = e;
187
- }
188
- function F(e) {
189
- if (!(!e || !N)) for (let t of e.queryKeys) N.removeQueries({
190
- queryKey: t,
191
- exact: !0
192
- });
193
- }
194
- function I(e, t) {
195
- let n = e[t];
196
- if (!n) return e;
197
- F(n);
198
- let r = { ...e };
199
- return delete r[t], r;
200
- }
201
- function L(e, t) {
202
- let n = e;
203
- for (; Object.keys(n).length > 64;) {
204
- let e = null, r = Infinity;
205
- for (let [i, a] of Object.entries(n)) i !== t && a.lastActiveAt < r && (r = a.lastActiveAt, e = i);
206
- if (e === null) break;
207
- n = I(n, e);
208
- }
209
- return n;
210
- }
211
- var R = te((e, t) => ({
212
- entries: {},
213
- ttlMs: M,
214
- setTtl: (n) => {
215
- if (n <= 0) {
216
- let { entries: r } = t();
217
- for (let e of Object.keys(r)) F(r[e]);
218
- e({
219
- ttlMs: n,
220
- entries: {}
221
- });
222
- return;
223
- }
224
- e({ ttlMs: n });
225
- },
226
- set: (n, r, i) => {
227
- let a = t();
228
- if (a.ttlMs <= 0) return;
229
- let o = Date.now(), s = a.entries[n], c = s ? {
230
- ...s,
231
- bag: {
232
- ...s.bag,
233
- [r]: i
234
- },
235
- lastActiveAt: o
236
- } : {
237
- bag: { [r]: i },
238
- lastActiveAt: o,
239
- queryKeys: []
240
- };
241
- e({ entries: L({
242
- ...a.entries,
243
- [n]: c
244
- }, n) });
245
- },
246
- read: (e, n) => {
247
- let r = t();
248
- if (!(r.ttlMs <= 0)) return r.entries[e]?.bag[n];
249
- },
250
- touch: (n) => {
251
- let r = t();
252
- if (r.ttlMs <= 0) return;
253
- let i = r.entries[n];
254
- i && e({ entries: {
255
- ...r.entries,
256
- [n]: {
257
- ...i,
258
- lastActiveAt: Date.now()
259
- }
260
- } });
261
- },
262
- registerQueryKey: (n, r) => {
263
- let i = t();
264
- if (i.ttlMs <= 0) return;
265
- let a = Date.now(), o = i.entries[n], s = o?.queryKeys.some((e) => z(e, r));
266
- if (o && s) return;
267
- let c = o ? {
268
- ...o,
269
- queryKeys: [...o.queryKeys, r],
270
- lastActiveAt: a
271
- } : {
272
- bag: {},
273
- lastActiveAt: a,
274
- queryKeys: [r]
275
- };
276
- e({ entries: L({
277
- ...i.entries,
278
- [n]: c
279
- }, n) });
280
- },
281
- kill: (n) => {
282
- let r = t(), i = I(r.entries, n);
283
- i !== r.entries && e({ entries: i });
284
- },
285
- sweep: (n) => {
286
- let { ttlMs: r, entries: i } = t(), a = i;
287
- for (let [e, t] of Object.entries(i)) (r <= 0 || n - t.lastActiveAt > r) && (a = I(a, e));
288
- a !== i && e({ entries: a });
289
- },
290
- clear: () => {
291
- let { entries: n } = t();
292
- if (Object.keys(n).length !== 0) {
293
- for (let e of Object.keys(n)) F(n[e]);
294
- e({ entries: {} });
295
- }
296
- }
297
- }));
298
- function z(e, t) {
299
- if (e === t) return !0;
300
- try {
301
- return JSON.stringify(e) === JSON.stringify(t);
302
- } catch {
303
- return !1;
304
- }
305
- }
306
- //#endregion
307
- //#region src/lib/canonical-url.ts
308
- function B(e) {
309
- return e.length > 1 && e.endsWith("/") ? e.replace(/\/+$/, "") || "/" : e;
310
- }
311
- function V(e) {
312
- let t = B(e.pathname), n = e.search ?? "", r = n.startsWith("?") ? n.slice(1) : n, i = new URLSearchParams(r);
313
- for (let e of a) i.delete(e);
314
- i.sort();
315
- let o = i.toString();
316
- return o ? `${t}?${o}` : t;
317
- }
318
- function H(e) {
319
- return B(e.pathname);
320
- }
321
- //#endregion
322
- //#region src/hooks/usePageStateTtl.ts
323
- var U = "ui_page_state_ttl_ms";
324
- function W() {
325
- let { value: e } = A(U, M);
326
- return typeof e != "number" || !Number.isFinite(e) || e < 0 ? M : e;
327
- }
328
- //#endregion
329
- //#region src/hooks/usePageStateRuntime.ts
330
- var G = [
331
- ["entity-data"],
332
- ["entity-count"],
333
- ["entity-item"],
334
- ["entity-data-cursor"],
335
- ["entity-data-all"],
336
- ["action-data"],
337
- ["action-data-cursor"]
338
- ], de = 6e4;
339
- function K(e, t) {
340
- for (let n of G) e.setQueryDefaults(n, { gcTime: t });
341
- }
342
- function fe() {
343
- let e = ee(), t = W(), n = m(), r = f(n);
344
- r.current = n, u(() => (P(e), () => P(null)), [e]), u(() => {
345
- if (R.getState().setTtl(t), K(e, t), t <= 0) for (let t of G) e.removeQueries({ queryKey: t });
346
- }, [e, t]), u(() => {
347
- if (t <= 0) return;
348
- let e = setInterval(() => {
349
- let e = R.getState(), t = r.current;
350
- e.touch(V(t)), e.touch(H(t)), e.sweep(Date.now());
351
- }, de);
352
- return () => clearInterval(e);
353
- }, [t]);
354
- }
355
- function pe(e, t = !0) {
356
- let n = V(m());
357
- u(() => {
358
- !t || !e || R.getState().registerQueryKey(n, e);
359
- }, [
360
- n,
361
- e ? JSON.stringify(e) : "",
362
- t
363
- ]);
364
- }
365
- //#endregion
366
- //#region src/hooks/useBrandingChrome.ts
367
- function me(e) {
368
- let t = n(), r = ue();
369
- return d(() => {
370
- let n = e ? { ...t.enabled ? r?.embed?.surfaces?.[e] : r?.full?.surfaces?.[e] } : { ...r?.full?.shell };
371
- return {
372
- ...n,
373
- isVisible: (e) => n[e] !== !1
374
- };
375
- }, [
376
- r,
377
- t.enabled,
378
- e
379
- ]);
380
- }
381
- //#endregion
382
- //#region src/lib/scroll-restoration.ts
383
- var q = "scroll", J = 120, he = 24, Y = 600;
384
- function X(e, t) {
385
- return Number.isFinite(e) ? Math.max(0, Math.min(e, Number.isFinite(t) && t > 0 ? t : 0)) : 0;
386
- }
387
- function ge(e, t, n) {
388
- let r = Number.isFinite(e) ? e : 0;
389
- if (t) {
390
- let e = n[t.index];
391
- if (e !== void 0) return {
392
- key: e,
393
- delta: Math.max(0, r - t.start),
394
- offset: r
395
- };
396
- }
397
- return {
398
- key: "",
399
- delta: 0,
400
- offset: r
401
- };
402
- }
403
- function _e(e, t, n, r) {
404
- if (!e) return null;
405
- if (e.key) {
406
- let i = t.indexOf(e.key);
407
- if (i >= 0) {
408
- let t = n(i);
409
- if (t !== void 0) return X(t + e.delta, r);
410
- }
411
- }
412
- return X(e.offset, r);
413
- }
414
- function Z(e = q) {
415
- let t = m(), n = f(null);
416
- if (n.current === null) {
417
- let r = V(t), i = R.getState().read(r, e);
418
- n.current = i && Number.isFinite(i.offset) ? Math.max(0, i.offset) : 0;
419
- }
420
- return n.current;
421
- }
422
- function ve(e) {
423
- let t = 0, n = null, r = () => {
424
- n = null, t = Date.now(), e();
425
- };
426
- return {
427
- trigger() {
428
- let e = Date.now() - t;
429
- e >= J ? r() : n === null && (n = setTimeout(r, J - e));
430
- },
431
- flush() {
432
- n !== null && (clearTimeout(n), n = null), e();
433
- },
434
- cancel() {
435
- n !== null && (clearTimeout(n), n = null);
436
- }
437
- };
438
- }
439
- function ye(e) {
440
- let { virtualizer: t, scrollElementRef: n, rowKeys: r } = e, i = e.stateKey ?? "scroll", a = e.enabled ?? !0, o = V(m()), s = f(t);
441
- s.current = t;
442
- let c = f(r);
443
- c.current = r;
444
- let l = f(null);
445
- u(() => {
446
- l.current !== o && (l.current = null);
447
- }, [o]), u(() => {
448
- if (!a) return;
449
- let e = s.current;
450
- if (!e || r.length === 0) return;
451
- let t = R.getState().read(o, i), n = l.current !== o;
452
- if (l.current = o, !t) {
453
- n && e.scrollToOffset(0, {
454
- align: "start",
455
- behavior: "auto"
456
- });
457
- return;
458
- }
459
- let u = 0, d = 0, f = NaN, p = () => {
460
- let e = s.current;
461
- if (!e) return;
462
- let n = _e(t, c.current, (t) => e.getOffsetForIndex(t, "start")?.[0], e.getTotalSize());
463
- n !== null && (Number.isNaN(f) || Math.abs(n - f) > 1) && (e.scrollToOffset(n, {
464
- align: "start",
465
- behavior: "auto"
466
- }), f = n, d++ < he && (u = requestAnimationFrame(p)));
467
- };
468
- return p(), () => {
469
- u && cancelAnimationFrame(u);
470
- };
471
- }, [
472
- a,
473
- o,
474
- r,
475
- i
476
- ]), Q(n, a, o, i, (e) => {
477
- let t = s.current;
478
- if (!t) return null;
479
- let n = e.scrollTop, r = n > 0 ? n : t.scrollOffset ?? 0;
480
- return ge(r, t.getVirtualItemForOffset(r), c.current);
481
- });
482
- }
483
- function Q(e, t, n, r, i) {
484
- let a = f(i);
485
- a.current = i, u(() => {
486
- if (!t) return;
487
- let i = 0, o = Y, s = null, c = null, l = (e) => {
488
- let t = a.current(e);
489
- t && R.getState().set(n, r, t);
490
- }, u = () => c?.trigger(), d = () => {
491
- let t = e.current;
492
- if (!t) {
493
- o-- > 0 && (i = requestAnimationFrame(d));
494
- return;
495
- }
496
- s = t, c = ve(() => l(t)), t.addEventListener("scroll", u, { passive: !0 });
497
- };
498
- return d(), () => {
499
- i && cancelAnimationFrame(i), s && s.removeEventListener("scroll", u), c?.flush();
500
- };
501
- }, [
502
- t,
503
- e,
504
- n,
505
- r
506
- ]);
507
- }
508
- function be(e) {
509
- let { scrollElementRef: t } = e, n = e.stateKey ?? "scroll", r = e.enabled ?? !0, i = V(m()), a = f(null);
510
- u(() => {
511
- if (!r || a.current === i) return;
512
- let e = 0, o = Y, s = () => {
513
- let r = t.current;
514
- if (!r) {
515
- o-- > 0 && (e = requestAnimationFrame(s));
516
- return;
517
- }
518
- a.current = i;
519
- let c = R.getState().read(i, n);
520
- c && (r.scrollTop = Number.isFinite(c.offset) ? Math.max(0, c.offset) : 0);
521
- };
522
- return s(), () => {
523
- e && cancelAnimationFrame(e);
524
- };
525
- }, [
526
- r,
527
- i,
528
- n,
529
- t
530
- ]), Q(t, r, i, n, (e) => ({
531
- key: "",
532
- delta: 0,
533
- offset: e.scrollTop
534
- }));
535
- }
536
- //#endregion
537
- //#region src/components/list/peekDraftStore.ts
538
- var $ = /* @__PURE__ */ new Map();
539
- function xe(e, t) {
540
- $.set(e, t);
541
- }
542
- function Se(e) {
543
- let t = $.get(e);
544
- return t === void 0 ? null : ($.delete(e), t);
545
- }
546
- function Ce(e) {
547
- $.delete(e);
548
- }
549
- //#endregion
550
- //#region src/components/shared/RefreshControl.tsx
551
- function we({ liveObject: n, realtime: r = !0 }) {
552
- return /* @__PURE__ */ _("span", {
553
- style: {
554
- display: "inline-flex",
555
- alignItems: "center",
556
- gap: 8
557
- },
558
- children: [/* @__PURE__ */ g(i, {
559
- icon: n.isFetching ? /* @__PURE__ */ g("span", {
560
- "data-testid": "refresh-spinner",
561
- style: { display: "inline-flex" },
562
- children: /* @__PURE__ */ g(o, { size: 14 })
563
- }) : /* @__PURE__ */ g(e.refresh, { size: 14 }),
564
- title: "Refresh",
565
- disabled: n.isLoading || n.isFetching,
566
- onClick: () => {
567
- n.refetch();
568
- }
569
- }), r && /* @__PURE__ */ g("span", {
570
- "data-testid": "live-indicator",
571
- title: n.isLive ? "This view updates automatically in realtime." : "Realtime updates are paused. Refresh manually to load the latest data.",
572
- children: /* @__PURE__ */ g(t, {
573
- tone: n.isLive ? "emerald" : "amber",
574
- size: "xs",
575
- dot: !0,
576
- children: n.isLive ? "Live" : "Updates paused"
577
- })
578
- })]
579
- });
580
- }
581
- //#endregion
582
- export { ne as A, E as C, oe as D, C as E, ie as O, A as S, ce as T, M as _, q as a, le as b, ye as c, fe as d, pe as f, V as g, H as h, Se as i, y as k, me as l, W as m, Ce as n, be as o, U as p, xe as r, Z as s, we as t, K as u, R as v, D as w, O as x, j as y };