@declarion/react 0.57.0 → 0.59.2

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 (166) hide show
  1. package/README.md +0 -2
  2. package/dist-lib/AgentChatPanel.impl-DBH1Ff4G.js +1200 -0
  3. package/dist-lib/DetailAuditStrip-9eJM2Fml.js +288 -0
  4. package/dist-lib/{DraggableChildrenTable-BV5sb8Uo.js → DraggableChildrenTable-4RZC351U.js} +87 -86
  5. package/dist-lib/Grid-CQabaBLx.js +405 -0
  6. package/dist-lib/{LayoutRenderer-C9AH9cXf.js → LayoutRenderer-DGKWZKpW.js} +1000 -1114
  7. package/dist-lib/{ListCardsBody-DXcDg536.js → ListCardsBody-DfGmyNIu.js} +84 -84
  8. package/dist-lib/MarkdownRenderer-BDbzDv_y.js +87 -0
  9. package/dist-lib/{RefreshControl-CNtN8zSl.js → RefreshControl-Bhoib0ZA.js} +126 -155
  10. package/dist-lib/SmartDetailPage.impl-DFjz29Ff.js +1565 -0
  11. package/dist-lib/SmartListPage.impl-BrZLE_Gb.js +3046 -0
  12. package/dist-lib/{SmartRecordListPage.impl-Bkl9aZJ8.js → SmartRecordListPage.impl-C1FJLr80.js} +281 -280
  13. package/dist-lib/SortHeaderMenu-Cijxk4cX.js +107 -0
  14. package/dist-lib/action-dispatch-DY0c8U81.js +1967 -0
  15. package/dist-lib/api/client.d.ts +5 -0
  16. package/dist-lib/api/data.d.ts +2 -4
  17. package/dist-lib/api/entities.d.ts +8 -15
  18. package/dist-lib/api/events.d.ts +3 -3
  19. package/dist-lib/cardProjection-Bkl2SSYz.js +499 -0
  20. package/dist-lib/components/actions/ResponsiveActionBar.d.ts +17 -16
  21. package/dist-lib/components/agents/AgentChatPanel.d.ts +3 -13
  22. package/dist-lib/components/agents/AgentChatPanel.impl.d.ts +14 -0
  23. package/dist-lib/components/agents/AgentPicker.d.ts +1 -2
  24. package/dist-lib/components/chrome/PageShell.d.ts +7 -0
  25. package/dist-lib/components/chrome/RecordHeader.d.ts +1 -2
  26. package/dist-lib/components/chrome/headerActionZone.d.ts +27 -0
  27. package/dist-lib/components/detail-layout/DetailAuditStrip.d.ts +1 -2
  28. package/dist-lib/components/detail-layout/DetailHighlights.d.ts +1 -2
  29. package/dist-lib/components/detail-layout/blockMeta.d.ts +2 -1
  30. package/dist-lib/components/fields/BoolField.d.ts +1 -1
  31. package/dist-lib/components/fields/EnumField.d.ts +1 -1
  32. package/dist-lib/components/fields/IntArrayField.d.ts +1 -1
  33. package/dist-lib/components/fields/MultilangArrayField.d.ts +2 -0
  34. package/dist-lib/components/fields/MultilangField.d.ts +1 -1
  35. package/dist-lib/components/fields/MultilangTextField.d.ts +1 -1
  36. package/dist-lib/components/fields/NumberField.d.ts +1 -1
  37. package/dist-lib/components/fields/PasswordField.d.ts +1 -1
  38. package/dist-lib/components/fields/RefCombobox.d.ts +1 -1
  39. package/dist-lib/components/fields/SecretField.d.ts +1 -1
  40. package/dist-lib/components/fields/StringArrayField.d.ts +1 -1
  41. package/dist-lib/components/fields/TimestampField.d.ts +1 -1
  42. package/dist-lib/components/fields/cells/registry.d.ts +2 -1
  43. package/dist-lib/components/fields/index.d.ts +2 -1
  44. package/dist-lib/components/fields/langMap.d.ts +2 -0
  45. package/dist-lib/components/fields/secretValue.d.ts +2 -0
  46. package/dist-lib/components/file-widgets/UnknownFileWidget.d.ts +3 -0
  47. package/dist-lib/components/file-widgets/UploadFailureText.d.ts +4 -0
  48. package/dist-lib/components/file-widgets/helpers.d.ts +1 -1
  49. package/dist-lib/components/file-widgets/host.d.ts +4 -3
  50. package/dist-lib/components/file-widgets/types.d.ts +1 -0
  51. package/dist-lib/components/file-widgets/upload.d.ts +18 -3
  52. package/dist-lib/components/filters/filter-op-label.d.ts +3 -0
  53. package/dist-lib/components/layout/ImpersonationBanner.d.ts +1 -1
  54. package/dist-lib/components/layout/ImpersonationFrame.d.ts +1 -1
  55. package/dist-lib/components/layout/Layout.d.ts +2 -1
  56. package/dist-lib/components/layout/Sidebar.d.ts +2 -1
  57. package/dist-lib/components/layout/TenantChip.d.ts +1 -1
  58. package/dist-lib/components/list/ViewSwitcher.d.ts +4 -2
  59. package/dist-lib/components/pages/DocumentsMenu.d.ts +1 -2
  60. package/dist-lib/components/pages/ExportMenu.d.ts +3 -5
  61. package/dist-lib/components/pages/RecordDocumentsPanel.d.ts +1 -2
  62. package/dist-lib/components/pages/auth/AuthShell.d.ts +4 -31
  63. package/dist-lib/components/pages/exportRequest.d.ts +4 -6
  64. package/dist-lib/components/pages/list/DeleteViewDialog.d.ts +8 -0
  65. package/dist-lib/components/pages/list/ListCardRow.d.ts +1 -2
  66. package/dist-lib/components/pages/list/ListCardsBody.d.ts +0 -1
  67. package/dist-lib/components/pages/list/ListFloatbar.d.ts +2 -2
  68. package/dist-lib/components/pages/list/ListHeader.d.ts +2 -2
  69. package/dist-lib/components/pages/list/ListNoRows.d.ts +4 -5
  70. package/dist-lib/components/pages/list/ListToolbar.d.ts +3 -2
  71. package/dist-lib/components/pages/list/ListUrlBanner.d.ts +10 -0
  72. package/dist-lib/components/pages/list/RowActionsCell.d.ts +2 -4
  73. package/dist-lib/components/pages/list/RowContextMenu.d.ts +1 -2
  74. package/dist-lib/components/pages/list/columns.d.ts +2 -1
  75. package/dist-lib/components/pages/list/filter-meta.d.ts +2 -1
  76. package/dist-lib/components/pages/list/useActiveView.d.ts +38 -0
  77. package/dist-lib/components/pages/list/useListColumnLayout.d.ts +6 -5
  78. package/dist-lib/components/pages/list/useListQuery.d.ts +4 -4
  79. package/dist-lib/components/pages/list/useListSort.d.ts +5 -4
  80. package/dist-lib/components/pages/list/useListViews.d.ts +18 -8
  81. package/dist-lib/components/pages/list/useRowMenu.d.ts +2 -3
  82. package/dist-lib/components/pages/profile/Profile.d.ts +3 -0
  83. package/dist-lib/components/params/ParamsBlock.d.ts +1 -13
  84. package/dist-lib/components/params/param-editors.d.ts +3 -11
  85. package/dist-lib/components/primitives/ClassifiedFieldLocked.d.ts +1 -2
  86. package/dist-lib/components/shared/DynamicIcon.d.ts +2 -2
  87. package/dist-lib/components/shared/LoadingSkeleton.d.ts +1 -0
  88. package/dist-lib/components/shared/LucideIcon.d.ts +1 -1
  89. package/dist-lib/components/shared/useOwnRefresh.d.ts +1 -1
  90. package/dist-lib/declarion-react.css +1 -1
  91. package/dist-lib/embed/theme.d.ts +1 -1
  92. package/dist-lib/embed/useEmbedNavigate.d.ts +1 -1
  93. package/dist-lib/failure-v-uGSpbX.js +158 -0
  94. package/dist-lib/{field-classification-D6xQYn-h.js → field-classification-C28XE-_P.js} +514 -307
  95. package/dist-lib/format-count-DA4wmmWR.js +1771 -0
  96. package/dist-lib/hooks/useEntityData.d.ts +1 -1
  97. package/dist-lib/hooks/useFilters.d.ts +7 -5
  98. package/dist-lib/hooks/useLanguage.d.ts +4 -0
  99. package/dist-lib/hooks/useParams.d.ts +4 -51
  100. package/dist-lib/hooks/useRegisterScreenTab.d.ts +1 -1
  101. package/dist-lib/hooks/useSSE.d.ts +3 -3
  102. package/dist-lib/hooks/useTabTitle.d.ts +2 -0
  103. package/dist-lib/hooks/useText.d.ts +3 -3
  104. package/dist-lib/hooks/useVersionWatcher.d.ts +1 -1
  105. package/dist-lib/hooks/useViews.d.ts +20 -0
  106. package/dist-lib/index.d.ts +8 -7
  107. package/dist-lib/index.js +2716 -5803
  108. package/dist-lib/lib/action-dispatch.d.ts +2 -1
  109. package/dist-lib/lib/actions.d.ts +30 -42
  110. package/dist-lib/lib/anchor.d.ts +3 -4
  111. package/dist-lib/lib/decimal-text.d.ts +1 -0
  112. package/dist-lib/lib/document-templates.d.ts +1 -2
  113. package/dist-lib/lib/download.d.ts +2 -1
  114. package/dist-lib/lib/evidence-verdict.d.ts +2 -1
  115. package/dist-lib/lib/failure.d.ts +2 -0
  116. package/dist-lib/lib/field-classification.d.ts +3 -3
  117. package/dist-lib/lib/filters.d.ts +18 -2
  118. package/dist-lib/lib/format-count.d.ts +8 -7
  119. package/dist-lib/lib/language.d.ts +19 -0
  120. package/dist-lib/lib/mass-edit.d.ts +2 -1
  121. package/dist-lib/lib/realtime-query-keys.d.ts +1 -1
  122. package/dist-lib/lib/realtime-reconcile.d.ts +3 -4
  123. package/dist-lib/lib/screen-back.d.ts +4 -6
  124. package/dist-lib/lib/sort.d.ts +9 -9
  125. package/dist-lib/lib/timestamp.d.ts +5 -7
  126. package/dist-lib/lib/ui-actions.d.ts +2 -1
  127. package/dist-lib/peekDraftStore-D-cTbiIr.js +199 -0
  128. package/dist-lib/registry-Cb3W-czW.js +1950 -0
  129. package/dist-lib/safe-url-oSJw5pzO.js +34 -0
  130. package/dist-lib/stores/icon-registry.d.ts +2 -2
  131. package/dist-lib/stores/list-layout.d.ts +3 -4
  132. package/dist-lib/stores/realtime.d.ts +1 -1
  133. package/dist-lib/stores/tabs.d.ts +3 -2
  134. package/dist-lib/testing.d.ts +6 -0
  135. package/dist-lib/testing.js +98 -76
  136. package/dist-lib/types/api.d.ts +7 -8
  137. package/dist-lib/types/fieldType.d.ts +1 -1
  138. package/dist-lib/types/files.d.ts +4 -4
  139. package/dist-lib/types/schema.d.ts +44 -50
  140. package/dist-lib/useAgentConversation-D97IqE-J.js +623 -0
  141. package/dist-lib/{useCurrentScreen-CzwzQpoW.js → useCurrentScreen-BL5NZFCw.js} +2777 -3768
  142. package/dist-lib/useListQuery-BG1GyKtJ.js +103 -0
  143. package/dist-lib/useProperties-4Lg3odrt.js +83 -0
  144. package/dist-lib/{useTabSearchMirror-C39U85cg.js → useTabSearchMirror-ZVLlINBX.js} +49 -51
  145. package/dist-lib/useText-BFDCTUSo.js +952 -0
  146. package/dist-lib/{value-Bo8C8WMU.js → value-By1-WJ8J.js} +74 -76
  147. package/dist-lib/vite/fingerprint-plugin.d.ts +2 -3
  148. package/package.json +9 -9
  149. package/dist-lib/Grid-DWgUPuZ3.js +0 -404
  150. package/dist-lib/MarkdownRenderer-CcSFc2N3.js +0 -85
  151. package/dist-lib/RecordIdBadge-CGxPR-8q.js +0 -24
  152. package/dist-lib/SmartDetailPage.impl-lskCd-WG.js +0 -1846
  153. package/dist-lib/SmartListPage.impl-CrGbdzyK.js +0 -2854
  154. package/dist-lib/SortHeaderMenu-SYSAaqQJ.js +0 -106
  155. package/dist-lib/action-dispatch-CR4ajBtT.js +0 -1985
  156. package/dist-lib/cardProjection-CW5RIMko.js +0 -699
  157. package/dist-lib/components/pages/home/HomeStub.d.ts +0 -6
  158. package/dist-lib/components/pages/jobs/Jobs.d.ts +0 -1
  159. package/dist-lib/components/pages/pipeline/Pipeline.d.ts +0 -1
  160. package/dist-lib/format-count-Dobmi-Ji.js +0 -1551
  161. package/dist-lib/hooks/useUserLocale.d.ts +0 -1
  162. package/dist-lib/lib/messages.d.ts +0 -12
  163. package/dist-lib/peekDraftStore-5wQ7lq_V.js +0 -194
  164. package/dist-lib/registry-CjgUaF7C.js +0 -1768
  165. package/dist-lib/useListQuery-D7Hr5WM1.js +0 -96
  166. package/dist-lib/useProperties-CqtCzFCr.js +0 -81
