@feedmepos/mf-hrm-portal 2.2.4 → 2.2.5-dev.3
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.
- package/dist/{ApprovalCodeList-ChGQwko6.js → ApprovalCodeList-BuIPVwsl.js} +5 -5
- package/dist/{AuditLogList-Cpj8O5qS.js → AuditLogList-l3fv_3jD.js} +235 -233
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-CNmbZlVZ.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-BYY9dMSQ.js} +2 -2
- package/dist/EmployeeList-HjNxPBcN.js +786 -0
- package/dist/{GrantUserList-CAXJmQ4i.js → GrantUserList-B91EBl82.js} +6 -6
- package/dist/{Main-7yT_w5vt.js → Main-C_tQuQsU.js} +11 -11
- package/dist/{Main-T9-30vq8.js → Main-DeqJPnm7.js} +5 -5
- package/dist/{Main-Ada9K_jO.js → Main-TuG-h_qY.js} +8 -8
- package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js +243 -0
- package/dist/{PermissionSetList-CkWYPmT2.js → PermissionSetList-qVaYkiQ4.js} +20 -20
- package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-CCLLrSyq.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DcpNr0M4.js} +1237 -1244
- package/dist/{PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-Z-DH7ouY.js → PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-XHuHin8t.js} +1 -1
- package/dist/{RoleList-Do36AmlU.js → RoleList-CM0m4nya.js} +9 -9
- package/dist/TeamMemberList-GkMQuyoE.js +1153 -0
- package/dist/{TimesheetList-DboJ2_89.js → TimesheetList-Ci2r3AOF.js} +92 -90
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_2c7a177a_lang-C4g8wRjv.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-QbQ7tbJP.js} +3 -3
- package/dist/{app-CcCcPbyB.js → app-MXDLzWd6.js} +1262 -1230
- package/dist/app.js +1 -1
- package/dist/{approval-code-BRClD2HN.js → approval-code-jIjkeVEb.js} +1 -1
- package/dist/{dayjs.min-lvkj1Rwa.js → dayjs.min-DRqYbe11.js} +1 -1
- package/dist/employee-zsQMMIVM.js +204 -0
- package/dist/{grant-user-Dhi3ilC_.js → grant-user-SNiDV22U.js} +1 -1
- package/dist/{iteration-LZbo-knt.js → iteration-CtN8sidV.js} +1 -1
- package/dist/{lodash-CKzaMa7f.js → lodash-BwY7earz.js} +1 -1
- package/dist/{restaurant-DiYb0pCm.js → restaurant-BTpBmfBV.js} +2 -2
- package/dist/{role-BZr8zzeq.js → role-Ds1yN3BN.js} +2 -2
- package/dist/{rule-DNaqlUUB.js → rule-DkG2eGGH.js} +274 -262
- package/dist/src/api/employee/index.d.ts +5 -1
- package/dist/src/api/team/index.d.ts +3 -0
- package/dist/src/components/form/OutletRoleAssignment.vue.d.ts +16 -0
- package/dist/src/components/form/PasscodeGenerateButton.vue.d.ts +15 -0
- package/dist/src/components/form/PasscodePinField.vue.d.ts +18 -0
- package/dist/src/helpers/outlet-role-assignment.d.ts +40 -0
- package/dist/src/helpers/rule.d.ts +15 -0
- package/dist/src/helpers/string.d.ts +2 -1
- package/dist/src/views/audit-log/locales/index.d.ts +4 -0
- package/dist/src/views/hr/locales/index.d.ts +8 -0
- package/dist/src/views/team/locales/index.d.ts +12 -0
- package/dist/src/views/team/member/AddMemberForm.vue.d.ts +1 -0
- package/dist/src/views/team/member/TeamMemberMasterUser.vue.d.ts +21 -3
- package/dist/string-VNuQNweN.js +15 -0
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useAppStore-BGhlB1_1.js → useAppStore-DCwd8GWN.js} +1 -1
- package/dist/{useLoading-CvgqVDbF.js → useLoading-CXzTpIVv.js} +1 -1
- package/dist/{useReportPermissions-Buzv6pkY.js → useReportPermissions-B_YakoB-.js} +3 -3
- package/package.json +1 -1
- package/dist/EmployeeList-PdGzSCP-.js +0 -887
- package/dist/Skeleton.vue_vue_type_script_setup_true_lang-B4PxNMwq.js +0 -16
- package/dist/TeamMemberList-CVVNnz0R.js +0 -1216
- package/dist/employee-CLgrXpmZ.js +0 -201
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { FdtoUpdatePosUserReq, FdtoUpdatePosMasterUserReq } from '@feedmepos/core/entity';
|
|
2
2
|
import type { Employee, IFdtoEmployeePage, IFdtoPosUser, IReadEmployeesPageReq } from '@/types/employee';
|
|
3
|
+
export interface IGeneratePasscodeParams {
|
|
4
|
+
restaurantIds: string[];
|
|
5
|
+
excludePosUserId?: string;
|
|
6
|
+
}
|
|
3
7
|
declare const EmployeeAPI: {
|
|
4
8
|
readEmployees(): Promise<IFdtoPosUser[]>;
|
|
5
9
|
readEmployeesPage(query: IReadEmployeesPageReq): Promise<IFdtoEmployeePage>;
|
|
@@ -10,7 +14,7 @@ declare const EmployeeAPI: {
|
|
|
10
14
|
updateMasterEmployee(employeeId: string, dto: FdtoUpdatePosMasterUserReq): Promise<void>;
|
|
11
15
|
deleteEmployee(employee: Employee): Promise<void>;
|
|
12
16
|
deleteMasterEmployee(employee: Employee): Promise<void>;
|
|
13
|
-
generateEmployeePasscode(): Promise<string>;
|
|
17
|
+
generateEmployeePasscode(params: IGeneratePasscodeParams): Promise<string>;
|
|
14
18
|
syncUsersMeta(): Promise<void>;
|
|
15
19
|
};
|
|
16
20
|
export default EmployeeAPI;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { IGeneratePasscodeParams } from '@/api/employee';
|
|
1
2
|
import { type IFdtoPortalPermissionsWithVisibilityCondition } from '@feedmepos/hrm-permission';
|
|
2
3
|
import type { FTeamMember, IFdtoCreatePortalUserReq, IFdtoTeamMemberPage, IReadTeamMembersPageReq, IFdtoUpdatePortalUserReq } from '@/types/team';
|
|
4
|
+
export type IGenerateMasterUserPasscodeParams = IGeneratePasscodeParams;
|
|
3
5
|
export declare const portalTeamPermissions: IFdtoPortalPermissionsWithVisibilityCondition[];
|
|
4
6
|
export declare const teamApi: {
|
|
5
7
|
readTeamMembers(): Promise<FTeamMember[]>;
|
|
@@ -9,5 +11,6 @@ export declare const teamApi: {
|
|
|
9
11
|
updateTeamMember(permissionUserId: string, req: IFdtoUpdatePortalUserReq): Promise<FTeamMember>;
|
|
10
12
|
deleteTeamMember(permissionUserId: string): Promise<boolean>;
|
|
11
13
|
readTeamMemberPosUserIds(): Promise<string[]>;
|
|
14
|
+
generateMasterUserPasscode(params: IGenerateMasterUserPasscodeParams): Promise<string>;
|
|
12
15
|
};
|
|
13
16
|
export default teamApi;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type OutletRoleAssignmentProps, type OutletRoleRow } from '@/helpers/outlet-role-assignment';
|
|
2
|
+
declare const _default: <T extends OutletRoleRow>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
4
|
+
readonly "onUpdate:modelValue"?: ((rows: T[]) => any) | undefined;
|
|
5
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:modelValue"> & OutletRoleAssignmentProps<T> & Partial<{}>> & import("vue").PublicProps;
|
|
6
|
+
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
7
|
+
attrs: any;
|
|
8
|
+
slots: {};
|
|
9
|
+
emit: (evt: "update:modelValue", rows: T[]) => void;
|
|
10
|
+
}>) => import("vue").VNode & {
|
|
11
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
12
|
+
};
|
|
13
|
+
export default _default;
|
|
14
|
+
type __VLS_PrettifyLocal<T> = {
|
|
15
|
+
[K in keyof T]: T[K];
|
|
16
|
+
} & {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
label: string;
|
|
3
|
+
hint: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
loading?: boolean;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
8
|
+
click: () => any;
|
|
9
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
10
|
+
onClick?: (() => any) | undefined;
|
|
11
|
+
}>, {
|
|
12
|
+
disabled: boolean;
|
|
13
|
+
loading: boolean;
|
|
14
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
modelValue: string[];
|
|
3
|
+
masked: boolean;
|
|
4
|
+
length?: number;
|
|
5
|
+
toggleLabel: string;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
8
|
+
"update:modelValue": (value: string[]) => any;
|
|
9
|
+
"update:masked": (value: boolean) => any;
|
|
10
|
+
complete: (value: string) => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
"onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
|
|
13
|
+
"onUpdate:masked"?: ((value: boolean) => any) | undefined;
|
|
14
|
+
onComplete?: ((value: string) => any) | undefined;
|
|
15
|
+
}>, {
|
|
16
|
+
length: number;
|
|
17
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { HrmRestaurant } from '@/types/restaurant';
|
|
2
|
+
import type { Role } from '@/types/role';
|
|
3
|
+
export interface OutletRoleRow {
|
|
4
|
+
restaurantId: string;
|
|
5
|
+
roleId: string;
|
|
6
|
+
}
|
|
7
|
+
export interface SelectOption {
|
|
8
|
+
label: string;
|
|
9
|
+
value: string;
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface AssignmentRules {
|
|
13
|
+
/** Whether this role may be picked at this outlet (caller policy). */
|
|
14
|
+
isRoleUsable: (role: Role, restaurantId: string) => boolean;
|
|
15
|
+
/** Locked rows cannot be edited or removed. */
|
|
16
|
+
isRestaurantLocked: (restaurantId: string) => boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Props of OutletRoleAssignment.vue. Exported from here (not declared in the
|
|
20
|
+
* SFC) so the generated component declaration can reference it.
|
|
21
|
+
*/
|
|
22
|
+
export interface OutletRoleAssignmentProps<T extends OutletRoleRow> {
|
|
23
|
+
modelValue: T[];
|
|
24
|
+
restaurants: HrmRestaurant[];
|
|
25
|
+
roles: Role[];
|
|
26
|
+
isRoleUsable: (role: Role, restaurantId: string) => boolean;
|
|
27
|
+
isRestaurantLocked?: (restaurantId: string) => boolean;
|
|
28
|
+
createRow: () => T;
|
|
29
|
+
title: string;
|
|
30
|
+
restaurantLabel: string;
|
|
31
|
+
roleLabel: string;
|
|
32
|
+
addLabel: string;
|
|
33
|
+
removeLabel: string;
|
|
34
|
+
}
|
|
35
|
+
export declare function selectedRestaurantIds(rows: OutletRoleRow[]): string[];
|
|
36
|
+
export declare function buildRestaurantOptions(restaurants: HrmRestaurant[], rows: OutletRoleRow[], currentRestaurantId: string): SelectOption[];
|
|
37
|
+
export declare function buildRoleOptions(roles: Role[], restaurantId: string, currentRoleId: string, rules: AssignmentRules): SelectOption[];
|
|
38
|
+
export declare function pickRoleForRestaurant(roles: Role[], restaurantId: string, currentRoleId: string, rules: AssignmentRules): string;
|
|
39
|
+
export declare function canAddAssignment(restaurants: HrmRestaurant[], rows: OutletRoleRow[]): boolean;
|
|
40
|
+
export declare function removeAssignment<T extends OutletRoleRow>(rows: T[], index: number, createRow: () => T, rules: AssignmentRules): T[];
|
|
@@ -20,6 +20,21 @@ export declare function ruleExtension(rule: FdoPermissionRule): {
|
|
|
20
20
|
};
|
|
21
21
|
export declare function getMaxDiscount(rules: FdoPermissionRule[]): number;
|
|
22
22
|
export declare function getManagableRestaurantIds(rules: (FdoPermissionRule | RawRule)[]): string[] | null;
|
|
23
|
+
export interface MasterUserAccess {
|
|
24
|
+
/** null = every restaurant, [] = none */
|
|
25
|
+
restaurantIds: string[] | null;
|
|
26
|
+
/** null = every role, [] = none */
|
|
27
|
+
roleIds: string[] | null;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Outlets and POS roles a team member may be assigned as a master user.
|
|
31
|
+
* The business owner is unrestricted regardless of stored rules: their rules
|
|
32
|
+
* are not editable in the portal and legacy documents often lack the
|
|
33
|
+
* `restaurant` / `business::role` subjects this derivation depends on.
|
|
34
|
+
*/
|
|
35
|
+
export declare function resolveMasterUserAccess(rules: (FdoPermissionRule | RawRule)[], options: {
|
|
36
|
+
isOwner: boolean;
|
|
37
|
+
}): MasterUserAccess;
|
|
23
38
|
export declare function hasAdminRule(rules: FdoPermissionRule[]): boolean;
|
|
24
39
|
export declare function usableRoleIds(rules: (FdoPermissionRule | RawRule)[]): string[] | null;
|
|
25
40
|
export declare function extractReportExtraCondition(rule: FdoPermissionRule): Record<string, unknown> | undefined;
|
|
@@ -9,4 +9,5 @@ declare const filter: {
|
|
|
9
9
|
declare const validate: {
|
|
10
10
|
email(input: string): RegExpMatchArray | null;
|
|
11
11
|
};
|
|
12
|
-
|
|
12
|
+
declare function nameInitials(name: string | null | undefined): string;
|
|
13
|
+
export { filter, validate, randomString, nameInitials };
|
|
@@ -197,6 +197,7 @@ export declare const i18nMessages: {
|
|
|
197
197
|
create: string;
|
|
198
198
|
update: string;
|
|
199
199
|
delete: string;
|
|
200
|
+
"generate-passcode": string;
|
|
200
201
|
};
|
|
201
202
|
"pos-user": {
|
|
202
203
|
list: string;
|
|
@@ -422,6 +423,7 @@ export declare const i18nMessages: {
|
|
|
422
423
|
create: string;
|
|
423
424
|
update: string;
|
|
424
425
|
delete: string;
|
|
426
|
+
"generate-passcode": string;
|
|
425
427
|
};
|
|
426
428
|
"pos-user": {
|
|
427
429
|
list: string;
|
|
@@ -647,6 +649,7 @@ export declare const i18nMessages: {
|
|
|
647
649
|
create: string;
|
|
648
650
|
update: string;
|
|
649
651
|
delete: string;
|
|
652
|
+
"generate-passcode": string;
|
|
650
653
|
};
|
|
651
654
|
"pos-user": {
|
|
652
655
|
list: string;
|
|
@@ -872,6 +875,7 @@ export declare const i18nMessages: {
|
|
|
872
875
|
create: string;
|
|
873
876
|
update: string;
|
|
874
877
|
delete: string;
|
|
878
|
+
"generate-passcode": string;
|
|
875
879
|
};
|
|
876
880
|
"pos-user": {
|
|
877
881
|
list: string;
|
|
@@ -29,6 +29,8 @@ export declare const i18nMessages: {
|
|
|
29
29
|
passcode: string;
|
|
30
30
|
passcodeRequired: string;
|
|
31
31
|
passcodeGenerate: string;
|
|
32
|
+
passcodeSelectOutletFirst: string;
|
|
33
|
+
passcodeToggleVisibility: string;
|
|
32
34
|
atLeastOneRestaurant: string;
|
|
33
35
|
roleRequired: string;
|
|
34
36
|
all: string;
|
|
@@ -235,6 +237,8 @@ export declare const i18nMessages: {
|
|
|
235
237
|
passcode: string;
|
|
236
238
|
passcodeRequired: string;
|
|
237
239
|
passcodeGenerate: string;
|
|
240
|
+
passcodeSelectOutletFirst: string;
|
|
241
|
+
passcodeToggleVisibility: string;
|
|
238
242
|
atLeastOneRestaurant: string;
|
|
239
243
|
roleRequired: string;
|
|
240
244
|
all: string;
|
|
@@ -441,6 +445,8 @@ export declare const i18nMessages: {
|
|
|
441
445
|
passcode: string;
|
|
442
446
|
passcodeRequired: string;
|
|
443
447
|
passcodeGenerate: string;
|
|
448
|
+
passcodeSelectOutletFirst: string;
|
|
449
|
+
passcodeToggleVisibility: string;
|
|
444
450
|
atLeastOneRestaurant: string;
|
|
445
451
|
roleRequired: string;
|
|
446
452
|
all: string;
|
|
@@ -646,6 +652,8 @@ export declare const i18nMessages: {
|
|
|
646
652
|
passcode: string;
|
|
647
653
|
passcodeRequired: string;
|
|
648
654
|
passcodeGenerate: string;
|
|
655
|
+
passcodeSelectOutletFirst: string;
|
|
656
|
+
passcodeToggleVisibility: string;
|
|
649
657
|
atLeastOneRestaurant: string;
|
|
650
658
|
roleRequired: string;
|
|
651
659
|
all: string;
|
|
@@ -103,6 +103,9 @@ export declare const i18nMessages: {
|
|
|
103
103
|
title: string;
|
|
104
104
|
passcode: string;
|
|
105
105
|
passcodeRequired: string;
|
|
106
|
+
passcodeGenerate: string;
|
|
107
|
+
passcodeSelectOutletFirst: string;
|
|
108
|
+
passcodeToggleVisibility: string;
|
|
106
109
|
sublabel: string;
|
|
107
110
|
assignmentSection: string;
|
|
108
111
|
addAnother: string;
|
|
@@ -355,6 +358,9 @@ export declare const i18nMessages: {
|
|
|
355
358
|
title: string;
|
|
356
359
|
passcode: string;
|
|
357
360
|
passcodeRequired: string;
|
|
361
|
+
passcodeGenerate: string;
|
|
362
|
+
passcodeSelectOutletFirst: string;
|
|
363
|
+
passcodeToggleVisibility: string;
|
|
358
364
|
sublabel: string;
|
|
359
365
|
assignmentSection: string;
|
|
360
366
|
addAnother: string;
|
|
@@ -607,6 +613,9 @@ export declare const i18nMessages: {
|
|
|
607
613
|
title: string;
|
|
608
614
|
passcode: string;
|
|
609
615
|
passcodeRequired: string;
|
|
616
|
+
passcodeGenerate: string;
|
|
617
|
+
passcodeSelectOutletFirst: string;
|
|
618
|
+
passcodeToggleVisibility: string;
|
|
610
619
|
sublabel: string;
|
|
611
620
|
assignmentSection: string;
|
|
612
621
|
addAnother: string;
|
|
@@ -859,6 +868,9 @@ export declare const i18nMessages: {
|
|
|
859
868
|
title: string;
|
|
860
869
|
passcode: string;
|
|
861
870
|
passcodeRequired: string;
|
|
871
|
+
passcodeGenerate: string;
|
|
872
|
+
passcodeSelectOutletFirst: string;
|
|
873
|
+
passcodeToggleVisibility: string;
|
|
862
874
|
sublabel: string;
|
|
863
875
|
assignmentSection: string;
|
|
864
876
|
addAnother: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type PropType } from 'vue';
|
|
2
2
|
import type { HrmRestaurant } from '@/types/restaurant';
|
|
3
|
-
import type {
|
|
3
|
+
import type { Role } from '@/types/role';
|
|
4
4
|
import type { IFdtoPermissionPosUser } from '@/types/team';
|
|
5
5
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
6
6
|
modelValue: {
|
|
@@ -20,9 +20,17 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
20
20
|
required: true;
|
|
21
21
|
};
|
|
22
22
|
roles: {
|
|
23
|
-
type: PropType<
|
|
23
|
+
type: PropType<Role[]>;
|
|
24
24
|
required: true;
|
|
25
25
|
};
|
|
26
|
+
usableRoleIds: {
|
|
27
|
+
type: PropType<string[] | null>;
|
|
28
|
+
default: null;
|
|
29
|
+
};
|
|
30
|
+
posUserId: {
|
|
31
|
+
type: StringConstructor;
|
|
32
|
+
default: undefined;
|
|
33
|
+
};
|
|
26
34
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
27
35
|
"update:model-value": (user: IFdtoPermissionPosUser | null | undefined) => any;
|
|
28
36
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -43,13 +51,23 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
43
51
|
required: true;
|
|
44
52
|
};
|
|
45
53
|
roles: {
|
|
46
|
-
type: PropType<
|
|
54
|
+
type: PropType<Role[]>;
|
|
47
55
|
required: true;
|
|
48
56
|
};
|
|
57
|
+
usableRoleIds: {
|
|
58
|
+
type: PropType<string[] | null>;
|
|
59
|
+
default: null;
|
|
60
|
+
};
|
|
61
|
+
posUserId: {
|
|
62
|
+
type: StringConstructor;
|
|
63
|
+
default: undefined;
|
|
64
|
+
};
|
|
49
65
|
}>> & Readonly<{
|
|
50
66
|
"onUpdate:model-value"?: ((user: IFdtoPermissionPosUser | null | undefined) => any) | undefined;
|
|
51
67
|
}>, {
|
|
52
68
|
modelValue: IFdtoPermissionPosUser | null;
|
|
53
69
|
fallbackPasscode: string;
|
|
70
|
+
usableRoleIds: string[] | null;
|
|
71
|
+
posUserId: string;
|
|
54
72
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
55
73
|
export default _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function i(r, t) {
|
|
2
|
+
let n = "", e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
3
|
+
const c = e.length;
|
|
4
|
+
for (let a = 0; a < r; a++)
|
|
5
|
+
n += e.charAt(Math.floor(Math.random() * c));
|
|
6
|
+
return n;
|
|
7
|
+
}
|
|
8
|
+
function l(r) {
|
|
9
|
+
const t = (r ?? "").trim().split(/\s+/).filter(Boolean);
|
|
10
|
+
return t.length === 0 ? "" : t.length === 1 ? t[0].slice(0, 2) : t[0].charAt(0) + t[1].charAt(0);
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
l as n,
|
|
14
|
+
i as r
|
|
15
|
+
};
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.employee-list-table[data-v-
|
|
1
|
+
.employee-list-table[data-v-5aed0d1c] [class~=gap-24]>div:first-child{display:none}.timesheet-user-view[data-v-63294af2] .basis-72{display:none}.user-info-icon[data-v-827dfd60]{flex-shrink:0;cursor:pointer;font-size:.75rem;font-weight:600;line-height:1rem;letter-spacing:.02em;text-decoration-line:none;color:var(--fm-color-neutral-white);display:flex;align-items:center;justify-content:center;background:linear-gradient(201deg,#fc9b40 10.3%,#ff6052 98.36%)}.user-info-icon--md[data-v-827dfd60]{height:2.25rem;width:2.25rem;border-radius:8px}.user-info-icon--lg[data-v-827dfd60]{height:48px;width:48px;border-radius:16px}.profile-menu[data-v-827dfd60]{width:280px;padding-top:12px;padding-bottom:12px}.profile-menu--profile[data-v-827dfd60]>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(8px * var(--tw-space-x-reverse));margin-left:calc(8px * calc(1 - var(--tw-space-x-reverse)))}.profile-menu--profile[data-v-827dfd60]{padding:16px 16px 12px;border-radius:8px;display:flex;align-items:center;border-width:1px;border-color:var(--fm-color-neutral-gray-200)}.profile-menu--profile .profile-displayName[data-v-827dfd60]{font-size:1rem;font-weight:400;line-height:1.25rem;letter-spacing:.005em;text-decoration-line:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu--profile .profile-email[data-v-827dfd60],.profile-menu--profile .profile-phone[data-v-827dfd60]{font-size:.875rem;font-weight:400;line-height:1.125rem;letter-spacing:.0125em;text-decoration-line:none;color:var(--fm-color-neutral-gray-300);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-log-list-table[data-v-f7aebfad] [class~=gap-24]>div:first-child{display:none}.audit-log-list-table[data-v-f7aebfad] tr:has(.audit-op-marker){background-color:var(--fm-color-neutral-gray-100);border-top:1px solid var(--fm-color-neutral-gray-200)}.audit-log-list-table[data-v-f7aebfad] tr:has(.audit-op-marker):hover{background-color:#e8e8ed}.audit-log-action-label[data-v-f7aebfad]{display:block;width:100%;max-width:100%;max-height:6.25rem;overflow-y:auto;white-space:pre-line;word-break:break-word;line-height:1.25rem;scrollbar-width:none;-ms-overflow-style:none}.audit-log-action-label[data-v-f7aebfad]::-webkit-scrollbar{display:none}.audit-log-operation-label-detail[data-v-f7aebfad]{max-height:6.875rem;overflow-y:auto;white-space:pre-line;word-break:break-word;line-height:1.375rem;scrollbar-width:none;-ms-overflow-style:none}.audit-log-operation-label-detail[data-v-f7aebfad]::-webkit-scrollbar{display:none}
|