@jmruthers/pace-core 0.5.190 → 0.5.193
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/{AuthService-CbP_utw2.d.ts → AuthService-DjnJHDtC.d.ts} +1 -0
- package/dist/{DataTable-ON3IXISJ.js → DataTable-5FU7IESH.js} +7 -6
- package/dist/{DataTable-IVYljGJ6.d.ts → DataTable-Be6dH_dR.d.ts} +1 -1
- package/dist/{PublicPageProvider-C4uxosp6.d.ts → PublicPageProvider-C0Sm_e5k.d.ts} +4 -2
- package/dist/{UnifiedAuthProvider-BYA9qB-o.d.ts → UnifiedAuthProvider-185Ih4dj.d.ts} +2 -0
- package/dist/{UnifiedAuthProvider-X5NXANVI.js → UnifiedAuthProvider-RGJTDE2C.js} +3 -3
- package/dist/{api-I6UCQ5S6.js → api-N774RPUA.js} +2 -2
- package/dist/chunk-6C4YBBJM 5.js +628 -0
- package/dist/chunk-7D4SUZUM.js 2.map +1 -0
- package/dist/{chunk-73HSNNOQ.js → chunk-7EQTDTTJ.js} +47 -74
- package/dist/chunk-7EQTDTTJ.js 2.map +1 -0
- package/dist/chunk-7EQTDTTJ.js.map +1 -0
- package/dist/{chunk-J2XXC7R5.js → chunk-7FLMSG37.js} +409 -244
- package/dist/chunk-7FLMSG37.js 2.map +1 -0
- package/dist/chunk-7FLMSG37.js.map +1 -0
- package/dist/{chunk-NIU6J6OX.js → chunk-BC4IJKSL.js} +23 -32
- package/dist/chunk-BC4IJKSL.js.map +1 -0
- package/dist/{chunk-SDMHPX3X.js → chunk-E3SPN4VZ 5.js } +198 -53
- package/dist/chunk-E3SPN4VZ.js +12917 -0
- package/dist/{chunk-SDMHPX3X.js.map → chunk-E3SPN4VZ.js.map} +1 -1
- package/dist/chunk-E66EQZE6 5.js +37 -0
- package/dist/chunk-E66EQZE6.js 2.map +1 -0
- package/dist/{chunk-DZWK57KZ.js → chunk-G37KK66H.js} +1 -1
- package/dist/{chunk-DZWK57KZ.js.map → chunk-G37KK66H.js.map} +1 -1
- package/dist/{chunk-STYK4OH2.js → chunk-HWIIPPNI.js} +44 -225
- package/dist/chunk-HWIIPPNI.js.map +1 -0
- package/dist/chunk-I7PSE6JW 5.js +191 -0
- package/dist/chunk-I7PSE6JW.js 2.map +1 -0
- package/dist/{chunk-Y4BUBBHD.js → chunk-IIELH4DL.js} +211 -136
- package/dist/chunk-IIELH4DL.js.map +1 -0
- package/dist/{chunk-RUYZKXOD.js → chunk-KNC55RTG.js} +17 -5
- package/dist/chunk-KNC55RTG.js 5.map +1 -0
- package/dist/chunk-KNC55RTG.js.map +1 -0
- package/dist/chunk-KQCRWDSA.js 5.map +1 -0
- package/dist/{chunk-4QYC5L4K.js → chunk-LFNCN2SP.js} +26 -30
- package/dist/chunk-LFNCN2SP.js 2.map +1 -0
- package/dist/chunk-LFNCN2SP.js.map +1 -0
- package/dist/chunk-LMC26NLJ 2.js +84 -0
- package/dist/{chunk-VVBAW5A5.js → chunk-NOAYCWCX 5.js } +118 -110
- package/dist/chunk-NOAYCWCX.js +4993 -0
- package/dist/chunk-NOAYCWCX.js.map +1 -0
- package/dist/chunk-QWWZ5CAQ.js 3.map +1 -0
- package/dist/chunk-QXHPKYJV 3.js +113 -0
- package/dist/chunk-R77UEZ4E 3.js +68 -0
- package/dist/chunk-VBXEHIUJ.js 6.map +1 -0
- package/dist/{chunk-HQVPB5MZ.js → chunk-XNXXZ43G.js} +77 -33
- package/dist/chunk-XNXXZ43G.js.map +1 -0
- package/dist/chunk-ZSAAAMVR 6.js +25 -0
- package/dist/components.d.ts +4 -4
- package/dist/components.js +8 -8
- package/dist/components.js 5.map +1 -0
- package/dist/{database.generated-DI89OQeI.d.ts → database.generated-CzIvgcPu.d.ts} +165 -201
- package/dist/hooks.d.ts +12 -12
- package/dist/hooks.js +9 -9
- package/dist/index.d.ts +11 -11
- package/dist/index.js +20 -27
- package/dist/index.js.map +1 -1
- package/dist/providers.d.ts +3 -3
- package/dist/providers.js +2 -2
- package/dist/rbac/index.d.ts +2 -20
- package/dist/rbac/index.js +7 -9
- package/dist/styles/index 2.js +12 -0
- package/dist/styles/index.js 5.map +1 -0
- package/dist/theming/runtime 5.js +19 -0
- package/dist/theming/runtime.js 5.map +1 -0
- package/dist/{types-Bwgl--Xo.d.ts → types-CEpcvwwF.d.ts} +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/{usePublicRouteParams-DxIDS4bC.d.ts → usePublicRouteParams-TZe0gy-4.d.ts} +1 -1
- package/dist/utils.d.ts +8 -8
- package/dist/utils.js +2 -2
- package/docs/api/classes/ColumnFactory.md +1 -1
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.md +1 -1
- package/docs/api/classes/Logger.md +1 -1
- package/docs/api/classes/MissingUserContextError.md +1 -1
- package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
- package/docs/api/classes/PermissionDeniedError.md +2 -2
- package/docs/api/classes/RBACAuditManager.md +2 -2
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +2 -2
- package/docs/api/classes/RBACError.md +1 -1
- package/docs/api/classes/RBACNotInitializedError.md +1 -1
- package/docs/api/classes/SecureSupabaseClient.md +10 -10
- package/docs/api/classes/StorageUtils.md +1 -1
- package/docs/api/enums/FileCategory.md +1 -1
- package/docs/api/enums/LogLevel.md +1 -1
- package/docs/api/enums/RBACErrorCode.md +1 -1
- package/docs/api/enums/RPCFunction.md +1 -1
- package/docs/api/interfaces/AddressFieldProps.md +1 -1
- package/docs/api/interfaces/AddressFieldRef.md +1 -1
- package/docs/api/interfaces/AggregateConfig.md +1 -1
- package/docs/api/interfaces/AutocompleteOptions.md +1 -1
- package/docs/api/interfaces/AvatarProps.md +1 -1
- package/docs/api/interfaces/BadgeProps.md +1 -1
- package/docs/api/interfaces/ButtonProps.md +1 -1
- package/docs/api/interfaces/CalendarProps.md +1 -1
- package/docs/api/interfaces/CardProps.md +1 -1
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/ComplianceResult.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +1 -1
- package/docs/api/interfaces/DataRecord.md +1 -1
- package/docs/api/interfaces/DataTableAction.md +1 -1
- package/docs/api/interfaces/DataTableColumn.md +1 -1
- package/docs/api/interfaces/DataTableProps.md +1 -1
- package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
- package/docs/api/interfaces/DatabaseComplianceResult.md +1 -1
- package/docs/api/interfaces/DatabaseIssue.md +1 -1
- package/docs/api/interfaces/EmptyStateConfig.md +1 -1
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/EventAppRoleData.md +1 -1
- package/docs/api/interfaces/ExportColumn.md +1 -1
- package/docs/api/interfaces/ExportOptions.md +1 -1
- package/docs/api/interfaces/FileDisplayProps.md +24 -11
- package/docs/api/interfaces/FileMetadata.md +1 -1
- package/docs/api/interfaces/FileReference.md +1 -1
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadOptions.md +1 -1
- package/docs/api/interfaces/FileUploadProps.md +1 -1
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/FormFieldProps.md +1 -1
- package/docs/api/interfaces/FormProps.md +1 -1
- package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
- package/docs/api/interfaces/InputProps.md +1 -1
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoggerConfig.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +2 -2
- package/docs/api/interfaces/NavigationContextType.md +1 -1
- package/docs/api/interfaces/NavigationGuardProps.md +1 -1
- package/docs/api/interfaces/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/NavigationProviderProps.md +1 -1
- package/docs/api/interfaces/Organisation.md +1 -1
- package/docs/api/interfaces/OrganisationContextType.md +1 -1
- package/docs/api/interfaces/OrganisationMembership.md +1 -1
- package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
- package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
- package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
- package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
- package/docs/api/interfaces/PageAccessRecord.md +1 -1
- package/docs/api/interfaces/PagePermissionContextType.md +1 -1
- package/docs/api/interfaces/PagePermissionGuardProps.md +2 -2
- package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/ParsedAddress.md +2 -2
- package/docs/api/interfaces/PermissionEnforcerProps.md +4 -4
- package/docs/api/interfaces/ProgressProps.md +1 -1
- package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
- package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
- package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
- package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
- package/docs/api/interfaces/QuickFix.md +1 -1
- package/docs/api/interfaces/RBACAccessValidateParams.md +1 -1
- package/docs/api/interfaces/RBACAccessValidateResult.md +1 -1
- package/docs/api/interfaces/RBACAuditLogParams.md +1 -1
- package/docs/api/interfaces/RBACAuditLogResult.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +2 -2
- package/docs/api/interfaces/RBACContext.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/RBACPageAccessCheckParams.md +1 -1
- package/docs/api/interfaces/RBACPerformanceMetrics.md +1 -1
- package/docs/api/interfaces/RBACPermissionCheckParams.md +1 -1
- package/docs/api/interfaces/RBACPermissionCheckResult.md +2 -2
- package/docs/api/interfaces/RBACPermissionsGetParams.md +1 -1
- package/docs/api/interfaces/RBACPermissionsGetResult.md +1 -1
- package/docs/api/interfaces/RBACResult.md +1 -1
- package/docs/api/interfaces/RBACRoleGrantParams.md +2 -2
- package/docs/api/interfaces/RBACRoleGrantResult.md +1 -1
- package/docs/api/interfaces/RBACRoleRevokeParams.md +2 -2
- package/docs/api/interfaces/RBACRoleRevokeResult.md +1 -1
- package/docs/api/interfaces/RBACRoleValidateParams.md +2 -2
- package/docs/api/interfaces/RBACRoleValidateResult.md +1 -1
- package/docs/api/interfaces/RBACRolesListParams.md +1 -1
- package/docs/api/interfaces/RBACRolesListResult.md +2 -2
- package/docs/api/interfaces/RBACSessionTrackParams.md +1 -1
- package/docs/api/interfaces/RBACSessionTrackResult.md +1 -1
- package/docs/api/interfaces/ResourcePermissions.md +1 -1
- package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RoleManagementResult.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +2 -2
- package/docs/api/interfaces/RouteConfig.md +2 -2
- package/docs/api/interfaces/RuntimeComplianceResult.md +1 -1
- package/docs/api/interfaces/SecureDataContextType.md +1 -1
- package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
- package/docs/api/interfaces/SessionRestorationLoaderProps.md +1 -1
- package/docs/api/interfaces/SetupIssue.md +1 -1
- package/docs/api/interfaces/StorageConfig.md +1 -1
- package/docs/api/interfaces/StorageFileInfo.md +1 -1
- package/docs/api/interfaces/StorageFileMetadata.md +1 -1
- package/docs/api/interfaces/StorageListOptions.md +1 -1
- package/docs/api/interfaces/StorageListResult.md +1 -1
- package/docs/api/interfaces/StorageUploadOptions.md +1 -1
- package/docs/api/interfaces/StorageUploadResult.md +1 -1
- package/docs/api/interfaces/StorageUrlOptions.md +1 -1
- package/docs/api/interfaces/StyleImport.md +1 -1
- package/docs/api/interfaces/SwitchProps.md +1 -1
- package/docs/api/interfaces/TabsContentProps.md +1 -1
- package/docs/api/interfaces/TabsListProps.md +1 -1
- package/docs/api/interfaces/TabsProps.md +1 -1
- package/docs/api/interfaces/TabsTriggerProps.md +1 -1
- package/docs/api/interfaces/TextareaProps.md +1 -1
- package/docs/api/interfaces/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +60 -38
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +13 -13
- package/docs/api/interfaces/UseFormDialogOptions.md +1 -1
- package/docs/api/interfaces/UseFormDialogReturn.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventLogoOptions.md +2 -2
- package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayOptions.md +2 -2
- package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeOptions.md +2 -2
- package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
- package/docs/api/interfaces/UseResourcePermissionsOptions.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +1 -1
- package/docs/api/interfaces/UserMenuProps.md +1 -1
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +202 -217
- package/docs/migration/README.md +18 -0
- package/docs/migration/database-changes-december-2025.md +768 -0
- package/docs/migration/person-scoped-profiles-migration-guide.md +472 -0
- package/docs/rbac/event-based-apps.md +124 -6
- package/package.json +1 -1
- package/scripts/check-pace-core-compliance.cjs +292 -57
- package/src/__tests__/public-recipe-view.test.ts +10 -10
- package/src/__tests__/rls-policies.test.ts +16 -14
- package/src/components/AddressField/README.md +6 -6
- package/src/components/DataTable/__tests__/DataTable.default-state.test.tsx +172 -45
- package/src/components/DataTable/__tests__/DataTable.grouping-aggregation.test.tsx +121 -28
- package/src/components/DataTable/__tests__/DataTableCore.test-setup.ts +9 -8
- package/src/components/DataTable/__tests__/DataTableCore.test.tsx +20 -52
- package/src/components/DataTable/__tests__/a11y.basic.test.tsx +170 -34
- package/src/components/DataTable/__tests__/keyboard.test.tsx +75 -12
- package/src/components/DataTable/__tests__/pagination.modes.test.tsx +75 -11
- package/src/components/DataTable/components/UnifiedTableBody.tsx +85 -14
- package/src/components/DataTable/hooks/useDataTablePermissions.ts +75 -10
- package/src/components/FileDisplay/FileDisplay.test.tsx +2 -1
- package/src/components/FileDisplay/FileDisplay.tsx +16 -4
- package/src/components/NavigationMenu/NavigationMenu.test.tsx +6 -4
- package/src/components/NavigationMenu/NavigationMenu.tsx +1 -10
- package/src/components/OrganisationSelector/OrganisationSelector.tsx +35 -16
- package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +25 -2
- package/src/components/PaceAppLayout/PaceAppLayout.tsx +97 -68
- package/src/components/PaceLoginPage/PaceLoginPage.tsx +0 -7
- package/src/components/ProtectedRoute/ProtectedRoute.test.tsx +5 -9
- package/src/components/ProtectedRoute/ProtectedRoute.tsx +0 -1
- package/src/components/PublicLayout/PublicPageProvider.tsx +0 -1
- package/src/components/Select/Select.test.tsx +4 -1
- package/src/components/Select/Select.tsx +60 -15
- package/src/hooks/__tests__/usePermissionCache.simple.test.ts +192 -0
- package/src/hooks/__tests__/usePermissionCache.unit.test.ts +741 -0
- package/src/hooks/__tests__/usePublicEvent.simple.test.ts +703 -0
- package/src/hooks/__tests__/usePublicEvent.unit.test.ts +581 -0
- package/src/hooks/__tests__/useSecureDataAccess.unit.test.tsx +23 -15
- package/src/hooks/public/usePublicEvent.ts +8 -8
- package/src/hooks/public/usePublicFileDisplay.ts +2 -2
- package/src/hooks/services/useAuthService.ts +21 -3
- package/src/hooks/services/useEventService.ts +21 -3
- package/src/hooks/services/useInactivityService.ts +21 -3
- package/src/hooks/services/useOrganisationService.ts +21 -3
- package/src/hooks/useFileDisplay.ts +18 -26
- package/src/hooks/useQueryCache.ts +6 -6
- package/src/hooks/useSecureDataAccess.test.ts +24 -17
- package/src/hooks/useSecureDataAccess.ts +18 -13
- package/src/providers/__tests__/OrganisationProvider.test.tsx +27 -21
- package/src/providers/services/EventServiceProvider.tsx +0 -8
- package/src/providers/services/UnifiedAuthProvider.tsx +174 -24
- package/src/rbac/__tests__/adapters.comprehensive.test.tsx +10 -16
- package/src/rbac/__tests__/isSuperAdmin.real.test.ts +82 -0
- package/src/rbac/adapters.tsx +3 -22
- package/src/rbac/api.test.ts +2 -2
- package/src/rbac/api.ts +7 -1
- package/src/rbac/components/EnhancedNavigationMenu.tsx +2 -15
- package/src/rbac/components/NavigationGuard.tsx +1 -10
- package/src/rbac/components/NavigationProvider.tsx +0 -1
- package/src/rbac/components/PermissionEnforcer.tsx +45 -12
- package/src/rbac/components/SecureDataProvider.tsx +0 -1
- package/src/rbac/components/__tests__/EnhancedNavigationMenu.test.tsx +7 -43
- package/src/rbac/components/__tests__/NavigationGuard.test.tsx +4 -11
- package/src/rbac/components/__tests__/NavigationProvider.test.tsx +3 -3
- package/src/rbac/components/__tests__/SecureDataProvider.fixed.test.tsx +1 -1
- package/src/rbac/components/__tests__/SecureDataProvider.test.tsx +1 -1
- package/src/rbac/engine.ts +14 -2
- package/src/rbac/hooks/index.ts +0 -3
- package/src/rbac/hooks/usePermissions.ts +51 -11
- package/src/rbac/hooks/useRBAC.simple.test.ts +95 -0
- package/src/rbac/hooks/useRBAC.ts +3 -13
- package/src/rbac/hooks/useResolvedScope.test.ts +75 -54
- package/src/rbac/hooks/useResolvedScope.ts +58 -33
- package/src/rbac/hooks/useSecureSupabase.ts +4 -9
- package/src/rbac/secureClient.ts +31 -0
- package/src/rbac/utils/__tests__/eventContext.test.ts +2 -2
- package/src/rbac/utils/__tests__/eventContext.unit.test.ts +490 -0
- package/src/rbac/utils/eventContext.ts +5 -2
- package/src/services/AuthService.ts +37 -8
- package/src/services/EventService.ts +4 -57
- package/src/services/InactivityService.ts +127 -34
- package/src/services/OrganisationService.ts +160 -149
- package/src/services/__tests__/OrganisationService.pagination.test.ts +34 -8
- package/src/services/__tests__/OrganisationService.test.ts +218 -86
- package/src/types/database.generated.ts +166 -201
- package/src/types/supabase.ts +2 -2
- package/src/utils/__tests__/secureDataAccess.unit.test.ts +3 -2
- package/src/utils/file-reference/index.ts +4 -4
- package/src/utils/google-places/googlePlacesUtils.ts +1 -1
- package/src/utils/google-places/types.ts +1 -1
- package/src/utils/request-deduplication.ts +4 -4
- package/src/utils/security/secureDataAccess.test.ts +1 -1
- package/src/utils/security/secureDataAccess.ts +7 -4
- package/src/utils/storage/README.md +1 -1
- package/dist/chunk-4QYC5L4K.js.map +0 -1
- package/dist/chunk-73HSNNOQ.js.map +0 -1
- package/dist/chunk-HQVPB5MZ.js.map +0 -1
- package/dist/chunk-J2XXC7R5.js.map +0 -1
- package/dist/chunk-NIU6J6OX.js.map +0 -1
- package/dist/chunk-RUYZKXOD.js.map +0 -1
- package/dist/chunk-STYK4OH2.js.map +0 -1
- package/dist/chunk-VVBAW5A5.js.map +0 -1
- package/dist/chunk-Y4BUBBHD.js.map +0 -1
- package/scripts/check-pace-core-compliance.js +0 -512
- package/src/rbac/hooks/useSuperAdminBypass.ts +0 -126
- package/src/utils/context/superAdminOverride.ts +0 -58
- /package/dist/{DataTable-ON3IXISJ.js.map → DataTable-5FU7IESH.js.map} +0 -0
- /package/dist/{UnifiedAuthProvider-X5NXANVI.js.map → UnifiedAuthProvider-RGJTDE2C.js.map} +0 -0
- /package/dist/{api-I6UCQ5S6.js.map → api-N774RPUA.js.map} +0 -0
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useCan
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XNXXZ43G.js";
|
|
4
4
|
import {
|
|
5
5
|
toast,
|
|
6
6
|
useDataTablePerformance
|
|
7
7
|
} from "./chunk-6C4YBBJM.js";
|
|
8
8
|
import {
|
|
9
9
|
useResolvedScope
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-IIELH4DL.js";
|
|
11
11
|
import {
|
|
12
12
|
useUnifiedAuth
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-7FLMSG37.js";
|
|
14
|
+
import {
|
|
15
|
+
isSuperAdmin
|
|
16
|
+
} from "./chunk-KNC55RTG.js";
|
|
14
17
|
import {
|
|
15
18
|
cn,
|
|
16
19
|
renderSafeHtml
|
|
@@ -5508,7 +5511,7 @@ var require_lodash = __commonJS({
|
|
|
5508
5511
|
import React21 from "react";
|
|
5509
5512
|
|
|
5510
5513
|
// src/components/DataTable/components/DataTableCore.tsx
|
|
5511
|
-
import React20, { useMemo as useMemo14, useCallback as useCallback10, useEffect as
|
|
5514
|
+
import React20, { useMemo as useMemo14, useCallback as useCallback10, useEffect as useEffect12, useRef as useRef6 } from "react";
|
|
5512
5515
|
import { useReactTable } from "@tanstack/react-table";
|
|
5513
5516
|
import { Edit, Trash, ChevronUp as ChevronUp2, ChevronDown as ChevronDown3, ChevronsUpDown } from "lucide-react";
|
|
5514
5517
|
|
|
@@ -5647,6 +5650,21 @@ var getTableCellClasses = (options = {}) => {
|
|
|
5647
5650
|
className
|
|
5648
5651
|
);
|
|
5649
5652
|
};
|
|
5653
|
+
var getTableRowClasses = (options = {}) => {
|
|
5654
|
+
const { isSelected = false, isVirtualized = false, className } = options;
|
|
5655
|
+
if (isVirtualized) {
|
|
5656
|
+
return cn(
|
|
5657
|
+
tableStyles.rowHover,
|
|
5658
|
+
isSelected && tableStyles.rowSelected,
|
|
5659
|
+
className
|
|
5660
|
+
);
|
|
5661
|
+
}
|
|
5662
|
+
return cn(
|
|
5663
|
+
tableStyles.row,
|
|
5664
|
+
isSelected && tableStyles.rowSelected,
|
|
5665
|
+
className
|
|
5666
|
+
);
|
|
5667
|
+
};
|
|
5650
5668
|
var getTableClasses = (options = {}) => {
|
|
5651
5669
|
const { isFixed = false, variant = "default", className } = options;
|
|
5652
5670
|
if (isFixed) {
|
|
@@ -5761,7 +5779,9 @@ var useSelectState = ({
|
|
|
5761
5779
|
onOpenChange?.(false);
|
|
5762
5780
|
}, [controlledValue, onValueChange, controlledOpen, onOpenChange]);
|
|
5763
5781
|
const setOpen = React4.useCallback((newOpen) => {
|
|
5764
|
-
if (disabled)
|
|
5782
|
+
if (disabled) {
|
|
5783
|
+
return;
|
|
5784
|
+
}
|
|
5765
5785
|
if (newOpen) {
|
|
5766
5786
|
const allTriggers = document.querySelectorAll('[data-testid="select-trigger"]');
|
|
5767
5787
|
allTriggers.forEach((trigger) => {
|
|
@@ -5812,22 +5832,22 @@ var useSelectEvents = ({ state, actions, selectRef }) => {
|
|
|
5812
5832
|
}
|
|
5813
5833
|
}, [actions, selectRef]);
|
|
5814
5834
|
React4.useEffect(() => {
|
|
5835
|
+
if (!state.open) return;
|
|
5815
5836
|
const handleClickOutside = (event) => {
|
|
5816
5837
|
const selectElement = selectRef.current;
|
|
5817
|
-
|
|
5818
|
-
const
|
|
5819
|
-
|
|
5820
|
-
const isSelectContent = clickedElement?.closest('[data-testid="select-content"]');
|
|
5821
|
-
if (state.open && selectElement && !selectElement.contains(event.target) && !isSelectItem && !isSearchInput && !isSelectContent && !isSelecting) {
|
|
5838
|
+
if (!selectElement) return;
|
|
5839
|
+
const target = event.target;
|
|
5840
|
+
if (!selectElement.contains(target) && !isSelecting) {
|
|
5822
5841
|
actions.setOpen(false);
|
|
5823
5842
|
}
|
|
5824
5843
|
};
|
|
5825
|
-
|
|
5826
|
-
document.addEventListener("
|
|
5827
|
-
|
|
5828
|
-
|
|
5829
|
-
|
|
5830
|
-
|
|
5844
|
+
const timeoutId = setTimeout(() => {
|
|
5845
|
+
document.addEventListener("click", handleClickOutside, true);
|
|
5846
|
+
}, 100);
|
|
5847
|
+
return () => {
|
|
5848
|
+
clearTimeout(timeoutId);
|
|
5849
|
+
document.removeEventListener("click", handleClickOutside, true);
|
|
5850
|
+
};
|
|
5831
5851
|
}, [state.open, actions, selectRef, isSelecting]);
|
|
5832
5852
|
React4.useEffect(() => {
|
|
5833
5853
|
let timeoutId = null;
|
|
@@ -6026,6 +6046,10 @@ var Select = React4.forwardRef(
|
|
|
6026
6046
|
className: cn("relative", className),
|
|
6027
6047
|
"data-value": state.value,
|
|
6028
6048
|
"data-testid": "select-root",
|
|
6049
|
+
onSubmit: (e) => {
|
|
6050
|
+
e.preventDefault();
|
|
6051
|
+
e.stopPropagation();
|
|
6052
|
+
},
|
|
6029
6053
|
children: /* @__PURE__ */ jsx4(SelectContext.Provider, { value: contextValue, children })
|
|
6030
6054
|
}
|
|
6031
6055
|
);
|
|
@@ -6036,9 +6060,20 @@ var SelectTrigger = React4.forwardRef(
|
|
|
6036
6060
|
({ children, className, variant = "outline", size = "default", asChild = false, ...props }, ref) => {
|
|
6037
6061
|
const { open, disabled, value, actions, direction = "down" } = useSelectContext();
|
|
6038
6062
|
const opensUpward = direction === "up";
|
|
6039
|
-
const
|
|
6063
|
+
const handleClickRef = React4.useRef();
|
|
6064
|
+
const handleClick = React4.useCallback((e) => {
|
|
6065
|
+
if (disabled) {
|
|
6066
|
+
e.preventDefault();
|
|
6067
|
+
e.stopPropagation();
|
|
6068
|
+
return;
|
|
6069
|
+
}
|
|
6070
|
+
e.preventDefault();
|
|
6071
|
+
e.stopPropagation();
|
|
6040
6072
|
actions.setOpen(!open);
|
|
6041
|
-
};
|
|
6073
|
+
}, [disabled, open, actions]);
|
|
6074
|
+
React4.useEffect(() => {
|
|
6075
|
+
handleClickRef.current = handleClick;
|
|
6076
|
+
}, [handleClick]);
|
|
6042
6077
|
const handleKeyDown = (e) => {
|
|
6043
6078
|
if (disabled) return;
|
|
6044
6079
|
switch (e.key) {
|
|
@@ -6111,10 +6146,17 @@ var SelectTrigger = React4.forwardRef(
|
|
|
6111
6146
|
]
|
|
6112
6147
|
});
|
|
6113
6148
|
}
|
|
6149
|
+
const handleRef = React4.useCallback((node) => {
|
|
6150
|
+
if (typeof ref === "function") {
|
|
6151
|
+
ref(node);
|
|
6152
|
+
} else if (ref) {
|
|
6153
|
+
ref.current = node;
|
|
6154
|
+
}
|
|
6155
|
+
}, [ref]);
|
|
6114
6156
|
return /* @__PURE__ */ jsxs2(
|
|
6115
6157
|
Button,
|
|
6116
6158
|
{
|
|
6117
|
-
ref,
|
|
6159
|
+
ref: handleRef,
|
|
6118
6160
|
type: "button",
|
|
6119
6161
|
role: "combobox",
|
|
6120
6162
|
"aria-expanded": open,
|
|
@@ -6135,7 +6177,9 @@ var SelectTrigger = React4.forwardRef(
|
|
|
6135
6177
|
textOverflow: "ellipsis",
|
|
6136
6178
|
whiteSpace: "nowrap"
|
|
6137
6179
|
},
|
|
6138
|
-
onClick:
|
|
6180
|
+
onClick: (e) => {
|
|
6181
|
+
handleClick(e);
|
|
6182
|
+
},
|
|
6139
6183
|
onKeyDown: handleKeyDown,
|
|
6140
6184
|
"data-testid": "select-trigger",
|
|
6141
6185
|
"data-value": value,
|
|
@@ -6160,7 +6204,16 @@ SelectTrigger.displayName = "SelectTrigger";
|
|
|
6160
6204
|
var SelectValue = React4.forwardRef(
|
|
6161
6205
|
({ placeholder = "Select an option...", children }, ref) => {
|
|
6162
6206
|
const { selectedText } = useSelectContext();
|
|
6163
|
-
return /* @__PURE__ */ jsx4(
|
|
6207
|
+
return /* @__PURE__ */ jsx4(
|
|
6208
|
+
"span",
|
|
6209
|
+
{
|
|
6210
|
+
ref,
|
|
6211
|
+
"data-testid": "select-value",
|
|
6212
|
+
style: { pointerEvents: "none" },
|
|
6213
|
+
className: "pointer-events-none",
|
|
6214
|
+
children: children || (selectedText ? selectedText : placeholder)
|
|
6215
|
+
}
|
|
6216
|
+
);
|
|
6164
6217
|
}
|
|
6165
6218
|
);
|
|
6166
6219
|
SelectValue.displayName = "SelectValue";
|
|
@@ -7828,6 +7881,10 @@ var RowComponent = React10.memo(({
|
|
|
7828
7881
|
const isHierarchical = hierarchical?.enabled && hierarchicalRow?.isParent !== void 0;
|
|
7829
7882
|
const isParent = isHierarchical && hierarchicalRow.isParent;
|
|
7830
7883
|
const isChild = isHierarchical && !hierarchicalRow.isParent;
|
|
7884
|
+
const visibleCells = React10.useMemo(() => row.getVisibleCells(), [row]);
|
|
7885
|
+
const isSelected = React10.useMemo(() => {
|
|
7886
|
+
return typeof row.getIsSelected === "function" ? row.getIsSelected() : false;
|
|
7887
|
+
}, [row]);
|
|
7831
7888
|
useEffect2(() => {
|
|
7832
7889
|
if (isEditing && firstInputRef.current) {
|
|
7833
7890
|
firstInputRef.current.focus();
|
|
@@ -7860,9 +7917,8 @@ var RowComponent = React10.memo(({
|
|
|
7860
7917
|
const groupValue = row.getValue(grouping[0]);
|
|
7861
7918
|
const subRowsCount = row.subRows?.length || 0;
|
|
7862
7919
|
const isExpanded = row.getIsExpanded();
|
|
7863
|
-
const visibleCells2 = row.getVisibleCells();
|
|
7864
7920
|
const childRows = row.subRows?.map((subRow) => subRow.original) || [];
|
|
7865
|
-
return /* @__PURE__ */ jsx14("tr", { className: "bg-sec-50 hover:bg-sec-100", style, children:
|
|
7921
|
+
return /* @__PURE__ */ jsx14("tr", { className: "bg-sec-50 hover:bg-sec-100", style, children: visibleCells.map((cell, cellIndex) => {
|
|
7866
7922
|
const columnDef = cell.column.columnDef;
|
|
7867
7923
|
const isGroupingColumn = cellIndex === 0 || grouping.includes(cell.column.id || "");
|
|
7868
7924
|
if (isGroupingColumn && cellIndex === 0) {
|
|
@@ -7971,11 +8027,20 @@ var RowComponent = React10.memo(({
|
|
|
7971
8027
|
}
|
|
7972
8028
|
);
|
|
7973
8029
|
}
|
|
7974
|
-
const visibleCells = row.getVisibleCells();
|
|
7975
|
-
const allCells = row.getAllCells ? row.getAllCells() : [];
|
|
7976
8030
|
const indentSize = hierarchical?.indentSize || 24;
|
|
7977
|
-
const indentation =
|
|
7978
|
-
|
|
8031
|
+
const indentation = React10.useMemo(() => {
|
|
8032
|
+
return isChild && hierarchical?.state ? calculateIndentation(hierarchicalRow, [], indentSize) : 0;
|
|
8033
|
+
}, [isChild, hierarchical?.state, hierarchicalRow, indentSize]);
|
|
8034
|
+
const rowClassName = React10.useMemo(() => {
|
|
8035
|
+
if (isHierarchical) {
|
|
8036
|
+
const hierarchicalClass = isParent ? hierarchical?.parentRowClassName || "bg-main-50 hover:bg-main-100 font-medium" : hierarchical?.childRowClassName || "bg-sec-25 hover:bg-sec-50";
|
|
8037
|
+
return cn(
|
|
8038
|
+
getTableRowClasses({ isSelected, isVirtualized: false }),
|
|
8039
|
+
hierarchicalClass
|
|
8040
|
+
);
|
|
8041
|
+
}
|
|
8042
|
+
return getTableRowClasses({ isSelected, isVirtualized: false });
|
|
8043
|
+
}, [isHierarchical, isParent, isSelected, hierarchical]);
|
|
7979
8044
|
return /* @__PURE__ */ jsx14(
|
|
7980
8045
|
"tr",
|
|
7981
8046
|
{
|
|
@@ -7986,7 +8051,7 @@ var RowComponent = React10.memo(({
|
|
|
7986
8051
|
...isChild && indentation > 0 ? { paddingLeft: `${indentation}px` } : {}
|
|
7987
8052
|
},
|
|
7988
8053
|
className: rowClassName,
|
|
7989
|
-
"aria-selected":
|
|
8054
|
+
"aria-selected": isSelected ? "true" : "false",
|
|
7990
8055
|
children: visibleCells.map((cell, cellIndex) => {
|
|
7991
8056
|
const isFirstCell = cellIndex === 0;
|
|
7992
8057
|
const shouldShowExpansionButton = isHierarchical && isParent && isFirstCell && hierarchical?.state;
|
|
@@ -8043,7 +8108,43 @@ var RowComponent = React10.memo(({
|
|
|
8043
8108
|
);
|
|
8044
8109
|
});
|
|
8045
8110
|
RowComponent.displayName = "RowComponent";
|
|
8046
|
-
var
|
|
8111
|
+
var areRowPropsEqual = (prevProps, nextProps) => {
|
|
8112
|
+
if (prevProps.row.id !== nextProps.row.id || prevProps.row.index !== nextProps.row.index) {
|
|
8113
|
+
return false;
|
|
8114
|
+
}
|
|
8115
|
+
if (prevProps.isEditing !== nextProps.isEditing) {
|
|
8116
|
+
return false;
|
|
8117
|
+
}
|
|
8118
|
+
if (prevProps.editingRowId !== nextProps.editingRowId) {
|
|
8119
|
+
return false;
|
|
8120
|
+
}
|
|
8121
|
+
if (prevProps.style !== nextProps.style) {
|
|
8122
|
+
if (!prevProps.style || !nextProps.style) {
|
|
8123
|
+
return false;
|
|
8124
|
+
}
|
|
8125
|
+
const prevStyle = prevProps.style;
|
|
8126
|
+
const nextStyle = nextProps.style;
|
|
8127
|
+
const styleKeys = /* @__PURE__ */ new Set([...Object.keys(prevStyle), ...Object.keys(nextStyle)]);
|
|
8128
|
+
for (const key of styleKeys) {
|
|
8129
|
+
if (prevStyle[key] !== nextStyle[key]) {
|
|
8130
|
+
return false;
|
|
8131
|
+
}
|
|
8132
|
+
}
|
|
8133
|
+
}
|
|
8134
|
+
if (prevProps.grouping.length !== nextProps.grouping.length || prevProps.grouping.some((id, i) => id !== nextProps.grouping[i])) {
|
|
8135
|
+
return false;
|
|
8136
|
+
}
|
|
8137
|
+
if (prevProps.hierarchical?.enabled !== nextProps.hierarchical?.enabled) {
|
|
8138
|
+
return false;
|
|
8139
|
+
}
|
|
8140
|
+
const prevSelected = typeof prevProps.row.getIsSelected === "function" ? prevProps.row.getIsSelected() : false;
|
|
8141
|
+
const nextSelected = typeof nextProps.row.getIsSelected === "function" ? nextProps.row.getIsSelected() : false;
|
|
8142
|
+
if (prevSelected !== nextSelected) {
|
|
8143
|
+
return false;
|
|
8144
|
+
}
|
|
8145
|
+
return true;
|
|
8146
|
+
};
|
|
8147
|
+
var MemoizedRow = React10.memo(RowComponent, areRowPropsEqual);
|
|
8047
8148
|
function UnifiedTableBody({
|
|
8048
8149
|
table,
|
|
8049
8150
|
isCreating,
|
|
@@ -10863,7 +10964,7 @@ function exportToCSV(data, columns, filename = "download.csv", options = {}) {
|
|
|
10863
10964
|
}
|
|
10864
10965
|
|
|
10865
10966
|
// src/components/DataTable/hooks/useDataTablePermissions.ts
|
|
10866
|
-
import { useMemo as useMemo12, useRef as useRef4 } from "react";
|
|
10967
|
+
import { useMemo as useMemo12, useRef as useRef4, useState as useState8, useEffect as useEffect10 } from "react";
|
|
10867
10968
|
|
|
10868
10969
|
// src/components/DataTable/types.ts
|
|
10869
10970
|
var defaultDataTableFeatures = {
|
|
@@ -10895,6 +10996,28 @@ function useDataTablePermissions(rbac, features = {}) {
|
|
|
10895
10996
|
const logger2 = createLogger("DataTablePermissions");
|
|
10896
10997
|
const authResult = useUnifiedAuth();
|
|
10897
10998
|
const user = authResult.user;
|
|
10999
|
+
const [isSuperAdminUser, setIsSuperAdminUser] = useState8(false);
|
|
11000
|
+
const [isCheckingSuperAdmin, setIsCheckingSuperAdmin] = useState8(false);
|
|
11001
|
+
useEffect10(() => {
|
|
11002
|
+
const checkSuperAdminStatus = async () => {
|
|
11003
|
+
if (!user?.id) {
|
|
11004
|
+
setIsSuperAdminUser(false);
|
|
11005
|
+
setIsCheckingSuperAdmin(false);
|
|
11006
|
+
return;
|
|
11007
|
+
}
|
|
11008
|
+
setIsCheckingSuperAdmin(true);
|
|
11009
|
+
try {
|
|
11010
|
+
const superAdminStatus = await isSuperAdmin(user.id);
|
|
11011
|
+
setIsSuperAdminUser(superAdminStatus);
|
|
11012
|
+
} catch (error) {
|
|
11013
|
+
logger2.error("useDataTablePermissions", "Error checking super admin status", { userId: user?.id, error });
|
|
11014
|
+
setIsSuperAdminUser(false);
|
|
11015
|
+
} finally {
|
|
11016
|
+
setIsCheckingSuperAdmin(false);
|
|
11017
|
+
}
|
|
11018
|
+
};
|
|
11019
|
+
checkSuperAdminStatus();
|
|
11020
|
+
}, [user?.id, logger2]);
|
|
10898
11021
|
const pageId = rbac?.pageId;
|
|
10899
11022
|
const pageName = rbac?.pageName;
|
|
10900
11023
|
if (!pageId && !pageName) {
|
|
@@ -10939,16 +11062,38 @@ function useDataTablePermissions(rbac, features = {}) {
|
|
|
10939
11062
|
const updatePermission = `update:page.${effectivePageId}`;
|
|
10940
11063
|
const deletePermission = `delete:page.${effectivePageId}`;
|
|
10941
11064
|
const consistentScope = effectiveScope || { organisationId: void 0, eventId: void 0, appId: void 0 };
|
|
10942
|
-
const
|
|
10943
|
-
|
|
10944
|
-
|
|
10945
|
-
|
|
10946
|
-
|
|
10947
|
-
|
|
10948
|
-
|
|
10949
|
-
|
|
10950
|
-
|
|
10951
|
-
|
|
11065
|
+
const canReadResult = useCan(userId, consistentScope, readPermission, effectivePageId, true);
|
|
11066
|
+
const canCreateResult = useCan(userId, consistentScope, createPermission, effectivePageId, true);
|
|
11067
|
+
const canUpdateResult = useCan(userId, consistentScope, updatePermission, effectivePageId, true);
|
|
11068
|
+
const canDeleteResult = useCan(userId, consistentScope, deletePermission, effectivePageId, true);
|
|
11069
|
+
const canExportResult = useCan(userId, consistentScope, readPermission, effectivePageId, true);
|
|
11070
|
+
const canImportResult = useCan(userId, consistentScope, createPermission, effectivePageId, true);
|
|
11071
|
+
const permissions = useMemo12(() => {
|
|
11072
|
+
const createSuperAdminAwarePermission = (result) => ({
|
|
11073
|
+
can: isSuperAdminUser ? true : result.can,
|
|
11074
|
+
// Show loading if super admin check is in progress OR if the underlying permission check is loading
|
|
11075
|
+
isLoading: isCheckingSuperAdmin || result.isLoading,
|
|
11076
|
+
error: result.error,
|
|
11077
|
+
refetch: result.refetch
|
|
11078
|
+
});
|
|
11079
|
+
return {
|
|
11080
|
+
canRead: createSuperAdminAwarePermission(canReadResult),
|
|
11081
|
+
canCreate: createSuperAdminAwarePermission(canCreateResult),
|
|
11082
|
+
canUpdate: createSuperAdminAwarePermission(canUpdateResult),
|
|
11083
|
+
canDelete: createSuperAdminAwarePermission(canDeleteResult),
|
|
11084
|
+
canExport: createSuperAdminAwarePermission(canExportResult),
|
|
11085
|
+
canImport: createSuperAdminAwarePermission(canImportResult)
|
|
11086
|
+
};
|
|
11087
|
+
}, [
|
|
11088
|
+
isSuperAdminUser,
|
|
11089
|
+
isCheckingSuperAdmin,
|
|
11090
|
+
canReadResult,
|
|
11091
|
+
canCreateResult,
|
|
11092
|
+
canUpdateResult,
|
|
11093
|
+
canDeleteResult,
|
|
11094
|
+
canExportResult,
|
|
11095
|
+
canImportResult
|
|
11096
|
+
]);
|
|
10952
11097
|
const normalizedFeatures = useMemo12(
|
|
10953
11098
|
() => normalizeDataTableFeatures(features),
|
|
10954
11099
|
[features]
|
|
@@ -11372,7 +11517,7 @@ function getRowDescription(rowIndex, totalRows, isSelected = false, isEditing =
|
|
|
11372
11517
|
}
|
|
11373
11518
|
|
|
11374
11519
|
// src/components/DataTable/hooks/useKeyboardNavigation.ts
|
|
11375
|
-
import { useCallback as useCallback9, useEffect as
|
|
11520
|
+
import { useCallback as useCallback9, useEffect as useEffect11, useRef as useRef5, useState as useState9 } from "react";
|
|
11376
11521
|
function useKeyboardNavigation(rowCount, columnCount, options = {}) {
|
|
11377
11522
|
const {
|
|
11378
11523
|
enabled = true,
|
|
@@ -11382,7 +11527,7 @@ function useKeyboardNavigation(rowCount, columnCount, options = {}) {
|
|
|
11382
11527
|
onFocusChange,
|
|
11383
11528
|
tableRef: externalTableRef
|
|
11384
11529
|
} = options;
|
|
11385
|
-
const [state, setState] =
|
|
11530
|
+
const [state, setState] = useState9({
|
|
11386
11531
|
focusedRowIndex: 0,
|
|
11387
11532
|
focusedColumnIndex: 0,
|
|
11388
11533
|
isNavigating: false
|
|
@@ -11633,7 +11778,7 @@ function useKeyboardNavigation(rowCount, columnCount, options = {}) {
|
|
|
11633
11778
|
storedFocusRef.current = null;
|
|
11634
11779
|
}
|
|
11635
11780
|
}, [focusCell]);
|
|
11636
|
-
|
|
11781
|
+
useEffect11(() => {
|
|
11637
11782
|
return () => {
|
|
11638
11783
|
if (navigationTimeoutRef.current) {
|
|
11639
11784
|
clearTimeout(navigationTimeoutRef.current);
|
|
@@ -11766,12 +11911,12 @@ function DataTableInternal(props) {
|
|
|
11766
11911
|
defaultSorting: defaultSorting || [],
|
|
11767
11912
|
defaultGrouping: defaultGrouping || []
|
|
11768
11913
|
});
|
|
11769
|
-
|
|
11914
|
+
useEffect12(() => {
|
|
11770
11915
|
if (secureFeatures.columnVisibility && isColumnVisibilityLoaded && Object.keys(initialColumnVisibility).length > 0) {
|
|
11771
11916
|
stateActions.setColumnVisibility(initialColumnVisibility);
|
|
11772
11917
|
}
|
|
11773
11918
|
}, [secureFeatures.columnVisibility, isColumnVisibilityLoaded, initialColumnVisibility, stateActions]);
|
|
11774
|
-
|
|
11919
|
+
useEffect12(() => {
|
|
11775
11920
|
initializeLiveRegion();
|
|
11776
11921
|
}, []);
|
|
11777
11922
|
const rowSelection = selection !== void 0 ? selection : state.rowSelection;
|
|
@@ -11780,7 +11925,7 @@ function DataTableInternal(props) {
|
|
|
11780
11925
|
[getRowId]
|
|
11781
11926
|
);
|
|
11782
11927
|
const hasInitializedExpansion = useRef6(false);
|
|
11783
|
-
|
|
11928
|
+
useEffect12(() => {
|
|
11784
11929
|
if (!hasInitializedExpansion.current && defaultGrouping && defaultGrouping.length > 0) {
|
|
11785
11930
|
stateActions.setExpanded(true);
|
|
11786
11931
|
hasInitializedExpansion.current = true;
|
|
@@ -11833,7 +11978,7 @@ function DataTableInternal(props) {
|
|
|
11833
11978
|
);
|
|
11834
11979
|
const lastFocusedElementRef = useRef6(null);
|
|
11835
11980
|
const wasImportModalOpenRef = useRef6(false);
|
|
11836
|
-
|
|
11981
|
+
useEffect12(() => {
|
|
11837
11982
|
if (state.showImportModal) {
|
|
11838
11983
|
wasImportModalOpenRef.current = true;
|
|
11839
11984
|
keyboardNavigation.storeFocus();
|
|
@@ -11842,7 +11987,7 @@ function DataTableInternal(props) {
|
|
|
11842
11987
|
}
|
|
11843
11988
|
}
|
|
11844
11989
|
}, [state.showImportModal, keyboardNavigation]);
|
|
11845
|
-
|
|
11990
|
+
useEffect12(() => {
|
|
11846
11991
|
if (!state.showImportModal) {
|
|
11847
11992
|
if (!wasImportModalOpenRef.current) {
|
|
11848
11993
|
return;
|
|
@@ -11873,7 +12018,7 @@ function DataTableInternal(props) {
|
|
|
11873
12018
|
finalPaginationMode,
|
|
11874
12019
|
serverData
|
|
11875
12020
|
});
|
|
11876
|
-
|
|
12021
|
+
useEffect12(() => {
|
|
11877
12022
|
if (!hierarchicalValidation.isValid) {
|
|
11878
12023
|
logger2.error("Hierarchical data validation failed:", hierarchicalValidation.errors);
|
|
11879
12024
|
}
|
|
@@ -11888,13 +12033,13 @@ function DataTableInternal(props) {
|
|
|
11888
12033
|
enablePersistence: secureFeatures.columnReordering,
|
|
11889
12034
|
storageKey
|
|
11890
12035
|
});
|
|
11891
|
-
|
|
12036
|
+
useEffect12(() => {
|
|
11892
12037
|
if (secureFeatures.columnReordering && isColumnOrderLoaded && savedColumnOrder && savedColumnOrder.length > 0) {
|
|
11893
12038
|
const normalizedOrder = secureFeatures.selection && savedColumnOrder.includes("select") ? ["select", ...savedColumnOrder.filter((id) => id !== "select")] : savedColumnOrder;
|
|
11894
12039
|
stateActions.setColumnOrder(normalizedOrder);
|
|
11895
12040
|
}
|
|
11896
12041
|
}, [secureFeatures.columnReordering, secureFeatures.selection, isColumnOrderLoaded, savedColumnOrder, stateActions]);
|
|
11897
|
-
|
|
12042
|
+
useEffect12(() => {
|
|
11898
12043
|
if (secureFeatures.selection && state.columnOrder.includes("select") && state.columnOrder[0] !== "select") {
|
|
11899
12044
|
const normalizedOrder = ["select", ...state.columnOrder.filter((id) => id !== "select")];
|
|
11900
12045
|
stateActions.setColumnOrder(normalizedOrder);
|
|
@@ -11929,7 +12074,7 @@ function DataTableInternal(props) {
|
|
|
11929
12074
|
}
|
|
11930
12075
|
return state.pagination.pageSize;
|
|
11931
12076
|
}, [state.pagination.pageSize, validatedInitialPageSize, secureFeatures.pagination, finalPageSizeOptions]);
|
|
11932
|
-
|
|
12077
|
+
useEffect12(() => {
|
|
11933
12078
|
if (secureFeatures.pagination && finalPageSizeOptions.length > 0) {
|
|
11934
12079
|
const needsFix = !finalPageSizeOptions.includes(state.pagination.pageSize);
|
|
11935
12080
|
const currentPageSize = effectivePageSize || validatedInitialPageSize;
|
|
@@ -12769,4 +12914,4 @@ lodash/lodash.js:
|
|
|
12769
12914
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
12770
12915
|
*)
|
|
12771
12916
|
*/
|
|
12772
|
-
//# sourceMappingURL=chunk-
|
|
12917
|
+
//# sourceMappingURL=chunk-E3SPN4VZ.js.map
|