@optifye/dashboard-core 6.10.27 → 6.10.28
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/index.css +12 -0
- package/dist/index.d.mts +27 -11
- package/dist/index.d.ts +27 -11
- package/dist/index.js +662 -183
- package/dist/index.mjs +662 -183
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -2285,6 +2285,10 @@ body {
|
|
|
2285
2285
|
--tw-border-opacity: 1;
|
|
2286
2286
|
border-color: rgb(153 246 228 / var(--tw-border-opacity, 1));
|
|
2287
2287
|
}
|
|
2288
|
+
.border-teal-500 {
|
|
2289
|
+
--tw-border-opacity: 1;
|
|
2290
|
+
border-color: rgb(20 184 166 / var(--tw-border-opacity, 1));
|
|
2291
|
+
}
|
|
2288
2292
|
.border-transparent {
|
|
2289
2293
|
border-color: transparent;
|
|
2290
2294
|
}
|
|
@@ -2738,6 +2742,10 @@ body {
|
|
|
2738
2742
|
--tw-bg-opacity: 1;
|
|
2739
2743
|
background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1));
|
|
2740
2744
|
}
|
|
2745
|
+
.bg-teal-50 {
|
|
2746
|
+
--tw-bg-opacity: 1;
|
|
2747
|
+
background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
|
|
2748
|
+
}
|
|
2741
2749
|
.bg-transparent {
|
|
2742
2750
|
background-color: transparent;
|
|
2743
2751
|
}
|
|
@@ -3898,6 +3906,10 @@ body {
|
|
|
3898
3906
|
--tw-text-opacity: 1;
|
|
3899
3907
|
color: rgb(15 23 42 / var(--tw-text-opacity, 1));
|
|
3900
3908
|
}
|
|
3909
|
+
.text-teal-700 {
|
|
3910
|
+
--tw-text-opacity: 1;
|
|
3911
|
+
color: rgb(15 118 110 / var(--tw-text-opacity, 1));
|
|
3912
|
+
}
|
|
3901
3913
|
.text-teal-800 {
|
|
3902
3914
|
--tw-text-opacity: 1;
|
|
3903
3915
|
color: rgb(17 94 89 / var(--tw-text-opacity, 1));
|
package/dist/index.d.mts
CHANGED
|
@@ -634,7 +634,7 @@ interface AuthUser {
|
|
|
634
634
|
id: string;
|
|
635
635
|
email?: string;
|
|
636
636
|
role?: string;
|
|
637
|
-
role_level?: 'owner' | 'plant_head' | 'supervisor' | 'optifye';
|
|
637
|
+
role_level?: 'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye';
|
|
638
638
|
company_id?: string;
|
|
639
639
|
first_login_completed?: boolean;
|
|
640
640
|
properties?: {
|
|
@@ -4311,7 +4311,7 @@ interface UseSessionKeepAliveOptions {
|
|
|
4311
4311
|
*/
|
|
4312
4312
|
declare const useSessionKeepAlive: (options?: UseSessionKeepAliveOptions) => void;
|
|
4313
4313
|
|
|
4314
|
-
type UserRole = 'owner' | 'plant_head' | 'supervisor' | 'optifye';
|
|
4314
|
+
type UserRole = 'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye';
|
|
4315
4315
|
interface AccessControlReturn {
|
|
4316
4316
|
userRole: UserRole | null;
|
|
4317
4317
|
hasAccess: (path: string) => boolean;
|
|
@@ -4336,7 +4336,7 @@ interface CompanyUserWithDetails {
|
|
|
4336
4336
|
email: string;
|
|
4337
4337
|
first_name?: string;
|
|
4338
4338
|
last_name?: string;
|
|
4339
|
-
role_level: 'owner' | 'plant_head' | 'supervisor' | 'optifye';
|
|
4339
|
+
role_level: 'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye';
|
|
4340
4340
|
first_login_completed: boolean;
|
|
4341
4341
|
created_at: string;
|
|
4342
4342
|
properties: {
|
|
@@ -4356,7 +4356,7 @@ interface CompanyUserWithDetails {
|
|
|
4356
4356
|
*/
|
|
4357
4357
|
interface UpdateUserRoleInput {
|
|
4358
4358
|
user_id: string;
|
|
4359
|
-
new_role: 'owner' | 'plant_head' | 'supervisor' | 'optifye';
|
|
4359
|
+
new_role: 'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye';
|
|
4360
4360
|
updated_by: string;
|
|
4361
4361
|
}
|
|
4362
4362
|
/**
|
|
@@ -4404,14 +4404,14 @@ declare class UserManagementService {
|
|
|
4404
4404
|
* @param roleFilter - Optional filter by role
|
|
4405
4405
|
* @returns Promise<CompanyUserWithDetails[]>
|
|
4406
4406
|
*/
|
|
4407
|
-
getCompanyUsers(companyId: string, roleFilter?: 'owner' | 'plant_head' | 'supervisor'): Promise<CompanyUserWithDetails[]>;
|
|
4407
|
+
getCompanyUsers(companyId: string, roleFilter?: 'owner' | 'it' | 'plant_head' | 'supervisor'): Promise<CompanyUserWithDetails[]>;
|
|
4408
4408
|
/**
|
|
4409
4409
|
* Get ALL users across all companies (optifye role only)
|
|
4410
4410
|
* This method bypasses company filtering and returns all users in the system
|
|
4411
4411
|
* @param roleFilter - Optional filter by role
|
|
4412
4412
|
* @returns Promise<CompanyUserWithDetails[]>
|
|
4413
4413
|
*/
|
|
4414
|
-
getAllUsers(roleFilter?: 'owner' | 'plant_head' | 'supervisor' | 'optifye'): Promise<CompanyUserWithDetails[]>;
|
|
4414
|
+
getAllUsers(roleFilter?: 'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye'): Promise<CompanyUserWithDetails[]>;
|
|
4415
4415
|
/**
|
|
4416
4416
|
* Get users for a specific factory (plant head view)
|
|
4417
4417
|
* Returns only supervisors assigned to lines in this factory
|
|
@@ -4442,6 +4442,7 @@ declare class UserManagementService {
|
|
|
4442
4442
|
getUserStats(companyId: string): Promise<{
|
|
4443
4443
|
total: number;
|
|
4444
4444
|
owners: number;
|
|
4445
|
+
it: number;
|
|
4445
4446
|
plant_heads: number;
|
|
4446
4447
|
supervisors: number;
|
|
4447
4448
|
}>;
|
|
@@ -4452,6 +4453,7 @@ declare class UserManagementService {
|
|
|
4452
4453
|
getAllUserStats(): Promise<{
|
|
4453
4454
|
total: number;
|
|
4454
4455
|
owners: number;
|
|
4456
|
+
it: number;
|
|
4455
4457
|
plant_heads: number;
|
|
4456
4458
|
supervisors: number;
|
|
4457
4459
|
optifye: number;
|
|
@@ -4484,7 +4486,7 @@ interface TeamManagementPermissions {
|
|
|
4484
4486
|
canAssignFactories: (targetUser: CompanyUserWithDetails) => boolean;
|
|
4485
4487
|
canChangeRole: (targetUser: CompanyUserWithDetails) => boolean;
|
|
4486
4488
|
canRemoveUser: (targetUser: CompanyUserWithDetails) => boolean;
|
|
4487
|
-
availableRolesToAssign: () => Array<'owner' | 'plant_head' | 'supervisor' | 'optifye'>;
|
|
4489
|
+
availableRolesToAssign: () => Array<'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye'>;
|
|
4488
4490
|
canInviteRole: (role: string) => boolean;
|
|
4489
4491
|
getAssignmentColumnName: (targetUser: CompanyUserWithDetails) => string;
|
|
4490
4492
|
showAssignmentColumn: () => boolean;
|
|
@@ -7469,6 +7471,14 @@ interface BottlenecksContentProps {
|
|
|
7469
7471
|
* When provided, only shows clips associated with this ticket
|
|
7470
7472
|
*/
|
|
7471
7473
|
ticketId?: string;
|
|
7474
|
+
/**
|
|
7475
|
+
* Optional prefetched percentile counts from workspace detail view
|
|
7476
|
+
*/
|
|
7477
|
+
prefetchedPercentileCounts?: {
|
|
7478
|
+
key: string;
|
|
7479
|
+
percentile: number;
|
|
7480
|
+
counts: Record<string, number>;
|
|
7481
|
+
} | null;
|
|
7472
7482
|
}
|
|
7473
7483
|
/**
|
|
7474
7484
|
* Filter type for bottleneck clips - expanded for new video types
|
|
@@ -7891,6 +7901,12 @@ interface FileManagerFiltersProps {
|
|
|
7891
7901
|
activeFilter: string;
|
|
7892
7902
|
currentVideoId?: string;
|
|
7893
7903
|
counts?: Record<string, number>;
|
|
7904
|
+
isReady?: boolean;
|
|
7905
|
+
prefetchedPercentileCounts?: {
|
|
7906
|
+
key: string;
|
|
7907
|
+
percentile: number;
|
|
7908
|
+
counts: Record<string, number>;
|
|
7909
|
+
};
|
|
7894
7910
|
onFilterChange: (filterId: string) => void;
|
|
7895
7911
|
onVideoSelect: (videoIndex: number) => void;
|
|
7896
7912
|
onClipSelect?: (categoryId: string, clipId: string, position?: number) => void;
|
|
@@ -8515,7 +8531,7 @@ declare const InteractiveOnboardingTour: React__default.FC<InteractiveOnboarding
|
|
|
8515
8531
|
*/
|
|
8516
8532
|
declare const OnboardingDemo: React__default.FC;
|
|
8517
8533
|
|
|
8518
|
-
type UserRoleLevel = 'optifye' | 'owner' | 'plant_head' | 'supervisor';
|
|
8534
|
+
type UserRoleLevel = 'optifye' | 'owner' | 'it' | 'plant_head' | 'supervisor';
|
|
8519
8535
|
interface RoleBadgeProps {
|
|
8520
8536
|
role: UserRoleLevel;
|
|
8521
8537
|
showIcon?: boolean;
|
|
@@ -8577,7 +8593,7 @@ declare const FactoryAssignmentDropdown: React__default.FC<FactoryAssignmentDrop
|
|
|
8577
8593
|
interface UserManagementTableProps {
|
|
8578
8594
|
users: CompanyUserWithDetails[];
|
|
8579
8595
|
isLoading?: boolean;
|
|
8580
|
-
onRoleChange?: (userId: string, newRole: 'owner' | 'plant_head' | 'supervisor' | 'optifye') => Promise<void>;
|
|
8596
|
+
onRoleChange?: (userId: string, newRole: 'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye') => Promise<void>;
|
|
8581
8597
|
onRemoveUser?: (userId: string) => Promise<void>;
|
|
8582
8598
|
onLineAssignmentUpdate?: (userId: string, lineIds: string[]) => Promise<void>;
|
|
8583
8599
|
onFactoryAssignmentUpdate?: (userId: string, factoryIds: string[]) => Promise<void>;
|
|
@@ -8605,8 +8621,8 @@ declare const InvitationsTable: React__default.FC<InvitationsTableProps>;
|
|
|
8605
8621
|
|
|
8606
8622
|
interface ChangeRoleDialogProps {
|
|
8607
8623
|
user: CompanyUserWithDetails;
|
|
8608
|
-
availableRoles: Array<'owner' | 'plant_head' | 'supervisor' | 'optifye'>;
|
|
8609
|
-
onConfirm: (userId: string, newRole: 'owner' | 'plant_head' | 'supervisor' | 'optifye') => Promise<void>;
|
|
8624
|
+
availableRoles: Array<'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye'>;
|
|
8625
|
+
onConfirm: (userId: string, newRole: 'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye') => Promise<void>;
|
|
8610
8626
|
onClose: () => void;
|
|
8611
8627
|
}
|
|
8612
8628
|
declare const ChangeRoleDialog: React__default.FC<ChangeRoleDialogProps>;
|
package/dist/index.d.ts
CHANGED
|
@@ -634,7 +634,7 @@ interface AuthUser {
|
|
|
634
634
|
id: string;
|
|
635
635
|
email?: string;
|
|
636
636
|
role?: string;
|
|
637
|
-
role_level?: 'owner' | 'plant_head' | 'supervisor' | 'optifye';
|
|
637
|
+
role_level?: 'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye';
|
|
638
638
|
company_id?: string;
|
|
639
639
|
first_login_completed?: boolean;
|
|
640
640
|
properties?: {
|
|
@@ -4311,7 +4311,7 @@ interface UseSessionKeepAliveOptions {
|
|
|
4311
4311
|
*/
|
|
4312
4312
|
declare const useSessionKeepAlive: (options?: UseSessionKeepAliveOptions) => void;
|
|
4313
4313
|
|
|
4314
|
-
type UserRole = 'owner' | 'plant_head' | 'supervisor' | 'optifye';
|
|
4314
|
+
type UserRole = 'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye';
|
|
4315
4315
|
interface AccessControlReturn {
|
|
4316
4316
|
userRole: UserRole | null;
|
|
4317
4317
|
hasAccess: (path: string) => boolean;
|
|
@@ -4336,7 +4336,7 @@ interface CompanyUserWithDetails {
|
|
|
4336
4336
|
email: string;
|
|
4337
4337
|
first_name?: string;
|
|
4338
4338
|
last_name?: string;
|
|
4339
|
-
role_level: 'owner' | 'plant_head' | 'supervisor' | 'optifye';
|
|
4339
|
+
role_level: 'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye';
|
|
4340
4340
|
first_login_completed: boolean;
|
|
4341
4341
|
created_at: string;
|
|
4342
4342
|
properties: {
|
|
@@ -4356,7 +4356,7 @@ interface CompanyUserWithDetails {
|
|
|
4356
4356
|
*/
|
|
4357
4357
|
interface UpdateUserRoleInput {
|
|
4358
4358
|
user_id: string;
|
|
4359
|
-
new_role: 'owner' | 'plant_head' | 'supervisor' | 'optifye';
|
|
4359
|
+
new_role: 'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye';
|
|
4360
4360
|
updated_by: string;
|
|
4361
4361
|
}
|
|
4362
4362
|
/**
|
|
@@ -4404,14 +4404,14 @@ declare class UserManagementService {
|
|
|
4404
4404
|
* @param roleFilter - Optional filter by role
|
|
4405
4405
|
* @returns Promise<CompanyUserWithDetails[]>
|
|
4406
4406
|
*/
|
|
4407
|
-
getCompanyUsers(companyId: string, roleFilter?: 'owner' | 'plant_head' | 'supervisor'): Promise<CompanyUserWithDetails[]>;
|
|
4407
|
+
getCompanyUsers(companyId: string, roleFilter?: 'owner' | 'it' | 'plant_head' | 'supervisor'): Promise<CompanyUserWithDetails[]>;
|
|
4408
4408
|
/**
|
|
4409
4409
|
* Get ALL users across all companies (optifye role only)
|
|
4410
4410
|
* This method bypasses company filtering and returns all users in the system
|
|
4411
4411
|
* @param roleFilter - Optional filter by role
|
|
4412
4412
|
* @returns Promise<CompanyUserWithDetails[]>
|
|
4413
4413
|
*/
|
|
4414
|
-
getAllUsers(roleFilter?: 'owner' | 'plant_head' | 'supervisor' | 'optifye'): Promise<CompanyUserWithDetails[]>;
|
|
4414
|
+
getAllUsers(roleFilter?: 'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye'): Promise<CompanyUserWithDetails[]>;
|
|
4415
4415
|
/**
|
|
4416
4416
|
* Get users for a specific factory (plant head view)
|
|
4417
4417
|
* Returns only supervisors assigned to lines in this factory
|
|
@@ -4442,6 +4442,7 @@ declare class UserManagementService {
|
|
|
4442
4442
|
getUserStats(companyId: string): Promise<{
|
|
4443
4443
|
total: number;
|
|
4444
4444
|
owners: number;
|
|
4445
|
+
it: number;
|
|
4445
4446
|
plant_heads: number;
|
|
4446
4447
|
supervisors: number;
|
|
4447
4448
|
}>;
|
|
@@ -4452,6 +4453,7 @@ declare class UserManagementService {
|
|
|
4452
4453
|
getAllUserStats(): Promise<{
|
|
4453
4454
|
total: number;
|
|
4454
4455
|
owners: number;
|
|
4456
|
+
it: number;
|
|
4455
4457
|
plant_heads: number;
|
|
4456
4458
|
supervisors: number;
|
|
4457
4459
|
optifye: number;
|
|
@@ -4484,7 +4486,7 @@ interface TeamManagementPermissions {
|
|
|
4484
4486
|
canAssignFactories: (targetUser: CompanyUserWithDetails) => boolean;
|
|
4485
4487
|
canChangeRole: (targetUser: CompanyUserWithDetails) => boolean;
|
|
4486
4488
|
canRemoveUser: (targetUser: CompanyUserWithDetails) => boolean;
|
|
4487
|
-
availableRolesToAssign: () => Array<'owner' | 'plant_head' | 'supervisor' | 'optifye'>;
|
|
4489
|
+
availableRolesToAssign: () => Array<'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye'>;
|
|
4488
4490
|
canInviteRole: (role: string) => boolean;
|
|
4489
4491
|
getAssignmentColumnName: (targetUser: CompanyUserWithDetails) => string;
|
|
4490
4492
|
showAssignmentColumn: () => boolean;
|
|
@@ -7469,6 +7471,14 @@ interface BottlenecksContentProps {
|
|
|
7469
7471
|
* When provided, only shows clips associated with this ticket
|
|
7470
7472
|
*/
|
|
7471
7473
|
ticketId?: string;
|
|
7474
|
+
/**
|
|
7475
|
+
* Optional prefetched percentile counts from workspace detail view
|
|
7476
|
+
*/
|
|
7477
|
+
prefetchedPercentileCounts?: {
|
|
7478
|
+
key: string;
|
|
7479
|
+
percentile: number;
|
|
7480
|
+
counts: Record<string, number>;
|
|
7481
|
+
} | null;
|
|
7472
7482
|
}
|
|
7473
7483
|
/**
|
|
7474
7484
|
* Filter type for bottleneck clips - expanded for new video types
|
|
@@ -7891,6 +7901,12 @@ interface FileManagerFiltersProps {
|
|
|
7891
7901
|
activeFilter: string;
|
|
7892
7902
|
currentVideoId?: string;
|
|
7893
7903
|
counts?: Record<string, number>;
|
|
7904
|
+
isReady?: boolean;
|
|
7905
|
+
prefetchedPercentileCounts?: {
|
|
7906
|
+
key: string;
|
|
7907
|
+
percentile: number;
|
|
7908
|
+
counts: Record<string, number>;
|
|
7909
|
+
};
|
|
7894
7910
|
onFilterChange: (filterId: string) => void;
|
|
7895
7911
|
onVideoSelect: (videoIndex: number) => void;
|
|
7896
7912
|
onClipSelect?: (categoryId: string, clipId: string, position?: number) => void;
|
|
@@ -8515,7 +8531,7 @@ declare const InteractiveOnboardingTour: React__default.FC<InteractiveOnboarding
|
|
|
8515
8531
|
*/
|
|
8516
8532
|
declare const OnboardingDemo: React__default.FC;
|
|
8517
8533
|
|
|
8518
|
-
type UserRoleLevel = 'optifye' | 'owner' | 'plant_head' | 'supervisor';
|
|
8534
|
+
type UserRoleLevel = 'optifye' | 'owner' | 'it' | 'plant_head' | 'supervisor';
|
|
8519
8535
|
interface RoleBadgeProps {
|
|
8520
8536
|
role: UserRoleLevel;
|
|
8521
8537
|
showIcon?: boolean;
|
|
@@ -8577,7 +8593,7 @@ declare const FactoryAssignmentDropdown: React__default.FC<FactoryAssignmentDrop
|
|
|
8577
8593
|
interface UserManagementTableProps {
|
|
8578
8594
|
users: CompanyUserWithDetails[];
|
|
8579
8595
|
isLoading?: boolean;
|
|
8580
|
-
onRoleChange?: (userId: string, newRole: 'owner' | 'plant_head' | 'supervisor' | 'optifye') => Promise<void>;
|
|
8596
|
+
onRoleChange?: (userId: string, newRole: 'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye') => Promise<void>;
|
|
8581
8597
|
onRemoveUser?: (userId: string) => Promise<void>;
|
|
8582
8598
|
onLineAssignmentUpdate?: (userId: string, lineIds: string[]) => Promise<void>;
|
|
8583
8599
|
onFactoryAssignmentUpdate?: (userId: string, factoryIds: string[]) => Promise<void>;
|
|
@@ -8605,8 +8621,8 @@ declare const InvitationsTable: React__default.FC<InvitationsTableProps>;
|
|
|
8605
8621
|
|
|
8606
8622
|
interface ChangeRoleDialogProps {
|
|
8607
8623
|
user: CompanyUserWithDetails;
|
|
8608
|
-
availableRoles: Array<'owner' | 'plant_head' | 'supervisor' | 'optifye'>;
|
|
8609
|
-
onConfirm: (userId: string, newRole: 'owner' | 'plant_head' | 'supervisor' | 'optifye') => Promise<void>;
|
|
8624
|
+
availableRoles: Array<'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye'>;
|
|
8625
|
+
onConfirm: (userId: string, newRole: 'owner' | 'it' | 'plant_head' | 'supervisor' | 'optifye') => Promise<void>;
|
|
8610
8626
|
onClose: () => void;
|
|
8611
8627
|
}
|
|
8612
8628
|
declare const ChangeRoleDialog: React__default.FC<ChangeRoleDialogProps>;
|