@feedmepos/mf-hrm-portal 2.1.0-dev → 2.1.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/AuditLogList-AGlAsWwd.js +1608 -0
  2. package/dist/{ConditionFormHost.vue_vue_type_script_setup_true_lang-tiuei7CA.js → ConditionFormHost.vue_vue_type_script_setup_true_lang-BYHKFwRm.js} +2 -2
  3. package/dist/EmployeeList-KvjoGI87.js +884 -0
  4. package/dist/{FormItem.vue_vue_type_script_setup_true_lang-D3MOFOUI.js → FormItem.vue_vue_type_script_setup_true_lang-DPT2FoIc.js} +1 -1
  5. package/dist/{Main-BgOhmojO.js → Main-BLh16xRg.js} +188 -185
  6. package/dist/Main-D3TSdtSE.js +94 -0
  7. package/dist/{Main-D2Wf__wM.js → Main-Dn1TfDRj.js} +1987 -1979
  8. package/dist/PermissionSetList-Ds69m9UU.js +392 -0
  9. package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-CCKVpAwv.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-Bk6ub3Dv.js} +1122 -1122
  10. package/dist/{PortalUserSearcher.vue_vue_type_style_index_0_scoped_a439fdd8_lang-D-14ca2J.js → PortalUserSearcher.vue_vue_type_style_index_0_scoped_a439fdd8_lang-BHxCP_uW.js} +1 -1
  11. package/dist/ResponsiveFabButton.vue_vue_type_script_setup_true_lang-QrqYEy8i.js +42 -0
  12. package/dist/{RoleList-tSC8RJHe.js → RoleList-v8McRCnz.js} +231 -221
  13. package/dist/SelectFilter-ATOm0hdn.js +269 -0
  14. package/dist/Skeleton.vue_vue_type_script_setup_true_lang-B4PxNMwq.js +16 -0
  15. package/dist/{index.vue_vue_type_script_setup_true_lang-Vc5ARO29.js → TableEmptyState.vue_vue_type_script_setup_true_lang-Ci_MVqGK.js} +54 -20
  16. package/dist/{TeamMemberList-Bz-kDJ0e.js → TeamMemberList-BYQnNIhT.js} +137 -131
  17. package/dist/{TimesheetList-BFVhmcRt.js → TimesheetList-C1OWa6kf.js} +140 -134
  18. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_d7ed31d7_lang-CtHuL5tW.js → TimesheetList.vue_vue_type_style_index_0_scoped_2c7a177a_lang-CLu9gzzi.js} +2 -2
  19. package/dist/{app-DRnSocX8.js → app-CJouCBgi.js} +792 -475
  20. package/dist/app.js +1 -1
  21. package/dist/{dayjs.min-B8xOAypU.js → dayjs.min-DUugkgDM.js} +1 -1
  22. package/dist/{employee-UrXqUaik.js → employee-D5rEVmge.js} +3 -3
  23. package/dist/{iteration-LEYoQKiI.js → iteration-QRRNYlps.js} +1 -1
  24. package/dist/{lodash-Bq6_eZZ0.js → lodash-BlZhpHhM.js} +1 -1
  25. package/dist/{rule-CJC6Cq6S.js → rule-Dy7eMChN.js} +116 -110
  26. package/dist/src/api/audit-log/index.d.ts +23 -0
  27. package/dist/src/components/button/ResponsiveFabButton.vue.d.ts +7 -1
  28. package/dist/src/components/form/SelectFilter.vue.d.ts +3 -0
  29. package/dist/src/components/table/EmptyDataTemplate/index.vue.d.ts +4 -1
  30. package/dist/src/components/table/TableEmptyState.vue.d.ts +31 -0
  31. package/dist/src/stores/permission-set.d.ts +12 -3
  32. package/dist/src/stores/team.d.ts +4 -1
  33. package/dist/src/types/audit-log.d.ts +1 -1
  34. package/dist/src/views/audit-log/event-line.d.ts +13 -0
  35. package/dist/src/views/audit-log/locales/index.d.ts +320 -16
  36. package/dist/src/views/audit-log/snapshot-diff.d.ts +11 -0
  37. package/dist/src/views/hr/employee/EmployeeList.vue.d.ts +1 -0
  38. package/dist/src/views/hr/locales/index.d.ts +4 -0
  39. package/dist/src/views/team/locales/index.d.ts +4 -0
  40. package/dist/style.css +1 -1
  41. package/dist/tsconfig.app.tsbuildinfo +1 -1
  42. package/dist/{useAppStore-BGsfYWAR.js → useAppStore-CtMoad7V.js} +1 -1
  43. package/dist/useDebounce-B8ZPVS5C.js +15 -0
  44. package/dist/{useLoading-BUM5R2qV.js → useLoading-CNqlchYO.js} +1 -1
  45. package/dist/{useReportPermissions-nlQ_BBL2.js → useReportPermissions-C5wGC9bf.js} +3 -3
  46. package/package.json +1 -1
  47. package/dist/AuditLogList-C1bGND8z.js +0 -1037
  48. package/dist/EmployeeList-DqQF9xEx.js +0 -851
  49. package/dist/Main-DcKVuIjB.js +0 -90
  50. package/dist/PermissionSetList-CQpTa0eY.js +0 -384
  51. package/dist/ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js +0 -38
  52. package/dist/SelectFilter-DUj7GBtT.js +0 -251
  53. package/dist/useDebounce-CWb5QR9G.js +0 -28
