@jmruthers/pace-core 0.5.53 → 0.5.55
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/README.md +0 -4
- package/dist/{DataTable-7FMFXA7A.js → DataTable-4T627QFJ.js} +11 -11
- package/dist/{PublicLoadingSpinner-Bq_-BeK-.d.ts → PublicLoadingSpinner-SL8WaQN7.d.ts} +2 -21
- package/dist/{api-H5A3H4IR.js → api-LUNF5O6M.js} +3 -3
- package/dist/{appConfig-BVGyuvI7.d.ts → appConfig-DjpeG6P-.d.ts} +9 -1
- package/dist/{appNameResolver-7GHF5ED2.js → appNameResolver-UURKN7NF.js} +2 -2
- package/dist/{audit-BUW3LMJB.js → audit-6TOCAMKO.js} +2 -2
- package/dist/{chunk-MZBUOP4P.js → chunk-5BSLGBYI.js} +4 -3
- package/dist/chunk-5BSLGBYI.js.map +1 -0
- package/dist/{chunk-I5Z3QH5X.js → chunk-66C4BSAY.js} +2 -2
- package/dist/{chunk-I5Z3QH5X.js.map → chunk-66C4BSAY.js.map} +1 -1
- package/dist/{chunk-MYP2EGHX.js → chunk-AJ2KMES7.js} +21 -14
- package/dist/chunk-AJ2KMES7.js.map +1 -0
- package/dist/{chunk-EL2O4IUX.js → chunk-AQFRLC7K.js} +16 -24
- package/dist/{chunk-EL2O4IUX.js.map → chunk-AQFRLC7K.js.map} +1 -1
- package/dist/{chunk-7BNPOCLL.js → chunk-B2WTCLCV.js} +6 -2
- package/dist/chunk-B2WTCLCV.js.map +1 -0
- package/dist/{chunk-WJARTBCT.js → chunk-D7ARGIA3.js} +16 -7
- package/dist/chunk-D7ARGIA3.js.map +1 -0
- package/dist/{chunk-NRK4AIHQ.js → chunk-KBRACSJI.js} +3 -3
- package/dist/{chunk-NYUJ4FJR.js → chunk-KJDPSM64.js} +7 -7
- package/dist/chunk-KJDPSM64.js.map +1 -0
- package/dist/{chunk-GWSBHC4J.js → chunk-KLPVOPRI.js} +261 -38
- package/dist/chunk-KLPVOPRI.js.map +1 -0
- package/dist/{chunk-TRIZ7IB7.js → chunk-MPQDF75X.js} +148 -288
- package/dist/chunk-MPQDF75X.js.map +1 -0
- package/dist/{chunk-MSFACPQQ.js → chunk-PAEM3OWN.js} +11 -11
- package/dist/{chunk-MSFACPQQ.js.map → chunk-PAEM3OWN.js.map} +1 -1
- package/dist/{chunk-GIO7BFE7.js → chunk-RQD3D2CO.js} +66 -169
- package/dist/{chunk-GIO7BFE7.js.map → chunk-RQD3D2CO.js.map} +1 -1
- package/dist/{chunk-YDJW5XTN.js → chunk-STT7INZR.js} +25 -1
- package/dist/chunk-STT7INZR.js.map +1 -0
- package/dist/{chunk-6MTY77WU.js → chunk-TNMXZLDR.js} +3 -3
- package/dist/{chunk-BC3S53OZ.js → chunk-UQE2Y64H.js} +30 -14
- package/dist/chunk-UQE2Y64H.js.map +1 -0
- package/dist/{chunk-22KLBHPS.js → chunk-W66AZIOH.js} +2 -2
- package/dist/chunk-W66AZIOH.js.map +1 -0
- package/dist/{chunk-SS3E6QLB.js → chunk-YNUBMSMV.js} +2 -2
- package/dist/chunk-YNUBMSMV.js.map +1 -0
- package/dist/{chunk-NZ655MWE.js → chunk-ZOD2ZY6X.js} +5 -4
- package/dist/chunk-ZOD2ZY6X.js.map +1 -0
- package/dist/{chunk-74C6SNEC.js → chunk-ZPK5656W.js} +3 -3
- package/dist/{chunk-74C6SNEC.js.map → chunk-ZPK5656W.js.map} +1 -1
- package/dist/components.d.ts +22 -899
- package/dist/components.js +436 -3118
- package/dist/components.js.map +1 -1
- package/dist/file-reference-9xUOnwyt.d.ts +70 -0
- package/dist/hooks.d.ts +2 -2
- package/dist/hooks.js +10 -10
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +49 -9
- package/dist/index.js +190 -25
- package/dist/index.js.map +1 -1
- package/dist/{organisation-CO3Sh3_D.d.ts → organisation-t-vvQC3g.d.ts} +1 -8
- package/dist/providers.d.ts +2 -2
- package/dist/providers.js +5 -5
- package/dist/rbac/index.d.ts +65 -46
- package/dist/rbac/index.js +10 -12
- package/dist/styles/core.css +0 -125
- package/dist/types.d.ts +2 -1
- package/dist/types.js +3 -1
- package/dist/types.js.map +1 -1
- package/dist/{usePublicRouteParams-B2OcAsur.d.ts → usePublicRouteParams-CdoFxnJK.d.ts} +1 -1
- package/dist/utils.d.ts +3 -4
- package/dist/utils.js +44 -13
- package/dist/utils.js.map +1 -1
- package/docs/FILE_REFERENCE_SYSTEM.md +440 -0
- package/docs/INDEX.md +7 -5
- package/docs/README.md +0 -1
- package/docs/api/README.md +0 -4
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.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/PublicErrorBoundary.md +1 -1
- package/docs/api/classes/RBACAuditManager.md +12 -12
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +6 -6
- package/docs/api/classes/RBACError.md +1 -1
- package/docs/api/classes/RBACNotInitializedError.md +1 -1
- package/docs/api/classes/SecureSupabaseClient.md +1 -1
- package/docs/api/classes/StorageUtils.md +281 -0
- package/docs/api/interfaces/AggregateConfig.md +1 -1
- package/docs/api/interfaces/ButtonProps.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/DataAccessRecord.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/EmptyStateConfig.md +1 -1
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/EventContextType.md +1 -1
- package/docs/api/interfaces/EventLogoProps.md +1 -1
- package/docs/api/interfaces/EventProviderProps.md +1 -1
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadProps.md +1 -1
- package/docs/api/interfaces/FooterProps.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/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 +1 -1
- package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +4 -4
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
- package/docs/api/interfaces/PublicLoadingSpinnerProps.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/RBACConfig.md +1 -1
- package/docs/api/interfaces/RBACContextType.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/RBACProviderProps.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +2 -2
- package/docs/api/interfaces/RouteConfig.md +2 -2
- package/docs/api/interfaces/SecureDataContextType.md +1 -1
- package/docs/api/interfaces/SecureDataProviderProps.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/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
- package/docs/api/interfaces/UnifiedAuthProviderProps.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 +1 -1
- 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/UsePublicRouteParamsReturn.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 +204 -200
- package/docs/api-reference/components.md +141 -163
- package/docs/api-reference/hooks.md +347 -0
- package/docs/core-concepts/rbac-system.md +69 -16
- package/docs/getting-started/examples/basic-auth-app.md +0 -1
- package/docs/implementation-guides/datatable-rbac-usage.md +12 -11
- package/docs/implementation-guides/file-upload-storage.md +733 -0
- package/docs/implementation-guides/inactivity-tracking.md +779 -0
- package/docs/implementation-guides/organisation-security.md +748 -0
- package/docs/implementation-guides/public-pages-advanced.md +1022 -0
- package/docs/migration/MIGRATION_GUIDE.md +684 -0
- package/docs/migration/README.md +13 -2
- package/docs/migration/rbac-migration.md +73 -0
- package/docs/rbac/examples/rbac-rls-integration-example.md +11 -13
- package/docs/style-guide.md +269 -1
- package/package.json +1 -1
- package/src/__tests__/TESTING_GUIDELINES.md +331 -18
- package/src/__tests__/helpers/supabaseMock.ts +99 -0
- package/src/__tests__/rbac/PagePermissionGuard.test.tsx +10 -7
- package/src/__tests__/shared.ts +6 -0
- package/src/components/DataTable/components/ActionButtons.tsx +2 -2
- package/src/components/DataTable/components/DataTableCore.tsx +2 -2
- package/src/components/DataTable/components/UnifiedTableBody.tsx +1 -1
- package/src/components/DataTable/utils/debugTools.ts +2 -2
- package/src/components/Dialog/Dialog.test.tsx +12 -2
- package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +6 -6
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +2 -2
- package/src/components/FileDisplay.tsx +233 -0
- package/src/components/FileUpload.tsx +176 -0
- package/src/components/Footer/Footer.test.tsx +7 -7
- package/src/components/NavigationMenu/NavigationMenu.test.tsx +13 -6
- package/src/components/OrganisationSelector/OrganisationSelector.test.tsx +30 -3
- package/src/components/OrganisationSelector/OrganisationSelector.tsx +1 -1
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.rbac.test.tsx +558 -0
- package/src/components/PublicLayout/PublicErrorBoundary.tsx +1 -1
- package/src/components/PublicLayout/PublicPageDebugger.tsx +2 -2
- package/src/components/PublicLayout/PublicPageDiagnostic.tsx +2 -2
- package/src/components/PublicLayout/PublicPageProvider.tsx +2 -2
- package/src/components/Select/Select.test.tsx +50 -15
- package/src/components/SuperAdminGuard.tsx +2 -2
- package/src/components/__tests__/SuperAdminGuard.test.tsx +559 -0
- package/src/components/index.ts +0 -183
- package/src/hooks/__tests__/useOrganisationPermissions.unit.test.tsx +2 -2
- package/src/hooks/__tests__/usePermissionCache.unit.test.ts +1 -1
- package/src/hooks/__tests__/useRBAC.unit.test.ts +191 -138
- package/src/hooks/public/usePublicEvent.ts +2 -2
- package/src/hooks/useAppConfig.ts +3 -3
- package/src/hooks/useComponentPerformance.ts +1 -1
- package/src/hooks/useDataTablePerformance.ts +1 -1
- package/src/hooks/useFileReference.ts +232 -0
- package/src/hooks/useOrganisationPermissions.test.ts +254 -344
- package/src/hooks/useOrganisationPermissions.ts +15 -7
- package/src/hooks/useOrganisationSecurity.test.ts +390 -402
- package/src/hooks/usePerformanceMonitor.ts +1 -1
- package/src/hooks/usePermissionCache.test.ts +264 -395
- package/src/hooks/usePermissionCache.ts +34 -4
- package/src/hooks/useSecureDataAccess.test.ts +486 -0
- package/src/hooks/useSecureDataAccess.ts +4 -1
- package/src/providers/InactivityProvider.tsx +2 -2
- package/src/providers/OrganisationProvider.test.simple.tsx +168 -0
- package/src/providers/OrganisationProvider.test.tsx +168 -0
- package/src/providers/OrganisationProvider.tsx +18 -31
- package/src/providers/UnifiedAuthProvider.test.simple.tsx +205 -0
- package/src/providers/UnifiedAuthProvider.test.tsx +128 -0
- package/src/providers/__tests__/InactivityProvider.test.tsx +3 -4
- package/src/providers/__tests__/OrganisationProvider.test.tsx +19 -14
- package/src/rbac/__tests__/integration.authflow.test.tsx +123 -0
- package/src/rbac/__tests__/integration.navigation.test.tsx +72 -0
- package/src/rbac/__tests__/integration.securedata.test.tsx +92 -0
- package/src/rbac/__tests__/integration.smoke.test.tsx +73 -0
- package/src/rbac/__tests__/rbac-core.test.tsx +26 -22
- package/src/rbac/__tests__/rbac-engine-core-logic.test.ts +411 -0
- package/src/rbac/__tests__/rbac-engine-simplified.test.ts +285 -0
- package/src/rbac/__tests__/rbac-functions.test.ts +655 -0
- package/src/rbac/__tests__/rbac-integration.test.ts +532 -0
- package/src/rbac/__tests__/scenarios.user-role.test.tsx +196 -0
- package/src/rbac/api.test.ts +6 -6
- package/src/rbac/api.ts +2 -2
- package/src/rbac/audit.test.ts +485 -0
- package/src/rbac/audit.ts +7 -1
- package/src/rbac/cache-invalidation.ts +318 -0
- package/src/rbac/cache.test.ts +286 -0
- package/src/rbac/components/EnhancedNavigationMenu.test.tsx +559 -0
- package/src/rbac/components/EnhancedNavigationMenu.tsx +29 -23
- package/src/rbac/components/NavigationProvider.test.tsx +449 -0
- package/src/rbac/components/PagePermissionGuard.tsx +4 -4
- package/src/rbac/components/PagePermissionProvider.test.tsx +479 -0
- package/src/rbac/components/SecureDataProvider.test.tsx +511 -0
- package/src/rbac/components/__tests__/PagePermissionGuard.race-condition.test.tsx +159 -430
- package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +4 -5
- package/src/rbac/components/__tests__/PagePermissionGuard.verification.test.tsx +112 -118
- package/src/rbac/config.test.ts +410 -0
- package/src/rbac/engine.test.simple.ts +237 -0
- package/src/rbac/engine.test.ts +233 -0
- package/src/rbac/engine.ts +37 -41
- package/src/rbac/examples/CompleteRBACExample.tsx +3 -3
- package/src/rbac/examples/EventBasedApp.tsx +4 -4
- package/src/rbac/hooks/useRBAC.simple.test.ts +16 -0
- package/src/rbac/hooks/useRBAC.test.ts +207 -455
- package/src/rbac/hooks/useRBAC.ts +30 -22
- package/src/rbac/permissions.test.ts +128 -0
- package/src/rbac/permissions.ts +56 -141
- package/src/rbac/providers/RBACProvider.tsx +1 -1
- package/src/rbac/secureClient.test.ts +444 -0
- package/src/rbac/security.test.ts +390 -0
- package/src/rbac/security.ts +1 -1
- package/src/rbac/types.test.ts +382 -0
- package/src/rbac/types.ts +2 -2
- package/src/styles/base.css +208 -0
- package/src/styles/core.css +0 -125
- package/src/styles/semantic.css +24 -0
- package/src/types/file-reference.ts +77 -0
- package/src/types/rbac-functions.ts +290 -0
- package/src/types/supabase.ts +10 -28
- package/src/types/unified.ts +4 -1
- package/src/utils/__tests__/bundleAnalysis.unit.test.ts +81 -55
- package/src/utils/__tests__/lazyLoad.unit.test.tsx +21 -12
- package/src/utils/__tests__/organisationContext.unit.test.ts +13 -7
- package/src/utils/__tests__/performanceBudgets.unit.test.ts +3 -3
- package/src/utils/__tests__/sessionTracking.unit.test.ts +32 -12
- package/src/utils/appConfig.ts +1 -1
- package/src/utils/appIdResolver.test.ts +503 -0
- package/src/utils/appIdResolver.ts +1 -1
- package/src/utils/appNameResolver.test.ts +494 -0
- package/src/utils/appNameResolver.ts +3 -2
- package/src/utils/bundleAnalysis.ts +3 -3
- package/src/utils/debugLogger.ts +1 -1
- package/src/utils/file-reference.ts +263 -0
- package/src/utils/formatDate.test.ts +2 -2
- package/src/utils/organisationContext.test.ts +340 -0
- package/src/utils/organisationContext.ts +19 -6
- package/src/utils/performanceBudgets.ts +2 -2
- package/src/utils/permissionUtils.test.ts +393 -0
- package/src/utils/permissionUtils.ts +5 -2
- package/src/utils/secureDataAccess.test.ts +715 -0
- package/src/utils/secureDataAccess.ts +21 -5
- package/src/utils/sessionTracking.ts +34 -4
- package/src/utils/storage/__tests__/helpers.unit.test.ts +328 -0
- package/src/utils/storage/__tests__/index.unit.test.ts +16 -0
- package/src/utils/storage/helpers.ts +20 -25
- package/src/utils/storage/index.ts +29 -1
- package/src/vite-env.d.ts +17 -0
- package/dist/chunk-22KLBHPS.js.map +0 -1
- package/dist/chunk-7BNPOCLL.js.map +0 -1
- package/dist/chunk-BC3S53OZ.js.map +0 -1
- package/dist/chunk-GWSBHC4J.js.map +0 -1
- package/dist/chunk-MYP2EGHX.js.map +0 -1
- package/dist/chunk-MZBUOP4P.js.map +0 -1
- package/dist/chunk-NYUJ4FJR.js.map +0 -1
- package/dist/chunk-NZ655MWE.js.map +0 -1
- package/dist/chunk-SS3E6QLB.js.map +0 -1
- package/dist/chunk-TRIZ7IB7.js.map +0 -1
- package/dist/chunk-WJARTBCT.js.map +0 -1
- package/dist/chunk-YDJW5XTN.js.map +0 -1
- package/docs/print-components/README.md +0 -258
- package/docs/print-components/api-reference.md +0 -636
- package/docs/print-components/examples/README.md +0 -204
- package/docs/print-components/examples/basic-report.tsx +0 -92
- package/docs/print-components/examples/card-catalog.tsx +0 -149
- package/docs/print-components/examples/cover-page-report.tsx +0 -163
- package/docs/print-components/quick-start.md +0 -363
- package/src/components/PrintButton/PrintButton.tsx +0 -321
- package/src/components/PrintButton/PrintButtonGroup.tsx +0 -84
- package/src/components/PrintButton/PrintToolbar.tsx +0 -94
- package/src/components/PrintButton/__tests__/PrintButton.test.tsx +0 -271
- package/src/components/PrintButton/examples/PrintButtonShowcase.tsx +0 -438
- package/src/components/PrintButton/index.ts +0 -33
- package/src/components/PrintButton/types.ts +0 -173
- package/src/components/PrintCard/PrintCard.tsx +0 -154
- package/src/components/PrintCard/PrintCardContent.tsx +0 -57
- package/src/components/PrintCard/PrintCardFooter.tsx +0 -60
- package/src/components/PrintCard/PrintCardGrid.tsx +0 -91
- package/src/components/PrintCard/PrintCardHeader.tsx +0 -78
- package/src/components/PrintCard/PrintCardImage.tsx +0 -81
- package/src/components/PrintCard/examples/PrintCardShowcase.tsx +0 -239
- package/src/components/PrintCard/index.ts +0 -34
- package/src/components/PrintCard/types.ts +0 -171
- package/src/components/PrintDataTable/PrintDataTable.tsx +0 -215
- package/src/components/PrintDataTable/PrintTableGroup.tsx +0 -90
- package/src/components/PrintDataTable/PrintTableRow.tsx +0 -76
- package/src/components/PrintDataTable/index.ts +0 -25
- package/src/components/PrintDataTable/types.ts +0 -67
- package/src/components/PrintFooter/PrintFooter.tsx +0 -183
- package/src/components/PrintFooter/PrintFooterContent.tsx +0 -71
- package/src/components/PrintFooter/PrintFooterInfo.tsx +0 -86
- package/src/components/PrintFooter/PrintPageNumber.tsx +0 -90
- package/src/components/PrintFooter/examples/PrintFooterShowcase.tsx +0 -390
- package/src/components/PrintFooter/index.ts +0 -30
- package/src/components/PrintFooter/types.ts +0 -149
- package/src/components/PrintGrid/PrintGrid.tsx +0 -180
- package/src/components/PrintGrid/PrintGridBreakpoint.tsx +0 -109
- package/src/components/PrintGrid/PrintGridContainer.tsx +0 -128
- package/src/components/PrintGrid/PrintGridItem.tsx +0 -220
- package/src/components/PrintGrid/examples/PrintGridShowcase.tsx +0 -359
- package/src/components/PrintGrid/index.ts +0 -31
- package/src/components/PrintGrid/types.ts +0 -159
- package/src/components/PrintHeader/PrintCoverHeader.tsx +0 -230
- package/src/components/PrintHeader/PrintHeader.tsx +0 -150
- package/src/components/PrintHeader/index.ts +0 -17
- package/src/components/PrintHeader/types.ts +0 -42
- package/src/components/PrintLayout/PrintLayout.tsx +0 -122
- package/src/components/PrintLayout/PrintLayoutContext.tsx +0 -66
- package/src/components/PrintLayout/PrintPageBreak.tsx +0 -52
- package/src/components/PrintLayout/examples/PrintShowcase.tsx +0 -230
- package/src/components/PrintLayout/index.ts +0 -19
- package/src/components/PrintLayout/types.ts +0 -37
- package/src/components/PrintPageBreak/PrintPageBreak.tsx +0 -120
- package/src/components/PrintPageBreak/PrintPageBreakGroup.tsx +0 -90
- package/src/components/PrintPageBreak/PrintPageBreakIndicator.tsx +0 -112
- package/src/components/PrintPageBreak/examples/PrintPageBreakShowcase.tsx +0 -279
- package/src/components/PrintPageBreak/index.ts +0 -23
- package/src/components/PrintPageBreak/types.ts +0 -94
- package/src/components/PrintSection/PrintColumn.tsx +0 -104
- package/src/components/PrintSection/PrintDivider.tsx +0 -101
- package/src/components/PrintSection/PrintSection.tsx +0 -129
- package/src/components/PrintSection/PrintSectionContent.tsx +0 -75
- package/src/components/PrintSection/PrintSectionHeader.tsx +0 -97
- package/src/components/PrintSection/examples/PrintSectionShowcase.tsx +0 -258
- package/src/components/PrintSection/index.ts +0 -33
- package/src/components/PrintSection/types.ts +0 -155
- package/src/components/PrintText/PrintText.tsx +0 -116
- package/src/components/PrintText/index.ts +0 -16
- package/src/components/PrintText/types.ts +0 -24
- package/src/rbac/__tests__/integration.test.tsx +0 -218
- package/src/utils/print/PrintDataProcessor.ts +0 -390
- package/src/utils/print/examples/PrintUtilitiesShowcase.tsx +0 -397
- package/src/utils/print/index.ts +0 -29
- package/src/utils/print/types.ts +0 -196
- package/src/utils/print/usePrintOptimization.ts +0 -272
- /package/dist/{DataTable-7FMFXA7A.js.map → DataTable-4T627QFJ.js.map} +0 -0
- /package/dist/{api-H5A3H4IR.js.map → api-LUNF5O6M.js.map} +0 -0
- /package/dist/{appNameResolver-7GHF5ED2.js.map → appNameResolver-UURKN7NF.js.map} +0 -0
- /package/dist/{audit-BUW3LMJB.js.map → audit-6TOCAMKO.js.map} +0 -0
- /package/dist/{chunk-NRK4AIHQ.js.map → chunk-KBRACSJI.js.map} +0 -0
- /package/dist/{chunk-6MTY77WU.js.map → chunk-TNMXZLDR.js.map} +0 -0
package/dist/rbac/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ import '../unified-CMPjE_fv.js';
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
type UUID = string;
|
|
19
|
-
type Operation = 'read' | 'create' | 'update' | 'delete'
|
|
19
|
+
type Operation = 'read' | 'create' | 'update' | 'delete';
|
|
20
20
|
type Permission = `${Operation}:${string}`;
|
|
21
21
|
type AccessLevel = 'viewer' | 'participant' | 'planner' | 'admin' | 'super';
|
|
22
22
|
type Scope = {
|
|
@@ -365,6 +365,8 @@ interface PermissionCheckAuditEvent {
|
|
|
365
365
|
source: AuditEventSource;
|
|
366
366
|
bypass?: boolean;
|
|
367
367
|
duration_ms: number;
|
|
368
|
+
cache_hit?: boolean;
|
|
369
|
+
cache_source?: 'memory' | 'database' | 'rpc';
|
|
368
370
|
metadata?: Record<string, any>;
|
|
369
371
|
}
|
|
370
372
|
/**
|
|
@@ -1819,82 +1821,79 @@ declare function hasAllPermissions(input: {
|
|
|
1819
1821
|
*/
|
|
1820
1822
|
|
|
1821
1823
|
declare const GLOBAL_PERMISSIONS: {
|
|
1822
|
-
readonly MANAGE_ALL: Permission;
|
|
1823
1824
|
readonly READ_ALL: Permission;
|
|
1824
1825
|
readonly CREATE_ALL: Permission;
|
|
1825
1826
|
readonly UPDATE_ALL: Permission;
|
|
1826
1827
|
readonly DELETE_ALL: Permission;
|
|
1827
1828
|
};
|
|
1828
1829
|
declare const ORGANISATION_PERMISSIONS: {
|
|
1829
|
-
readonly MANAGE_ORGANISATION: Permission;
|
|
1830
1830
|
readonly READ_ORGANISATION: Permission;
|
|
1831
1831
|
readonly UPDATE_ORGANISATION: Permission;
|
|
1832
|
-
readonly
|
|
1832
|
+
readonly DELETE_ORGANISATION: Permission;
|
|
1833
1833
|
readonly READ_USERS: Permission;
|
|
1834
1834
|
readonly CREATE_USERS: Permission;
|
|
1835
1835
|
readonly UPDATE_USERS: Permission;
|
|
1836
1836
|
readonly DELETE_USERS: Permission;
|
|
1837
|
-
readonly MANAGE_ROLES: Permission;
|
|
1838
1837
|
readonly READ_ROLES: Permission;
|
|
1839
1838
|
readonly CREATE_ROLES: Permission;
|
|
1840
1839
|
readonly UPDATE_ROLES: Permission;
|
|
1841
1840
|
readonly DELETE_ROLES: Permission;
|
|
1842
|
-
readonly MANAGE_EVENTS: Permission;
|
|
1843
1841
|
readonly READ_EVENTS: Permission;
|
|
1844
1842
|
readonly CREATE_EVENTS: Permission;
|
|
1845
1843
|
readonly UPDATE_EVENTS: Permission;
|
|
1846
1844
|
readonly DELETE_EVENTS: Permission;
|
|
1847
|
-
readonly MANAGE_APPS: Permission;
|
|
1848
1845
|
readonly READ_APPS: Permission;
|
|
1849
1846
|
readonly CREATE_APPS: Permission;
|
|
1850
1847
|
readonly UPDATE_APPS: Permission;
|
|
1851
1848
|
readonly DELETE_APPS: Permission;
|
|
1852
1849
|
};
|
|
1853
1850
|
declare const EVENT_APP_PERMISSIONS: {
|
|
1854
|
-
readonly MANAGE_EVENT: Permission;
|
|
1855
1851
|
readonly READ_EVENT: Permission;
|
|
1852
|
+
readonly CREATE_EVENT: Permission;
|
|
1856
1853
|
readonly UPDATE_EVENT: Permission;
|
|
1857
|
-
readonly
|
|
1854
|
+
readonly DELETE_EVENT: Permission;
|
|
1858
1855
|
readonly READ_APP: Permission;
|
|
1856
|
+
readonly CREATE_APP: Permission;
|
|
1859
1857
|
readonly UPDATE_APP: Permission;
|
|
1860
|
-
readonly
|
|
1858
|
+
readonly DELETE_APP: Permission;
|
|
1861
1859
|
readonly READ_TEAM: Permission;
|
|
1862
1860
|
readonly CREATE_TEAM: Permission;
|
|
1863
1861
|
readonly UPDATE_TEAM: Permission;
|
|
1864
1862
|
readonly DELETE_TEAM: Permission;
|
|
1865
|
-
readonly MANAGE_TEAM_MEMBERS: Permission;
|
|
1866
1863
|
readonly READ_TEAM_MEMBERS: Permission;
|
|
1867
1864
|
readonly CREATE_TEAM_MEMBERS: Permission;
|
|
1868
1865
|
readonly UPDATE_TEAM_MEMBERS: Permission;
|
|
1869
1866
|
readonly DELETE_TEAM_MEMBERS: Permission;
|
|
1870
|
-
readonly MANAGE_EVENT_CONTENT: Permission;
|
|
1871
1867
|
readonly READ_EVENT_CONTENT: Permission;
|
|
1872
1868
|
readonly CREATE_EVENT_CONTENT: Permission;
|
|
1873
1869
|
readonly UPDATE_EVENT_CONTENT: Permission;
|
|
1874
1870
|
readonly DELETE_EVENT_CONTENT: Permission;
|
|
1875
|
-
readonly MANAGE_EVENT_SETTINGS: Permission;
|
|
1876
1871
|
readonly READ_EVENT_SETTINGS: Permission;
|
|
1872
|
+
readonly CREATE_EVENT_SETTINGS: Permission;
|
|
1877
1873
|
readonly UPDATE_EVENT_SETTINGS: Permission;
|
|
1874
|
+
readonly DELETE_EVENT_SETTINGS: Permission;
|
|
1878
1875
|
};
|
|
1879
1876
|
declare const PAGE_PERMISSIONS: {
|
|
1880
1877
|
readonly READ_PAGE: Permission;
|
|
1881
|
-
readonly
|
|
1878
|
+
readonly CREATE_PAGE: Permission;
|
|
1879
|
+
readonly UPDATE_PAGE: Permission;
|
|
1880
|
+
readonly DELETE_PAGE: Permission;
|
|
1882
1881
|
readonly READ_ADMIN: Permission;
|
|
1883
|
-
readonly
|
|
1882
|
+
readonly CREATE_ADMIN: Permission;
|
|
1883
|
+
readonly UPDATE_ADMIN: Permission;
|
|
1884
|
+
readonly DELETE_ADMIN: Permission;
|
|
1884
1885
|
readonly READ_DASHBOARD: Permission;
|
|
1885
|
-
readonly
|
|
1886
|
+
readonly CREATE_DASHBOARD: Permission;
|
|
1887
|
+
readonly UPDATE_DASHBOARD: Permission;
|
|
1888
|
+
readonly DELETE_DASHBOARD: Permission;
|
|
1886
1889
|
readonly READ_SETTINGS: Permission;
|
|
1887
|
-
readonly
|
|
1890
|
+
readonly CREATE_SETTINGS: Permission;
|
|
1891
|
+
readonly UPDATE_SETTINGS: Permission;
|
|
1892
|
+
readonly DELETE_SETTINGS: Permission;
|
|
1888
1893
|
readonly READ_REPORTS: Permission;
|
|
1889
|
-
readonly
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
readonly GLOBAL_ADMIN: readonly [`read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`];
|
|
1893
|
-
readonly ORG_ADMIN: readonly [`read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`];
|
|
1894
|
-
readonly EVENT_ADMIN: readonly [`read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`];
|
|
1895
|
-
readonly PLANNER: readonly [`read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`];
|
|
1896
|
-
readonly PARTICIPANT: readonly [`read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`];
|
|
1897
|
-
readonly VIEWER: readonly [`read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`, `read:${string}` | `create:${string}` | `update:${string}` | `delete:${string}` | `manage:${string}`];
|
|
1894
|
+
readonly CREATE_REPORTS: Permission;
|
|
1895
|
+
readonly UPDATE_REPORTS: Permission;
|
|
1896
|
+
readonly DELETE_REPORTS: Permission;
|
|
1898
1897
|
};
|
|
1899
1898
|
/**
|
|
1900
1899
|
* Validate that a permission string is properly formatted
|
|
@@ -1904,71 +1903,91 @@ declare const PERMISSION_GROUPS: {
|
|
|
1904
1903
|
*/
|
|
1905
1904
|
declare function isValidPermission(permission: string): permission is Permission;
|
|
1906
1905
|
/**
|
|
1907
|
-
* Get all permissions for a role
|
|
1906
|
+
* Get all permissions for a role - REMOVED
|
|
1907
|
+
*
|
|
1908
|
+
* @deprecated This function has been removed to ensure RBAC compliance.
|
|
1909
|
+
* Permissions must be queried from the rbac_page_permissions database table,
|
|
1910
|
+
* not hardcoded in application code. This allows organizations to customize
|
|
1911
|
+
* their own page-level permissions as required by the RBAC specification.
|
|
1912
|
+
*
|
|
1913
|
+
* To get permissions for a role, query the database:
|
|
1914
|
+
* ```typescript
|
|
1915
|
+
* const { data } = await supabase
|
|
1916
|
+
* .from('rbac_page_permissions')
|
|
1917
|
+
* .select('operation, allowed')
|
|
1918
|
+
* .eq('role_name', roleName)
|
|
1919
|
+
* .eq('organisation_id', organisationId)
|
|
1920
|
+
* .eq('allowed', true);
|
|
1921
|
+
* ```
|
|
1908
1922
|
*
|
|
1909
1923
|
* @param role - Role name
|
|
1910
|
-
* @returns
|
|
1924
|
+
* @returns Empty array (function deprecated)
|
|
1911
1925
|
*/
|
|
1912
1926
|
declare function getPermissionsForRole(role: string): Permission[];
|
|
1913
1927
|
declare const ALL_PERMISSIONS: {
|
|
1914
1928
|
readonly READ_PAGE: Permission;
|
|
1915
|
-
readonly
|
|
1929
|
+
readonly CREATE_PAGE: Permission;
|
|
1930
|
+
readonly UPDATE_PAGE: Permission;
|
|
1931
|
+
readonly DELETE_PAGE: Permission;
|
|
1916
1932
|
readonly READ_ADMIN: Permission;
|
|
1917
|
-
readonly
|
|
1933
|
+
readonly CREATE_ADMIN: Permission;
|
|
1934
|
+
readonly UPDATE_ADMIN: Permission;
|
|
1935
|
+
readonly DELETE_ADMIN: Permission;
|
|
1918
1936
|
readonly READ_DASHBOARD: Permission;
|
|
1919
|
-
readonly
|
|
1937
|
+
readonly CREATE_DASHBOARD: Permission;
|
|
1938
|
+
readonly UPDATE_DASHBOARD: Permission;
|
|
1939
|
+
readonly DELETE_DASHBOARD: Permission;
|
|
1920
1940
|
readonly READ_SETTINGS: Permission;
|
|
1921
|
-
readonly
|
|
1941
|
+
readonly CREATE_SETTINGS: Permission;
|
|
1942
|
+
readonly UPDATE_SETTINGS: Permission;
|
|
1943
|
+
readonly DELETE_SETTINGS: Permission;
|
|
1922
1944
|
readonly READ_REPORTS: Permission;
|
|
1923
|
-
readonly
|
|
1924
|
-
readonly
|
|
1945
|
+
readonly CREATE_REPORTS: Permission;
|
|
1946
|
+
readonly UPDATE_REPORTS: Permission;
|
|
1947
|
+
readonly DELETE_REPORTS: Permission;
|
|
1925
1948
|
readonly READ_EVENT: Permission;
|
|
1949
|
+
readonly CREATE_EVENT: Permission;
|
|
1926
1950
|
readonly UPDATE_EVENT: Permission;
|
|
1927
|
-
readonly
|
|
1951
|
+
readonly DELETE_EVENT: Permission;
|
|
1928
1952
|
readonly READ_APP: Permission;
|
|
1953
|
+
readonly CREATE_APP: Permission;
|
|
1929
1954
|
readonly UPDATE_APP: Permission;
|
|
1930
|
-
readonly
|
|
1955
|
+
readonly DELETE_APP: Permission;
|
|
1931
1956
|
readonly READ_TEAM: Permission;
|
|
1932
1957
|
readonly CREATE_TEAM: Permission;
|
|
1933
1958
|
readonly UPDATE_TEAM: Permission;
|
|
1934
1959
|
readonly DELETE_TEAM: Permission;
|
|
1935
|
-
readonly MANAGE_TEAM_MEMBERS: Permission;
|
|
1936
1960
|
readonly READ_TEAM_MEMBERS: Permission;
|
|
1937
1961
|
readonly CREATE_TEAM_MEMBERS: Permission;
|
|
1938
1962
|
readonly UPDATE_TEAM_MEMBERS: Permission;
|
|
1939
1963
|
readonly DELETE_TEAM_MEMBERS: Permission;
|
|
1940
|
-
readonly MANAGE_EVENT_CONTENT: Permission;
|
|
1941
1964
|
readonly READ_EVENT_CONTENT: Permission;
|
|
1942
1965
|
readonly CREATE_EVENT_CONTENT: Permission;
|
|
1943
1966
|
readonly UPDATE_EVENT_CONTENT: Permission;
|
|
1944
1967
|
readonly DELETE_EVENT_CONTENT: Permission;
|
|
1945
|
-
readonly MANAGE_EVENT_SETTINGS: Permission;
|
|
1946
1968
|
readonly READ_EVENT_SETTINGS: Permission;
|
|
1969
|
+
readonly CREATE_EVENT_SETTINGS: Permission;
|
|
1947
1970
|
readonly UPDATE_EVENT_SETTINGS: Permission;
|
|
1948
|
-
readonly
|
|
1971
|
+
readonly DELETE_EVENT_SETTINGS: Permission;
|
|
1949
1972
|
readonly READ_ORGANISATION: Permission;
|
|
1950
1973
|
readonly UPDATE_ORGANISATION: Permission;
|
|
1951
|
-
readonly
|
|
1974
|
+
readonly DELETE_ORGANISATION: Permission;
|
|
1952
1975
|
readonly READ_USERS: Permission;
|
|
1953
1976
|
readonly CREATE_USERS: Permission;
|
|
1954
1977
|
readonly UPDATE_USERS: Permission;
|
|
1955
1978
|
readonly DELETE_USERS: Permission;
|
|
1956
|
-
readonly MANAGE_ROLES: Permission;
|
|
1957
1979
|
readonly READ_ROLES: Permission;
|
|
1958
1980
|
readonly CREATE_ROLES: Permission;
|
|
1959
1981
|
readonly UPDATE_ROLES: Permission;
|
|
1960
1982
|
readonly DELETE_ROLES: Permission;
|
|
1961
|
-
readonly MANAGE_EVENTS: Permission;
|
|
1962
1983
|
readonly READ_EVENTS: Permission;
|
|
1963
1984
|
readonly CREATE_EVENTS: Permission;
|
|
1964
1985
|
readonly UPDATE_EVENTS: Permission;
|
|
1965
1986
|
readonly DELETE_EVENTS: Permission;
|
|
1966
|
-
readonly MANAGE_APPS: Permission;
|
|
1967
1987
|
readonly READ_APPS: Permission;
|
|
1968
1988
|
readonly CREATE_APPS: Permission;
|
|
1969
1989
|
readonly UPDATE_APPS: Permission;
|
|
1970
1990
|
readonly DELETE_APPS: Permission;
|
|
1971
|
-
readonly MANAGE_ALL: Permission;
|
|
1972
1991
|
readonly READ_ALL: Permission;
|
|
1973
1992
|
readonly CREATE_ALL: Permission;
|
|
1974
1993
|
readonly UPDATE_ALL: Permission;
|
|
@@ -1976,4 +1995,4 @@ declare const ALL_PERMISSIONS: {
|
|
|
1976
1995
|
};
|
|
1977
1996
|
type AllPermissions = typeof ALL_PERMISSIONS;
|
|
1978
1997
|
|
|
1979
|
-
export { ALL_PERMISSIONS, type AccessLevel, AccessLevelGuard, type AllPermissions, CACHE_PATTERNS, type DataAccessRecord, EVENT_APP_PERMISSIONS, EnhancedNavigationMenu, type EnhancedNavigationMenuProps, type EventAppRole, GLOBAL_PERMISSIONS, type GlobalRole, InvalidScopeError, type LogLevel, MissingUserContextError, type NavigationAccessRecord, type NavigationContextType, NavigationGuard, type NavigationGuardProps, type NavigationItem, NavigationProvider, type NavigationProviderProps, ORGANISATION_PERMISSIONS, type Operation, OrganisationContextRequiredError, type OrganisationRole, PAGE_PERMISSIONS,
|
|
1998
|
+
export { ALL_PERMISSIONS, type AccessLevel, AccessLevelGuard, type AllPermissions, CACHE_PATTERNS, type DataAccessRecord, EVENT_APP_PERMISSIONS, EnhancedNavigationMenu, type EnhancedNavigationMenuProps, type EventAppRole, GLOBAL_PERMISSIONS, type GlobalRole, InvalidScopeError, type LogLevel, MissingUserContextError, type NavigationAccessRecord, type NavigationContextType, NavigationGuard, type NavigationGuardProps, type NavigationItem, NavigationProvider, type NavigationProviderProps, ORGANISATION_PERMISSIONS, type Operation, OrganisationContextRequiredError, type OrganisationRole, PAGE_PERMISSIONS, type PageAccessRecord, type PagePermissionContextType, PagePermissionGuard, type PagePermissionGuardProps, PagePermissionProvider, type PagePermissionProviderProps, type Permission, type PermissionCheck, PermissionDeniedError, PermissionEnforcer, type PermissionEnforcerProps, PermissionGuard, type PermissionMap, RBACAuditManager, RBACCache, type RBACConfig, RBACEngine, RBACError, type RBACLogger, RBACNotInitializedError, RoleBasedRouter, type RoleBasedRouterContextType, type RoleBasedRouterProps, type RouteAccessRecord, type RouteConfig, type Scope, type SecureDataContextType, SecureDataProvider, type SecureDataProviderProps, SecureSupabaseClient, type UUID, createAuditManager, createRBACConfig, createRBACEngine, createRBACExpressMiddleware, createRBACMiddleware, createSecureClient, emitAuditEvent, fromSupabaseClient, getAccessLevel, getGlobalAuditManager, getPermissionMap, getPermissionsForRole, getRBACConfig, getRBACLogger, hasAllPermissions, hasAnyPermission, hasAnyPermissionCached, hasPermission, hasPermissionCached, isDebugMode, isDevelopmentMode, isPermitted, isPermittedCached, isValidPermission, rbacCache, setGlobalAuditManager, setupRBAC, useAccessLevel, useCachedPermissions, useCan, useHasAllPermissions, useHasAnyPermission, useMultiplePermissions, useNavigationPermissions, usePagePermissions, usePermissions, useRBAC, useRoleBasedRouter, useSecureData, withAccessLevelGuard, withPermissionGuard, withRoleGuard };
|
package/dist/rbac/index.js
CHANGED
|
@@ -8,7 +8,6 @@ import {
|
|
|
8
8
|
NavigationProvider,
|
|
9
9
|
ORGANISATION_PERMISSIONS,
|
|
10
10
|
PAGE_PERMISSIONS,
|
|
11
|
-
PERMISSION_GROUPS,
|
|
12
11
|
PagePermissionGuard,
|
|
13
12
|
PagePermissionProvider,
|
|
14
13
|
PermissionEnforcer,
|
|
@@ -31,7 +30,7 @@ import {
|
|
|
31
30
|
withAccessLevelGuard,
|
|
32
31
|
withPermissionGuard,
|
|
33
32
|
withRoleGuard
|
|
34
|
-
} from "../chunk-
|
|
33
|
+
} from "../chunk-RQD3D2CO.js";
|
|
35
34
|
import "../chunk-TYHR5X4W.js";
|
|
36
35
|
import {
|
|
37
36
|
useAccessLevel,
|
|
@@ -42,7 +41,7 @@ import {
|
|
|
42
41
|
useMultiplePermissions,
|
|
43
42
|
usePermissions,
|
|
44
43
|
useRBAC as useRBAC2
|
|
45
|
-
} from "../chunk-
|
|
44
|
+
} from "../chunk-UQE2Y64H.js";
|
|
46
45
|
import {
|
|
47
46
|
CACHE_PATTERNS,
|
|
48
47
|
RBACCache,
|
|
@@ -62,23 +61,23 @@ import {
|
|
|
62
61
|
isPermittedCached,
|
|
63
62
|
rbacCache,
|
|
64
63
|
setupRBAC
|
|
65
|
-
} from "../chunk-
|
|
64
|
+
} from "../chunk-KLPVOPRI.js";
|
|
66
65
|
import {
|
|
67
66
|
RBACAuditManager,
|
|
68
67
|
createAuditManager,
|
|
69
68
|
emitAuditEvent,
|
|
70
69
|
getGlobalAuditManager,
|
|
71
70
|
setGlobalAuditManager
|
|
72
|
-
} from "../chunk-
|
|
73
|
-
import "../chunk-
|
|
74
|
-
import "../chunk-
|
|
71
|
+
} from "../chunk-B2WTCLCV.js";
|
|
72
|
+
import "../chunk-KBRACSJI.js";
|
|
73
|
+
import "../chunk-ZOD2ZY6X.js";
|
|
75
74
|
import {
|
|
76
75
|
RBACProvider,
|
|
77
76
|
useRBAC
|
|
78
|
-
} from "../chunk-
|
|
79
|
-
import "../chunk-
|
|
80
|
-
import "../chunk-
|
|
81
|
-
import "../chunk-
|
|
77
|
+
} from "../chunk-AQFRLC7K.js";
|
|
78
|
+
import "../chunk-STT7INZR.js";
|
|
79
|
+
import "../chunk-5BSLGBYI.js";
|
|
80
|
+
import "../chunk-D7ARGIA3.js";
|
|
82
81
|
import "../chunk-PLDDJCW6.js";
|
|
83
82
|
export {
|
|
84
83
|
ALL_PERMISSIONS,
|
|
@@ -91,7 +90,6 @@ export {
|
|
|
91
90
|
NavigationProvider,
|
|
92
91
|
ORGANISATION_PERMISSIONS,
|
|
93
92
|
PAGE_PERMISSIONS,
|
|
94
|
-
PERMISSION_GROUPS,
|
|
95
93
|
PagePermissionGuard,
|
|
96
94
|
PagePermissionProvider,
|
|
97
95
|
PermissionEnforcer,
|
package/dist/styles/core.css
CHANGED
|
@@ -33,23 +33,6 @@
|
|
|
33
33
|
--color-card: var(--color-main-50);
|
|
34
34
|
--color-card-foreground: var(--color-main-950);
|
|
35
35
|
|
|
36
|
-
/* Print-specific variables */
|
|
37
|
-
--print-margin: 0.5in;
|
|
38
|
-
--print-font-size: 12pt;
|
|
39
|
-
--print-line-height: 1.4;
|
|
40
|
-
--print-color: #000;
|
|
41
|
-
--print-bg: #fff;
|
|
42
|
-
--print-first-page-margin: 1in;
|
|
43
|
-
--print-cover-logo-size: 120px;
|
|
44
|
-
--print-cover-title-size: 2.5rem;
|
|
45
|
-
--print-page-width: 8.27in;
|
|
46
|
-
/* A4 width */
|
|
47
|
-
--print-page-height: 11.69in;
|
|
48
|
-
/* A4 height */
|
|
49
|
-
--print-landscape-width: 11.69in;
|
|
50
|
-
/* A4 landscape width */
|
|
51
|
-
--print-landscape-height: 8.27in;
|
|
52
|
-
/* A4 landscape height */
|
|
53
36
|
}
|
|
54
37
|
|
|
55
38
|
@layer base {
|
|
@@ -256,112 +239,4 @@
|
|
|
256
239
|
|
|
257
240
|
@layer utilities {
|
|
258
241
|
|
|
259
|
-
/* Print-specific utilities */
|
|
260
|
-
.print-break-avoid {
|
|
261
|
-
page-break-inside: avoid;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
.print-break-before {
|
|
265
|
-
page-break-before: always;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
.print-break-after {
|
|
269
|
-
page-break-after: always;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
/* Print page size controls */
|
|
273
|
-
.print-a4-portrait {
|
|
274
|
-
@media print {
|
|
275
|
-
@page {
|
|
276
|
-
size: A4 portrait;
|
|
277
|
-
margin: var(--print-margin);
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
.print-a4-landscape {
|
|
283
|
-
@media print {
|
|
284
|
-
@page {
|
|
285
|
-
size: A4 landscape;
|
|
286
|
-
margin: var(--print-margin);
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
/* First page header styles */
|
|
292
|
-
.print-first-page-header {
|
|
293
|
-
@media print {
|
|
294
|
-
@page :first {
|
|
295
|
-
margin-top: var(--print-first-page-margin);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
.print-cover-header {
|
|
301
|
-
@media print {
|
|
302
|
-
@page :first {
|
|
303
|
-
margin-top: var(--print-first-page-margin);
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
.print-subsequent-header {
|
|
309
|
-
@media print {
|
|
310
|
-
@page :not(:first) {
|
|
311
|
-
margin-top: var(--print-margin);
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
/* Print-specific layouts */
|
|
317
|
-
@media print {
|
|
318
|
-
.print-hidden {
|
|
319
|
-
display: none !important;
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
.print-visible {
|
|
323
|
-
display: block !important;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
.print-first-page-only {
|
|
327
|
-
display: block;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
.print-subsequent-pages-only {
|
|
331
|
-
display: none;
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
@media print {
|
|
336
|
-
@page :not(:first) {
|
|
337
|
-
.print-first-page-only {
|
|
338
|
-
display: none !important;
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
.print-subsequent-pages-only {
|
|
342
|
-
display: block !important;
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
/* Print typography */
|
|
348
|
-
.print-text {
|
|
349
|
-
@media print {
|
|
350
|
-
font-size: var(--print-font-size);
|
|
351
|
-
line-height: var(--print-line-height);
|
|
352
|
-
color: var(--print-color);
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
/* Print layout container */
|
|
357
|
-
.print-layout {
|
|
358
|
-
@media print {
|
|
359
|
-
width: 100%;
|
|
360
|
-
max-width: none;
|
|
361
|
-
margin: 0;
|
|
362
|
-
padding: 0;
|
|
363
|
-
background: var(--print-bg);
|
|
364
|
-
color: var(--print-color);
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
242
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { D as DataRecord, t as DataTableAction, u as DataTableColumn, r as Event
|
|
|
3
3
|
import { SupabaseClient } from '@supabase/supabase-js';
|
|
4
4
|
export { D as Database } from './database-C3Szpi5J.js';
|
|
5
5
|
export { C as ChangePasswordFormValues, t as ContactFormData, F as FormData, m as LoginFormData, L as LoginFormValues, P as PasswordResetFormValues, q as ProfileFormData, o as RegistrationFormData, R as RegistrationFormValues, S as SecureLoginFormValues, k as SecurePasswordResetFormValues, j as SecureRegistrationFormValues, U as UserProfileFormValues, V as ValidationError, a as ValidationResult, g as changePasswordSchema, w as combineSchemas, i as contactFormSchema, d as dateSchema, e as emailSchema, l as loginSchema, n as nameSchema, f as passwordResetSchema, b as passwordSchema, p as phoneSchema, v as pickSchema, r as registrationSchema, c as secureLoginSchema, s as securePasswordSchema, u as urlSchema, h as userProfileSchema } from './validation-PM_iOaTI.js';
|
|
6
|
+
export { b as FileCategory, a as FileMetadata, F as FileReference, d as FileReferenceService, c as FileUploadOptions, e as FileUploadResult, S as StorageUploadOptions } from './file-reference-9xUOnwyt.js';
|
|
6
7
|
import 'zod';
|
|
7
8
|
|
|
8
9
|
/**
|
|
@@ -102,7 +103,7 @@ type TableName = 'users' | 'rbac_global_roles' | 'rbac_organisation_roles' | 'rb
|
|
|
102
103
|
/**
|
|
103
104
|
* Supabase RPC function names
|
|
104
105
|
*/
|
|
105
|
-
type RPCFunction = '
|
|
106
|
+
type RPCFunction = 'rbac_permission_check' | 'rbac_permissions_get' | 'rbac_access_validate' | 'rbac_page_access_check' | 'rbac_role_grant' | 'rbac_role_revoke' | 'rbac_roles_list' | 'rbac_role_validate' | 'rbac_session_track' | 'rbac_audit_log' | 'get_pace_user_events';
|
|
106
107
|
/**
|
|
107
108
|
* Helper type for Supabase filter operations
|
|
108
109
|
*/
|
package/dist/types.js
CHANGED
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
import {
|
|
20
20
|
AccessLevel,
|
|
21
21
|
AuthErrorCode,
|
|
22
|
+
FileCategory,
|
|
22
23
|
PermissionErrorCode,
|
|
23
24
|
createPermissionString,
|
|
24
25
|
createRequestId,
|
|
@@ -29,7 +30,7 @@ import {
|
|
|
29
30
|
isRequestId,
|
|
30
31
|
isSessionToken,
|
|
31
32
|
isUserId
|
|
32
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-STT7INZR.js";
|
|
33
34
|
import "./chunk-PLDDJCW6.js";
|
|
34
35
|
|
|
35
36
|
// src/types/index.ts
|
|
@@ -51,6 +52,7 @@ function isSession(obj) {
|
|
|
51
52
|
export {
|
|
52
53
|
AccessLevel,
|
|
53
54
|
AuthErrorCode,
|
|
55
|
+
FileCategory,
|
|
54
56
|
PermissionErrorCode,
|
|
55
57
|
changePasswordSchema,
|
|
56
58
|
combineSchemas,
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types/index.ts","../src/types/guards.ts"],"sourcesContent":["/**\n * @file Types Module Exports\n * @package @jmruthers/pace-core\n * @module Types\n * @since 0.1.0\n * \n * Complete collection of type definitions for the PACE Core library.\n * Use this import path when you need access to types not included in the main export.\n * \n * @example\n * // Specialized type imports\n * import { User, Event, AccessLevel } from '@jmruthers/pace-core/types';\n * \n * // For common types, prefer the main export:\n * import { ButtonProps, CardProps } from '@jmruthers/pace-core';\n */\n\n// Core type exports\nexport * from './unified';\nexport * from './supabase';\nexport * from './database';\nexport * from './guards';\nexport * from './validation';\nexport * from './theme';\nexport * from './security';\n","\n/**\n * @file Type Guards\n */\n\nimport { AuthErrorCode, User, Session } from './unified';\n\nexport function isAuthErrorCode(code: string): code is AuthErrorCode {\n return Object.values(AuthErrorCode).includes(code as AuthErrorCode);\n}\n\nexport function isUser(obj: unknown): obj is User {\n const candidate = obj as Partial<User> | null | undefined;\n return (\n candidate != null &&\n typeof candidate === 'object' &&\n typeof candidate.id === 'string' &&\n typeof candidate.created_at === 'string'\n );\n}\n\nexport function isSession(obj: unknown): obj is Session {\n const candidate = obj as Partial<Session> | null | undefined;\n return (\n candidate != null &&\n typeof candidate === 'object' &&\n typeof candidate.access_token === 'string' &&\n typeof candidate.user === 'object'\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/types/index.ts","../src/types/guards.ts"],"sourcesContent":["/**\n * @file Types Module Exports\n * @package @jmruthers/pace-core\n * @module Types\n * @since 0.1.0\n * \n * Complete collection of type definitions for the PACE Core library.\n * Use this import path when you need access to types not included in the main export.\n * \n * @example\n * // Specialized type imports\n * import { User, Event, AccessLevel } from '@jmruthers/pace-core/types';\n * \n * // For common types, prefer the main export:\n * import { ButtonProps, CardProps } from '@jmruthers/pace-core';\n */\n\n// Core type exports\nexport * from './unified';\nexport * from './supabase';\nexport * from './database';\nexport * from './guards';\nexport * from './validation';\nexport * from './theme';\nexport * from './security';\n","\n/**\n * @file Type Guards\n */\n\nimport { AuthErrorCode, User, Session } from './unified';\n\nexport function isAuthErrorCode(code: string): code is AuthErrorCode {\n return Object.values(AuthErrorCode).includes(code as AuthErrorCode);\n}\n\nexport function isUser(obj: unknown): obj is User {\n const candidate = obj as Partial<User> | null | undefined;\n return (\n candidate != null &&\n typeof candidate === 'object' &&\n typeof candidate.id === 'string' &&\n typeof candidate.created_at === 'string'\n );\n}\n\nexport function isSession(obj: unknown): obj is Session {\n const candidate = obj as Partial<Session> | null | undefined;\n return (\n candidate != null &&\n typeof candidate === 'object' &&\n typeof candidate.access_token === 'string' &&\n typeof candidate.user === 'object'\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA;;;ACbA;AAEO,SAAS,gBAAgB,MAAqC;AACnE,SAAO,OAAO,OAAO,aAAa,EAAE,SAAS,IAAqB;AACpE;AAEO,SAAS,OAAO,KAA2B;AAChD,QAAM,YAAY;AAClB,SACE,aAAa,QACb,OAAO,cAAc,YACrB,OAAO,UAAU,OAAO,YACxB,OAAO,UAAU,eAAe;AAEpC;AAEO,SAAS,UAAU,KAA8B;AACtD,QAAM,YAAY;AAClB,SACE,aAAa,QACb,OAAO,cAAc,YACrB,OAAO,UAAU,iBAAiB,YAClC,OAAO,UAAU,SAAS;AAE9B;","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { O as OrganisationRole, a as OrganisationPermission, S as SuperAdminContext } from './organisation-t-vvQC3g.js';
|
|
2
2
|
import { r as Event } from './unified-CMPjE_fv.js';
|
|
3
3
|
import { SupabaseClient } from '@supabase/supabase-js';
|
|
4
4
|
import { D as Database } from './database-C3Szpi5J.js';
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
export { A as AppConfig, S as SecureDataAccess, a as cn, g as getAppConfig, d as getCurrentAppId, b as getCurrentAppName, s as setAppConfig } from './appConfig-
|
|
1
|
+
export { A as AppConfig, S as SecureDataAccess, a as cn, g as getAppConfig, d as getCurrentAppId, b as getCurrentAppName, s as setAppConfig } from './appConfig-DjpeG6P-.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
export { u as useComponentPerformance } from './useComponentPerformance-DE9l5RkL.js';
|
|
4
4
|
import * as date_fns from 'date-fns';
|
|
5
5
|
import { D as DataTable } from './DataTable-DqDDvBfI.js';
|
|
6
6
|
import React__default, { ComponentType } from 'react';
|
|
7
7
|
import { SupabaseClient } from '@supabase/supabase-js';
|
|
8
|
-
import './organisation-CO3Sh3_D.js';
|
|
9
8
|
import 'clsx';
|
|
10
9
|
import 'react/jsx-runtime';
|
|
11
10
|
import './types-E5WSpEtz.js';
|
|
@@ -419,8 +418,8 @@ declare const LazyDataTable: typeof DataTable;
|
|
|
419
418
|
*/
|
|
420
419
|
declare function transformPermissionMapToBoolean(permissions: Record<string, unknown>): Record<string, boolean>;
|
|
421
420
|
declare function hasPermission(permissions: Record<string, boolean>, permission: string): boolean;
|
|
422
|
-
declare function hasAnyPermission(permissions: Record<string, boolean>, permissionList: string[]): boolean;
|
|
423
|
-
declare function hasAllPermissions(permissions: Record<string, boolean>, permissionList: string[]): boolean;
|
|
421
|
+
declare function hasAnyPermission(permissions: Record<string, boolean>, permissionList: string[] | null | undefined): boolean;
|
|
422
|
+
declare function hasAllPermissions(permissions: Record<string, boolean>, permissionList: string[] | null | undefined): boolean;
|
|
424
423
|
|
|
425
424
|
/**
|
|
426
425
|
* @file Permission type definitions and utilities
|