@feedmepos/mf-hrm-portal 2.0.8-dev → 2.0.8-dev.10

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 (49) hide show
  1. package/dist/AuditLogList-CNrMFE7u.js +708 -0
  2. package/dist/{EmployeeList-O6XTYBcz.js → EmployeeList-cOmlbt40.js} +164 -169
  3. package/dist/FormSection.vue_vue_type_script_setup_true_lang-BVb8c4YU.js +71 -0
  4. package/dist/HorizontalSplitter-o860F4xM.js +12 -0
  5. package/dist/{Main-XEb1ECXG.js → Main-BDXOkOE2.js} +11 -10
  6. package/dist/Main-BJh3lH16.js +560 -0
  7. package/dist/{Main--bRTC1IR.js → Main-C3koRp1u.js} +8 -7
  8. package/dist/PermissionSetList-CLJn0V0J.js +338 -0
  9. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bcr-EX6B.js +3471 -0
  10. package/dist/{RoleList-BeB1etH6.js → RoleList-Bd3v0EoJ.js} +26 -24
  11. package/dist/TeamMemberList-CbfbIqYV.js +989 -0
  12. package/dist/{TimesheetList-DNzuykEu.js → TimesheetList-DkJWAHEN.js} +11 -10
  13. package/dist/{app-BovCLczm.js → app-CBCdQFuQ.js} +1458 -1005
  14. package/dist/app.js +2 -2
  15. package/dist/{dayjs.min-dxVeOXk_.js → dayjs.min-D-dyRkoG.js} +1 -1
  16. package/dist/{employee-DGiDGhcK.js → employee-BUIgpjQN.js} +21 -20
  17. package/dist/{index-CQ26ps7Z.js → index-BMJS_Lkf.js} +1 -1
  18. package/dist/index-CPrEayXj.js +968 -0
  19. package/dist/{index-C0yiZ_7g.js → iteration-CsLWDBUl.js} +3444 -4352
  20. package/dist/{lodash-CBlFHm6b.js → lodash-B9IFDgiG.js} +1 -1
  21. package/dist/src/api/grant-user/index.d.ts +8 -0
  22. package/dist/src/api/index.d.ts +3 -1
  23. package/dist/src/composables/useBasePermission.d.ts +37 -0
  24. package/dist/src/helpers/permission-set.d.ts +26 -4
  25. package/dist/src/helpers/permission-set.test.d.ts +1 -0
  26. package/dist/src/helpers/permission-sync.d.ts +12 -0
  27. package/dist/src/router/shared.d.ts +2 -1
  28. package/dist/src/stores/grant-user.d.ts +86 -0
  29. package/dist/src/types/grant-user.d.ts +27 -0
  30. package/dist/src/views/audit-log/locales/index.d.ts +140 -0
  31. package/dist/src/views/grant/GrantUserList.vue.d.ts +17 -0
  32. package/dist/src/views/grant/Main.vue.d.ts +2 -0
  33. package/dist/src/views/grant/components/GrantUserForm.vue.d.ts +17 -0
  34. package/dist/src/views/grant/locales/index.d.ts +232 -0
  35. package/dist/src/views/team/components/BasePermission.vue.d.ts +3 -3
  36. package/dist/style.css +1 -1
  37. package/dist/{team-BqxJ-gNb.js → team-6mA14lfK.js} +1 -1
  38. package/dist/{timesheet-BVR_FxsT.js → timesheet-DG2p1hTy.js} +10 -9
  39. package/dist/tsconfig.app.tsbuildinfo +1 -1
  40. package/dist/{useAppStore-gvdZApLV.js → useAppStore-CmUOIsdB.js} +1 -1
  41. package/dist/{useLoading-CCzb5k4G.js → useLoading-Ct9N6Ir6.js} +1 -1
  42. package/dist/{useReportPermissions-9TaHhs9I.js → useReportPermissions-D_KEL6RC.js} +12 -11
  43. package/dist/useRestaurantMap-e9fQJiLC.js +39 -0
  44. package/package.json +2 -2
  45. package/dist/AuditLogList-Dp5B1jR-.js +0 -492
  46. package/dist/PermissionSetList-DAwnZ-Gu.js +0 -327
  47. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bx7A0p-f.js +0 -3333
  48. package/dist/TeamMemberList-BKCsNEuQ.js +0 -979
  49. package/dist/useRestaurantMap-D5BNPLKh.js +0 -107
