@declarion/react 0.87.0 → 0.89.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 (90) hide show
  1. package/dist-lib/app.js +28 -28
  2. package/dist-lib/components/actions/ActionButton.js +86 -85
  3. package/dist-lib/components/actions/ActionResultDialog.impl.js +47 -47
  4. package/dist-lib/components/actions/ActionRunner.js +47 -47
  5. package/dist-lib/components/actions/ObjectActionBar.js +9 -9
  6. package/dist-lib/components/actions/RowActionsKebab.js +19 -19
  7. package/dist-lib/components/agents/AgentChatPanel.impl.js +53 -53
  8. package/dist-lib/components/chrome/AssociationTabs.js +21 -21
  9. package/dist-lib/components/chrome/RecordHeader.js +33 -40
  10. package/dist-lib/components/detail-layout/AssociatedBlock.js +387 -381
  11. package/dist-lib/components/detail-layout/ChildrenBlock.js +12 -13
  12. package/dist-lib/components/detail-layout/ChildrenTimeline.js +198 -198
  13. package/dist-lib/components/detail-layout/DraggableChildrenTable.js +114 -114
  14. package/dist-lib/components/detail-layout/EditableChildrenTable.js +160 -160
  15. package/dist-lib/components/detail-layout/EvidenceBlock.js +20 -21
  16. package/dist-lib/components/detail-layout/PropertiesBlock.js +45 -39
  17. package/dist-lib/components/detail-layout/QuickAddForm.js +9 -9
  18. package/dist-lib/components/detail-layout/TimelineComposer.js +87 -89
  19. package/dist-lib/components/detail-layout/widgets/EntityScorecardWidget.js +100 -99
  20. package/dist-lib/components/fields/FileReferenceField.js +9 -9
  21. package/dist-lib/components/fields/StructureField.js +57 -47
  22. package/dist-lib/components/fields/TimestampField.js +59 -54
  23. package/dist-lib/components/fields/cells/factories/money.js +14 -23
  24. package/dist-lib/components/fields/cells/factories/nextRun.js +1 -1
  25. package/dist-lib/components/fields/cells/factories/text.js +18 -3
  26. package/dist-lib/components/fields/cells/factories/timestamp.js +24 -12
  27. package/dist-lib/components/file-widgets/DocumentCard.js +108 -106
  28. package/dist-lib/components/layout/Layout.js +306 -361
  29. package/dist-lib/components/layout/Rail.js +42 -41
  30. package/dist-lib/components/layout/Sidebar.js +132 -117
  31. package/dist-lib/components/layout/TabStrip.js +116 -115
  32. package/dist-lib/components/layout/TenantChip.js +47 -54
  33. package/dist-lib/components/layout/TopBar.js +108 -105
  34. package/dist-lib/components/list/InlineEditCell.js +23 -23
  35. package/dist-lib/components/list/QuickPeek.js +65 -66
  36. package/dist-lib/components/pages/DocumentsMenu.js +42 -42
  37. package/dist-lib/components/pages/ExportMenu.js +25 -25
  38. package/dist-lib/components/pages/RecordDocumentsPanel.js +35 -35
  39. package/dist-lib/components/pages/RecordNotesPanel.js +94 -93
  40. package/dist-lib/components/pages/SmartDetailPage.impl.js +421 -417
  41. package/dist-lib/components/pages/SmartListPage.impl.js +293 -295
  42. package/dist-lib/components/pages/SmartRecordListPage.impl.js +310 -310
  43. package/dist-lib/components/pages/auth/AuthShell.js +73 -73
  44. package/dist-lib/components/pages/auth/SignIn.js +32 -32
  45. package/dist-lib/components/pages/auth/SignUp.impl.js +3 -3
  46. package/dist-lib/components/pages/auth/SignUpCode.js +9 -9
  47. package/dist-lib/components/pages/list/ListFloatbar.js +12 -12
  48. package/dist-lib/components/pages/list/ListHeader.js +19 -19
  49. package/dist-lib/components/pages/list/ListNoRows.js +15 -15
  50. package/dist-lib/components/pages/list/ListToolbar.js +145 -145
  51. package/dist-lib/components/pages/list/useActiveView.js +14 -5
  52. package/dist-lib/components/pages/list/useListQuery.js +121 -81
  53. package/dist-lib/components/pages/list/useListRowInteraction.js +70 -70
  54. package/dist-lib/components/pages/list/useRowMenu.js +7 -7
  55. package/dist-lib/components/pages/profile/Preferences.impl.js +81 -78
  56. package/dist-lib/components/pages/profile/Profile.impl.js +191 -189
  57. package/dist-lib/components/pages/tenant-params/TenantParamsPage.impl.js +166 -158
  58. package/dist-lib/components/shared/ChangePasswordDialog.impl.js +23 -23
  59. package/dist-lib/components/shared/MarkdownRenderer.js +9 -9
  60. package/dist-lib/hooks/useAuth.js +11 -11
  61. package/dist-lib/hooks/useBranding.js +4 -4
  62. package/dist-lib/hooks/useDisplayTimeZone.js +8 -0
  63. package/dist-lib/hooks/useFollowAgentOpen.js +24 -24
  64. package/dist-lib/hooks/useImpersonation.js +6 -6
  65. package/dist-lib/hooks/useMutations.js +23 -23
  66. package/dist-lib/hooks/useObjectStatus.js +5 -5
  67. package/dist-lib/hooks/useParams.js +59 -51
  68. package/dist-lib/hooks/useProperties.js +8 -8
  69. package/dist-lib/hooks/useRowTenant.js +18 -6
  70. package/dist-lib/hooks/useText.js +9 -7
  71. package/dist-lib/hooks/useUiPreferences.js +71 -0
  72. package/dist-lib/index.d.ts +22 -6
  73. package/dist-lib/index.js +127 -126
  74. package/dist-lib/lib/actions.js +116 -84
  75. package/dist-lib/lib/child-config.js +10 -1
  76. package/dist-lib/lib/format-count.js +16 -1
  77. package/dist-lib/lib/language.js +23 -21
  78. package/dist-lib/lib/money-text.js +29 -0
  79. package/dist-lib/lib/profile.js +4 -0
  80. package/dist-lib/lib/role-label.js +8 -0
  81. package/dist-lib/lib/schema-routing.js +34 -14
  82. package/dist-lib/lib/shortcut.js +10 -0
  83. package/dist-lib/lib/timestamp.js +93 -31
  84. package/dist-lib/stores/auth.js +9 -8
  85. package/dist-lib/stores/preferences.js +56 -17
  86. package/dist-lib/testing.d.ts +1 -1
  87. package/dist-lib/testing.js +25 -28
  88. package/dist-lib/types/schema.js +33 -27
  89. package/dist-lib/{useResponsiveMode-D3SKz5z4.d.ts → useResponsiveMode-9_eJT18k.d.ts} +5 -5
  90. package/package.json +1 -1
