@archbase/security-ui 4.0.47 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/ApiTokenModal.d.ts +17 -0
  2. package/dist/ArchbaseApiTokenView.d.ts +6 -0
  3. package/dist/ArchbaseDualListSelector.d.ts +15 -0
  4. package/dist/ArchbaseSecurityView.d.ts +4 -0
  5. package/dist/GroupModal.d.ts +17 -0
  6. package/dist/PermissionsSelectorModal.d.ts +7 -0
  7. package/dist/ProfileModal.d.ts +17 -0
  8. package/dist/RenderProfileUserItem.d.ts +9 -0
  9. package/dist/UserModal.d.ts +57 -0
  10. package/dist/archbase-security-ui-4.1.1.tgz +0 -0
  11. package/dist/index.d.ts +18 -0
  12. package/dist/index.js +1726 -1362
  13. package/dist/securityDiagnostics/ArchbaseSecurityDiagnosticsView.d.ts +2 -0
  14. package/dist/securityDiagnostics/DiagnosticPrimitives.d.ts +34 -0
  15. package/dist/securityDiagnostics/EffectiveAccessPanel.d.ts +6 -0
  16. package/dist/securityDiagnostics/OverviewPanel.d.ts +6 -0
  17. package/dist/securityDiagnostics/SimulationPanel.d.ts +6 -0
  18. package/dist/securityDiagnostics/index.d.ts +6 -0
  19. package/dist/securityDiagnostics/types.d.ts +102 -0
  20. package/dist/securityView/SecurityGridPanel.d.ts +22 -0
  21. package/dist/securityView/SecurityRowActions.d.ts +15 -0
  22. package/dist/securityView/SecurityToolbarActions.d.ts +7 -0
  23. package/dist/securityView/UserItem.d.ts +7 -0
  24. package/dist/securityView/columns.d.ts +8 -0
  25. package/dist/securityView/index.d.ts +8 -0
  26. package/dist/securityView/noUserAvatar.d.ts +7 -0
  27. package/dist/securityView/types.d.ts +35 -0
  28. package/dist/securityView/useSecurityEntityActions.d.ts +32 -0
  29. package/package.json +6 -6
  30. package/dist/archbase-security-ui-4.0.47.tgz +0 -0
  31. package/dist/index.cjs +0 -10
  32. package/dist/index.cjs.map +0 -1
  33. package/dist/index.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,159 +1,121 @@