@@ -1,10 +1,14 @@
1
- import { D as e, Ft as t, Ht as n, Kt as r, Pt as i, Qt as a, Vt as o, Zt as s, a as c, an as l, dn as u, dr as d, jt as f, ln as p, un as m, ur as h } from "./useCurrentScreen-CzwzQpoW.js";
2
- import { useCallback as g, useEffect as _, useMemo as ee, useRef as te, useState as ne } from "react";
3
- import { parsePath as re, useLocation as ie, useNavigate as ae } from "react-router";
4
- import { useMutation as v, useQueryClient as y } from "@tanstack/react-query";
5
- import { create as b } from "zustand";
1
+ import { D as e, Dn as t, Mt as n, Nt as r, On as i, Vt as a, a as o, kt as s, vt as c, yt as l } from "./useCurrentScreen-BL5NZFCw.js";
2
+ import { D as u, O as d, f, p, t as m } from "./useText-BFDCTUSo.js";
3
+ import { h, o as g, s as ee, t as te, y as ne } from "./failure-v-uGSpbX.js";
4
+ import { d as re, f as ie, u as ae } from "./action-dispatch-DY0c8U81.js";
5
+ import { useCallback as _, useEffect as v, useMemo as oe, useRef as se, useState as ce } from "react";
6
+ import { parsePath as le, useLocation as ue, useNavigate as de } from "react-router";
7
+ import { useMutation as y, useQueryClient as b } from "@tanstack/react-query";
8
+ import { Fragment as fe, jsx as x, jsxs as S } from "react/jsx-runtime";
9
+ import { create as C } from "zustand";
6
10
  //#region src/stores/preferences.ts