@@ -2,13 +2,13 @@ import { ApiError as e } from "../../types/api.js";
2
2
  import { extractPkValues as t } from "../../types/schema.js";
3
3
  import { useSchema as n } from "../../hooks/useSchema.js";
4
4
  import { pluralText as r } from "../../lib/language.js";
5
- import { useText as i } from "../../hooks/useText.js";
6
- import { ActionBatchError as a, eventsFailed as o } from "../../api/data.js";
7
- import { safeExternalUrl as s } from "../../lib/safe-url.js";
8
- import { downloadFile as c } from "../../lib/download.js";
9
- import { failureTitle as l } from "../../lib/failure.js";
10
- import { useEmbedNavigate as u } from "../../embed/useEmbedNavigate.js";
11
- import { toast as d } from "../../lib/toast.js";
5
+ import { ActionBatchError as i, eventsFailed as a } from "../../api/data.js";
6
+ import { safeExternalUrl as o } from "../../lib/safe-url.js";
7
+ import { downloadFile as s } from "../../lib/download.js";
8
+ import { failureTitle as c } from "../../lib/failure.js";
9
+ import { useText as l } from "../../hooks/useText.js";
10
+ import { toast as u } from "../../lib/toast.js";
11
+ import { useEmbedNavigate as d } from "../../embed/useEmbedNavigate.js";
12
12
  import { ActionResultDialog as f } from "./ActionResultDialog.js";