1
- import { Modal as Fe, ScrollArea as we, Stack as oe, Grid as I, Group as V, Button as N, Paper as K, Box as He, Text as J, List as Pe, Checkbox as Je, Tooltip as se, ActionIcon as H, Flex as te, Space as sr, Input as he, useTree as Ze, useMantineColorScheme as Oe, TextInput as Qe, Tree as Ye, Badge as Se, Tabs as ie, RingProgress as Zr } from "@mantine/core";
2
- import { getI18nextInstance as t, resolveArchbasePasswordPolicy as Qr, ARCHBASE_IOC_API_TYPE as _, emit as Ie, builder as Te, validateArchbasePassword as Yr, convertDateToISOString as Xr, processErrorMessage as Ae, getKeyByEnumValue as le, useArchbaseTheme as nr, useArchbaseValidator as Kr, useArchbaseTranslation as _r, useValidationErrors as ea, processDetailErrorMessage as De } from "@archbase/core";
3
- import { ArchbaseEdit as ae, ArchbaseNotifications as X, ArchbasePasswordEdit as ra, ArchbaseSelect as aa, ArchbaseCheckbox as pe, ArchbaseAvatarEdit as ta, ArchbaseAsyncSelect as oa, Columns as fe, ArchbaseDataGridColumn as m, ArchbaseDataGrid as be, ArchbaseDialog as ee } from "@archbase/components";
4
- import { useArchbaseV1V2Compatibility as ke, useArchbaseDataSourceListener as Xe, useArchbaseRemoteServiceApi as re, useArchbaseRemoteDataSource as Ue, ArchbaseDataSource as sa, useArchbaseStore as ir, useArchbaseRemoteDataSourceV2 as ye, useArchbaseDataSource as na } from "@archbase/data";
5
- import { useState as O, useCallback as ge, useEffect as Re, forwardRef as ia, useMemo as xe, useRef as je } from "react";
6
- import { IconArrowRight as lr, IconArrowLeft as cr, IconChevronDown as Ke, IconBorderCornerSquare as _e, IconEye as $e, IconEdit as me, IconTrashX as Ce, IconShieldCheckered as Le, IconPlus as ze } from "@tabler/icons-react";
7
- import { UserGroupDto as er, SecurityType as P, UserDto as la, GroupDto as ca, ProfileDto as da, ApiTokenDto as ua } from "@archbase/security";
8
- import { DateTimePicker as ha } from "@mantine/dates";
9
- import { useFocusTrap as pa, useDebouncedValue as rr } from "@mantine/hooks";
10
- import { ArchbaseSpaceFixed as xa, ArchbaseSpaceFill as ma, ArchbaseSpaceBottom as fa } from "@archbase/layout";
11
- var Ve = { exports: {} }, ve = {};
12
- /**
13
- * @license React
14
- * react-jsx-runtime.production.js
15
- *
16
- * Copyright (c) Meta Platforms, Inc. and affiliates.
17
- *
18
- * This source code is licensed under the MIT license found in the
19
- * LICENSE file in the root directory of this source tree.
20
- */
21
- var ar;
22
- function ba() {
23
- if (ar)
24
- return ve;
25
- ar = 1;
26
- var r = Symbol.for("react.transitional.element"), u = Symbol.for("react.fragment");
27
- function g(i, l, x) {
28
- var A = null;
29
- if (x !== void 0 && (A = "" + x), l.key !== void 0 && (A = "" + l.key), "key" in l) {
30
- x = {};
31
- for (var c in l)
32
- c !== "key" && (x[c] = l[c]);
33
- } else
34
- x = l;
35
- return l = x.ref, {
36
- $$typeof: r,
37
- type: i,
38
- key: A,
39
- ref: l !== void 0 ? l : null,
40
- props: x
41
- };
42
- }
43
- return ve.Fragment = u, ve.jsx = g, ve.jsxs = g, ve;
44
- }
45
- var tr;
46
- function ga() {
47
- return tr || (tr = 1, Ve.exports = ba()), Ve.exports;
48
- }
49
- var e = ga();
50
- const ja = (r) => {
51
- const u = { ...r.options ?? {} }, g = () => {
52
- r.onCustomSave ? r.onCustomSave(r.dataSource.getCurrentRecord(), (l) => {
53
- l && r.onAfterSave && r.onAfterSave(r.dataSource.getCurrentRecord()), r.onClickOk(r.dataSource.getCurrentRecord(), l);
54
- }) : r.onClickOk(r.dataSource.getCurrentRecord(), !0);
1
+ import { jsx as e, jsxs as o, Fragment as Ne } from "react/jsx-runtime";
2
+ import { Modal as ze, ScrollArea as we, Stack as W, Grid as O, Group as N, Button as Z, Paper as Y, Box as _e, Text as w, List as Ee, Checkbox as ea, Tooltip as Ce, ActionIcon as ue, Flex as Re, Space as ua, Input as be, useTree as aa, useMantineColorScheme as Ge, TextInput as ge, Tree as ra, Badge as te, Tabs as K, RingProgress as Ea, SimpleGrid as Me, Loader as Ke, Alert as ke, Chip as ta, Table as j } from "@mantine/core";
3
+ import { getI18nextInstance as s, resolveArchbasePasswordPolicy as $a, ARCHBASE_IOC_API_TYPE as Q, emit as Le, builder as Ie, validateArchbasePassword as Na, convertDateToISOString as La, processErrorMessage as he, getKeyByEnumValue as me, useArchbaseTheme as Qe, useArchbaseValidator as Va, useArchbaseTranslation as Ga, useValidationErrors as Ma, processDetailErrorMessage as $e } from "@archbase/core";
4
+ import { ArchbaseEdit as re, ArchbaseNotifications as ee, ArchbasePasswordEdit as Oa, ArchbaseSelect as Ua, ArchbaseCheckbox as ve, ArchbaseAvatarEdit as Ba, ArchbaseAsyncSelect as Wa, Columns as Ae, ArchbaseDataGridColumn as T, ArchbaseDataGrid as ha, ArchbaseDialog as ce } from "@archbase/components";
5
+ import { useArchbaseV1V2Compatibility as Pe, useArchbaseDataSourceListener as oa, useArchbaseRemoteServiceApi as X, useArchbaseRemoteDataSource as Je, ArchbaseDataSource as qa, useArchbaseStore as pa, useArchbaseRemoteDataSourceV2 as xe, useArchbaseDataSource as ja } from "@archbase/data";
6
+ import { useState as P, useCallback as de, useEffect as Se, forwardRef as Ha, useMemo as ae, useRef as ye } from "react";
7
+ import { IconArrowRight as ma, IconArrowLeft as ga, IconChevronDown as ia, IconBorderCornerSquare as na, IconEye as Za, IconEdit as fa, IconTrashX as Xe, IconShieldCheckered as Ja, IconPlus as ba, IconChartBar as Ka, IconListSearch as Qa, IconShieldSearch as Xa } from "@tabler/icons-react";
8
+ import { UserGroupDto as sa, SecurityType as H, UserDto as Ya, GroupDto as _a, ProfileDto as er, ApiTokenDto as ar } from "@archbase/security";
9
+ import { DateTimePicker as rr } from "@mantine/dates";
10
+ import { useFocusTrap as tr, useDebouncedValue as la } from "@mantine/hooks";
11
+ import { ArchbaseSpaceFixed as or, ArchbaseSpaceFill as ir, ArchbaseSpaceBottom as nr } from "@archbase/layout";
12
+ const sr = (a) => {
13
+ const r = { ...a.options ?? {} }, l = () => {
14
+ a.onCustomSave ? a.onCustomSave(a.dataSource.getCurrentRecord(), (h) => {
15
+ h && a.onAfterSave && a.onAfterSave(a.dataSource.getCurrentRecord()), a.onClickOk(a.dataSource.getCurrentRecord(), h);
16
+ }) : a.onClickOk(a.dataSource.getCurrentRecord(), !0);
55
17
  }, i = () => {
56
- r.onClickCancel(r.dataSource.getCurrentRecord());
18
+ a.onClickCancel(a.dataSource.getCurrentRecord());
57
19
  };
58
- return /* @__PURE__ */ e.jsx(
59
- Fe,
20
+ return /* @__PURE__ */ e(
21
+ ze,
60
22
  {
61
- opened: r.opened,
23
+ opened: a.opened,
62
24
  onClose: i,
63
- title: t().t("archbase:Perfil"),
25
+ title: s().t("archbase:Perfil"),
64
26
  size: "60%",
65
27
  styles: { content: { maxWidth: 1e3 } },
66
- children: /* @__PURE__ */ e.jsx(we, { style: { height: "460px" }, children: /* @__PURE__ */ e.jsxs(oe, { w: "98%", children: [
67
- u?.customContentBefore && u.customContentBefore(r.dataSource.getCurrentRecord()),
68
- /* @__PURE__ */ e.jsxs(I, { children: [
69
- /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12, md: 12, lg: 12 }, children: /* @__PURE__ */ e.jsx(
70
- ae,
28
+ children: /* @__PURE__ */ e(we, { style: { height: "460px" }, children: /* @__PURE__ */ o(W, { w: "98%", children: [
29
+ r?.customContentBefore && r.customContentBefore(a.dataSource.getCurrentRecord()),
30
+ /* @__PURE__ */ o(O, { children: [
31
+ /* @__PURE__ */ e(O.Col, { span: { base: 12, md: 12, lg: 12 }, children: /* @__PURE__ */ e(
32
+ re,
71
33
  {
72
- label: `${t().t("archbase:Nome do perfil")}`,
73
- placeholder: `${t().t("archbase:Informe o nome do perfil")}`,
74
- dataSource: r.dataSource,
34
+ label: `${s().t("archbase:Nome do perfil")}`,
35
+ placeholder: `${s().t("archbase:Informe o nome do perfil")}`,
36
+ dataSource: a.dataSource,
75
37
  dataField: "name"
76
38
  }
77
39
  ) }),
78
- /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12, md: 12, lg: 12 }, children: /* @__PURE__ */ e.jsx(
79
- ae,
40
+ /* @__PURE__ */ e(O.Col, { span: { base: 12, md: 12, lg: 12 }, children: /* @__PURE__ */ e(
41
+ re,
80
42
  {
81
- label: `${t().t("archbase:Descrição do perfil")}`,
82
- placeholder: `${t().t("archbase:Informe a descrição do perfil")}`,
83
- dataSource: r.dataSource,
43
+ label: `${s().t("archbase:Descrição do perfil")}`,
44
+ placeholder: `${s().t("archbase:Informe a descrição do perfil")}`,
45
+ dataSource: a.dataSource,
84
46
  dataField: "description"
85
47
  }
86
48
  ) })
87
49
  ] }),
88
- u?.customContentAfter && u.customContentAfter(r.dataSource.getCurrentRecord()),
89
- /* @__PURE__ */ e.jsxs(V, { justify: "flex-end", mt: "md", children: [
90
- /* @__PURE__ */ e.jsx(N, { variant: "default", onClick: i, children: t().t("archbase:Cancelar") }),
91
- /* @__PURE__ */ e.jsx(N, { onClick: g, children: t().t("archbase:Salvar") })
50
+ r?.customContentAfter && r.customContentAfter(a.dataSource.getCurrentRecord()),
51
+ /* @__PURE__ */ o(N, { justify: "flex-end", mt: "md", children: [
52
+ /* @__PURE__ */ e(Z, { variant: "default", onClick: i, children: s().t("archbase:Cancelar") }),
53
+ /* @__PURE__ */ e(Z, { onClick: l, children: s().t("archbase:Salvar") })
92
54
  ] })
93
55
  ] }) })
94
56
  }
95
57
  );
96
58
  };
97
- function wa({
98
- availableItemsDS: r,
99
- assignedItemsDS: u,
100
- idFieldAvailable: g,
59
+ function lr({
60
+ availableItemsDS: a,
61
+ assignedItemsDS: r,
62
+ idFieldAvailable: l,
101
63
  labelFieldAvailable: i,
102
- idFieldAssigned: l,
103
- labelFieldAssigned: x,
64
+ idFieldAssigned: h,
65
+ labelFieldAssigned: n,
104
66
  handleCreateAssociationObject: A,
105
- width: c = "400px",
106
- height: $ = "200px",
107
- titleAvailable: h = "Disponíveis",
108
- titleAssigned: S = "Selecionados"
67
+ width: v = "400px",
68
+ height: x = "200px",
69
+ titleAvailable: c = "Disponíveis",
70
+ titleAssigned: C = "Selecionados"
109
71
  }) {
110
- ke(
72
+ Pe(
111
73
  "ArchbaseDualListSelector-Available",
112
- r,
74
+ a,
113
75
  void 0,
114
76
  []
115
77
  );
116
- const z = ke(
78
+ const u = Pe(
117
79
  "ArchbaseDualListSelector-Assigned",
118
- u,
80
+ r,
119
81
  void 0,
120
82
  []
121
- ), [j, M] = O([]), [f, Y] = O([]), [B, d] = O([]), [v, T] = O([]), W = ge(() => {
122
- r && M(r.browseRecords()), u && Y(u.browseRecords());
123
- }, [r, u]);
124
- Xe({
83
+ ), [b, D] = P([]), [y, q] = P([]), [V, t] = P([]), [d, g] = P([]), F = de(() => {
84
+ a && D(a.browseRecords()), r && q(r.browseRecords());
85
+ }, [a, r]);
86
+ oa({
87
+ dataSource: a,
88
+ listener: () => F()
89
+ }), oa({
125
90
  dataSource: r,
126
- listener: () => W()
127
- }), Xe({
128
- dataSource: u,
129
- listener: () => W()
130
- }), Re(() => {
131
- W();
132
- }, [W]);
133
- const E = (p, w) => typeof w == "function" ? w(p) : p[w], Q = (p, w) => typeof w == "function" ? w(p) : p[w], o = (p, w) => {
134
- p((b) => b.includes(w) ? b.filter((ce) => ce !== w) : [...b, w]);
135
- }, D = () => {
136
- B.forEach((p) => {
137
- const w = j.find((b) => E(b, g) === p);
138
- if (w) {
139
- const b = A(w);
140
- z.isDataSourceV2 ? (u.insert(b), u.save()) : (u.insert(b), u.save(), z.v1State.forceUpdate());
141
- }
142
- }), d([]);
143
- }, Z = () => {
144
- v.forEach((p) => {
145
- const w = f.find((b) => E(b, l) === p);
146
- if (w) {
147
- const b = typeof l == "function" ? { customId: l(w) } : { [l]: p };
148
- z.isDataSourceV2 ? u.remove(() => u.locate(b)) : (u.remove(() => u.locate(b)), z.v1State.forceUpdate());
149
- }
150
- }), T([]);
91
+ listener: () => F()
92
+ }), Se(() => {
93
+ F();
94
+ }, [F]);
95
+ const z = (S, k) => typeof k == "function" ? k(S) : S[k], f = (S, k) => typeof k == "function" ? k(S) : S[k], oe = (S, k) => {
96
+ S((R) => R.includes(k) ? R.filter((fe) => fe !== k) : [...R, k]);
97
+ }, G = () => {
98
+ V.forEach((S) => {
99
+ const k = b.find((R) => z(R, l) === S);
100
+ if (k) {
101
+ const R = A(k);
102
+ u.isDataSourceV2 ? (r.insert(R), r.save()) : (r.insert(R), r.save(), u.v1State.forceUpdate());
103
+ }
104
+ }), t([]);
105
+ }, J = () => {
106
+ d.forEach((S) => {
107
+ const k = y.find((R) => z(R, h) === S);
108
+ if (k) {
109
+ const R = typeof h == "function" ? { customId: h(k) } : { [h]: S };
110
+ u.isDataSourceV2 ? r.remove(() => r.locate(R)) : (r.remove(() => r.locate(R)), u.v1State.forceUpdate());
111
+ }
112
+ }), g([]);
151
113
  };
152
- return /* @__PURE__ */ e.jsxs(K, { withBorder: !0, style: { display: "flex", width: c, height: $ }, children: [
153
- /* @__PURE__ */ e.jsxs(He, { style: { minWidth: "44%", minHeight: $ }, children: [
154
- /* @__PURE__ */ e.jsx(J, { children: h }),
155
- /* @__PURE__ */ e.jsx(
156
- Pe,
114
+ return /* @__PURE__ */ o(Y, { withBorder: !0, style: { display: "flex", width: v, height: x }, children: [
115
+ /* @__PURE__ */ o(_e, { style: { minWidth: "44%", minHeight: x }, children: [
116
+ /* @__PURE__ */ e(w, { children: c }),
117
+ /* @__PURE__ */ e(
118
+ Ee,
157
119
  {
158
120
  spacing: "xs",
159
121
  size: "sm",
@@ -165,28 +127,28 @@ function wa({
165
127
  overflowX: "hidden",
166
128
  height: "calc(100% - 32px)"
167
129
  },
168
- children: j.map((p) => /* @__PURE__ */ e.jsx(Pe.Item, { children: /* @__PURE__ */ e.jsx(
169
- Je,
130
+ children: b.map((S) => /* @__PURE__ */ e(Ee.Item, { children: /* @__PURE__ */ e(
131
+ ea,
170
132
  {
171
- label: Q(p, i),
172
- checked: B.includes(E(p, g)),
173
- onChange: () => o(d, E(p, g)),
174
- disabled: f.some(
175
- (w) => E(w, l) === E(p, g)
133
+ label: f(S, i),
134
+ checked: V.includes(z(S, l)),
135
+ onChange: () => oe(t, z(S, l)),
136
+ disabled: y.some(
137
+ (k) => z(k, h) === z(S, l)
176
138
  )
177
139
  }
178
- ) }, E(p, g)))
140
+ ) }, z(S, l)))
179
141
  }
180
142
  )
181
143
  ] }),
182
- /* @__PURE__ */ e.jsxs(oe, { gap: 5, style: { minWidth: "10%" }, justify: "center", align: "center", children: [
183
- /* @__PURE__ */ e.jsx(se, { label: "Adicionar", children: /* @__PURE__ */ e.jsx(H, { onClick: D, disabled: !B.length, children: /* @__PURE__ */ e.jsx(lr, {}) }) }),
184
- /* @__PURE__ */ e.jsx(se, { label: "Remover", children: /* @__PURE__ */ e.jsx(H, { onClick: Z, disabled: !v.length, children: /* @__PURE__ */ e.jsx(cr, {}) }) })
144
+ /* @__PURE__ */ o(W, { gap: 5, style: { minWidth: "10%" }, justify: "center", align: "center", children: [
145
+ /* @__PURE__ */ e(Ce, { label: "Adicionar", children: /* @__PURE__ */ e(ue, { onClick: G, disabled: !V.length, children: /* @__PURE__ */ e(ma, {}) }) }),
146
+ /* @__PURE__ */ e(Ce, { label: "Remover", children: /* @__PURE__ */ e(ue, { onClick: J, disabled: !d.length, children: /* @__PURE__ */ e(ga, {}) }) })
185
147
  ] }),
186
- /* @__PURE__ */ e.jsxs(He, { style: { minWidth: "44%", minHeight: $ }, children: [
187
- /* @__PURE__ */ e.jsx(J, { children: S }),
188
- /* @__PURE__ */ e.jsx(
189
- Pe,
148
+ /* @__PURE__ */ o(_e, { style: { minWidth: "44%", minHeight: x }, children: [
149
+ /* @__PURE__ */ e(w, { children: C }),
150
+ /* @__PURE__ */ e(
151
+ Ee,
190
152
  {
191
153
  spacing: "xs",
192
154
  size: "sm",
@@ -198,25 +160,25 @@ function wa({
198
160
  overflowX: "hidden",
199
161
  height: "calc(100% - 32px)"
200
162
  },
201
- children: f.map((p) => /* @__PURE__ */ e.jsx(Pe.Item, { children: /* @__PURE__ */ e.jsx(
202
- Je,
163
+ children: y.map((S) => /* @__PURE__ */ e(Ee.Item, { children: /* @__PURE__ */ e(
164
+ ea,
203
165
  {
204
- label: Q(p, x),
205
- checked: v.includes(E(p, l)),
206
- onChange: () => o(T, E(p, l))
166
+ label: f(S, n),
167
+ checked: d.includes(z(S, h)),
168
+ onChange: () => oe(g, z(S, h))
207
169
  }
208
- ) }, E(p, l)))
170
+ ) }, z(S, h)))
209
171
  }
210
172
  )
211
173
  ] })
212
174
  ] });
213
175
  }
214
- const ya = ia(
215
- ({ image: r, label: u, description: g, origin: i, ...l }, x) => /* @__PURE__ */ e.jsx("div", { ref: x, ...l, children: /* @__PURE__ */ e.jsxs(te, { children: [
216
- /* @__PURE__ */ e.jsx(J, { size: "sm", fw: 600, children: i ? i.name : "" }),
217
- /* @__PURE__ */ e.jsx(sr, { w: "lg" })
176
+ const cr = Ha(
177
+ ({ image: a, label: r, description: l, origin: i, ...h }, n) => /* @__PURE__ */ e("div", { ref: n, ...h, children: /* @__PURE__ */ o(Re, { children: [
178
+ /* @__PURE__ */ e(w, { size: "sm", fw: 600, children: i ? i.name : "" }),
179
+ /* @__PURE__ */ e(ua, { w: "lg" })
218
180
  ] }) })
219
- ), va = {
181
+ ), dr = {
220
182
  // Campos de identificação
221
183
  showNickname: !0,
222
184
  // Campos de perfil e grupos
@@ -240,222 +202,222 @@ const ya = ia(
240
202
  avatarImageQuality: 1,
241
203
  avatarMaxOutputSizePx: 512,
242
204
  allowEditEmail: !0
243
- }, Ca = (r) => {
244
- const [u, g] = O(""), i = { ...va, ...r.options ?? {} }, l = r.dataSource.getFieldValue("passwordChangedAt"), x = l ? new Date(l) : void 0, A = x && !Number.isNaN(x.getTime()) ? x.toLocaleString() : void 0, c = Qr(i.passwordPolicy), $ = i.forbidPersonalDataInPassword ? ["name", "nickname", "email"].map((d) => {
245
- const v = r.dataSource.getFieldValue(d);
246
- return d === "email" && v ? v.split("@")[0] : v;
247
- }).filter((d) => typeof d == "string" && d.trim().length >= 3) : [], h = c ? {
248
- ...c,
249
- blocklist: [...c.blocklist ?? [], ...$]
250
- } : void 0, S = re(_.Group), { dataSource: z } = Ue({
205
+ }, ur = (a) => {
206
+ const [r, l] = P(""), i = { ...dr, ...a.options ?? {} }, h = a.dataSource.getFieldValue("passwordChangedAt"), n = h ? new Date(h) : void 0, A = n && !Number.isNaN(n.getTime()) ? n.toLocaleString() : void 0, v = $a(i.passwordPolicy), x = i.forbidPersonalDataInPassword ? ["name", "nickname", "email"].map((t) => {
207
+ const d = a.dataSource.getFieldValue(t);
208
+ return t === "email" && d ? d.split("@")[0] : d;
209
+ }).filter((t) => typeof t == "string" && t.trim().length >= 3) : [], c = v ? {
210
+ ...v,
211
+ blocklist: [...v.blocklist ?? [], ...x]
212
+ } : void 0, C = X(Q.Group), { dataSource: u } = Je({
251
213
  name: "dsGroups",
252
- service: S,
214
+ service: C,
253
215
  pageSize: 9999,
254
216
  loadOnStart: !0,
255
217
  sort: ["name:asc"],
256
- onError: (d, v) => {
257
- X.showError(t().t("archbase:WARNING"), d, v);
218
+ onError: (t, d) => {
219
+ ee.showError(s().t("archbase:WARNING"), t, d);
258
220
  }
259
221
  });
260
222
  console.log("versão 12/05/2026");
261
- const j = re(_.Profile), { dataSource: M } = Ue({
223
+ const b = X(Q.Profile), { dataSource: D } = Je({
262
224
  name: "dsProfiles",
263
- service: j,
225
+ service: b,
264
226
  pageSize: 9999,
265
227
  loadOnStart: !0,
266
228
  sort: ["name:asc"],
267
- onError: (d, v) => {
268
- X.showError(t().t("archbase:WARNING"), d, v);
229
+ onError: (t, d) => {
230
+ ee.showError(s().t("archbase:WARNING"), t, d);
269
231
  }
270
232
  });
271
- Re(() => {
272
- g("");
273
- }, [r.dataSource.getFieldValue("password")]);
274
- const f = async () => {
275
- if (r.dataSource.isInserting()) {
233
+ Se(() => {
234
+ l("");
235
+ }, [a.dataSource.getFieldValue("password")]);
236
+ const y = async () => {
237
+ if (a.dataSource.isInserting()) {
276
238
  if (i.userDefaultProfile) {
277
- const d = Ie(Te.eq("name", i.userDefaultProfile)), v = await j.findAllWithFilter(d, 0, 1);
278
- v && v.content.length > 0 && r.dataSource.setFieldValue("profile", v.content[0]);
239
+ const t = Le(Ie.eq("name", i.userDefaultProfile)), d = await b.findAllWithFilter(t, 0, 1);
240
+ d && d.content.length > 0 && a.dataSource.setFieldValue("profile", d.content[0]);
279
241
  }
280
242
  if (i.userDefaultGroups) {
281
- const d = Ie(Te.in("name", i.userDefaultGroups)), v = await S.findAllWithFilter(d, 0, 500);
282
- v && v.content.length > 0 && r.dataSource.setFieldValue("groups", v.content.map((T) => er.newInstance(T)));
243
+ const t = Le(Ie.in("name", i.userDefaultGroups)), d = await C.findAllWithFilter(t, 0, 500);
244
+ d && d.content.length > 0 && a.dataSource.setFieldValue("groups", d.content.map((g) => sa.newInstance(g)));
283
245
  }
284
246
  }
285
247
  };
286
- Re(() => {
287
- r.opened && f();
288
- }, [r.opened]);
289
- const Y = () => {
290
- const d = r.dataSource.getCurrentRecord();
291
- if (!d.password && r.dataSource.isInserting()) {
292
- g(t().t("archbase:Informe a senha"));
248
+ Se(() => {
249
+ a.opened && y();
250
+ }, [a.opened]);
251
+ const q = () => {
252
+ const t = a.dataSource.getCurrentRecord();
253
+ if (!t.password && a.dataSource.isInserting()) {
254
+ l(s().t("archbase:Informe a senha"));
293
255
  return;
294
256
  }
295
- if (h && d.password) {
296
- const v = Yr(d.password, h);
297
- if (!v.valid) {
298
- g(v.error);
257
+ if (c && t.password) {
258
+ const d = Na(t.password, c);
259
+ if (!d.valid) {
260
+ l(d.error);
299
261
  return;
300
262
  }
301
263
  }
302
- r.onCustomSave ? r.onCustomSave(d, (v) => {
303
- v && r.onAfterSave && r.onAfterSave(d), r.onClickOk(d, v);
304
- }) : r.onClickOk(d, !0);
305
- }, B = () => {
306
- r.onClickCancel(r.dataSource.getCurrentRecord());
264
+ a.onCustomSave ? a.onCustomSave(t, (d) => {
265
+ d && a.onAfterSave && a.onAfterSave(t), a.onClickOk(t, d);
266
+ }) : a.onClickOk(t, !0);
267
+ }, V = () => {
268
+ a.onClickCancel(a.dataSource.getCurrentRecord());
307
269
  };
308
- return /* @__PURE__ */ e.jsxs(
309
- Fe,
270
+ return /* @__PURE__ */ o(
271
+ ze,
310
272
  {
311
- opened: r.opened,
312
- onClose: B,
313
- title: t().t("archbase:Usuário"),
273
+ opened: a.opened,
274
+ onClose: V,
275
+ title: s().t("archbase:Usuário"),
314
276
  size: "80%",
315
277
  styles: { content: { maxWidth: 1e3 } },
316
278
  children: [
317
- /* @__PURE__ */ e.jsx(we, { style: { height: "500px" }, children: /* @__PURE__ */ e.jsxs(oe, { w: "98%", children: [
318
- i?.customContentBefore && /* @__PURE__ */ e.jsx(e.Fragment, { children: i.customContentBefore(r.dataSource.getCurrentRecord()) }),
319
- /* @__PURE__ */ e.jsxs(I, { children: [
320
- /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12, md: 6, lg: 6 }, children: /* @__PURE__ */ e.jsxs(V, { children: [
321
- /* @__PURE__ */ e.jsx(
322
- ae,
279
+ /* @__PURE__ */ e(we, { style: { height: "500px" }, children: /* @__PURE__ */ o(W, { w: "98%", children: [
280
+ i?.customContentBefore && /* @__PURE__ */ e(Ne, { children: i.customContentBefore(a.dataSource.getCurrentRecord()) }),
281
+ /* @__PURE__ */ o(O, { children: [
282
+ /* @__PURE__ */ e(O.Col, { span: { base: 12, md: 6, lg: 6 }, children: /* @__PURE__ */ o(N, { children: [
283
+ /* @__PURE__ */ e(
284
+ re,
323
285
  {
324
- label: `${t().t("archbase:Nome completo")}`,
325
- placeholder: `${t().t("archbase:Informe o nome completo do usuário")}`,
326
- dataSource: r.dataSource,
286
+ label: `${s().t("archbase:Nome completo")}`,
287
+ placeholder: `${s().t("archbase:Informe o nome completo do usuário")}`,
288
+ dataSource: a.dataSource,
327
289
  dataField: "name",
328
290
  required: !0,
329
291
  width: "calc(100% - 208px)"
330
292
  }
331
293
  ),
332
- i.showNickname && /* @__PURE__ */ e.jsx(
333
- ae,
294
+ i.showNickname && /* @__PURE__ */ e(
295
+ re,
334
296
  {
335
- label: `${t().t("archbase:Apelido")}`,
336
- placeholder: `${t().t("archbase:Apelido")}`,
337
- dataSource: r.dataSource,
297
+ label: `${s().t("archbase:Apelido")}`,
298
+ placeholder: `${s().t("archbase:Apelido")}`,
299
+ dataSource: a.dataSource,
338
300
  dataField: "nickname",
339
301
  required: i.requiredNickname
340
302
  }
341
303
  )
342
304
  ] }) }),
343
- /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12, md: 6, lg: 6 }, children: /* @__PURE__ */ e.jsx(
344
- ae,
305
+ /* @__PURE__ */ e(O.Col, { span: { base: 12, md: 6, lg: 6 }, children: /* @__PURE__ */ e(
306
+ re,
345
307
  {
346
- label: `${t().t("archbase:Descrição do usuário")}`,
347
- placeholder: `${t().t("archbase:Informe a descrição do usuário")}`,
348
- dataSource: r.dataSource,
308
+ label: `${s().t("archbase:Descrição do usuário")}`,
309
+ placeholder: `${s().t("archbase:Informe a descrição do usuário")}`,
310
+ dataSource: a.dataSource,
349
311
  dataField: "description",
350
312
  required: !0
351
313
  }
352
314
  ) })
353
315
  ] }),
354
- /* @__PURE__ */ e.jsxs(I, { children: [
355
- /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12, md: 6, lg: 6 }, children: /* @__PURE__ */ e.jsx(
356
- ae,
316
+ /* @__PURE__ */ o(O, { children: [
317
+ /* @__PURE__ */ e(O.Col, { span: { base: 12, md: 6, lg: 6 }, children: /* @__PURE__ */ e(
318
+ re,
357
319
  {
358
- label: `${t().t("archbase:E-mail")}`,
359
- placeholder: `${t().t("archbase:Informe o e-mail do usuário")}`,
360
- dataSource: r.dataSource,
361
- onChangeValue: (d) => r.dataSource.setFieldValue("userName", d),
320
+ label: `${s().t("archbase:E-mail")}`,
321
+ placeholder: `${s().t("archbase:Informe o e-mail do usuário")}`,
322
+ dataSource: a.dataSource,
323
+ onChangeValue: (t) => a.dataSource.setFieldValue("userName", t),
362
324
  dataField: "email",
363
- readOnly: r.dataSource.isEditing() ? !i.allowEditEmail : !1,
325
+ readOnly: a.dataSource.isEditing() ? !i.allowEditEmail : !1,
364
326
  required: !0
365
327
  }
366
328
  ) }),
367
- /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12, md: 6, lg: 6 }, children: /* @__PURE__ */ e.jsx(
368
- ra,
329
+ /* @__PURE__ */ e(O.Col, { span: { base: 12, md: 6, lg: 6 }, children: /* @__PURE__ */ e(
330
+ Oa,
369
331
  {
370
- label: `${t().t("archbase:Senha usuário")}`,
371
- dataSource: r.dataSource,
332
+ label: `${s().t("archbase:Senha usuário")}`,
333
+ dataSource: a.dataSource,
372
334
  dataField: "password",
373
- error: u,
374
- required: r.dataSource.getFieldValue("isNewUser"),
375
- passwordPolicy: h,
335
+ error: r,
336
+ required: a.dataSource.getFieldValue("isNewUser"),
337
+ passwordPolicy: c,
376
338
  showPasswordRequirements: i.showPasswordRequirements
377
339
  }
378
340
  ) })
379
341
  ] }),
380
- /* @__PURE__ */ e.jsx(I, { children: i.showProfile && /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12, md: 6, lg: 6 }, children: /* @__PURE__ */ e.jsx(
381
- aa,
342
+ /* @__PURE__ */ e(O, { children: i.showProfile && /* @__PURE__ */ e(O.Col, { span: { base: 12, md: 6, lg: 6 }, children: /* @__PURE__ */ e(
343
+ Ua,
382
344
  {
383
- label: `${t().t("archbase:Perfil do usuário")}`,
384
- dataSource: r.dataSource,
345
+ label: `${s().t("archbase:Perfil do usuário")}`,
346
+ dataSource: a.dataSource,
385
347
  dataField: "profile",
386
- options: M,
348
+ options: D,
387
349
  allowDeselect: !0,
388
350
  optionsLabelField: "nome",
389
- itemComponent: ya,
390
- getOptionLabel: (d) => d.name,
391
- getOptionValue: (d) => d.id
351
+ itemComponent: cr,
352
+ getOptionLabel: (t) => t.name,
353
+ getOptionValue: (t) => t.id
392
354
  }
393
355
  ) }) }),
394
- /* @__PURE__ */ e.jsxs(I, { children: [
395
- /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12 }, children: i.showAccountConfigLabel && /* @__PURE__ */ e.jsx(J, { fz: 14, fw: 500, children: "Informe" }) }),
396
- /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12, md: 4, lg: 4 }, children: /* @__PURE__ */ e.jsxs(oe, { gap: "lg", children: [
397
- i.showChangePasswordOnNextLogin && /* @__PURE__ */ e.jsx(he.Wrapper, { label: "", children: /* @__PURE__ */ e.jsx(
398
- pe,
356
+ /* @__PURE__ */ o(O, { children: [
357
+ /* @__PURE__ */ e(O.Col, { span: { base: 12 }, children: i.showAccountConfigLabel && /* @__PURE__ */ e(w, { fz: 14, fw: 500, children: "Informe" }) }),
358
+ /* @__PURE__ */ e(O.Col, { span: { base: 12, md: 4, lg: 4 }, children: /* @__PURE__ */ o(W, { gap: "lg", children: [
359
+ i.showChangePasswordOnNextLogin && /* @__PURE__ */ e(be.Wrapper, { label: "", children: /* @__PURE__ */ e(
360
+ ve,
399
361
  {
400
- dataSource: r.dataSource,
362
+ dataSource: a.dataSource,
401
363
  dataField: "changePasswordOnNextLogin",
402
- label: `${t().t("archbase:Deve alterar senha próximo login ?")}`
364
+ label: `${s().t("archbase:Deve alterar senha próximo login ?")}`
403
365
  }
404
366
  ) }),
405
- i.showAllowPasswordChange && /* @__PURE__ */ e.jsx(he.Wrapper, { label: "", children: /* @__PURE__ */ e.jsx(
406
- pe,
367
+ i.showAllowPasswordChange && /* @__PURE__ */ e(be.Wrapper, { label: "", children: /* @__PURE__ */ e(
368
+ ve,
407
369
  {
408
- dataSource: r.dataSource,
370
+ dataSource: a.dataSource,
409
371
  dataField: "allowPasswordChange",
410
- label: `${t().t("archbase:Pode alterar a senha ?")}`
372
+ label: `${s().t("archbase:Pode alterar a senha ?")}`
411
373
  }
412
374
  ) }),
413
- i.showPasswordNeverExpires && /* @__PURE__ */ e.jsxs(he.Wrapper, { label: "", children: [
414
- /* @__PURE__ */ e.jsx(
415
- pe,
375
+ i.showPasswordNeverExpires && /* @__PURE__ */ o(be.Wrapper, { label: "", children: [
376
+ /* @__PURE__ */ e(
377
+ ve,
416
378
  {
417
- dataSource: r.dataSource,
379
+ dataSource: a.dataSource,
418
380
  dataField: "passwordNeverExpires",
419
- label: `${t().t("archbase:Senha nunca expira ?")}`
381
+ label: `${s().t("archbase:Senha nunca expira ?")}`
420
382
  }
421
383
  ),
422
- /* @__PURE__ */ e.jsx(J, { fz: 12, c: "dimmed", children: t().t(
384
+ /* @__PURE__ */ e(w, { fz: 12, c: "dimmed", children: s().t(
423
385
  'archbase:Desmarcado, a senha expira conforme a política de validade do servidor. Para exigir a troca agora, use "Deve alterar senha próximo login".'
424
386
  ) })
425
387
  ] }),
426
- i.showPasswordChangedAt && A && /* @__PURE__ */ e.jsx(J, { fz: 12, c: "dimmed", children: `${t().t("archbase:Última troca de senha")}: ${A}` })
388
+ i.showPasswordChangedAt && A && /* @__PURE__ */ e(w, { fz: 12, c: "dimmed", children: `${s().t("archbase:Última troca de senha")}: ${A}` })
427
389
  ] }) }),
428
- /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12, md: 4, lg: 4 }, children: /* @__PURE__ */ e.jsxs(oe, { gap: "lg", children: [
429
- i.showAccountDeactivated && /* @__PURE__ */ e.jsx(he.Wrapper, { label: "", children: /* @__PURE__ */ e.jsx(
430
- pe,
390
+ /* @__PURE__ */ e(O.Col, { span: { base: 12, md: 4, lg: 4 }, children: /* @__PURE__ */ o(W, { gap: "lg", children: [
391
+ i.showAccountDeactivated && /* @__PURE__ */ e(be.Wrapper, { label: "", children: /* @__PURE__ */ e(
392
+ ve,
431
393
  {
432
- dataSource: r.dataSource,
394
+ dataSource: a.dataSource,
433
395
  dataField: "accountDeactivated",
434
- label: `${t().t("archbase:Conta desativada ?")}`
396
+ label: `${s().t("archbase:Conta desativada ?")}`
435
397
  }
436
398
  ) }),
437
- i.showAccountLocked && /* @__PURE__ */ e.jsx(he.Wrapper, { label: "", children: /* @__PURE__ */ e.jsx(
438
- pe,
399
+ i.showAccountLocked && /* @__PURE__ */ e(be.Wrapper, { label: "", children: /* @__PURE__ */ e(
400
+ ve,
439
401
  {
440
- dataSource: r.dataSource,
402
+ dataSource: a.dataSource,
441
403
  dataField: "accountLocked",
442
- label: `${t().t("archbase:Conta bloqueada ?")}`
404
+ label: `${s().t("archbase:Conta bloqueada ?")}`
443
405
  }
444
406
  ) }),
445
- i.showIsAdministrator && /* @__PURE__ */ e.jsx(he.Wrapper, { label: "", children: /* @__PURE__ */ e.jsx(
446
- pe,
407
+ i.showIsAdministrator && /* @__PURE__ */ e(be.Wrapper, { label: "", children: /* @__PURE__ */ e(
408
+ ve,
447
409
  {
448
- dataSource: r.dataSource,
410
+ dataSource: a.dataSource,
449
411
  dataField: "isAdministrator",
450
- label: `${t().t("archbase:Administrador ?")}`
412
+ label: `${s().t("archbase:Administrador ?")}`
451
413
  }
452
414
  ) })
453
415
  ] }) }),
454
- /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12, md: 4, lg: 4 }, children: /* @__PURE__ */ e.jsx(oe, { gap: "lg", children: /* @__PURE__ */ e.jsx(
455
- ta,
416
+ /* @__PURE__ */ e(O.Col, { span: { base: 12, md: 4, lg: 4 }, children: /* @__PURE__ */ e(W, { gap: "lg", children: /* @__PURE__ */ e(
417
+ Ba,
456
418
  {
457
- label: t().t("archbase:Foto do usuário"),
458
- dataSource: r.dataSource,
419
+ label: s().t("archbase:Foto do usuário"),
420
+ dataSource: a.dataSource,
459
421
  dataField: "avatar",
460
422
  width: 120,
461
423
  height: 120,
@@ -465,349 +427,351 @@ const ya = ia(
465
427
  }
466
428
  ) }) })
467
429
  ] }),
468
- i.showGroups && /* @__PURE__ */ e.jsxs(I, { children: [
469
- /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12 }, children: /* @__PURE__ */ e.jsx(J, { fz: 14, fw: 500, children: "Grupos" }) }),
470
- /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12 }, children: /* @__PURE__ */ e.jsx(
471
- wa,
430
+ i.showGroups && /* @__PURE__ */ o(O, { children: [
431
+ /* @__PURE__ */ e(O.Col, { span: { base: 12 }, children: /* @__PURE__ */ e(w, { fz: 14, fw: 500, children: "Grupos" }) }),
432
+ /* @__PURE__ */ e(O.Col, { span: { base: 12 }, children: /* @__PURE__ */ e(
433
+ lr,
472
434
  {
473
- titleAvailable: t().t("archbase:Disponíveis"),
474
- titleAssigned: t().t("archbase:Selecionados"),
475
- assignedItemsDS: new sa("dsDualList", {
476
- records: r.dataSource.getFieldValue("groups"),
477
- grandTotalRecords: r.dataSource.getFieldValue("groups").length,
435
+ titleAvailable: s().t("archbase:Disponíveis"),
436
+ titleAssigned: s().t("archbase:Selecionados"),
437
+ assignedItemsDS: new qa("dsDualList", {
438
+ records: a.dataSource.getFieldValue("groups"),
439
+ grandTotalRecords: a.dataSource.getFieldValue("groups").length,
478
440
  currentPage: 0,
479
441
  totalPages: 0,
480
442
  pageSize: 999999
481
443
  }),
482
444
  width: "100%",
483
445
  height: "200px",
484
- availableItemsDS: z,
485
- handleCreateAssociationObject: (d) => er.newInstance(d),
486
- idFieldAssigned: (d) => d && d.group ? d.group.id : "",
446
+ availableItemsDS: u,
447
+ handleCreateAssociationObject: (t) => sa.newInstance(t),
448
+ idFieldAssigned: (t) => t && t.group ? t.group.id : "",
487
449
  idFieldAvailable: "id",
488
- labelFieldAssigned: (d) => d && d.group ? d.group.name : "",
450
+ labelFieldAssigned: (t) => t && t.group ? t.group.name : "",
489
451
  labelFieldAvailable: "name"
490
452
  }
491
453
  ) })
492
454
  ] }),
493
- i?.customContentAfter && /* @__PURE__ */ e.jsx(e.Fragment, { children: i.customContentAfter(r.dataSource.getCurrentRecord()) }),
494
- /* @__PURE__ */ e.jsx(sr, { h: "12px" })
455
+ i?.customContentAfter && /* @__PURE__ */ e(Ne, { children: i.customContentAfter(a.dataSource.getCurrentRecord()) }),
456
+ /* @__PURE__ */ e(ua, { h: "12px" })
495
457
  ] }) }),
496
- /* @__PURE__ */ e.jsxs(V, { justify: "flex-end", mt: "md", children: [
497
- /* @__PURE__ */ e.jsx(N, { variant: "default", onClick: B, children: t().t("archbase:Cancelar") }),
498
- /* @__PURE__ */ e.jsx(N, { onClick: Y, children: t().t("archbase:Salvar") })
458
+ /* @__PURE__ */ o(N, { justify: "flex-end", mt: "md", children: [
459
+ /* @__PURE__ */ e(Z, { variant: "default", onClick: V, children: s().t("archbase:Cancelar") }),
460
+ /* @__PURE__ */ e(Z, { onClick: q, children: s().t("archbase:Salvar") })
499
461
  ] })
500
462
  ]
501
463
  }
502
464
  );
503
- }, Sa = (r) => {
504
- const u = { ...r.options ?? {} }, g = () => {
505
- r.onCustomSave ? r.onCustomSave(r.dataSource.getCurrentRecord(), (l) => {
506
- l && r.onAfterSave && r.onAfterSave(r.dataSource.getCurrentRecord()), r.onClickOk(r.dataSource.getCurrentRecord(), l);
507
- }) : r.onClickOk(r.dataSource.getCurrentRecord(), !0);
465
+ }, hr = (a) => {
466
+ const r = { ...a.options ?? {} }, l = () => {
467
+ a.onCustomSave ? a.onCustomSave(a.dataSource.getCurrentRecord(), (h) => {
468
+ h && a.onAfterSave && a.onAfterSave(a.dataSource.getCurrentRecord()), a.onClickOk(a.dataSource.getCurrentRecord(), h);
469
+ }) : a.onClickOk(a.dataSource.getCurrentRecord(), !0);
508
470
  }, i = () => {
509
- r.onClickCancel(r.dataSource.getCurrentRecord());
471
+ a.onClickCancel(a.dataSource.getCurrentRecord());
510
472
  };
511
- return /* @__PURE__ */ e.jsx(
512
- Fe,
473
+ return /* @__PURE__ */ e(
474
+ ze,
513
475
  {
514
- opened: r.opened,
476
+ opened: a.opened,
515
477
  onClose: i,
516
- title: t().t("archbase:Grupo"),
478
+ title: s().t("archbase:Grupo"),
517
479
  size: "60%",
518
480
  styles: { content: { maxWidth: 1e3 } },
519
- children: /* @__PURE__ */ e.jsx(we, { style: { height: "460px" }, children: /* @__PURE__ */ e.jsxs(oe, { w: "98%", children: [
520
- u?.customContentBefore && u.customContentBefore(r.dataSource.getCurrentRecord()),
521
- /* @__PURE__ */ e.jsxs(I, { children: [
522
- /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12 }, children: /* @__PURE__ */ e.jsx(
523
- ae,
481
+ children: /* @__PURE__ */ e(we, { style: { height: "460px" }, children: /* @__PURE__ */ o(W, { w: "98%", children: [
482
+ r?.customContentBefore && r.customContentBefore(a.dataSource.getCurrentRecord()),
483
+ /* @__PURE__ */ o(O, { children: [
484
+ /* @__PURE__ */ e(O.Col, { span: { base: 12 }, children: /* @__PURE__ */ e(
485
+ re,
524
486
  {
525
- label: `${t().t("archbase:Nome do grupo")}`,
526
- placeholder: `${t().t("archbase:Informe o nome do grupo")}`,
527
- dataSource: r.dataSource,
487
+ label: `${s().t("archbase:Nome do grupo")}`,
488
+ placeholder: `${s().t("archbase:Informe o nome do grupo")}`,
489
+ dataSource: a.dataSource,
528
490
  dataField: "name"
529
491
  }
530
492
  ) }),
531
- /* @__PURE__ */ e.jsx(I.Col, { span: { base: 12 }, children: /* @__PURE__ */ e.jsx(
532
- ae,
493
+ /* @__PURE__ */ e(O.Col, { span: { base: 12 }, children: /* @__PURE__ */ e(
494
+ re,
533
495
  {
534
- label: `${t().t("archbase:Descrição do grupo")}`,
535
- placeholder: `${t().t("archbase:Informe a descrição do grupo")}`,
536
- dataSource: r.dataSource,
496
+ label: `${s().t("archbase:Descrição do grupo")}`,
497
+ placeholder: `${s().t("archbase:Informe a descrição do grupo")}`,
498
+ dataSource: a.dataSource,
537
499
  dataField: "description"
538
500
  }
539
501
  ) })
540
502
  ] }),
541
- u?.customContentAfter && u.customContentAfter(r.dataSource.getCurrentRecord()),
542
- /* @__PURE__ */ e.jsxs(V, { justify: "flex-end", mt: "md", children: [
543
- /* @__PURE__ */ e.jsx(N, { variant: "default", onClick: i, children: t().t("archbase:Cancelar") }),
544
- /* @__PURE__ */ e.jsx(N, { onClick: g, children: t().t("archbase:Salvar") })
503
+ r?.customContentAfter && r.customContentAfter(a.dataSource.getCurrentRecord()),
504
+ /* @__PURE__ */ o(N, { justify: "flex-end", mt: "md", children: [
505
+ /* @__PURE__ */ e(Z, { variant: "default", onClick: i, children: s().t("archbase:Cancelar") }),
506
+ /* @__PURE__ */ e(Z, { onClick: l, children: s().t("archbase:Salvar") })
545
507
  ] })
546
508
  ] }) })
547
509
  }
548
510
  );
549
- }, Aa = ({ image: r, label: u, description: g, ...i }) => /* @__PURE__ */ e.jsx("div", { ...i, children: /* @__PURE__ */ e.jsxs(V, { grow: !0, children: [
550
- /* @__PURE__ */ e.jsx("img", { style: { maxWidth: "32px" }, src: r }),
551
- /* @__PURE__ */ e.jsxs("div", { children: [
552
- /* @__PURE__ */ e.jsx(J, { size: "sm", children: u }),
553
- /* @__PURE__ */ e.jsx(J, { size: "xs", opacity: 0.65, children: g })
511
+ }, pr = ({ image: a, label: r, description: l, ...i }) => /* @__PURE__ */ e("div", { ...i, children: /* @__PURE__ */ o(N, { grow: !0, children: [
512
+ /* @__PURE__ */ e("img", { style: { maxWidth: "32px" }, src: a }),
513
+ /* @__PURE__ */ o("div", { children: [
514
+ /* @__PURE__ */ e(w, { size: "sm", children: r }),
515
+ /* @__PURE__ */ e(w, { size: "xs", opacity: 0.65, children: l })
554
516
  ] })
555
- ] }) }), Ta = (r) => {
556
- pa();
557
- const [u, g] = O(), i = re(_.User), l = ke(
517
+ ] }) }), mr = (a) => {
518
+ tr();
519
+ const [r, l] = P(), i = X(Q.User), h = Pe(
558
520
  "ApiTokenModal",
559
- r.dataSource,
521
+ a.dataSource,
560
522
  "expirationDate",
561
523
  ""
562
- ), x = (h) => {
563
- if (!h)
564
- l.handleValueChange(void 0);
524
+ );
525
+ process.env.NODE_ENV === "development" && a.dataSource && console.log(`[ApiTokenModal] DataSource version: ${h.dataSourceVersion}`);
526
+ const n = (c) => {
527
+ if (!c)
528
+ h.handleValueChange(void 0);
565
529
  else {
566
- const S = typeof h == "string" ? new Date(h) : h, z = Xr(S);
567
- l.handleValueChange(z);
530
+ const C = typeof c == "string" ? new Date(c) : c, u = La(C);
531
+ h.handleValueChange(u);
568
532
  }
569
- g(h);
570
- }, A = async (h, S) => new Promise(async (z, j) => {
533
+ l(c);
534
+ }, A = async (c, C) => new Promise(async (u, b) => {
571
535
  try {
572
- const M = Ie(Te.or(Te.eq("name", `^*${S.trim()}*`))), f = await i.findAllWithFilter(M, h, 20);
573
- z({
574
- options: f.content,
575
- page: f.pageable.pageNumber,
576
- totalPages: f.totalPages
536
+ const D = Le(Ie.or(Ie.eq("name", `^*${C.trim()}*`))), y = await i.findAllWithFilter(D, c, 20);
537
+ u({
538
+ options: y.content,
539
+ page: y.pageable.pageNumber,
540
+ totalPages: y.totalPages
577
541
  });
578
- } catch (M) {
579
- j(Ae(M));
542
+ } catch (D) {
543
+ b(he(D));
580
544
  }
581
- }), c = () => {
582
- r.onCustomSave ? r.onCustomSave(r.dataSource.current, (h) => {
583
- h && r.onAfterSave && r.onAfterSave(r.dataSource.current), r.onClickOk(r.dataSource.current, h);
584
- }) : r.onClickOk(r.dataSource.current, !0);
585
- }, $ = () => {
586
- r.onClickCancel(r.dataSource.current);
545
+ }), v = () => {
546
+ a.onCustomSave ? a.onCustomSave(a.dataSource.current, (c) => {
547
+ c && a.onAfterSave && a.onAfterSave(a.dataSource.current), a.onClickOk(a.dataSource.current, c);
548
+ }) : a.onClickOk(a.dataSource.current, !0);
549
+ }, x = () => {
550
+ a.onClickCancel(a.dataSource.current);
587
551
  };
588
- return /* @__PURE__ */ e.jsxs(
589
- Fe,
552
+ return /* @__PURE__ */ o(
553
+ ze,
590
554
  {
591
- opened: r.opened,
592
- onClose: $,
593
- title: t().t("archbase:Token de API"),
555
+ opened: a.opened,
556
+ onClose: x,
557
+ title: s().t("archbase:Token de API"),
594
558
  size: "50%",
595
559
  children: [
596
- /* @__PURE__ */ e.jsxs(we, { style: { height: "300px" }, children: [
597
- /* @__PURE__ */ e.jsx(
598
- ae,
560
+ /* @__PURE__ */ o(we, { style: { height: "300px" }, children: [
561
+ /* @__PURE__ */ e(
562
+ re,
599
563
  {
600
- label: `${t().t("archbase:Nome do token")}`,
601
- placeholder: `${t().t("archbase:Informe o nome do token")}`,
602
- dataSource: r.dataSource,
564
+ label: `${s().t("archbase:Nome do token")}`,
565
+ placeholder: `${s().t("archbase:Informe o nome do token")}`,
566
+ dataSource: a.dataSource,
603
567
  dataField: "name"
604
568
  }
605
569
  ),
606
- /* @__PURE__ */ e.jsx(
607
- ae,
570
+ /* @__PURE__ */ e(
571
+ re,
608
572
  {
609
- label: `${t().t("archbase:Descrição do token")}`,
610
- placeholder: `${t().t("archbase:Informe a descrição do token")}`,
611
- dataSource: r.dataSource,
573
+ label: `${s().t("archbase:Descrição do token")}`,
574
+ placeholder: `${s().t("archbase:Informe a descrição do token")}`,
575
+ dataSource: a.dataSource,
612
576
  dataField: "description"
613
577
  }
614
578
  ),
615
- /* @__PURE__ */ e.jsx(
616
- ha,
579
+ /* @__PURE__ */ e(
580
+ rr,
617
581
  {
618
582
  withSeconds: !0,
619
- value: u,
620
- onChange: x,
583
+ value: r,
584
+ onChange: n,
621
585
  label: "Data/hora expiração",
622
586
  placeholder: "Selecione a data de expiração"
623
587
  }
624
588
  ),
625
- /* @__PURE__ */ e.jsx(
626
- oa,
589
+ /* @__PURE__ */ e(
590
+ Wa,
627
591
  {
628
- label: `${t().t("archbase:Usuário")}`,
629
- dataSource: r.dataSource,
592
+ label: `${s().t("archbase:Usuário")}`,
593
+ dataSource: a.dataSource,
630
594
  dataField: "user",
631
- placeholder: `${t().t("archbase:Digite aqui o nome do usuário")}`,
632
- getOptionLabel: (h) => h && h.email ? h.email : "",
633
- getOptionValue: (h) => h && h.id ? h.id.toString() : "",
595
+ placeholder: `${s().t("archbase:Digite aqui o nome do usuário")}`,
596
+ getOptionLabel: (c) => c && c.email ? c.email : "",
597
+ getOptionValue: (c) => c && c.id ? c.id.toString() : "",
634
598
  getOptions: A,
635
599
  debounceTime: 500,
636
600
  minCharsToSearch: 1,
637
- itemComponent: Aa
601
+ itemComponent: pr
638
602
  }
639
603
  )
640
604
  ] }),
641
- /* @__PURE__ */ e.jsxs(V, { justify: "flex-end", mt: "md", children: [
642
- /* @__PURE__ */ e.jsx(N, { variant: "default", onClick: $, children: t().t("archbase:Cancelar") }),
643
- /* @__PURE__ */ e.jsx(N, { onClick: c, children: t().t("archbase:Salvar") })
605
+ /* @__PURE__ */ o(N, { justify: "flex-end", mt: "md", children: [
606
+ /* @__PURE__ */ e(Z, { variant: "default", onClick: x, children: s().t("archbase:Cancelar") }),
607
+ /* @__PURE__ */ e(Z, { onClick: v, children: s().t("archbase:Salvar") })
644
608
  ] })
645
609
  ]
646
610
  }
647
611
  );
648
- }, or = (r) => {
649
- const u = "->";
650
- return r.includes(u) ? r.split(u).map((l) => l.trim()).map((l) => t().t(l)).join(` ${u} `) : t().t(r);
612
+ }, ca = (a) => {
613
+ const r = "->";
614
+ return a.includes(r) ? a.split(r).map((h) => h.trim()).map((h) => s().t(h)).join(` ${r} `) : s().t(a);
651
615
  };
652
- function Me({ dataSource: r, opened: u, close: g }) {
653
- const i = xe(() => r?.getFieldValue("name") || "", [r]), l = xe(() => r?.getFieldValue("id") || "", [r]), x = xe(() => r?.getFieldValue("type") || "", [r]), A = Ze(), c = Ze(), [$, h] = O([]), [S, z] = O([]), [j, M] = O(), [f, Y] = O(), [B, d] = O(""), [v] = rr(B, 200), [T, W] = O(""), [E] = rr(T, 200), Q = re(_.Resource), { colorScheme: o } = Oe(), D = o === "dark" ? "var(--mantine-primary-color-7)" : "var(--mantine-primary-color-4)", Z = xe(() => S.sort((s, n) => s.resourceDescription.localeCompare(n.resourceDescription)).map((s) => ({
654
- value: s.resourceId,
655
- label: s.resourceDescription,
656
- children: s.permissions.filter((n) => n.actionDescription.toLowerCase().includes(E.toLowerCase())).sort((n, L) => n.actionDescription.localeCompare(L.actionDescription)).map((n) => ({
657
- value: n.actionId,
658
- label: n.actionDescription,
616
+ function qe({ dataSource: a, opened: r, close: l }) {
617
+ const i = ae(() => a?.getFieldValue("name") || "", [a]), h = ae(() => a?.getFieldValue("id") || "", [a]), n = ae(() => a?.getFieldValue("type") || "", [a]), A = aa(), v = aa(), [x, c] = P([]), [C, u] = P([]), [b, D] = P(), [y, q] = P(), [V, t] = P(""), [d] = la(V, 200), [g, F] = P(""), [z] = la(g, 200), f = X(Q.Resource), { colorScheme: oe } = Ge(), G = oe === "dark" ? "var(--mantine-primary-color-7)" : "var(--mantine-primary-color-4)", J = ae(() => C.sort((p, m) => p.resourceDescription.localeCompare(m.resourceDescription)).map((p) => ({
618
+ value: p.resourceId,
619
+ label: p.resourceDescription,
620
+ children: p.permissions.filter((m) => m.actionDescription.toLowerCase().includes(z.toLowerCase())).sort((m, M) => m.actionDescription.localeCompare(M.actionDescription)).map((m) => ({
621
+ value: m.actionId,
622
+ label: m.actionDescription,
659
623
  nodeProps: {
660
- permissionId: n.permissionId,
661
- types: n.types ?? [],
662
- owner: s
624
+ permissionId: m.permissionId,
625
+ types: m.types ?? [],
626
+ owner: p
663
627
  }
664
628
  }))
665
- })), [S, E]), p = xe(() => S.map((s) => s.permissions.map((n) => n.actionId)).flat(), [S]), w = xe(() => $.sort((s, n) => s.resourceDescription.localeCompare(n.resourceDescription)).map((s) => ({
666
- value: s.resourceId,
667
- label: s.resourceDescription,
668
- children: s.permissions.filter((n) => n.actionDescription.toLowerCase().includes(v.toLowerCase())).sort((n, L) => n.actionDescription.localeCompare(L.actionDescription)).map((n) => {
669
- const L = S.find((C) => C.resourceId === s.resourceId)?.permissions.find((C) => C.actionId === n.actionId);
629
+ })), [C, z]), S = ae(() => C.map((p) => p.permissions.map((m) => m.actionId)).flat(), [C]), k = ae(() => x.sort((p, m) => p.resourceDescription.localeCompare(m.resourceDescription)).map((p) => ({
630
+ value: p.resourceId,
631
+ label: p.resourceDescription,
632
+ children: p.permissions.filter((m) => m.actionDescription.toLowerCase().includes(d.toLowerCase())).sort((m, M) => m.actionDescription.localeCompare(M.actionDescription)).map((m) => {
633
+ const M = C.find((E) => E.resourceId === p.resourceId)?.permissions.find((E) => E.actionId === m.actionId);
670
634
  return {
671
- value: n.actionId,
672
- label: n.actionDescription,
635
+ value: m.actionId,
636
+ label: m.actionDescription,
673
637
  nodeProps: {
674
- granted: p.includes(n.actionId) && L?.types?.includes(le(P, x)),
675
- owner: s
638
+ granted: S.includes(m.actionId) && M?.types?.includes(me(H, n)),
639
+ owner: p
676
640
  }
677
641
  };
678
642
  })
679
- })), [$, S, p, x, v]), b = ge(async () => {
680
- if (l) {
681
- const s = await Q.getPermissionsBySecurityId(l, x), n = await Q.getAllPermissionsAvailable();
682
- h(n), z(s);
643
+ })), [x, C, S, n, d]), R = de(async () => {
644
+ if (h) {
645
+ const p = await f.getPermissionsBySecurityId(h, n), m = await f.getAllPermissionsAvailable();
646
+ c(m), u(p);
683
647
  }
684
- }, [l, x]), ce = ge(() => {
685
- j?.value && l && Q.createPermission(l, j.value, x).then((s) => {
686
- if (s) {
687
- z((G) => {
688
- let k;
689
- return G.map((y) => y.resourceId).includes(s.resourceId) ? k = G.map((y) => y.resourceId === s.resourceId ? y.permissions.map((R) => R.actionId).includes(j.value) ? {
690
- ...y,
691
- permissions: y.permissions.map(
692
- (R) => R.actionId === j.value ? {
693
- ...R,
694
- permissionId: s.permissionId,
695
- types: [...R.types ?? [], le(P, x)]
696
- } : R
648
+ }, [h, n]), fe = de(() => {
649
+ b?.value && h && f.createPermission(h, b.value, n).then((p) => {
650
+ if (p) {
651
+ u((U) => {
652
+ let $;
653
+ return U.map((B) => B.resourceId).includes(p.resourceId) ? $ = U.map((B) => B.resourceId === p.resourceId ? B.permissions.map((L) => L.actionId).includes(b.value) ? {
654
+ ...B,
655
+ permissions: B.permissions.map(
656
+ (L) => L.actionId === b.value ? {
657
+ ...L,
658
+ permissionId: p.permissionId,
659
+ types: [...L.types ?? [], me(H, n)]
660
+ } : L
697
661
  )
698
662
  } : {
699
- ...y,
663
+ ...B,
700
664
  permissions: [
701
- ...y.permissions ?? [],
665
+ ...B.permissions ?? [],
702
666
  {
703
- actionId: s.actionId,
704
- actionDescription: s.actionDescription,
705
- permissionId: s.permissionId,
706
- types: [le(P, x)]
667
+ actionId: p.actionId,
668
+ actionDescription: p.actionDescription,
669
+ permissionId: p.permissionId,
670
+ types: [me(H, n)]
707
671
  }
708
672
  ]
709
- } : y) : k = [
710
- ...G,
673
+ } : B) : $ = [
674
+ ...U,
711
675
  {
712
- resourceId: s.resourceId,
713
- resourceDescription: s.resourceDescription,
676
+ resourceId: p.resourceId,
677
+ resourceDescription: p.resourceDescription,
714
678
  permissions: [
715
679
  {
716
- actionId: s.actionId,
717
- actionDescription: s.actionDescription,
718
- permissionId: s.permissionId,
719
- types: [le(P, x)]
680
+ actionId: p.actionId,
681
+ actionDescription: p.actionDescription,
682
+ permissionId: p.permissionId,
683
+ types: [me(H, n)]
720
684
  }
721
685
  ]
722
686
  }
723
- ], k;
687
+ ], $;
724
688
  });
725
- const n = w.filter((G) => G.value === j?.nodeProps?.owner?.resourceId).map((G) => G.children).flat(), L = n.map((G) => G.value).indexOf(j.value), C = n.find((G, k) => !G?.nodeProps?.granted && G?.value !== j.value && (n.length > L + 1 ? k > L : !0));
726
- C?.value && A.select(C.value), c.expand(s.resourceId), M(C);
689
+ const m = k.filter((U) => U.value === b?.nodeProps?.owner?.resourceId).map((U) => U.children).flat(), M = m.map((U) => U.value).indexOf(b.value), E = m.find((U, $) => !U?.nodeProps?.granted && U?.value !== b.value && (m.length > M + 1 ? $ > M : !0));
690
+ E?.value && A.select(E.value), v.expand(p.resourceId), D(E);
727
691
  }
728
692
  });
729
- }, [j, l, x, Q, w, $, S, A, c]), ne = ge(() => {
730
- f?.nodeProps?.permissionId && Q.deletePermission(f.nodeProps.permissionId).then(() => {
731
- z((C) => [...C].filter((k) => {
732
- let y = !0;
733
- return k.permissions?.forEach((R) => {
734
- R.permissionId !== void 0 && R.permissionId === f?.nodeProps?.permissionId && k.permissions.length === 1 && R?.types?.length === 1 && R.types[0] === le(P, x) && (y = !1);
735
- }), y;
736
- }).map((k) => {
737
- const y = f?.nodeProps?.owner;
738
- return k.resourceId === y.resourceId ? f?.nodeProps?.types?.length === 1 ? {
739
- ...k,
740
- permissions: [...(k.permissions ?? []).filter((R) => R.permissionId !== f?.nodeProps?.permissionId)]
693
+ }, [b, h, n, f, k, x, C, A, v]), pe = de(() => {
694
+ y?.nodeProps?.permissionId && f.deletePermission(y.nodeProps.permissionId).then(() => {
695
+ u((E) => [...E].filter(($) => {
696
+ let B = !0;
697
+ return $.permissions?.forEach((L) => {
698
+ L.permissionId !== void 0 && L.permissionId === y?.nodeProps?.permissionId && $.permissions.length === 1 && L?.types?.length === 1 && L.types[0] === me(H, n) && (B = !1);
699
+ }), B;
700
+ }).map(($) => {
701
+ const B = y?.nodeProps?.owner;
702
+ return $.resourceId === B.resourceId ? y?.nodeProps?.types?.length === 1 ? {
703
+ ...$,
704
+ permissions: [...($.permissions ?? []).filter((L) => L.permissionId !== y?.nodeProps?.permissionId)]
741
705
  } : {
742
- ...k,
743
- permissions: (k.permissions ?? []).map((R) => R.actionId === f.value ? {
744
- actionId: R.actionId,
745
- actionDescription: R.actionDescription,
746
- types: [...R.types?.filter((de) => de && de !== le(P, x)) ?? []]
747
- } : R)
748
- } : k;
706
+ ...$,
707
+ permissions: ($.permissions ?? []).map((L) => L.actionId === y.value ? {
708
+ actionId: L.actionId,
709
+ actionDescription: L.actionDescription,
710
+ types: [...L.types?.filter((ie) => ie && ie !== me(H, n)) ?? []]
711
+ } : L)
712
+ } : $;
749
713
  }));
750
- const s = Z.filter((C) => C.value === f?.nodeProps?.owner?.resourceId).map((C) => C.children).flat(), n = s.map((C) => C.value).indexOf(f.value), L = s.find((C, G) => C?.nodeProps?.types.includes(le(P, x)) && C?.value !== f.value && (s.length > n + 1 ? G > n : !0));
751
- L?.value && c.select(L.value), Y(L);
714
+ const p = J.filter((E) => E.value === y?.nodeProps?.owner?.resourceId).map((E) => E.children).flat(), m = p.map((E) => E.value).indexOf(y.value), M = p.find((E, U) => E?.nodeProps?.types.includes(me(H, n)) && E?.value !== y.value && (p.length > m + 1 ? U > m : !0));
715
+ M?.value && v.select(M.value), q(M);
752
716
  });
753
- }, [f, Q, x, Z, S, c]);
754
- return Re(() => {
755
- u && r && (M(void 0), Y(void 0), d(""), W(""), c.collapseAllNodes(), A.collapseAllNodes(), b());
756
- }, [u, x, l, b]), r ? /* @__PURE__ */ e.jsx(Fe, { opened: u, onClose: g, title: `${t().t(`archbase:${x}`)}: ${i}`, size: "80%", styles: { root: { overflow: "hidden" } }, children: /* @__PURE__ */ e.jsxs(xa, { height: "540px", children: [
757
- /* @__PURE__ */ e.jsx(ma, { children: /* @__PURE__ */ e.jsx(K, { withBorder: !0, my: 20, p: 20, style: { height: "calc(100% - 40px)", overflow: "hidden", display: "flex", flexDirection: "column" }, children: /* @__PURE__ */ e.jsxs("div", { style: { flex: 1, display: "flex", flexDirection: "row", overflow: "hidden", minHeight: 0, gap: "8px" }, children: [
758
- /* @__PURE__ */ e.jsxs("div", { style: { flex: 9, display: "flex", flexDirection: "column", overflow: "hidden", minHeight: 0 }, children: [
759
- /* @__PURE__ */ e.jsxs(V, { mb: 20, children: [
760
- /* @__PURE__ */ e.jsx(J, { children: t().t("archbase:Available") }),
761
- /* @__PURE__ */ e.jsx(
762
- Qe,
717
+ }, [y, f, n, J, C, v]);
718
+ return Se(() => {
719
+ r && a && (D(void 0), q(void 0), t(""), F(""), v.collapseAllNodes(), A.collapseAllNodes(), R());
720
+ }, [r, n, h, R]), a ? /* @__PURE__ */ e(ze, { opened: r, onClose: l, title: `${s().t(`archbase:${n}`)}: ${i}`, size: "80%", styles: { root: { overflow: "hidden" } }, children: /* @__PURE__ */ o(or, { height: "540px", children: [
721
+ /* @__PURE__ */ e(ir, { children: /* @__PURE__ */ e(Y, { withBorder: !0, my: 20, p: 20, style: { height: "calc(100% - 40px)", overflow: "hidden", display: "flex", flexDirection: "column" }, children: /* @__PURE__ */ o("div", { style: { flex: 1, display: "flex", flexDirection: "row", overflow: "hidden", minHeight: 0, gap: "8px" }, children: [
722
+ /* @__PURE__ */ o("div", { style: { flex: 9, display: "flex", flexDirection: "column", overflow: "hidden", minHeight: 0 }, children: [
723
+ /* @__PURE__ */ o(N, { mb: 20, children: [
724
+ /* @__PURE__ */ e(w, { children: s().t("archbase:Available") }),
725
+ /* @__PURE__ */ e(
726
+ ge,
763
727
  {
764
728
  size: "xs",
765
- value: B,
766
- onChange: (s) => d(s.target.value),
767
- placeholder: t().t("archbase:Filter available permissions")
729
+ value: V,
730
+ onChange: (p) => t(p.target.value),
731
+ placeholder: s().t("archbase:Filter available permissions")
768
732
  }
769
733
  )
770
734
  ] }),
771
- /* @__PURE__ */ e.jsx(we, { style: { flex: 1, minHeight: 0 }, children: /* @__PURE__ */ e.jsx(
772
- Ye,
735
+ /* @__PURE__ */ e(we, { style: { flex: 1, minHeight: 0 }, children: /* @__PURE__ */ e(
736
+ ra,
773
737
  {
774
- data: w,
738
+ data: k,
775
739
  selectOnClick: !0,
776
740
  allowRangeSelection: !1,
777
741
  tree: A,
778
- renderNode: ({ level: s, node: n, expanded: L, hasChildren: C, selected: G, elementProps: k }) => {
779
- const y = n?.nodeProps?.granted, R = y ? "dimmed" : void 0, de = y ? "line-through" : void 0, U = ge((Ee) => {
780
- M(n), k.onClick(Ee);
781
- }, [n, k.onClick]);
782
- return /* @__PURE__ */ e.jsxs(
783
- V,
742
+ renderNode: ({ level: p, node: m, expanded: M, hasChildren: E, selected: U, elementProps: $ }) => {
743
+ const B = m?.nodeProps?.granted, L = B ? "dimmed" : void 0, ie = B ? "line-through" : void 0, Oe = de((Ue) => {
744
+ D(m), $.onClick(Ue);
745
+ }, [m, $.onClick]);
746
+ return /* @__PURE__ */ o(
747
+ N,
784
748
  {
785
- ml: C ? 0 : 5,
749
+ ml: E ? 0 : 5,
786
750
  gap: 5,
787
- ...k,
788
- bg: G && s === 2 ? D : "",
789
- onClick: U,
751
+ ...$,
752
+ bg: U && p === 2 ? G : "",
753
+ onClick: Oe,
790
754
  children: [
791
- C && /* @__PURE__ */ e.jsx(
792
- Ke,
755
+ E && /* @__PURE__ */ e(
756
+ ia,
793
757
  {
794
758
  size: 18,
795
- style: { transform: L ? "rotate(0deg)" : "rotate(-90deg)" }
759
+ style: { transform: M ? "rotate(0deg)" : "rotate(-90deg)" }
796
760
  }
797
761
  ),
798
- !C && /* @__PURE__ */ e.jsx(
799
- _e,
762
+ !E && /* @__PURE__ */ e(
763
+ na,
800
764
  {
801
765
  size: 12,
802
766
  style: { transform: "rotate(-90deg)", marginTop: "-5px" }
803
767
  }
804
768
  ),
805
- /* @__PURE__ */ e.jsx(
806
- J,
769
+ /* @__PURE__ */ e(
770
+ w,
807
771
  {
808
- c: R,
809
- td: de,
810
- children: or(n.label)
772
+ c: L,
773
+ td: ie,
774
+ children: ca(m.label)
811
775
  }
812
776
  )
813
777
  ]
@@ -817,61 +781,61 @@ function Me({ dataSource: r, opened: u, close: g }) {
817
781
  }
818
782
  ) })
819
783
  ] }),
820
- /* @__PURE__ */ e.jsx("div", { style: { flex: 2, display: "flex", alignItems: "center", justifyContent: "center" }, children: /* @__PURE__ */ e.jsxs(oe, { gap: 5, align: "center", children: [
821
- /* @__PURE__ */ e.jsx(se, { label: t().t("archbase:Add"), children: /* @__PURE__ */ e.jsx(H, { onClick: ce, disabled: !j || j?.nodeProps?.granted || !j.nodeProps, children: /* @__PURE__ */ e.jsx(lr, {}) }) }),
822
- /* @__PURE__ */ e.jsx(se, { label: t().t("archbase:Remove"), children: /* @__PURE__ */ e.jsx(H, { onClick: ne, disabled: !f || !f?.nodeProps?.permissionId || !f.nodeProps, children: /* @__PURE__ */ e.jsx(cr, {}) }) })
784
+ /* @__PURE__ */ e("div", { style: { flex: 2, display: "flex", alignItems: "center", justifyContent: "center" }, children: /* @__PURE__ */ o(W, { gap: 5, align: "center", children: [
785
+ /* @__PURE__ */ e(Ce, { label: s().t("archbase:Add"), children: /* @__PURE__ */ e(ue, { onClick: fe, disabled: !b || b?.nodeProps?.granted || !b.nodeProps, children: /* @__PURE__ */ e(ma, {}) }) }),
786
+ /* @__PURE__ */ e(Ce, { label: s().t("archbase:Remove"), children: /* @__PURE__ */ e(ue, { onClick: pe, disabled: !y || !y?.nodeProps?.permissionId || !y.nodeProps, children: /* @__PURE__ */ e(ga, {}) }) })
823
787
  ] }) }),
824
- /* @__PURE__ */ e.jsxs("div", { style: { flex: 9, display: "flex", flexDirection: "column", overflow: "hidden", minHeight: 0 }, children: [
825
- /* @__PURE__ */ e.jsxs(V, { mb: 20, children: [
826
- /* @__PURE__ */ e.jsx(J, { children: t().t("archbase:Granted") }),
827
- /* @__PURE__ */ e.jsx(
828
- Qe,
788
+ /* @__PURE__ */ o("div", { style: { flex: 9, display: "flex", flexDirection: "column", overflow: "hidden", minHeight: 0 }, children: [
789
+ /* @__PURE__ */ o(N, { mb: 20, children: [
790
+ /* @__PURE__ */ e(w, { children: s().t("archbase:Granted") }),
791
+ /* @__PURE__ */ e(
792
+ ge,
829
793
  {
830
794
  size: "xs",
831
- value: T,
832
- onChange: (s) => W(s.target.value),
833
- placeholder: t().t("archbase:Filter granted permissions")
795
+ value: g,
796
+ onChange: (p) => F(p.target.value),
797
+ placeholder: s().t("archbase:Filter granted permissions")
834
798
  }
835
799
  )
836
800
  ] }),
837
- /* @__PURE__ */ e.jsx(we, { style: { flex: 1, minHeight: 0 }, children: /* @__PURE__ */ e.jsx(
838
- Ye,
801
+ /* @__PURE__ */ e(we, { style: { flex: 1, minHeight: 0 }, children: /* @__PURE__ */ e(
802
+ ra,
839
803
  {
840
- data: Z,
804
+ data: J,
841
805
  selectOnClick: !0,
842
806
  allowRangeSelection: !1,
843
- tree: c,
844
- renderNode: ({ level: s, node: n, expanded: L, hasChildren: C, selected: G, elementProps: k }) => {
845
- const y = ge((R) => {
846
- Y(n), k.onClick(R);
847
- }, [n, k.onClick]);
848
- return /* @__PURE__ */ e.jsxs(
849
- V,
807
+ tree: v,
808
+ renderNode: ({ level: p, node: m, expanded: M, hasChildren: E, selected: U, elementProps: $ }) => {
809
+ const B = de((L) => {
810
+ q(m), $.onClick(L);
811
+ }, [m, $.onClick]);
812
+ return /* @__PURE__ */ o(
813
+ N,
850
814
  {
851
- ml: C ? 0 : 5,
815
+ ml: E ? 0 : 5,
852
816
  gap: 5,
853
- ...k,
854
- bg: G && s === 2 ? D : "",
855
- onClick: y,
817
+ ...$,
818
+ bg: U && p === 2 ? G : "",
819
+ onClick: B,
856
820
  children: [
857
- C && /* @__PURE__ */ e.jsx(
858
- Ke,
821
+ E && /* @__PURE__ */ e(
822
+ ia,
859
823
  {
860
824
  size: 18,
861
- style: { transform: L ? "rotate(0deg)" : "rotate(-90deg)" }
825
+ style: { transform: M ? "rotate(0deg)" : "rotate(-90deg)" }
862
826
  }
863
827
  ),
864
- !C && /* @__PURE__ */ e.jsx(
865
- _e,
828
+ !E && /* @__PURE__ */ e(
829
+ na,
866
830
  {
867
831
  size: 12,
868
832
  style: { transform: "rotate(-90deg)", marginTop: "-5px" }
869
833
  }
870
834
  ),
871
- /* @__PURE__ */ e.jsx(J, { children: or(n.label) }),
872
- n?.nodeProps?.types?.includes("USER") && /* @__PURE__ */ e.jsx(Se, { color: "blue", children: t().t("archbase:user") }),
873
- n?.nodeProps?.types?.includes("GROUP") && /* @__PURE__ */ e.jsx(Se, { color: "orange", children: t().t("archbase:group") }),
874
- n?.nodeProps?.types?.includes("PROFILE") && /* @__PURE__ */ e.jsx(Se, { color: "pink", children: t().t("archbase:profile") })
835
+ /* @__PURE__ */ e(w, { children: ca(m.label) }),
836
+ m?.nodeProps?.types?.includes("USER") && /* @__PURE__ */ e(te, { color: "blue", children: s().t("archbase:user") }),
837
+ m?.nodeProps?.types?.includes("GROUP") && /* @__PURE__ */ e(te, { color: "orange", children: s().t("archbase:group") }),
838
+ m?.nodeProps?.types?.includes("PROFILE") && /* @__PURE__ */ e(te, { color: "pink", children: s().t("archbase:profile") })
875
839
  ]
876
840
  }
877
841
  );
@@ -880,855 +844,842 @@ function Me({ dataSource: r, opened: u, close: g }) {
880
844
  ) })
881
845
  ] })
882
846
  ] }) }) }),
883
- /* @__PURE__ */ e.jsx(fa, { size: "40px", children: /* @__PURE__ */ e.jsx(V, { justify: "flex-end", children: /* @__PURE__ */ e.jsx(N, { onClick: g, children: t().t("archbase:Close") }) }) })
847
+ /* @__PURE__ */ e(nr, { size: "40px", children: /* @__PURE__ */ e(N, { justify: "flex-end", children: /* @__PURE__ */ e(Z, { onClick: l, children: s().t("archbase:Close") }) }) })
884
848
  ] }) }) : null;
885
849
  }
886
- const Ne = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABMCAMAAAD5ogFjAAABj1BMVEUAAADMzMzLy8vAwMDLy8vLy8vLy8vMzMzKysrR0dHPz8/MzMzNzc3KysrMzMzKysrLy8vLy8vLy8vJycnR0dHMzMzPz8/Ozs7MzMxPT0/Nzc1UVFTJyclTU1PMzMzKysrMzMzJycldXV1iYmLMzMzIyMhNTU1NTU3MzMzLy8vNzc3MzMxVVVXLy8vMzMzLy8vLy8tNTU3MzMzOzs5QUFDLy8vKyspRUVFRUVHMzMxZWVlycnLLy8tUVFTJycnKyspZWVlXV1dhYWHGxsZMTExQUFBPT0/Ozs7Ly8vPz89SUlJSUlLMzMxVVVVWVlZVVVXKysptbW1bW1t6enpmZmbLy8tKSkrQ0NDOzs5FRUXNzc1NTU3S0tLU1NRHR0dSUlKzs7ORkZF4eHhPT0/Jycm9vb26urp8fHxYWFisrKylpaWdnZ11dXVubm5fX1+8vLy3t7ehoaFkZGRVVVXBwcG/v7+vr6+ZmZmUlJSNjY2GhoZzc3NcXFzGxsbDw8Ofn5+WlpaBgYGwsLCpqalqampaWRCJAAAAVXRSTlMA+YUG1M7Df1AQ8urbdWdiXjo2HQkE+/vu4qqIcV1bRDEpIRwXFO/q2ZiObWJZSiv+9uTe3cq8s6qkgX55b1pWR0YVDfvJyLCcmZWTi2lZVz82LRcUQGGNCgAAA9pJREFUWMPll2db2zAQgJ0AgUIYDSl7tZRZ6N57793akizZCSSEEJKw9yi0/eHtEwgid5IxfOX9mnvenM93J8s4tZw5391Q3/Hu0mj3lTMnllys+hi6HqBCCCIEDVwPDVddPEEqXW9qiEOoeQAlDqlpGz1eYo2VYSFsE2ELcSPY6FvTV1njUFMDdVqCff48DWGgAdhOuMtPie8JrUaWq+3I5zs76Jg+cG50e3seVxPTF6S63svT0URNn1BSqffUEhvHE/ofgn8x9aZLKJpcja/sZnO57Pp0yqbIVKv2VDUBD93amedsn0QuA1U2eazynG8BceRPnrnWAczdmAERtLoHe6IhAaJWLWaVwNLLBPxXxQskCjogZse1ICz2G+TkDKNGbAb5THELwzaXQB2bzpZ6zt0GD5acZ5bKNA4LGSorET2BDz/NLDVT0FQywGW34GT81YhYForKo4dbCHjsVMLSEJuxgWnUkMAKkTmmE7E52ExhuX2vBGDzj+lFa7AKzRHUQ1K0qheNQZETPHj3FQSKfulF0zCYlpcVpyyAlseypcOdojC6uThxdQLt94mYTpRI2WjvduyL3kqRbGxXk1A+iYJFmywRhEyCIuEZwUXqq7Hxb+M60QYOtlsaZa3BT7PazuZxisP3VkA3/MX79a8QHH5574iWtfbZ2RDRUBDVA5HPzsbvvw6LaMZraLGodu9YdEzPhsRrBCIq985FLDKpto8mKY4WD+VWQymlXWVjpydshaiuILpcEKGxjSkfLE4VwaSqIOq5aioQ40w1IMRUEUEjgrctXkaqEZFDi1lccL1fGd5s94RKRLMMJZSTHrBGcEfiMxJ3Ne5HeYhg7CX03vgsVUZGiuesLBJqSrzUcNxgFBxHMGA2gVeRAjFkFOkJmCqSebekqzeTyrDmQ182IV8NEJtQNtytc+irBn5rwUHLqMJEvSGJlitCCCr2BsVRNFzyGdklcEQcHwAZop58SRmqEt2aZ3iJpChMuyJqlPC1CQRs51RDm08RdIAAhpzD6dCpvPpjNJ2hh5NyhvCFb5DIq0F83NKd/VY2LlWkXHFXjlTTfU1qlzNLC+OTs8Tev0JElHfZQkpkaT0GNEiVWJ8oqIjm8vdQ2GR7bAFrsGphbZHYQnthC5orm8y1fOCy9Fhy2NDyANVYr3IfGB6MXOM+Rdc+GZ48venLxG8+M46g9y734bl7wTiazlZ+hKZ1xPBFb/sA99D0t/cafrnQ3sq50sJb2+FTefOz804/50DC+++MPDeOTe+XD68GeJGXA6/ff4bJ+OfHt2edj+7ff9T59Ptz47TyD0dpv5fjoIC3AAAAAElFTkSuQmCC", ka = (r) => r.groups ? /* @__PURE__ */ e.jsx("div", { style: { display: "flex" }, children: r.groups.slice().sort((u, g) => (u.group?.name ?? "").localeCompare(g.group?.name ?? "")).map((u, g) => /* @__PURE__ */ e.jsx("div", { style: { paddingRight: "2px" }, children: /* @__PURE__ */ e.jsx(Se, { color: "blue", children: u.group?.name }) }, g)) }) : null, Ra = (r) => r.profile ? /* @__PURE__ */ e.jsx(Se, { color: "green", children: r.profile?.name }) : null;
887
- function Ma({
888
- height: r = "400px",
889
- width: u = "100%",
890
- createEntitiesWithId: g = !0,
850
+ const Ye = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABMCAMAAAD5ogFjAAABj1BMVEUAAADMzMzLy8vAwMDLy8vLy8vLy8vMzMzKysrR0dHPz8/MzMzNzc3KysrMzMzKysrLy8vLy8vLy8vJycnR0dHMzMzPz8/Ozs7MzMxPT0/Nzc1UVFTJyclTU1PMzMzKysrMzMzJycldXV1iYmLMzMzIyMhNTU1NTU3MzMzLy8vNzc3MzMxVVVXLy8vMzMzLy8vLy8tNTU3MzMzOzs5QUFDLy8vKyspRUVFRUVHMzMxZWVlycnLLy8tUVFTJycnKyspZWVlXV1dhYWHGxsZMTExQUFBPT0/Ozs7Ly8vPz89SUlJSUlLMzMxVVVVWVlZVVVXKysptbW1bW1t6enpmZmbLy8tKSkrQ0NDOzs5FRUXNzc1NTU3S0tLU1NRHR0dSUlKzs7ORkZF4eHhPT0/Jycm9vb26urp8fHxYWFisrKylpaWdnZ11dXVubm5fX1+8vLy3t7ehoaFkZGRVVVXBwcG/v7+vr6+ZmZmUlJSNjY2GhoZzc3NcXFzGxsbDw8Ofn5+WlpaBgYGwsLCpqalqampaWRCJAAAAVXRSTlMA+YUG1M7Df1AQ8urbdWdiXjo2HQkE+/vu4qqIcV1bRDEpIRwXFO/q2ZiObWJZSiv+9uTe3cq8s6qkgX55b1pWR0YVDfvJyLCcmZWTi2lZVz82LRcUQGGNCgAAA9pJREFUWMPll2db2zAQgJ0AgUIYDSl7tZRZ6N57793akizZCSSEEJKw9yi0/eHtEwgid5IxfOX9mnvenM93J8s4tZw5391Q3/Hu0mj3lTMnllys+hi6HqBCCCIEDVwPDVddPEEqXW9qiEOoeQAlDqlpGz1eYo2VYSFsE2ELcSPY6FvTV1njUFMDdVqCff48DWGgAdhOuMtPie8JrUaWq+3I5zs76Jg+cG50e3seVxPTF6S63svT0URNn1BSqffUEhvHE/ofgn8x9aZLKJpcja/sZnO57Pp0yqbIVKv2VDUBD93amedsn0QuA1U2eazynG8BceRPnrnWAczdmAERtLoHe6IhAaJWLWaVwNLLBPxXxQskCjogZse1ICz2G+TkDKNGbAb5THELwzaXQB2bzpZ6zt0GD5acZ5bKNA4LGSorET2BDz/NLDVT0FQywGW34GT81YhYForKo4dbCHjsVMLSEJuxgWnUkMAKkTmmE7E52ExhuX2vBGDzj+lFa7AKzRHUQ1K0qheNQZETPHj3FQSKfulF0zCYlpcVpyyAlseypcOdojC6uThxdQLt94mYTpRI2WjvduyL3kqRbGxXk1A+iYJFmywRhEyCIuEZwUXqq7Hxb+M60QYOtlsaZa3BT7PazuZxisP3VkA3/MX79a8QHH5574iWtfbZ2RDRUBDVA5HPzsbvvw6LaMZraLGodu9YdEzPhsRrBCIq985FLDKpto8mKY4WD+VWQymlXWVjpydshaiuILpcEKGxjSkfLE4VwaSqIOq5aioQ40w1IMRUEUEjgrctXkaqEZFDi1lccL1fGd5s94RKRLMMJZSTHrBGcEfiMxJ3Ne5HeYhg7CX03vgsVUZGiuesLBJqSrzUcNxgFBxHMGA2gVeRAjFkFOkJmCqSebekqzeTyrDmQ182IV8NEJtQNtytc+irBn5rwUHLqMJEvSGJlitCCCr2BsVRNFzyGdklcEQcHwAZop58SRmqEt2aZ3iJpChMuyJqlPC1CQRs51RDm08RdIAAhpzD6dCpvPpjNJ2hh5NyhvCFb5DIq0F83NKd/VY2LlWkXHFXjlTTfU1qlzNLC+OTs8Tev0JElHfZQkpkaT0GNEiVWJ8oqIjm8vdQ2GR7bAFrsGphbZHYQnthC5orm8y1fOCy9Fhy2NDyANVYr3IfGB6MXOM+Rdc+GZ48venLxG8+M46g9y734bl7wTiazlZ+hKZ1xPBFb/sA99D0t/cafrnQ3sq50sJb2+FTefOz804/50DC+++MPDeOTe+XD68GeJGXA6/ff4bJ+OfHt2edj+7ff9T59Ptz47TyD0dpv5fjoIC3AAAAAElFTkSuQmCC", gr = (a) => a.groups ? /* @__PURE__ */ e("div", { style: { display: "flex" }, children: a.groups.slice().sort((r, l) => (r.group?.name ?? "").localeCompare(l.group?.name ?? "")).map((r, l) => /* @__PURE__ */ e("div", { style: { paddingRight: "2px" }, children: /* @__PURE__ */ e(te, { color: "blue", children: r.group?.name }) }, l)) }) : null, fr = (a) => a.profile ? /* @__PURE__ */ e(te, { color: "green", children: a.profile?.name }) : null, br = (a) => /* @__PURE__ */ o(Ae, { children: [
851
+ /* @__PURE__ */ e(
852
+ T,
853
+ {
854
+ dataField: "user.avatar",
855
+ dataType: "image",
856
+ size: 80,
857
+ header: `${a("archbase:Foto")}`,
858
+ render: (r) => /* @__PURE__ */ e(
859
+ "img",
860
+ {
861
+ style: { borderRadius: 50, height: "32px", maxHeight: "32px" },
862
+ src: r.row.user && r.row.user.avatar ? atob(r.row.user.avatar) : Ye
863
+ }
864
+ ),
865
+ inputFilterType: "text",
866
+ align: "center",
867
+ exportable: !1
868
+ }
869
+ ),
870
+ /* @__PURE__ */ e(
871
+ T,
872
+ {
873
+ dataField: "user.userName",
874
+ dataType: "text",
875
+ size: 300,
876
+ header: `${a("archbase:Nome de Usuário")}`,
877
+ inputFilterType: "text"
878
+ }
879
+ ),
880
+ /* @__PURE__ */ e(
881
+ T,
882
+ {
883
+ dataField: "user.email",
884
+ dataType: "text",
885
+ header: `${a("archbase:Email")}`,
886
+ size: 300,
887
+ inputFilterType: "text"
888
+ }
889
+ ),
890
+ /* @__PURE__ */ e(
891
+ T,
892
+ {
893
+ dataField: "expirationDate",
894
+ dataType: "text",
895
+ size: 300,
896
+ header: `${a("archbase:Expira em")}`,
897
+ render: (r) => /* @__PURE__ */ e(w, { size: "sm", children: r.row.expirationDate }),
898
+ inputFilterType: "text"
899
+ }
900
+ ),
901
+ /* @__PURE__ */ e(
902
+ T,
903
+ {
904
+ dataField: "revoked",
905
+ dataType: "boolean",
906
+ header: `${a("archbase:Revogado ?")}`,
907
+ inputFilterType: "checkbox"
908
+ }
909
+ ),
910
+ /* @__PURE__ */ e(
911
+ T,
912
+ {
913
+ dataField: "expired",
914
+ dataType: "boolean",
915
+ header: `${a("archbase:Expirado ?")}`,
916
+ inputFilterType: "checkbox"
917
+ }
918
+ ),
919
+ /* @__PURE__ */ e(
920
+ T,
921
+ {
922
+ dataField: "token",
923
+ dataType: "text",
924
+ header: `${a("archbase:Token Acesso")}`,
925
+ size: 300,
926
+ inputFilterType: "text"
927
+ }
928
+ )
929
+ ] }), vr = (a) => /* @__PURE__ */ o(Ae, { children: [
930
+ /* @__PURE__ */ e(
931
+ T,
932
+ {
933
+ dataField: "avatar",
934
+ dataType: "image",
935
+ size: 80,
936
+ header: `${a("archbase:Foto")}`,
937
+ render: (r) => /* @__PURE__ */ e(
938
+ "img",
939
+ {
940
+ style: { borderRadius: 50, height: "32px", maxHeight: "32px" },
941
+ src: r.row.avatar ? atob(r.row.avatar) : Ye
942
+ }
943
+ ),
944
+ enableSorting: !1,
945
+ enableColumnFilter: !1,
946
+ enableGlobalFilter: !1,
947
+ align: "center",
948
+ exportable: !1
949
+ }
950
+ ),
951
+ /* @__PURE__ */ e(
952
+ T,
953
+ {
954
+ dataField: "name",
955
+ dataType: "text",
956
+ size: 300,
957
+ header: `${a("archbase:Nome")}`,
958
+ inputFilterType: "text",
959
+ truncate: !0
960
+ }
961
+ ),
962
+ /* @__PURE__ */ e(
963
+ T,
964
+ {
965
+ dataField: "nickname",
966
+ dataType: "text",
967
+ size: 120,
968
+ header: `${a("archbase:Apelido")}`,
969
+ inputFilterType: "text",
970
+ truncate: !0
971
+ }
972
+ ),
973
+ /* @__PURE__ */ e(
974
+ T,
975
+ {
976
+ dataField: "email",
977
+ dataType: "text",
978
+ header: `${a("archbase:Email")}`,
979
+ size: 300,
980
+ inputFilterType: "text",
981
+ truncate: !0
982
+ }
983
+ ),
984
+ /* @__PURE__ */ e(
985
+ T,
986
+ {
987
+ dataField: "accountDeactivated",
988
+ dataType: "boolean",
989
+ header: `${a("archbase:Desativado?")}`,
990
+ inputFilterType: "checkbox",
991
+ size: 120
992
+ }
993
+ ),
994
+ /* @__PURE__ */ e(
995
+ T,
996
+ {
997
+ dataField: "profile.name",
998
+ dataType: "text",
999
+ header: `${a("archbase:Perfil")}`,
1000
+ size: 200,
1001
+ render: (r) => fr(r.row),
1002
+ inputFilterType: "text"
1003
+ }
1004
+ ),
1005
+ /* @__PURE__ */ e(
1006
+ T,
1007
+ {
1008
+ dataField: "groups",
1009
+ dataType: "text",
1010
+ size: 300,
1011
+ header: `${a("archbase:Grupos")}`,
1012
+ render: (r) => gr(r.row),
1013
+ exportValue: (r) => r.groups?.slice().sort((l, i) => (l.group?.name ?? "").localeCompare(i.group?.name ?? "")).map((l) => l.group?.name).filter(Boolean).join(", ") || "",
1014
+ enableSorting: !1,
1015
+ enableColumnFilter: !1,
1016
+ enableGlobalFilter: !1
1017
+ }
1018
+ ),
1019
+ /* @__PURE__ */ e(
1020
+ T,
1021
+ {
1022
+ dataField: "isAdministrator",
1023
+ dataType: "boolean",
1024
+ header: `${a("archbase:Admin ?")}`,
1025
+ inputFilterType: "checkbox"
1026
+ }
1027
+ ),
1028
+ /* @__PURE__ */ e(
1029
+ T,
1030
+ {
1031
+ dataField: "changePasswordOnNextLogin",
1032
+ dataType: "boolean",
1033
+ header: `${a("archbase:Alt.senha próximo login?")}`,
1034
+ inputFilterType: "checkbox",
1035
+ size: 120
1036
+ }
1037
+ ),
1038
+ /* @__PURE__ */ e(
1039
+ T,
1040
+ {
1041
+ dataField: "allowPasswordChange",
1042
+ dataType: "boolean",
1043
+ header: `${a("archbase:Pode alterar senha?")}`,
1044
+ inputFilterType: "checkbox",
1045
+ size: 120
1046
+ }
1047
+ ),
1048
+ /* @__PURE__ */ e(
1049
+ T,
1050
+ {
1051
+ dataField: "allowMultipleLogins",
1052
+ dataType: "boolean",
1053
+ header: `${a("archbase:Permite multiplos logins?")}`,
1054
+ inputFilterType: "checkbox",
1055
+ size: 120
1056
+ }
1057
+ ),
1058
+ /* @__PURE__ */ e(
1059
+ T,
1060
+ {
1061
+ dataField: "passwordNeverExpires",
1062
+ dataType: "boolean",
1063
+ header: `${a("archbase:Senha nunca expira?")}`,
1064
+ inputFilterType: "checkbox",
1065
+ size: 120
1066
+ }
1067
+ ),
1068
+ /* @__PURE__ */ e(
1069
+ T,
1070
+ {
1071
+ dataField: "passwordChangedAt",
1072
+ dataType: "datetime",
1073
+ header: `${a("archbase:Última troca de senha")}`,
1074
+ inputFilterType: "date-range",
1075
+ size: 160
1076
+ }
1077
+ ),
1078
+ /* @__PURE__ */ e(
1079
+ T,
1080
+ {
1081
+ dataField: "accountLocked",
1082
+ dataType: "boolean",
1083
+ header: `${a("archbase:Bloqueado?")}`,
1084
+ inputFilterType: "checkbox",
1085
+ size: 120
1086
+ }
1087
+ ),
1088
+ /* @__PURE__ */ e(
1089
+ T,
1090
+ {
1091
+ dataField: "unlimitedAccessHours",
1092
+ dataType: "boolean",
1093
+ header: `${a("archbase:Horário acesso ilimitado?")}`,
1094
+ inputFilterType: "checkbox",
1095
+ size: 140
1096
+ }
1097
+ )
1098
+ ] }), yr = (a) => /* @__PURE__ */ o(Ae, { children: [
1099
+ /* @__PURE__ */ e(
1100
+ T,
1101
+ {
1102
+ dataField: "name",
1103
+ dataType: "text",
1104
+ size: 300,
1105
+ header: `${a("archbase:Nome do grupo")}`,
1106
+ inputFilterType: "text"
1107
+ }
1108
+ ),
1109
+ /* @__PURE__ */ e(
1110
+ T,
1111
+ {
1112
+ dataField: "description",
1113
+ dataType: "text",
1114
+ header: `${a("archbase:Descrição")}`,
1115
+ size: 800,
1116
+ inputFilterType: "text"
1117
+ }
1118
+ )
1119
+ ] }), wr = (a) => /* @__PURE__ */ o(Ae, { children: [
1120
+ /* @__PURE__ */ e(
1121
+ T,
1122
+ {
1123
+ dataField: "name",
1124
+ dataType: "text",
1125
+ size: 300,
1126
+ header: `${a("archbase:Nome do perfil")}`,
1127
+ inputFilterType: "text"
1128
+ }
1129
+ ),
1130
+ /* @__PURE__ */ e(
1131
+ T,
1132
+ {
1133
+ dataField: "description",
1134
+ dataType: "text",
1135
+ header: `${a("archbase:Descrição")}`,
1136
+ size: 800,
1137
+ inputFilterType: "text"
1138
+ }
1139
+ )
1140
+ ] }), Cr = (a) => /* @__PURE__ */ o(Ae, { children: [
1141
+ /* @__PURE__ */ e(
1142
+ T,
1143
+ {
1144
+ dataField: "name",
1145
+ dataType: "text",
1146
+ size: 300,
1147
+ header: `${a("archbase:Nome do recurso")}`,
1148
+ inputFilterType: "text"
1149
+ }
1150
+ ),
1151
+ /* @__PURE__ */ e(
1152
+ T,
1153
+ {
1154
+ dataField: "description",
1155
+ dataType: "text",
1156
+ header: `${a("archbase:Descrição")}`,
1157
+ size: 800,
1158
+ inputFilterType: "text"
1159
+ }
1160
+ )
1161
+ ] });
1162
+ function Te({
1163
+ active: a,
1164
+ printTitle: r,
1165
+ gridRef: l,
1166
+ dataSource: i,
1167
+ isLoading: h,
1168
+ error: n,
1169
+ getRowId: A,
1170
+ striped: v = !1,
1171
+ enableRowActions: x = !0,
1172
+ toolbarLeftContent: c,
1173
+ renderRowActions: C,
1174
+ actionsColumnWidth: u,
1175
+ children: b
1176
+ }) {
1177
+ return /* @__PURE__ */ e(
1178
+ Y,
1179
+ {
1180
+ withBorder: !0,
1181
+ mt: "md",
1182
+ style: {
1183
+ display: a ? "flex" : "none",
1184
+ width: "100%",
1185
+ flex: 1,
1186
+ minHeight: 0,
1187
+ overflow: "auto"
1188
+ },
1189
+ children: /* @__PURE__ */ e(
1190
+ ha,
1191
+ {
1192
+ gridRef: l,
1193
+ printTitle: r,
1194
+ width: "100%",
1195
+ height: "100%",
1196
+ withBorder: !1,
1197
+ dataSource: i,
1198
+ withColumnBorders: !0,
1199
+ striped: v,
1200
+ enableTopToolbar: !0,
1201
+ enableRowActions: x,
1202
+ pageSize: 50,
1203
+ isLoading: h,
1204
+ isError: !!n,
1205
+ error: n,
1206
+ enableGlobalFilter: !0,
1207
+ getRowId: A,
1208
+ toolbarLeftContent: c,
1209
+ renderRowActions: C,
1210
+ actionsColumnWidth: u,
1211
+ children: b
1212
+ }
1213
+ )
1214
+ }
1215
+ );
1216
+ }
1217
+ function je({
1218
+ dataSource: a,
1219
+ securityType: r,
1220
+ newInstance: l,
1221
+ createEntitiesWithId: i,
1222
+ removeMessageKey: h,
1223
+ setOpenedModal: n,
1224
+ setOpenedPermissionsModal: A,
1225
+ validationContext: v,
1226
+ t: x
1227
+ }) {
1228
+ const c = a, C = (d) => c.isEmpty() ? null : c.gotoRecordByData(d) ?? null;
1229
+ return {
1230
+ handleAdd: () => {
1231
+ const d = l();
1232
+ i || (d.id = void 0), c.insert(d), n(r);
1233
+ },
1234
+ handleViewRow: (d) => {
1235
+ C(d) && n(r);
1236
+ },
1237
+ handleEditRow: (d) => {
1238
+ C(d) && (c.isEditing() || c.edit(), n(r));
1239
+ },
1240
+ handleRemoveRow: (d) => {
1241
+ C(d) && ce.showConfirmDialogYesNo(
1242
+ `${x("archbase:Confirme")}`,
1243
+ `${x(h)}${d.name} ?`,
1244
+ () => {
1245
+ c.remove();
1246
+ },
1247
+ () => {
1248
+ }
1249
+ );
1250
+ },
1251
+ handleSaveModal: async () => {
1252
+ try {
1253
+ await c.save();
1254
+ } catch {
1255
+ return;
1256
+ }
1257
+ n(""), v?.clearAll();
1258
+ },
1259
+ handleCancelModal: () => {
1260
+ n(""), c.isBrowsing() || c.cancel(), v?.clearAll();
1261
+ },
1262
+ handleOpenPermissionsModal: () => {
1263
+ A(r);
1264
+ }
1265
+ };
1266
+ }
1267
+ function He({
1268
+ row: a,
1269
+ onView: r,
1270
+ onEdit: l,
1271
+ onRemove: i,
1272
+ onEditPermissions: h,
1273
+ before: n,
1274
+ after: A,
1275
+ t: v
1276
+ }) {
1277
+ const x = Qe(), { colorScheme: c } = Ge(), C = c === "dark", u = (b) => C ? x.colors[b][8] : x.colors[b][4];
1278
+ return /* @__PURE__ */ o(N, { gap: 1, wrap: "nowrap", children: [
1279
+ n?.(a),
1280
+ /* @__PURE__ */ e(ue, { variant: "transparent", onClick: () => r(a), children: /* @__PURE__ */ e(Za, { size: 20, color: u("blue") }) }),
1281
+ /* @__PURE__ */ e(ue, { variant: "transparent", onClick: () => l(a), children: /* @__PURE__ */ e(fa, { size: 20, color: u("yellow") }) }),
1282
+ /* @__PURE__ */ e(ue, { variant: "transparent", onClick: () => i(a), children: /* @__PURE__ */ e(Xe, { size: 20, color: u("red") }) }),
1283
+ /* @__PURE__ */ e(Ce, { withinPortal: !0, withArrow: !0, position: "left", label: `${v("archbase:Edit permissions")}`, children: /* @__PURE__ */ e(ue, { variant: "transparent", onClick: h, children: /* @__PURE__ */ e(Ja, { size: 20, color: u("green") }) }) }),
1284
+ A?.(a)
1285
+ ] });
1286
+ }
1287
+ const Ze = ({ onAdd: a, onEditPermissions: r, t: l }) => /* @__PURE__ */ o(Re, { justify: "space-between", style: { width: "50%" }, children: [
1288
+ /* @__PURE__ */ o(N, { align: "end", gap: "4px", wrap: "nowrap", children: [
1289
+ /* @__PURE__ */ e(Z, { color: "green", leftSection: /* @__PURE__ */ e(ba, {}), onClick: a, children: `${l("archbase:New")}` }),
1290
+ /* @__PURE__ */ e(Z, { color: "blue", leftSection: /* @__PURE__ */ e(fa, {}), onClick: r, children: `${l("archbase:Edit permissions")}` })
1291
+ ] }),
1292
+ /* @__PURE__ */ e(Re, { align: "flex-start", justify: "flex-end", style: { width: "200px" } })
1293
+ ] });
1294
+ function Zr({
1295
+ height: a = "400px",
1296
+ width: r = "100%",
1297
+ createEntitiesWithId: l = !0,
891
1298
  userModalOptions: i,
892
- profileModalOptions: l,
893
- groupModalOptions: x,
1299
+ profileModalOptions: h,
1300
+ groupModalOptions: n,
894
1301
  options: A
895
1302
  }) {
896
- const c = nr();
897
- ir("securityStore");
898
- const $ = Kr(), { colorScheme: h } = Oe(), [S, z] = O(void 0), [j, M] = O("users"), f = re(_.User), Y = re(_.Group), B = re(_.Resource), d = re(_.Profile), [v, T] = O(""), [W, E] = O(""), Q = re(_.AccessToken), { t: o } = _r(), D = je(null), Z = je(null), p = je(null), w = je(null), b = je(null), ce = (a) => a.id, ne = (a) => a.id, s = (a) => a.id, n = (a) => a.id, L = (a) => a.id, {
899
- dataSource: C,
900
- isLoading: G,
901
- refreshData: k
902
- } = ye({
1303
+ Qe(), pa("securityStore");
1304
+ const v = Va(), { colorScheme: x } = Ge(), [c, C] = P(void 0), [u, b] = P("users"), D = X(Q.User), y = X(Q.Group), q = X(Q.Resource), V = X(Q.Profile), [t, d] = P(""), [g, F] = P(""), z = X(Q.AccessToken), { t: f } = Ga(), oe = ye(null), G = ye(null), J = ye(null), S = ye(null), k = ye(null), R = (I) => I.id, fe = (I) => I.id, pe = (I) => I.id, p = (I) => I.id, m = (I) => I.id, {
1305
+ dataSource: M,
1306
+ isLoading: E,
1307
+ refreshData: U
1308
+ } = xe({
903
1309
  name: "accessTokenApi",
904
- service: Q,
905
- validator: $,
1310
+ service: z,
1311
+ validator: v,
906
1312
  pageSize: 25,
907
1313
  defaultSortFields: ["user.email", "expirationTime:desc"],
908
- onError: (a, F) => {
909
- z(a), X.showError(`${o("archbase:WARNING")}`, a, F);
1314
+ onError: (I, _) => {
1315
+ C(I), ee.showError(`${f("archbase:WARNING")}`, I, _);
910
1316
  }
911
1317
  }), {
912
- dataSource: y,
913
- isLoading: R,
914
- refreshData: de
915
- } = ye({
1318
+ dataSource: $,
1319
+ isLoading: B,
1320
+ refreshData: L
1321
+ } = xe({
916
1322
  name: "dsUsers",
917
- service: f,
918
- validator: $,
1323
+ service: D,
1324
+ validator: v,
919
1325
  pageSize: 25,
920
- onError: (a, F) => {
921
- z(a), X.showError(`${o("archbase:WARNING")}`, a, F);
1326
+ onError: (I, _) => {
1327
+ C(I), ee.showError(`${f("archbase:WARNING")}`, I, _);
922
1328
  }
923
1329
  }), {
924
- dataSource: U,
925
- isLoading: Ee,
926
- refreshData: dr
927
- } = ye({
1330
+ dataSource: ie,
1331
+ isLoading: Oe,
1332
+ refreshData: Ue
1333
+ } = xe({
928
1334
  name: "dsGroups",
929
- service: Y,
930
- validator: $,
1335
+ service: y,
1336
+ validator: v,
931
1337
  pageSize: 25,
932
- onError: (a, F) => {
933
- z(a), X.showError(`${o("archbase:WARNING")}`, a, F);
1338
+ onError: (I, _) => {
1339
+ C(I), ee.showError(`${f("archbase:WARNING")}`, I, _);
934
1340
  }
935
1341
  }), {
936
- dataSource: q,
937
- isLoading: ur,
938
- refreshData: hr
939
- } = ye({
1342
+ dataSource: De,
1343
+ isLoading: va,
1344
+ refreshData: ya
1345
+ } = xe({
940
1346
  name: "dsProfile",
941
- service: d,
942
- validator: $,
1347
+ service: V,
1348
+ validator: v,
943
1349
  pageSize: 25,
944
- onError: (a, F) => {
945
- z(a), X.showError(`${o("archbase:WARNING")}`, a, F);
1350
+ onError: (I, _) => {
1351
+ C(I), ee.showError(`${f("archbase:WARNING")}`, I, _);
946
1352
  }
947
1353
  }), {
948
- dataSource: pr,
949
- isLoading: xr,
950
- refreshData: mr
951
- } = ye({
1354
+ dataSource: wa,
1355
+ isLoading: Ca,
1356
+ refreshData: Sa
1357
+ } = xe({
952
1358
  name: "dsResources",
953
- service: B,
954
- validator: $,
1359
+ service: q,
1360
+ validator: v,
955
1361
  pageSize: 25,
956
- onError: (a, F) => {
957
- z(a), X.showError(`${o("archbase:WARNING")}`, a, F);
1362
+ onError: (I, _) => {
1363
+ C(I), ee.showError(`${f("archbase:WARNING")}`, I, _);
958
1364
  }
959
1365
  });
960
- Re(() => {
961
- k({ filter: Ie(Te.eq("revoked", "false")) }), de(), dr(), hr(), mr();
1366
+ Se(() => {
1367
+ U({ filter: Le(Ie.eq("revoked", "false")) }), L(), Ue(), ya(), Sa();
962
1368
  }, []);
963
- const fr = /* @__PURE__ */ e.jsxs(fe, { children: [
964
- /* @__PURE__ */ e.jsx(
965
- m,
966
- {
967
- dataField: "user.avatar",
968
- dataType: "image",
969
- size: 80,
970
- header: `${o("archbase:Foto")}`,
971
- render: (a) => /* @__PURE__ */ e.jsx(
972
- "img",
973
- {
974
- style: { borderRadius: 50, height: "32px", maxHeight: "32px" },
975
- src: a.row.user && a.row.user.avatar ? atob(a.row.user.avatar) : Ne
976
- }
977
- ),
978
- inputFilterType: "text",
979
- align: "center",
980
- exportable: !1
981
- }
982
- ),
983
- /* @__PURE__ */ e.jsx(
984
- m,
985
- {
986
- dataField: "user.userName",
987
- dataType: "text",
988
- size: 300,
989
- header: `${o("archbase:Nome de Usuário")}`,
990
- inputFilterType: "text"
991
- }
992
- ),
993
- /* @__PURE__ */ e.jsx(
994
- m,
995
- {
996
- dataField: "user.email",
997
- dataType: "text",
998
- header: `${o("archbase:Email")}`,
999
- size: 300,
1000
- inputFilterType: "text"
1001
- }
1002
- ),
1003
- /* @__PURE__ */ e.jsx(
1004
- m,
1005
- {
1006
- dataField: "expirationDate",
1007
- dataType: "text",
1008
- size: 300,
1009
- header: `${o("archbase:Expira em")}`,
1010
- render: (a) => /* @__PURE__ */ e.jsx(J, { size: "sm", children: a.row.expirationDate }),
1011
- inputFilterType: "text"
1012
- }
1013
- ),
1014
- /* @__PURE__ */ e.jsx(
1015
- m,
1016
- {
1017
- dataField: "revoked",
1018
- dataType: "boolean",
1019
- header: `${o("archbase:Revogado ?")}`,
1020
- inputFilterType: "checkbox"
1021
- }
1022
- ),
1023
- /* @__PURE__ */ e.jsx(
1024
- m,
1025
- {
1026
- dataField: "expired",
1027
- dataType: "boolean",
1028
- header: `${o("archbase:Expirado ?")}`,
1029
- inputFilterType: "checkbox"
1030
- }
1031
- ),
1032
- /* @__PURE__ */ e.jsx(
1033
- m,
1034
- {
1035
- dataField: "token",
1036
- dataType: "text",
1037
- header: `${o("archbase:Token Acesso")}`,
1038
- size: 300,
1039
- inputFilterType: "text"
1040
- }
1041
- )
1042
- ] }), br = /* @__PURE__ */ e.jsxs(fe, { children: [
1043
- /* @__PURE__ */ e.jsx(
1044
- m,
1045
- {
1046
- dataField: "avatar",
1047
- dataType: "image",
1048
- size: 80,
1049
- header: `${o("archbase:Foto")}`,
1050
- render: (a) => /* @__PURE__ */ e.jsx(
1051
- "img",
1052
- {
1053
- style: { borderRadius: 50, height: "32px", maxHeight: "32px" },
1054
- src: a.row.avatar ? atob(a.row.avatar) : Ne
1055
- }
1056
- ),
1057
- enableSorting: !1,
1058
- enableColumnFilter: !1,
1059
- enableGlobalFilter: !1,
1060
- align: "center",
1061
- exportable: !1
1062
- }
1063
- ),
1064
- /* @__PURE__ */ e.jsx(
1065
- m,
1066
- {
1067
- dataField: "name",
1068
- dataType: "text",
1069
- size: 300,
1070
- header: `${o("archbase:Nome")}`,
1071
- inputFilterType: "text",
1072
- truncate: !0
1073
- }
1074
- ),
1075
- /* @__PURE__ */ e.jsx(
1076
- m,
1077
- {
1078
- dataField: "nickname",
1079
- dataType: "text",
1080
- size: 120,
1081
- header: `${o("archbase:Apelido")}`,
1082
- inputFilterType: "text",
1083
- truncate: !0
1084
- }
1085
- ),
1086
- /* @__PURE__ */ e.jsx(
1087
- m,
1088
- {
1089
- dataField: "email",
1090
- dataType: "text",
1091
- header: `${o("archbase:Email")}`,
1092
- size: 300,
1093
- inputFilterType: "text",
1094
- truncate: !0
1095
- }
1096
- ),
1097
- /* @__PURE__ */ e.jsx(
1098
- m,
1099
- {
1100
- dataField: "accountDeactivated",
1101
- dataType: "boolean",
1102
- header: `${o("archbase:Desativado?")}`,
1103
- inputFilterType: "checkbox",
1104
- size: 120
1105
- }
1106
- ),
1107
- /* @__PURE__ */ e.jsx(
1108
- m,
1109
- {
1110
- dataField: "profile.name",
1111
- dataType: "text",
1112
- header: `${o("archbase:Perfil")}`,
1113
- size: 200,
1114
- render: (a) => Ra(a.row),
1115
- inputFilterType: "text"
1116
- }
1117
- ),
1118
- /* @__PURE__ */ e.jsx(
1119
- m,
1120
- {
1121
- dataField: "groups",
1122
- dataType: "text",
1123
- size: 300,
1124
- header: `${o("archbase:Grupos")}`,
1125
- render: (a) => ka(a.row),
1126
- exportValue: (a) => a.groups?.slice().sort((F, Jr) => (F.group?.name ?? "").localeCompare(Jr.group?.name ?? "")).map((F) => F.group?.name).filter(Boolean).join(", ") || "",
1127
- enableSorting: !1,
1128
- enableColumnFilter: !1,
1129
- enableGlobalFilter: !1
1130
- }
1131
- ),
1132
- /* @__PURE__ */ e.jsx(
1133
- m,
1134
- {
1135
- dataField: "isAdministrator",
1136
- dataType: "boolean",
1137
- header: `${o("archbase:Admin ?")}`,
1138
- inputFilterType: "checkbox"
1139
- }
1140
- ),
1141
- /* @__PURE__ */ e.jsx(
1142
- m,
1143
- {
1144
- dataField: "changePasswordOnNextLogin",
1145
- dataType: "boolean",
1146
- header: `${o("archbase:Alt.senha próximo login?")}`,
1147
- inputFilterType: "checkbox",
1148
- size: 120
1149
- }
1150
- ),
1151
- /* @__PURE__ */ e.jsx(
1152
- m,
1153
- {
1154
- dataField: "allowPasswordChange",
1155
- dataType: "boolean",
1156
- header: `${o("archbase:Pode alterar senha?")}`,
1157
- inputFilterType: "checkbox",
1158
- size: 120
1159
- }
1160
- ),
1161
- /* @__PURE__ */ e.jsx(
1162
- m,
1163
- {
1164
- dataField: "allowMultipleLogins",
1165
- dataType: "boolean",
1166
- header: `${o("archbase:Permite multiplos logins?")}`,
1167
- inputFilterType: "checkbox",
1168
- size: 120
1169
- }
1170
- ),
1171
- /* @__PURE__ */ e.jsx(
1172
- m,
1173
- {
1174
- dataField: "passwordNeverExpires",
1175
- dataType: "boolean",
1176
- header: `${o("archbase:Senha nunca expira?")}`,
1177
- inputFilterType: "checkbox",
1178
- size: 120
1179
- }
1180
- ),
1181
- /* @__PURE__ */ e.jsx(
1182
- m,
1183
- {
1184
- dataField: "passwordChangedAt",
1185
- dataType: "datetime",
1186
- header: `${o("archbase:Última troca de senha")}`,
1187
- inputFilterType: "date-range",
1188
- size: 160
1189
- }
1190
- ),
1191
- /* @__PURE__ */ e.jsx(
1192
- m,
1193
- {
1194
- dataField: "accountLocked",
1195
- dataType: "boolean",
1196
- header: `${o("archbase:Bloqueado?")}`,
1197
- inputFilterType: "checkbox",
1198
- size: 120
1199
- }
1200
- ),
1201
- /* @__PURE__ */ e.jsx(
1202
- m,
1203
- {
1204
- dataField: "unlimitedAccessHours",
1205
- dataType: "boolean",
1206
- header: `${o("archbase:Horário acesso ilimitado?")}`,
1207
- inputFilterType: "checkbox",
1208
- size: 140
1209
- }
1210
- )
1211
- ] }), gr = /* @__PURE__ */ e.jsxs(fe, { children: [
1212
- /* @__PURE__ */ e.jsx(
1213
- m,
1214
- {
1215
- dataField: "name",
1216
- dataType: "text",
1217
- size: 300,
1218
- header: `${o("archbase:Nome do grupo")}`,
1219
- inputFilterType: "text"
1220
- }
1221
- ),
1222
- /* @__PURE__ */ e.jsx(
1223
- m,
1224
- {
1225
- dataField: "description",
1226
- dataType: "text",
1227
- header: `${o("archbase:Descrição")}`,
1228
- size: 800,
1229
- inputFilterType: "text"
1230
- }
1231
- )
1232
- ] }), jr = /* @__PURE__ */ e.jsxs(fe, { children: [
1233
- /* @__PURE__ */ e.jsx(
1234
- m,
1235
- {
1236
- dataField: "name",
1237
- dataType: "text",
1238
- size: 300,
1239
- header: `${o("archbase:Nome do perfil")}`,
1240
- inputFilterType: "text"
1241
- }
1242
- ),
1243
- /* @__PURE__ */ e.jsx(
1244
- m,
1245
- {
1246
- dataField: "description",
1247
- dataType: "text",
1248
- header: `${o("archbase:Descrição")}`,
1249
- size: 800,
1250
- inputFilterType: "text"
1251
- }
1252
- )
1253
- ] }), wr = /* @__PURE__ */ e.jsxs(fe, { children: [
1254
- /* @__PURE__ */ e.jsx(
1255
- m,
1256
- {
1257
- dataField: "name",
1258
- dataType: "text",
1259
- size: 300,
1260
- header: `${o("archbase:Nome do recurso")}`,
1261
- inputFilterType: "text"
1262
- }
1263
- ),
1264
- /* @__PURE__ */ e.jsx(
1265
- m,
1266
- {
1267
- dataField: "description",
1268
- dataType: "text",
1269
- header: `${o("archbase:Descrição")}`,
1270
- size: 800,
1271
- inputFilterType: "text"
1272
- }
1273
- )
1274
- ] }), yr = () => {
1275
- const a = la.newInstance();
1276
- g || (a.id = void 0), y.insert(a), T(P.USER);
1277
- }, vr = (a) => {
1278
- y.isEmpty() || y.gotoRecordByData(a) && (y.edit(), T(P.USER));
1279
- }, Cr = (a) => {
1280
- y.isEmpty() || y.gotoRecordByData(a) && ee.showConfirmDialogYesNo(
1281
- `${o("archbase:Confirme")}`,
1282
- `${o("archbase:Deseja remover o usuário ")}${a.name} ?`,
1283
- () => {
1284
- y.remove();
1285
- },
1286
- () => {
1287
- }
1288
- );
1289
- }, Sr = (a) => {
1290
- y.isEmpty() || y.gotoRecordByData(a) && T(P.USER);
1291
- }, Ar = (a) => /* @__PURE__ */ e.jsxs(V, { gap: 1, wrap: "nowrap", children: [
1292
- A?.beforeDefaultUserActions?.(a),
1293
- /* @__PURE__ */ e.jsx(H, { variant: "transparent", onClick: () => Sr(a), children: /* @__PURE__ */ e.jsx($e, { size: 20, color: h === "dark" ? c.colors.blue[8] : c.colors.blue[4] }) }),
1294
- /* @__PURE__ */ e.jsx(H, { variant: "transparent", onClick: () => vr(a), children: /* @__PURE__ */ e.jsx(me, { size: 20, color: h === "dark" ? c.colors.yellow[8] : c.colors.yellow[4] }) }),
1295
- /* @__PURE__ */ e.jsx(H, { variant: "transparent", onClick: () => Cr(a), children: /* @__PURE__ */ e.jsx(Ce, { size: 20, color: h === "dark" ? c.colors.red[8] : c.colors.red[4] }) }),
1296
- /* @__PURE__ */ e.jsx(se, { withinPortal: !0, withArrow: !0, position: "left", label: `${o("archbase:Edit permissions")}`, children: /* @__PURE__ */ e.jsx(H, { variant: "transparent", onClick: Be, children: /* @__PURE__ */ e.jsx(Le, { size: 20, color: h === "dark" ? c.colors.green[8] : c.colors.green[4] }) }) }),
1297
- A?.afterDefaultUserActions?.(a)
1298
- ] }), Tr = () => {
1299
- const a = ca.newInstance();
1300
- g || (a.id = void 0), U.insert(a), T(P.GROUP);
1301
- }, kr = (a) => {
1302
- U.isEmpty() || U.gotoRecordByData(a) && (U.isEditing() || U.edit(), T(P.GROUP));
1303
- }, Rr = (a) => {
1304
- U.isEmpty() || U.gotoRecordByData(a) && ee.showConfirmDialogYesNo(
1305
- `${o("archbase:Confirme")}`,
1306
- `${o("archbase:Deseja remover o grupo ")}${a.name} ?`,
1307
- () => {
1308
- U.remove();
1309
- },
1310
- () => {
1311
- }
1312
- );
1313
- }, Fr = (a) => {
1314
- U.isEmpty() || U.gotoRecordByData(a) && T(P.GROUP);
1315
- }, Pr = (a) => /* @__PURE__ */ e.jsxs(V, { gap: 1, wrap: "nowrap", children: [
1316
- A?.beforeDefaultGroupActions?.(a),
1317
- /* @__PURE__ */ e.jsx(H, { variant: "transparent", onClick: () => Fr(a), children: /* @__PURE__ */ e.jsx($e, { size: 20, color: h === "dark" ? c.colors.blue[8] : c.colors.blue[4] }) }),
1318
- /* @__PURE__ */ e.jsx(H, { variant: "transparent", onClick: () => kr(a), children: /* @__PURE__ */ e.jsx(me, { size: 20, color: h === "dark" ? c.colors.yellow[8] : c.colors.yellow[4] }) }),
1319
- /* @__PURE__ */ e.jsx(H, { variant: "transparent", onClick: () => Rr(a), children: /* @__PURE__ */ e.jsx(Ce, { size: 20, color: h === "dark" ? c.colors.red[8] : c.colors.red[4] }) }),
1320
- /* @__PURE__ */ e.jsx(se, { withinPortal: !0, withArrow: !0, position: "left", label: `${o("archbase:Edit permissions")}`, children: /* @__PURE__ */ e.jsx(H, { variant: "transparent", onClick: We, children: /* @__PURE__ */ e.jsx(Le, { size: 20, color: h === "dark" ? c.colors.green[8] : c.colors.green[4] }) }) }),
1321
- A?.afterDefaultGroupActions?.(a)
1322
- ] }), ue = ea(), Dr = async () => {
1323
- try {
1324
- await y.save();
1325
- } catch {
1326
- return;
1369
+ const Aa = br(f), xa = vr(f), Ta = yr(f), Ra = wr(f), ka = Cr(f), Be = Ma(), ne = je({
1370
+ dataSource: $,
1371
+ securityType: H.USER,
1372
+ newInstance: () => Ya.newInstance(),
1373
+ createEntitiesWithId: l,
1374
+ removeMessageKey: "archbase:Deseja remover o usuário ",
1375
+ setOpenedModal: d,
1376
+ setOpenedPermissionsModal: F,
1377
+ validationContext: Be,
1378
+ t: f
1379
+ }), se = je({
1380
+ dataSource: ie,
1381
+ securityType: H.GROUP,
1382
+ newInstance: () => _a.newInstance(),
1383
+ createEntitiesWithId: l,
1384
+ removeMessageKey: "archbase:Deseja remover o grupo ",
1385
+ setOpenedModal: d,
1386
+ setOpenedPermissionsModal: F,
1387
+ validationContext: Be,
1388
+ t: f
1389
+ }), le = je({
1390
+ dataSource: De,
1391
+ securityType: H.PROFILE,
1392
+ newInstance: () => er.newInstance(),
1393
+ createEntitiesWithId: l,
1394
+ removeMessageKey: "archbase:Deseja remover o perfil ",
1395
+ setOpenedModal: d,
1396
+ setOpenedPermissionsModal: F,
1397
+ validationContext: Be,
1398
+ t: f
1399
+ }), Ia = (I) => /* @__PURE__ */ e(
1400
+ He,
1401
+ {
1402
+ row: I,
1403
+ onView: ne.handleViewRow,
1404
+ onEdit: ne.handleEditRow,
1405
+ onRemove: ne.handleRemoveRow,
1406
+ onEditPermissions: ne.handleOpenPermissionsModal,
1407
+ before: A?.beforeDefaultUserActions,
1408
+ after: A?.afterDefaultUserActions,
1409
+ t: f
1327
1410
  }
1328
- T(""), ue?.clearAll();
1329
- }, zr = () => {
1330
- T(""), y.isBrowsing() || y.cancel(), ue?.clearAll();
1331
- }, Ir = async () => {
1332
- try {
1333
- await U.save();
1334
- } catch {
1335
- return;
1411
+ ), Pa = (I) => /* @__PURE__ */ e(
1412
+ He,
1413
+ {
1414
+ row: I,
1415
+ onView: se.handleViewRow,
1416
+ onEdit: se.handleEditRow,
1417
+ onRemove: se.handleRemoveRow,
1418
+ onEditPermissions: se.handleOpenPermissionsModal,
1419
+ before: A?.beforeDefaultGroupActions,
1420
+ after: A?.afterDefaultGroupActions,
1421
+ t: f
1336
1422
  }
1337
- T(""), ue?.clearAll();
1338
- }, Er = () => {
1339
- T(""), U.isBrowsing() || U.cancel(), ue?.clearAll();
1340
- }, Gr = async () => {
1341
- try {
1342
- await q.save();
1343
- } catch {
1344
- return;
1423
+ ), Fa = (I) => /* @__PURE__ */ e(
1424
+ He,
1425
+ {
1426
+ row: I,
1427
+ onView: le.handleViewRow,
1428
+ onEdit: le.handleEditRow,
1429
+ onRemove: le.handleRemoveRow,
1430
+ onEditPermissions: le.handleOpenPermissionsModal,
1431
+ before: A?.beforeDefaultProfileActions,
1432
+ after: A?.afterDefaultProfileActions,
1433
+ t: f
1345
1434
  }
1346
- T(""), ue?.clearAll();
1347
- }, $r = () => {
1348
- T(""), q.isBrowsing() || q.cancel(), ue?.clearAll();
1349
- }, Lr = () => {
1350
- const a = da.newInstance();
1351
- g || (a.id = void 0), q.insert(a), T(P.PROFILE);
1352
- }, Vr = (a) => {
1353
- q.isEmpty() || q.gotoRecordByData(a) && (q.isEditing() || q.edit(), T(P.PROFILE));
1354
- }, Mr = (a) => {
1355
- q.isEmpty() || q.gotoRecordByData(a) && ee.showConfirmDialogYesNo(
1356
- `${o("archbase:Confirme")}`,
1357
- `${o("archbase:Deseja remover o perfil ")}${a.name} ?`,
1358
- () => {
1359
- q.remove();
1360
- },
1361
- () => {
1362
- }
1363
- );
1364
- }, Ur = (a) => {
1365
- q.isEmpty() || q.gotoRecordByData(a) && T(P.PROFILE);
1366
- }, Nr = (a) => /* @__PURE__ */ e.jsxs(V, { gap: 1, wrap: "nowrap", children: [
1367
- A?.beforeDefaultProfileActions?.(a),
1368
- /* @__PURE__ */ e.jsx(H, { variant: "transparent", onClick: () => Ur(a), children: /* @__PURE__ */ e.jsx($e, { size: 20, color: h === "dark" ? c.colors.blue[8] : c.colors.blue[4] }) }),
1369
- /* @__PURE__ */ e.jsx(H, { variant: "transparent", onClick: () => Vr(a), children: /* @__PURE__ */ e.jsx(me, { size: 20, color: h === "dark" ? c.colors.yellow[8] : c.colors.yellow[4] }) }),
1370
- /* @__PURE__ */ e.jsx(H, { variant: "transparent", onClick: () => Mr(a), children: /* @__PURE__ */ e.jsx(Ce, { size: 20, color: h === "dark" ? c.colors.red[8] : c.colors.red[4] }) }),
1371
- /* @__PURE__ */ e.jsx(se, { withinPortal: !0, withArrow: !0, position: "left", label: `${o("archbase:Edit permissions")}`, children: /* @__PURE__ */ e.jsx(H, { variant: "transparent", onClick: qe, children: /* @__PURE__ */ e.jsx(Le, { size: 20, color: h === "dark" ? c.colors.green[8] : c.colors.green[4] }) }) }),
1372
- A?.afterDefaultProfileActions?.(a)
1373
- ] }), Or = () => {
1374
- const a = C.getCurrentRecord();
1375
- a && ee.showConfirmDialogYesNo(
1376
- `${o("archbase:Confirme")}`,
1377
- `${o("archbase:Deseja revogar o token de Acesso do usuário ")}${a.user.name} ?`,
1435
+ ), za = () => {
1436
+ const I = M.getCurrentRecord();
1437
+ I && ce.showConfirmDialogYesNo(
1438
+ `${f("archbase:Confirme")}`,
1439
+ `${f("archbase:Deseja revogar o token de Acesso do usuário ")}${I.user.name} ?`,
1378
1440
  async () => {
1379
- await Q.revoke(a.token).then(async () => {
1380
- X.showSuccess(
1381
- `${o("mentors:Informação")}`,
1382
- `${o("mentors:Token de Acesso revogado com sucesso!")}`
1383
- ), C.refreshData();
1384
- }).catch((F) => {
1385
- ee.showErrorWithDetails(
1386
- `${o("mentors:Atenção")}`,
1387
- Ae(F),
1388
- De(F)
1441
+ await z.revoke(I.token).then(async () => {
1442
+ ee.showSuccess(
1443
+ `${f("mentors:Informação")}`,
1444
+ `${f("mentors:Token de Acesso revogado com sucesso!")}`
1445
+ ), M.refreshData();
1446
+ }).catch((_) => {
1447
+ ce.showErrorWithDetails(
1448
+ `${f("mentors:Atenção")}`,
1449
+ he(_),
1450
+ $e(_)
1389
1451
  );
1390
1452
  });
1391
1453
  },
1392
1454
  () => {
1393
1455
  }
1394
1456
  );
1395
- }, Be = () => {
1396
- E(P.USER);
1397
1457
  }, We = () => {
1398
- E(P.GROUP);
1399
- }, qe = () => {
1400
- E(P.PROFILE);
1401
- }, Ge = () => {
1402
- E("");
1403
- }, Br = () => /* @__PURE__ */ e.jsxs(te, { justify: "space-between", style: { width: "50%" }, children: [
1404
- /* @__PURE__ */ e.jsxs(V, { align: "end", gap: "4px", wrap: "nowrap", children: [
1405
- /* @__PURE__ */ e.jsx(N, { color: "green", leftSection: /* @__PURE__ */ e.jsx(ze, {}), onClick: yr, children: `${o("archbase:New")}` }),
1406
- /* @__PURE__ */ e.jsx(N, { color: "blue", leftSection: /* @__PURE__ */ e.jsx(me, {}), onClick: Be, children: `${o("archbase:Edit permissions")}` })
1407
- ] }),
1408
- /* @__PURE__ */ e.jsx(te, { align: "flex-start", justify: "flex-end", style: { width: "200px" } })
1409
- ] }), Wr = () => /* @__PURE__ */ e.jsxs(te, { justify: "space-between", style: { width: "50%" }, children: [
1410
- /* @__PURE__ */ e.jsxs(V, { align: "end", gap: "4px", wrap: "nowrap", children: [
1411
- /* @__PURE__ */ e.jsx(N, { color: "green", leftSection: /* @__PURE__ */ e.jsx(ze, {}), onClick: Tr, children: `${o("archbase:New")}` }),
1412
- /* @__PURE__ */ e.jsx(N, { color: "blue", leftSection: /* @__PURE__ */ e.jsx(me, {}), onClick: We, children: `${o("archbase:Edit permissions")}` })
1413
- ] }),
1414
- /* @__PURE__ */ e.jsx(te, { align: "flex-start", justify: "flex-end", style: { width: "200px" } })
1415
- ] }), qr = () => /* @__PURE__ */ e.jsxs(te, { justify: "space-between", style: { width: "50%" }, children: [
1416
- /* @__PURE__ */ e.jsxs(V, { align: "end", gap: "4px", wrap: "nowrap", children: [
1417
- /* @__PURE__ */ e.jsx(N, { color: "green", leftSection: /* @__PURE__ */ e.jsx(ze, {}), onClick: Lr, children: `${o("archbase:New")}` }),
1418
- /* @__PURE__ */ e.jsx(N, { color: "blue", leftSection: /* @__PURE__ */ e.jsx(me, {}), onClick: qe, children: `${o("archbase:Edit permissions")}` })
1419
- ] }),
1420
- /* @__PURE__ */ e.jsx(te, { align: "flex-start", justify: "flex-end", style: { width: "200px" } })
1421
- ] }), Hr = () => /* @__PURE__ */ e.jsx(te, { justify: "space-between", style: { width: "50%" }, children: /* @__PURE__ */ e.jsx(V, { align: "start", gap: "4px", wrap: "nowrap", children: /* @__PURE__ */ e.jsx(
1422
- N,
1458
+ F("");
1459
+ }, Da = () => /* @__PURE__ */ e(Re, { justify: "space-between", style: { width: "50%" }, children: /* @__PURE__ */ e(N, { align: "start", gap: "4px", wrap: "nowrap", children: /* @__PURE__ */ e(
1460
+ Z,
1423
1461
  {
1424
- disabled: !C.getCurrentRecord(),
1462
+ disabled: !M.getCurrentRecord(),
1425
1463
  color: "red",
1426
- leftSection: /* @__PURE__ */ e.jsx(Ce, {}),
1427
- onClick: Or,
1428
- children: `${o("archbase:Revoke")}`
1464
+ leftSection: /* @__PURE__ */ e(Xe, {}),
1465
+ onClick: za,
1466
+ children: `${f("archbase:Revoke")}`
1429
1467
  }
1430
1468
  ) }) });
1431
- return /* @__PURE__ */ e.jsxs(K, { p: "md", style: { height: r, display: "flex", flexDirection: "column" }, children: [
1432
- /* @__PURE__ */ e.jsx(ie, { variant: "pills", value: j, onChange: M, children: /* @__PURE__ */ e.jsxs(ie.List, { children: [
1433
- /* @__PURE__ */ e.jsx(ie.Tab, { value: "users", children: `${o("Usuários")}` }),
1434
- /* @__PURE__ */ e.jsx(ie.Tab, { value: "groups", children: `${o("Grupos")}` }),
1435
- /* @__PURE__ */ e.jsx(ie.Tab, { value: "profiles", children: `${o("Perfis")}` }),
1436
- /* @__PURE__ */ e.jsx(ie.Tab, { value: "resources", children: `${o("Recursos")}` }),
1437
- /* @__PURE__ */ e.jsx(ie.Tab, { value: "accessTokens", children: `${o("Tokens Acesso")}` })
1469
+ return /* @__PURE__ */ o(Y, { p: "md", style: { height: a, display: "flex", flexDirection: "column" }, children: [
1470
+ /* @__PURE__ */ e(K, { variant: "pills", value: u, onChange: b, children: /* @__PURE__ */ o(K.List, { children: [
1471
+ /* @__PURE__ */ e(K.Tab, { value: "users", children: `${f("Usuários")}` }),
1472
+ /* @__PURE__ */ e(K.Tab, { value: "groups", children: `${f("Grupos")}` }),
1473
+ /* @__PURE__ */ e(K.Tab, { value: "profiles", children: `${f("Perfis")}` }),
1474
+ /* @__PURE__ */ e(K.Tab, { value: "resources", children: `${f("Recursos")}` }),
1475
+ /* @__PURE__ */ e(K.Tab, { value: "accessTokens", children: `${f("Tokens Acesso")}` })
1438
1476
  ] }) }),
1439
- /* @__PURE__ */ e.jsx(
1440
- K,
1477
+ /* @__PURE__ */ e(
1478
+ Te,
1441
1479
  {
1442
- withBorder: !0,
1443
- mt: "md",
1444
- style: {
1445
- display: j === "users" ? "flex" : "none",
1446
- width: "100%",
1447
- flex: 1,
1448
- minHeight: 0,
1449
- overflow: "auto"
1450
- },
1451
- children: /* @__PURE__ */ e.jsx(
1452
- be,
1480
+ active: u === "users",
1481
+ printTitle: "Usuários",
1482
+ gridRef: oe,
1483
+ dataSource: $,
1484
+ isLoading: B,
1485
+ error: c,
1486
+ getRowId: R,
1487
+ striped: !0,
1488
+ toolbarLeftContent: /* @__PURE__ */ e(
1489
+ Ze,
1453
1490
  {
1454
- gridRef: D,
1455
- printTitle: "Usuários",
1456
- width: "100%",
1457
- height: "100%",
1458
- withBorder: !1,
1459
- dataSource: y,
1460
- withColumnBorders: !0,
1461
- striped: !0,
1462
- enableTopToolbar: !0,
1463
- enableRowActions: !0,
1464
- pageSize: 50,
1465
- isLoading: R,
1466
- isError: !!S,
1467
- error: S,
1468
- enableGlobalFilter: !0,
1469
- getRowId: ce,
1470
- toolbarLeftContent: Br(),
1471
- renderRowActions: Ar,
1472
- actionsColumnWidth: A?.userActionsColumnWidth,
1473
- children: br
1491
+ onAdd: ne.handleAdd,
1492
+ onEditPermissions: ne.handleOpenPermissionsModal,
1493
+ t: f
1474
1494
  }
1475
- )
1495
+ ),
1496
+ renderRowActions: Ia,
1497
+ actionsColumnWidth: A?.userActionsColumnWidth,
1498
+ children: xa
1476
1499
  }
1477
1500
  ),
1478
- /* @__PURE__ */ e.jsx(
1479
- K,
1501
+ /* @__PURE__ */ e(
1502
+ Te,
1480
1503
  {
1481
- withBorder: !0,
1482
- mt: "md",
1483
- style: {
1484
- display: j === "groups" ? "flex" : "none",
1485
- flex: 1,
1486
- minHeight: 0,
1487
- overflow: "auto"
1488
- },
1489
- children: /* @__PURE__ */ e.jsx(
1490
- be,
1504
+ active: u === "groups",
1505
+ printTitle: "Grupos",
1506
+ gridRef: G,
1507
+ dataSource: ie,
1508
+ isLoading: Oe,
1509
+ error: c,
1510
+ getRowId: fe,
1511
+ toolbarLeftContent: /* @__PURE__ */ e(
1512
+ Ze,
1491
1513
  {
1492
- gridRef: Z,
1493
- printTitle: "Grupos",
1494
- width: "100%",
1495
- height: "100%",
1496
- withBorder: !1,
1497
- dataSource: U,
1498
- withColumnBorders: !0,
1499
- striped: !1,
1500
- enableTopToolbar: !0,
1501
- enableRowActions: !0,
1502
- pageSize: 50,
1503
- isLoading: Ee,
1504
- isError: !!S,
1505
- error: S,
1506
- enableGlobalFilter: !0,
1507
- getRowId: ne,
1508
- renderRowActions: Pr,
1509
- actionsColumnWidth: A?.groupActionsColumnWidth,
1510
- children: gr,
1511
- toolbarLeftContent: Wr()
1514
+ onAdd: se.handleAdd,
1515
+ onEditPermissions: se.handleOpenPermissionsModal,
1516
+ t: f
1512
1517
  }
1513
- )
1518
+ ),
1519
+ renderRowActions: Pa,
1520
+ actionsColumnWidth: A?.groupActionsColumnWidth,
1521
+ children: Ta
1514
1522
  }
1515
1523
  ),
1516
- /* @__PURE__ */ e.jsx(
1517
- K,
1524
+ /* @__PURE__ */ e(
1525
+ Te,
1518
1526
  {
1519
- withBorder: !0,
1520
- mt: "md",
1521
- style: {
1522
- display: j === "profiles" ? "flex" : "none",
1523
- flex: 1,
1524
- minHeight: 0,
1525
- overflow: "auto"
1526
- },
1527
- children: /* @__PURE__ */ e.jsx(
1528
- be,
1527
+ active: u === "profiles",
1528
+ printTitle: "Perfis",
1529
+ gridRef: J,
1530
+ dataSource: De,
1531
+ isLoading: va,
1532
+ error: c,
1533
+ getRowId: pe,
1534
+ toolbarLeftContent: /* @__PURE__ */ e(
1535
+ Ze,
1529
1536
  {
1530
- gridRef: p,
1531
- printTitle: "Perfis",
1532
- width: "100%",
1533
- height: "100%",
1534
- withBorder: !1,
1535
- dataSource: q,
1536
- withColumnBorders: !0,
1537
- striped: !1,
1538
- enableTopToolbar: !0,
1539
- enableRowActions: !0,
1540
- pageSize: 50,
1541
- isLoading: ur,
1542
- isError: !!S,
1543
- error: S,
1544
- enableGlobalFilter: !0,
1545
- getRowId: s,
1546
- toolbarLeftContent: qr(),
1547
- renderRowActions: Nr,
1548
- actionsColumnWidth: A?.profileActionsColumnWidth,
1549
- children: jr
1537
+ onAdd: le.handleAdd,
1538
+ onEditPermissions: le.handleOpenPermissionsModal,
1539
+ t: f
1550
1540
  }
1551
- )
1541
+ ),
1542
+ renderRowActions: Fa,
1543
+ actionsColumnWidth: A?.profileActionsColumnWidth,
1544
+ children: Ra
1552
1545
  }
1553
1546
  ),
1554
- /* @__PURE__ */ e.jsx(
1555
- K,
1547
+ /* @__PURE__ */ e(
1548
+ Te,
1556
1549
  {
1557
- withBorder: !0,
1558
- mt: "md",
1559
- style: {
1560
- display: j === "resources" ? "flex" : "none",
1561
- flex: 1,
1562
- minHeight: 0,
1563
- overflow: "auto"
1564
- },
1565
- children: /* @__PURE__ */ e.jsx(
1566
- be,
1567
- {
1568
- gridRef: w,
1569
- printTitle: "Recursos",
1570
- width: "100%",
1571
- height: "100%",
1572
- withBorder: !1,
1573
- dataSource: pr,
1574
- withColumnBorders: !0,
1575
- striped: !1,
1576
- enableTopToolbar: !0,
1577
- enableRowActions: !1,
1578
- pageSize: 50,
1579
- isLoading: xr,
1580
- isError: !!S,
1581
- error: S,
1582
- enableGlobalFilter: !0,
1583
- getRowId: n,
1584
- children: wr
1585
- }
1586
- )
1550
+ active: u === "resources",
1551
+ printTitle: "Recursos",
1552
+ gridRef: S,
1553
+ dataSource: wa,
1554
+ isLoading: Ca,
1555
+ error: c,
1556
+ getRowId: p,
1557
+ enableRowActions: !1,
1558
+ children: ka
1587
1559
  }
1588
1560
  ),
1589
- /* @__PURE__ */ e.jsx(
1590
- K,
1561
+ /* @__PURE__ */ e(
1562
+ Te,
1591
1563
  {
1592
- withBorder: !0,
1593
- mt: "md",
1594
- style: {
1595
- display: j === "accessTokens" ? "flex" : "none",
1596
- width: "100%",
1597
- flex: 1,
1598
- minHeight: 0,
1599
- overflow: "auto"
1600
- },
1601
- children: /* @__PURE__ */ e.jsx(
1602
- be,
1603
- {
1604
- gridRef: b,
1605
- printTitle: "Tokens de API",
1606
- width: "100%",
1607
- height: "100%",
1608
- withBorder: !1,
1609
- dataSource: C,
1610
- withColumnBorders: !0,
1611
- striped: !0,
1612
- enableTopToolbar: !0,
1613
- enableRowActions: !1,
1614
- pageSize: 50,
1615
- isLoading: G,
1616
- isError: !!S,
1617
- error: S,
1618
- enableGlobalFilter: !0,
1619
- getRowId: L,
1620
- toolbarLeftContent: Hr(),
1621
- children: fr
1622
- }
1623
- )
1564
+ active: u === "accessTokens",
1565
+ printTitle: "Tokens de API",
1566
+ gridRef: k,
1567
+ dataSource: M,
1568
+ isLoading: E,
1569
+ error: c,
1570
+ getRowId: m,
1571
+ striped: !0,
1572
+ enableRowActions: !1,
1573
+ toolbarLeftContent: Da(),
1574
+ children: Aa
1624
1575
  }
1625
1576
  ),
1626
- v === P.USER ? /* @__PURE__ */ e.jsx(
1627
- Ca,
1577
+ t === H.USER ? /* @__PURE__ */ e(
1578
+ ur,
1628
1579
  {
1629
- onClickOk: Dr,
1580
+ onClickOk: ne.handleSaveModal,
1630
1581
  opened: !0,
1631
- dataSource: y,
1632
- onClickCancel: zr,
1582
+ dataSource: $,
1583
+ onClickCancel: ne.handleCancelModal,
1633
1584
  options: i
1634
1585
  }
1635
1586
  ) : null,
1636
- v === P.GROUP ? /* @__PURE__ */ e.jsx(
1637
- Sa,
1587
+ t === H.GROUP ? /* @__PURE__ */ e(
1588
+ hr,
1638
1589
  {
1639
- onClickOk: Ir,
1590
+ onClickOk: se.handleSaveModal,
1640
1591
  opened: !0,
1641
- dataSource: U,
1642
- onClickCancel: Er,
1643
- options: x
1592
+ dataSource: ie,
1593
+ onClickCancel: se.handleCancelModal,
1594
+ options: n
1644
1595
  }
1645
1596
  ) : null,
1646
- v === P.PROFILE ? /* @__PURE__ */ e.jsx(
1647
- ja,
1597
+ t === H.PROFILE ? /* @__PURE__ */ e(
1598
+ sr,
1648
1599
  {
1649
- onClickOk: Gr,
1600
+ onClickOk: le.handleSaveModal,
1650
1601
  opened: !0,
1651
- dataSource: q,
1652
- onClickCancel: $r,
1653
- options: l
1602
+ dataSource: De,
1603
+ onClickCancel: le.handleCancelModal,
1604
+ options: h
1654
1605
  }
1655
1606
  ) : null,
1656
- W === P.USER ? /* @__PURE__ */ e.jsx(
1657
- Me,
1607
+ g === H.USER ? /* @__PURE__ */ e(
1608
+ qe,
1658
1609
  {
1659
- dataSource: y,
1660
- opened: !!W,
1661
- close: Ge
1610
+ dataSource: $,
1611
+ opened: !!g,
1612
+ close: We
1662
1613
  }
1663
1614
  ) : null,
1664
- W === P.GROUP ? /* @__PURE__ */ e.jsx(
1665
- Me,
1615
+ g === H.GROUP ? /* @__PURE__ */ e(
1616
+ qe,
1666
1617
  {
1667
- dataSource: U,
1668
- opened: !!W,
1669
- close: Ge
1618
+ dataSource: ie,
1619
+ opened: !!g,
1620
+ close: We
1670
1621
  }
1671
1622
  ) : null,
1672
- W === P.PROFILE ? /* @__PURE__ */ e.jsx(
1673
- Me,
1623
+ g === H.PROFILE ? /* @__PURE__ */ e(
1624
+ qe,
1674
1625
  {
1675
- dataSource: q,
1676
- opened: !!W,
1677
- close: Ge
1626
+ dataSource: De,
1627
+ opened: !!g,
1628
+ close: We
1678
1629
  }
1679
1630
  ) : null
1680
1631
  ] });
1681
1632
  }
1682
- function Ua({ height: r = "400px", width: u = "100%" }) {
1683
- nr();
1684
- const g = ir("apiTokenStore"), i = { validateEntity: () => [] }, { colorScheme: l } = Oe(), [x, A] = O(void 0), c = re(_.ApiToken), [$, h] = O(""), S = je(null), z = (D) => D.id, { dataSource: j } = na({
1633
+ function Jr({ height: a = "400px", width: r = "100%" }) {
1634
+ Qe();
1635
+ const l = pa("apiTokenStore"), i = { validateEntity: () => [] }, { colorScheme: h } = Ge(), [n, A] = P(void 0), v = X(Q.ApiToken), [x, c] = P(""), C = ye(null), u = (G) => G.id, { dataSource: b } = ja({
1685
1636
  initialData: [],
1686
1637
  name: "dataSource"
1687
- }), M = ke(
1638
+ }), D = Pe(
1688
1639
  "ArchbaseApiTokenView-LocalDataSource",
1689
- j,
1640
+ b,
1690
1641
  void 0,
1691
1642
  void 0
1692
- ), { dataSource: f, isLoading: Y } = Ue({
1643
+ ), { dataSource: y, isLoading: q } = Je({
1693
1644
  name: "dsApiToken",
1694
- service: c,
1695
- store: g,
1645
+ service: v,
1646
+ store: l,
1696
1647
  validator: i,
1697
1648
  pageSize: 25,
1698
1649
  loadOnStart: !0,
1699
- onLoadComplete: (D) => {
1650
+ onLoadComplete: (G) => {
1700
1651
  },
1701
- onDestroy: (D) => {
1652
+ onDestroy: (G) => {
1702
1653
  },
1703
- onError: (D, Z) => {
1704
- A(D), X.showError(t().t("archbase:WARNING"), D, Z);
1654
+ onError: (G, J) => {
1655
+ A(G), ee.showError(s().t("archbase:WARNING"), G, J);
1705
1656
  }
1706
- }), B = ke(
1657
+ }), V = Pe(
1707
1658
  "ArchbaseApiTokenView-RemoteDataSource",
1708
- f,
1659
+ y,
1709
1660
  void 0,
1710
1661
  void 0
1711
- ), d = `calc(${r} - 40px)`, v = /* @__PURE__ */ e.jsxs(fe, { children: [
1712
- /* @__PURE__ */ e.jsx(
1713
- m,
1662
+ ), t = `calc(${a} - 40px)`, d = /* @__PURE__ */ o(Ae, { children: [
1663
+ /* @__PURE__ */ e(
1664
+ T,
1714
1665
  {
1715
1666
  dataField: "user.avatar",
1716
1667
  dataType: "image",
1717
1668
  size: 80,
1718
1669
  header: "Foto",
1719
- render: (D) => /* @__PURE__ */ e.jsx(
1670
+ render: (G) => /* @__PURE__ */ e(
1720
1671
  "img",
1721
1672
  {
1722
1673
  style: { borderRadius: 50, height: "32px", maxHeight: "32px" },
1723
- src: D.row.user && D.row.user.avatar ? atob(D.row.user.avatar) : Ne
1674
+ src: G.row.user && G.row.user.avatar ? atob(G.row.user.avatar) : Ye
1724
1675
  }
1725
1676
  ),
1726
1677
  inputFilterType: "text",
1727
1678
  align: "center"
1728
1679
  }
1729
1680
  ),
1730
- /* @__PURE__ */ e.jsx(
1731
- m,
1681
+ /* @__PURE__ */ e(
1682
+ T,
1732
1683
  {
1733
1684
  dataField: "user.userName",
1734
1685
  dataType: "text",
@@ -1737,8 +1688,8 @@ function Ua({ height: r = "400px", width: u = "100%" }) {
1737
1688
  inputFilterType: "text"
1738
1689
  }
1739
1690
  ),
1740
- /* @__PURE__ */ e.jsx(
1741
- m,
1691
+ /* @__PURE__ */ e(
1692
+ T,
1742
1693
  {
1743
1694
  dataField: "user.email",
1744
1695
  dataType: "text",
@@ -1747,8 +1698,8 @@ function Ua({ height: r = "400px", width: u = "100%" }) {
1747
1698
  inputFilterType: "text"
1748
1699
  }
1749
1700
  ),
1750
- /* @__PURE__ */ e.jsx(
1751
- m,
1701
+ /* @__PURE__ */ e(
1702
+ T,
1752
1703
  {
1753
1704
  dataField: "name",
1754
1705
  dataType: "text",
@@ -1757,8 +1708,8 @@ function Ua({ height: r = "400px", width: u = "100%" }) {
1757
1708
  inputFilterType: "text"
1758
1709
  }
1759
1710
  ),
1760
- /* @__PURE__ */ e.jsx(
1761
- m,
1711
+ /* @__PURE__ */ e(
1712
+ T,
1762
1713
  {
1763
1714
  dataField: "description",
1764
1715
  dataType: "text",
@@ -1767,8 +1718,8 @@ function Ua({ height: r = "400px", width: u = "100%" }) {
1767
1718
  inputFilterType: "text"
1768
1719
  }
1769
1720
  ),
1770
- /* @__PURE__ */ e.jsx(
1771
- m,
1721
+ /* @__PURE__ */ e(
1722
+ T,
1772
1723
  {
1773
1724
  dataField: "token",
1774
1725
  dataType: "text",
@@ -1778,8 +1729,8 @@ function Ua({ height: r = "400px", width: u = "100%" }) {
1778
1729
  enableClickToCopy: !0
1779
1730
  }
1780
1731
  ),
1781
- /* @__PURE__ */ e.jsx(
1782
- m,
1732
+ /* @__PURE__ */ e(
1733
+ T,
1783
1734
  {
1784
1735
  dataField: "tenantId",
1785
1736
  dataType: "text",
@@ -1789,42 +1740,42 @@ function Ua({ height: r = "400px", width: u = "100%" }) {
1789
1740
  enableClickToCopy: !0
1790
1741
  }
1791
1742
  ),
1792
- /* @__PURE__ */ e.jsx(
1793
- m,
1743
+ /* @__PURE__ */ e(
1744
+ T,
1794
1745
  {
1795
1746
  dataField: "expirationDate",
1796
1747
  dataType: "text",
1797
1748
  size: 240,
1798
1749
  header: "Validade",
1799
- render: (D) => {
1800
- if (!D.row.expirationDate)
1801
- return /* @__PURE__ */ e.jsx(J, { c: "dimmed", children: "Sem expiração" });
1802
- const Z = /* @__PURE__ */ new Date();
1803
- Z.setHours(0, 0, 0, 0);
1804
- const p = new Date(D.row.expirationDate);
1805
- p.setHours(0, 0, 0, 0);
1806
- const w = p.getTime() - Z.getTime(), b = Math.ceil(w / (1e3 * 60 * 60 * 24));
1807
- let ne = Math.max(0, Math.min(100, b / 365 * 100)), s = "green", n = "";
1808
- b < 0 ? (s = "red", ne = 100, n = `Vencido há ${Math.abs(b)} dia${Math.abs(b) !== 1 ? "s" : ""}`) : b === 0 ? (s = "red", ne = 5, n = "Vence hoje") : b <= 7 ? (s = "red", n = `${b} dia${b !== 1 ? "s" : ""}`) : b <= 30 ? (s = "orange", n = `${b} dias`) : b <= 90 ? (s = "yellow", n = `${b} dias`) : (s = "green", n = `${b} dias`);
1809
- const L = b < 0 ? `Vencido em ${p.toLocaleDateString()}` : `Expira em ${p.toLocaleDateString()}`;
1810
- return /* @__PURE__ */ e.jsx(se, { label: L, withArrow: !0, children: /* @__PURE__ */ e.jsxs(V, { gap: "xs", wrap: "nowrap", children: [
1811
- /* @__PURE__ */ e.jsx(
1812
- Zr,
1750
+ render: (G) => {
1751
+ if (!G.row.expirationDate)
1752
+ return /* @__PURE__ */ e(w, { c: "dimmed", children: "Sem expiração" });
1753
+ const J = /* @__PURE__ */ new Date();
1754
+ J.setHours(0, 0, 0, 0);
1755
+ const S = new Date(G.row.expirationDate);
1756
+ S.setHours(0, 0, 0, 0);
1757
+ const k = S.getTime() - J.getTime(), R = Math.ceil(k / (1e3 * 60 * 60 * 24));
1758
+ let pe = Math.max(0, Math.min(100, R / 365 * 100)), p = "green", m = "";
1759
+ R < 0 ? (p = "red", pe = 100, m = `Vencido há ${Math.abs(R)} dia${Math.abs(R) !== 1 ? "s" : ""}`) : R === 0 ? (p = "red", pe = 5, m = "Vence hoje") : R <= 7 ? (p = "red", m = `${R} dia${R !== 1 ? "s" : ""}`) : R <= 30 ? (p = "orange", m = `${R} dias`) : R <= 90 ? (p = "yellow", m = `${R} dias`) : (p = "green", m = `${R} dias`);
1760
+ const M = R < 0 ? `Vencido em ${S.toLocaleDateString()}` : `Expira em ${S.toLocaleDateString()}`;
1761
+ return /* @__PURE__ */ e(Ce, { label: M, withArrow: !0, children: /* @__PURE__ */ o(N, { gap: "xs", wrap: "nowrap", children: [
1762
+ /* @__PURE__ */ e(
1763
+ Ea,
1813
1764
  {
1814
1765
  size: 36,
1815
1766
  thickness: 4,
1816
1767
  roundCaps: !0,
1817
- sections: [{ value: b < 0 ? 100 : ne, color: s }]
1768
+ sections: [{ value: R < 0 ? 100 : pe, color: p }]
1818
1769
  }
1819
1770
  ),
1820
- /* @__PURE__ */ e.jsx(J, { size: "sm", c: b < 0 ? "red" : void 0, fw: b <= 7 ? 600 : void 0, children: n })
1771
+ /* @__PURE__ */ e(w, { size: "sm", c: R < 0 ? "red" : void 0, fw: R <= 7 ? 600 : void 0, children: m })
1821
1772
  ] }) });
1822
1773
  },
1823
1774
  inputFilterType: "text"
1824
1775
  }
1825
1776
  ),
1826
- /* @__PURE__ */ e.jsx(
1827
- m,
1777
+ /* @__PURE__ */ e(
1778
+ T,
1828
1779
  {
1829
1780
  dataField: "activated",
1830
1781
  dataType: "boolean",
@@ -1832,8 +1783,8 @@ function Ua({ height: r = "400px", width: u = "100%" }) {
1832
1783
  inputFilterType: "checkbox"
1833
1784
  }
1834
1785
  ),
1835
- /* @__PURE__ */ e.jsx(
1836
- m,
1786
+ /* @__PURE__ */ e(
1787
+ T,
1837
1788
  {
1838
1789
  dataField: "revoked",
1839
1790
  dataType: "boolean",
@@ -1841,125 +1792,538 @@ function Ua({ height: r = "400px", width: u = "100%" }) {
1841
1792
  inputFilterType: "checkbox"
1842
1793
  }
1843
1794
  )
1844
- ] }), T = () => {
1845
- j.insert(ua.newInstance()), j && !M.isDataSourceV2 && M.v1State.forceUpdate(), h("apiToken");
1846
- }, W = () => {
1847
- f.getCurrentRecord() && ee.showConfirmDialogYesNo(
1848
- `${t().t("archbase:Confirme")}`,
1849
- `${t().t("archbase:Deseja revogar o token de API do usuário ")}${f.getCurrentRecord().user.name} ?`,
1795
+ ] }), g = () => {
1796
+ b.insert(ar.newInstance()), b && !D.isDataSourceV2 && D.v1State.forceUpdate(), c("apiToken");
1797
+ }, F = () => {
1798
+ y.getCurrentRecord() && ce.showConfirmDialogYesNo(
1799
+ `${s().t("archbase:Confirme")}`,
1800
+ `${s().t("archbase:Deseja revogar o token de API do usuário ")}${y.getCurrentRecord().user.name} ?`,
1850
1801
  async () => {
1851
- await c.revoke(f.getCurrentRecord().token).then(async () => {
1852
- X.showSuccess(
1853
- `${t().t("mentors:Informação")}`,
1854
- `${t().t("mentors:Token de API revogado com sucesso!")}`
1855
- ), f.refreshData(), f && !B.isDataSourceV2 && B.v1State.forceUpdate();
1856
- }).catch((D) => {
1857
- ee.showErrorWithDetails(
1858
- `${t().t("mentors:Atenção")}`,
1859
- Ae(D),
1860
- De(D)
1802
+ await v.revoke(y.getCurrentRecord().token).then(async () => {
1803
+ ee.showSuccess(
1804
+ `${s().t("mentors:Informação")}`,
1805
+ `${s().t("mentors:Token de API revogado com sucesso!")}`
1806
+ ), y.refreshData(), y && !V.isDataSourceV2 && V.v1State.forceUpdate();
1807
+ }).catch((G) => {
1808
+ ce.showErrorWithDetails(
1809
+ `${s().t("mentors:Atenção")}`,
1810
+ he(G),
1811
+ $e(G)
1861
1812
  );
1862
1813
  });
1863
1814
  },
1864
1815
  () => {
1865
1816
  }
1866
1817
  );
1867
- }, E = () => {
1868
- h("");
1869
- }, Q = async (D, Z) => {
1870
- const p = j.getCurrentRecord();
1871
- if (p)
1818
+ }, z = () => {
1819
+ c("");
1820
+ }, f = async (G, J) => {
1821
+ const S = b.getCurrentRecord();
1822
+ if (S)
1872
1823
  try {
1873
- if (j.validate(), !p.user || !p.user.email) {
1874
- ee.showErrorWithDetails(
1875
- `${t().t("archbase:WARNING")}`,
1876
- `${t().t("archbase:Selecione um usuário para o token de API")}`,
1824
+ if (b.validate(), !S.user || !S.user.email) {
1825
+ ce.showErrorWithDetails(
1826
+ `${s().t("archbase:WARNING")}`,
1827
+ `${s().t("archbase:Selecione um usuário para o token de API")}`,
1877
1828
  ""
1878
1829
  );
1879
1830
  return;
1880
1831
  }
1881
- await c.create(p.user.email, p.expirationDate, p.name, p.description).then(async (w) => {
1882
- j.cancel(), j && !M.isDataSourceV2 && M.v1State.forceUpdate(), f.append(w), f && !B.isDataSourceV2 && B.v1State.forceUpdate(), X.showSuccess(
1883
- `${t().t("mentors:Informação")}`,
1884
- `${t().t("mentors:Token de API gerado com sucesso!")}`
1885
- ), Z && Z(!0);
1886
- }).catch((w) => {
1887
- ee.showErrorWithDetails(
1888
- `${t().t("mentors:Atenção")}`,
1889
- Ae(w),
1890
- De(w)
1832
+ await v.create(S.user.email, S.expirationDate, S.name, S.description).then(async (k) => {
1833
+ b.cancel(), b && !D.isDataSourceV2 && D.v1State.forceUpdate(), y.append(k), y && !V.isDataSourceV2 && V.v1State.forceUpdate(), ee.showSuccess(
1834
+ `${s().t("mentors:Informação")}`,
1835
+ `${s().t("mentors:Token de API gerado com sucesso!")}`
1836
+ ), J && J(!0);
1837
+ }).catch((k) => {
1838
+ ce.showErrorWithDetails(
1839
+ `${s().t("mentors:Atenção")}`,
1840
+ he(k),
1841
+ $e(k)
1891
1842
  );
1892
1843
  });
1893
- } catch (w) {
1894
- ee.showErrorWithDetails(
1895
- `${t().t("mentors:Atenção")}`,
1896
- Ae(w),
1897
- De(w)
1844
+ } catch (k) {
1845
+ ce.showErrorWithDetails(
1846
+ `${s().t("mentors:Atenção")}`,
1847
+ he(k),
1848
+ $e(k)
1898
1849
  );
1899
1850
  }
1900
- }, o = () => /* @__PURE__ */ e.jsx(te, { justify: "space-between", style: { width: "50%" }, children: /* @__PURE__ */ e.jsxs(V, { align: "start", gap: "2px", wrap: "nowrap", children: [
1901
- /* @__PURE__ */ e.jsx(N, { color: "green", leftSection: /* @__PURE__ */ e.jsx(ze, {}), onClick: T, children: t().t("archbase:New") }),
1902
- /* @__PURE__ */ e.jsx(N, { disabled: !f.getCurrentRecord(), color: "red", leftSection: /* @__PURE__ */ e.jsx(Ce, {}), onClick: W, children: t().t("archbase:Revoke") })
1903
- ] }) });
1904
- return /* @__PURE__ */ e.jsxs(K, { p: "md", style: { height: r, display: "flex", flexDirection: "column" }, children: [
1905
- /* @__PURE__ */ e.jsx(
1906
- K,
1851
+ };
1852
+ return /* @__PURE__ */ o(Y, { p: "md", style: { height: a, display: "flex", flexDirection: "column" }, children: [
1853
+ /* @__PURE__ */ e(
1854
+ Y,
1907
1855
  {
1908
1856
  withBorder: !0,
1909
1857
  style: {
1910
- height: d,
1858
+ height: t,
1911
1859
  display: "flex",
1912
1860
  width: "100%",
1913
1861
  flex: 1,
1914
1862
  minHeight: 0,
1915
1863
  overflow: "auto"
1916
1864
  },
1917
- children: /* @__PURE__ */ e.jsx(
1918
- be,
1865
+ children: /* @__PURE__ */ e(
1866
+ ha,
1919
1867
  {
1920
- gridRef: S,
1868
+ gridRef: C,
1921
1869
  printTitle: "Tokens de API",
1922
1870
  width: "100%",
1923
1871
  height: "100%",
1924
1872
  withBorder: !1,
1925
- dataSource: f,
1873
+ dataSource: y,
1926
1874
  withColumnBorders: !0,
1927
1875
  striped: !0,
1928
1876
  enableTopToolbar: !0,
1929
1877
  enableRowActions: !1,
1930
1878
  pageSize: 50,
1931
- isLoading: Y,
1932
- isError: !!x,
1933
- error: x,
1879
+ isLoading: q,
1880
+ isError: !!n,
1881
+ error: n,
1934
1882
  enableGlobalFilter: !0,
1935
- getRowId: z,
1936
- toolbarLeftContent: o(),
1937
- children: v
1883
+ getRowId: u,
1884
+ toolbarLeftContent: /* @__PURE__ */ e(Re, { justify: "space-between", style: { width: "50%" }, children: /* @__PURE__ */ o(N, { align: "start", gap: "2px", wrap: "nowrap", children: [
1885
+ /* @__PURE__ */ e(Z, { color: "green", leftSection: /* @__PURE__ */ e(ba, {}), onClick: g, children: s().t("archbase:New") }),
1886
+ /* @__PURE__ */ e(Z, { disabled: !y.getCurrentRecord(), color: "red", leftSection: /* @__PURE__ */ e(Xe, {}), onClick: F, children: s().t("archbase:Revoke") })
1887
+ ] }) }),
1888
+ children: d
1938
1889
  }
1939
1890
  )
1940
1891
  }
1941
1892
  ),
1942
- $ === "apiToken" ? /* @__PURE__ */ e.jsx(
1943
- Ta,
1893
+ x === "apiToken" ? /* @__PURE__ */ e(
1894
+ mr,
1944
1895
  {
1945
- onClickOk: E,
1896
+ onClickOk: z,
1946
1897
  opened: !0,
1947
- dataSource: j,
1948
- onCustomSave: Q,
1949
- onClickCancel: E
1898
+ dataSource: b,
1899
+ onCustomSave: f,
1900
+ onClickCancel: z
1950
1901
  }
1951
1902
  ) : null
1952
1903
  ] });
1953
1904
  }
1905
+ const Ve = (a) => {
1906
+ switch (a) {
1907
+ case "critical":
1908
+ return "red";
1909
+ case "warning":
1910
+ return "orange";
1911
+ case "ok":
1912
+ return "green";
1913
+ default:
1914
+ return "gray";
1915
+ }
1916
+ }, Sr = ({ card: a }) => /* @__PURE__ */ e(Y, { withBorder: !0, radius: "md", p: "sm", style: { borderLeft: `3px solid var(--mantine-color-${Ve(a.severity)}-6)` }, children: /* @__PURE__ */ o(W, { gap: 4, children: [
1917
+ /* @__PURE__ */ o(N, { gap: 8, align: "baseline", wrap: "wrap", children: [
1918
+ /* @__PURE__ */ e(w, { fw: 600, size: "1.7rem", lh: 1.05, c: Ve(a.severity), children: a.value }),
1919
+ a.of ? /* @__PURE__ */ e(w, { size: "xs", c: "dimmed", children: a.of }) : null
1920
+ ] }),
1921
+ /* @__PURE__ */ e(w, { size: "sm", fw: 550, children: a.label }),
1922
+ a.description ? /* @__PURE__ */ e(w, { size: "xs", c: "dimmed", lh: 1.45, children: a.description }) : null
1923
+ ] }) }), Ar = ({ cards: a }) => /* @__PURE__ */ e(Me, { cols: { base: 1, sm: 2, lg: 3, xl: 4 }, spacing: "xs", children: a.map((r, l) => /* @__PURE__ */ e(Sr, { card: r }, `${r.label}-${l}`)) }), xr = ({ flags: a }) => /* @__PURE__ */ e(Me, { cols: { base: 1, sm: 2, lg: 4 }, spacing: "xs", children: a.map((r) => /* @__PURE__ */ e(Y, { withBorder: !0, radius: "md", p: "sm", children: /* @__PURE__ */ o(W, { gap: 3, children: [
1924
+ /* @__PURE__ */ e(w, { size: "10px", c: "dimmed", ff: "monospace", style: { wordBreak: "break-all" }, children: r.key }),
1925
+ /* @__PURE__ */ o(N, { gap: 7, wrap: "nowrap", children: [
1926
+ /* @__PURE__ */ e(te, { size: "xs", circle: !0, color: Ve(r.severity) }),
1927
+ /* @__PURE__ */ e(w, { size: "sm", fw: 550, children: r.value })
1928
+ ] }),
1929
+ r.description ? /* @__PURE__ */ e(w, { size: "xs", c: "dimmed", lh: 1.4, children: r.description }) : null
1930
+ ] }) }, r.key)) }), Tr = ({ attributes: a }) => /* @__PURE__ */ e(W, { gap: 7, children: a.map((r, l) => /* @__PURE__ */ o(N, { gap: 12, wrap: "nowrap", justify: "space-between", children: [
1931
+ /* @__PURE__ */ e(w, { size: "sm", c: "dimmed", children: r.label }),
1932
+ /* @__PURE__ */ e(w, { size: "sm", fw: 600, ta: "right", children: r.value })
1933
+ ] }, `${r.label}-${l}`)) }), Fe = ({ title: a, hint: r, children: l }) => /* @__PURE__ */ o(W, { gap: "xs", children: [
1934
+ /* @__PURE__ */ o(N, { gap: 10, align: "baseline", wrap: "wrap", children: [
1935
+ /* @__PURE__ */ e(w, { size: "xs", fw: 650, tt: "uppercase", style: { letterSpacing: ".05em" }, children: a }),
1936
+ r ? /* @__PURE__ */ e(w, { size: "xs", c: "dimmed", children: r }) : null
1937
+ ] }),
1938
+ l
1939
+ ] }), Rr = (a, r) => r > 0 ? ` · ${Math.round(a / r * 100)}%` : "", kr = (a) => {
1940
+ const r = a.flags;
1941
+ return [
1942
+ {
1943
+ key: "archbase.security.access.require-active",
1944
+ label: "Filtro de ativo",
1945
+ value: r.requireActive ? "Ligado" : "Desligado",
1946
+ severity: r.requireActive ? "ok" : "critical",
1947
+ description: r.requireActive ? "Permissão para ação inativa não decide." : "Permissão para ação inativa ainda decide."
1948
+ },
1949
+ {
1950
+ key: "archbase.security.admin-endpoints.policy",
1951
+ label: "Endpoints administrativos",
1952
+ value: r.adminEndpointsPolicy,
1953
+ severity: r.adminEndpointsPolicy === "permit" ? "critical" : "ok",
1954
+ description: r.adminEndpointsPolicy === "permit" ? "permit = qualquer autenticado administra segurança." : "Restrito."
1955
+ },
1956
+ {
1957
+ key: "ArchbaseRoleResolver",
1958
+ label: "Resolver de papel",
1959
+ value: r.roleResolverRegistered ? "Registrado" : "Ausente",
1960
+ severity: r.roleResolverRegistered ? "ok" : "warning",
1961
+ description: r.roleResolverRegistered ? "@RequireRole é avaliado." : "@RequireRole não restringe nada sem ele."
1962
+ },
1963
+ {
1964
+ key: "scan",
1965
+ label: "Varredura de capacidades",
1966
+ value: r.scanConfigured ? "Configurada" : "Não configurada",
1967
+ severity: r.scanConfigured ? "ok" : "warning",
1968
+ description: r.scanConfigured ? "O catálogo se alimenta do código." : "O catálogo não se alimenta do código."
1969
+ }
1970
+ ];
1971
+ }, Ir = (a) => [
1972
+ {
1973
+ severity: "critical",
1974
+ value: a.permissionsPointingToInactive,
1975
+ of: `de ${a.permissions}${Rr(a.permissionsPointingToInactive, a.permissions)}`,
1976
+ label: "Permissões inertes",
1977
+ description: "Apontam para ação ou recurso inativo. É o acesso que o operador acredita ter concedido."
1978
+ },
1979
+ {
1980
+ severity: "warning",
1981
+ value: a.administrators,
1982
+ of: `de ${a.users} usuários`,
1983
+ label: "Administradores",
1984
+ description: "Passam direto pelo portão GRANT. Nada configurado nesta tela se aplica a eles."
1985
+ },
1986
+ {
1987
+ severity: "warning",
1988
+ value: a.actionsInactive,
1989
+ of: `de ${a.actions} ações`,
1990
+ label: "Ações inativas",
1991
+ description: "Capacidades do catálogo que não valem. São a origem das permissões inertes."
1992
+ },
1993
+ {
1994
+ severity: "warning",
1995
+ value: a.apiResourcesInactive,
1996
+ of: `de ${a.apiResources} recursos API`,
1997
+ label: "Recursos API desativados",
1998
+ description: "Desativados pela varredura por não terem @HasPermission correspondente."
1999
+ },
2000
+ {
2001
+ severity: "neutral",
2002
+ value: a.resourcesWithoutAction,
2003
+ of: `de ${a.resources} recursos`,
2004
+ label: "Recursos sem ação",
2005
+ description: "Telas ainda não abertas neste tenant. Indicador operacional, não alerta."
2006
+ },
2007
+ {
2008
+ severity: "warning",
2009
+ value: a.actionsWithoutPermission,
2010
+ of: "ações",
2011
+ label: "Ninguém tem",
2012
+ description: "Capacidade existe no catálogo e não foi concedida a ninguém."
2013
+ }
2014
+ ], Pr = ({ slots: a, onError: r }) => {
2015
+ const l = X(
2016
+ Q.SecurityDiagnostics
2017
+ ), [i, h] = P(void 0), [n, A] = P(!0), [v, x] = P(void 0);
2018
+ Se(() => {
2019
+ let u = !0;
2020
+ return A(!0), l.getOverview().then((b) => {
2021
+ u && (h(b), x(void 0));
2022
+ }).catch((b) => {
2023
+ if (u) {
2024
+ const D = he(b);
2025
+ x(D), r?.(D);
2026
+ }
2027
+ }).finally(() => {
2028
+ u && A(!1);
2029
+ }), () => {
2030
+ u = !1;
2031
+ };
2032
+ }, [l]);
2033
+ const c = ae(
2034
+ () => i ? [...kr(i), ...a?.additionalFlags?.(i) ?? []] : [],
2035
+ [i, a]
2036
+ ), C = ae(
2037
+ () => i ? [...Ir(i), ...a?.additionalOverviewCards?.(i) ?? []] : [],
2038
+ [i, a]
2039
+ );
2040
+ return n ? /* @__PURE__ */ e(Ke, { size: "sm" }) : v ? /* @__PURE__ */ e(ke, { color: "red", title: "Não foi possível ler o diagnóstico", children: v }) : i ? /* @__PURE__ */ o(W, { gap: "lg", children: [
2041
+ /* @__PURE__ */ o(Fe, { title: "Proteções", hint: "de AccessOverview.flags", children: [
2042
+ /* @__PURE__ */ e(xr, { flags: c }),
2043
+ /* @__PURE__ */ e(w, { size: "xs", c: "dimmed", lh: 1.45, children: "Todas nascem com o padrão compatível — ligadas só quando alguém decide." })
2044
+ ] }),
2045
+ /* @__PURE__ */ e(Fe, { title: "Catálogo e concessões", hint: "contagens vivas", children: /* @__PURE__ */ e(Ar, { cards: C }) }),
2046
+ a?.afterOverview?.(i)
2047
+ ] }) : null;
2048
+ }, da = {
2049
+ EFFECTIVE: { label: "Efetiva", color: "green" },
2050
+ INERT: { label: "Inerte", color: "orange" },
2051
+ DENIED: { label: "Negada", color: "red" }
2052
+ }, Fr = { GROUP: "grupo", PROFILE: "perfil", USER: "direto" }, zr = [
2053
+ { value: "all", label: "Todas" },
2054
+ { value: "EFFECTIVE", label: "Só efetivas" },
2055
+ { value: "INERT", label: "Só inertes" },
2056
+ { value: "DENIED", label: "Negadas" },
2057
+ { value: "inherited", label: "Só herdadas" }
2058
+ ], Dr = ({ slots: a, onError: r }) => {
2059
+ const l = X(
2060
+ Q.SecurityDiagnostics
2061
+ ), [i, h] = P(""), [n, A] = P(void 0), [v, x] = P(!1), [c, C] = P(void 0), [u, b] = P("all"), D = de(
2062
+ async (t) => {
2063
+ const d = t.trim();
2064
+ if (d) {
2065
+ x(!0), C(void 0);
2066
+ try {
2067
+ const g = d.includes("@") ? await l.getEffectiveAccessByEmail(d) : await l.getEffectiveAccessByUserId(d);
2068
+ A(g);
2069
+ } catch (g) {
2070
+ const F = he(g);
2071
+ C(F), r?.(F), A(void 0);
2072
+ } finally {
2073
+ x(!1);
2074
+ }
2075
+ }
2076
+ },
2077
+ [l, r]
2078
+ ), y = ae(() => n ? [
2079
+ { label: "Perfil", value: n.profileName || "—" },
2080
+ { label: "Grupos", value: n.groupNames.length ? n.groupNames.join(", ") : "—" },
2081
+ ...a?.userAttributes?.(n) ?? []
2082
+ ] : [], [n, a]), q = ae(() => n ? u === "all" ? n.capabilities : u === "inherited" ? n.capabilities.filter((t) => t.grantedByType !== "USER") : n.capabilities.filter((t) => t.situation === u) : [], [n, u]), V = a?.additionalCapabilityColumns ?? [];
2083
+ return /* @__PURE__ */ o(W, { gap: "lg", children: [
2084
+ /* @__PURE__ */ e(Fe, { title: "Consultar", hint: "por e-mail ou id do usuário", children: a?.renderUserSearch ? a.renderUserSearch((t) => {
2085
+ h(t), D(t);
2086
+ }) : /* @__PURE__ */ o(N, { gap: "xs", align: "flex-end", children: [
2087
+ /* @__PURE__ */ e(
2088
+ ge,
2089
+ {
2090
+ style: { flex: 1, minWidth: 240 },
2091
+ label: "Usuário",
2092
+ placeholder: "pessoa@empresa.com.br",
2093
+ value: i,
2094
+ onChange: (t) => h(t.currentTarget.value),
2095
+ onKeyDown: (t) => {
2096
+ t.key === "Enter" && D(i);
2097
+ }
2098
+ }
2099
+ ),
2100
+ /* @__PURE__ */ e(Z, { onClick: () => void D(i), loading: v, children: "Consultar" })
2101
+ ] }) }),
2102
+ c ? /* @__PURE__ */ e(ke, { color: "red", title: "Não foi possível ler o efetivo", children: c }) : null,
2103
+ v && !n ? /* @__PURE__ */ e(Ke, { size: "sm" }) : null,
2104
+ n ? /* @__PURE__ */ o(Ne, { children: [
2105
+ /* @__PURE__ */ e(Y, { withBorder: !0, radius: "md", p: "md", children: /* @__PURE__ */ o(W, { gap: "sm", children: [
2106
+ /* @__PURE__ */ o(N, { gap: 8, wrap: "wrap", align: "center", children: [
2107
+ /* @__PURE__ */ e(w, { fw: 620, children: n.userLabel }),
2108
+ n.administrator ? /* @__PURE__ */ e(te, { color: "red", children: "administrador" }) : null,
2109
+ n.enabled ? null : /* @__PURE__ */ e(te, { color: "red", children: "conta desativada" }),
2110
+ a?.afterUserBadges?.(n)
2111
+ ] }),
2112
+ /* @__PURE__ */ e(Tr, { attributes: y })
2113
+ ] }) }),
2114
+ n.administrator ? /* @__PURE__ */ o(ke, { color: "orange", title: "Administrador passa direto", children: [
2115
+ "O portão GRANT concede sem consultar o catálogo. A lista abaixo vir vazia não é falta de dado — é o atalho que a flag ",
2116
+ /* @__PURE__ */ e("code", { children: "isAdministrator" }),
2117
+ " representa."
2118
+ ] }) : null,
2119
+ /* @__PURE__ */ e(Me, { cols: { base: 2, sm: 4 }, spacing: "xs", children: [
2120
+ ["concedidas", n.granted, "neutral"],
2121
+ ["efetivas", n.effective, "ok"],
2122
+ ["inertes", n.inert, "warning"],
2123
+ ["negadas", n.denied, "critical"]
2124
+ ].map(([t, d, g]) => /* @__PURE__ */ e(Y, { withBorder: !0, radius: "md", p: "sm", children: /* @__PURE__ */ o(W, { gap: 2, children: [
2125
+ /* @__PURE__ */ e(w, { size: "1.3rem", fw: 620, c: Ve(g), children: d }),
2126
+ /* @__PURE__ */ e(w, { size: "xs", c: "dimmed", children: t })
2127
+ ] }) }, t)) }),
2128
+ a?.afterEffectiveTally?.(n),
2129
+ /* @__PURE__ */ o(Fe, { title: "Capacidades", hint: `${q.length} de ${n.capabilities.length}`, children: [
2130
+ /* @__PURE__ */ e(ta.Group, { multiple: !1, value: u, onChange: (t) => b(t), children: /* @__PURE__ */ e(N, { gap: 6, children: zr.map((t) => /* @__PURE__ */ e(ta, { value: t.value, size: "xs", variant: "outline", children: t.label }, t.value)) }) }),
2131
+ /* @__PURE__ */ e(j.ScrollContainer, { minWidth: 640, children: /* @__PURE__ */ o(j, { striped: !0, highlightOnHover: !0, withTableBorder: !0, children: [
2132
+ /* @__PURE__ */ e(j.Thead, { children: /* @__PURE__ */ o(j.Tr, { children: [
2133
+ /* @__PURE__ */ e(j.Th, { children: "Capacidade" }),
2134
+ /* @__PURE__ */ e(j.Th, { children: "Origem" }),
2135
+ /* @__PURE__ */ e(j.Th, { children: "Situação" }),
2136
+ V.map((t) => /* @__PURE__ */ e(j.Th, { children: t.header }, t.header))
2137
+ ] }) }),
2138
+ /* @__PURE__ */ o(j.Tbody, { children: [
2139
+ q.map((t, d) => /* @__PURE__ */ o(j.Tr, { children: [
2140
+ /* @__PURE__ */ e(j.Td, { children: /* @__PURE__ */ o(w, { size: "sm", ff: "monospace", children: [
2141
+ t.resource,
2142
+ ":",
2143
+ t.action
2144
+ ] }) }),
2145
+ /* @__PURE__ */ e(j.Td, { children: /* @__PURE__ */ o(w, { size: "sm", children: [
2146
+ /* @__PURE__ */ o(w, { span: !0, c: "dimmed", children: [
2147
+ Fr[t.grantedByType] ?? t.grantedByType,
2148
+ " "
2149
+ ] }),
2150
+ t.grantedByName
2151
+ ] }) }),
2152
+ /* @__PURE__ */ e(j.Td, { children: /* @__PURE__ */ e(te, { color: da[t.situation].color, variant: "light", children: da[t.situation].label }) }),
2153
+ V.map((g) => /* @__PURE__ */ e(j.Td, { children: g.render(t, n) }, g.header))
2154
+ ] }, `${t.resource}:${t.action}:${d}`)),
2155
+ q.length === 0 ? /* @__PURE__ */ e(j.Tr, { children: /* @__PURE__ */ e(j.Td, { colSpan: 3 + V.length, children: /* @__PURE__ */ e(w, { size: "sm", c: "dimmed", ta: "center", py: "md", children: "Nenhuma capacidade neste filtro." }) }) }) : null
2156
+ ] })
2157
+ ] }) })
2158
+ ] })
2159
+ ] }) : null
2160
+ ] });
2161
+ }, Er = [
2162
+ { gate: "IDENTITY", titulo: "Identidade", papel: "só nega", pergunta: "O principal é resolvível e a conta está ativa?" },
2163
+ { gate: "SCOPE", titulo: "Escopo", papel: "só nega", pergunta: "A concessão vale para o tenant, empresa e projeto pedidos?" },
2164
+ { gate: "RESTRICTION", titulo: "Restrições", papel: "só nega", pergunta: "Perfil, papel e persona exigidos pela anotação." },
2165
+ { gate: "LEVEL", titulo: "Nível", papel: "só nega", pergunta: "O nível da pessoa alcança o piso da capacidade?" },
2166
+ { gate: "GRANT", titulo: "Concessão", papel: "concede", pergunta: "Existe permissão, sem negação explícita?" }
2167
+ ], $r = ({ slots: a, onError: r }) => {
2168
+ const l = X(
2169
+ Q.SecurityDiagnostics
2170
+ ), [i, h] = P(""), [n, A] = P(""), [v, x] = P(""), [c, C] = P({}), [u, b] = P(void 0), [D, y] = P(!1), [q, V] = P(void 0), t = de(async () => {
2171
+ if (!(!i.trim() || !n.trim() || !v.trim())) {
2172
+ y(!0), V(void 0);
2173
+ try {
2174
+ const g = i.trim(), F = await l.simulate({
2175
+ ...g.includes("@") ? { email: g } : { userId: g },
2176
+ resource: n.trim(),
2177
+ action: v.trim(),
2178
+ companyId: c.companyId,
2179
+ projectId: c.projectId
2180
+ });
2181
+ b(F);
2182
+ } catch (g) {
2183
+ const F = he(g);
2184
+ V(F), r?.(F), b(void 0);
2185
+ } finally {
2186
+ y(!1);
2187
+ }
2188
+ }
2189
+ }, [l, i, n, v, c, r]), d = (g, F) => {
2190
+ const z = F.chain?.find((f) => f.gate === g);
2191
+ return z ? z.passed ? "passou" : "negou" : "nao-avaliado";
2192
+ };
2193
+ return /* @__PURE__ */ o(W, { gap: "lg", children: [
2194
+ /* @__PURE__ */ e(Y, { withBorder: !0, radius: "md", p: "md", children: /* @__PURE__ */ o(W, { gap: "sm", children: [
2195
+ /* @__PURE__ */ o(Me, { cols: { base: 1, sm: 2, lg: 4 }, spacing: "xs", children: [
2196
+ /* @__PURE__ */ e(
2197
+ ge,
2198
+ {
2199
+ label: "Usuário",
2200
+ placeholder: "e-mail ou id",
2201
+ value: i,
2202
+ onChange: (g) => h(g.currentTarget.value)
2203
+ }
2204
+ ),
2205
+ /* @__PURE__ */ e(
2206
+ ge,
2207
+ {
2208
+ label: "Recurso",
2209
+ placeholder: "tms.ordemservico",
2210
+ value: n,
2211
+ onChange: (g) => A(g.currentTarget.value)
2212
+ }
2213
+ ),
2214
+ /* @__PURE__ */ e(
2215
+ ge,
2216
+ {
2217
+ label: "Ação",
2218
+ placeholder: "aprovar_custo",
2219
+ value: v,
2220
+ onChange: (g) => x(g.currentTarget.value)
2221
+ }
2222
+ ),
2223
+ /* @__PURE__ */ e(
2224
+ ge,
2225
+ {
2226
+ label: "Empresa (opcional)",
2227
+ placeholder: "companyId",
2228
+ value: c.companyId ?? "",
2229
+ onChange: (g) => C((F) => ({ ...F, companyId: g.currentTarget.value || void 0 }))
2230
+ }
2231
+ )
2232
+ ] }),
2233
+ a?.afterSimulationFields?.((g) => C((F) => ({ ...F, ...g }))),
2234
+ /* @__PURE__ */ o(N, { gap: "xs", align: "center", children: [
2235
+ /* @__PURE__ */ e(Z, { onClick: () => void t(), loading: D, children: "Simular" }),
2236
+ /* @__PURE__ */ e(w, { size: "xs", c: "dimmed", children: "Somente leitura — não altera permissão nenhuma." })
2237
+ ] })
2238
+ ] }) }),
2239
+ q ? /* @__PURE__ */ e(ke, { color: "red", title: "Não foi possível simular", children: q }) : null,
2240
+ D && !u ? /* @__PURE__ */ e(Ke, { size: "sm" }) : null,
2241
+ u ? /* @__PURE__ */ o(Ne, { children: [
2242
+ /* @__PURE__ */ e(Fe, { title: "Cadeia de decisão", hint: "os quatro primeiros só negam; só o quinto concede", children: /* @__PURE__ */ e(Y, { withBorder: !0, radius: "md", p: "md", children: /* @__PURE__ */ e(W, { gap: "sm", children: Er.map((g, F) => {
2243
+ const z = d(g.gate, u), f = u.chain?.find((oe) => oe.gate === g.gate)?.detail;
2244
+ return /* @__PURE__ */ o(N, { align: "flex-start", wrap: "nowrap", gap: "sm", children: [
2245
+ /* @__PURE__ */ e(w, { size: "xs", ff: "monospace", c: "dimmed", w: 16, children: F + 1 }),
2246
+ /* @__PURE__ */ o(W, { gap: 2, style: { flex: 1, minWidth: 0 }, children: [
2247
+ /* @__PURE__ */ o(N, { gap: 8, align: "baseline", wrap: "wrap", children: [
2248
+ /* @__PURE__ */ e(
2249
+ w,
2250
+ {
2251
+ size: "sm",
2252
+ fw: 600,
2253
+ c: z === "negou" ? "red" : void 0,
2254
+ opacity: z === "nao-avaliado" ? 0.5 : 1,
2255
+ children: g.titulo
2256
+ }
2257
+ ),
2258
+ /* @__PURE__ */ o(w, { size: "xs", c: "dimmed", children: [
2259
+ "· ",
2260
+ g.papel
2261
+ ] })
2262
+ ] }),
2263
+ /* @__PURE__ */ e(w, { size: "xs", c: "dimmed", opacity: z === "nao-avaliado" ? 0.5 : 1, children: g.pergunta }),
2264
+ f ? /* @__PURE__ */ e(w, { size: "xs", c: "dimmed", children: f }) : null
2265
+ ] }),
2266
+ /* @__PURE__ */ e(
2267
+ te,
2268
+ {
2269
+ variant: "light",
2270
+ color: z === "negou" ? "red" : z === "passou" ? "green" : "gray",
2271
+ children: z === "nao-avaliado" ? "não avaliado" : z
2272
+ }
2273
+ )
2274
+ ] }, g.gate);
2275
+ }) }) }) }),
2276
+ /* @__PURE__ */ e(ke, { color: u.allowed ? "green" : "red", title: u.allowed ? "Pode" : "Não pode", children: /* @__PURE__ */ o(W, { gap: 6, children: [
2277
+ /* @__PURE__ */ e(w, { size: "sm", children: u.message }),
2278
+ /* @__PURE__ */ o(w, { size: "xs", ff: "monospace", c: "dimmed", children: [
2279
+ "reasonCode: ",
2280
+ u.reasonCode,
2281
+ u.deniedAt ? ` · deniedAt: ${u.deniedAt}` : "",
2282
+ u.grantedByName ? ` · grantedBy: ${u.grantedByName}` : ""
2283
+ ] })
2284
+ ] }) }),
2285
+ a?.afterDecision?.(u)
2286
+ ] }) : null
2287
+ ] });
2288
+ }, Nr = ["overview", "effective", "simulate"];
2289
+ function Kr({
2290
+ height: a = "100%",
2291
+ width: r = "100%",
2292
+ defaultTab: l = "overview",
2293
+ tabs: i = Nr,
2294
+ slots: h,
2295
+ onError: n
2296
+ }) {
2297
+ const [A, v] = P(l), x = (c) => i.includes(c);
2298
+ return /* @__PURE__ */ e(Y, { style: { height: a, width: r }, p: "md", withBorder: !1, children: /* @__PURE__ */ o(K, { value: A, onChange: v, variant: "pills", keepMounted: !1, children: [
2299
+ /* @__PURE__ */ o(K.List, { mb: "md", children: [
2300
+ x("overview") ? /* @__PURE__ */ e(K.Tab, { value: "overview", leftSection: /* @__PURE__ */ e(Ka, { size: "1rem" }), children: "Panorama" }) : null,
2301
+ x("effective") ? /* @__PURE__ */ e(K.Tab, { value: "effective", leftSection: /* @__PURE__ */ e(Qa, { size: "1rem" }), children: "Efetivo do usuário" }) : null,
2302
+ x("simulate") ? /* @__PURE__ */ e(K.Tab, { value: "simulate", leftSection: /* @__PURE__ */ e(Xa, { size: "1rem" }), children: "Simular" }) : null
2303
+ ] }),
2304
+ x("overview") ? /* @__PURE__ */ e(K.Panel, { value: "overview", children: /* @__PURE__ */ e(Pr, { slots: h, onError: n }) }) : null,
2305
+ x("effective") ? /* @__PURE__ */ e(K.Panel, { value: "effective", children: /* @__PURE__ */ e(Dr, { slots: h, onError: n }) }) : null,
2306
+ x("simulate") ? /* @__PURE__ */ e(K.Panel, { value: "simulate", children: /* @__PURE__ */ e($r, { slots: h, onError: n }) }) : null
2307
+ ] }) });
2308
+ }
1954
2309
  export {
1955
- Ta as ApiTokenModal,
1956
- Ua as ArchbaseApiTokenView,
1957
- wa as ArchbaseDualListSelector,
1958
- Ma as ArchbaseSecurityView,
1959
- Sa as GroupModal,
1960
- Me as PermissionsSelectorModal,
1961
- ja as ProfileModal,
1962
- ya as RenderProfileUserItem,
1963
- Ca as UserModal
2310
+ mr as ApiTokenModal,
2311
+ Jr as ArchbaseApiTokenView,
2312
+ lr as ArchbaseDualListSelector,
2313
+ Kr as ArchbaseSecurityDiagnosticsView,
2314
+ Zr as ArchbaseSecurityView,
2315
+ Tr as AttributeList,
2316
+ Dr as EffectiveAccessPanel,
2317
+ xr as FlagStrip,
2318
+ hr as GroupModal,
2319
+ Sr as MetricCard,
2320
+ Ar as MetricCards,
2321
+ Pr as OverviewPanel,
2322
+ qe as PermissionsSelectorModal,
2323
+ sr as ProfileModal,
2324
+ cr as RenderProfileUserItem,
2325
+ Fe as Section,
2326
+ $r as SimulationPanel,
2327
+ ur as UserModal,
2328
+ Ve as severityColor
1964
2329
  };
1965
- //# sourceMappingURL=index.js.map