@declarion/react 0.48.2 → 0.49.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 (84) hide show
  1. package/dist-lib/Check-DAfMbQIw.js +38 -0
  2. package/dist-lib/{DraggableChildrenTable-p2ZSdwzj.js → DraggableChildrenTable-B98Md-Yq.js} +30 -30
  3. package/dist-lib/{Grid-CjLFAKMZ.js → Grid-BdtEd4R9.js} +2 -2
  4. package/dist-lib/{LayoutRenderer-DCscqXsv.js → LayoutRenderer-oVU3nEb5.js} +600 -597
  5. package/dist-lib/ListCardsBody-DYMt1H8l.js +287 -0
  6. package/dist-lib/{MarkdownRenderer-Sb7zcvj0.js → MarkdownRenderer-E9hbyoUn.js} +1 -1
  7. package/dist-lib/RefreshControl-B_2eW53M.js +430 -0
  8. package/dist-lib/{SmartDetailPage.impl-BAW-Tx_H.js → SmartDetailPage.impl-Dg22HOxb.js} +520 -515
  9. package/dist-lib/SmartListPage.impl-CPhhXT5S.js +2849 -0
  10. package/dist-lib/{SmartRecordListPage.impl-DtSSlGrI.js → SmartRecordListPage.impl-CF0UKgUj.js} +243 -240
  11. package/dist-lib/SortHeaderMenu-DodGvb7A.js +106 -0
  12. package/dist-lib/action-dispatch-CYOw7nkP.js +1984 -0
  13. package/dist-lib/api/batch.d.ts +5 -2
  14. package/dist-lib/api/data.d.ts +35 -4
  15. package/dist-lib/api/entities.d.ts +3 -3
  16. package/dist-lib/cardProjection-D-AufCh-.js +757 -0
  17. package/dist-lib/components/{shared → actions}/ObjectActionBar.d.ts +1 -1
  18. package/dist-lib/components/{shared → actions}/ResponsiveActionBar.d.ts +1 -1
  19. package/dist-lib/components/fields/cells/factories/date.d.ts +2 -0
  20. package/dist-lib/components/file-widgets/upload.d.ts +6 -1
  21. package/dist-lib/components/layout/Layout.d.ts +1 -1
  22. package/dist-lib/components/layout/TopBar.d.ts +1 -1
  23. package/dist-lib/components/pages/SmartListPage.d.ts +2 -12
  24. package/dist-lib/components/pages/SmartListPage.impl.d.ts +4 -0
  25. package/dist-lib/components/pages/list/ListCardRow.d.ts +40 -0
  26. package/dist-lib/components/pages/list/ListCardsBody.d.ts +34 -0
  27. package/dist-lib/components/pages/list/ListFloatbar.d.ts +1 -1
  28. package/dist-lib/components/pages/list/ListFooter.d.ts +26 -0
  29. package/dist-lib/components/pages/list/ListHeader.d.ts +1 -1
  30. package/dist-lib/components/pages/list/ListNoRows.d.ts +32 -0
  31. package/dist-lib/components/pages/list/ListTable.d.ts +34 -0
  32. package/dist-lib/components/pages/list/ListTableRow.d.ts +18 -0
  33. package/dist-lib/components/pages/list/ListToolbar.d.ts +43 -0
  34. package/dist-lib/components/pages/list/SortHeaderMenu.d.ts +14 -0
  35. package/dist-lib/components/pages/list/page-size.d.ts +3 -0
  36. package/dist-lib/components/pages/list/sortable-header.d.ts +2 -0
  37. package/dist-lib/components/pages/list/useListColumnLayout.d.ts +37 -0
  38. package/dist-lib/components/pages/list/useListQuery.d.ts +66 -0
  39. package/dist-lib/components/pages/list/useListRowInteraction.d.ts +61 -0
  40. package/dist-lib/components/pages/list/useListSelection.d.ts +31 -0
  41. package/dist-lib/components/pages/list/useListSort.d.ts +45 -0
  42. package/dist-lib/components/pages/list/useListViews.d.ts +46 -0
  43. package/dist-lib/components/pages/list/useRowMenu.d.ts +1 -1
  44. package/dist-lib/components/shared/RefreshControl.d.ts +17 -4
  45. package/dist-lib/field-classification-DTgUnbzd.js +1134 -0
  46. package/dist-lib/format-count-DAHCcHZO.js +1551 -0
  47. package/dist-lib/hooks/useBrandingChrome.d.ts +17 -1
  48. package/dist-lib/hooks/useText.d.ts +3 -0
  49. package/dist-lib/hooks/useViews.d.ts +1 -1
  50. package/dist-lib/index.d.ts +17 -15
  51. package/dist-lib/index.js +1783 -6287
  52. package/dist-lib/lib/messages.d.ts +7 -1
  53. package/dist-lib/lib/rowClickGesture.d.ts +12 -0
  54. package/dist-lib/lib/timestamp.d.ts +8 -3
  55. package/dist-lib/peekDraftStore-CnxqkoWN.js +194 -0
  56. package/dist-lib/record-documents-key-DEFlLxnF.js +27 -0
  57. package/dist-lib/registry-WypUQQ7t.js +1768 -0
  58. package/dist-lib/testing.d.ts +17 -2
  59. package/dist-lib/testing.js +72 -58
  60. package/dist-lib/types/api.d.ts +54 -12
  61. package/dist-lib/types/schema.d.ts +22 -6
  62. package/dist-lib/{useCurrentScreen-BshVTPVq.js → useCurrentScreen-C5Oio-1G.js} +1125 -1068
  63. package/dist-lib/useListQuery-Dc2vbxqs.js +87 -0
  64. package/dist-lib/useProperties-C36ENFdY.js +81 -0
  65. package/dist-lib/{useProperties-DrHFr0A1.js → useTabSearchMirror-sIuYEFaq.js} +116 -194
  66. package/dist-lib/{value-B1O6QikE.js → value-igT4LsqW.js} +69 -69
  67. package/package.json +1 -1
  68. package/dist-lib/RefreshControl-Cnl9nE0x.js +0 -945
  69. package/dist-lib/registry-CCxnZW2b.js +0 -5281
  70. /package/dist-lib/components/{shared → actions}/ActionButton.d.ts +0 -0
  71. /package/dist-lib/components/{shared → actions}/ActionDialog.d.ts +0 -0
  72. /package/dist-lib/components/{shared → actions}/ActionResultDialog.d.ts +0 -0
  73. /package/dist-lib/components/{shared → actions}/ActionRunner.d.ts +0 -0
  74. /package/dist-lib/components/{mass-edit → actions}/PropertyGridEditor.d.ts +0 -0
  75. /package/dist-lib/components/{shared → actions}/RowActionsKebab.d.ts +0 -0
  76. /package/dist-lib/components/{shared → chrome}/AssociationTabs.d.ts +0 -0
  77. /package/dist-lib/components/{shared → chrome}/AuditMetaStrip.d.ts +0 -0
  78. /package/dist-lib/components/{shared → chrome}/Breadcrumbs.d.ts +0 -0
  79. /package/dist-lib/components/{shared → chrome}/HighlightsStrip.d.ts +0 -0
  80. /package/dist-lib/components/{shared → chrome}/PageHeader.d.ts +0 -0
  81. /package/dist-lib/components/{shared → chrome}/RecordHeader.d.ts +0 -0
  82. /package/dist-lib/components/{shell → layout}/CommandPalette.d.ts +0 -0
  83. /package/dist-lib/components/{columns → list}/ColumnPicker.d.ts +0 -0
  84. /package/dist-lib/components/{views → list}/ViewSwitcher.d.ts +0 -0