13
13
  import { actionNeedsConfirm as p } from "../../lib/actions.js";
14
14
  import { ENTITY_AGGREGATE_KEY as m } from "../../lib/realtime-query-keys.js";
@@ -20,11 +20,11 @@ import { jsx as w, jsxs as T } from "react/jsx-runtime";
20
20
  var E = v(() => import("./ActionDialog.js").then((e) => ({ default: e.ActionDialog })));
21
21
  function D(e, t) {
22
22
  if (!t || typeof t != "object") return { kind: "success" };
23
- let n = t, i = n.status, a = n.success?.length ?? 0, s = n.errors?.length ?? 0, c = n.skipped?.length ?? 0, l = n.errors?.[0]?.error?.title;
23
+ let n = t, i = n.status, o = n.success?.length ?? 0, s = n.errors?.length ?? 0, c = n.skipped?.length ?? 0, l = n.errors?.[0]?.error?.title;
24
24
  if (i === "partial") {
25
25
  let t = e("action.outcome.succeeded_of", "{count} of {total} succeeded", {
26
- count: a,
27
- total: a + s + c
26
+ count: o,
27
+ total: o + s + c
28
28
  });
29
29
  return {
30
30
  kind: "partial",
@@ -36,7 +36,7 @@ function D(e, t) {
36
36
  detail: e("action.outcome.none_matched", "No items matched")
37
37
  };
38
38
  if (i === "accepted") return { kind: "accepted" };
39
- if (o(n.events)) {
39
+ if (a(n.events)) {
40
40
  let t = n.events?.failed_count ?? 0, i = n.events?.timed_out_count ?? 0, a = n.events?.failures_omitted ?? 0, o = [t ? r(e, "action.outcome.follow_up_steps_count", t, {
41
41
  one: "{count} follow-up step failed",
42
42
  other: "{count} follow-up steps failed"
@@ -64,7 +64,7 @@ function k(e) {
64
64
  for (let e of t) {
65
65
  if (e?.type !== "download") continue;
66
66
  let t = e.href ?? e.download_url ?? e.value;
67
- if (typeof t == "string" && t !== "" && s(t)) return {
67
+ if (typeof t == "string" && t !== "" && o(t)) return {
68
68
  url: t,
69
69
  filename: typeof e.filename == "string" ? e.filename : void 0
70
70
  };
@@ -77,11 +77,11 @@ function A(e) {
77
77
  t && typeof t == "object" && "impersonation_session_id" in t && window.location.assign("/");
78
78
  }
79
79
  function j(t, n, r) {
80
- if (r instanceof a) {
80
+ if (r instanceof i) {
81
81
  let e = r.response.errors ?? [], i = e[0]?.error?.title;
82
82
  if (e.length === 1) return {
83
83
  kind: "error",
84
- detail: l(n, r),
84
+ detail: c(n, r),
85
85
  retryable: e[0]?.error?.retryable
86
86
  };
87
87
  let a = t("action.outcome.failed_count", "{count} failed", { count: e.length });
@@ -93,7 +93,7 @@ function j(t, n, r) {
93
93
  }
94
94
  return {
95
95
  kind: "error",
96
- detail: l(n, r),
96
+ detail: c(n, r),
97
97
  retryable: r instanceof e ? r.retryable : void 0
98
98
  };
99
99
  }
@@ -109,49 +109,49 @@ function P(e) {
109
109
  return t;
110
110
  }
111
111
  function F({ children: e }) {
112
- let r = i(), a = i("errors"), o = u(), { data: s } = n(), [_, v] = S(null), [b, N] = S(0), [F, L] = S(null), R = y((e) => {
113
- if (e?.progress_screen) return s?.screens[e.progress_screen]?.route;
114
- }, [s?.screens]), z = y((e, t, n, i, s, u) => {
112
+ let r = l(), i = l("errors"), a = d(), { data: o } = n(), [_, v] = S(null), [b, N] = S(0), [F, L] = S(null), R = y((e) => {
113
+ if (e?.progress_screen) return o?.screens[e.progress_screen]?.route;
114
+ }, [o?.screens]), z = y((e, t, n, o, l, d) => {
115
115
  let f = () => {
116
- let t = I(s), i = R(n), a = t ? r("action.toast.job_queued", "Job {id} queued", { id: t }) : r("action.toast.running_in_background", "Running in background");
117
- d.success(r("action.toast.started", "{title} started", { title: e }), a, i ? { action: {
116
+ let t = I(l), i = R(n), o = t ? r("action.toast.job_queued", "Job {id} queued", { id: t }) : r("action.toast.running_in_background", "Running in background");
117
+ u.success(r("action.toast.started", "{title} started", { title: e }), o, i ? { action: {
118
118
  label: r("action.toast.view", "View"),
119
- onClick: () => o(i)
119
+ onClick: () => a(i)
120
120
  } } : void 0);
121
121
  };
122
- switch (i.kind) {
122
+ switch (o.kind) {
123
123
  case "success": {
124
- let n = k(s), i = n ? { action: {
124
+ let n = k(l), a = n ? { action: {
125
125
  label: r("action.result.download", "Download"),
126
126
  onClick: () => {
127
- c(a, n.url, n.filename).catch((e) => {
128
- d.error(a("file.download_failed", "The file could not be downloaded."), l(a, e));
127
+ s(i, n.url, n.filename).catch((e) => {
128
+ u.error(i("file.download_failed", "The file could not be downloaded."), c(i, e));
129
129
  });
130
130
  }
131
131
  } } : void 0;
132
- t ? f() : d.success(r("action.toast.complete", "{title} complete", { title: e }), void 0, i);
132
+ t ? f() : u.success(r("action.toast.complete", "{title} complete", { title: e }), void 0, a);
133
133
  return;
134
134
  }
135
135
  case "accepted":
136
136
  f();
137
137
  return;
138
138
  case "skipped":
139
- d.info(e, i.detail);
139
+ u.info(e, o.detail);
140
140
  return;
141
141
  case "partial":
142
- d.warning(r("action.toast.partially_completed", "{title} partially completed", { title: e }), i.detail);
142
+ u.warning(r("action.toast.partially_completed", "{title} partially completed", { title: e }), o.detail);
143
143
  return;
144
144
  case "error":
145
- d.error(e, i.detail || a("action.failed", "This action did not complete."), i.retryable && u ? { action: {
145
+ u.error(e, o.detail || i("action.failed", "This action did not complete."), o.retryable && d ? { action: {
146
146
  label: r("action.toast.retry", "Retry"),
147
- onClick: u
147
+ onClick: d
148
148
  } } : void 0);
149
149
  return;
150
150
  }
151
151
  }, [
152
152
  r,
153
+ i,
153
154
  a,
154
- o,
155
155
  R
156
156
  ]), B = C(), V = y((e, n, r) => {
157
157
  let i = () => {
@@ -163,10 +163,10 @@ function F({ children: e }) {
163
163
  ]) B.invalidateQueries({ queryKey: [e, n] });
164
164
  };
165
165
  if (r === "partial") return i();
166
- let a = s?.entities?.[n], o = e.row ? [e.row] : e.bulkSelection ?? [];
167
- if (!a || o.length === 0) return i();
168
- h(B, n, o.map((e) => t(a, e)), i);
169
- }, [B, s]), H = y((e, t, n) => {
166
+ let a = o?.entities?.[n], s = e.row ? [e.row] : e.bulkSelection ?? [];
167
+ if (!a || s.length === 0) return i();
168
+ h(B, n, s.map((e) => t(a, e)), i);
169
+ }, [B, o]), H = y((e, t, n) => {
170
170
  if (t.kind === "success" || t.kind === "accepted" || t.kind === "partial") {
171
171
  let n = e.entity ?? e.action?.entity;
172
172
  n && V(e, n, t.kind);
@@ -176,13 +176,13 @@ function F({ children: e }) {
176
176
  let r = O(n);
177
177
  r && L(r), A(n);
178
178
  }, [V]), U = y((e) => {
179
- let t = e.action, n = e.longRunning ?? t?.long_running ?? !1, i = e.title || r(t?.display?.name) || r("action.default_title", "Action"), o = async (s) => {
179
+ let t = e.action, n = e.longRunning ?? t?.long_running ?? !1, a = e.title || r(t?.display?.name) || r("action.default_title", "Action"), o = async (s) => {
180
180
  N((e) => e + 1);
181
181
  try {
182
- let a = await e.execute(s), o = D(r, a);
183
- z(i, n, t, o, a), H(e, o, a);
182
+ let i = await e.execute(s), o = D(r, i);
183
+ z(a, n, t, o, i), H(e, o, i);
184
184
  } catch (e) {
185
- z(i, n, t, j(r, a, e), void 0, () => {
185
+ z(a, n, t, j(r, i, e), void 0, () => {
186
186
  o(s);
187
187
  });
188
188
  } finally {
@@ -190,7 +190,7 @@ function F({ children: e }) {
190
190
  }
191
191
  }, s = t ?? (e.destructive ? {
192
192
  display: {
193
- name: { en: i },
193
+ name: { en: a },
194
194
  icon: ""
195
195
  },
196
196
  destructive: !0
@@ -198,13 +198,13 @@ function F({ children: e }) {
198
198
  return s && (c || l) ? (v({
199
199
  id: Symbol(),
200
200
  opts: e,
201
- title: i,
201
+ title: a,
202
202
  action: s,
203
203
  pending: !1
204
204
  }), Promise.resolve()) : o(P(e));
205
205
  }, [
206
206
  r,
207
- a,
207
+ i,
208
208
  z,
209
209
  H
210
210
  ]), W = b > 0 || !!_?.pending, G = x(() => ({
@@ -212,16 +212,16 @@ function F({ children: e }) {
212
212
  isRunning: W
213
213
  }), [U, W]), K = _?.action, q = y(async (e) => {
214
214
  if (!_) return;
215
- let t = _.id, n = _, i = n.opts.action, o = n.opts.longRunning ?? i?.long_running ?? !1;
215
+ let t = _.id, n = _, a = n.opts.action, o = n.opts.longRunning ?? a?.long_running ?? !1;
216
216
  v((e) => e?.id === t ? {
217
217
  ...e,
218
218
  pending: !0
219
219
  } : e), N((e) => e + 1);
220
220
  try {
221
- let a = await n.opts.execute(e), s = D(r, a);
222
- z(n.title, o, i, s, a), H(n.opts, s, a), s.kind !== "partial" && v((e) => e?.id === t ? null : e);
221
+ let i = await n.opts.execute(e), s = D(r, i);
222
+ z(n.title, o, a, s, i), H(n.opts, s, i), s.kind !== "partial" && v((e) => e?.id === t ? null : e);
223
223
  } catch (e) {
224
- z(n.title, o, i, j(r, a, e));
224
+ z(n.title, o, a, j(r, i, e));
225
225
  } finally {
226
226
  N((e) => Math.max(0, e - 1)), v((e) => e?.id === t ? {
227
227
  ...e,
@@ -230,7 +230,7 @@ function F({ children: e }) {
230
230
  }
231
231
  }, [
232
232
  r,
233
- a,
233
+ i,
234
234
  _,
235
235
  z,
236
236
  H
@@ -1,6 +1,6 @@
1
1
  import { useSchema as e } from "../../hooks/useSchema.js";
2
- import { useText as t } from "../../hooks/useText.js";
3
- import { buildActionBody as n, executeAction as r } from "../../api/data.js";
2
+ import { buildActionBody as t, executeAction as n } from "../../api/data.js";
3
+ import { useText as r } from "../../hooks/useText.js";
4
4
  import { useEmbedNavigate as i } from "../../embed/useEmbedNavigate.js";
5
5
  import { useTabNavigate as a } from "../../hooks/useTabNavigate.js";
6
6
  import { applyRowState as o, findListScreenForEntity as s, resolveActionLayoutForSlot as c, rowDetailId as l } from "../../lib/actions.js";
@@ -14,7 +14,7 @@ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
14
14
  import { useLocation as v } from "react-router";
15
15
  //#region src/components/actions/ObjectActionBar.tsx
16
16
  function y({ entity: f, object: g, slot: _, screen: y, select: b, onAfterRun: S }) {
17
- let w = t(), T = t("errors"), { data: E } = e(), { run: D, isRunning: O } = u(), k = i(), A = a(), j = v(), M = E?.entities?.[f], N = p(M), P = h(() => x(E, f, y, j.pathname), [
17
+ let w = r(), T = r("errors"), { data: E } = e(), { run: D, isRunning: O } = u(), k = i(), A = a(), j = v(), M = E?.entities?.[f], N = p(M), P = h(() => x(E, f, y, j.pathname), [
18
18
  E,
19
19
  f,
20
20
  y,
@@ -35,16 +35,16 @@ function y({ entity: f, object: g, slot: _, screen: y, select: b, onAfterRun: S
35
35
  b,
36
36
  N
37
37
  ]),
38
- run: (e, t) => {
38
+ run: (e, r) => {
39
39
  if (!M || !g) return;
40
- let i = d(T, e, t, { row: g }, f);
40
+ let i = d(T, e, r, { row: g }, f);
41
41
  if (i === null) return;
42
42
  let a = l(g, M), o = a ? [a] : [], s = e === "__delete" && I ? I.route : null;
43
43
  return D({
44
- action: t,
45
- title: w(t.display?.name) || e,
44
+ action: r,
45
+ title: w(r.display?.name) || e,
46
46
  row: g,
47
- execute: (e) => r(i, n(e, o)),
47
+ execute: (e) => n(i, t(e, o)),
48
48
  onSuccess: (t) => {
49
49
  s && k(s, { replace: !0 }), S?.(e, t);
50
50
  }
@@ -67,7 +67,7 @@ function y({ entity: f, object: g, slot: _, screen: y, select: b, onAfterRun: S
67
67
  icon: t?.icon,
68
68
  search: t?.search
69
69
  }),
70
- runActionApi: (e, t) => r(e, t)
70
+ runActionApi: (e, t) => n(e, t)
71
71
  };
72
72
  }, [
73
73
  M,
@@ -1,9 +1,9 @@
1
- import { Icon as e } from "../primitives/Icons.js";
2
- import { IconBtn as t } from "../primitives/IconBtn.js";
3
- import { Dropdown as n } from "../primitives/Dropdown.js";
4
- import { useText as r } from "../../hooks/useText.js";
5
- import { MenuItem as i } from "../primitives/MenuItem.js";
6
- import { buildActionBody as a, executeAction as o } from "../../api/data.js";
1
+ import { buildActionBody as e, executeAction as t } from "../../api/data.js";
2
+ import { Icon as n } from "../primitives/Icons.js";
3
+ import { IconBtn as r } from "../primitives/IconBtn.js";
4
+ import { Dropdown as i } from "../primitives/Dropdown.js";
5
+ import { useText as a } from "../../hooks/useText.js";
6
+ import { MenuItem as o } from "../primitives/MenuItem.js";
7
7
  import { applyRowState as s } from "../../lib/actions.js";
8
8
  import { useActionRunner as c } from "./ActionRunner.js";
9
9
  import { dispatchAction as l } from "../../lib/action-dispatch.js";
@@ -14,7 +14,7 @@ import { useCallback as p, useMemo as m, useRef as h, useState as g } from "reac
14
14
  import { jsx as _, jsxs as v } from "react/jsx-runtime";
15
15
  //#region src/components/actions/RowActionsKebab.tsx
16
16
  function y({ actions: y, objectIds: b, row: x, entity: S, onSuccess: C, preMenu: w, divider: T, size: E = 22, align: D = "end" }) {
17
- let O = r(), k = d(S), A = r("errors"), j = h(null), [M, N] = g(!1), [P, F] = g(null), { run: I } = c(), L = m(() => {
17
+ let O = a(), k = d(S), A = a("errors"), j = h(null), [M, N] = g(!1), [P, F] = g(null), { run: I } = c(), L = m(() => {
18
18
  let e = {};
19
19
  for (let { code: t, action: n } of y) e[t] = n;
20
20
  return e;
@@ -33,16 +33,16 @@ function y({ actions: y, objectIds: b, row: x, entity: S, onSuccess: C, preMenu:
33
33
  x,
34
34
  S,
35
35
  k
36
- ]), z = p((e, t) => {
36
+ ]), z = p((n, r) => {
37
37
  N(!1);
38
- let n = l(A, e, t, { row: x });
39
- if (n !== null) return I({
40
- action: t,
41
- title: O(t.display?.name) || e,
38
+ let i = l(A, n, r, { row: x });
39
+ if (i !== null) return I({
40
+ action: r,
41
+ title: O(r.display?.name) || n,
42
42
  row: x,
43
- execute: async (e) => {
44
- let t = await o(n, a(e, b));
45
- return C?.(), t;
43
+ execute: async (n) => {
44
+ let r = await t(i, e(n, b));
45
+ return C?.(), r;
46
46
  }
47
47
  });
48
48
  }, [
@@ -61,13 +61,13 @@ function y({ actions: y, objectIds: b, row: x, entity: S, onSuccess: C, preMenu:
61
61
  alignItems: "center",
62
62
  justifyContent: "flex-end"
63
63
  },
64
- children: [/* @__PURE__ */ _(t, {
64
+ children: [/* @__PURE__ */ _(r, {
65
65
  ref: j,
66
66
  size: E,
67
- icon: /* @__PURE__ */ _(e.more, { size: Math.round(E * .55) }),
67
+ icon: /* @__PURE__ */ _(n.more, { size: Math.round(E * .55) }),
68
68
  onClick: () => N((e) => !e),
69
69
  title: O("action.menu.title", "Actions")
70
- }), /* @__PURE__ */ v(n, {
70
+ }), /* @__PURE__ */ v(i, {
71
71
  open: M,
72
72
  anchor: j.current,
73
73
  onClose: () => N(!1),
@@ -75,7 +75,7 @@ function y({ actions: y, objectIds: b, row: x, entity: S, onSuccess: C, preMenu:
75
75
  align: D,
76
76
  children: [
77
77
  w,
78
- w && T && R.length > 0 && /* @__PURE__ */ _(i, { divider: !0 }),
78
+ w && T && R.length > 0 && /* @__PURE__ */ _(o, { divider: !0 }),
79
79
  /* @__PURE__ */ _(u, {
80
80
  layout: R,
81
81
  entityActions: L,