@@ -1,4 +1,4 @@
1
- import { c as jt } from "./app-BovCLczm.js";
1
+ import { c as jt } from "./app-CBCdQFuQ.js";
2
2
  var Jr = { exports: {} };
3
3
  /**
4
4
  * @license
@@ -0,0 +1,8 @@
1
+ import type { IFdtoGrantUser, IFdtoCreateGrantUserReq, IFdtoGrantValidationRes } from '@/types/grant-user';
2
+ declare const GrantUserAPI: {
3
+ getGrantUsers(): Promise<IFdtoGrantUser[]>;
4
+ createGrantUser(dto: IFdtoCreateGrantUserReq): Promise<IFdtoGrantUser>;
5
+ revokeGrantUser(id: string, restaurantId: string): Promise<IFdtoGrantUser>;
6
+ validatePasscode(passcode: string, restaurantId: string): Promise<IFdtoGrantValidationRes>;
7
+ };
8
+ export default GrantUserAPI;
@@ -3,6 +3,8 @@ export declare class ApiError extends Error {
3
3
  readonly status: number;
4
4
  constructor(message: string, status: number);
5
5
  }
6
- export declare const businessClientInstance: () => AxiosInstance;
6
+ export declare const businessClientInstance: (subPath?: string) => AxiosInstance;
7
7
  export declare const queryEngineClientInstance: () => AxiosInstance;
8
+ export declare const grantClientInstance: () => AxiosInstance;
9
+ export declare const grantValidateClientInstance: () => AxiosInstance;
8
10
  export declare function getAxiosData<T>(response: AxiosResponse<T>): T;
@@ -0,0 +1,37 @@
1
+ import { type ComputedRef, type Ref } from 'vue';
2
+ import { type IFdtoPortalPermissionsWithVisibilityCondition } from '@feedmepos/hrm-permission';
3
+ import type { FdoPermissionRule } from '@feedmepos/core/entity';
4
+ export type CategoryGroup = {
5
+ category: string;
6
+ options: {
7
+ label: string;
8
+ value: string;
9
+ }[];
10
+ selectedSubjects: string[];
11
+ isMultiAction: boolean;
12
+ actionColumns: string[];
13
+ permissionActionsMap: Map<string, string[]>;
14
+ selectedActionsMap: Map<string, Set<string>>;
15
+ coverSubject: string | null;
16
+ coverSelectedActions: Set<string>;
17
+ coverCoversAll: boolean;
18
+ };
19
+ export declare function useBasePermission(modelValue: Readonly<Ref<FdoPermissionRule[]>>, allPermissions: ComputedRef<IFdtoPortalPermissionsWithVisibilityCondition[]>, excludedSubjects: Readonly<Ref<string[]>>, emit: (event: 'update:model-value', value: FdoPermissionRule[]) => void): {
20
+ categoryGroups: ComputedRef<CategoryGroup[]>;
21
+ toggleCategory: (category: string, subjects: unknown[]) => void;
22
+ isAllManageChecked: (group: CategoryGroup) => boolean;
23
+ toggleAllManage: (group: CategoryGroup) => void;
24
+ isManageChecked: (group: CategoryGroup, subject: string) => boolean;
25
+ isManageIndeterminate: (group: CategoryGroup, subject: string) => boolean;
26
+ toggleManage: (_group: CategoryGroup, subject: string, checked: boolean) => void;
27
+ hasNonManageActions: (group: CategoryGroup, subject: string) => boolean;
28
+ isActionChecked: (group: CategoryGroup, subject: string, action: string) => boolean;
29
+ isRowFullyCoveredByCover: (group: CategoryGroup, subject: string) => boolean;
30
+ isActionCoveredByCover: (group: CategoryGroup, subject: string, action: string) => boolean;
31
+ permissionDefinesAction: (group: CategoryGroup, subject: string, action: string) => boolean;
32
+ toggleAction: (subject: string, action: string, checked: boolean) => void;
33
+ isAllActionChecked: (group: CategoryGroup, action: string) => boolean;
34
+ isAllActionIndeterminate: (group: CategoryGroup, action: string) => boolean;
35
+ toggleAllAction: (group: CategoryGroup, action: string, checked: boolean) => void;
36
+ actionLabel: (action: string) => string;
37
+ };
@@ -46,15 +46,37 @@ export declare function materializeSystemPermissionSetOverrides(overridePermissi
46
46
  * Inverted rules (explicit user denials) are always preserved.
47
47
  */