@@ -0,0 +1,757 @@
1
+ import { En as e, U as t, W as n } from "./useCurrentScreen-C5Oio-1G.js";
2
+ import { d as r, f as i, u as a } from "./action-dispatch-CYOw7nkP.js";
3
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
4
+ //#region src/components/file-widgets/payload.ts
5
+ function l(e) {
6
+ return !e || Array.isArray(e) ? null : e;
7
+ }
8
+ function u(e) {
9
+ return Array.isArray(e) ? e : [];
10
+ }
11
+ function d(e) {
12
+ return !e || Array.isArray(e) || typeof e != "object" ? {} : e;
13
+ }
14
+ function f(e, t) {
15
+ return e.mode === "array" ? u(t) : e.mode === "named_map" ? d(t) : l(t);
16
+ }
17
+ function p(e, t, n, r) {
18
+ let i = {
19
+ file_id: e.id,
20
+ filename: e.filename
21
+ };
22
+ return r && (i.slot = r), n && (i.position = t), e.metadata !== void 0 && (i.metadata = e.metadata), i;
23
+ }
24
+ function m(e, t) {
25
+ if (e.mode === "array") {
26
+ let e = u(t);
27
+ return e.length === 0 ? { clear: !0 } : { set: e.map((e, t) => p(e, t, !0)) };
28
+ }
29
+ if (e.mode === "named_map") {
30
+ let e = d(t), n = Object.entries(e).filter(([, e]) => e != null).map(([e, t]) => p(t, 0, !1, e));
31
+ return n.length === 0 ? { clear: !0 } : { set: n };
32
+ }
33
+ let n = l(t);
34
+ return n ? { set: [p(n, 0, !0)] } : { clear: !0 };
35
+ }
36
+ function h(e) {
37
+ return JSON.stringify(e);
38
+ }
39
+ function g(e) {
40
+ let { entity: t, formData: n, record: o, isNew: s } = e, c = {};
41
+ for (let e of t.files?.names() ?? []) {
42
+ if (!Object.prototype.hasOwnProperty.call(n, e)) continue;
43
+ let i = a(t, e);
44
+ if (!i) continue;
45
+ let p = f(i, n[e]);
46
+ if (s) {
47
+ if (i.mode === "array" ? u(p).length === 0 : i.mode === "named_map" ? Object.values(d(p)).every((e) => e == null) : l(p) == null) continue;
48
+ c[e] = m(i, p);
49
+ continue;
50
+ }
51
+ let g = f(i, o ? r(o, e) : null), _ = m(i, p), v = m(i, g);
52
+ h(_) !== h(v) && (c[e] = _);
53
+ }
54
+ let p = t.fields;
55
+ if (!p) return c;
56
+ for (let e of p.names()) {
57
+ let r = p.get(e)?.files;
58
+ if (!r || r.mode !== "rich_text_inline" || !Object.prototype.hasOwnProperty.call(n, e)) continue;
59
+ let a = v(r, n[e]);
60
+ if (s) {
61
+ if (a.clear) continue;
62
+ c[e] = a;
63
+ continue;
64
+ }
65
+ let l = v(r, o ? i({
66
+ ...t,
67
+ fields: p
68
+ }, o, e) : null);
69
+ h(a) !== h(l) && (c[e] = a);
70
+ }
71
+ return c;
72
+ }
73
+ function _(e) {
74
+ let t = [];
75
+ for (let n of Object.values(e)) for (let e of n.set ?? []) t.push(e.file_id);
76
+ return t;
77
+ }
78
+ function v(e, r) {
79
+ if (e.mode !== "rich_text_inline") return { clear: !0 };
80
+ let i = t(n(r));
81
+ return i.length === 0 ? { clear: !0 } : { set: i.map((e, t) => ({
82
+ file_id: e,
83
+ position: t
84
+ })) };
85
+ }
86
+ //#endregion
87
+ //#region src/components/shared/LoadingSkeleton.tsx
88
+ var y = {
89
+ display: "block",
90
+ background: "linear-gradient(90deg, var(--surface-3) 0%, var(--surface-2) 40%, var(--surface-3) 80%)",
91
+ backgroundSize: "200% 100%",
92
+ borderRadius: 6,
93
+ animation: "declarion-shimmer 1.2s ease-in-out infinite"
94
+ };
95
+ function b({ height: e, width: t }) {
96
+ return /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s("style", { children: "@keyframes declarion-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}" }), /* @__PURE__ */ s("span", { style: {
97
+ ...y,
98
+ height: e,
99
+ width: t ?? "100%"
100
+ } })] });
101
+ }
102
+ function x({ rows: e = 8, cols: t = 4 }) {
103
+ return /* @__PURE__ */ c("div", {
104
+ style: {
105
+ padding: 16,
106
+ display: "flex",
107
+ flexDirection: "column",
108
+ gap: 10
109
+ },
110
+ children: [/* @__PURE__ */ s("div", {
111
+ style: {
112
+ display: "flex",
113
+ gap: 16
114
+ },
115
+ children: Array.from({ length: t }).map((e, t) => /* @__PURE__ */ s("div", {
116
+ style: { flex: 1 },
117
+ children: /* @__PURE__ */ s(b, { height: 14 })
118
+ }, t))
119
+ }), Array.from({ length: e }).map((e, n) => /* @__PURE__ */ s("div", {
120
+ style: {
121
+ display: "flex",
122
+ gap: 16
123
+ },
124
+ children: Array.from({ length: t }).map((e, t) => /* @__PURE__ */ s("div", {
125
+ style: { flex: 1 },
126
+ children: /* @__PURE__ */ s(b, { height: 28 })
127
+ }, t))
128
+ }, n))]
129
+ });
130
+ }
131
+ function S() {
132
+ return /* @__PURE__ */ c("div", {
133
+ style: {
134
+ padding: 20,
135
+ display: "flex",
136
+ flexDirection: "column",
137
+ gap: 16
138
+ },
139
+ children: [
140
+ /* @__PURE__ */ s(b, {
141
+ height: 12,
142
+ width: 160
143
+ }),
144
+ /* @__PURE__ */ c("div", {
145
+ style: {
146
+ display: "flex",
147
+ alignItems: "center",
148
+ gap: 12
149
+ },
150
+ children: [/* @__PURE__ */ s("span", { style: {
151
+ ...y,
152
+ width: 32,
153
+ height: 32,
154
+ borderRadius: 8
155
+ } }), /* @__PURE__ */ s(b, {
156
+ height: 22,
157
+ width: 240
158
+ })]
159
+ }),
160
+ Array.from({ length: 2 }).map((e, t) => /* @__PURE__ */ c("div", {
161
+ style: {
162
+ border: "1px solid var(--border)",
163
+ borderRadius: 10,
164
+ background: "var(--surface)",
165
+ overflow: "hidden"
166
+ },
167
+ children: [/* @__PURE__ */ s("div", {
168
+ style: {
169
+ padding: "11px 14px",
170
+ borderBottom: "1px solid var(--divider)"
171
+ },
172
+ children: /* @__PURE__ */ s(b, {
173
+ height: 13,
174
+ width: 150
175
+ })
176
+ }), /* @__PURE__ */ s("div", {
177
+ style: {
178
+ padding: 16,
179
+ display: "grid",
180
+ gridTemplateColumns: "repeat(2, minmax(0, 1fr))",
181
+ gap: "12px 24px"
182
+ },
183
+ children: Array.from({ length: 6 }).map((e, t) => /* @__PURE__ */ c("div", {
184
+ style: {
185
+ display: "flex",
186
+ gap: 16
187
+ },
188
+ children: [/* @__PURE__ */ s(b, {
189
+ height: 13,
190
+ width: 110
191
+ }), /* @__PURE__ */ s("div", {
192
+ style: { flex: 1 },
193
+ children: /* @__PURE__ */ s(b, { height: 13 })
194
+ })]
195
+ }, t))
196
+ })]
197
+ }, t))
198
+ ]
199
+ });
200
+ }
201
+ //#endregion
202
+ //#region src/lib/sort.ts
203
+ var C = {
204
+ nulls_first: "first",
205
+ nulls_last: "last"
206
+ };
207
+ function w(e) {
208
+ if (!e) return [];
209
+ let t = [];
210
+ for (let n of e.split(",")) {
211
+ let e = n.trim();
212
+ if (!e) continue;
213
+ let r = e.split(":"), i = r[0]?.trim();
214
+ if (!i || i.startsWith("$property.")) continue;
215
+ let a = {
216
+ field: i,
217
+ dir: r[1]?.trim().toLowerCase() === "desc" ? "desc" : "asc"
218
+ }, o = r[2]?.trim().toLowerCase();
219
+ if (o) {
220
+ let e = C[o];
221
+ e && (a.nulls = e);
222
+ }
223
+ t.push(a);
224
+ }
225
+ return t;
226
+ }
227
+ function T(e) {
228
+ if (!e) return;
229
+ let t = [];
230
+ for (let n of e.split(",")) {
231
+ let e = n.trim();
232
+ if (!e) continue;
233
+ let r = e.split(":")[0]?.trim();
234
+ r && r.startsWith("$property.") || t.push(e);
235
+ }
236
+ return t.length > 0 ? t.join(",") : void 0;
237
+ }
238
+ function ee(e) {
239
+ return e.map((e) => {
240
+ let t = `${e.field}:${e.dir}`;
241
+ return e.nulls === "first" ? `${t}:nulls_first` : e.nulls === "last" ? `${t}:nulls_last` : t;
242
+ }).join(",");
243
+ }
244
+ function te(e, t) {
245
+ let n = e.findIndex((e) => e.field === t);
246
+ return n >= 0 ? [...e.slice(0, n), ...e.slice(n + 1)] : e.length >= 5 ? e : [...e, {
247
+ field: t,
248
+ dir: "asc"
249
+ }];
250
+ }
251
+ function ne(e, t) {
252
+ let n = e.filter((e) => e.field !== t.field);
253
+ return n.length >= 5 ? e : [...n, t];
254
+ }
255
+ function re(e, t) {
256
+ let n = e.findIndex((e) => e.field === t);
257
+ return n < 0 ? e : [...e.slice(0, n), ...e.slice(n + 1)];
258
+ }
259
+ //#endregion
260
+ //#region src/components/pages/list/cardProjection.ts
261
+ var E = 4, D = 2, O = 2, k = [
262
+ "screen_card",
263
+ "entity_card",
264
+ "saved_view_columns",
265
+ "screen_default_columns",
266
+ "screen_columns",
267
+ "entity_inference"
268
+ ], ie = /* @__PURE__ */ new Set(["_select", "_actions"]), ae = /* @__PURE__ */ new Set([
269
+ "text",
270
+ "rich_text",
271
+ "multilang_text",
272
+ "json",
273
+ "structure",
274
+ "secret",
275
+ "password",
276
+ "bytes"
277
+ ]), oe = /* @__PURE__ */ new Set(["enum", "bool"]), se = /* @__PURE__ */ new Set([
278
+ "date",
279
+ "time",
280
+ "timestamp"
281
+ ]), ce = /* @__PURE__ */ new Set([
282
+ "string",
283
+ "text",
284
+ "email",
285
+ "url",
286
+ "phone",
287
+ "int",
288
+ "integer",
289
+ "bigint",
290
+ "smallint",
291
+ "float",
292
+ "double",
293
+ "decimal",
294
+ "numeric",
295
+ "number",
296
+ "money",
297
+ "percent",
298
+ "bool",
299
+ "boolean",
300
+ "date",
301
+ "datetime",
302
+ "timestamp",
303
+ "timestamptz",
304
+ "enum",
305
+ "status"
306
+ ]);
307
+ function A(e) {
308
+ let { entity: t, screen: n, savedViewColumns: r } = e, i = n?.card;
309
+ if (i) return N(t, i, "screen_card");
310
+ if (t?.card) return N(t, t.card, "entity_card");
311
+ let a = F(t, n, r);
312
+ return de(t, a.columns, a.source);
313
+ }
314
+ function le(e) {
315
+ let { entity: t, screen: n, presentation: r, visibleColumns: i, card: a, rowActions: o, toolbarActions: s, bulkActions: c, sort: l, includeDetailHandoff: u = !0, screens: d } = e, f = new Ce(), p = r === "cards" ? a.renderFields : L(t, i, { explicit: !0 }), m = r === "cards" ? j(t, n) : [];
316
+ for (let e of p) f.addField(e, "render"), Z(t, e, f, "render");
317
+ for (let e of m) p.includes(e) || (f.addField(e, "variant"), Z(t, e, f, "variant"));
318
+ let h = pe(t, f), g = _e(t, [
319
+ o,
320
+ s,
321
+ c
322
+ ], f), _ = ue(t, n, f), v = ve(t, l, f), y = J(t, n, d, f);
323
+ if (u) for (let e of h) f.addField(e, "detail_handoff");
324
+ let b = new $();
325
+ for (let e of h) b.add(e);
326
+ for (let e of g) b.add(e);
327
+ for (let e of _) b.add(e);
328
+ for (let e of m) b.add(e);
329
+ for (let e of v) b.add(e);
330
+ for (let e of y) b.add(e);
331
+ let x = new $();
332
+ for (let e of p) X(t, e, x, f);
333
+ for (let e of b.values()) X(t, e, x, f);
334
+ let S = x.values(), C = Se(f);
335
+ return {
336
+ renderFields: p,
337
+ dependencyFields: b.values().filter((e) => !p.includes(e)),
338
+ conditionFields: g,
339
+ identityFields: h,
340
+ sortFields: v,
341
+ selectFields: S.length > 0 ? S : void 0,
342
+ expandFields: C.length > 0 ? C : void 0,
343
+ reasons: f.snapshot()
344
+ };
345
+ }
346
+ function ue(e, t, n) {
347
+ let r = new $(), i = (t) => {
348
+ for (let n of t) n.and ? i(n.and) : n.or ? i(n.or) : n.field && e?.fields.has(n.field) && r.add(n.field);
349
+ };
350
+ for (let t of e?.variants?.items() ?? []) t.when && i(t.when);
351
+ for (let e of t?.variants?.items() ?? []) e.when && i(e.when);
352
+ for (let e of r.values()) n.addField(e, "variant");
353
+ return r.values();
354
+ }
355
+ function j(e, t, n) {
356
+ let r = new $();
357
+ for (let i of A({
358
+ entity: e,
359
+ screen: t,
360
+ savedViewColumns: n
361
+ }).renderFields) r.add(i);
362
+ for (let i of t?.variants?.items() ?? []) {
363
+ let a = { ...t };
364
+ i.card !== void 0 && (a.card = i.card);
365
+ for (let t of A({
366
+ entity: e,
367
+ screen: a,
368
+ savedViewColumns: n
369
+ }).renderFields) r.add(t);
370
+ }
371
+ return r.values();
372
+ }
373
+ function M(e, t, n) {
374
+ if (!e || t?.on_row_click !== "peek" || t.quick_peek?.enabled === !1) return [];
375
+ let r = t.quick_peek?.fields;
376
+ if (r && r.length > 0) return L(e, r, { explicit: !0 });
377
+ let i = t.quick_peek?.sections;
378
+ if (i && i.length > 0) {
379
+ let r = Object.values(n ?? {}).find((e) => e.type === "detail" && e.entity === t.entity), a = new $();
380
+ ye(r?.items, new Set(i.map(String)), a);
381
+ let o = L(e, a.values(), { explicit: !0 });
382
+ if (o.length > 0) return o;
383
+ }
384
+ return xe(e);
385
+ }
386
+ function N(e, t, n) {
387
+ let r = t.max_body_fields ?? E, i = R(e, t.title_field, { explicit: !0 }), a = R(e, t.subtitle_field, { explicit: !0 }), o = L(e, t.badge_fields ?? [], { explicit: !0 }), s = L(e, t.fields ?? [], { explicit: !0 }), c = L(e, t.meta_fields ?? [], { explicit: !0 });
388
+ return P({
389
+ source: n,
390
+ explicit: !0,
391
+ titleField: i,
392
+ titleUsesDisplay: !i,
393
+ subtitleField: a,
394
+ badgeFields: o,
395
+ bodyFields: s,
396
+ metaFields: c,
397
+ hideEmptyFields: t.hide_empty_fields ?? !0,
398
+ maxBodyFields: r
399
+ });
400
+ }
401
+ function de(e, t, n) {
402
+ let r = L(e, t, { explicit: !1 }), i = E, a = R(e, e?.display?.display_field, { explicit: !1 }), o = a ?? z(e, r, {
403
+ allowLong: !1,
404
+ allowAuto: !1
405
+ }), s = a !== void 0, c = o ? /* @__PURE__ */ new Set([o]) : void 0, l = r.find((t) => !c?.has(t) && V(e, t)), u = new Set([o, l].filter((e) => !!e)), d = fe(e, r).filter((e) => !u.has(e)).slice(0, D);
406
+ for (let e of d) u.add(e);
407
+ let f = r.filter((t) => !u.has(t) && U(e, t)).slice(0, O);
408
+ for (let e of f) u.add(e);
409
+ return P({
410
+ source: n,
411
+ explicit: !1,
412
+ titleField: o,
413
+ titleUsesDisplay: s,
414
+ subtitleField: l,
415
+ badgeFields: d,
416
+ bodyFields: r.filter((t) => !u.has(t) && B(e, t)).slice(0, i),
417
+ metaFields: f,
418
+ hideEmptyFields: !0,
419
+ maxBodyFields: i
420
+ });
421
+ }
422
+ function P(e) {
423
+ let t = new $(), n = [], r = (r, i) => {
424
+ !r || t.has(r) || (t.add(r), n.push({
425
+ field: r,
426
+ bucket: i,
427
+ explicit: e.explicit
428
+ }));
429
+ };
430
+ r(e.titleField, "title"), r(e.subtitleField, "subtitle");
431
+ for (let t of e.badgeFields) r(t, "badges");
432
+ for (let t of e.bodyFields) r(t, "body");
433
+ for (let t of e.metaFields) r(t, "meta");
434
+ return {
435
+ source: e.source,
436
+ explicit: e.explicit,
437
+ titleField: e.titleField,
438
+ titleUsesDisplay: e.titleUsesDisplay,
439
+ subtitleField: e.subtitleField,
440
+ badgeFields: e.badgeFields,
441
+ bodyFields: e.bodyFields,
442
+ metaFields: e.metaFields,
443
+ hideEmptyFields: e.hideEmptyFields,
444
+ maxBodyFields: e.maxBodyFields,
445
+ renderFields: t.values(),
446
+ fields: n,
447
+ sourcePrecedence: k
448
+ };
449
+ }
450
+ function F(e, t, n) {
451
+ return n && n.length > 0 ? {
452
+ source: "saved_view_columns",
453
+ columns: n
454
+ } : t?.default_columns && t.default_columns.length > 0 ? {
455
+ source: "screen_default_columns",
456
+ columns: t.default_columns
457
+ } : t?.columns && t.columns.length > 0 ? {
458
+ source: "screen_columns",
459
+ columns: t.columns
460
+ } : {
461
+ source: "entity_inference",
462
+ columns: I(e)
463
+ };
464
+ }
465
+ function I(e) {
466
+ if (!e) return [];
467
+ let t = [];
468
+ e.display.display_field && t.push(e.display.display_field);
469
+ for (let [n] of e.fields) t.push(n);
470
+ for (let n of Object.keys(e.status_groups ?? {})) t.push(`$status.${n}`);
471
+ for (let n of Object.keys(e.properties ?? {})) t.push(`$property.${n}`);
472
+ if (e.evidence_covered && t.push("$evidence"), e.files) for (let [n] of e.files) t.push(n);
473
+ return t;
474
+ }
475
+ function L(e, t, n) {
476
+ let r = new $();
477
+ for (let i of t) {
478
+ let t = R(e, i, n);
479
+ t && r.add(t);
480
+ }
481
+ return r.values();
482
+ }
483
+ function R(e, t, n) {
484
+ if (!t || ie.has(t)) return;
485
+ if (!e) return t.startsWith("$") ? void 0 : t;
486
+ if (t.startsWith("$status.")) {
487
+ let n = t.slice(8);
488
+ return e.status_groups?.[n] ? t : void 0;
489
+ }
490
+ if (t.startsWith("$property.")) {
491
+ let n = t.slice(10);
492
+ return e.properties?.[n] ? t : void 0;
493
+ }
494
+ if (t === "$evidence") return e.evidence_covered ? t : void 0;
495
+ if (t.startsWith("$")) return;
496
+ let r = e.fields.get(t), i = e.files?.get(t);
497
+ if (!(!r && !i) && (n.explicit || !(r && r.display?.is_listable === !1) && !(i && i.display?.is_listable === !1))) return t;
498
+ }
499
+ function z(e, t, n) {
500
+ return t.find((t) => n.exclude?.has(t) || !n.allowAuto && G(e, t) || !n.allowLong && K(e, t) ? !1 : W(e, t));
501
+ }
502
+ function B(e, t) {
503
+ return !(!W(e, t) || G(e, t) || K(e, t));
504
+ }
505
+ function V(e, t) {
506
+ return !(!W(e, t) || G(e, t) || K(e, t) || U(e, t) || H(e, t));
507
+ }
508
+ function H(e, t) {
509
+ if (t.startsWith("$status.") || t.startsWith("$property.") || t === "$evidence") return !0;
510
+ let n = Q(e, t);
511
+ return n.kind === "field" && oe.has(n.field.type);
512
+ }
513
+ function fe(e, t) {
514
+ let n = new $();
515
+ for (let e of t) (e.startsWith("$status.") || e.startsWith("$property.") || e === "$evidence") && n.add(e);
516
+ for (let r of t) H(e, r) && n.add(r);
517
+ return n.values();
518
+ }
519
+ function U(e, t) {
520
+ if (G(e, t)) return !1;
521
+ let n = Q(e, t);
522
+ return n.kind === "field" && se.has(n.field.type);
523
+ }
524
+ function W(e, t) {
525
+ return Q(e, t).kind !== "missing";
526
+ }
527
+ function G(e, t) {
528
+ let n = Q(e, t);
529
+ return n.kind === "field" && (n.field.primary === !0 || n.field.auto === !0);
530
+ }
531
+ function K(e, t) {
532
+ let n = Q(e, t);
533
+ return n.kind === "file" ? n.file.mode !== "single" : n.kind === "field" && ae.has(n.field.type);
534
+ }
535
+ function pe(t, n) {
536
+ if (!t) return [];
537
+ let r = new $();
538
+ for (let i of e(t)) r.add(i), n.addField(i, "identity");
539
+ let i = R(t, t.display.display_field, { explicit: !0 });
540
+ i && (r.add(i), n.addField(i, "display"), Z(t, i, n, "display"));
541
+ for (let e of me(t.display.display_template)) {
542
+ let i = R(t, e, { explicit: !0 });
543
+ i && (r.add(i), n.addField(i, "display_template"), Z(t, i, n, "display_template"));
544
+ }
545
+ return r.values();
546
+ }
547
+ function me(e) {
548
+ if (!e) return [];
549
+ let t = new $(), n = 0;
550
+ for (; n < e.length;) {
551
+ let r = e.indexOf("${", n);
552
+ if (r < 0) break;
553
+ if (r > 0 && e[r - 1] === "\\") {
554
+ n = r + 2;
555
+ continue;
556
+ }
557
+ let i = he(e, r + 2);
558
+ if (i < 0) break;
559
+ for (let n of ge(e.slice(r + 2, i))) t.add(n);
560
+ n = i + 1;
561
+ }
562
+ return t.values();
563
+ }
564
+ function he(e, t) {
565
+ let n = 0;
566
+ for (let r = t; r < e.length; r += 1) {
567
+ let t = e[r];
568
+ if (t === "{") {
569
+ n += 1;
570
+ continue;
571
+ }
572
+ if (t === "}") {
573
+ if (n === 0) return r;
574
+ --n;
575
+ }
576
+ }
577
+ return -1;
578
+ }
579
+ function ge(e) {
580
+ let t = new $(), n = 0;
581
+ for (; n < e.length;) {
582
+ let r = e.indexOf("row.", n);
583
+ if (r < 0) break;
584
+ if (r > 0 && q(e.charCodeAt(r - 1))) {
585
+ n = r + 4;
586
+ continue;
587
+ }
588
+ let i = r + 4, a = i;
589
+ for (; a < e.length && q(e.charCodeAt(a));) a += 1;
590
+ a > i && t.add(e.slice(i, a)), n = a;
591
+ }
592
+ return t.values();
593
+ }
594
+ function q(e) {
595
+ return e >= 48 && e <= 57 || e >= 65 && e <= 90 || e >= 97 && e <= 122 || e === 95;
596
+ }
597
+ function _e(e, t, n) {
598
+ let r = new $();
599
+ for (let i of t) for (let t of i ?? []) for (let i of [
600
+ ...t.action.visible_if ?? [],
601
+ ...t.action.enabled_if ?? [],
602
+ ...t.action.conditions ?? []
603
+ ]) {
604
+ let t = R(e, i.field, { explicit: !0 });
605
+ t && (r.add(t), n.addField(t, "condition"), Z(e, t, n, "condition"));
606
+ }
607
+ return r.values();
608
+ }
609
+ function ve(e, t, n) {
610
+ let r = typeof t == "string" ? w(t) : t ?? [], i = new $();
611
+ for (let t of r) {
612
+ let r = R(e, t.field, { explicit: !0 });
613
+ r && (i.add(r), n.addField(r, "sort"), Z(e, r, n, "sort"));
614
+ }
615
+ return i.values();
616
+ }
617
+ function J(e, t, n, r) {
618
+ let i = new $(), a = t?.variants?.items() ?? [];
619
+ if (a.length === 0 || a.some((e) => e.quick_peek === void 0)) for (let r of M(e, t, n)) i.add(r);
620
+ for (let r of a) {
621
+ if (r.quick_peek === void 0) continue;
622
+ let a = {
623
+ ...t,
624
+ quick_peek: r.quick_peek
625
+ };
626
+ for (let t of M(e, a, n)) i.add(t);
627
+ }
628
+ for (let t of i.values()) r.addField(t, "quick_peek"), Z(e, t, r, "quick_peek");
629
+ return i.values();
630
+ }
631
+ function ye(e, t, n) {
632
+ if (Array.isArray(e)) {
633
+ for (let r of e) if (!(!r || typeof r != "object")) {
634
+ if ("section" in r) {
635
+ let e = r.section, i = be(e?.name);
636
+ i && t.has(i) && Y(e?.items, n);
637
+ continue;
638
+ }
639
+ "fields" in r && Y([r], n);
640
+ }
641
+ }
642
+ }
643
+ function Y(e, t) {
644
+ if (Array.isArray(e)) {
645
+ for (let n of e) if (!(!n || typeof n != "object")) {
646
+ if ("fields" in n) {
647
+ let e = n.fields;
648
+ if (Array.isArray(e)) {
649
+ for (let n of e) if (typeof n == "string") t.add(n);
650
+ else if (n && typeof n == "object" && "name" in n) {
651
+ let e = n.name;
652
+ typeof e == "string" && t.add(e);
653
+ }
654
+ }
655
+ }
656
+ "section" in n && Y(n.section?.items, t);
657
+ }
658
+ }
659
+ }
660
+ function be(e) {
661
+ if (typeof e == "string") return e;
662
+ if (e && typeof e == "object") {
663
+ let t = Object.values(e).find((e) => typeof e == "string");
664
+ return typeof t == "string" ? t : "";
665
+ }
666
+ return "";
667
+ }
668
+ function xe(e) {
669
+ let t = [];
670
+ for (let [n, r] of e.fields) {
671
+ if (r.primary || r.auto || r.ref || r.array || r.structure || r.display?.is_listable === !1) continue;
672
+ let e = (r.type || "").toLowerCase(), i = !!(r.enum || r.values);
673
+ if (!(!ce.has(e) && !i) && (t.push(n), t.length >= 8)) break;
674
+ }
675
+ return t;
676
+ }
677
+ function X(e, t, n, r) {
678
+ if (!t || t.startsWith("$")) return;
679
+ let i = Q(e, t);
680
+ i.kind !== "missing" && (n.add(t), i.kind === "file" && r.addField(t, "file_metadata"));
681
+ }
682
+ function Z(e, t, n, r) {
683
+ if (t.startsWith("$status.")) {
684
+ n.addExpand("statuses", "status_expand"), r !== "status_expand" && n.addExpand("statuses", r), r !== "status_expand" && n.addField(t, r);
685
+ return;
686
+ }
687
+ if (t.startsWith("$property.")) {
688
+ n.addExpand("properties", "property_expand"), r !== "property_expand" && n.addExpand("properties", r), r !== "property_expand" && n.addField(t, r);
689
+ let i = t.slice(10);
690
+ e?.properties?.[i]?.ref && (n.addExpand("refs", "ref_expand"), r !== "ref_expand" && n.addExpand("refs", r));
691
+ return;
692
+ }
693
+ if (t === "$evidence") {
694
+ n.addExpand("evidence", "evidence_expand"), r !== "evidence_expand" && n.addExpand("evidence", r), r !== "evidence_expand" && n.addField(t, r);
695
+ return;
696
+ }
697
+ let i = Q(e, t);
698
+ i.kind === "field" && i.field.type === "ref" && (n.addExpand("refs", "ref_expand"), r !== "ref_expand" && n.addExpand("refs", r));
699
+ }
700
+ function Se(e) {
701
+ let t = e.snapshot().expand, n = [];
702
+ return t.refs && n.push("refs"), t.statuses && n.push("statuses"), t.properties && n.push("properties"), t.evidence && n.push("evidence"), n;
703
+ }
704
+ function Q(e, t) {
705
+ if (!e) return { kind: t.startsWith("$") ? "synthetic" : "missing" };
706
+ if (t.startsWith("$status.")) return e.status_groups?.[t.slice(8)] ? { kind: "synthetic" } : { kind: "missing" };
707
+ if (t.startsWith("$property.")) return e.properties?.[t.slice(10)] ? { kind: "synthetic" } : { kind: "missing" };
708
+ if (t === "$evidence") return e.evidence_covered ? { kind: "synthetic" } : { kind: "missing" };
709
+ let n = e.fields.get(t);
710
+ if (n) return {
711
+ kind: "field",
712
+ field: n
713
+ };
714
+ let r = e.files?.get(t);
715
+ return r ? {
716
+ kind: "file",
717
+ file: r
718
+ } : { kind: "missing" };
719
+ }
720
+ var $ = class {
721
+ #e = [];
722
+ #t = /* @__PURE__ */ new Set();
723
+ add(e) {
724
+ this.#t.has(e) || (this.#t.add(e), this.#e.push(e));
725
+ }
726
+ has(e) {
727
+ return this.#t.has(e);
728
+ }
729
+ values() {
730
+ return [...this.#e];
731
+ }
732
+ }, Ce = class {
733
+ #e = /* @__PURE__ */ new Map();
734
+ #t = /* @__PURE__ */ new Map();
735
+ addField(e, t) {
736
+ this.add(this.#e, e, t);
737
+ }
738
+ addExpand(e, t) {
739
+ this.add(this.#t, e, t);
740
+ }
741
+ snapshot() {
742
+ return {
743
+ fields: Object.fromEntries(this.#e.entries()),
744
+ expand: Object.fromEntries(this.#t.entries())
745
+ };
746
+ }
747
+ add(e, t, n) {
748
+ let r = e.get(t);
749
+ if (!r) {
750
+ e.set(t, [n]);
751
+ return;
752
+ }
753
+ r.includes(n) || r.push(n);
754
+ }
755
+ };
756
+ //#endregion
757
+ export { ne as a, re as c, S as d, x as f, j as i, ee as l, _ as m, le as n, te as o, g as p, M as r, w as s, A as t, T as u };