@feedmepos/mf-hrm-portal 2.3.2-dev.3 → 2.3.2-dev.4

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 (99) hide show
  1. package/dist/{ApprovalCodeList-D3U4nvlF.js → ApprovalCodeList-BPTnWcra.js} +14 -15
  2. package/dist/{AuditLogList-qGCW7tf0.js → AuditLogList-CvEF4bit.js} +12 -12
  3. package/dist/ConditionBuilderForm.vue_vue_type_script_setup_true_lang-CPX0sv64.js +459 -0
  4. package/dist/EmployeeList-CANPsrQY.js +896 -0
  5. package/dist/FormSection.vue_vue_type_script_setup_true_lang-mdfK9rtZ.js +90 -0
  6. package/dist/{GrantUserList-C71pal0N.js → GrantUserList-DPj_6Wsg.js} +15 -16
  7. package/dist/{Main-CCdTWngg.js → Main-BWRMirTY.js} +11 -11
  8. package/dist/{Main-BWJPyEU1.js → Main-Cob4hcf-.js} +5 -5
  9. package/dist/Main-DXcSgkhR.js +101 -0
  10. package/dist/MyPosProfile-Bp7-pATz.js +301 -0
  11. package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-TXPEqa46.js +126 -0
  12. package/dist/{PermissionSetList-BS-oBunI.js → PermissionSetList-DvAW1q0c.js} +45 -46
  13. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DmbI5vgH.js +4243 -0
  14. package/dist/PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-C8hcooKP.js +1831 -0
  15. package/dist/RoleForm.vue_vue_type_script_setup_true_lang-Bq8-aBSv.js +547 -0
  16. package/dist/RoleList-DsrHgU4s.js +274 -0
  17. package/dist/{ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-BXihM4sl.js → ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-CRR18xmB.js} +1 -1
  18. package/dist/{ScheduleGeneralPage-DpNvWNGs.js → ScheduleGeneralPage-C_Kj9wmp.js} +2 -2
  19. package/dist/{ScheduleModal.vue_vue_type_script_setup_true_lang-DIYLOF9N.js → ScheduleModal.vue_vue_type_script_setup_true_lang-3oQ6lE86.js} +187 -186
  20. package/dist/{SchedulePage-QW-cYvu2.js → SchedulePage-9dFXxWwZ.js} +13 -13
  21. package/dist/{SchedulePositionPage-BtFfVo2N.js → SchedulePositionPage-Dea5X8Sa.js} +3 -3
  22. package/dist/{SelectFilter-BXeVKgHN.js → SelectFilter-Dr9lB6Ta.js} +1 -1
  23. package/dist/TeamMemberList-Bu9QNP9W.js +2086 -0
  24. package/dist/{TimesheetList-D-bESKe5.js → TimesheetList-B98l028z.js} +9 -9
  25. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-D0zAVqCa.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-DIQ7kjG8.js} +3 -3
  26. package/dist/{app-D-MUq9Ab.js → app-BHQJX4L4.js} +6398 -3459
  27. package/dist/app.js +3 -3
  28. package/dist/{approval-code-BXUiojPH.js → approval-code-w0rZJeYU.js} +1 -1
  29. package/dist/{dayjs.min-BZ1pM-6M.js → dayjs.min-C4H4diN8.js} +34 -34
  30. package/dist/{employee-HQEU8fjb.js → employee-BEwUmdt6.js} +48 -47
  31. package/dist/{grant-user-CBJ3gEgW.js → grant-user-DdxPMH5_.js} +1 -1
  32. package/dist/{iteration-ogxW2-Tv.js → iteration-DBHifssn.js} +1 -1
  33. package/dist/{lodash-Def4gaas.js → lodash-DqZsWm-0.js} +1 -1
  34. package/dist/member-grant-DOigVnBR.js +55 -0
  35. package/dist/restaurant-2xCb2x26.js +51 -0
  36. package/dist/{role-JDoDFVd9.js → role-C8STcmLJ.js} +5 -4
  37. package/dist/{rule-DPtqlnz-.js → rule-BkL34-Ma.js} +105 -100
  38. package/dist/src/api/my-pos-profile/index.d.ts +5 -0
  39. package/dist/src/api/sso-provider/index.d.ts +5 -0
  40. package/dist/src/api/staff-invite/index.d.ts +16 -0
  41. package/dist/src/components/CollapsibleWrapper.vue.d.ts +11 -3
  42. package/dist/src/components/form/SegmentedTabs.vue.d.ts +23 -0
  43. package/dist/src/composables/useMenuAccess.d.ts +56 -0
  44. package/dist/src/composables/useSsoProviders.d.ts +19 -0
  45. package/dist/src/composables/useStaffInviteProviders.d.ts +8 -0
  46. package/dist/src/helpers/member-grant.d.ts +36 -0
  47. package/dist/src/helpers/my-pos-profile.d.ts +37 -0
  48. package/dist/src/helpers/pos-assignment-rows.d.ts +28 -0
  49. package/dist/src/helpers/staff-invite.d.ts +54 -0
  50. package/dist/src/helpers/string.d.ts +10 -1
  51. package/dist/src/router/menu-access-guard.d.ts +17 -0
  52. package/dist/src/router/shared.d.ts +3 -1
  53. package/dist/src/stores/restaurant.d.ts +7 -7
  54. package/dist/src/stores/team.d.ts +30 -0
  55. package/dist/src/types/my-pos-profile.d.ts +25 -0
  56. package/dist/src/types/sso-provider.d.ts +10 -0
  57. package/dist/src/types/staff-invite.d.ts +100 -0
  58. package/dist/src/types/team.d.ts +17 -1
  59. package/dist/src/views/hr/locales/index.d.ts +20 -0
  60. package/dist/src/views/hr/role/RoleForm.vue.d.ts +29 -2
  61. package/dist/src/views/my-pos-profile/MyPosProfile.vue.d.ts +2 -0
  62. package/dist/src/views/my-pos-profile/components/PasscodeChangedDialog.vue.d.ts +4 -0
  63. package/dist/src/views/my-pos-profile/locales/index.d.ts +200 -0
  64. package/dist/src/views/scheduling/composables/useScheduleOnboardingAvailability.d.ts +1 -1
  65. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +1 -1
  66. package/dist/src/views/scheduling/composables/useScheduleShiftDraft.d.ts +1 -1
  67. package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +1 -1
  68. package/dist/src/views/team/components/BasePermission.vue.d.ts +11 -0
  69. package/dist/src/views/team/components/ConditionPermission.vue.d.ts +11 -0
  70. package/dist/src/views/team/components/MemberGrantFields.vue.d.ts +51 -0
  71. package/dist/src/views/team/{member/MemberInfo.vue.d.ts → components/MemberStatusBadge.vue.d.ts} +2 -2
  72. package/dist/src/views/team/components/PortalPermissionEditor.vue.d.ts +21 -0
  73. package/dist/src/views/team/components/PosAssignmentRows.vue.d.ts +44 -0
  74. package/dist/src/views/team/components/PosRolePermission.vue.d.ts +11 -0
  75. package/dist/src/views/team/locales/index.d.ts +716 -0
  76. package/dist/src/views/team/member/AddMemberForm.vue.d.ts +48 -3
  77. package/dist/src/views/team/member/ExistingMemberNotice.vue.d.ts +11 -0
  78. package/dist/src/views/team/member/MemberDetailsCard.vue.d.ts +35 -0
  79. package/dist/src/views/team/member/MemberHeaderCard.vue.d.ts +19 -0
  80. package/dist/src/views/team/member/TeamMemberList.vue.d.ts +1 -0
  81. package/dist/string-DZQ1uNjn.js +22 -0
  82. package/dist/style.css +1 -1
  83. package/dist/tsconfig.app.tsbuildinfo +1 -1
  84. package/dist/{useAppStore-DZCdxlCd.js → useAppStore-BUmFt2dT.js} +1 -1
  85. package/dist/{useLoading-Nygx2zn8.js → useLoading-oHRj4RgU.js} +1 -1
  86. package/dist/{useReportPermissions-CxV7Dz1B.js → useReportPermissions-CpcyfEuV.js} +5 -5
  87. package/package.json +1 -1
  88. package/dist/ConditionBuilderForm.vue_vue_type_script_setup_true_lang-B0VcRYUg.js +0 -438
  89. package/dist/EmployeeList-Bd73xDCX.js +0 -776
  90. package/dist/FormItem.vue_vue_type_script_setup_true_lang-cLEnrtC6.js +0 -45
  91. package/dist/FormSection.vue_vue_type_script_setup_true_lang-DknXTYiK.js +0 -49
  92. package/dist/Main-DGf0bQvy.js +0 -96
  93. package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js +0 -243
  94. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-CkOAT-oX.js +0 -4167
  95. package/dist/PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-DQcgZ0nF.js +0 -35
  96. package/dist/RoleList-B_7UnVNb.js +0 -740
  97. package/dist/TeamMemberList-DoisBYnk.js +0 -1154
  98. package/dist/restaurant-D2mfKHaH.js +0 -1880
  99. package/dist/string-VNuQNweN.js +0 -15