@@ -1,5 +1,6 @@
1
1
  import type { IFdtoPermissionSet, IFdtoCreatePermissionSetReq, IFdtoUpdatePermissionSetReq } from '@/types/permission-set';
2
2
  export declare const usePermissionSetStore: () => {
3
+ isLoading: import("vue").Ref<boolean, boolean>;
3
4
  permissionSets: import("vue").Ref<{
4
5
  id: string;
5
6
  permissions: {
@@ -30,6 +31,7 @@ export declare const usePermissionSetStore: () => {
30
31
  name: string;
31
32
  }[]>;
32
33
  $state: {
34
+ isLoading: boolean;
33
35
  permissionSets: {
34
36
  id: string;
35
37
  permissions: {
@@ -75,12 +77,14 @@ export declare const usePermissionSetStore: () => {
75
77
  businessId: string;
76
78
  name: string;
77
79
  }[]>;
80
+ isLoading: import("vue").Ref<boolean, boolean>;
78
81
  readPermissionSets: () => Promise<void>;
79
82
  createPermissionSet: (dto: IFdtoCreatePermissionSetReq) => Promise<void>;
80
83
  updatePermissionSet: (id: string, dto: IFdtoUpdatePermissionSetReq) => Promise<void>;
81
84
  deletePermissionSet: (id: string) => Promise<void>;
82
- }, "permissionSets">>;
85
+ }, "isLoading" | "permissionSets">>;
83
86
  $patch(partialState: import("pinia")._DeepPartial<{
87
+ isLoading: boolean;
84
88
  permissionSets: {
85
89
  id: string;
86
90
  permissions: {
@@ -98,6 +102,7 @@ export declare const usePermissionSetStore: () => {
98
102
  }[];
99
103
  }>): void;
100
104
  $patch<F extends (state: {
105
+ isLoading: boolean;
101
106
  permissionSets: {
102
107
  id: string;
103
108
  permissions: {
@@ -145,11 +150,12 @@ export declare const usePermissionSetStore: () => {
145
150
  businessId: string;
146
151
  name: string;
147
152
  }[]>;
153
+ isLoading: import("vue").Ref<boolean, boolean>;
148
154
  readPermissionSets: () => Promise<void>;
149
155
  createPermissionSet: (dto: IFdtoCreatePermissionSetReq) => Promise<void>;
150
156
  updatePermissionSet: (id: string, dto: IFdtoUpdatePermissionSetReq) => Promise<void>;
151
157
  deletePermissionSet: (id: string) => Promise<void>;
152
- }, "permissionSets">>, options?: {
158
+ }, "isLoading" | "permissionSets">>, options?: {
153
159
  detached?: boolean;
154
160
  } & import("vue").WatchOptions): () => void;
155
161
  $onAction(callback: import("pinia").StoreOnActionListener<"permissionSet", Pick<{
@@ -182,11 +188,12 @@ export declare const usePermissionSetStore: () => {
182
188
  businessId: string;
183
189
  name: string;
184
190
  }[]>;
191
+ isLoading: import("vue").Ref<boolean, boolean>;
185
192
  readPermissionSets: () => Promise<void>;
186
193
  createPermissionSet: (dto: IFdtoCreatePermissionSetReq) => Promise<void>;
187
194
  updatePermissionSet: (id: string, dto: IFdtoUpdatePermissionSetReq) => Promise<void>;
188
195
  deletePermissionSet: (id: string) => Promise<void>;
189
- }, "permissionSets">, Pick<{
196
+ }, "isLoading" | "permissionSets">, Pick<{
190
197
  permissionSets: import("vue").Ref<{
191
198
  id: string;
192
199
  permissions: {
@@ -216,6 +223,7 @@ export declare const usePermissionSetStore: () => {
216
223
  businessId: string;
217
224
  name: string;
218
225
  }[]>;
226
+ isLoading: import("vue").Ref<boolean, boolean>;
219
227
  readPermissionSets: () => Promise<void>;
220
228
  createPermissionSet: (dto: IFdtoCreatePermissionSetReq) => Promise<void>;
221
229
  updatePermissionSet: (id: string, dto: IFdtoUpdatePermissionSetReq) => Promise<void>;
@@ -250,6 +258,7 @@ export declare const usePermissionSetStore: () => {
250
258
  businessId: string;
251
259
  name: string;
252
260
  }[]>;
261
+ isLoading: import("vue").Ref<boolean, boolean>;
253
262
  readPermissionSets: () => Promise<void>;
254
263
  createPermissionSet: (dto: IFdtoCreatePermissionSetReq) => Promise<void>;
255
264
  updatePermissionSet: (id: string, dto: IFdtoUpdatePermissionSetReq) => Promise<void>;
@@ -94,13 +94,14 @@ declare const useTeamStore: import("pinia").StoreDefinition<"team", Pick<{
94
94
  };
95
95
  }[]>;
96
96
  isLoading: import("vue").Ref<boolean, boolean>;
97
+ hasLoaded: import("vue").Ref<boolean, boolean>;
97
98
  userIdToName: import("vue").ComputedRef<Record<string, string>>;
98
99
  userIdToEmail: import("vue").ComputedRef<Record<string, string>>;
99
100
  userIdToPhone: import("vue").ComputedRef<Record<string, string>>;
100
101
  readTeamMembers: ({ force }?: {
101
102
  force?: boolean | undefined;
102
103
  }) => Promise<void>;
103
- }, "isLoading" | "members">, Pick<{
104
+ }, "isLoading" | "members" | "hasLoaded">, Pick<{
104
105
  members: import("vue").Ref<{
105
106
  id: string;
106
107
  name: string;
@@ -195,6 +196,7 @@ declare const useTeamStore: import("pinia").StoreDefinition<"team", Pick<{
195
196
  };
196
197
  }[]>;
197
198
  isLoading: import("vue").Ref<boolean, boolean>;
199
+ hasLoaded: import("vue").Ref<boolean, boolean>;
198
200
  userIdToName: import("vue").ComputedRef<Record<string, string>>;
199
201
  userIdToEmail: import("vue").ComputedRef<Record<string, string>>;
200
202
  userIdToPhone: import("vue").ComputedRef<Record<string, string>>;
@@ -296,6 +298,7 @@ declare const useTeamStore: import("pinia").StoreDefinition<"team", Pick<{
296
298
  };
297
299
  }[]>;
298
300
  isLoading: import("vue").Ref<boolean, boolean>;
301
+ hasLoaded: import("vue").Ref<boolean, boolean>;
299
302
  userIdToName: import("vue").ComputedRef<Record<string, string>>;
300
303
  userIdToEmail: import("vue").ComputedRef<Record<string, string>>;
301
304
  userIdToPhone: import("vue").ComputedRef<Record<string, string>>;
@@ -1 +1 @@
1
- export type { AuditLogEntry, AuditLogMetadata, AuditLogOutcome, AuditLogResolvedFrom } from '@feedmepos/hrm-permission';
1
+ export type { AuditLogEntry, AuditLogMetadata, AuditLogOperation, AuditLogOutcome, AuditLogResolvedFrom, } from '@feedmepos/hrm-permission';
@@ -0,0 +1,13 @@
1
+ export interface EventLineSource {
2
+ eventKey?: string;
3
+ params?: Record<string, string | number>;
4
+ operationLabel?: string;
5
+ }
6
+ type Translate = (key: string, params?: Record<string, unknown>) => string;
7
+ export declare function splitEventKey(key: string): {
8
+ entity: string;
9
+ verb: string;
10
+ } | null;
11
+ export declare function humanizeSegment(segment: string): string;
12
+ export declare function renderEventLine(t: Translate, source: EventLineSource): string;
13
+ export {};
@@ -19,6 +19,12 @@ export declare const i18nMessages: {
19
19
  dateRange: {
20
20
  placeholder: string;
21
21
  };
22
+ search: {
23
+ placeholder: string;
24
+ };
25
+ user: {
26
+ feedmeAdmin: string;
27
+ };
22
28
  filter: {
23
29
  user_placeholder: string;
24
30
  selected_user_prefix: string;
@@ -46,12 +52,12 @@ export declare const i18nMessages: {
46
52
  payment: string;
47
53
  menu: string;
48
54
  crm: string;
55
+ other: string;
49
56
  more: string;
50
57
  };
51
58
  columns: {
52
59
  timestamp: string;
53
60
  user: string;
54
- role: string;
55
61
  subject: string;
56
62
  action: string;
57
63
  operation: string;
@@ -104,14 +110,13 @@ export declare const i18nMessages: {
104
110
  email: string;
105
111
  action: string;
106
112
  operation: string;
107
- role: string;
108
113
  subject: string;
109
114
  field: string;
110
115
  outcome: string;
111
116
  business: string;
112
117
  restaurant: string;
113
- changeDetails: string;
114
- eventType: string;
118
+ eventDetails: string;
119
+ actionDescription: string;
115
120
  metadata: string;
116
121
  reason: string;
117
122
  resolvedFrom: string;
@@ -132,6 +137,77 @@ export declare const i18nMessages: {
132
137
  requestPath: string;
133
138
  requestBody: string;
134
139
  };
140
+ operation: {
141
+ toggle: string;
142
+ rowHint: string;
143
+ unlabeled: string;
144
+ badge: string;
145
+ sheetHeader: string;
146
+ entity: string;
147
+ duration: string;
148
+ durationValue: string;
149
+ error: string;
150
+ changes: string;
151
+ showData: string;
152
+ added: string;
153
+ removed: string;
154
+ updated: string;
155
+ before: string;
156
+ after: string;
157
+ noChanges: string;
158
+ wholeValue: string;
159
+ };
160
+ event: {
161
+ sentence: {
162
+ "audit-log": {
163
+ view: string;
164
+ };
165
+ restaurant: {
166
+ list: string;
167
+ };
168
+ "permission-assignment": {
169
+ manage: string;
170
+ list: string;
171
+ view: string;
172
+ };
173
+ "permission-set": {
174
+ manage: string;
175
+ list: string;
176
+ view: string;
177
+ };
178
+ "portal-user": {
179
+ list: string;
180
+ "list-page": string;
181
+ view: string;
182
+ create: string;
183
+ update: string;
184
+ delete: string;
185
+ };
186
+ "pos-user": {
187
+ list: string;
188
+ "list-page": string;
189
+ create: string;
190
+ "sync-meta": string;
191
+ update: string;
192
+ migrate: string;
193
+ "generate-passcode": string;
194
+ };
195
+ "pos-master-user": {
196
+ create: string;
197
+ update: string;
198
+ delete: string;
199
+ };
200
+ "pos-role": {
201
+ list: string;
202
+ create: string;
203
+ update: string;
204
+ };
205
+ timesheet: {
206
+ view: string;
207
+ update: string;
208
+ };
209
+ };
210
+ };
135
211
  };
136
212
  };
137
213
  'zh-CN': {
@@ -152,6 +228,12 @@ export declare const i18nMessages: {
152
228
  dateRange: {
153
229
  placeholder: string;
154
230
  };
231
+ search: {
232
+ placeholder: string;
233
+ };
234
+ user: {
235
+ feedmeAdmin: string;
236
+ };
155
237
  filter: {
156
238
  user_placeholder: string;
157
239
  selected_user_prefix: string;
@@ -179,12 +261,12 @@ export declare const i18nMessages: {
179
261
  payment: string;
180
262
  menu: string;
181
263
  crm: string;
264
+ other: string;
182
265
  more: string;
183
266
  };
184
267
  columns: {
185
268
  timestamp: string;
186
269
  user: string;
187
- role: string;
188
270
  subject: string;
189
271
  action: string;
190
272
  operation: string;
@@ -237,14 +319,13 @@ export declare const i18nMessages: {
237
319
  email: string;
238
320
  action: string;
239
321
  operation: string;
240
- role: string;
241
322
  subject: string;
242
323
  field: string;
243
324
  outcome: string;
244
325
  business: string;
245
326
  restaurant: string;
246
- changeDetails: string;
247
- eventType: string;
327
+ eventDetails: string;
328
+ actionDescription: string;
248
329
  metadata: string;
249
330
  reason: string;
250
331
  resolvedFrom: string;
@@ -266,6 +347,77 @@ export declare const i18nMessages: {
266
347
  requestPath: string;
267
348
  requestBody: string;
268
349
  };
350
+ operation: {
351
+ toggle: string;
352
+ rowHint: string;
353
+ unlabeled: string;
354
+ badge: string;
355
+ sheetHeader: string;
356
+ entity: string;
357
+ duration: string;
358
+ durationValue: string;
359
+ error: string;
360
+ changes: string;
361
+ showData: string;
362
+ added: string;
363
+ removed: string;
364
+ updated: string;
365
+ before: string;
366
+ after: string;
367
+ noChanges: string;
368
+ wholeValue: string;
369
+ };
370
+ event: {
371
+ sentence: {
372
+ "audit-log": {
373
+ view: string;
374
+ };
375
+ restaurant: {
376
+ list: string;
377
+ };
378
+ "permission-assignment": {
379
+ manage: string;
380
+ list: string;
381
+ view: string;
382
+ };
383
+ "permission-set": {
384
+ manage: string;
385
+ list: string;
386
+ view: string;
387
+ };
388
+ "portal-user": {
389
+ list: string;
390
+ "list-page": string;
391
+ view: string;
392
+ create: string;
393
+ update: string;
394
+ delete: string;
395
+ };
396
+ "pos-user": {
397
+ list: string;
398
+ "list-page": string;
399
+ create: string;
400
+ "sync-meta": string;
401
+ update: string;
402
+ migrate: string;
403
+ "generate-passcode": string;
404
+ };
405
+ "pos-master-user": {
406
+ create: string;
407
+ update: string;
408
+ delete: string;
409
+ };
410
+ "pos-role": {
411
+ list: string;
412
+ create: string;
413
+ update: string;
414
+ };
415
+ timesheet: {
416
+ view: string;
417
+ update: string;
418
+ };
419
+ };
420
+ };
269
421
  };
270
422
  };
271
423
  'th-TH': {
@@ -286,6 +438,12 @@ export declare const i18nMessages: {
286
438
  dateRange: {
287
439
  placeholder: string;
288
440
  };
441
+ search: {
442
+ placeholder: string;
443
+ };
444
+ user: {
445
+ feedmeAdmin: string;
446
+ };
289
447
  filter: {
290
448
  user_placeholder: string;
291
449
  selected_user_prefix: string;
@@ -313,12 +471,12 @@ export declare const i18nMessages: {
313
471
  payment: string;
314
472
  menu: string;
315
473
  crm: string;
474
+ other: string;
316
475
  more: string;
317
476
  };
318
477
  columns: {
319
478
  timestamp: string;
320
479
  user: string;
321
- role: string;
322
480
  subject: string;
323
481
  action: string;
324
482
  operation: string;
@@ -371,14 +529,13 @@ export declare const i18nMessages: {
371
529
  email: string;
372
530
  action: string;
373
531
  operation: string;
374
- role: string;
375
532
  subject: string;
376
533
  field: string;
377
534
  outcome: string;
378
535
  business: string;
379
536
  restaurant: string;
380
- changeDetails: string;
381
- eventType: string;
537
+ eventDetails: string;
538
+ actionDescription: string;
382
539
  metadata: string;
383
540
  reason: string;
384
541
  resolvedFrom: string;
@@ -400,6 +557,77 @@ export declare const i18nMessages: {
400
557
  requestPath: string;
401
558
  requestBody: string;
402
559
  };
560
+ operation: {
561
+ toggle: string;
562
+ rowHint: string;
563
+ unlabeled: string;
564
+ badge: string;
565
+ sheetHeader: string;
566
+ entity: string;
567
+ duration: string;
568
+ durationValue: string;
569
+ error: string;
570
+ changes: string;
571
+ showData: string;
572
+ added: string;
573
+ removed: string;
574
+ updated: string;
575
+ before: string;
576
+ after: string;
577
+ noChanges: string;
578
+ wholeValue: string;
579
+ };
580
+ event: {
581
+ sentence: {
582
+ "audit-log": {
583
+ view: string;
584
+ };
585
+ restaurant: {
586
+ list: string;
587
+ };
588
+ "permission-assignment": {
589
+ manage: string;
590
+ list: string;
591
+ view: string;
592
+ };
593
+ "permission-set": {
594
+ manage: string;
595
+ list: string;
596
+ view: string;
597
+ };
598
+ "portal-user": {
599
+ list: string;
600
+ "list-page": string;
601
+ view: string;
602
+ create: string;
603
+ update: string;
604
+ delete: string;
605
+ };
606
+ "pos-user": {
607
+ list: string;
608
+ "list-page": string;
609
+ create: string;
610
+ "sync-meta": string;
611
+ update: string;
612
+ migrate: string;
613
+ "generate-passcode": string;
614
+ };
615
+ "pos-master-user": {
616
+ create: string;
617
+ update: string;
618
+ delete: string;
619
+ };
620
+ "pos-role": {
621
+ list: string;
622
+ create: string;
623
+ update: string;
624
+ };
625
+ timesheet: {
626
+ view: string;
627
+ update: string;
628
+ };
629
+ };
630
+ };
403
631
  };
404
632
  };
405
633
  'zh-Hant': {
@@ -420,6 +648,12 @@ export declare const i18nMessages: {
420
648
  dateRange: {
421
649
  placeholder: string;
422
650
  };
651
+ search: {
652
+ placeholder: string;
653
+ };
654
+ user: {
655
+ feedmeAdmin: string;
656
+ };
423
657
  filter: {
424
658
  user_placeholder: string;
425
659
  selected_user_prefix: string;
@@ -447,12 +681,12 @@ export declare const i18nMessages: {
447
681
  payment: string;
448
682
  menu: string;
449
683
  crm: string;
684
+ other: string;
450
685
  more: string;
451
686
  };
452
687
  columns: {
453
688
  timestamp: string;
454
689
  user: string;
455
- role: string;
456
690
  subject: string;
457
691
  action: string;
458
692
  operation: string;
@@ -505,14 +739,13 @@ export declare const i18nMessages: {
505
739
  email: string;
506
740
  action: string;
507
741
  operation: string;
508
- role: string;
509
742
  subject: string;
510
743
  field: string;
511
744
  outcome: string;
512
745
  business: string;
513
746
  restaurant: string;
514
- changeDetails: string;
515
- eventType: string;
747
+ eventDetails: string;
748
+ actionDescription: string;
516
749
  metadata: string;
517
750
  reason: string;
518
751
  resolvedFrom: string;
@@ -534,6 +767,77 @@ export declare const i18nMessages: {
534
767
  requestPath: string;
535
768
  requestBody: string;
536
769
  };
770
+ operation: {
771
+ toggle: string;
772
+ rowHint: string;
773
+ unlabeled: string;
774
+ badge: string;
775
+ sheetHeader: string;
776
+ entity: string;
777
+ duration: string;
778
+ durationValue: string;
779
+ error: string;
780
+ changes: string;
781
+ showData: string;
782
+ added: string;
783
+ removed: string;
784
+ updated: string;
785
+ before: string;
786
+ after: string;
787
+ noChanges: string;
788
+ wholeValue: string;
789
+ };
790
+ event: {
791
+ sentence: {
792
+ "audit-log": {
793
+ view: string;
794
+ };
795
+ restaurant: {
796
+ list: string;
797
+ };
798
+ "permission-assignment": {
799
+ manage: string;
800
+ list: string;
801
+ view: string;
802
+ };
803
+ "permission-set": {
804
+ manage: string;
805
+ list: string;
806
+ view: string;
807
+ };
808
+ "portal-user": {
809
+ list: string;
810
+ "list-page": string;
811
+ view: string;
812
+ create: string;
813
+ update: string;
814
+ delete: string;
815
+ };
816
+ "pos-user": {
817
+ list: string;
818
+ "list-page": string;
819
+ create: string;
820
+ "sync-meta": string;
821
+ update: string;
822
+ migrate: string;
823
+ "generate-passcode": string;
824
+ };
825
+ "pos-master-user": {
826
+ create: string;
827
+ update: string;
828
+ delete: string;
829
+ };
830
+ "pos-role": {
831
+ list: string;
832
+ create: string;
833
+ update: string;
834
+ };
835
+ timesheet: {
836
+ view: string;
837
+ update: string;
838
+ };
839
+ };
840
+ };
537
841
  };
538
842
  };
539
843
  };
@@ -0,0 +1,11 @@
1
+ export type SnapshotDiffType = 'added' | 'removed' | 'changed';
2
+ export interface SnapshotDiffRow {
3
+ /** e.g. "name", "permissions[business::unitCostHistory]", "roles[0].roleId" */
4
+ path: string;
5
+ type: SnapshotDiffType;
6
+ /** null = value absent on the before side (render as em dash by caller) */
7
+ before: string | null;
8
+ /** null = value absent on the after side */
9
+ after: string | null;
10
+ }
11
+ export declare function computeSnapshotDiff(before: unknown, after: unknown): SnapshotDiffRow[];
@@ -41,5 +41,6 @@ declare const _default: import("vue").DefineComponent<{}, {
41
41
  since: string;
42
42
  })[]>;
43
43
  exportEmployees: typeof exportEmployees;
44
+ getHasPaginationFooter: () => boolean;
44
45
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
45
46
  export default _default;
@@ -5,6 +5,7 @@ export declare const i18nMessages: {
5
5
  hr: {
6
6
  employee: {
7
7
  title: string;
8
+ subtitle: string;
8
9
  exportButtonLabel: string;
9
10
  createButtonLabel: string;
10
11
  columns: {
@@ -208,6 +209,7 @@ export declare const i18nMessages: {
208
209
  hr: {
209
210
  employee: {
210
211
  title: string;
212
+ subtitle: string;
211
213
  exportButtonLabel: string;
212
214
  createButtonLabel: string;
213
215
  columns: {
@@ -411,6 +413,7 @@ export declare const i18nMessages: {
411
413
  hr: {
412
414
  employee: {
413
415
  title: string;
416
+ subtitle: string;
414
417
  exportButtonLabel: string;
415
418
  createButtonLabel: string;
416
419
  columns: {
@@ -613,6 +616,7 @@ export declare const i18nMessages: {
613
616
  hr: {
614
617
  employee: {
615
618
  title: string;
619
+ subtitle: string;
616
620
  exportButtonLabel: string;
617
621
  createButtonLabel: string;
618
622
  columns: {
@@ -4,6 +4,7 @@ export declare const i18nMessages: {
4
4
  'en-US': {
5
5
  team: {
6
6
  title: string;
7
+ subtitle: string;
7
8
  actions: {
8
9
  addMember: string;
9
10
  updateMember: string;
@@ -251,6 +252,7 @@ export declare const i18nMessages: {
251
252
  'zh-CN': {
252
253
  team: {
253
254
  title: string;
255
+ subtitle: string;
254
256
  actions: {
255
257
  addMember: string;
256
258
  updateMember: string;
@@ -498,6 +500,7 @@ export declare const i18nMessages: {
498
500
  'th-TH': {
499
501
  team: {
500
502
  title: string;
503
+ subtitle: string;
501
504
  actions: {
502
505
  addMember: string;
503
506
  updateMember: string;
@@ -745,6 +748,7 @@ export declare const i18nMessages: {
745
748
  'zh-Hant': {
746
749
  team: {
747
750
  title: string;
751
+ subtitle: string;
748
752
  actions: {
749
753
  addMember: string;
750
754
  updateMember: string;