7
- var x = {
11
+ var pe = {
8
12
  colorScheme: "light",
9
13
  accent: "violet",
10
14
  density: "compact",
@@ -16,22 +20,22 @@ var x = {
16
20
  zebra: !0,
17
21
  aiSurface: "both",
18
22
  toastPosition: "bottom-right"
19
- }, oe = ["light", "dark"], se = [
23
+ }, me = ["light", "dark"], he = [
20
24
  "violet",
21
25
  "blue",
22
26
  "teal",
23
27
  "amber",
24
28
  "rose"
25
- ], ce = [
29
+ ], ge = [
26
30
  "compact",
27
31
  "comfortable",
28
32
  "cozy"
29
- ], le = ["wide", "collapsed"], ue = ["top", "bottom"], de = [
33
+ ], _e = ["wide", "collapsed"], ve = ["top", "bottom"], ye = [
30
34
  "command",
31
35
  "panel",
32
36
  "both",
33
37
  "off"
34
- ], fe = [
38
+ ], be = [
35
39
  "top-left",
36
40
  "top-center",
37
41
  "top-right",
@@ -39,37 +43,37 @@ var x = {
39
43
  "bottom-center",
40
44
  "bottom-right"
41
45
  ];
42
- function S(e, t) {
46
+ function w(e, t) {
43
47
  return typeof t == "string" && e.includes(t) ? t : void 0;
44
48
  }
45
- function C(e) {
46
- let t = {}, n = S(oe, e.colorScheme);
49
+ function T(e) {
50
+ let t = {}, n = w(me, e.colorScheme);
47
51
  n && (t.colorScheme = n);
48
- let r = S(se, e.accent);
52
+ let r = w(he, e.accent);
49
53
  r && (t.accent = r);
50
- let i = S(ce, e.density);
54
+ let i = w(ge, e.density);
51
55
  i && (t.density = i);
52
- let a = S(le, e.sidebar);
56
+ let a = w(_e, e.sidebar);
53
57
  a && (t.sidebar = a);
54
- let o = S(ue, e.tabsPosition);
58
+ let o = w(ve, e.tabsPosition);
55
59
  o && (t.tabsPosition = o);
56
- let s = S(de, e.aiSurface);
60
+ let s = w(ye, e.aiSurface);
57
61
  s && (t.aiSurface = s);
58
- let c = S(fe, e.toastPosition);
62
+ let c = w(be, e.toastPosition);
59
63
  return c && (t.toastPosition = c), typeof e.tabsMaxOpen == "number" && e.tabsMaxOpen > 0 && (t.tabsMaxOpen = e.tabsMaxOpen), typeof e.radius == "number" && e.radius >= 0 && e.radius <= 32 && (t.radius = e.radius), typeof e.zebra == "boolean" && (t.zebra = e.zebra), typeof e.tabsPersist == "boolean" && (t.tabsPersist = e.tabsPersist), t;
60
64
  }
61
- var pe = ["declarion-preferences", "declarion-appearance"];
62
- function me() {
65
+ var xe = ["declarion-preferences", "declarion-appearance"];
66
+ function Se() {
63
67
  if (!(typeof window > "u")) try {
64
- for (let e of pe) localStorage.removeItem(e);
68
+ for (let e of xe) localStorage.removeItem(e);
65
69
  } catch {}
66
70
  }
67
- function w(e) {
71
+ function E(e) {
68
72
  if (typeof document > "u") return;
69
73
  let t = document.documentElement;
70
74
  t.dataset.colorScheme = e.colorScheme, t.dataset.accent = e.accent, t.dataset.density = e.density, t.dataset.sidebar = e.sidebar, t.dataset.tabbar = e.tabsPosition, t.dataset.zebra = e.zebra ? "on" : "off", t.dataset.ai = e.aiSurface, t.style.setProperty("--radius-md", `${e.radius}px`), t.style.setProperty("--radius-lg", `${e.radius + 3}px`);
71
75
  }
72
- function he(e) {
76
+ function Ce(e) {
73
77
  return {
74
78
  colorScheme: e.color_scheme,
75
79
  accent: e.accent,
@@ -84,70 +88,70 @@ function he(e) {
84
88
  toastPosition: e.toast_position
85
89
  };
86
90
  }
87
- me();
88
- var T = /* @__PURE__ */ new Set(), ge = { ...x };
89
- typeof window < "u" && w(ge);
90
- var E = b((e, t) => ({
91
- ...ge,
91
+ Se();
92
+ var D = /* @__PURE__ */ new Set(), we = { ...pe };
93
+ typeof window < "u" && E(we);
94
+ var O = C((e, t) => ({
95
+ ...we,
92
96
  set: (n, r) => {
93
- let i = C({ [n]: r });
94
- i[n] !== void 0 && (w({
97
+ let i = T({ [n]: r });
98
+ i[n] !== void 0 && (E({
95
99
  ...t(),
96
100
  ...i
97
- }), T.add(n), e(i));
101
+ }), D.add(n), e(i));
98
102
  },
99
103
  setMany: (n) => {
100
- let r = C(n);
104
+ let r = T(n);
101
105
  if (Object.keys(r).length) {
102
- w({
106
+ E({
103
107
  ...t(),
104
108
  ...r
105
109
  });
106
- for (let e of Object.keys(r)) T.add(e);
110
+ for (let e of Object.keys(r)) D.add(e);
107
111
  e(r);
108
112
  }
109
113
  },
110
114
  hydrateFromBranding: (t) => {
111
115
  if (!t) return;
112
- let n = he(t), r = {};
113
- for (let [e, t] of Object.entries(n)) T.has(e) || t !== void 0 && (r[e] = t);
114
- let i = C(r);
115
- Object.keys(i).length && (w({
116
- ...E.getState(),
116
+ let n = Ce(t), r = {};
117
+ for (let [e, t] of Object.entries(n)) D.has(e) || t !== void 0 && (r[e] = t);
118
+ let i = T(r);
119
+ Object.keys(i).length && (E({
120
+ ...O.getState(),
117
121
  ...i
118
122
  }), e(i));
119
123
  },
120
124
  resetToDefaults: (t) => {
121
- T.clear(), me();
122
- let n = t ? C(he(t)) : {}, r = {
123
- ...x,
125
+ D.clear(), Se();
126
+ let n = t ? T(Ce(t)) : {}, r = {
127
+ ...pe,
124
128
  ...n
125
129
  };
126
- w(r), e(r);
130
+ E(r), e(r);
127
131
  }
128
- })), _e = ["/login", "/signup"];
129
- function ve(e) {
130
- return _e.includes(e);
132
+ })), Te = ["/login", "/signup"];
133
+ function Ee(e) {
134
+ return Te.includes(e);
131
135
  }
132
- function D(e) {
136
+ function k(e) {
133
137
  return typeof e == "string" && e.startsWith("/") && !e.startsWith("//");
134
138
  }
135
- var O = 4096;
136
- function k(e) {
137
- return typeof e == "string" && e.length <= O;
139
+ var De = 4096;
140
+ function A(e) {
141
+ return typeof e == "string" && e.length <= De;
138
142
  }
139
- function ye(e) {
143
+ function Oe(e) {
140
144
  if (e === null) return null;
141
145
  if (e === void 0 || typeof e != "object" || Array.isArray(e)) return;
142
146
  let t = e;
143
- if (!D(t.pathname) || t.pathname.length > O || t.pathname.includes("?") || t.pathname.includes("#")) return;
147
+ if (!k(t.pathname) || t.pathname.length > De || t.pathname.includes("?") || t.pathname.includes("#")) return;
144
148
  let n = { pathname: t.pathname };
145
149
  if (t.search !== void 0) {
146
- if (!k(t.search) || t.search.startsWith("?")) return;
150
+ if (!A(t.search) || t.search.startsWith("?")) return;
147
151
  t.search && (n.search = t.search);
148
152
  }
149
153
  if (t.hash !== void 0) {
150
- if (!k(t.hash) || t.hash && !t.hash.startsWith("#")) return;
154
+ if (!A(t.hash) || t.hash && !t.hash.startsWith("#")) return;
151
155
  t.hash && (n.hash = t.hash);
152
156
  }
153
157
  for (let e of [
@@ -156,29 +160,29 @@ function ye(e) {
156
160
  "icon",
157
161
  "screen"
158
162
  ]) if (t[e] !== void 0) {
159
- if (!k(t[e])) return;
163
+ if (!A(t[e])) return;
160
164
  t[e] && (n[e] = t[e]);
161
165
  }
162
166
  return n;
163
167
  }
164
- function A(e) {
168
+ function j(e) {
165
169
  return e.closable !== !1;
166
170
  }
167
- function be(e, t, n, r) {
168
- if (n === "all") return e.filter(A).map((e) => e.id);
171
+ function ke(e, t, n, r) {
172
+ if (n === "all") return e.filter(j).map((e) => e.id);
169
173
  let i = r ?? t;
170
174
  if (!i) return [];
171
175
  let a = e.findIndex((e) => e.id === i);
172
- return a === -1 ? [] : n === "current" ? A(e[a]) ? [e[a].id] : [] : n === "others" ? e.filter((e, t) => t !== a && A(e)).map((e) => e.id) : e.slice(a + 1).filter(A).map((e) => e.id);
176
+ return a === -1 ? [] : n === "current" ? j(e[a]) ? [e[a].id] : [] : n === "others" ? e.filter((e, t) => t !== a && j(e)).map((e) => e.id) : e.slice(a + 1).filter(j).map((e) => e.id);
173
177
  }
174
- var j = null, M = null;
175
- function xe(e, t) {
178
+ var M = null, N = null;
179
+ function Ae(e, t) {
176
180
  return `declarion::${e}::${t}::tabs`;
177
181
  }
178
- function Se() {
179
- return !j || !M ? null : xe(j, M);
182
+ function je() {
183
+ return !M || !N ? null : Ae(M, N);
180
184
  }
181
- function N(e) {
185
+ function Me(e) {
182
186
  let t;
183
187
  try {
184
188
  t = JSON.parse(e);
@@ -189,7 +193,7 @@ function N(e) {
189
193
  let n = t;
190
194
  return Array.isArray(n.tabs) ? {
191
195
  tabs: n.tabs.filter((e) => typeof e == "object" && !!e && typeof e.id == "string" && typeof e.pathname == "string").map((e) => {
192
- let t = ye(e.returnTo);
196
+ let t = Oe(e.returnTo);
193
197
  if (t === void 0) {
194
198
  let { returnTo: t, ...n } = e;
195
199
  return n;
@@ -202,14 +206,14 @@ function N(e) {
202
206
  activeTabId: typeof n.activeTabId == "string" ? n.activeTabId : null
203
207
  } : null;
204
208
  }
205
- function Ce(e, t) {
209
+ function Ne(e, t) {
206
210
  if (typeof window > "u") return null;
207
- let n = localStorage.getItem(xe(e, t));
211
+ let n = localStorage.getItem(Ae(e, t));
208
212
  if (!n) return null;
209
- let r = N(n);
213
+ let r = Me(n);
210
214
  if (!r) return null;
211
215
  let i = r.tabs.find((e) => e.id === r.activeTabId), a = i?.pathname;
212
- if (D(a)) {
216
+ if (k(a)) {
213
217
  let e = typeof i?.search == "string" ? i.search : "", t = e.startsWith("?") ? e.slice(1) : e;
214
218
  return t ? `${a}?${t}` : a;
215
219
  }
@@ -217,7 +221,7 @@ function Ce(e, t) {
217
221
  }
218
222
  function P(e, t) {
219
223
  if (typeof window > "u") return;
220
- let n = E.getState().tabsPersist, r = Se();
224
+ let n = O.getState().tabsPersist, r = je();
221
225
  if (r) {
222
226
  if (!n) {
223
227
  try {
@@ -233,24 +237,24 @@ function P(e, t) {
233
237
  } catch {}
234
238
  }
235
239
  }
236
- function we() {
237
- if (typeof window > "u" || !E.getState().tabsPersist) return null;
238
- let e = Se();
240
+ function Pe() {
241
+ if (typeof window > "u" || !O.getState().tabsPersist) return null;
242
+ let e = je();
239
243
  if (!e) return null;
240
244
  let t = localStorage.getItem(e);
241
- return t ? N(t) : null;
245
+ return t ? Me(t) : null;
242
246
  }
243
- var F = b((e, t) => ({
247
+ var F = C((e, t) => ({
244
248
  tabs: [],
245
249
  activeTabId: null,
246
250
  openTab: (n) => {
247
- if (ve(n.pathname)) return "";
251
+ if (Ee(n.pathname)) return "";
248
252
  let r = t(), i = r.tabs.find((e) => e.pathname === n.pathname);
249
253
  if (i) return e({ activeTabId: i.id }), P(r.tabs, i.id), i.id;
250
254
  let a = crypto.randomUUID(), o = {
251
255
  ...n,
252
256
  id: a
253
- }, s = [...r.tabs, o], c = E.getState().tabsMaxOpen;
257
+ }, s = [...r.tabs, o], c = O.getState().tabsMaxOpen;
254
258
  if (c > 0 && s.length > c) {
255
259
  let e = s.findIndex((e) => e.id !== a && e.closable !== !1 && !e.dirty);
256
260
  e !== -1 && (s = s.filter((t, n) => n !== e));
@@ -267,7 +271,7 @@ var F = b((e, t) => ({
267
271
  closeTabs: (n) => {
268
272
  let r = t(), i = new Set(n);
269
273
  if (i.size === 0) return r.tabs.find((e) => e.id === r.activeTabId) ?? null;
270
- let a = r.tabs.findIndex((e) => e.id === r.activeTabId), o = r.tabs.filter((e) => !(i.has(e.id) && A(e))), s = r.activeTabId;
274
+ let a = r.tabs.findIndex((e) => e.id === r.activeTabId), o = r.tabs.filter((e) => !(i.has(e.id) && j(e))), s = r.activeTabId;
271
275
  return s && !o.some((e) => e.id === s) ? s = o.length === 0 ? null : o[Math.min(Math.max(a, 0), o.length - 1)].id : o.length === 0 && (s = null), e({
272
276
  tabs: o,
273
277
  activeTabId: s
@@ -285,10 +289,11 @@ var F = b((e, t) => ({
285
289
  });
286
290
  },
287
291
  findTabByPathname: (e) => t().tabs.find((t) => t.pathname === e),
288
- updateTabTitle: (t, n) => {
292
+ updateTabTitle: (t, n, r = !1) => {
289
293
  e((e) => ({ tabs: e.tabs.map((e) => e.id === t ? {
290
294
  ...e,
291
- title: n
295
+ title: n,
296
+ derivedTitle: r
292
297
  } : e) }));
293
298
  },
294
299
  updateTabSearch: (t, n) => {
@@ -333,16 +338,16 @@ var F = b((e, t) => ({
333
338
  } : e) })), P(t().tabs, t().activeTabId);
334
339
  },
335
340
  setScope: (e, t) => {
336
- j = e, M = t;
341
+ M = e, N = t;
337
342
  },
338
343
  hydrate: () => {
339
- let t = we();
344
+ let t = Pe();
340
345
  t && e({
341
346
  tabs: t.tabs,
342
347
  activeTabId: t.activeTabId
343
348
  });
344
349
  }
345
- })), I = b((e) => ({
350
+ })), I = C((e) => ({
346
351
  depth: 0,
347
352
  nextIsRoot: !1,
348
353
  applyNavigation: (t) => e((e) => e.nextIsRoot ? {
@@ -357,25 +362,25 @@ var F = b((e, t) => ({
357
362
  }));
358
363
  //#endregion
359
364
  //#region src/lib/screen-back.ts
360
- function Te(e) {
365
+ function Fe(e) {
361
366
  return e ? e.startsWith("?") ? e.slice(1) : e : "";
362
367
  }
363
- function Ee(e) {
368
+ function Ie(e) {
364
369
  if (e) return e.startsWith("?") ? e : `?${e}`;
365
370
  }
366
- function De(e, t, n) {
367
- if (!D(e.pathname) || ve(e.pathname) || e.pathname === t) return;
368
- let r = Te(e.search), i = { pathname: e.pathname };
371
+ function Le(e, t, n) {
372
+ if (!k(e.pathname) || Ee(e.pathname) || e.pathname === t) return;
373
+ let r = Fe(e.search), i = { pathname: e.pathname };
369
374
  return r && (i.search = r), e.hash && (i.hash = e.hash), n?.id && (i.tabId = n.id), n?.title && (i.title = n.title), n?.icon && (i.icon = n.icon), n?.screen && (i.screen = n.screen), i;
370
375
  }
371
- function Oe(e, t) {
376
+ function Re(e, t) {
372
377
  return t ? {
373
378
  hasOriginBack: !1,
374
379
  allowFallbackBack: !0
375
380
  } : e === null ? {
376
381
  hasOriginBack: !1,
377
382
  allowFallbackBack: !1
378
- } : e && D(e.pathname) ? {
383
+ } : e && k(e.pathname) ? {
379
384
  hasOriginBack: !0,
380
385
  allowFallbackBack: !0
381
386
  } : {
@@ -383,8 +388,8 @@ function Oe(e, t) {
383
388
  allowFallbackBack: !0
384
389
  };
385
390
  }
386
- function ke(e, t, n) {
387
- if (n || !e || !D(e.pathname)) return null;
391
+ function ze(e, t, n) {
392
+ if (n || !e || !k(e.pathname)) return null;
388
393
  let r = (e.tabId ? t.find((t) => t.id === e.tabId) : void 0) ?? t.find((t) => t.pathname === e.pathname);
389
394
  return {
390
395
  kind: r ? "live" : "reopen",
@@ -399,110 +404,112 @@ function ke(e, t, n) {
399
404
  }
400
405
  //#endregion
401
406
  //#region src/hooks/useTabNavigate.ts
402
- function Ae(e, t) {
403
- let n = re(e);
407
+ function Be(e, t) {
408
+ let n = le(e);
404
409
  return {
405
410
  pathname: n.pathname ?? e,
406
- search: je(n.search) ?? je(t),
411
+ search: Ve(n.search) ?? Ve(t),
407
412
  hash: n.hash
408
413
  };
409
414
  }
410
- function je(e) {
415
+ function Ve(e) {
411
416
  if (e && e !== "?") return e.startsWith("?") ? e : `?${e}`;
412
417
  }
413
- function Me() {
414
- let e = ae(), { data: n } = m(), r = o(), i = t();
415
- return g((t, a) => {
416
- let { pathname: o, search: s, hash: c } = Ae(t, a?.search);
417
- if (r.enabled) {
418
- i(`${o}${s ?? ""}${c ?? ""}`, { replace: a?.replace });
418
+ function He() {
419
+ let e = m(), n = de(), { data: i } = f(), a = u(), o = r();
420
+ return _((r, s) => {
421
+ let { pathname: c, search: l, hash: u } = Be(r, s?.search);
422
+ if (a.enabled) {
423
+ o(`${c}${l ?? ""}${u ?? ""}`, { replace: s?.replace });
419
424
  return;
420
425
  }
421
- let l = F.getState(), u = a?.topLevel ?? !1, d = Te(s), f = u || typeof window > "u" ? void 0 : De({
426
+ let d = F.getState(), f = s?.topLevel ?? !1, p = Fe(l), m = f || typeof window > "u" ? void 0 : Le({
422
427
  pathname: window.location.pathname,
423
428
  search: window.location.search,
424
429
  hash: window.location.hash
425
- }, o, l.findTabByPathname(window.location.pathname)), p = l.findTabByPathname(o);
426
- if (p) {
427
- if (u) {
428
- let t = d || p.search;
429
- l.commitTabNavigation(p.id, {
430
- search: t,
430
+ }, c, d.findTabByPathname(window.location.pathname)), h = d.findTabByPathname(c);
431
+ if (h) {
432
+ if (f) {
433
+ let e = p || h.search;
434
+ d.commitTabNavigation(h.id, {
435
+ search: e,
431
436
  returnTo: null
432
- }), e({
433
- pathname: o,
434
- search: t ? `?${t}` : "",
435
- hash: c
436
- }, { replace: a?.replace });
437
+ }), n({
438
+ pathname: c,
439
+ search: e ? `?${e}` : "",
440
+ hash: u
441
+ }, { replace: s?.replace });
437
442
  return;
438
443
  }
439
- f ? l.commitTabNavigation(p.id, {
440
- search: d,
441
- returnTo: f
442
- }) : l.commitTabNavigation(p.id, { search: d }), e({
443
- pathname: o,
444
- search: s,
445
- hash: c
446
- }, { replace: a?.replace });
444
+ m ? d.commitTabNavigation(h.id, {
445
+ search: p,
446
+ returnTo: m
447
+ }) : d.commitTabNavigation(h.id, { search: p }), n({
448
+ pathname: c,
449
+ search: l,
450
+ hash: u
451
+ }, { replace: s?.replace });
447
452
  return;
448
453
  }
449
- let m = a?.title ? void 0 : h(o, n?.screens, n?.entities), g = a?.title ?? m?.title ?? o, _ = a?.icon ?? m?.icon;
450
- l.openTab({
451
- pathname: o,
452
- search: d,
453
- title: g,
454
- icon: _,
454
+ let g = s?.title ? void 0 : t(e, c, i?.screens, i?.entities), ee = s?.title ?? g?.title ?? c, te = s?.icon ?? g?.icon;
455
+ d.openTab({
456
+ pathname: c,
457
+ search: p,
458
+ title: ee,
459
+ derivedTitle: !s?.title,
460
+ icon: te,
455
461
  closable: !0,
456
- returnTo: u ? null : f
457
- }), e({
458
- pathname: o,
459
- search: s,
460
- hash: c
461
- }, { replace: a?.replace });
462
+ returnTo: f ? null : m
463
+ }), n({
464
+ pathname: c,
465
+ search: l,
466
+ hash: u
467
+ }, { replace: s?.replace });
462
468
  }, [
463
469
  e,
464
- n?.screens,
465
- n?.entities,
466
- r.enabled,
467
- i
470
+ n,
471
+ i?.screens,
472
+ i?.entities,
473
+ a.enabled,
474
+ o
468
475
  ]);
469
476
  }
470
477
  //#endregion
471
478
  //#region src/stores/page-state.ts
472
479
  var L = 18e5, R = null;
473
- function z(e) {
480
+ function Ue(e) {
474
481
  R = e;
475
482
  }
476
- function B(e) {
483
+ function z(e) {
477
484
  if (e && R) for (let t of e.queryKeys) R.removeQueries({
478
485
  queryKey: t,
479
486
  exact: !0
480
487
  });
481
488
  }
482
- function V(e, t) {
489
+ function B(e, t) {
483
490
  let n = e[t];
484
491
  if (!n) return e;
485
- B(n);
492
+ z(n);
486
493
  let r = { ...e };
487
494
  return delete r[t], r;
488
495
  }
489
- function H(e, t) {
496
+ function We(e, t) {
490
497
  let n = e;
491
498
  for (; Object.keys(n).length > 64;) {
492
499
  let e = null, r = Infinity;
493
500
  for (let [i, a] of Object.entries(n)) i !== t && a.lastActiveAt < r && (r = a.lastActiveAt, e = i);
494
501
  if (e === null) break;
495
- n = V(n, e);
502
+ n = B(n, e);
496
503
  }
497
504
  return n;
498
505
  }
499
- var U = b((e, t) => ({
506
+ var V = C((e, t) => ({
500
507
  entries: {},
501
508
  ttlMs: L,
502
509
  setTtl: (n) => {
503
510
  if (n <= 0) {
504
511
  let { entries: r } = t();
505
- for (let e of Object.keys(r)) B(r[e]);
512
+ for (let e of Object.keys(r)) z(r[e]);
506
513
  e({
507
514
  ttlMs: n,
508
515
  entries: {}
@@ -526,7 +533,7 @@ var U = b((e, t) => ({
526
533
  lastActiveAt: o,
527
534
  queryKeys: []
528
535
  };
529
- e({ entries: H({
536
+ e({ entries: We({
530
537
  ...a.entries,
531
538
  [n]: c
532
539
  }, n) });
@@ -550,7 +557,7 @@ var U = b((e, t) => ({
550
557
  registerQueryKey: (n, r) => {
551
558
  let i = t();
552
559
  if (i.ttlMs <= 0) return;
553
- let a = Date.now(), o = i.entries[n], s = o?.queryKeys.some((e) => Ne(e, r));
560
+ let a = Date.now(), o = i.entries[n], s = o?.queryKeys.some((e) => Ge(e, r));
554
561
  if (o && s) return;
555
562
  let c = o ? {
556
563
  ...o,
@@ -561,29 +568,29 @@ var U = b((e, t) => ({
561
568
  lastActiveAt: a,
562
569
  queryKeys: [r]
563
570
  };
564
- e({ entries: H({
571
+ e({ entries: We({
565
572
  ...i.entries,
566
573
  [n]: c
567
574
  }, n) });
568
575
  },
569
576
  kill: (n) => {
570
- let r = t(), i = V(r.entries, n);
577
+ let r = t(), i = B(r.entries, n);
571
578
  i !== r.entries && e({ entries: i });
572
579
  },
573
580
  sweep: (n) => {
574
581
  let { ttlMs: r, entries: i } = t(), a = i;
575
- for (let [e, t] of Object.entries(i)) (r <= 0 || n - t.lastActiveAt > r) && (a = V(a, e));
582
+ for (let [e, t] of Object.entries(i)) (r <= 0 || n - t.lastActiveAt > r) && (a = B(a, e));
576
583
  a !== i && e({ entries: a });
577
584
  },
578
585
  clear: () => {
579
586
  let { entries: n } = t();
580
587
  if (Object.keys(n).length !== 0) {
581
- for (let e of Object.keys(n)) B(n[e]);
588
+ for (let e of Object.keys(n)) z(n[e]);
582
589
  e({ entries: {} });
583
590
  }
584
591
  }
585
592
  }));
586
- function Ne(e, t) {
593
+ function Ge(e, t) {
587
594
  if (e === t) return !0;
588
595
  try {
589
596
  return JSON.stringify(e) === JSON.stringify(t);
@@ -593,30 +600,113 @@ function Ne(e, t) {
593
600
  }
594
601
  //#endregion
595
602
  //#region src/lib/page-inset.ts
596
- function Pe(e) {
603
+ function Ke(e) {
597
604
  return {
598
605
  paddingLeft: `calc(${e}px + var(--safe-area-left))`,
599
606
  paddingRight: `calc(${e}px + var(--safe-area-right))`
600
607
  };
601
608
  }
602
- var Fe = 1200, W = null, G = null;
603
- function K() {
604
- return !W || !G ? null : `declarion::${W}::${G}::listlayout`;
609
+ //#endregion
610
+ //#region src/components/file-widgets/payload.ts
611
+ function H(e) {
612
+ return !e || Array.isArray(e) ? null : e;
613
+ }
614
+ function U(e) {
615
+ return Array.isArray(e) ? e : [];
616
+ }
617
+ function W(e) {
618
+ return !e || Array.isArray(e) || typeof e != "object" ? {} : e;
619
+ }
620
+ function qe(e, t) {
621
+ return e.mode === "array" ? U(t) : e.mode === "named_map" ? W(t) : H(t);
622
+ }
623
+ function G(e, t, n, r) {
624
+ let i = {
625
+ file_id: e.id,
626
+ filename: e.filename
627
+ };
628
+ return r && (i.slot = r), n && (i.position = t), e.metadata !== void 0 && (i.metadata = e.metadata), i;
605
629
  }
630
+ function Je(e, t) {
631
+ if (e.mode === "array") {
632
+ let e = U(t);
633
+ return e.length === 0 ? { clear: !0 } : { set: e.map((e, t) => G(e, t, !0)) };
634
+ }
635
+ if (e.mode === "named_map") {
636
+ let e = W(t), n = Object.entries(e).filter(([, e]) => e != null).map(([e, t]) => G(t, 0, !1, e));
637
+ return n.length === 0 ? { clear: !0 } : { set: n };
638
+ }
639
+ let n = H(t);
640
+ return n ? { set: [G(n, 0, !0)] } : { clear: !0 };
641
+ }
642
+ function K(e) {
643
+ return JSON.stringify(e);
644
+ }
645
+ function Ye(e) {
646
+ let { entity: t, formData: n, record: r, isNew: i } = e, a = {};
647
+ for (let e of t.files?.names() ?? []) {
648
+ if (!Object.prototype.hasOwnProperty.call(n, e)) continue;
649
+ let o = ae(t, e);
650
+ if (!o) continue;
651
+ let s = qe(o, n[e]);
652
+ if (i) {
653
+ if (o.mode === "array" ? U(s).length === 0 : o.mode === "named_map" ? Object.values(W(s)).every((e) => e == null) : H(s) == null) continue;
654
+ a[e] = Je(o, s);
655
+ continue;
656
+ }
657
+ let c = qe(o, r ? re(r, e) : null), l = Je(o, s), u = Je(o, c);
658
+ K(l) !== K(u) && (a[e] = l);
659
+ }
660
+ let o = t.fields;
661
+ if (!o) return a;
662
+ for (let e of o.names()) {
663
+ let s = o.get(e)?.files;
664
+ if (!s || s.mode !== "rich_text_inline" || !Object.prototype.hasOwnProperty.call(n, e)) continue;
665
+ let c = Ze(s, n[e]);
666
+ if (i) {
667
+ if (c.clear) continue;
668
+ a[e] = c;
669
+ continue;
670
+ }
671
+ let l = Ze(s, r ? ie({
672
+ ...t,
673
+ fields: o
674
+ }, r, e) : null);
675
+ K(c) !== K(l) && (a[e] = c);
676
+ }
677
+ return a;
678
+ }
679
+ function Xe(e) {
680
+ let t = [];
681
+ for (let n of Object.values(e)) for (let e of n.set ?? []) t.push(e.file_id);
682
+ return t;
683
+ }
684
+ function Ze(e, t) {
685
+ if (e.mode !== "rich_text_inline") return { clear: !0 };
686
+ let n = c(l(t));
687
+ return n.length === 0 ? { clear: !0 } : { set: n.map((e, t) => ({
688
+ file_id: e,
689
+ position: t
690
+ })) };
691
+ }
692
+ var Qe = 1200, $e = null, et = null;
606
693
  function q() {
694
+ return !$e || !et ? null : `declarion::${$e}::${et}::listlayout`;
695
+ }
696
+ function tt() {
607
697
  return {
608
698
  v: 2,
609
699
  widths: {},
610
700
  resizeEduShown: !1
611
701
  };
612
702
  }
613
- function Ie(e) {
703
+ function nt(e) {
614
704
  if (typeof e != "object" || !e) return {};
615
705
  let t = {};
616
706
  for (let [n, r] of Object.entries(e)) typeof r == "number" && Number.isFinite(r) && r >= 60 && (t[n] = r);
617
707
  return t;
618
708
  }
619
- function Le(e) {
709
+ function rt(e) {
620
710
  let t;
621
711
  try {
622
712
  t = JSON.parse(e);
@@ -627,7 +717,7 @@ function Le(e) {
627
717
  let n = t;
628
718
  if (n.v !== 2) return null;
629
719
  let r = {};
630
- if (n.widths && typeof n.widths == "object") for (let [e, t] of Object.entries(n.widths)) r[e] = Ie(t);
720
+ if (n.widths && typeof n.widths == "object") for (let [e, t] of Object.entries(n.widths)) r[e] = nt(t);
631
721
  return {
632
722
  v: 2,
633
723
  widths: r,
@@ -636,12 +726,12 @@ function Le(e) {
636
726
  }
637
727
  function J(e) {
638
728
  if (typeof window > "u") return;
639
- let t = K();
729
+ let t = q();
640
730
  if (t) try {
641
731
  localStorage.setItem(t, JSON.stringify(e));
642
732
  } catch {}
643
733
  }
644
- function Re(e, t) {
734
+ function it(e, t) {
645
735
  return {
646
736
  v: 2,
647
737
  widths: {
@@ -651,29 +741,29 @@ function Re(e, t) {
651
741
  resizeEduShown: e.resizeEduShown || t.resizeEduShown
652
742
  };
653
743
  }
654
- function ze(e) {
655
- return Math.min(Fe, Math.max(60, Math.round(e)));
744
+ function at(e) {
745
+ return Math.min(Qe, Math.max(60, Math.round(e)));
656
746
  }
657
- var Y = b((e) => ({
658
- ...q(),
747
+ var Y = C((e) => ({
748
+ ...tt(),
659
749
  setScope: (e, t) => {
660
- W = e, G = t;
750
+ $e = e, et = t;
661
751
  },
662
752
  hydrate: () => {
663
753
  if (typeof window > "u") return;
664
- let t = K();
754
+ let t = q();
665
755
  if (!t) {
666
- e(q());
756
+ e(tt());
667
757
  return;
668
758
  }
669
759
  let n = localStorage.getItem(t);
670
- e((n ? Le(n) : null) ?? q());
760
+ e((n ? rt(n) : null) ?? tt());
671
761
  },
672
762
  setWidth: (t, n, r) => {
673
763
  e((e) => {
674
764
  let i = {
675
765
  ...e.widths[t] ?? {},
676
- [n]: ze(r)
766
+ [n]: at(r)
677
767
  }, a = {
678
768
  ...e,
679
769
  widths: {
@@ -687,7 +777,7 @@ var Y = b((e) => ({
687
777
  setWidths: (t, n) => {
688
778
  e((e) => {
689
779
  let r = {};
690
- for (let [e, t] of Object.entries(n)) r[e] = ze(t);
780
+ for (let [e, t] of Object.entries(n)) r[e] = at(t);
691
781
  let i = {
692
782
  ...e.widths[t] ?? {},
693
783
  ...r
@@ -741,30 +831,30 @@ var Y = b((e) => ({
741
831
  return J(t), t;
742
832
  });
743
833
  }
744
- })), Be = !1;
745
- function Ve() {
746
- typeof window > "u" || Be || (Be = !0, window.addEventListener("storage", (e) => {
747
- let t = K();
834
+ })), ot = !1;
835
+ function st() {
836
+ typeof window > "u" || ot || (ot = !0, window.addEventListener("storage", (e) => {
837
+ let t = q();
748
838
  if (!t || e.key !== t || e.newValue == null) return;
749
- let n = Le(e.newValue);
750
- n && Y.setState((e) => Re(e, n));
839
+ let n = rt(e.newValue);
840
+ n && Y.setState((e) => it(e, n));
751
841
  }));
752
842
  }
753
- var He = {}, X = () => {};
754
- function Ue(e) {
755
- let t = !!e && K() !== null, n = Y((t) => e ? t.widths[e] : void 0), r = Y((e) => e.resizeEduShown === !0), i = g((n, r) => {
843
+ var ct = {}, X = () => {};
844
+ function lt(e) {
845
+ let t = !!e && q() !== null, n = Y((t) => e ? t.widths[e] : void 0), r = Y((e) => e.resizeEduShown === !0), i = _((n, r) => {
756
846
  t && e && Y.getState().setWidth(e, n, r);
757
- }, [t, e]), a = g((n) => {
847
+ }, [t, e]), a = _((n) => {
758
848
  t && e && Y.getState().setWidths(e, n);
759
- }, [t, e]), o = g(() => {
849
+ }, [t, e]), o = _(() => {
760
850
  t && e && Y.getState().resetWidths(e);
761
- }, [t, e]), s = g((n) => {
851
+ }, [t, e]), s = _((n) => {
762
852
  t && e && Y.getState().prune(e, n);
763
- }, [t, e]), c = g(() => {
853
+ }, [t, e]), c = _(() => {
764
854
  t && Y.getState().markResizeEduShown();
765
855
  }, [t]);
766
856
  return {
767
- widths: t ? n ?? He : He,
857
+ widths: t ? n ?? ct : ct,
768
858
  resizeEduShown: r,
769
859
  setWidth: t ? i : X,
770
860
  setWidths: t ? a : X,
@@ -775,29 +865,29 @@ function Ue(e) {
775
865
  }
776
866
  //#endregion
777
867
  //#region src/lib/canonical-url.ts
778
- function We(e) {
868
+ function ut(e) {
779
869
  return e.length > 1 && e.endsWith("/") ? e.replace(/\/+$/, "") || "/" : e;
780
870
  }
781
- function Z(e) {
782
- let t = We(e.pathname), r = e.search ?? "", i = r.startsWith("?") ? r.slice(1) : r, a = new URLSearchParams(i);
783
- for (let e of n) a.delete(e);
784
- a.sort();
785
- let o = a.toString();
786
- return o ? `${t}?${o}` : t;
871
+ function dt(e) {
872
+ let t = ut(e.pathname), n = e.search ?? "", r = n.startsWith("?") ? n.slice(1) : n, i = new URLSearchParams(r);
873
+ for (let e of d) i.delete(e);
874
+ i.sort();
875
+ let a = i.toString();
876
+ return a ? `${t}?${a}` : t;
787
877
  }
788
- function Ge(e) {
789
- return We(e.pathname);
878
+ function ft(e) {
879
+ return ut(e.pathname);
790
880
  }
791
881
  //#endregion
792
882
  //#region src/hooks/usePageStateTtl.ts
793
- var Ke = "ui_page_state_ttl_ms";
794
- function qe() {
795
- let { value: e } = r(Ke, L);
883
+ var pt = "ui_page_state_ttl_ms";
884
+ function mt() {
885
+ let { value: e } = a(pt, L);
796
886
  return typeof e != "number" || !Number.isFinite(e) || e < 0 ? L : e;
797
887
  }
798
888
  //#endregion
799
889
  //#region src/hooks/usePageStateRuntime.ts
800
- var Je = [
890
+ var ht = [
801
891
  ["entity-data"],
802
892
  ["entity-count"],
803
893
  ["entity-item"],
@@ -805,27 +895,27 @@ var Je = [
805
895
  ["entity-data-all"],
806
896
  ["action-data"],
807
897
  ["action-data-cursor"]
808
- ], Ye = 6e4;
809
- function Xe(e, t) {
810
- for (let n of Je) e.setQueryDefaults(n, { gcTime: t });
811
- }
812
- function Ze() {
813
- let e = y(), t = qe(), n = ie(), r = te(n);
814
- r.current = n, _(() => (z(e), () => z(null)), [e]), _(() => {
815
- if (U.getState().setTtl(t), Xe(e, t), t <= 0) for (let t of Je) e.removeQueries({ queryKey: t });
816
- }, [e, t]), _(() => {
898
+ ], gt = 6e4;
899
+ function _t(e, t) {
900
+ for (let n of ht) e.setQueryDefaults(n, { gcTime: t });
901
+ }
902
+ function vt() {
903
+ let e = b(), t = mt(), n = ue(), r = se(n);
904
+ r.current = n, v(() => (Ue(e), () => Ue(null)), [e]), v(() => {
905
+ if (V.getState().setTtl(t), _t(e, t), t <= 0) for (let t of ht) e.removeQueries({ queryKey: t });
906
+ }, [e, t]), v(() => {
817
907
  if (t <= 0) return;
818
908
  let e = setInterval(() => {
819
- let e = U.getState(), t = r.current;
820
- e.touch(Z(t)), e.touch(Ge(t)), e.sweep(Date.now());
821
- }, Ye);
909
+ let e = V.getState(), t = r.current;
910
+ e.touch(dt(t)), e.touch(ft(t)), e.sweep(Date.now());
911
+ }, gt);
822
912
  return () => clearInterval(e);
823
913
  }, [t]);
824
914
  }
825
- function Qe(e, t = !0) {
826
- let n = Z(ie()), r = e ? JSON.stringify(e) : "";
827
- _(() => {
828
- t && e && U.getState().registerQueryKey(n, e);
915
+ function yt(e, t = !0) {
916
+ let n = dt(ue()), r = e ? JSON.stringify(e) : "";
917
+ v(() => {
918
+ t && e && V.getState().registerQueryKey(n, e);
829
919
  }, [
830
920
  n,
831
921
  r,
@@ -833,121 +923,238 @@ function Qe(e, t = !0) {
833
923
  ]);
834
924
  }
835
925
  //#endregion
926
+ //#region src/hooks/useScreenBack.ts
927
+ function bt(e) {
928
+ let r = m(), i = de(), a = u(), o = n(), s = I((e) => e.depth), { data: c } = f(), l = e?.fallback, d = F((e) => {
929
+ let t = e.tabs.find((t) => t.id === e.activeTabId);
930
+ return t ? t.returnTo : void 0;
931
+ }), { hasOriginBack: p, allowFallbackBack: h } = oe(() => Re(d, a.enabled), [d, a.enabled]), g = _(() => {
932
+ if (a.enabled) {
933
+ I.getState().depth > 0 ? o() : l?.();
934
+ return;
935
+ }
936
+ let e = F.getState(), n = ze(e.tabs.find((t) => t.id === e.activeTabId)?.returnTo, e.tabs, !1);
937
+ if (!n) {
938
+ l?.();
939
+ return;
940
+ }
941
+ if (n.kind === "live" && n.tabId) e.commitTabNavigation(n.tabId, { search: n.search ?? "" });
942
+ else if (n.kind === "reopen") {
943
+ let i = n.title ? void 0 : t(r, n.pathname, c?.screens, c?.entities);
944
+ e.openTab({
945
+ pathname: n.pathname,
946
+ search: n.search ?? "",
947
+ title: n.title ?? i?.title ?? n.pathname,
948
+ derivedTitle: !n.title,
949
+ icon: n.icon ?? i?.icon,
950
+ screen: n.screen,
951
+ closable: !0
952
+ });
953
+ }
954
+ i({
955
+ pathname: n.pathname,
956
+ search: Ie(n.search),
957
+ hash: n.hash || void 0
958
+ });
959
+ }, [
960
+ r,
961
+ a.enabled,
962
+ o,
963
+ l,
964
+ i,
965
+ c?.screens,
966
+ c?.entities
967
+ ]);
968
+ return {
969
+ canGoBack: a.enabled ? s > 0 || !!l : p || !!l,
970
+ hasOriginBack: p,
971
+ allowFallbackBack: h,
972
+ goBack: g
973
+ };
974
+ }
975
+ //#endregion
836
976
  //#region src/hooks/useMutations.ts
837
- function Q(e) {
838
- f.error(e.message);
977
+ function Z(e) {
978
+ return (t) => s.error(te(e, t));
839
979
  }
840
- function $(t, n, r = {}) {
980
+ function Q(t, n, r = {}) {
841
981
  t.invalidateQueries({ queryKey: ["entity-data", n] }), t.invalidateQueries({ queryKey: ["entity-count", n] }), r.item && t.invalidateQueries({ queryKey: ["entity-item", n] }), r.children && t.invalidateQueries({ queryKey: [e, n] }), r.objectMeta && (t.invalidateQueries({ queryKey: ["object-status", n] }), t.invalidateQueries({ queryKey: ["object-properties", n] }));
842
982
  }
843
- function $e(e) {
844
- let t = y();
845
- return v({
846
- mutationFn: (t) => s(e, t),
983
+ function xt(e) {
984
+ let t = b(), n = m(), r = m("errors");
985
+ return y({
986
+ mutationFn: (t) => g(e, t),
847
987
  onSuccess: () => {
848
- $(t, e), f.success("Record created");
988
+ Q(t, e), s.success(n("toast.record.created", "Record created"));
849
989
  },
850
- onError: Q
990
+ onError: Z(r)
851
991
  });
852
992
  }
853
- function et(e) {
854
- let t = y(), n = u((e) => e.isAuthenticated), { data: r } = m();
855
- return v({
856
- mutationFn: ({ pkValues: t, data: n }) => p(e, t, n),
857
- onSuccess: (i, { pkValues: a }) => {
858
- let o = r?.entities?.[e], s = typeof a == "string" ? o ? d(o, a) : void 0 : a, l = () => $(t, e, {
993
+ function St(e) {
994
+ let t = b(), n = m(), r = m("errors"), a = p((e) => e.isAuthenticated), { data: c } = f();
995
+ return y({
996
+ mutationFn: ({ pkValues: t, data: n }) => ne(e, t, n),
997
+ onSuccess: (r, { pkValues: l }) => {
998
+ let u = c?.entities?.[e], d = typeof l == "string" ? u ? i(u, l) : void 0 : l, f = () => Q(t, e, {
859
999
  item: !0,
860
1000
  children: !0,
861
1001
  objectMeta: !0
862
1002
  });
863
- s ? (c(t, n, e, [s], l), tt(t, e)) : l(), f.success("Record updated");
1003
+ d ? (o(t, a, e, [d], f), Ct(t, e)) : f(), s.success(n("toast.record.updated", "Record updated"));
864
1004
  },
865
- onError: Q
1005
+ onError: Z(r)
866
1006
  });
867
1007
  }
868
- function tt(t, n) {
1008
+ function Ct(t, n) {
869
1009
  t.invalidateQueries({ queryKey: ["entity-item", n] }), t.invalidateQueries({ queryKey: [e, n] }), t.invalidateQueries({ queryKey: ["object-status", n] }), t.invalidateQueries({ queryKey: ["object-properties", n] });
870
1010
  }
871
- function nt(e) {
872
- let t = y();
873
- return v({
874
- mutationFn: (t) => a(e, t),
1011
+ function wt(e) {
1012
+ let t = b(), n = m(), r = m("errors");
1013
+ return y({
1014
+ mutationFn: (t) => ee(e, t),
875
1015
  onSuccess: () => {
876
- $(t, e, { item: !0 }), f.success("Record deleted");
1016
+ Q(t, e, { item: !0 }), s.success(n("toast.record.deleted", "Record deleted"));
877
1017
  },
878
- onError: Q
1018
+ onError: Z(r)
879
1019
  });
880
1020
  }
881
- function rt(e) {
882
- let t = y();
883
- return v({
884
- mutationFn: (t) => l(e, t),
1021
+ function Tt(e) {
1022
+ let t = b(), n = m(), r = m("errors");
1023
+ return y({
1024
+ mutationFn: (t) => h(e, t),
885
1025
  onSuccess: () => {
886
- $(t, e, {
1026
+ Q(t, e, {
887
1027
  item: !0,
888
1028
  objectMeta: !0
889
- }), f.success("Record restored");
1029
+ }), s.success(n("toast.record.restored", "Record restored"));
890
1030
  },
891
- onError: Q
1031
+ onError: Z(r)
892
1032
  });
893
1033
  }
894
1034
  //#endregion
895
- //#region src/hooks/useScreenBack.ts
896
- function it(e) {
897
- let t = ae(), n = o(), r = i(), a = I((e) => e.depth), { data: s } = m(), c = e?.fallback, l = F((e) => {
898
- let t = e.tabs.find((t) => t.id === e.activeTabId);
899
- return t ? t.returnTo : void 0;
900
- }), { hasOriginBack: u, allowFallbackBack: d } = ee(() => Oe(l, n.enabled), [l, n.enabled]), f = g(() => {
901
- if (n.enabled) {
902
- I.getState().depth > 0 ? r() : c?.();
903
- return;
904
- }
905
- let e = F.getState(), i = ke(e.tabs.find((t) => t.id === e.activeTabId)?.returnTo, e.tabs, !1);
906
- if (!i) {
907
- c?.();
908
- return;
909
- }
910
- if (i.kind === "live" && i.tabId) e.commitTabNavigation(i.tabId, { search: i.search ?? "" });
911
- else if (i.kind === "reopen") {
912
- let t = i.title ? void 0 : h(i.pathname, s?.screens, s?.entities);
913
- e.openTab({
914
- pathname: i.pathname,
915
- search: i.search ?? "",
916
- title: i.title ?? t?.title ?? i.pathname,
917
- icon: i.icon ?? t?.icon,
918
- screen: i.screen,
919
- closable: !0
920
- });
921
- }
922
- t({
923
- pathname: i.pathname,
924
- search: Ee(i.search),
925
- hash: i.hash || void 0
926
- });
927
- }, [
928
- n.enabled,
929
- r,
930
- c,
931
- t,
932
- s?.screens,
933
- s?.entities
934
- ]);
935
- return {
936
- canGoBack: n.enabled ? a > 0 || !!c : u || !!c,
937
- hasOriginBack: u,
938
- allowFallbackBack: d,
939
- goBack: f
940
- };
1035
+ //#region src/components/shared/LoadingSkeleton.tsx
1036
+ var Et = "@keyframes declarion-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}", Dt = {
1037
+ display: "block",
1038
+ background: "linear-gradient(90deg, var(--surface-3) 0%, var(--surface-2) 40%, var(--surface-3) 80%)",
1039
+ backgroundSize: "200% 100%",
1040
+ borderRadius: 6,
1041
+ animation: "declarion-shimmer 1.2s ease-in-out infinite"
1042
+ };
1043
+ function $({ height: e, width: t }) {
1044
+ return /* @__PURE__ */ S(fe, { children: [/* @__PURE__ */ x("style", { children: Et }), /* @__PURE__ */ x("span", { style: {
1045
+ ...Dt,
1046
+ height: e,
1047
+ width: t ?? "100%"
1048
+ } })] });
1049
+ }
1050
+ function Ot({ rows: e = 8, cols: t = 4 }) {
1051
+ return /* @__PURE__ */ S("div", {
1052
+ style: {
1053
+ padding: 16,
1054
+ display: "flex",
1055
+ flexDirection: "column",
1056
+ gap: 10
1057
+ },
1058
+ children: [/* @__PURE__ */ x("div", {
1059
+ style: {
1060
+ display: "flex",
1061
+ gap: 16
1062
+ },
1063
+ children: Array.from({ length: t }).map((e, t) => /* @__PURE__ */ x("div", {
1064
+ style: { flex: 1 },
1065
+ children: /* @__PURE__ */ x($, { height: 14 })
1066
+ }, t))
1067
+ }), Array.from({ length: e }).map((e, n) => /* @__PURE__ */ x("div", {
1068
+ style: {
1069
+ display: "flex",
1070
+ gap: 16
1071
+ },
1072
+ children: Array.from({ length: t }).map((e, t) => /* @__PURE__ */ x("div", {
1073
+ style: { flex: 1 },
1074
+ children: /* @__PURE__ */ x($, { height: 28 })
1075
+ }, t))
1076
+ }, n))]
1077
+ });
1078
+ }
1079
+ function kt() {
1080
+ return /* @__PURE__ */ S("div", {
1081
+ style: {
1082
+ padding: 20,
1083
+ display: "flex",
1084
+ flexDirection: "column",
1085
+ gap: 16
1086
+ },
1087
+ children: [
1088
+ /* @__PURE__ */ x($, {
1089
+ height: 12,
1090
+ width: 160
1091
+ }),
1092
+ /* @__PURE__ */ S("div", {
1093
+ style: {
1094
+ display: "flex",
1095
+ alignItems: "center",
1096
+ gap: 12
1097
+ },
1098
+ children: [/* @__PURE__ */ x("span", { style: {
1099
+ ...Dt,
1100
+ width: 32,
1101
+ height: 32,
1102
+ borderRadius: 8
1103
+ } }), /* @__PURE__ */ x($, {
1104
+ height: 22,
1105
+ width: 240
1106
+ })]
1107
+ }),
1108
+ Array.from({ length: 2 }).map((e, t) => /* @__PURE__ */ S("div", {
1109
+ style: {
1110
+ border: "1px solid var(--border)",
1111
+ borderRadius: 10,
1112
+ background: "var(--surface)",
1113
+ overflow: "hidden"
1114
+ },
1115
+ children: [/* @__PURE__ */ x("div", {
1116
+ style: {
1117
+ padding: "11px 14px",
1118
+ borderBottom: "1px solid var(--divider)"
1119
+ },
1120
+ children: /* @__PURE__ */ x($, {
1121
+ height: 13,
1122
+ width: 150
1123
+ })
1124
+ }), /* @__PURE__ */ x("div", {
1125
+ style: {
1126
+ padding: 16,
1127
+ display: "grid",
1128
+ gridTemplateColumns: "repeat(2, minmax(0, 1fr))",
1129
+ gap: "12px 24px"
1130
+ },
1131
+ children: Array.from({ length: 6 }).map((e, t) => /* @__PURE__ */ S("div", {
1132
+ style: {
1133
+ display: "flex",
1134
+ gap: 16
1135
+ },
1136
+ children: [/* @__PURE__ */ x($, {
1137
+ height: 13,
1138
+ width: 110
1139
+ }), /* @__PURE__ */ x("div", {
1140
+ style: { flex: 1 },
1141
+ children: /* @__PURE__ */ x($, { height: 13 })
1142
+ })]
1143
+ }, t))
1144
+ })]
1145
+ }, t))
1146
+ ]
1147
+ });
941
1148
  }
942
1149
  //#endregion
943
1150
  //#region src/components/shared/useOwnRefresh.ts
944
- function at(e) {
945
- let [t, n] = ne(!1), r = te(!0);
946
- return _(() => (r.current = !0, () => {
1151
+ function At(e) {
1152
+ let [t, n] = ce(!1), r = se(!0);
1153
+ return v(() => (r.current = !0, () => {
947
1154
  r.current = !1;
948
1155
  }), []), {
949
1156
  refreshing: t,
950
- refresh: g(() => {
1157
+ refresh: _(() => {
951
1158
  n(!0);
952
1159
  let t = () => {
953
1160
  r.current && n(!1);
@@ -958,29 +1165,29 @@ function at(e) {
958
1165
  }
959
1166
  //#endregion
960
1167
  //#region src/lib/field-classification.ts
961
- function ot(e, t) {
1168
+ function jt(e, t) {
962
1169
  let n = e?.field_access?.[t];
963
1170
  return !n || n.read === "granted";
964
1171
  }
965
- function st(e, t) {
1172
+ function Mt(e, t) {
966
1173
  let n = e?.field_access?.[t];
967
1174
  return !n || n.write === "granted";
968
1175
  }
969
- function ct(e, t) {
1176
+ function Nt(e, t) {
970
1177
  return e?.field_access?.[t]?.classification;
971
1178
  }
972
- function lt(e, t) {
1179
+ function Pt(e, t) {
973
1180
  return e?.field_access?.[t]?.required_permission;
974
1181
  }
975
- function ut(e, t, n) {
976
- let r = ct(t, n);
1182
+ function Ft(e, t, n) {
1183
+ let r = Nt(t, n);
977
1184
  if (r) return e?.classifications?.[r];
978
1185
  }
979
- function dt(e, t, n) {
980
- return !!ut(e, t, n)?.sod_protected;
1186
+ function It(e, t, n) {
1187
+ return !!Ft(e, t, n)?.sod_protected;
981
1188
  }
982
- function ft(e, t) {
1189
+ function Lt(e, t) {
983
1190
  return e?.field_access?.[t];
984
1191
  }
985
1192
  //#endregion
986
- export { Ce as A, Ue as C, U as D, L as E, F as M, w as N, Me as O, E as P, Ve as S, Pe as T, Ke as _, ot as a, Z as b, at as c, nt as d, rt as f, Qe as g, Ze as h, lt as i, be as j, I as k, it as l, Xe as m, ft as n, dt as o, et as p, ct as r, st as s, ut as t, $e as u, qe as v, Y as w, Fe as x, Ge as y };
1193
+ export { Ke as A, dt as C, Y as D, lt as E, Ne as F, ke as I, F as L, V as M, He as N, Ye as O, I as P, E as R, ft as S, st as T, _t as _, jt as a, pt as b, At as c, Ot as d, xt as f, bt as g, St as h, Pt as i, L as j, Xe as k, kt as l, Tt as m, Lt as n, It as o, wt as p, Nt as r, Mt as s, Ft as t, Et as u, vt as v, Qe as w, mt as x, yt as y, O as z };