@@ -1,17 +1,44 @@
1
+ import { type PropType } from 'vue';
1
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
3
  id: {
3
4
  type: StringConstructor;
4
5
  default: undefined;
5
6
  };
7
+ /** Outlets ticked when creating a role (the member sheet passes the row's outlets). */
8
+ restaurantIds: {
9
+ type: PropType<string[]>;
10
+ default: () => never[];
11
+ };
12
+ /** Opened over another sheet: a back arrow returns to it. */
13
+ showBack: {
14
+ type: BooleanConstructor;
15
+ default: boolean;
16
+ };
6
17
  }>, {
7
18
  show: import("vue").Ref<boolean, boolean>;
8
19
  trigger: () => void;
9
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
20
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
21
+ created: (roleId: string) => any;
22
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
23
  id: {
11
24
  type: StringConstructor;
12
25
  default: undefined;
13
26
  };
14
- }>> & Readonly<{}>, {
27
+ /** Outlets ticked when creating a role (the member sheet passes the row's outlets). */
28
+ restaurantIds: {
29
+ type: PropType<string[]>;
30
+ default: () => never[];
31
+ };
32
+ /** Opened over another sheet: a back arrow returns to it. */
33
+ showBack: {
34
+ type: BooleanConstructor;
35
+ default: boolean;
36
+ };
37
+ }>> & Readonly<{
38
+ onCreated?: ((roleId: string) => any) | undefined;
39
+ }>, {
15
40
  id: string;
41
+ restaurantIds: string[];
42
+ showBack: boolean;
16
43
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
17
44
  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,4 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ open: (code: string) => void;
3
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
4
+ export default _default;
@@ -0,0 +1,200 @@
1
+ import * as enUS from './en-US.json';
2
+ export type AppMessagesSchema = typeof enUS;
3
+ export declare const i18nMessages: {
4
+ 'en-US': {
5
+ myPosProfile: {
6
+ title: string;
7
+ subtitle: string;
8
+ table: {
9
+ columns: {
10
+ name: string;
11
+ contact: string;
12
+ restaurant: string;
13
+ role: string;
14
+ };
15
+ };
16
+ passcode: {
17
+ title: string;
18
+ updated: string;
19
+ updatedJustNow: string;
20
+ show: string;
21
+ hide: string;
22
+ change: string;
23
+ revealFailed: string;
24
+ };
25
+ change: {
26
+ title: string;
27
+ message: string;
28
+ failed: string;
29
+ exhausted: string;
30
+ inProgress: string;
31
+ incomplete: string;
32
+ };
33
+ changed: {
34
+ title: string;
35
+ message: string;
36
+ done: string;
37
+ };
38
+ manageAccount: {
39
+ message: string;
40
+ link: string;
41
+ failed: string;
42
+ };
43
+ noPosUser: {
44
+ title: string;
45
+ description: string;
46
+ };
47
+ loadFailed: string;
48
+ shared: {
49
+ message: string;
50
+ };
51
+ };
52
+ };
53
+ 'zh-CN': {
54
+ myPosProfile: {
55
+ title: string;
56
+ subtitle: string;
57
+ table: {
58
+ columns: {
59
+ name: string;
60
+ contact: string;
61
+ restaurant: string;
62
+ role: string;
63
+ };
64
+ };
65
+ passcode: {
66
+ title: string;
67
+ updated: string;
68
+ updatedJustNow: string;
69
+ show: string;
70
+ hide: string;
71
+ change: string;
72
+ revealFailed: string;
73
+ };
74
+ change: {
75
+ title: string;
76
+ message: string;
77
+ failed: string;
78
+ exhausted: string;
79
+ inProgress: string;
80
+ incomplete: string;
81
+ };
82
+ changed: {
83
+ title: string;
84
+ message: string;
85
+ done: string;
86
+ };
87
+ manageAccount: {
88
+ message: string;
89
+ link: string;
90
+ failed: string;
91
+ };
92
+ noPosUser: {
93
+ title: string;
94
+ description: string;
95
+ };
96
+ loadFailed: string;
97
+ shared: {
98
+ message: string;
99
+ };
100
+ };
101
+ };
102
+ 'th-TH': {
103
+ myPosProfile: {
104
+ title: string;
105
+ subtitle: string;
106
+ table: {
107
+ columns: {
108
+ name: string;
109
+ contact: string;
110
+ restaurant: string;
111
+ role: string;
112
+ };
113
+ };
114
+ passcode: {
115
+ title: string;
116
+ updated: string;
117
+ updatedJustNow: string;
118
+ show: string;
119
+ hide: string;
120
+ change: string;
121
+ revealFailed: string;
122
+ };
123
+ change: {
124
+ title: string;
125
+ message: string;
126
+ failed: string;
127
+ exhausted: string;
128
+ inProgress: string;
129
+ incomplete: string;
130
+ };
131
+ changed: {
132
+ title: string;
133
+ message: string;
134
+ done: string;
135
+ };
136
+ manageAccount: {
137
+ message: string;
138
+ link: string;
139
+ failed: string;
140
+ };
141
+ noPosUser: {
142
+ title: string;
143
+ description: string;
144
+ };
145
+ loadFailed: string;
146
+ shared: {
147
+ message: string;
148
+ };
149
+ };
150
+ };
151
+ 'zh-Hant': {
152
+ myPosProfile: {
153
+ title: string;
154
+ subtitle: string;
155
+ table: {
156
+ columns: {
157
+ name: string;
158
+ contact: string;
159
+ restaurant: string;
160
+ role: string;
161
+ };
162
+ };
163
+ passcode: {
164
+ title: string;
165
+ updated: string;
166
+ updatedJustNow: string;
167
+ show: string;
168
+ hide: string;
169
+ change: string;
170
+ revealFailed: string;
171
+ };
172
+ change: {
173
+ title: string;
174
+ message: string;
175
+ failed: string;
176
+ exhausted: string;
177
+ inProgress: string;
178
+ incomplete: string;
179
+ };
180
+ changed: {
181
+ title: string;
182
+ message: string;
183
+ done: string;
184
+ };
185
+ manageAccount: {
186
+ message: string;
187
+ link: string;
188
+ failed: string;
189
+ };
190
+ noPosUser: {
191
+ title: string;
192
+ description: string;
193
+ };
194
+ loadFailed: string;
195
+ shared: {
196
+ message: string;
197
+ };
198
+ };
199
+ };
200
+ };
@@ -21,7 +21,7 @@ export interface ScheduleOnboardingAvailabilityOptions {
21
21
  }
22
22
  export declare function useScheduleOnboardingAvailability(options: ScheduleOnboardingAvailabilityOptions): {
23
23
  avail: Record<number, AvailRow>;
24
- avTab: import("vue").Ref<"full" | "part", "full" | "part">;
24
+ avTab: import("vue").Ref<"part" | "full", "part" | "full">;
25
25
  avPicked: Record<number, boolean>;
26
26
  avVary: Record<number, boolean>;
27
27
  avBulkOpen: import("vue").Ref<boolean, boolean>;
@@ -726,7 +726,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
726
726
  reviewRows: import("vue").ComputedRef<ReviewRow[]>;
727
727
  goTo: (target: ScheduleOnboardingStep) => void;
728
728
  avail: Record<number, import("./onboarding-types").AvailRow>;
729
- avTab: import("vue").Ref<"full" | "part", "full" | "part">;
729
+ avTab: import("vue").Ref<"part" | "full", "part" | "full">;
730
730
  avPicked: Record<number, boolean>;
731
731
  avBulkOpen: import("vue").Ref<boolean, boolean>;
732
732
  avBulk: {
@@ -28,7 +28,7 @@ export declare function useScheduleShiftDraft(): {
28
28
  positionId: import("vue").Ref<string | undefined, string | undefined>;
29
29
  required: import("vue").Ref<number, number>;
30
30
  sen: import("vue").Ref<"" | "senior" | "junior", "" | "senior" | "junior">;
31
- empType: import("vue").Ref<"" | "full" | "part", "" | "full" | "part">;
31
+ empType: import("vue").Ref<"" | "part" | "full", "" | "part" | "full">;
32
32
  roles: import("vue").Ref<{
33
33
  position: string;
34
34
  count: number;
@@ -39,7 +39,7 @@ export declare function useScheduleShiftPopover(board: ScheduleBoardApi, demand:
39
39
  positionId: import("vue").Ref<string | undefined, string | undefined>;
40
40
  required: import("vue").Ref<number, number>;
41
41
  sen: import("vue").Ref<"" | "senior" | "junior", "" | "senior" | "junior">;
42
- empType: import("vue").Ref<"" | "full" | "part", "" | "full" | "part">;
42
+ empType: import("vue").Ref<"" | "part" | "full", "" | "part" | "full">;
43
43
  roles: import("vue").Ref<{
44
44
  position: string;
45
45
  count: number;
@@ -40,6 +40,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
40
40
  type: PropType<IFdtoPortalPermissionsWithVisibilityCondition[]>;
41
41
  default: () => never[];
42
42
  };
43
+ /** 'leading': the member sheet's layout, collapsed with the count under each category. */
44
+ layout: {
45
+ type: PropType<"trailing" | "leading">;
46
+ default: string;
47
+ };
43
48
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
44
49
  "update:model-value": (subject: {
45
50
  reason?: string | null | undefined;
@@ -67,6 +72,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
67
72
  type: PropType<IFdtoPortalPermissionsWithVisibilityCondition[]>;
68
73
  default: () => never[];
69
74
  };
75
+ /** 'leading': the member sheet's layout, collapsed with the count under each category. */
76
+ layout: {
77
+ type: PropType<"trailing" | "leading">;
78
+ default: string;
79
+ };
70
80
  }>> & Readonly<{
71
81
  "onUpdate:model-value"?: ((subject: {
72
82
  reason?: string | null | undefined;
@@ -78,6 +88,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
78
88
  actions: ("update" | "create" | "read" | "delete" | "manage")[];
79
89
  }[]) => any) | undefined;
80
90
  }>, {
91
+ layout: "trailing" | "leading";
81
92
  disable: boolean;
82
93
  additionalPermissions: IFdtoPortalPermissionsWithVisibilityCondition[];
83
94
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -26,6 +26,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
26
26
  type: StringConstructor;
27
27
  required: true;
28
28
  };
29
+ /** 'leading': the member sheet's layout, with the chosen names under the title. */
30
+ layout: {
31
+ type: PropType<"trailing" | "leading">;
32
+ default: string;
33
+ };
29
34
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
30
35
  "update:model-value": (...args: any[]) => void;
31
36
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -48,10 +53,16 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
48
53
  type: StringConstructor;
49
54
  required: true;
50
55
  };
56
+ /** 'leading': the member sheet's layout, with the chosen names under the title. */
57
+ layout: {
58
+ type: PropType<"trailing" | "leading">;
59
+ default: string;
60
+ };
51
61
  }>> & Readonly<{
52
62
  "onUpdate:model-value"?: ((...args: any[]) => any) | undefined;
53
63
  }>, {
54
64
  modelValue: string[] | null;
65
+ layout: "trailing" | "leading";
55
66
  disable: boolean;
56
67
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
57
68
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
@@ -0,0 +1,51 @@
1
+ import type { RawRule } from '@casl/ability';
2
+ import { type PropType } from 'vue';
3
+ import { FdoPermissionRule } from '@feedmepos/core/entity';
4
+ import { type MemberGrantPayload } from '@/helpers/member-grant';
5
+ import { type IFdtoPermissionPosUser } from '@/types/team';
6
+ /** The saved grant being edited. A new `id` resets the form. */
7
+ export interface MemberGrantInitialValue {
8
+ id: string;
9
+ isOwner?: boolean;
10
+ name: string;
11
+ permissions: RawRule[] | FdoPermissionRule[];
12
+ permissionSetIds: string[];
13
+ posUser?: IFdtoPermissionPosUser;
14
+ posUserId?: string;
15
+ }
16
+ declare function isModified(): boolean;
17
+ declare function readGrantData(): MemberGrantPayload;
18
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
19
+ initialValue: {
20
+ type: PropType<MemberGrantInitialValue | null>;
21
+ };
22
+ /** Name to fall back on when neither the saved grant nor the POS user has one. */
23
+ fallbackName: {
24
+ type: StringConstructor;
25
+ default: string;
26
+ };
27
+ loading: {
28
+ type: BooleanConstructor;
29
+ default: boolean;
30
+ };
31
+ }>, {
32
+ readGrantData: typeof readGrantData;
33
+ isModified: typeof isModified;
34
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
35
+ initialValue: {
36
+ type: PropType<MemberGrantInitialValue | null>;
37
+ };
38
+ /** Name to fall back on when neither the saved grant nor the POS user has one. */
39
+ fallbackName: {
40
+ type: StringConstructor;
41
+ default: string;
42
+ };
43
+ loading: {
44
+ type: BooleanConstructor;
45
+ default: boolean;
46
+ };
47
+ }>> & Readonly<{}>, {
48
+ loading: boolean;
49
+ fallbackName: string;
50
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
51
+ export default _default;
@@ -1,6 +1,6 @@
1
- import { type TeamDialogData } from './AddMemberForm.vue';
1
+ import type { TeamMemberStatus } from '@/types/team';
2
2
  type __VLS_Props = {
3
- data: TeamDialogData;
3
+ status: TeamMemberStatus;
4
4
  };
5
5
  declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
6
  export default _default;
@@ -9,6 +9,16 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
9
9
  type: PropType<Array<IFdtoPermissionSet>>;
10
10
  default: () => never[];
11
11
  };
12
+ /**
13
+ * 'all': every section in its own box (permission roles page).
14
+ * 'workplace': only manageable restaurant / warehouse / usable POS roles ("Where they work").
15
+ * 'portal': only the portal permission categories ("Portal access").
16
+ * The member sheet renders the two parts in separate cards over the same rules.
17
+ */
18
+ part: {
19
+ type: PropType<"all" | "workplace" | "portal">;
20
+ default: string;
21
+ };
12
22
  modelValue: {
13
23
  type: PropType<{
14
24
  reason?: string | null | undefined;
@@ -49,6 +59,16 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
49
59
  type: PropType<Array<IFdtoPermissionSet>>;
50
60
  default: () => never[];
51
61
  };
62
+ /**
63
+ * 'all': every section in its own box (permission roles page).
64
+ * 'workplace': only manageable restaurant / warehouse / usable POS roles ("Where they work").
65
+ * 'portal': only the portal permission categories ("Portal access").
66
+ * The member sheet renders the two parts in separate cards over the same rules.
67
+ */
68
+ part: {
69
+ type: PropType<"all" | "workplace" | "portal">;
70
+ default: string;
71
+ };
52
72
  modelValue: {
53
73
  type: PropType<{
54
74
  reason?: string | null | undefined;
@@ -82,5 +102,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
82
102
  }>, {
83
103
  disable: boolean;
84
104
  inheritPermissions: IFdtoPermissionSet[];
105
+ part: "portal" | "all" | "workplace";
85
106
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
86
107
  export default _default;
@@ -0,0 +1,44 @@
1
+ import { type PropType } from 'vue';
2
+ import type { HrmRestaurant } from '@/types/restaurant';
3
+ import type { Role } from '@/types/role';
4
+ import type { IFdtoPermissionPosUserRole } from '@/types/team';
5
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
+ modelValue: {
7
+ type: PropType<IFdtoPermissionPosUserRole[]>;
8
+ required: true;
9
+ };
10
+ restaurants: {
11
+ type: PropType<HrmRestaurant[]>;
12
+ required: true;
13
+ };
14
+ roles: {
15
+ type: PropType<Role[]>;
16
+ required: true;
17
+ };
18
+ isRoleUsable: {
19
+ type: PropType<(role: Role) => boolean>;
20
+ required: true;
21
+ };
22
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
23
+ "update:modelValue": (roles: IFdtoPermissionPosUserRole[]) => any;
24
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
25
+ modelValue: {
26
+ type: PropType<IFdtoPermissionPosUserRole[]>;
27
+ required: true;
28
+ };
29
+ restaurants: {
30
+ type: PropType<HrmRestaurant[]>;
31
+ required: true;
32
+ };
33
+ roles: {
34
+ type: PropType<Role[]>;
35
+ required: true;
36
+ };
37
+ isRoleUsable: {
38
+ type: PropType<(role: Role) => boolean>;
39
+ required: true;
40
+ };
41
+ }>> & Readonly<{
42
+ "onUpdate:modelValue"?: ((roles: IFdtoPermissionPosUserRole[]) => any) | undefined;
43
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
44
+ export default _default;
@@ -24,6 +24,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
24
24
  type: BooleanConstructor;
25
25
  default: boolean;
26
26
  };
27
+ /** 'leading': the member sheet's layout, with the chosen roles under the title. */
28
+ layout: {
29
+ type: PropType<"trailing" | "leading">;
30
+ default: string;
31
+ };
27
32
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
28
33
  "update:model-value": (restaurants: string[] | null) => any;
29
34
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -43,11 +48,17 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
43
48
  type: BooleanConstructor;
44
49
  default: boolean;
45
50
  };
51
+ /** 'leading': the member sheet's layout, with the chosen roles under the title. */
52
+ layout: {
53
+ type: PropType<"trailing" | "leading">;
54
+ default: string;
55
+ };
46
56
  }>> & Readonly<{
47
57
  "onUpdate:model-value"?: ((restaurants: string[] | null) => any) | undefined;
48
58
  }>, {
49
59
  modelValue: string[] | null;
50
60
  restaurantIds: string[] | null;
61
+ layout: "trailing" | "leading";
51
62
  disable: boolean;
52
63
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
53
64
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;