48
48
  export declare function stripSystemExpandedPositives(permissions: FdoPermissionRule[]): FdoPermissionRule[];
49
+ export declare const REPORT_SUBJECT_PREFIX = "business::report::";
49
50
  /**
50
- * Filter out permissions whose subject no longer exists in the known permission definitions.
51
- * Removes both positive and inverted rules for stale subjects.
51
+ * Filter out stale report permission rules.
52
+ *
53
+ * Only rules whose subject starts with `business::report::` are candidates for removal —
54
+ * any other subject (restaurant, role, warehouse, etc.) passes through untouched.
55
+ * A report-prefixed subject is kept only if it exists in `knownReportSubjects`.
52
56
  *
53
57
  * This handles:
54
58
  * - Deprecated/renamed subjects (e.g. `business::report::closeup` → `business::report::reports::closeup`)
55
59
  * - Deleted dynamic reports that no longer exist
56
60
  */
57
- export declare function filterStalePermissions(permissions: FdoPermissionRule[], knownSubjects: Set<string>): FdoPermissionRule[];
61
+ export declare function filterStalePermissions(permissions: FdoPermissionRule[], knownReportSubjects: Set<string>): FdoPermissionRule[];
62
+ /**
63
+ * Strip individual-report actions already covered by an `allDefaultReports` or
64
+ * `allCustomReports` positive grant, preventing redundant data from being saved.
65
+ *
66
+ * - If the cover rule has `manage` selected → every individual rule in that bucket is
67
+ * fully covered and dropped entirely.
68
+ * - Otherwise, only covered non-manage actions are stripped from individual rules.
69
+ * If `manage` was present and any non-manage action is stripped (breaking the
70
+ * "manage = all non-manage selected" invariant), `manage` is also stripped.
71
+ * Rules that end up with no remaining actions are dropped.
72
+ *
73
+ * Inverted rules and the cover subjects themselves pass through untouched.
74
+ *
75
+ * @param defaultReportSubjects Full set of subjects in the "Default Report" UI category —
76
+ * includes static hardcoded subjects AND dynamic reports with `isDefault: true`.
77
+ * Built by the caller from `portalTeamPermissions` + `customReportPermissions`.
78
+ */
79
+ export declare function filterRedundantReportPermissions(permissions: FdoPermissionRule[], defaultReportSubjects: Set<string>): FdoPermissionRule[];
58
80
  /**
59
81
  * Combine base permissions with override permissions to get effective permissions
60
82
  * @param basePermissions - Base permissions from permission sets
@@ -69,7 +91,7 @@ export declare function getEffectivePermissions(basePermissions: FdoPermissionRu
69
91
  * subject is NOT present in any base permission set (i.e. they target system-expanded subjects,
70
92
  * not permission-set-inherited subjects). These denials seed `visitedSetIds` in
71
93
  * `expandWithSystemPermissionSets` to block runtime re-expansion of system sets that the user
72
- * explicitly unchecked. Without them the editor would initialise without the denial guard and
94
+ * explicitly unchecked. Without them the editor would initialize without the denial guard and
73
95
  * those subjects would reappear as checked the next time the form opens.
74
96
  *
75
97
  * Inverted rules whose subject IS in base are handled correctly by `getEffectivePermissions`
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { FdoPermissionRule } from '@feedmepos/core/entity';
2
+ /**
3
+ * Keeps the `manage` action in sync with non-manage actions for a given subject.
4
+ *
5
+ * - Adds `manage` when every non-manage action in `definedActions` is selected.
6
+ * - Removes `manage` (and splices the rule if it becomes empty) when any
7
+ * non-manage action is unselected.
8
+ * - No-op when the subject defines only `manage` (or no non-manage actions).
9
+ *
10
+ * Mutates `newRules` in place.
11
+ */
12
+ export declare function applyManageSync(newRules: FdoPermissionRule[], subject: string, definedActions: string[]): void;
@@ -7,7 +7,8 @@ export declare enum RouteName {
7
7
  AUDIT_LOG = "audit-log",
8
8
  TEAM = "team",
9
9
  TEAM_MEMBER = "team-member",
10
- TEAM_ROLE = "team-role"
10
+ TEAM_ROLE = "team-role",
11
+ POS_GRANT = "pos-grant"
11
12
  }
