@abpjs/identity-pro 2.1.1 → 2.2.0
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.d.mts +25 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +66 -0
- package/dist/index.mjs +66 -0
- package/package.json +5 -5
package/dist/index.d.mts
CHANGED
|
@@ -213,6 +213,13 @@ declare class IdentityService {
|
|
|
213
213
|
* @returns Promise resolving when complete
|
|
214
214
|
*/
|
|
215
215
|
deleteUser(id: string): Promise<void>;
|
|
216
|
+
/**
|
|
217
|
+
* Unlock a locked out user
|
|
218
|
+
* @since 2.2.0
|
|
219
|
+
* @param id - The user ID to unlock
|
|
220
|
+
* @returns Promise resolving when complete
|
|
221
|
+
*/
|
|
222
|
+
unlockUser(id: string): Promise<void>;
|
|
216
223
|
/**
|
|
217
224
|
* Create a new user
|
|
218
225
|
* @param body - The user data to create
|
|
@@ -498,6 +505,10 @@ interface UseRolesReturn {
|
|
|
498
505
|
sortKey: string;
|
|
499
506
|
/** Current sort order @since 1.0.0 */
|
|
500
507
|
sortOrder: SortOrder;
|
|
508
|
+
/** Whether permissions modal is visible @since 2.2.0 */
|
|
509
|
+
visiblePermissions: boolean;
|
|
510
|
+
/** Provider key for permissions modal @since 2.2.0 */
|
|
511
|
+
permissionsProviderKey: string;
|
|
501
512
|
/** Fetch all roles with optional pagination/filtering */
|
|
502
513
|
fetchRoles: (params?: ABP.PageQueryParams) => Promise<RoleOperationResult>;
|
|
503
514
|
/** Get a role by ID and set it as selected */
|
|
@@ -514,6 +525,10 @@ interface UseRolesReturn {
|
|
|
514
525
|
setSortKey: (key: string) => void;
|
|
515
526
|
/** Set sort order @since 1.0.0 */
|
|
516
527
|
setSortOrder: (order: SortOrder) => void;
|
|
528
|
+
/** Handle permissions modal visibility change @since 2.2.0 */
|
|
529
|
+
onVisiblePermissionsChange: (value: boolean) => void;
|
|
530
|
+
/** Open permissions modal for a role @since 2.2.0 */
|
|
531
|
+
openPermissionsModal: (providerKey: string) => void;
|
|
517
532
|
/** Reset state */
|
|
518
533
|
reset: () => void;
|
|
519
534
|
}
|
|
@@ -586,6 +601,10 @@ interface UseUsersReturn {
|
|
|
586
601
|
sortKey: string;
|
|
587
602
|
/** Current sort order @since 1.0.0 */
|
|
588
603
|
sortOrder: SortOrder;
|
|
604
|
+
/** Whether permissions modal is visible @since 2.2.0 */
|
|
605
|
+
visiblePermissions: boolean;
|
|
606
|
+
/** Provider key for permissions modal @since 2.2.0 */
|
|
607
|
+
permissionsProviderKey: string;
|
|
589
608
|
/** Fetch users with pagination */
|
|
590
609
|
fetchUsers: (params?: ABP.PageQueryParams) => Promise<UserOperationResult>;
|
|
591
610
|
/** Get a user by ID and set it as selected */
|
|
@@ -598,6 +617,8 @@ interface UseUsersReturn {
|
|
|
598
617
|
updateUser: (id: string, user: Identity.UserSaveRequest) => Promise<UserOperationResult>;
|
|
599
618
|
/** Delete a user */
|
|
600
619
|
deleteUser: (id: string) => Promise<UserOperationResult>;
|
|
620
|
+
/** Unlock a locked out user @since 2.2.0 */
|
|
621
|
+
unlockUser: (id: string) => Promise<UserOperationResult>;
|
|
601
622
|
/** Set the selected user */
|
|
602
623
|
setSelectedUser: (user: Identity.UserItem | null) => void;
|
|
603
624
|
/** Set page query parameters */
|
|
@@ -606,6 +627,10 @@ interface UseUsersReturn {
|
|
|
606
627
|
setSortKey: (key: string) => void;
|
|
607
628
|
/** Set sort order @since 1.0.0 */
|
|
608
629
|
setSortOrder: (order: SortOrder) => void;
|
|
630
|
+
/** Handle permissions modal visibility change @since 2.2.0 */
|
|
631
|
+
onVisiblePermissionsChange: (value: boolean) => void;
|
|
632
|
+
/** Open permissions modal for a user @since 2.2.0 */
|
|
633
|
+
openPermissionsModal: (providerKey: string) => void;
|
|
609
634
|
/** Reset state */
|
|
610
635
|
reset: () => void;
|
|
611
636
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -213,6 +213,13 @@ declare class IdentityService {
|
|
|
213
213
|
* @returns Promise resolving when complete
|
|
214
214
|
*/
|
|
215
215
|
deleteUser(id: string): Promise<void>;
|
|
216
|
+
/**
|
|
217
|
+
* Unlock a locked out user
|
|
218
|
+
* @since 2.2.0
|
|
219
|
+
* @param id - The user ID to unlock
|
|
220
|
+
* @returns Promise resolving when complete
|
|
221
|
+
*/
|
|
222
|
+
unlockUser(id: string): Promise<void>;
|
|
216
223
|
/**
|
|
217
224
|
* Create a new user
|
|
218
225
|
* @param body - The user data to create
|
|
@@ -498,6 +505,10 @@ interface UseRolesReturn {
|
|
|
498
505
|
sortKey: string;
|
|
499
506
|
/** Current sort order @since 1.0.0 */
|
|
500
507
|
sortOrder: SortOrder;
|
|
508
|
+
/** Whether permissions modal is visible @since 2.2.0 */
|
|
509
|
+
visiblePermissions: boolean;
|
|
510
|
+
/** Provider key for permissions modal @since 2.2.0 */
|
|
511
|
+
permissionsProviderKey: string;
|
|
501
512
|
/** Fetch all roles with optional pagination/filtering */
|
|
502
513
|
fetchRoles: (params?: ABP.PageQueryParams) => Promise<RoleOperationResult>;
|
|
503
514
|
/** Get a role by ID and set it as selected */
|
|
@@ -514,6 +525,10 @@ interface UseRolesReturn {
|
|
|
514
525
|
setSortKey: (key: string) => void;
|
|
515
526
|
/** Set sort order @since 1.0.0 */
|
|
516
527
|
setSortOrder: (order: SortOrder) => void;
|
|
528
|
+
/** Handle permissions modal visibility change @since 2.2.0 */
|
|
529
|
+
onVisiblePermissionsChange: (value: boolean) => void;
|
|
530
|
+
/** Open permissions modal for a role @since 2.2.0 */
|
|
531
|
+
openPermissionsModal: (providerKey: string) => void;
|
|
517
532
|
/** Reset state */
|
|
518
533
|
reset: () => void;
|
|
519
534
|
}
|
|
@@ -586,6 +601,10 @@ interface UseUsersReturn {
|
|
|
586
601
|
sortKey: string;
|
|
587
602
|
/** Current sort order @since 1.0.0 */
|
|
588
603
|
sortOrder: SortOrder;
|
|
604
|
+
/** Whether permissions modal is visible @since 2.2.0 */
|
|
605
|
+
visiblePermissions: boolean;
|
|
606
|
+
/** Provider key for permissions modal @since 2.2.0 */
|
|
607
|
+
permissionsProviderKey: string;
|
|
589
608
|
/** Fetch users with pagination */
|
|
590
609
|
fetchUsers: (params?: ABP.PageQueryParams) => Promise<UserOperationResult>;
|
|
591
610
|
/** Get a user by ID and set it as selected */
|
|
@@ -598,6 +617,8 @@ interface UseUsersReturn {
|
|
|
598
617
|
updateUser: (id: string, user: Identity.UserSaveRequest) => Promise<UserOperationResult>;
|
|
599
618
|
/** Delete a user */
|
|
600
619
|
deleteUser: (id: string) => Promise<UserOperationResult>;
|
|
620
|
+
/** Unlock a locked out user @since 2.2.0 */
|
|
621
|
+
unlockUser: (id: string) => Promise<UserOperationResult>;
|
|
601
622
|
/** Set the selected user */
|
|
602
623
|
setSelectedUser: (user: Identity.UserItem | null) => void;
|
|
603
624
|
/** Set page query parameters */
|
|
@@ -606,6 +627,10 @@ interface UseUsersReturn {
|
|
|
606
627
|
setSortKey: (key: string) => void;
|
|
607
628
|
/** Set sort order @since 1.0.0 */
|
|
608
629
|
setSortOrder: (order: SortOrder) => void;
|
|
630
|
+
/** Handle permissions modal visibility change @since 2.2.0 */
|
|
631
|
+
onVisiblePermissionsChange: (value: boolean) => void;
|
|
632
|
+
/** Open permissions modal for a user @since 2.2.0 */
|
|
633
|
+
openPermissionsModal: (providerKey: string) => void;
|
|
609
634
|
/** Reset state */
|
|
610
635
|
reset: () => void;
|
|
611
636
|
}
|
package/dist/index.js
CHANGED
|
@@ -164,6 +164,18 @@ var IdentityService = class {
|
|
|
164
164
|
url: `/api/identity/users/${id}`
|
|
165
165
|
});
|
|
166
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Unlock a locked out user
|
|
169
|
+
* @since 2.2.0
|
|
170
|
+
* @param id - The user ID to unlock
|
|
171
|
+
* @returns Promise resolving when complete
|
|
172
|
+
*/
|
|
173
|
+
unlockUser(id) {
|
|
174
|
+
return this.rest.request({
|
|
175
|
+
method: "PUT",
|
|
176
|
+
url: `/api/identity/users/${id}/unlock`
|
|
177
|
+
});
|
|
178
|
+
}
|
|
167
179
|
/**
|
|
168
180
|
* Create a new user
|
|
169
181
|
* @param body - The user data to create
|
|
@@ -560,6 +572,8 @@ function useRoles() {
|
|
|
560
572
|
const [error, setError] = (0, import_react.useState)(null);
|
|
561
573
|
const [sortKey, setSortKey] = (0, import_react.useState)("name");
|
|
562
574
|
const [sortOrder, setSortOrder] = (0, import_react.useState)("");
|
|
575
|
+
const [visiblePermissions, setVisiblePermissions] = (0, import_react.useState)(false);
|
|
576
|
+
const [permissionsProviderKey, setPermissionsProviderKey] = (0, import_react.useState)("");
|
|
563
577
|
const fetchRoles = (0, import_react.useCallback)(async (params) => {
|
|
564
578
|
setIsLoading(true);
|
|
565
579
|
setError(null);
|
|
@@ -645,12 +659,24 @@ function useRoles() {
|
|
|
645
659
|
},
|
|
646
660
|
[service, fetchRoles]
|
|
647
661
|
);
|
|
662
|
+
const onVisiblePermissionsChange = (0, import_react.useCallback)((value) => {
|
|
663
|
+
setVisiblePermissions(value);
|
|
664
|
+
if (!value) {
|
|
665
|
+
setPermissionsProviderKey("");
|
|
666
|
+
}
|
|
667
|
+
}, []);
|
|
668
|
+
const openPermissionsModal = (0, import_react.useCallback)((providerKey) => {
|
|
669
|
+
setPermissionsProviderKey(providerKey);
|
|
670
|
+
setVisiblePermissions(true);
|
|
671
|
+
}, []);
|
|
648
672
|
const reset = (0, import_react.useCallback)(() => {
|
|
649
673
|
setRoles([]);
|
|
650
674
|
setTotalCount(0);
|
|
651
675
|
setSelectedRole(null);
|
|
652
676
|
setIsLoading(false);
|
|
653
677
|
setError(null);
|
|
678
|
+
setVisiblePermissions(false);
|
|
679
|
+
setPermissionsProviderKey("");
|
|
654
680
|
}, []);
|
|
655
681
|
return {
|
|
656
682
|
roles,
|
|
@@ -660,6 +686,8 @@ function useRoles() {
|
|
|
660
686
|
error,
|
|
661
687
|
sortKey,
|
|
662
688
|
sortOrder,
|
|
689
|
+
visiblePermissions,
|
|
690
|
+
permissionsProviderKey,
|
|
663
691
|
fetchRoles,
|
|
664
692
|
getRoleById,
|
|
665
693
|
createRole,
|
|
@@ -668,6 +696,8 @@ function useRoles() {
|
|
|
668
696
|
setSelectedRole,
|
|
669
697
|
setSortKey,
|
|
670
698
|
setSortOrder,
|
|
699
|
+
onVisiblePermissionsChange,
|
|
700
|
+
openPermissionsModal,
|
|
671
701
|
reset
|
|
672
702
|
};
|
|
673
703
|
}
|
|
@@ -692,6 +722,8 @@ function useUsers() {
|
|
|
692
722
|
const [pageQuery, setPageQuery] = (0, import_react2.useState)(DEFAULT_PAGE_QUERY);
|
|
693
723
|
const [sortKey, setSortKey] = (0, import_react2.useState)("userName");
|
|
694
724
|
const [sortOrder, setSortOrder] = (0, import_react2.useState)("");
|
|
725
|
+
const [visiblePermissions, setVisiblePermissions] = (0, import_react2.useState)(false);
|
|
726
|
+
const [permissionsProviderKey, setPermissionsProviderKey] = (0, import_react2.useState)("");
|
|
695
727
|
const fetchUsers = (0, import_react2.useCallback)(
|
|
696
728
|
async (params) => {
|
|
697
729
|
setIsLoading(true);
|
|
@@ -799,6 +831,33 @@ function useUsers() {
|
|
|
799
831
|
},
|
|
800
832
|
[service, fetchUsers]
|
|
801
833
|
);
|
|
834
|
+
const unlockUser = (0, import_react2.useCallback)(
|
|
835
|
+
async (id) => {
|
|
836
|
+
setIsLoading(true);
|
|
837
|
+
setError(null);
|
|
838
|
+
try {
|
|
839
|
+
await service.unlockUser(id);
|
|
840
|
+
await fetchUsers();
|
|
841
|
+
return { success: true };
|
|
842
|
+
} catch (err) {
|
|
843
|
+
const errorMessage = err instanceof Error ? err.message : "Failed to unlock user";
|
|
844
|
+
setError(errorMessage);
|
|
845
|
+
setIsLoading(false);
|
|
846
|
+
return { success: false, error: errorMessage };
|
|
847
|
+
}
|
|
848
|
+
},
|
|
849
|
+
[service, fetchUsers]
|
|
850
|
+
);
|
|
851
|
+
const onVisiblePermissionsChange = (0, import_react2.useCallback)((value) => {
|
|
852
|
+
setVisiblePermissions(value);
|
|
853
|
+
if (!value) {
|
|
854
|
+
setPermissionsProviderKey("");
|
|
855
|
+
}
|
|
856
|
+
}, []);
|
|
857
|
+
const openPermissionsModal = (0, import_react2.useCallback)((providerKey) => {
|
|
858
|
+
setPermissionsProviderKey(providerKey);
|
|
859
|
+
setVisiblePermissions(true);
|
|
860
|
+
}, []);
|
|
802
861
|
const reset = (0, import_react2.useCallback)(() => {
|
|
803
862
|
setUsers([]);
|
|
804
863
|
setTotalCount(0);
|
|
@@ -807,6 +866,8 @@ function useUsers() {
|
|
|
807
866
|
setIsLoading(false);
|
|
808
867
|
setError(null);
|
|
809
868
|
setPageQuery(DEFAULT_PAGE_QUERY);
|
|
869
|
+
setVisiblePermissions(false);
|
|
870
|
+
setPermissionsProviderKey("");
|
|
810
871
|
}, []);
|
|
811
872
|
return {
|
|
812
873
|
users,
|
|
@@ -818,16 +879,21 @@ function useUsers() {
|
|
|
818
879
|
pageQuery,
|
|
819
880
|
sortKey,
|
|
820
881
|
sortOrder,
|
|
882
|
+
visiblePermissions,
|
|
883
|
+
permissionsProviderKey,
|
|
821
884
|
fetchUsers,
|
|
822
885
|
getUserById,
|
|
823
886
|
getUserRoles,
|
|
824
887
|
createUser,
|
|
825
888
|
updateUser,
|
|
826
889
|
deleteUser,
|
|
890
|
+
unlockUser,
|
|
827
891
|
setSelectedUser,
|
|
828
892
|
setPageQuery,
|
|
829
893
|
setSortKey,
|
|
830
894
|
setSortOrder,
|
|
895
|
+
onVisiblePermissionsChange,
|
|
896
|
+
openPermissionsModal,
|
|
831
897
|
reset
|
|
832
898
|
};
|
|
833
899
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -125,6 +125,18 @@ var IdentityService = class {
|
|
|
125
125
|
url: `/api/identity/users/${id}`
|
|
126
126
|
});
|
|
127
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Unlock a locked out user
|
|
130
|
+
* @since 2.2.0
|
|
131
|
+
* @param id - The user ID to unlock
|
|
132
|
+
* @returns Promise resolving when complete
|
|
133
|
+
*/
|
|
134
|
+
unlockUser(id) {
|
|
135
|
+
return this.rest.request({
|
|
136
|
+
method: "PUT",
|
|
137
|
+
url: `/api/identity/users/${id}/unlock`
|
|
138
|
+
});
|
|
139
|
+
}
|
|
128
140
|
/**
|
|
129
141
|
* Create a new user
|
|
130
142
|
* @param body - The user data to create
|
|
@@ -521,6 +533,8 @@ function useRoles() {
|
|
|
521
533
|
const [error, setError] = useState(null);
|
|
522
534
|
const [sortKey, setSortKey] = useState("name");
|
|
523
535
|
const [sortOrder, setSortOrder] = useState("");
|
|
536
|
+
const [visiblePermissions, setVisiblePermissions] = useState(false);
|
|
537
|
+
const [permissionsProviderKey, setPermissionsProviderKey] = useState("");
|
|
524
538
|
const fetchRoles = useCallback(async (params) => {
|
|
525
539
|
setIsLoading(true);
|
|
526
540
|
setError(null);
|
|
@@ -606,12 +620,24 @@ function useRoles() {
|
|
|
606
620
|
},
|
|
607
621
|
[service, fetchRoles]
|
|
608
622
|
);
|
|
623
|
+
const onVisiblePermissionsChange = useCallback((value) => {
|
|
624
|
+
setVisiblePermissions(value);
|
|
625
|
+
if (!value) {
|
|
626
|
+
setPermissionsProviderKey("");
|
|
627
|
+
}
|
|
628
|
+
}, []);
|
|
629
|
+
const openPermissionsModal = useCallback((providerKey) => {
|
|
630
|
+
setPermissionsProviderKey(providerKey);
|
|
631
|
+
setVisiblePermissions(true);
|
|
632
|
+
}, []);
|
|
609
633
|
const reset = useCallback(() => {
|
|
610
634
|
setRoles([]);
|
|
611
635
|
setTotalCount(0);
|
|
612
636
|
setSelectedRole(null);
|
|
613
637
|
setIsLoading(false);
|
|
614
638
|
setError(null);
|
|
639
|
+
setVisiblePermissions(false);
|
|
640
|
+
setPermissionsProviderKey("");
|
|
615
641
|
}, []);
|
|
616
642
|
return {
|
|
617
643
|
roles,
|
|
@@ -621,6 +647,8 @@ function useRoles() {
|
|
|
621
647
|
error,
|
|
622
648
|
sortKey,
|
|
623
649
|
sortOrder,
|
|
650
|
+
visiblePermissions,
|
|
651
|
+
permissionsProviderKey,
|
|
624
652
|
fetchRoles,
|
|
625
653
|
getRoleById,
|
|
626
654
|
createRole,
|
|
@@ -629,6 +657,8 @@ function useRoles() {
|
|
|
629
657
|
setSelectedRole,
|
|
630
658
|
setSortKey,
|
|
631
659
|
setSortOrder,
|
|
660
|
+
onVisiblePermissionsChange,
|
|
661
|
+
openPermissionsModal,
|
|
632
662
|
reset
|
|
633
663
|
};
|
|
634
664
|
}
|
|
@@ -653,6 +683,8 @@ function useUsers() {
|
|
|
653
683
|
const [pageQuery, setPageQuery] = useState2(DEFAULT_PAGE_QUERY);
|
|
654
684
|
const [sortKey, setSortKey] = useState2("userName");
|
|
655
685
|
const [sortOrder, setSortOrder] = useState2("");
|
|
686
|
+
const [visiblePermissions, setVisiblePermissions] = useState2(false);
|
|
687
|
+
const [permissionsProviderKey, setPermissionsProviderKey] = useState2("");
|
|
656
688
|
const fetchUsers = useCallback2(
|
|
657
689
|
async (params) => {
|
|
658
690
|
setIsLoading(true);
|
|
@@ -760,6 +792,33 @@ function useUsers() {
|
|
|
760
792
|
},
|
|
761
793
|
[service, fetchUsers]
|
|
762
794
|
);
|
|
795
|
+
const unlockUser = useCallback2(
|
|
796
|
+
async (id) => {
|
|
797
|
+
setIsLoading(true);
|
|
798
|
+
setError(null);
|
|
799
|
+
try {
|
|
800
|
+
await service.unlockUser(id);
|
|
801
|
+
await fetchUsers();
|
|
802
|
+
return { success: true };
|
|
803
|
+
} catch (err) {
|
|
804
|
+
const errorMessage = err instanceof Error ? err.message : "Failed to unlock user";
|
|
805
|
+
setError(errorMessage);
|
|
806
|
+
setIsLoading(false);
|
|
807
|
+
return { success: false, error: errorMessage };
|
|
808
|
+
}
|
|
809
|
+
},
|
|
810
|
+
[service, fetchUsers]
|
|
811
|
+
);
|
|
812
|
+
const onVisiblePermissionsChange = useCallback2((value) => {
|
|
813
|
+
setVisiblePermissions(value);
|
|
814
|
+
if (!value) {
|
|
815
|
+
setPermissionsProviderKey("");
|
|
816
|
+
}
|
|
817
|
+
}, []);
|
|
818
|
+
const openPermissionsModal = useCallback2((providerKey) => {
|
|
819
|
+
setPermissionsProviderKey(providerKey);
|
|
820
|
+
setVisiblePermissions(true);
|
|
821
|
+
}, []);
|
|
763
822
|
const reset = useCallback2(() => {
|
|
764
823
|
setUsers([]);
|
|
765
824
|
setTotalCount(0);
|
|
@@ -768,6 +827,8 @@ function useUsers() {
|
|
|
768
827
|
setIsLoading(false);
|
|
769
828
|
setError(null);
|
|
770
829
|
setPageQuery(DEFAULT_PAGE_QUERY);
|
|
830
|
+
setVisiblePermissions(false);
|
|
831
|
+
setPermissionsProviderKey("");
|
|
771
832
|
}, []);
|
|
772
833
|
return {
|
|
773
834
|
users,
|
|
@@ -779,16 +840,21 @@ function useUsers() {
|
|
|
779
840
|
pageQuery,
|
|
780
841
|
sortKey,
|
|
781
842
|
sortOrder,
|
|
843
|
+
visiblePermissions,
|
|
844
|
+
permissionsProviderKey,
|
|
782
845
|
fetchUsers,
|
|
783
846
|
getUserById,
|
|
784
847
|
getUserRoles,
|
|
785
848
|
createUser,
|
|
786
849
|
updateUser,
|
|
787
850
|
deleteUser,
|
|
851
|
+
unlockUser,
|
|
788
852
|
setSelectedUser,
|
|
789
853
|
setPageQuery,
|
|
790
854
|
setSortKey,
|
|
791
855
|
setSortOrder,
|
|
856
|
+
onVisiblePermissionsChange,
|
|
857
|
+
openPermissionsModal,
|
|
792
858
|
reset
|
|
793
859
|
};
|
|
794
860
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abpjs/identity-pro",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "ABP Framework identity pro components for React - translated from @volo/abp.ng.identity",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
"@chakra-ui/react": "^3.2.0",
|
|
28
28
|
"@emotion/react": "^11.11.0",
|
|
29
29
|
"react-icons": "^5.3.0",
|
|
30
|
-
"@abpjs/theme-shared": "2.
|
|
31
|
-
"@abpjs/core": "2.
|
|
32
|
-
"@abpjs/permission-management": "2.
|
|
30
|
+
"@abpjs/theme-shared": "2.2.0",
|
|
31
|
+
"@abpjs/core": "2.2.0",
|
|
32
|
+
"@abpjs/permission-management": "2.2.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@volo/abp.ng.identity": "2.
|
|
35
|
+
"@volo/abp.ng.identity": "2.2.0",
|
|
36
36
|
"@testing-library/jest-dom": "^6.9.1",
|
|
37
37
|
"@testing-library/react": "^14.0.0",
|
|
38
38
|
"@testing-library/user-event": "^14.6.1",
|