12
13
  declare const routes: RouteRecordRaw[];
13
14
  export { routes };
@@ -0,0 +1,86 @@
1
+ import type { IFdtoGrantUser, IFdtoCreateGrantUserReq } from '@/types/grant-user';
2
+ export declare const useGrantUserStore: import("pinia").StoreDefinition<"grantUser", Pick<{
3
+ grantUsers: import("vue").Ref<{
4
+ _id: string;
5
+ passcode: string;
6
+ name: string;
7
+ restaurantId: string;
8
+ roleId: string;
9
+ status: "active" | "used" | "revoked";
10
+ grantById: string;
11
+ grantByName: string;
12
+ createdAt: string;
13
+ updatedAt: string;
14
+ }[], IFdtoGrantUser[] | {
15
+ _id: string;
16
+ passcode: string;
17
+ name: string;
18
+ restaurantId: string;
19
+ roleId: string;
20
+ status: "active" | "used" | "revoked";
21
+ grantById: string;
22
+ grantByName: string;
23
+ createdAt: string;
24
+ updatedAt: string;
25
+ }[]>;
26
+ isLoading: import("vue").Ref<boolean, boolean>;
27
+ readGrantUsers: () => Promise<void>;
28
+ createGrantUser: (dto: IFdtoCreateGrantUserReq) => Promise<IFdtoGrantUser>;
29
+ revokeGrantUser: (id: string, restaurantId: string) => Promise<void>;
30
+ }, "isLoading" | "grantUsers">, Pick<{
31
+ grantUsers: import("vue").Ref<{
32
+ _id: string;
33
+ passcode: string;
34
+ name: string;
35
+ restaurantId: string;
36
+ roleId: string;
37
+ status: "active" | "used" | "revoked";
38
+ grantById: string;
39
+ grantByName: string;
40
+ createdAt: string;
41
+ updatedAt: string;
42
+ }[], IFdtoGrantUser[] | {
43
+ _id: string;
44
+ passcode: string;
45
+ name: string;
46
+ restaurantId: string;
47
+ roleId: string;
48
+ status: "active" | "used" | "revoked";
49
+ grantById: string;
50
+ grantByName: string;
51
+ createdAt: string;
52
+ updatedAt: string;
53
+ }[]>;
54
+ isLoading: import("vue").Ref<boolean, boolean>;
55
+ readGrantUsers: () => Promise<void>;
56
+ createGrantUser: (dto: IFdtoCreateGrantUserReq) => Promise<IFdtoGrantUser>;
57
+ revokeGrantUser: (id: string, restaurantId: string) => Promise<void>;
58
+ }, never>, Pick<{
59
+ grantUsers: import("vue").Ref<{
60
+ _id: string;
61
+ passcode: string;
62
+ name: string;
63
+ restaurantId: string;
64
+ roleId: string;
65
+ status: "active" | "used" | "revoked";
66
+ grantById: string;
67
+ grantByName: string;
68
+ createdAt: string;
69
+ updatedAt: string;
70
+ }[], IFdtoGrantUser[] | {
71
+ _id: string;
72
+ passcode: string;
73
+ name: string;
74
+ restaurantId: string;
75
+ roleId: string;
76
+ status: "active" | "used" | "revoked";
77
+ grantById: string;
78
+ grantByName: string;
79
+ createdAt: string;
80
+ updatedAt: string;
81
+ }[]>;
82
+ isLoading: import("vue").Ref<boolean, boolean>;
83
+ readGrantUsers: () => Promise<void>;
84
+ createGrantUser: (dto: IFdtoCreateGrantUserReq) => Promise<IFdtoGrantUser>;
85
+ revokeGrantUser: (id: string, restaurantId: string) => Promise<void>;
86
+ }, "readGrantUsers" | "createGrantUser" | "revokeGrantUser">>;
@@ -0,0 +1,27 @@
1
+ export interface IFdtoGrantUser {
2
+ _id: string;
3
+ passcode: string;
4
+ name: string;
5
+ restaurantId: string;
6
+ roleId: string;
7
+ status: 'active' | 'used' | 'revoked';
8
+ grantById: string;
9
+ grantByName: string;
10
+ createdAt: string;
11
+ updatedAt: string;
12
+ }
13
+ export interface IFdtoCreateGrantUserReq {
14
+ name: string;
15
+ restaurantId: string;
16
+ roleId: string;
17
+ }
18
+ export interface IFdtoBypassUser {
19
+ id: string;
20
+ name: string;
21
+ role: string;
22
+ passcode: string;
23
+ }
24
+ export interface IFdtoGrantValidationRes {
25
+ bypass: boolean;
26
+ user: IFdtoBypassUser;
27
+ }
@@ -4,6 +4,7 @@ export declare const i18nMessages: {
4
4
  'en-US': {
5
5
  auditLog: {
6
6
  title: string;
7
+ export: string;
7
8
  dateRange: {
8
9
  placeholder: string;
9
10
  };
@@ -29,12 +30,15 @@ export declare const i18nMessages: {
29
30
  columns: {
30
31
  timestamp: string;
31
32
  user: string;
33
+ role: string;
32
34
  subject: string;
33
35
  action: string;
34
36
  operation: string;
35
37
  outcome: string;
36
38
  };
37
39
  outcome: {
40
+ success: string;
41
+ failed: string;
38
42
  allowed: string;
39
43
  denied: string;
40
44
  skipped: string;
@@ -48,21 +52,52 @@ export declare const i18nMessages: {
48
52
  prevPage: string;
49
53
  nextPage: string;
50
54
  };
55
+ exportSettings: {
56
+ title: string;
57
+ };
58
+ exportFields: {
59
+ timestamp: string;
60
+ userName: string;
61
+ userPhone: string;
62
+ subject: string;
63
+ action: string;
64
+ operation: string;
65
+ outcome: string;
66
+ businessId: string;
67
+ restaurantId: string;
68
+ country: string;
69
+ resolvedFrom: string;
70
+ requestMethod: string;
71
+ requestPath: string;
72
+ };
51
73
  detail: {
52
74
  header: string;
75
+ date: string;
53
76
  timestamp: string;
54
77
  user: string;
55
78
  email: string;
56
79
  action: string;
57
80
  operation: string;
81
+ role: string;
58
82
  subject: string;
59
83
  field: string;
60
84
  outcome: string;
61
85
  business: string;
62
86
  restaurant: string;
87
+ changeDetails: string;
88
+ eventType: string;
63
89
  metadata: string;
64
90
  reason: string;
65
91
  resolvedFrom: string;
92
+ resolvedFromValue: {
93
+ admin: string;
94
+ staff: string;
95
+ permissionSet: string;
96
+ systemPermissionSet: string;
97
+ custom: string;
98
+ noMatch: string;
99
+ unknown: string;
100
+ };
66
101
  permissionSet: string;
67
102
  permissionTrace: string;
68
103
  decisivePermission: string;
@@ -76,6 +111,7 @@ export declare const i18nMessages: {
76
111
  'zh-CN': {
77
112
  auditLog: {
78
113
  title: string;
114
+ export: string;
79
115
  dateRange: {
80
116
  placeholder: string;
81
117
  };
@@ -101,12 +137,15 @@ export declare const i18nMessages: {
101
137
  columns: {
102
138
  timestamp: string;
103
139
  user: string;
140
+ role: string;
104
141
  subject: string;
105
142
  action: string;
106
143
  operation: string;
107
144
  outcome: string;
108
145
  };
109
146
  outcome: {
147
+ success: string;
148
+ failed: string;
110
149
  allowed: string;
111
150
  denied: string;
112
151
  skipped: string;
@@ -120,21 +159,52 @@ export declare const i18nMessages: {
120
159
  prevPage: string;
121
160
  nextPage: string;
122
161
  };
162
+ exportSettings: {
163
+ title: string;
164
+ };
165
+ exportFields: {
166
+ timestamp: string;
167
+ userName: string;
168
+ userPhone: string;
169
+ subject: string;
170
+ action: string;
171
+ operation: string;
172
+ outcome: string;
173
+ businessId: string;
174
+ restaurantId: string;
175
+ country: string;
176
+ resolvedFrom: string;
177
+ requestMethod: string;
178
+ requestPath: string;
179
+ };
123
180
  detail: {
124
181
  header: string;
182
+ date: string;
125
183
  timestamp: string;
126
184
  user: string;
127
185
  email: string;
128
186
  action: string;
129
187
  operation: string;
188
+ role: string;
130
189
  subject: string;
131
190
  field: string;
132
191
  outcome: string;
133
192
  business: string;
134
193
  restaurant: string;
194
+ changeDetails: string;
195
+ eventType: string;
135
196
  metadata: string;
136
197
  reason: string;
137
198
  resolvedFrom: string;
199
+ resolvedFromValue: {
200
+ admin: string;
201
+ staff: string;
202
+ permissionSet: string;
203
+ systemPermissionSet: string;
204
+ custom: string;
205
+ noMatch: string;
206
+ unknown: string;
207
+ };
138
208
  permissionSet: string;
139
209
  permissionTrace: string;
140
210
  decisivePermission: string;
@@ -149,6 +219,7 @@ export declare const i18nMessages: {
149
219
  'th-TH': {
150
220
  auditLog: {
151
221
  title: string;
222
+ export: string;
152
223
  dateRange: {
153
224
  placeholder: string;
154
225
  };
@@ -174,12 +245,15 @@ export declare const i18nMessages: {
174
245
  columns: {
175
246
  timestamp: string;
176
247
  user: string;
248
+ role: string;
177
249
  subject: string;
178
250
  action: string;
179
251
  operation: string;
180
252
  outcome: string;
181
253
  };
182
254
  outcome: {
255
+ success: string;
256
+ failed: string;
183
257
  allowed: string;
184
258
  denied: string;
185
259
  skipped: string;
@@ -193,21 +267,52 @@ export declare const i18nMessages: {
193
267
  prevPage: string;
194
268
  nextPage: string;
195
269
  };
270
+ exportSettings: {
271
+ title: string;
272
+ };
273
+ exportFields: {
274
+ timestamp: string;
275
+ userName: string;
276
+ userPhone: string;
277
+ subject: string;
278
+ action: string;
279
+ operation: string;
280
+ outcome: string;
281
+ businessId: string;
282
+ restaurantId: string;
283
+ country: string;
284
+ resolvedFrom: string;
285
+ requestMethod: string;
286
+ requestPath: string;
287
+ };
196
288
  detail: {
197
289
  header: string;
290
+ date: string;
198
291
  timestamp: string;
199
292
  user: string;
200
293
  email: string;
201
294
  action: string;
202
295
  operation: string;
296
+ role: string;
203
297
  subject: string;
204
298
  field: string;
205
299
  outcome: string;
206
300
  business: string;
207
301
  restaurant: string;
302
+ changeDetails: string;
303
+ eventType: string;
208
304
  metadata: string;
209
305
  reason: string;
210
306
  resolvedFrom: string;
307
+ resolvedFromValue: {
308
+ admin: string;
309
+ staff: string;
310
+ permissionSet: string;
311
+ systemPermissionSet: string;
312
+ custom: string;
313
+ noMatch: string;
314
+ unknown: string;
315
+ };
211
316
  permissionSet: string;
212
317
  permissionTrace: string;
213
318
  decisivePermission: string;
@@ -222,6 +327,7 @@ export declare const i18nMessages: {
222
327
  'zh-Hant': {
223
328
  auditLog: {
224
329
  title: string;
330
+ export: string;
225
331
  dateRange: {
226
332
  placeholder: string;
227
333
  };
@@ -247,12 +353,15 @@ export declare const i18nMessages: {
247
353
  columns: {
248
354
  timestamp: string;
249
355
  user: string;
356
+ role: string;
250
357
  subject: string;
251
358
  action: string;
252
359
  operation: string;
253
360
  outcome: string;
254
361
  };
255
362
  outcome: {
363
+ success: string;
364
+ failed: string;
256
365
  allowed: string;
257
366
  denied: string;
258
367
  skipped: string;
@@ -266,21 +375,52 @@ export declare const i18nMessages: {
266
375
  prevPage: string;
267
376
  nextPage: string;
268
377
  };
378
+ exportSettings: {
379
+ title: string;
380
+ };
381
+ exportFields: {
382
+ timestamp: string;
383
+ userName: string;
384
+ userPhone: string;
385
+ subject: string;
386
+ action: string;
387
+ operation: string;
388
+ outcome: string;
389
+ businessId: string;
390
+ restaurantId: string;
391
+ country: string;
392
+ resolvedFrom: string;
393
+ requestMethod: string;
394
+ requestPath: string;
395
+ };
269
396
  detail: {
270
397
  header: string;
398
+ date: string;
271
399
  timestamp: string;
272
400
  user: string;
273
401
  email: string;
274
402
  action: string;
275
403
  operation: string;
404
+ role: string;
276
405
  subject: string;
277
406
  field: string;
278
407
  outcome: string;
279
408
  business: string;
280
409
  restaurant: string;
410
+ changeDetails: string;
411
+ eventType: string;
281
412
  metadata: string;
282
413
  reason: string;
283
414
  resolvedFrom: string;
415
+ resolvedFromValue: {
416
+ admin: string;
417
+ staff: string;
418
+ permissionSet: string;
419
+ systemPermissionSet: string;
420
+ custom: string;
421
+ noMatch: string;
422
+ unknown: string;
423
+ };
284
424
  permissionSet: string;
285
425
  permissionTrace: string;
286
426
  decisivePermission: string;
@@ -0,0 +1,17 @@
1
+ declare function create(): void;
2
+ declare const _default: import("vue").DefineComponent<{}, {
3
+ create: typeof create;
4
+ filteredGrantUsers: import("vue").ComputedRef<{
5
+ _id: string;
6
+ passcode: string;
7
+ name: string;
8
+ restaurantId: string;
9
+ roleId: string;
10
+ status: "active" | "used" | "revoked";
11
+ grantById: string;
12
+ grantByName: string;
13
+ createdAt: string;
14
+ updatedAt: string;
15
+ }[]>;
16
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
17
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,17 @@
1
+ declare var __VLS_1: {
2
+ trigger: () => void;
3
+ };
4
+ type __VLS_Slots = {} & {
5
+ default?: (props: typeof __VLS_1) => any;
6
+ };
7
+ declare const __VLS_component: import("vue").DefineComponent<{}, {
8
+ show: import("vue").Ref<boolean, boolean>;
9
+ trigger: () => void;
10
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
11
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
12
+ export default _default;
13
+ type __VLS_WithSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };