@jmruthers/pace-core 0.6.5 → 0.6.7
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/CHANGELOG.md +104 -0
- package/README.md +5 -403
- package/audit-tool/00-dependencies.cjs +394 -0
- package/audit-tool/audits/01-pace-core-compliance.cjs +556 -0
- package/audit-tool/audits/02-project-structure.cjs +255 -0
- package/audit-tool/audits/03-architecture.cjs +196 -0
- package/audit-tool/audits/04-code-quality.cjs +149 -0
- package/audit-tool/audits/05-styling.cjs +224 -0
- package/audit-tool/audits/06-security-rbac.cjs +544 -0
- package/audit-tool/audits/07-api-tech-stack.cjs +301 -0
- package/audit-tool/audits/08-testing-documentation.cjs +202 -0
- package/audit-tool/audits/09-operations.cjs +208 -0
- package/audit-tool/index.cjs +291 -0
- package/audit-tool/utils/code-utils.cjs +218 -0
- package/audit-tool/utils/file-utils.cjs +230 -0
- package/audit-tool/utils/report-utils.cjs +241 -0
- package/core-usage-manifest.json +93 -0
- package/cursor-rules/00-standards-overview.mdc +156 -0
- package/cursor-rules/01-pace-core-compliance.mdc +586 -0
- package/cursor-rules/02-project-structure.mdc +42 -4
- package/cursor-rules/{03-solid-principles.mdc → 03-architecture.mdc} +126 -10
- package/cursor-rules/04-code-quality.mdc +419 -0
- package/cursor-rules/{08-markup-quality.mdc → 05-styling.mdc} +104 -34
- package/cursor-rules/06-security-rbac.mdc +518 -0
- package/cursor-rules/07-api-tech-stack.mdc +377 -0
- package/cursor-rules/08-testing-documentation.mdc +324 -0
- package/cursor-rules/09-operations.mdc +365 -0
- package/dist/{AuthService-Cb34EQs3.d.ts → AuthService-DmfO5rGS.d.ts} +10 -0
- package/dist/DataTable-7PMH7XN7.js +15 -0
- package/dist/{DataTable-BMRU8a1j.d.ts → DataTable-DRUIgtUH.d.ts} +1 -1
- package/dist/{PublicPageProvider-QTFVrL-Z.d.ts → PublicPageProvider-DlsCaR5v.d.ts} +33 -72
- package/dist/UnifiedAuthProvider-ZT6TIGM7.js +7 -0
- package/dist/api-Y4MQWOFW.js +4 -0
- package/dist/audit-MYQXYZFU.js +3 -0
- package/dist/{chunk-DGUM43GV.js → chunk-3RG5ZIWI.js} +1 -4
- package/dist/{chunk-QXHPKYJV.js → chunk-4SXLQIZO.js} +1 -26
- package/dist/{chunk-UPPMRMYG.js → chunk-5X4QLXRG.js} +73 -151
- package/dist/chunk-6F3IILHI.js +62 -0
- package/dist/{chunk-E66EQZE6.js → chunk-6GLLNA6U.js} +3 -9
- package/dist/{chunk-ZSAAAMVR.js → chunk-6QYDGKQY.js} +1 -4
- package/dist/{chunk-FMUCXFII.js → chunk-7ILTDCL2.js} +9 -5
- package/dist/{chunk-M43Y4SSO.js → chunk-A3W6LW53.js} +15 -13
- package/dist/{chunk-63FOKYGO.js → chunk-AHU7G2R5.js} +2 -11
- package/dist/{chunk-HU2C6SSC.js → chunk-BM4CQ5P3.js} +606 -559
- package/dist/chunk-C7NSAPTL.js +1 -0
- package/dist/{chunk-J36DSWQK.js → chunk-FEJLJNWA.js} +7 -41
- package/dist/{chunk-IHB5DR3H.js → chunk-FTCRZOG2.js} +188 -387
- package/dist/{chunk-G37KK66H.js → chunk-FYHN4DD5.js} +60 -19
- package/dist/chunk-GHYHJTYV.js +994 -0
- package/dist/{chunk-VBXEHIUJ.js → chunk-HF6O3O37.js} +6 -88
- package/dist/{chunk-FFQEQTNW.js → chunk-IUBRCBSY.js} +134 -45
- package/dist/{chunk-6COVEUS7.js → chunk-JGWDVX64.js} +983 -1034
- package/dist/{chunk-RGAWHO7N.js → chunk-L4XMVJKY.js} +77 -222
- package/dist/chunk-MBADTM7L.js +64 -0
- package/dist/{chunk-M7MPQISP.js → chunk-OJ4SKRSV.js} +3 -16
- package/dist/{chunk-IVOFDYWT.js → chunk-Q7Q7V5NV.js} +2109 -1604
- package/dist/{chunk-JGRYX5UX.js → chunk-S7DKJPLT.js} +29 -58
- package/dist/{chunk-PWLANIRT.js → chunk-TTRFSOKR.js} +1 -7
- package/dist/{chunk-5DRSZLL2.js → chunk-UH3NTO3F.js} +1 -6
- package/dist/{chunk-NTM7ZSB6.js → chunk-VBCS3DUA.js} +261 -168
- package/dist/{chunk-EFN2EIMK.js → chunk-ZFYPMX46.js} +271 -87
- package/dist/{chunk-L4OXEN46.js → chunk-ZKAWKYT4.js} +10 -24
- package/dist/components.d.ts +7 -5
- package/dist/components.js +46 -257
- package/dist/{database.generated-CzIvgcPu.d.ts → database.generated-CcnC_DRc.d.ts} +4795 -3691
- package/dist/eslint-rules/index.cjs +35 -0
- package/{src/eslint-rules/pace-core-compliance.cjs → dist/eslint-rules/rules/01-pace-core-compliance.cjs} +234 -235
- package/dist/eslint-rules/rules/04-code-quality.cjs +290 -0
- package/dist/eslint-rules/rules/05-styling.cjs +61 -0
- package/dist/eslint-rules/rules/06-security-rbac.cjs +806 -0
- package/dist/eslint-rules/rules/07-api-tech-stack.cjs +263 -0
- package/dist/eslint-rules/rules/08-testing.cjs +94 -0
- package/dist/eslint-rules/utils/helpers.cjs +42 -0
- package/dist/eslint-rules/utils/manifest-loader.cjs +75 -0
- package/dist/hooks.d.ts +6 -6
- package/dist/hooks.js +62 -172
- package/dist/icons/index.d.ts +1 -0
- package/dist/icons/index.js +1 -0
- package/dist/index.d.ts +12 -11
- package/dist/index.js +67 -660
- package/dist/providers.d.ts +2 -2
- package/dist/providers.js +8 -35
- package/dist/rbac/eslint-rules.d.ts +46 -44
- package/dist/rbac/eslint-rules.js +7 -4
- package/dist/rbac/index.d.ts +109 -586
- package/dist/rbac/index.js +14 -207
- package/dist/styles/index.js +2 -12
- package/dist/theming/runtime.d.ts +14 -1
- package/dist/theming/runtime.js +3 -19
- package/dist/{timezone-CHhWg6b4.d.ts → timezone-BZe_eUxx.d.ts} +175 -1
- package/dist/{types-CkbwOr4Y.d.ts → types-DXstZpNI.d.ts} +4 -17
- package/dist/types-t9H8qKRw.d.ts +55 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.js +7 -94
- package/dist/{usePublicRouteParams-ClnV4tnv.d.ts → usePublicRouteParams-MamNgwqe.d.ts} +20 -20
- package/dist/utils.d.ts +24 -117
- package/dist/utils.js +54 -392
- package/docs/README.md +17 -7
- package/docs/api/README.md +4 -402
- package/docs/api/modules.md +301 -871
- package/docs/api-reference/components.md +21 -21
- package/docs/api-reference/deprecated.md +31 -6
- package/docs/api-reference/hooks.md +80 -80
- package/docs/api-reference/rpc-functions.md +78 -3
- package/docs/api-reference/types.md +1 -1
- package/docs/api-reference/utilities.md +1 -1
- package/docs/architecture/README.md +1 -1
- package/docs/core-concepts/events.md +3 -3
- package/docs/core-concepts/organisations.md +6 -6
- package/docs/core-concepts/permissions.md +6 -6
- package/docs/documentation-index.md +12 -18
- package/docs/getting-started/cursor-rules.md +3 -23
- package/docs/getting-started/dependencies.md +650 -0
- package/docs/getting-started/documentation-index.md +1 -1
- package/docs/getting-started/examples/README.md +4 -4
- package/docs/getting-started/examples/full-featured-app.md +1 -1
- package/docs/getting-started/faq.md +2 -2
- package/docs/getting-started/installation-guide.md +20 -7
- package/docs/getting-started/quick-reference.md +4 -4
- package/docs/getting-started/quick-start.md +23 -12
- package/docs/implementation-guides/authentication.md +15 -15
- package/docs/implementation-guides/component-styling.md +1 -1
- package/docs/implementation-guides/data-tables.md +126 -33
- package/docs/implementation-guides/datatable-rbac-usage.md +1 -1
- package/docs/implementation-guides/dynamic-colors.md +3 -3
- package/docs/implementation-guides/file-upload-storage.md +2 -2
- package/docs/implementation-guides/hierarchical-datatable.md +40 -60
- package/docs/implementation-guides/inactivity-tracking.md +3 -3
- package/docs/implementation-guides/large-datasets.md +3 -2
- package/docs/implementation-guides/organisation-security.md +2 -2
- package/docs/implementation-guides/performance.md +2 -2
- package/docs/implementation-guides/permission-enforcement.md +5 -1
- package/docs/migration/V0.3.44_organisation-context-timing-fix.md +1 -1
- package/docs/migration/V0.4.0_rbac-migration.md +6 -6
- package/docs/rbac/MIGRATION_GUIDE.md +819 -0
- package/docs/rbac/RBAC_CONTRACT.md +724 -0
- package/docs/rbac/README.md +17 -8
- package/docs/rbac/advanced-patterns.md +6 -6
- package/docs/rbac/api-reference.md +20 -20
- package/docs/rbac/edge-functions-guide.md +376 -0
- package/docs/rbac/event-based-apps.md +3 -3
- package/docs/rbac/examples.md +41 -41
- package/docs/rbac/getting-started.md +37 -37
- package/docs/rbac/performance.md +1 -1
- package/docs/rbac/quick-start.md +52 -52
- package/docs/rbac/secure-client-protection.md +1 -35
- package/docs/rbac/troubleshooting.md +1 -1
- package/docs/security/README.md +5 -5
- package/docs/standards/0-standards-overview.md +220 -0
- package/docs/standards/1-pace-core-compliance-standards.md +986 -0
- package/docs/standards/2-project-structure-standards.md +949 -0
- package/docs/standards/3-architecture-standards.md +606 -0
- package/docs/standards/4-code-quality-standards.md +728 -0
- package/docs/standards/5-styling-standards.md +348 -0
- package/docs/standards/{07-rbac-and-rls-standard.md → 6-security-rbac-standards.md} +269 -66
- package/docs/standards/7-api-tech-stack-standards.md +662 -0
- package/docs/standards/8-testing-documentation-standards.md +401 -0
- package/docs/standards/9-operations-standards.md +1102 -0
- package/docs/standards/README.md +185 -57
- package/docs/troubleshooting/README.md +4 -4
- package/docs/troubleshooting/common-issues.md +2 -2
- package/docs/troubleshooting/debugging.md +9 -9
- package/docs/troubleshooting/migration.md +4 -4
- package/docs/troubleshooting/organisation-context-setup.md +42 -19
- package/eslint-config-pace-core.cjs +33 -6
- package/package.json +35 -23
- package/scripts/install-cursor-rules.cjs +25 -6
- package/scripts/install-eslint-config.cjs +284 -0
- package/src/__tests__/fixtures/supabase.ts +1 -1
- package/src/__tests__/helpers/__tests__/component-test-utils.test.tsx +3 -3
- package/src/__tests__/helpers/__tests__/optimized-test-setup.test.ts +1 -1
- package/src/__tests__/helpers/__tests__/supabaseMock.test.ts +1 -1
- package/src/__tests__/helpers/__tests__/test-providers.test.tsx +2 -2
- package/src/__tests__/helpers/__tests__/test-utils.test.tsx +13 -13
- package/src/__tests__/helpers/component-test-utils.tsx +1 -1
- package/src/__tests__/helpers/supabaseMock.ts +2 -2
- package/src/__tests__/integration/UserProfile.test.tsx +14 -14
- package/src/__tests__/public-recipe-view.test.ts +38 -9
- package/src/__tests__/rbac/PagePermissionGuard.test.tsx +6 -6
- package/src/__tests__/templates/accessibility.test.template.tsx +9 -9
- package/src/__tests__/templates/component.test.template.tsx +18 -15
- package/src/components/Button/Button.tsx +5 -1
- package/src/components/Calendar/Calendar.tsx +201 -47
- package/src/components/ContextSelector/ContextSelector.tsx +106 -119
- package/src/components/DataTable/AUDIT_REPORT.md +293 -0
- package/src/components/DataTable/__tests__/DataTableCore.test.tsx +10 -2
- package/src/components/DataTable/__tests__/a11y.basic.test.tsx +10 -4
- package/src/components/DataTable/__tests__/test-utils/sharedTestUtils.tsx +9 -9
- package/src/components/DataTable/components/ColumnFilter.tsx +63 -74
- package/src/components/DataTable/components/ColumnVisibilityDropdown.tsx +43 -41
- package/src/components/DataTable/components/DataTableCore.tsx +186 -13
- package/src/components/DataTable/components/DataTableErrorBoundary.tsx +9 -11
- package/src/components/DataTable/components/DataTableLayout.tsx +35 -21
- package/src/components/DataTable/components/EditFields.tsx +23 -3
- package/src/components/DataTable/components/EditableRow.tsx +12 -9
- package/src/components/DataTable/components/EmptyState.tsx +10 -9
- package/src/components/DataTable/components/FilterRow.tsx +2 -4
- package/src/components/DataTable/components/ImportModal.tsx +124 -126
- package/src/components/DataTable/components/LoadingState.tsx +5 -6
- package/src/components/DataTable/components/RowComponent.tsx +12 -0
- package/src/components/DataTable/components/SortIndicator.tsx +50 -0
- package/src/components/DataTable/components/__tests__/COVERAGE_NOTE.md +4 -4
- package/src/components/DataTable/components/__tests__/ColumnFilter.test.tsx +23 -82
- package/src/components/DataTable/components/__tests__/DataTableErrorBoundary.test.tsx +37 -9
- package/src/components/DataTable/components/__tests__/EmptyState.test.tsx +7 -4
- package/src/components/DataTable/components/__tests__/FilterRow.test.tsx +12 -4
- package/src/components/DataTable/components/__tests__/LoadingState.test.tsx +41 -27
- package/src/components/DataTable/components/hooks/usePermissionTracking.ts +0 -4
- package/src/components/DataTable/components/index.ts +2 -1
- package/src/components/DataTable/hooks/__tests__/useDataTableState.test.ts +51 -47
- package/src/components/DataTable/hooks/useDataTablePermissions.ts +24 -21
- package/src/components/DataTable/hooks/useDataTableState.ts +125 -9
- package/src/components/DataTable/hooks/useTableColumns.ts +40 -2
- package/src/components/DataTable/hooks/useTableHandlers.ts +11 -0
- package/src/components/DataTable/types.ts +5 -18
- package/src/components/DataTable/utils/a11yUtils.ts +17 -0
- package/src/components/DatePickerWithTimezone/DatePickerWithTimezone.test.tsx +2 -1
- package/src/components/DatePickerWithTimezone/DatePickerWithTimezone.tsx +11 -15
- package/src/components/DateTimeField/DateTimeField.tsx +10 -9
- package/src/components/Dialog/Dialog.test.tsx +128 -104
- package/src/components/Dialog/Dialog.tsx +742 -24
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +77 -79
- package/src/components/FileDisplay/FileDisplay.test.tsx +4 -2
- package/src/components/FileDisplay/FileDisplay.tsx +23 -17
- package/src/components/FileUpload/FileUpload.test.tsx +52 -14
- package/src/components/FileUpload/FileUpload.tsx +112 -130
- package/src/components/Form/Form.test.tsx +6 -8
- package/src/components/Form/Form.tsx +365 -4
- package/src/components/NavigationMenu/NavigationMenu.test.tsx +14 -13
- package/src/components/NavigationMenu/useNavigationFiltering.ts +11 -21
- package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +6 -4
- package/src/components/PaceAppLayout/PaceAppLayout.tsx +11 -15
- package/src/components/PaceLoginPage/PaceLoginPage.test.tsx +108 -61
- package/src/components/PaceLoginPage/PaceLoginPage.tsx +27 -3
- package/src/components/Progress/Progress.tsx +2 -4
- package/src/components/ProtectedRoute/ProtectedRoute.tsx +8 -8
- package/src/components/Select/Select.tsx +109 -98
- package/src/components/Select/types.ts +4 -1
- package/src/components/UserMenu/UserMenu.tsx +9 -6
- package/src/hooks/__tests__/ServiceHooks.test.tsx +16 -16
- package/src/hooks/__tests__/hooks.integration.test.tsx +55 -57
- package/src/hooks/__tests__/useAppConfig.unit.test.ts +129 -67
- package/src/hooks/__tests__/useFocusTrap.unit.test.tsx +97 -97
- package/src/hooks/__tests__/usePublicEvent.simple.test.ts +149 -67
- package/src/hooks/__tests__/usePublicEvent.test.ts +149 -79
- package/src/hooks/__tests__/usePublicEvent.unit.test.ts +158 -109
- package/src/hooks/__tests__/useSessionDraft.test.ts +163 -0
- package/src/hooks/__tests__/useSessionRestoration.unit.test.tsx +10 -5
- package/src/hooks/public/usePublicEvent.ts +67 -195
- package/src/hooks/public/usePublicEventLogo.test.ts +70 -17
- package/src/hooks/public/usePublicEventLogo.ts +24 -14
- package/src/hooks/public/usePublicFileDisplay.ts +2 -2
- package/src/hooks/public/usePublicRouteParams.ts +5 -5
- package/src/hooks/useAppConfig.ts +28 -26
- package/src/hooks/useEventTheme.test.ts +217 -239
- package/src/hooks/useEventTheme.ts +16 -28
- package/src/hooks/useFileDisplay.ts +2 -2
- package/src/hooks/useOrganisationPermissions.ts +5 -7
- package/src/hooks/useQueryCache.ts +0 -1
- package/src/hooks/useSessionDraft.ts +380 -0
- package/src/hooks/useSessionRestoration.ts +3 -1
- package/src/icons/index.ts +27 -0
- package/src/index.ts +5 -0
- package/src/providers/OrganisationProvider.tsx +23 -14
- package/src/providers/UnifiedAuthProvider.smoke.test.tsx +21 -21
- package/src/providers/__tests__/AuthProvider.test.tsx +21 -21
- package/src/providers/__tests__/EventProvider.test.tsx +61 -61
- package/src/providers/__tests__/InactivityProvider.test.tsx +56 -56
- package/src/providers/__tests__/OrganisationProvider.test.tsx +75 -75
- package/src/providers/__tests__/ProviderLifecycle.test.tsx +37 -37
- package/src/providers/__tests__/UnifiedAuthProvider.test.tsx +103 -103
- package/src/providers/services/EventServiceProvider.tsx +1 -24
- package/src/providers/services/UnifiedAuthProvider.tsx +5 -48
- package/src/providers/services/__tests__/AuthServiceProvider.integration.test.tsx +7 -7
- package/src/providers/services/__tests__/UnifiedAuthProvider.integration.test.tsx +13 -10
- package/src/rbac/__tests__/adapters.comprehensive.test.tsx +7 -457
- package/src/rbac/__tests__/auth-rbac.e2e.test.tsx +33 -7
- package/src/rbac/adapters.tsx +7 -295
- package/src/rbac/api.test.ts +44 -56
- package/src/rbac/api.ts +10 -17
- package/src/rbac/cache-invalidation.ts +0 -1
- package/src/rbac/compliance/index.ts +10 -0
- package/src/rbac/compliance/pattern-detector.ts +553 -0
- package/src/rbac/compliance/runtime-compliance.ts +22 -0
- package/src/rbac/components/AccessDenied.tsx +150 -0
- package/src/rbac/components/NavigationGuard.tsx +12 -20
- package/src/rbac/components/PagePermissionGuard.tsx +4 -24
- package/src/rbac/components/__tests__/NavigationGuard.test.tsx +21 -8
- package/src/rbac/components/index.ts +3 -41
- package/src/rbac/eslint-rules.js +1 -1
- package/src/rbac/hooks/index.ts +0 -3
- package/src/rbac/hooks/permissions/index.ts +0 -3
- package/src/rbac/hooks/permissions/useAccessLevel.ts +4 -8
- package/src/rbac/hooks/usePermissions.ts +0 -3
- package/src/rbac/hooks/useResolvedScope.test.ts +57 -47
- package/src/rbac/hooks/useResolvedScope.ts +58 -140
- package/src/rbac/hooks/useResourcePermissions.test.ts +124 -38
- package/src/rbac/hooks/useResourcePermissions.ts +139 -48
- package/src/rbac/hooks/useRoleManagement.test.ts +65 -22
- package/src/rbac/hooks/useRoleManagement.ts +147 -19
- package/src/rbac/hooks/useSecureSupabase.ts +4 -8
- package/src/rbac/index.ts +7 -9
- package/src/rbac/utils/contextValidator.ts +9 -7
- package/src/services/AuthService.ts +130 -18
- package/src/services/EventService.ts +4 -97
- package/src/services/InactivityService.ts +16 -0
- package/src/services/OrganisationService.ts +7 -44
- package/src/services/__tests__/OrganisationService.test.ts +26 -8
- package/src/services/base/BaseService.ts +0 -3
- package/src/styles/core.css +7 -0
- package/src/theming/__tests__/parseEventColours.test.ts +9 -3
- package/src/theming/parseEventColours.ts +22 -10
- package/src/types/database.generated.ts +4733 -3809
- package/src/utils/__tests__/lazyLoad.unit.test.tsx +42 -39
- package/src/utils/__tests__/organisationContext.unit.test.ts +9 -10
- package/src/utils/context/organisationContext.test.ts +13 -28
- package/src/utils/context/organisationContext.ts +21 -52
- package/src/utils/dynamic/dynamicUtils.ts +1 -1
- package/src/utils/file-reference/index.ts +39 -15
- package/src/utils/formatting/formatDateTime.test.ts +3 -2
- package/src/utils/google-places/loadGoogleMapsScript.ts +29 -4
- package/src/utils/index.ts +4 -1
- package/src/utils/persistence/__tests__/keyDerivation.test.ts +135 -0
- package/src/utils/persistence/__tests__/sensitiveFieldDetection.test.ts +123 -0
- package/src/utils/persistence/keyDerivation.ts +304 -0
- package/src/utils/persistence/sensitiveFieldDetection.ts +212 -0
- package/src/utils/security/secureStorage.ts +5 -5
- package/src/utils/storage/README.md +1 -1
- package/src/utils/storage/helpers.ts +3 -3
- package/src/utils/supabase/createBaseClient.ts +147 -0
- package/src/utils/timezone/timezone.test.ts +1 -2
- package/src/utils/timezone/timezone.ts +1 -1
- package/src/utils/validation/csrf.ts +4 -4
- package/cursor-rules/00-pace-core-compliance.mdc +0 -331
- package/cursor-rules/01-standards-compliance.mdc +0 -244
- package/cursor-rules/04-testing-standards.mdc +0 -268
- package/cursor-rules/05-bug-reports-and-features.mdc +0 -246
- package/cursor-rules/06-code-quality.mdc +0 -309
- package/cursor-rules/07-tech-stack-compliance.mdc +0 -214
- package/cursor-rules/CHANGELOG.md +0 -119
- package/cursor-rules/README.md +0 -192
- package/dist/DataTable-AOVNCPTX.js +0 -175
- package/dist/DataTable-AOVNCPTX.js.map +0 -1
- package/dist/UnifiedAuthProvider-4SBX4LU5.js +0 -18
- package/dist/UnifiedAuthProvider-4SBX4LU5.js.map +0 -1
- package/dist/api-O6HTBX5Y.js +0 -52
- package/dist/api-O6HTBX5Y.js.map +0 -1
- package/dist/audit-V53FV5AG.js +0 -17
- package/dist/audit-V53FV5AG.js.map +0 -1
- package/dist/chunk-5DRSZLL2.js.map +0 -1
- package/dist/chunk-63FOKYGO.js.map +0 -1
- package/dist/chunk-6COVEUS7.js.map +0 -1
- package/dist/chunk-AFVQODI2.js +0 -263
- package/dist/chunk-AFVQODI2.js.map +0 -1
- package/dist/chunk-DGUM43GV.js.map +0 -1
- package/dist/chunk-E66EQZE6.js.map +0 -1
- package/dist/chunk-EFN2EIMK.js.map +0 -1
- package/dist/chunk-FFQEQTNW.js.map +0 -1
- package/dist/chunk-FMUCXFII.js.map +0 -1
- package/dist/chunk-G37KK66H.js.map +0 -1
- package/dist/chunk-G7QEZTYQ.js +0 -2053
- package/dist/chunk-G7QEZTYQ.js.map +0 -1
- package/dist/chunk-HU2C6SSC.js.map +0 -1
- package/dist/chunk-IHB5DR3H.js.map +0 -1
- package/dist/chunk-IVOFDYWT.js.map +0 -1
- package/dist/chunk-J36DSWQK.js.map +0 -1
- package/dist/chunk-JGRYX5UX.js.map +0 -1
- package/dist/chunk-KQCRWDSA.js +0 -1
- package/dist/chunk-KQCRWDSA.js.map +0 -1
- package/dist/chunk-L4OXEN46.js.map +0 -1
- package/dist/chunk-LMC26NLJ.js +0 -84
- package/dist/chunk-LMC26NLJ.js.map +0 -1
- package/dist/chunk-M43Y4SSO.js.map +0 -1
- package/dist/chunk-M7MPQISP.js.map +0 -1
- package/dist/chunk-NTM7ZSB6.js.map +0 -1
- package/dist/chunk-PWLANIRT.js.map +0 -1
- package/dist/chunk-QXHPKYJV.js.map +0 -1
- package/dist/chunk-RGAWHO7N.js.map +0 -1
- package/dist/chunk-UPPMRMYG.js.map +0 -1
- package/dist/chunk-VBXEHIUJ.js.map +0 -1
- package/dist/chunk-ZSAAAMVR.js.map +0 -1
- package/dist/components.js.map +0 -1
- package/dist/contextValidator-5OGXSPKS.js +0 -9
- package/dist/contextValidator-5OGXSPKS.js.map +0 -1
- package/dist/eslint-rules/pace-core-compliance.cjs +0 -510
- package/dist/hooks.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/providers.js.map +0 -1
- package/dist/rbac/eslint-rules.js.map +0 -1
- package/dist/rbac/index.js.map +0 -1
- package/dist/styles/index.js.map +0 -1
- package/dist/theming/runtime.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils.js.map +0 -1
- package/docs/best-practices/README.md +0 -472
- package/docs/best-practices/accessibility.md +0 -601
- package/docs/best-practices/common-patterns.md +0 -516
- package/docs/best-practices/deployment.md +0 -1103
- package/docs/best-practices/performance.md +0 -1328
- package/docs/best-practices/security.md +0 -940
- package/docs/best-practices/testing.md +0 -1034
- package/docs/rbac/compliance/compliance-guide.md +0 -544
- package/docs/standards/01-architecture-standard.md +0 -44
- package/docs/standards/02-api-and-rpc-standard.md +0 -39
- package/docs/standards/03-component-standard.md +0 -32
- package/docs/standards/04-code-style-standard.md +0 -32
- package/docs/standards/05-security-standard.md +0 -44
- package/docs/standards/06-testing-and-docs-standard.md +0 -29
- package/docs/standards/pace-core-compliance.md +0 -432
- package/scripts/audit/core/checks/accessibility.cjs +0 -197
- package/scripts/audit/core/checks/api-usage.cjs +0 -191
- package/scripts/audit/core/checks/bundle.cjs +0 -142
- package/scripts/audit/core/checks/compliance.cjs +0 -2706
- package/scripts/audit/core/checks/config.cjs +0 -54
- package/scripts/audit/core/checks/coverage.cjs +0 -84
- package/scripts/audit/core/checks/dependencies.cjs +0 -994
- package/scripts/audit/core/checks/documentation.cjs +0 -268
- package/scripts/audit/core/checks/environment.cjs +0 -116
- package/scripts/audit/core/checks/error-handling.cjs +0 -340
- package/scripts/audit/core/checks/forms.cjs +0 -172
- package/scripts/audit/core/checks/heuristics.cjs +0 -68
- package/scripts/audit/core/checks/hooks.cjs +0 -334
- package/scripts/audit/core/checks/imports.cjs +0 -244
- package/scripts/audit/core/checks/performance.cjs +0 -325
- package/scripts/audit/core/checks/routes.cjs +0 -117
- package/scripts/audit/core/checks/state.cjs +0 -130
- package/scripts/audit/core/checks/structure.cjs +0 -65
- package/scripts/audit/core/checks/style.cjs +0 -584
- package/scripts/audit/core/checks/testing.cjs +0 -122
- package/scripts/audit/core/checks/typescript.cjs +0 -61
- package/scripts/audit/core/scanner.cjs +0 -199
- package/scripts/audit/core/utils.cjs +0 -137
- package/scripts/audit/index.cjs +0 -223
- package/scripts/audit/reporters/console.cjs +0 -151
- package/scripts/audit/reporters/json.cjs +0 -54
- package/scripts/audit/reporters/markdown.cjs +0 -124
- package/scripts/audit-consuming-app.cjs +0 -86
- package/src/components/DataTable/components/DataTableBody.tsx +0 -454
- package/src/components/DataTable/components/DraggableColumnHeader.tsx +0 -156
- package/src/components/DataTable/components/ExpandButton.tsx +0 -113
- package/src/components/DataTable/components/GroupHeader.tsx +0 -54
- package/src/components/DataTable/components/ViewRowModal.tsx +0 -68
- package/src/components/DataTable/components/VirtualizedDataTable.tsx +0 -525
- package/src/components/DataTable/components/__tests__/ExpandButton.test.tsx +0 -462
- package/src/components/DataTable/components/__tests__/GroupHeader.test.tsx +0 -393
- package/src/components/DataTable/components/__tests__/ViewRowModal.test.tsx +0 -476
- package/src/components/DataTable/components/__tests__/VirtualizedDataTable.test.tsx +0 -128
- package/src/components/DataTable/core/DataTableContext.tsx +0 -216
- package/src/components/DataTable/core/__tests__/DataTableContext.test.tsx +0 -136
- package/src/components/DataTable/hooks/__tests__/useColumnReordering.test.ts +0 -570
- package/src/components/DataTable/hooks/useColumnReordering.ts +0 -123
- package/src/components/DataTable/utils/debugTools.ts +0 -514
- package/src/eslint-rules/pace-core-compliance.js +0 -638
- package/src/rbac/components/EnhancedNavigationMenu.test.tsx +0 -555
- package/src/rbac/components/EnhancedNavigationMenu.tsx +0 -293
- package/src/rbac/components/NavigationProvider.test.tsx +0 -481
- package/src/rbac/components/NavigationProvider.tsx +0 -345
- package/src/rbac/components/PagePermissionProvider.test.tsx +0 -476
- package/src/rbac/components/PagePermissionProvider.tsx +0 -279
- package/src/rbac/components/PermissionEnforcer.tsx +0 -312
- package/src/rbac/components/RoleBasedRouter.tsx +0 -440
- package/src/rbac/components/SecureDataProvider.test.tsx +0 -543
- package/src/rbac/components/SecureDataProvider.tsx +0 -339
- package/src/rbac/components/__tests__/EnhancedNavigationMenu.test.tsx +0 -620
- package/src/rbac/components/__tests__/NavigationProvider.test.tsx +0 -726
- package/src/rbac/components/__tests__/PagePermissionProvider.test.tsx +0 -661
- package/src/rbac/components/__tests__/PermissionEnforcer.test.tsx +0 -881
- package/src/rbac/components/__tests__/RoleBasedRouter.test.tsx +0 -783
- package/src/rbac/components/__tests__/SecureDataProvider.fixed.test.tsx +0 -645
- package/src/rbac/components/__tests__/SecureDataProvider.test.tsx +0 -659
- package/src/rbac/hooks/permissions/useCachedPermissions.ts +0 -79
- package/src/rbac/hooks/permissions/useHasAllPermissions.ts +0 -90
- package/src/rbac/hooks/permissions/useHasAnyPermission.ts +0 -90
package/docs/api/modules.md
CHANGED
|
@@ -129,23 +129,9 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
129
129
|
- [RuntimeComplianceResult](undefined)
|
|
130
130
|
- [SetupIssue](undefined)
|
|
131
131
|
- [ComplianceResult](undefined)
|
|
132
|
-
- [
|
|
132
|
+
- [AccessDeniedProps](undefined)
|
|
133
133
|
- [NavigationGuardProps](undefined)
|
|
134
|
-
- [NavigationAccessRecord](undefined)
|
|
135
|
-
- [NavigationContextType](undefined)
|
|
136
|
-
- [NavigationProviderProps](undefined)
|
|
137
134
|
- [PagePermissionGuardProps](undefined)
|
|
138
|
-
- [PagePermissionContextType](undefined)
|
|
139
|
-
- [PageAccessRecord](undefined)
|
|
140
|
-
- [PagePermissionProviderProps](undefined)
|
|
141
|
-
- [PermissionEnforcerProps](undefined)
|
|
142
|
-
- [RouteConfig](undefined)
|
|
143
|
-
- [RouteAccessRecord](undefined)
|
|
144
|
-
- [RoleBasedRouterContextType](undefined)
|
|
145
|
-
- [RoleBasedRouterProps](undefined)
|
|
146
|
-
- [DataAccessRecord](undefined)
|
|
147
|
-
- [SecureDataContextType](undefined)
|
|
148
|
-
- [SecureDataProviderProps](undefined)
|
|
149
135
|
- [RBACConfig](undefined)
|
|
150
136
|
- [RBACLogger](undefined)
|
|
151
137
|
- [UseResolvedScopeOptions](undefined)
|
|
@@ -391,15 +377,11 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
391
377
|
- [OrganisationServiceProvider](undefined)
|
|
392
378
|
- [useUnifiedAuth](undefined)
|
|
393
379
|
- [UnifiedAuthProvider](undefined)
|
|
394
|
-
- [PermissionGuard](undefined)
|
|
395
|
-
- [AccessLevelGuard](undefined)
|
|
396
380
|
- [withPermissionGuard](undefined)
|
|
397
381
|
- [withAccessLevelGuard](undefined)
|
|
398
382
|
- [withRoleGuard](undefined)
|
|
399
383
|
- [createRBACMiddleware](undefined)
|
|
400
384
|
- [createRBACExpressMiddleware](undefined)
|
|
401
|
-
- [hasPermissionCached](undefined)
|
|
402
|
-
- [hasAnyPermissionCached](undefined)
|
|
403
385
|
- [setupRBAC](undefined)
|
|
404
386
|
- [getAccessLevel](undefined)
|
|
405
387
|
- [getPermissionMap](undefined)
|
|
@@ -407,7 +389,6 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
407
389
|
- [getRoleContext](undefined)
|
|
408
390
|
- [isPermitted](undefined)
|
|
409
391
|
- [isPermittedCached](undefined)
|
|
410
|
-
- [hasPermission](undefined)
|
|
411
392
|
- [hasAnyPermission](undefined)
|
|
412
393
|
- [hasAllPermissions](undefined)
|
|
413
394
|
- [createAuditManager](undefined)
|
|
@@ -425,18 +406,9 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
425
406
|
- [isRBACInitialized](undefined)
|
|
426
407
|
- [getSetupIssues](undefined)
|
|
427
408
|
- [validateRBACSetup](undefined)
|
|
428
|
-
- [
|
|
409
|
+
- [AccessDenied](undefined)
|
|
429
410
|
- [NavigationGuard](undefined)
|
|
430
|
-
- [NavigationProvider](undefined)
|
|
431
|
-
- [useNavigationPermissions](undefined)
|
|
432
411
|
- [PagePermissionGuard](undefined)
|
|
433
|
-
- [PagePermissionProvider](undefined)
|
|
434
|
-
- [usePagePermissions](undefined)
|
|
435
|
-
- [PermissionEnforcer](undefined)
|
|
436
|
-
- [RoleBasedRouter](undefined)
|
|
437
|
-
- [useRoleBasedRouter](undefined)
|
|
438
|
-
- [SecureDataProvider](undefined)
|
|
439
|
-
- [useSecureData](undefined)
|
|
440
412
|
- [createRBACConfig](undefined)
|
|
441
413
|
- [getRBACConfig](undefined)
|
|
442
414
|
- [getRBACLogger](undefined)
|
|
@@ -444,10 +416,7 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
444
416
|
- [isDevelopmentMode](undefined)
|
|
445
417
|
- [createRBACEngine](undefined)
|
|
446
418
|
- [useAccessLevel](undefined)
|
|
447
|
-
- [useCachedPermissions](undefined)
|
|
448
419
|
- [useCan](undefined)
|
|
449
|
-
- [useHasAllPermissions](undefined)
|
|
450
|
-
- [useHasAnyPermission](undefined)
|
|
451
420
|
- [useMultiplePermissions](undefined)
|
|
452
421
|
- [usePermissions](undefined)
|
|
453
422
|
- [useRBAC](undefined)
|
|
@@ -505,6 +474,7 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
505
474
|
- [listFiles](undefined)
|
|
506
475
|
- [downloadFile](undefined)
|
|
507
476
|
- [archiveFile](undefined)
|
|
477
|
+
- [createBaseClient](undefined)
|
|
508
478
|
- [formatInTimeZone](undefined)
|
|
509
479
|
- [getTimezoneAbbreviation](undefined)
|
|
510
480
|
- [formatTimeInTimeZone](undefined)
|
|
@@ -513,6 +483,9 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
513
483
|
- [fromZonedTime](undefined)
|
|
514
484
|
- [roundToNearestMinutes](undefined)
|
|
515
485
|
- [getTimeZoneDifference](undefined)
|
|
486
|
+
- [sanitizeHtml](undefined)
|
|
487
|
+
- [sanitizeUserInput](undefined)
|
|
488
|
+
- [sanitizeFormData](undefined)
|
|
516
489
|
|
|
517
490
|
## Enumerations
|
|
518
491
|
|
|
@@ -784,7 +757,7 @@ Extends standard button HTML attributes.
|
|
|
784
757
|
|
|
785
758
|
#### Defined in
|
|
786
759
|
|
|
787
|
-
[packages/core/src/components/Button/Button.tsx:
|
|
760
|
+
[packages/core/src/components/Button/Button.tsx:70](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Button/Button.tsx#L70)
|
|
788
761
|
|
|
789
762
|
___
|
|
790
763
|
|
|
@@ -797,7 +770,7 @@ Extends DayPickerProps with pace-core specific customizations.
|
|
|
797
770
|
|
|
798
771
|
#### Defined in
|
|
799
772
|
|
|
800
|
-
[packages/core/src/components/Calendar/Calendar.tsx:
|
|
773
|
+
[packages/core/src/components/Calendar/Calendar.tsx:101](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Calendar/Calendar.tsx#L101)
|
|
801
774
|
|
|
802
775
|
___
|
|
803
776
|
|
|
@@ -854,7 +827,7 @@ Individual implementations should define more specific types
|
|
|
854
827
|
|
|
855
828
|
#### Defined in
|
|
856
829
|
|
|
857
|
-
[packages/core/src/components/DataTable/types.ts:
|
|
830
|
+
[packages/core/src/components/DataTable/types.ts:49](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DataTable/types.ts#L49)
|
|
858
831
|
|
|
859
832
|
___
|
|
860
833
|
|
|
@@ -872,7 +845,7 @@ Enhanced column definition that extends TanStack's ColumnDef
|
|
|
872
845
|
|
|
873
846
|
#### Defined in
|
|
874
847
|
|
|
875
|
-
[packages/core/src/components/DataTable/types.ts:
|
|
848
|
+
[packages/core/src/components/DataTable/types.ts:245](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DataTable/types.ts#L245)
|
|
876
849
|
|
|
877
850
|
___
|
|
878
851
|
|
|
@@ -891,7 +864,7 @@ Defines custom actions that can be performed on table rows.
|
|
|
891
864
|
|
|
892
865
|
#### Defined in
|
|
893
866
|
|
|
894
|
-
[packages/core/src/components/DataTable/types.ts:
|
|
867
|
+
[packages/core/src/components/DataTable/types.ts:379](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DataTable/types.ts#L379)
|
|
895
868
|
|
|
896
869
|
___
|
|
897
870
|
|
|
@@ -903,7 +876,7 @@ Toolbar button definition
|
|
|
903
876
|
|
|
904
877
|
#### Defined in
|
|
905
878
|
|
|
906
|
-
[packages/core/src/components/DataTable/types.ts:
|
|
879
|
+
[packages/core/src/components/DataTable/types.ts:419](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DataTable/types.ts#L419)
|
|
907
880
|
|
|
908
881
|
___
|
|
909
882
|
|
|
@@ -915,7 +888,7 @@ Aggregate configuration
|
|
|
915
888
|
|
|
916
889
|
#### Defined in
|
|
917
890
|
|
|
918
|
-
[packages/core/src/components/DataTable/types.ts:
|
|
891
|
+
[packages/core/src/components/DataTable/types.ts:441](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DataTable/types.ts#L441)
|
|
919
892
|
|
|
920
893
|
___
|
|
921
894
|
|
|
@@ -927,7 +900,7 @@ Empty state configuration
|
|
|
927
900
|
|
|
928
901
|
#### Defined in
|
|
929
902
|
|
|
930
|
-
[packages/core/src/components/DataTable/types.ts:
|
|
903
|
+
[packages/core/src/components/DataTable/types.ts:450](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DataTable/types.ts#L450)
|
|
931
904
|
|
|
932
905
|
___
|
|
933
906
|
|
|
@@ -964,7 +937,7 @@ Options provided to the onExport handler for custom export functionality
|
|
|
964
937
|
|
|
965
938
|
#### Defined in
|
|
966
939
|
|
|
967
|
-
[packages/core/src/components/DataTable/types.ts:
|
|
940
|
+
[packages/core/src/components/DataTable/types.ts:628](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DataTable/types.ts#L628)
|
|
968
941
|
|
|
969
942
|
___
|
|
970
943
|
|
|
@@ -988,7 +961,7 @@ Props for the Dialog root component
|
|
|
988
961
|
|
|
989
962
|
#### Defined in
|
|
990
963
|
|
|
991
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
964
|
+
[packages/core/src/components/Dialog/Dialog.tsx:167](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L167)
|
|
992
965
|
|
|
993
966
|
___
|
|
994
967
|
|
|
@@ -1000,7 +973,7 @@ Props for the DialogTrigger component
|
|
|
1000
973
|
|
|
1001
974
|
#### Defined in
|
|
1002
975
|
|
|
1003
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
976
|
+
[packages/core/src/components/Dialog/Dialog.tsx:178](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L178)
|
|
1004
977
|
|
|
1005
978
|
___
|
|
1006
979
|
|
|
@@ -1013,7 +986,7 @@ Uses semantic HTML dialog element
|
|
|
1013
986
|
|
|
1014
987
|
#### Defined in
|
|
1015
988
|
|
|
1016
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
989
|
+
[packages/core/src/components/Dialog/Dialog.tsx:190](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L190)
|
|
1017
990
|
|
|
1018
991
|
___
|
|
1019
992
|
|
|
@@ -1025,7 +998,7 @@ Props for the DialogPortal component
|
|
|
1025
998
|
|
|
1026
999
|
#### Defined in
|
|
1027
1000
|
|
|
1028
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
1001
|
+
[packages/core/src/components/Dialog/Dialog.tsx:231](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L231)
|
|
1029
1002
|
|
|
1030
1003
|
___
|
|
1031
1004
|
|
|
@@ -1037,7 +1010,9 @@ Props for the DialogClose component
|
|
|
1037
1010
|
|
|
1038
1011
|
#### Defined in
|
|
1039
1012
|
|
|
1040
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
1013
|
+
[packages/core/src/components/Dialog/Dialog.tsx:239](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L239)
|
|
1014
|
+
|
|
1015
|
+
[packages/core/src/components/Dialog/Dialog.tsx:1365](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L1365)
|
|
1041
1016
|
|
|
1042
1017
|
___
|
|
1043
1018
|
|
|
@@ -1049,7 +1024,7 @@ Props for the DialogHeader component (semantic header element)
|
|
|
1049
1024
|
|
|
1050
1025
|
#### Defined in
|
|
1051
1026
|
|
|
1052
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
1027
|
+
[packages/core/src/components/Dialog/Dialog.tsx:245](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L245)
|
|
1053
1028
|
|
|
1054
1029
|
___
|
|
1055
1030
|
|
|
@@ -1061,7 +1036,7 @@ Props for the DialogFooter component (semantic footer element)
|
|
|
1061
1036
|
|
|
1062
1037
|
#### Defined in
|
|
1063
1038
|
|
|
1064
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
1039
|
+
[packages/core/src/components/Dialog/Dialog.tsx:254](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L254)
|
|
1065
1040
|
|
|
1066
1041
|
___
|
|
1067
1042
|
|
|
@@ -1073,7 +1048,7 @@ Props for the DialogBody component (semantic main element)
|
|
|
1073
1048
|
|
|
1074
1049
|
#### Defined in
|
|
1075
1050
|
|
|
1076
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
1051
|
+
[packages/core/src/components/Dialog/Dialog.tsx:263](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L263)
|
|
1077
1052
|
|
|
1078
1053
|
___
|
|
1079
1054
|
|
|
@@ -1085,7 +1060,7 @@ State interface for the ErrorBoundary component
|
|
|
1085
1060
|
|
|
1086
1061
|
#### Defined in
|
|
1087
1062
|
|
|
1088
|
-
[packages/core/src/components/ErrorBoundary/ErrorBoundary.tsx:
|
|
1063
|
+
[packages/core/src/components/ErrorBoundary/ErrorBoundary.tsx:127](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/ErrorBoundary/ErrorBoundary.tsx#L127)
|
|
1089
1064
|
|
|
1090
1065
|
___
|
|
1091
1066
|
|
|
@@ -1097,7 +1072,7 @@ Props interface for the ErrorBoundary component
|
|
|
1097
1072
|
|
|
1098
1073
|
#### Defined in
|
|
1099
1074
|
|
|
1100
|
-
[packages/core/src/components/ErrorBoundary/ErrorBoundary.tsx:
|
|
1075
|
+
[packages/core/src/components/ErrorBoundary/ErrorBoundary.tsx:144](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/ErrorBoundary/ErrorBoundary.tsx#L144)
|
|
1101
1076
|
|
|
1102
1077
|
___
|
|
1103
1078
|
|
|
@@ -1132,7 +1107,7 @@ Configures file upload behavior including storage location, validation, and call
|
|
|
1132
1107
|
|
|
1133
1108
|
#### Defined in
|
|
1134
1109
|
|
|
1135
|
-
[packages/core/src/components/FileUpload/FileUpload.tsx:
|
|
1110
|
+
[packages/core/src/components/FileUpload/FileUpload.tsx:26](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/FileUpload/FileUpload.tsx#L26)
|
|
1136
1111
|
|
|
1137
1112
|
___
|
|
1138
1113
|
|
|
@@ -1162,7 +1137,7 @@ Props for the Form component
|
|
|
1162
1137
|
|
|
1163
1138
|
#### Defined in
|
|
1164
1139
|
|
|
1165
|
-
[packages/core/src/components/Form/Form.tsx:
|
|
1140
|
+
[packages/core/src/components/Form/Form.tsx:88](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Form/Form.tsx#L88)
|
|
1166
1141
|
|
|
1167
1142
|
___
|
|
1168
1143
|
|
|
@@ -1181,7 +1156,7 @@ Props for the FormField component
|
|
|
1181
1156
|
|
|
1182
1157
|
#### Defined in
|
|
1183
1158
|
|
|
1184
|
-
[packages/core/src/components/Form/Form.tsx:
|
|
1159
|
+
[packages/core/src/components/Form/Form.tsx:533](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Form/Form.tsx#L533)
|
|
1185
1160
|
|
|
1186
1161
|
___
|
|
1187
1162
|
|
|
@@ -1266,7 +1241,7 @@ Configures the application layout including navigation, header, and footer.
|
|
|
1266
1241
|
|
|
1267
1242
|
#### Defined in
|
|
1268
1243
|
|
|
1269
|
-
[packages/core/src/components/PaceAppLayout/PaceAppLayout.tsx:
|
|
1244
|
+
[packages/core/src/components/PaceAppLayout/PaceAppLayout.tsx:132](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PaceAppLayout/PaceAppLayout.tsx#L132)
|
|
1270
1245
|
|
|
1271
1246
|
___
|
|
1272
1247
|
|
|
@@ -1668,7 +1643,7 @@ ___
|
|
|
1668
1643
|
|
|
1669
1644
|
#### Defined in
|
|
1670
1645
|
|
|
1671
|
-
[packages/core/src/rbac/compliance/runtime-compliance.ts:
|
|
1646
|
+
[packages/core/src/rbac/compliance/runtime-compliance.ts:14](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/compliance/runtime-compliance.ts#L14)
|
|
1672
1647
|
|
|
1673
1648
|
___
|
|
1674
1649
|
|
|
@@ -1692,13 +1667,13 @@ ___
|
|
|
1692
1667
|
|
|
1693
1668
|
___
|
|
1694
1669
|
|
|
1695
|
-
###
|
|
1670
|
+
### AccessDeniedProps
|
|
1696
1671
|
|
|
1697
|
-
• **
|
|
1672
|
+
• **AccessDeniedProps**: Interface AccessDeniedProps
|
|
1698
1673
|
|
|
1699
1674
|
#### Defined in
|
|
1700
1675
|
|
|
1701
|
-
[packages/core/src/rbac/components/
|
|
1676
|
+
[packages/core/src/rbac/components/AccessDenied.tsx:46](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/AccessDenied.tsx#L46)
|
|
1702
1677
|
|
|
1703
1678
|
___
|
|
1704
1679
|
|
|
@@ -1708,37 +1683,7 @@ ___
|
|
|
1708
1683
|
|
|
1709
1684
|
#### Defined in
|
|
1710
1685
|
|
|
1711
|
-
[packages/core/src/rbac/components/NavigationGuard.tsx:
|
|
1712
|
-
|
|
1713
|
-
___
|
|
1714
|
-
|
|
1715
|
-
### NavigationAccessRecord
|
|
1716
|
-
|
|
1717
|
-
• **NavigationAccessRecord**: Interface NavigationAccessRecord
|
|
1718
|
-
|
|
1719
|
-
#### Defined in
|
|
1720
|
-
|
|
1721
|
-
[packages/core/src/rbac/components/NavigationProvider.tsx:99](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L99)
|
|
1722
|
-
|
|
1723
|
-
___
|
|
1724
|
-
|
|
1725
|
-
### NavigationContextType
|
|
1726
|
-
|
|
1727
|
-
• **NavigationContextType**: Interface NavigationContextType
|
|
1728
|
-
|
|
1729
|
-
#### Defined in
|
|
1730
|
-
|
|
1731
|
-
[packages/core/src/rbac/components/NavigationProvider.tsx:111](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L111)
|
|
1732
|
-
|
|
1733
|
-
___
|
|
1734
|
-
|
|
1735
|
-
### NavigationProviderProps
|
|
1736
|
-
|
|
1737
|
-
• **NavigationProviderProps**: Interface NavigationProviderProps
|
|
1738
|
-
|
|
1739
|
-
#### Defined in
|
|
1740
|
-
|
|
1741
|
-
[packages/core/src/rbac/components/NavigationProvider.tsx:137](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationProvider.tsx#L137)
|
|
1686
|
+
[packages/core/src/rbac/components/NavigationGuard.tsx:76](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationGuard.tsx#L76)
|
|
1742
1687
|
|
|
1743
1688
|
___
|
|
1744
1689
|
|
|
@@ -1748,117 +1693,7 @@ ___
|
|
|
1748
1693
|
|
|
1749
1694
|
#### Defined in
|
|
1750
1695
|
|
|
1751
|
-
[packages/core/src/rbac/components/PagePermissionGuard.tsx:
|
|
1752
|
-
|
|
1753
|
-
___
|
|
1754
|
-
|
|
1755
|
-
### PagePermissionContextType
|
|
1756
|
-
|
|
1757
|
-
• **PagePermissionContextType**: Interface PagePermissionContextType
|
|
1758
|
-
|
|
1759
|
-
#### Defined in
|
|
1760
|
-
|
|
1761
|
-
[packages/core/src/rbac/components/PagePermissionProvider.tsx:65](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/PagePermissionProvider.tsx#L65)
|
|
1762
|
-
|
|
1763
|
-
___
|
|
1764
|
-
|
|
1765
|
-
### PageAccessRecord
|
|
1766
|
-
|
|
1767
|
-
• **PageAccessRecord**: Interface PageAccessRecord
|
|
1768
|
-
|
|
1769
|
-
#### Defined in
|
|
1770
|
-
|
|
1771
|
-
[packages/core/src/rbac/components/PagePermissionProvider.tsx:88](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/PagePermissionProvider.tsx#L88)
|
|
1772
|
-
|
|
1773
|
-
___
|
|
1774
|
-
|
|
1775
|
-
### PagePermissionProviderProps
|
|
1776
|
-
|
|
1777
|
-
• **PagePermissionProviderProps**: Interface PagePermissionProviderProps
|
|
1778
|
-
|
|
1779
|
-
#### Defined in
|
|
1780
|
-
|
|
1781
|
-
[packages/core/src/rbac/components/PagePermissionProvider.tsx:98](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/PagePermissionProvider.tsx#L98)
|
|
1782
|
-
|
|
1783
|
-
___
|
|
1784
|
-
|
|
1785
|
-
### PermissionEnforcerProps
|
|
1786
|
-
|
|
1787
|
-
• **PermissionEnforcerProps**: Interface PermissionEnforcerProps
|
|
1788
|
-
|
|
1789
|
-
#### Defined in
|
|
1790
|
-
|
|
1791
|
-
[packages/core/src/rbac/components/PermissionEnforcer.tsx:79](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/PermissionEnforcer.tsx#L79)
|
|
1792
|
-
|
|
1793
|
-
___
|
|
1794
|
-
|
|
1795
|
-
### RouteConfig
|
|
1796
|
-
|
|
1797
|
-
• **RouteConfig**: Interface RouteConfig
|
|
1798
|
-
|
|
1799
|
-
#### Defined in
|
|
1800
|
-
|
|
1801
|
-
[packages/core/src/rbac/components/RoleBasedRouter.tsx:74](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L74)
|
|
1802
|
-
|
|
1803
|
-
___
|
|
1804
|
-
|
|
1805
|
-
### RouteAccessRecord
|
|
1806
|
-
|
|
1807
|
-
• **RouteAccessRecord**: Interface RouteAccessRecord
|
|
1808
|
-
|
|
1809
|
-
#### Defined in
|
|
1810
|
-
|
|
1811
|
-
[packages/core/src/rbac/components/RoleBasedRouter.tsx:108](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L108)
|
|
1812
|
-
|
|
1813
|
-
___
|
|
1814
|
-
|
|
1815
|
-
### RoleBasedRouterContextType
|
|
1816
|
-
|
|
1817
|
-
• **RoleBasedRouterContextType**: Interface RoleBasedRouterContextType
|
|
1818
|
-
|
|
1819
|
-
#### Defined in
|
|
1820
|
-
|
|
1821
|
-
[packages/core/src/rbac/components/RoleBasedRouter.tsx:120](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L120)
|
|
1822
|
-
|
|
1823
|
-
___
|
|
1824
|
-
|
|
1825
|
-
### RoleBasedRouterProps
|
|
1826
|
-
|
|
1827
|
-
• **RoleBasedRouterProps**: Interface RoleBasedRouterProps
|
|
1828
|
-
|
|
1829
|
-
#### Defined in
|
|
1830
|
-
|
|
1831
|
-
[packages/core/src/rbac/components/RoleBasedRouter.tsx:143](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L143)
|
|
1832
|
-
|
|
1833
|
-
___
|
|
1834
|
-
|
|
1835
|
-
### DataAccessRecord
|
|
1836
|
-
|
|
1837
|
-
• **DataAccessRecord**: Interface DataAccessRecord
|
|
1838
|
-
|
|
1839
|
-
#### Defined in
|
|
1840
|
-
|
|
1841
|
-
[packages/core/src/rbac/components/SecureDataProvider.tsx:67](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/SecureDataProvider.tsx#L67)
|
|
1842
|
-
|
|
1843
|
-
___
|
|
1844
|
-
|
|
1845
|
-
### SecureDataContextType
|
|
1846
|
-
|
|
1847
|
-
• **SecureDataContextType**: Interface SecureDataContextType
|
|
1848
|
-
|
|
1849
|
-
#### Defined in
|
|
1850
|
-
|
|
1851
|
-
[packages/core/src/rbac/components/SecureDataProvider.tsx:78](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/SecureDataProvider.tsx#L78)
|
|
1852
|
-
|
|
1853
|
-
___
|
|
1854
|
-
|
|
1855
|
-
### SecureDataProviderProps
|
|
1856
|
-
|
|
1857
|
-
• **SecureDataProviderProps**: Interface SecureDataProviderProps
|
|
1858
|
-
|
|
1859
|
-
#### Defined in
|
|
1860
|
-
|
|
1861
|
-
[packages/core/src/rbac/components/SecureDataProvider.tsx:104](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/SecureDataProvider.tsx#L104)
|
|
1696
|
+
[packages/core/src/rbac/components/PagePermissionGuard.tsx:79](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/PagePermissionGuard.tsx#L79)
|
|
1862
1697
|
|
|
1863
1698
|
___
|
|
1864
1699
|
|
|
@@ -1898,7 +1733,7 @@ ___
|
|
|
1898
1733
|
|
|
1899
1734
|
#### Defined in
|
|
1900
1735
|
|
|
1901
|
-
[packages/core/src/rbac/hooks/useResolvedScope.ts:
|
|
1736
|
+
[packages/core/src/rbac/hooks/useResolvedScope.ts:42](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResolvedScope.ts#L42)
|
|
1902
1737
|
|
|
1903
1738
|
___
|
|
1904
1739
|
|
|
@@ -1908,7 +1743,7 @@ ___
|
|
|
1908
1743
|
|
|
1909
1744
|
#### Defined in
|
|
1910
1745
|
|
|
1911
|
-
[packages/core/src/rbac/hooks/useResourcePermissions.ts:
|
|
1746
|
+
[packages/core/src/rbac/hooks/useResourcePermissions.ts:54](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResourcePermissions.ts#L54)
|
|
1912
1747
|
|
|
1913
1748
|
___
|
|
1914
1749
|
|
|
@@ -1918,7 +1753,7 @@ ___
|
|
|
1918
1753
|
|
|
1919
1754
|
#### Defined in
|
|
1920
1755
|
|
|
1921
|
-
[packages/core/src/rbac/hooks/useResourcePermissions.ts:
|
|
1756
|
+
[packages/core/src/rbac/hooks/useResourcePermissions.ts:61](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResourcePermissions.ts#L61)
|
|
1922
1757
|
|
|
1923
1758
|
___
|
|
1924
1759
|
|
|
@@ -2509,7 +2344,7 @@ RowId
|
|
|
2509
2344
|
|
|
2510
2345
|
#### Defined in
|
|
2511
2346
|
|
|
2512
|
-
[packages/core/src/components/DataTable/types.ts:
|
|
2347
|
+
[packages/core/src/components/DataTable/types.ts:61](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DataTable/types.ts#L61)
|
|
2513
2348
|
|
|
2514
2349
|
___
|
|
2515
2350
|
|
|
@@ -2523,7 +2358,7 @@ ergonomic while maintaining strict internal guarantees.
|
|
|
2523
2358
|
|
|
2524
2359
|
#### Defined in
|
|
2525
2360
|
|
|
2526
|
-
[packages/core/src/components/DataTable/types.ts:
|
|
2361
|
+
[packages/core/src/components/DataTable/types.ts:518](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DataTable/types.ts#L518)
|
|
2527
2362
|
|
|
2528
2363
|
___
|
|
2529
2364
|
|
|
@@ -2535,7 +2370,7 @@ Dialog size variants
|
|
|
2535
2370
|
|
|
2536
2371
|
#### Defined in
|
|
2537
2372
|
|
|
2538
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
2373
|
+
[packages/core/src/components/Dialog/Dialog.tsx:135](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L135)
|
|
2539
2374
|
|
|
2540
2375
|
___
|
|
2541
2376
|
|
|
@@ -3428,7 +3263,7 @@ ReactNode
|
|
|
3428
3263
|
|
|
3429
3264
|
#### Defined in
|
|
3430
3265
|
|
|
3431
|
-
[packages/core/src/components/Button/Button.tsx:
|
|
3266
|
+
[packages/core/src/components/Button/Button.tsx:123](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Button/Button.tsx#L123)
|
|
3432
3267
|
|
|
3433
3268
|
___
|
|
3434
3269
|
|
|
@@ -3450,7 +3285,7 @@ JSX.Element - The rendered calendar element
|
|
|
3450
3285
|
|
|
3451
3286
|
#### Defined in
|
|
3452
3287
|
|
|
3453
|
-
[packages/core/src/components/Calendar/Calendar.tsx:
|
|
3288
|
+
[packages/core/src/components/Calendar/Calendar.tsx:197](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Calendar/Calendar.tsx#L197)
|
|
3454
3289
|
|
|
3455
3290
|
___
|
|
3456
3291
|
|
|
@@ -4091,7 +3926,7 @@ ReactNode
|
|
|
4091
3926
|
|
|
4092
3927
|
#### Defined in
|
|
4093
3928
|
|
|
4094
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
3929
|
+
[packages/core/src/components/Dialog/Dialog.tsx:312](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L312)
|
|
4095
3930
|
|
|
4096
3931
|
___
|
|
4097
3932
|
|
|
@@ -4111,7 +3946,7 @@ ReactNode
|
|
|
4111
3946
|
|
|
4112
3947
|
#### Defined in
|
|
4113
3948
|
|
|
4114
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
3949
|
+
[packages/core/src/components/Dialog/Dialog.tsx:380](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L380)
|
|
4115
3950
|
|
|
4116
3951
|
___
|
|
4117
3952
|
|
|
@@ -4131,9 +3966,9 @@ ReactNode \| Promise\<ReactNode\>
|
|
|
4131
3966
|
|
|
4132
3967
|
#### Defined in
|
|
4133
3968
|
|
|
4134
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
3969
|
+
[packages/core/src/components/Dialog/Dialog.tsx:417](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L417)
|
|
4135
3970
|
|
|
4136
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
3971
|
+
[packages/core/src/components/Dialog/Dialog.tsx:429](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L429)
|
|
4137
3972
|
|
|
4138
3973
|
___
|
|
4139
3974
|
|
|
@@ -4155,7 +3990,7 @@ JSX.Element - The semantic dialog content with overlay and optional close button
|
|
|
4155
3990
|
|
|
4156
3991
|
#### Defined in
|
|
4157
3992
|
|
|
4158
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
3993
|
+
[packages/core/src/components/Dialog/Dialog.tsx:641](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L641)
|
|
4159
3994
|
|
|
4160
3995
|
___
|
|
4161
3996
|
|
|
@@ -4175,7 +4010,7 @@ ReactNode
|
|
|
4175
4010
|
|
|
4176
4011
|
#### Defined in
|
|
4177
4012
|
|
|
4178
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
4013
|
+
[packages/core/src/components/Dialog/Dialog.tsx:1374](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L1374)
|
|
4179
4014
|
|
|
4180
4015
|
___
|
|
4181
4016
|
|
|
@@ -4195,7 +4030,7 @@ Element
|
|
|
4195
4030
|
|
|
4196
4031
|
#### Defined in
|
|
4197
4032
|
|
|
4198
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
4033
|
+
[packages/core/src/components/Dialog/Dialog.tsx:1426](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L1426)
|
|
4199
4034
|
|
|
4200
4035
|
___
|
|
4201
4036
|
|
|
@@ -4215,7 +4050,7 @@ Element
|
|
|
4215
4050
|
|
|
4216
4051
|
#### Defined in
|
|
4217
4052
|
|
|
4218
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
4053
|
+
[packages/core/src/components/Dialog/Dialog.tsx:1446](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L1446)
|
|
4219
4054
|
|
|
4220
4055
|
___
|
|
4221
4056
|
|
|
@@ -4235,7 +4070,7 @@ Element
|
|
|
4235
4070
|
|
|
4236
4071
|
#### Defined in
|
|
4237
4072
|
|
|
4238
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
4073
|
+
[packages/core/src/components/Dialog/Dialog.tsx:1548](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L1548)
|
|
4239
4074
|
|
|
4240
4075
|
___
|
|
4241
4076
|
|
|
@@ -4255,7 +4090,7 @@ ReactNode
|
|
|
4255
4090
|
|
|
4256
4091
|
#### Defined in
|
|
4257
4092
|
|
|
4258
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
4093
|
+
[packages/core/src/components/Dialog/Dialog.tsx:1568](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L1568)
|
|
4259
4094
|
|
|
4260
4095
|
___
|
|
4261
4096
|
|
|
@@ -4275,7 +4110,7 @@ ReactNode
|
|
|
4275
4110
|
|
|
4276
4111
|
#### Defined in
|
|
4277
4112
|
|
|
4278
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
4113
|
+
[packages/core/src/components/Dialog/Dialog.tsx:1607](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L1607)
|
|
4279
4114
|
|
|
4280
4115
|
___
|
|
4281
4116
|
|
|
@@ -4345,7 +4180,7 @@ The rendered file display
|
|
|
4345
4180
|
|
|
4346
4181
|
#### Defined in
|
|
4347
4182
|
|
|
4348
|
-
[packages/core/src/components/FileDisplay/FileDisplay.tsx:
|
|
4183
|
+
[packages/core/src/components/FileDisplay/FileDisplay.tsx:961](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/FileDisplay/FileDisplay.tsx#L961)
|
|
4349
4184
|
|
|
4350
4185
|
___
|
|
4351
4186
|
|
|
@@ -4365,7 +4200,7 @@ Element
|
|
|
4365
4200
|
|
|
4366
4201
|
#### Defined in
|
|
4367
4202
|
|
|
4368
|
-
[packages/core/src/components/FileUpload/FileUpload.tsx:
|
|
4203
|
+
[packages/core/src/components/FileUpload/FileUpload.tsx:58](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/FileUpload/FileUpload.tsx#L58)
|
|
4369
4204
|
|
|
4370
4205
|
___
|
|
4371
4206
|
|
|
@@ -4430,7 +4265,7 @@ JSX.Element - The rendered form with FormProvider context
|
|
|
4430
4265
|
|
|
4431
4266
|
#### Defined in
|
|
4432
4267
|
|
|
4433
|
-
[packages/core/src/components/Form/Form.tsx:
|
|
4268
|
+
[packages/core/src/components/Form/Form.tsx:147](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Form/Form.tsx#L147)
|
|
4434
4269
|
|
|
4435
4270
|
___
|
|
4436
4271
|
|
|
@@ -4522,7 +4357,7 @@ JSX.Element - The rendered form field with validation
|
|
|
4522
4357
|
|
|
4523
4358
|
#### Defined in
|
|
4524
4359
|
|
|
4525
|
-
[packages/core/src/components/Form/Form.tsx:
|
|
4360
|
+
[packages/core/src/components/Form/Form.tsx:668](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Form/Form.tsx#L668)
|
|
4526
4361
|
|
|
4527
4362
|
___
|
|
4528
4363
|
|
|
@@ -4871,7 +4706,7 @@ function AdminApp() {
|
|
|
4871
4706
|
|
|
4872
4707
|
#### Defined in
|
|
4873
4708
|
|
|
4874
|
-
[packages/core/src/components/PaceAppLayout/PaceAppLayout.tsx:
|
|
4709
|
+
[packages/core/src/components/PaceAppLayout/PaceAppLayout.tsx:355](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PaceAppLayout/PaceAppLayout.tsx#L355)
|
|
4875
4710
|
|
|
4876
4711
|
___
|
|
4877
4712
|
|
|
@@ -5116,7 +4951,7 @@ ___
|
|
|
5116
4951
|
|
|
5117
4952
|
| Name | Type | Description |
|
|
5118
4953
|
| :------ | :------ | :------ |
|
|
5119
|
-
| `props` | SelectProps & UseSelectStateProps & RefAttributes\<
|
|
4954
|
+
| `props` | SelectProps & UseSelectStateProps & RefAttributes\<HTMLFieldSetElement\> | Select configuration |
|
|
5120
4955
|
|
|
5121
4956
|
#### Returns
|
|
5122
4957
|
|
|
@@ -5148,7 +4983,7 @@ The rendered select trigger
|
|
|
5148
4983
|
|
|
5149
4984
|
#### Defined in
|
|
5150
4985
|
|
|
5151
|
-
[packages/core/src/components/Select/Select.tsx:
|
|
4986
|
+
[packages/core/src/components/Select/Select.tsx:233](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L233)
|
|
5152
4987
|
|
|
5153
4988
|
___
|
|
5154
4989
|
|
|
@@ -5214,7 +5049,7 @@ The rendered select item
|
|
|
5214
5049
|
|
|
5215
5050
|
#### Defined in
|
|
5216
5051
|
|
|
5217
|
-
[packages/core/src/components/Select/Select.tsx:
|
|
5052
|
+
[packages/core/src/components/Select/Select.tsx:553](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L553)
|
|
5218
5053
|
|
|
5219
5054
|
___
|
|
5220
5055
|
|
|
@@ -5226,7 +5061,7 @@ ___
|
|
|
5226
5061
|
|
|
5227
5062
|
| Name | Type | Description |
|
|
5228
5063
|
| :------ | :------ | :------ |
|
|
5229
|
-
| `props` | Object & RefAttributes\<
|
|
5064
|
+
| `props` | Object & RefAttributes\<HTMLUListElement\> | Select group configuration |
|
|
5230
5065
|
|
|
5231
5066
|
#### Returns
|
|
5232
5067
|
|
|
@@ -5236,7 +5071,7 @@ The rendered select group
|
|
|
5236
5071
|
|
|
5237
5072
|
#### Defined in
|
|
5238
5073
|
|
|
5239
|
-
[packages/core/src/components/Select/Select.tsx:
|
|
5074
|
+
[packages/core/src/components/Select/Select.tsx:663](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L663)
|
|
5240
5075
|
|
|
5241
5076
|
___
|
|
5242
5077
|
|
|
@@ -5248,7 +5083,7 @@ ___
|
|
|
5248
5083
|
|
|
5249
5084
|
| Name | Type | Description |
|
|
5250
5085
|
| :------ | :------ | :------ |
|
|
5251
|
-
| `props` | Object & RefAttributes\<
|
|
5086
|
+
| `props` | Object & RefAttributes\<HTMLLIElement\> | Select label configuration |
|
|
5252
5087
|
|
|
5253
5088
|
#### Returns
|
|
5254
5089
|
|
|
@@ -5258,7 +5093,7 @@ The rendered select label
|
|
|
5258
5093
|
|
|
5259
5094
|
#### Defined in
|
|
5260
5095
|
|
|
5261
|
-
[packages/core/src/components/Select/Select.tsx:
|
|
5096
|
+
[packages/core/src/components/Select/Select.tsx:688](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L688)
|
|
5262
5097
|
|
|
5263
5098
|
___
|
|
5264
5099
|
|
|
@@ -5270,7 +5105,7 @@ ___
|
|
|
5270
5105
|
|
|
5271
5106
|
| Name | Type | Description |
|
|
5272
5107
|
| :------ | :------ | :------ |
|
|
5273
|
-
| `props` | Object & RefAttributes\<
|
|
5108
|
+
| `props` | Object & RefAttributes\<HTMLHRElement\> | Select separator configuration |
|
|
5274
5109
|
|
|
5275
5110
|
#### Returns
|
|
5276
5111
|
|
|
@@ -5280,7 +5115,7 @@ The rendered select separator
|
|
|
5280
5115
|
|
|
5281
5116
|
#### Defined in
|
|
5282
5117
|
|
|
5283
|
-
[packages/core/src/components/Select/Select.tsx:
|
|
5118
|
+
[packages/core/src/components/Select/Select.tsx:707](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L707)
|
|
5284
5119
|
|
|
5285
5120
|
___
|
|
5286
5121
|
|
|
@@ -5962,7 +5797,7 @@ void
|
|
|
5962
5797
|
|
|
5963
5798
|
#### Defined in
|
|
5964
5799
|
|
|
5965
|
-
[packages/core/src/hooks/public/usePublicEvent.ts:
|
|
5800
|
+
[packages/core/src/hooks/public/usePublicEvent.ts:285](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicEvent.ts#L285)
|
|
5966
5801
|
|
|
5967
5802
|
___
|
|
5968
5803
|
|
|
@@ -5983,7 +5818,7 @@ Object
|
|
|
5983
5818
|
|
|
5984
5819
|
#### Defined in
|
|
5985
5820
|
|
|
5986
|
-
[packages/core/src/hooks/public/usePublicEvent.ts:
|
|
5821
|
+
[packages/core/src/hooks/public/usePublicEvent.ts:296](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicEvent.ts#L296)
|
|
5987
5822
|
|
|
5988
5823
|
___
|
|
5989
5824
|
|
|
@@ -6030,7 +5865,7 @@ void
|
|
|
6030
5865
|
|
|
6031
5866
|
#### Defined in
|
|
6032
5867
|
|
|
6033
|
-
[packages/core/src/hooks/public/usePublicEventLogo.ts:
|
|
5868
|
+
[packages/core/src/hooks/public/usePublicEventLogo.ts:285](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicEventLogo.ts#L285)
|
|
6034
5869
|
|
|
6035
5870
|
___
|
|
6036
5871
|
|
|
@@ -6051,7 +5886,7 @@ Object
|
|
|
6051
5886
|
|
|
6052
5887
|
#### Defined in
|
|
6053
5888
|
|
|
6054
|
-
[packages/core/src/hooks/public/usePublicEventLogo.ts:
|
|
5889
|
+
[packages/core/src/hooks/public/usePublicEventLogo.ts:296](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicEventLogo.ts#L296)
|
|
6055
5890
|
|
|
6056
5891
|
___
|
|
6057
5892
|
|
|
@@ -6320,7 +6155,7 @@ void
|
|
|
6320
6155
|
|
|
6321
6156
|
#### Defined in
|
|
6322
6157
|
|
|
6323
|
-
[packages/core/src/hooks/useEventTheme.ts:
|
|
6158
|
+
[packages/core/src/hooks/useEventTheme.ts:98](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useEventTheme.ts#L98)
|
|
6324
6159
|
|
|
6325
6160
|
___
|
|
6326
6161
|
|
|
@@ -6699,7 +6534,7 @@ UseSessionRestorationResult
|
|
|
6699
6534
|
|
|
6700
6535
|
#### Defined in
|
|
6701
6536
|
|
|
6702
|
-
[packages/core/src/hooks/useSessionRestoration.ts:
|
|
6537
|
+
[packages/core/src/hooks/useSessionRestoration.ts:34](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useSessionRestoration.ts#L34)
|
|
6703
6538
|
|
|
6704
6539
|
___
|
|
6705
6540
|
|
|
@@ -6899,127 +6734,7 @@ The unified auth provider
|
|
|
6899
6734
|
|
|
6900
6735
|
#### Defined in
|
|
6901
6736
|
|
|
6902
|
-
[packages/core/src/providers/services/UnifiedAuthProvider.tsx:
|
|
6903
|
-
|
|
6904
|
-
___
|
|
6905
|
-
|
|
6906
|
-
### PermissionGuard
|
|
6907
|
-
|
|
6908
|
-
▸ **PermissionGuard**(`«destructured»`): React.ReactNode
|
|
6909
|
-
|
|
6910
|
-
Permission Guard Component
|
|
6911
|
-
|
|
6912
|
-
A React component that conditionally renders children based on permissions.
|
|
6913
|
-
Can auto-infer userId from context if not provided.
|
|
6914
|
-
|
|
6915
|
-
#### Parameters
|
|
6916
|
-
|
|
6917
|
-
| Name | Type | Default value |
|
|
6918
|
-
| :------ | :------ | :------ |
|
|
6919
|
-
| `«destructured»` | Object | `undefined` |
|
|
6920
|
-
| › `userId?` | string | `undefined` |
|
|
6921
|
-
| › `scope` | Object | `undefined` |
|
|
6922
|
-
| › `scope.organisationId` | string | `undefined` |
|
|
6923
|
-
| › `scope.eventId?` | string | `undefined` |
|
|
6924
|
-
| › `scope.appId?` | string | `undefined` |
|
|
6925
|
-
| › `permission` | \`read:$\{string}\` \| \`create:$\{string}\` \| \`update:$\{string}\` \| \`delete:$\{string}\` | `undefined` |
|
|
6926
|
-
| › `pageId?` | string | `undefined` |
|
|
6927
|
-
| › `children` | ReactNode | `undefined` |
|
|
6928
|
-
| › `fallback?` | ReactNode | `null` |
|
|
6929
|
-
| › `onDenied?` | Function | `undefined` |
|
|
6930
|
-
| › `loading?` | ReactNode | `null` |
|
|
6931
|
-
| › `strictMode?` | boolean | `true` |
|
|
6932
|
-
| › `auditLog?` | boolean | `true` |
|
|
6933
|
-
| › `enforceAudit?` | boolean | `true` |
|
|
6934
|
-
|
|
6935
|
-
#### Returns
|
|
6936
|
-
|
|
6937
|
-
React.ReactNode
|
|
6938
|
-
|
|
6939
|
-
**`Example`**
|
|
6940
|
-
|
|
6941
|
-
```tsx
|
|
6942
|
-
// With explicit userId and scope
|
|
6943
|
-
<PermissionGuard
|
|
6944
|
-
userId="user-123"
|
|
6945
|
-
scope={{ organisationId: 'org-456' }}
|
|
6946
|
-
permission="update:events"
|
|
6947
|
-
pageId="page-789"
|
|
6948
|
-
fallback={<AccessDenied />}
|
|
6949
|
-
>
|
|
6950
|
-
<AdminPanel />
|
|
6951
|
-
</PermissionGuard>
|
|
6952
|
-
|
|
6953
|
-
// With context inference (requires auth context)
|
|
6954
|
-
<PermissionGuard
|
|
6955
|
-
permission="update:events"
|
|
6956
|
-
scope={{ organisationId: 'org-456' }}
|
|
6957
|
-
fallback={<AccessDenied />}
|
|
6958
|
-
>
|
|
6959
|
-
<AdminPanel />
|
|
6960
|
-
</PermissionGuard>
|
|
6961
|
-
```
|
|
6962
|
-
|
|
6963
|
-
#### Defined in
|
|
6964
|
-
|
|
6965
|
-
[packages/core/src/rbac/adapters.tsx:50](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/adapters.tsx#L50)
|
|
6966
|
-
|
|
6967
|
-
___
|
|
6968
|
-
|
|
6969
|
-
### AccessLevelGuard
|
|
6970
|
-
|
|
6971
|
-
▸ **AccessLevelGuard**(`«destructured»`): React.ReactNode
|
|
6972
|
-
|
|
6973
|
-
Access Level Guard Component
|
|
6974
|
-
|
|
6975
|
-
A React component that conditionally renders children based on access level.
|
|
6976
|
-
Can auto-infer userId from context if not provided.
|
|
6977
|
-
|
|
6978
|
-
#### Parameters
|
|
6979
|
-
|
|
6980
|
-
| Name | Type | Default value |
|
|
6981
|
-
| :------ | :------ | :------ |
|
|
6982
|
-
| `«destructured»` | Object | `undefined` |
|
|
6983
|
-
| › `userId?` | string | `undefined` |
|
|
6984
|
-
| › `scope` | Object | `undefined` |
|
|
6985
|
-
| › `scope.organisationId` | string | `undefined` |
|
|
6986
|
-
| › `scope.eventId?` | string | `undefined` |
|
|
6987
|
-
| › `scope.appId?` | string | `undefined` |
|
|
6988
|
-
| › `minLevel` | "viewer" \| "participant" \| "planner" \| "admin" \| "super" | `undefined` |
|
|
6989
|
-
| › `children` | ReactNode | `undefined` |
|
|
6990
|
-
| › `fallback?` | ReactNode | `null` |
|
|
6991
|
-
| › `loading?` | ReactNode | `null` |
|
|
6992
|
-
|
|
6993
|
-
#### Returns
|
|
6994
|
-
|
|
6995
|
-
React.ReactNode
|
|
6996
|
-
|
|
6997
|
-
**`Example`**
|
|
6998
|
-
|
|
6999
|
-
```tsx
|
|
7000
|
-
// With explicit userId and scope
|
|
7001
|
-
<AccessLevelGuard
|
|
7002
|
-
userId="user-123"
|
|
7003
|
-
scope={{ organisationId: 'org-456' }}
|
|
7004
|
-
minLevel="admin"
|
|
7005
|
-
fallback={<AccessDenied />}
|
|
7006
|
-
>
|
|
7007
|
-
<AdminPanel />
|
|
7008
|
-
</AccessLevelGuard>
|
|
7009
|
-
|
|
7010
|
-
// With context inference (requires auth context)
|
|
7011
|
-
<AccessLevelGuard
|
|
7012
|
-
minLevel="admin"
|
|
7013
|
-
scope={{ organisationId: 'org-456' }}
|
|
7014
|
-
fallback={<AccessDenied />}
|
|
7015
|
-
>
|
|
7016
|
-
<AdminPanel />
|
|
7017
|
-
</AccessLevelGuard>
|
|
7018
|
-
```
|
|
7019
|
-
|
|
7020
|
-
#### Defined in
|
|
7021
|
-
|
|
7022
|
-
[packages/core/src/rbac/adapters.tsx:190](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/adapters.tsx#L190)
|
|
6737
|
+
[packages/core/src/providers/services/UnifiedAuthProvider.tsx:756](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/providers/services/UnifiedAuthProvider.tsx#L756)
|
|
7023
6738
|
|
|
7024
6739
|
___
|
|
7025
6740
|
|
|
@@ -7078,7 +6793,7 @@ const protectedHandler = withPermissionGuard(
|
|
|
7078
6793
|
|
|
7079
6794
|
#### Defined in
|
|
7080
6795
|
|
|
7081
|
-
[packages/core/src/rbac/adapters.tsx:
|
|
6796
|
+
[packages/core/src/rbac/adapters.tsx:43](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/adapters.tsx#L43)
|
|
7082
6797
|
|
|
7083
6798
|
___
|
|
7084
6799
|
|
|
@@ -7135,7 +6850,7 @@ const adminHandler = withAccessLevelGuard(
|
|
|
7135
6850
|
|
|
7136
6851
|
#### Defined in
|
|
7137
6852
|
|
|
7138
|
-
[packages/core/src/rbac/adapters.tsx:
|
|
6853
|
+
[packages/core/src/rbac/adapters.tsx:100](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/adapters.tsx#L100)
|
|
7139
6854
|
|
|
7140
6855
|
___
|
|
7141
6856
|
|
|
@@ -7201,7 +6916,7 @@ const adminHandler = withRoleGuard(
|
|
|
7201
6916
|
|
|
7202
6917
|
#### Defined in
|
|
7203
6918
|
|
|
7204
|
-
[packages/core/src/rbac/adapters.tsx:
|
|
6919
|
+
[packages/core/src/rbac/adapters.tsx:161](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/adapters.tsx#L161)
|
|
7205
6920
|
|
|
7206
6921
|
___
|
|
7207
6922
|
|
|
@@ -7264,7 +6979,7 @@ export default createRBACMiddleware({
|
|
|
7264
6979
|
|
|
7265
6980
|
#### Defined in
|
|
7266
6981
|
|
|
7267
|
-
[packages/core/src/rbac/adapters.tsx:
|
|
6982
|
+
[packages/core/src/rbac/adapters.tsx:284](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/adapters.tsx#L284)
|
|
7268
6983
|
|
|
7269
6984
|
___
|
|
7270
6985
|
|
|
@@ -7323,67 +7038,7 @@ app.use(createRBACExpressMiddleware({
|
|
|
7323
7038
|
|
|
7324
7039
|
#### Defined in
|
|
7325
7040
|
|
|
7326
|
-
[packages/core/src/rbac/adapters.tsx:
|
|
7327
|
-
|
|
7328
|
-
___
|
|
7329
|
-
|
|
7330
|
-
### hasPermissionCached
|
|
7331
|
-
|
|
7332
|
-
▸ **hasPermissionCached**(`userId`, `scope`, `_permission`, `_pageId?`): boolean
|
|
7333
|
-
|
|
7334
|
-
Check if a user has a permission (synchronous cache check only)
|
|
7335
|
-
|
|
7336
|
-
#### Parameters
|
|
7337
|
-
|
|
7338
|
-
| Name | Type | Description |
|
|
7339
|
-
| :------ | :------ | :------ |
|
|
7340
|
-
| `userId` | string | User ID |
|
|
7341
|
-
| `scope` | Object | Permission scope |
|
|
7342
|
-
| `scope.organisationId` | string | - |
|
|
7343
|
-
| `scope.eventId?` | string | - |
|
|
7344
|
-
| `scope.appId?` | string | - |
|
|
7345
|
-
| `_permission` | \`read:$\{string}\` \| \`create:$\{string}\` \| \`update:$\{string}\` \| \`delete:$\{string}\` | - |
|
|
7346
|
-
| `_pageId?` | string | - |
|
|
7347
|
-
|
|
7348
|
-
#### Returns
|
|
7349
|
-
|
|
7350
|
-
boolean
|
|
7351
|
-
|
|
7352
|
-
True if permission is cached and granted
|
|
7353
|
-
|
|
7354
|
-
#### Defined in
|
|
7355
|
-
|
|
7356
|
-
[packages/core/src/rbac/adapters.tsx:636](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/adapters.tsx#L636)
|
|
7357
|
-
|
|
7358
|
-
___
|
|
7359
|
-
|
|
7360
|
-
### hasAnyPermissionCached
|
|
7361
|
-
|
|
7362
|
-
▸ **hasAnyPermissionCached**(`userId`, `scope`, `permissions`, `pageId?`): boolean
|
|
7363
|
-
|
|
7364
|
-
Check if a user has any of the specified permissions (synchronous cache check only)
|
|
7365
|
-
|
|
7366
|
-
#### Parameters
|
|
7367
|
-
|
|
7368
|
-
| Name | Type | Description |
|
|
7369
|
-
| :------ | :------ | :------ |
|
|
7370
|
-
| `userId` | string | User ID |
|
|
7371
|
-
| `scope` | Object | Permission scope |
|
|
7372
|
-
| `scope.organisationId` | string | - |
|
|
7373
|
-
| `scope.eventId?` | string | - |
|
|
7374
|
-
| `scope.appId?` | string | - |
|
|
7375
|
-
| `permissions` | (\`read:$\{string}\` \| \`create:$\{string}\` \| \`update:$\{string}\` \| \`delete:$\{string}\`)[] | Array of permissions to check |
|
|
7376
|
-
| `pageId?` | string | Optional page ID |
|
|
7377
|
-
|
|
7378
|
-
#### Returns
|
|
7379
|
-
|
|
7380
|
-
boolean
|
|
7381
|
-
|
|
7382
|
-
True if any permission is cached and granted
|
|
7383
|
-
|
|
7384
|
-
#### Defined in
|
|
7385
|
-
|
|
7386
|
-
[packages/core/src/rbac/adapters.tsx:661](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/adapters.tsx#L661)
|
|
7041
|
+
[packages/core/src/rbac/adapters.tsx:351](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/adapters.tsx#L351)
|
|
7387
7042
|
|
|
7388
7043
|
___
|
|
7389
7044
|
|
|
@@ -7596,30 +7251,6 @@ Promise resolving to permission result
|
|
|
7596
7251
|
|
|
7597
7252
|
___
|
|
7598
7253
|
|
|
7599
|
-
### hasPermission
|
|
7600
|
-
|
|
7601
|
-
▸ **hasPermission**(`input`): Promise\<boolean\>
|
|
7602
|
-
|
|
7603
|
-
Check if a user has a specific permission (alias for isPermitted)
|
|
7604
|
-
|
|
7605
|
-
#### Parameters
|
|
7606
|
-
|
|
7607
|
-
| Name | Type | Description |
|
|
7608
|
-
| :------ | :------ | :------ |
|
|
7609
|
-
| `input` | PermissionCheck | Permission check parameters |
|
|
7610
|
-
|
|
7611
|
-
#### Returns
|
|
7612
|
-
|
|
7613
|
-
Promise\<boolean\>
|
|
7614
|
-
|
|
7615
|
-
Promise<boolean> - True if user has permission
|
|
7616
|
-
|
|
7617
|
-
#### Defined in
|
|
7618
|
-
|
|
7619
|
-
[packages/core/src/rbac/api.ts:499](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L499)
|
|
7620
|
-
|
|
7621
|
-
___
|
|
7622
|
-
|
|
7623
7254
|
### hasAnyPermission
|
|
7624
7255
|
|
|
7625
7256
|
▸ **hasAnyPermission**(`input`): Promise\<boolean\>
|
|
@@ -7644,7 +7275,7 @@ Promise resolving to true if user has any permission
|
|
|
7644
7275
|
|
|
7645
7276
|
#### Defined in
|
|
7646
7277
|
|
|
7647
|
-
[packages/core/src/rbac/api.ts:
|
|
7278
|
+
[packages/core/src/rbac/api.ts:499](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L499)
|
|
7648
7279
|
|
|
7649
7280
|
___
|
|
7650
7281
|
|
|
@@ -7672,7 +7303,7 @@ Promise resolving to true if user has all permissions
|
|
|
7672
7303
|
|
|
7673
7304
|
#### Defined in
|
|
7674
7305
|
|
|
7675
|
-
[packages/core/src/rbac/api.ts:
|
|
7306
|
+
[packages/core/src/rbac/api.ts:527](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/api.ts#L527)
|
|
7676
7307
|
|
|
7677
7308
|
___
|
|
7678
7309
|
|
|
@@ -7802,7 +7433,7 @@ Get quick fix suggestions for custom auth code
|
|
|
7802
7433
|
| Name | Type |
|
|
7803
7434
|
| :------ | :------ |
|
|
7804
7435
|
| `customCodeName` | string |
|
|
7805
|
-
| `type` | "
|
|
7436
|
+
| `type` | "hook" \| "component" \| "util" |
|
|
7806
7437
|
|
|
7807
7438
|
#### Returns
|
|
7808
7439
|
|
|
@@ -7903,7 +7534,7 @@ Runtime compliance result
|
|
|
7903
7534
|
|
|
7904
7535
|
#### Defined in
|
|
7905
7536
|
|
|
7906
|
-
[packages/core/src/rbac/compliance/runtime-compliance.ts:
|
|
7537
|
+
[packages/core/src/rbac/compliance/runtime-compliance.ts:36](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/compliance/runtime-compliance.ts#L36)
|
|
7907
7538
|
|
|
7908
7539
|
___
|
|
7909
7540
|
|
|
@@ -7922,7 +7553,7 @@ void
|
|
|
7922
7553
|
|
|
7923
7554
|
#### Defined in
|
|
7924
7555
|
|
|
7925
|
-
[packages/core/src/rbac/compliance/runtime-compliance.ts:
|
|
7556
|
+
[packages/core/src/rbac/compliance/runtime-compliance.ts:74](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/compliance/runtime-compliance.ts#L74)
|
|
7926
7557
|
|
|
7927
7558
|
___
|
|
7928
7559
|
|
|
@@ -7980,30 +7611,30 @@ Compliance result with issues and recommendations
|
|
|
7980
7611
|
|
|
7981
7612
|
___
|
|
7982
7613
|
|
|
7983
|
-
###
|
|
7614
|
+
### AccessDenied
|
|
7984
7615
|
|
|
7985
|
-
▸ **
|
|
7616
|
+
▸ **AccessDenied**(`props`): Element
|
|
7986
7617
|
|
|
7987
|
-
|
|
7618
|
+
Standard access denied component
|
|
7988
7619
|
|
|
7989
|
-
This component
|
|
7990
|
-
|
|
7620
|
+
This component is displayed when users lack the necessary permissions.
|
|
7621
|
+
It provides clear messaging and actionable next steps.
|
|
7991
7622
|
|
|
7992
7623
|
#### Parameters
|
|
7993
7624
|
|
|
7994
7625
|
| Name | Type | Description |
|
|
7995
7626
|
| :------ | :------ | :------ |
|
|
7996
|
-
| `props` |
|
|
7627
|
+
| `props` | AccessDeniedProps | Component configuration |
|
|
7997
7628
|
|
|
7998
7629
|
#### Returns
|
|
7999
7630
|
|
|
8000
7631
|
Element
|
|
8001
7632
|
|
|
8002
|
-
|
|
7633
|
+
JSX.Element - The rendered access denied page
|
|
8003
7634
|
|
|
8004
7635
|
#### Defined in
|
|
8005
7636
|
|
|
8006
|
-
[packages/core/src/rbac/components/
|
|
7637
|
+
[packages/core/src/rbac/components/AccessDenied.tsx:78](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/AccessDenied.tsx#L78)
|
|
8007
7638
|
|
|
8008
7639
|
___
|
|
8009
7640
|
|
|
@@ -8031,303 +7662,79 @@ React element with navigation permission enforcement
|
|
|
8031
7662
|
|
|
8032
7663
|
#### Defined in
|
|
8033
7664
|
|
|
8034
|
-
[packages/core/src/rbac/components/NavigationGuard.tsx:
|
|
7665
|
+
[packages/core/src/rbac/components/NavigationGuard.tsx:115](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/NavigationGuard.tsx#L115)
|
|
8035
7666
|
|
|
8036
7667
|
___
|
|
8037
7668
|
|
|
8038
|
-
###
|
|
8039
|
-
|
|
8040
|
-
▸ **NavigationProvider**(`props`): Element
|
|
8041
|
-
|
|
8042
|
-
NavigationProvider - Manages navigation-level permissions across the app
|
|
7669
|
+
### PagePermissionGuard
|
|
8043
7670
|
|
|
8044
|
-
|
|
8045
|
-
centralized navigation permission management with strict enforcement.
|
|
7671
|
+
▸ **PagePermissionGuard**(`props`): ReactNode
|
|
8046
7672
|
|
|
8047
7673
|
#### Parameters
|
|
8048
7674
|
|
|
8049
|
-
| Name | Type |
|
|
8050
|
-
| :------ | :------ |
|
|
8051
|
-
| `props` |
|
|
7675
|
+
| Name | Type |
|
|
7676
|
+
| :------ | :------ |
|
|
7677
|
+
| `props` | PagePermissionGuardProps |
|
|
8052
7678
|
|
|
8053
7679
|
#### Returns
|
|
8054
7680
|
|
|
8055
|
-
|
|
8056
|
-
|
|
8057
|
-
React element with navigation permission context
|
|
7681
|
+
ReactNode
|
|
8058
7682
|
|
|
8059
7683
|
#### Defined in
|
|
8060
7684
|
|
|
8061
|
-
[packages/core/src/rbac/components/
|
|
7685
|
+
[packages/core/src/rbac/components/PagePermissionGuard.tsx:521](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/PagePermissionGuard.tsx#L521)
|
|
8062
7686
|
|
|
8063
7687
|
___
|
|
8064
7688
|
|
|
8065
|
-
###
|
|
8066
|
-
|
|
8067
|
-
▸ **useNavigationPermissions**(): NavigationContextType
|
|
8068
|
-
|
|
8069
|
-
Hook to use navigation permission context
|
|
7689
|
+
### createRBACConfig
|
|
8070
7690
|
|
|
8071
|
-
|
|
7691
|
+
▸ **createRBACConfig**(`config`): RBACConfig
|
|
8072
7692
|
|
|
8073
|
-
|
|
7693
|
+
#### Parameters
|
|
8074
7694
|
|
|
8075
|
-
|
|
7695
|
+
| Name | Type |
|
|
7696
|
+
| :------ | :------ |
|
|
7697
|
+
| `config` | RBACConfig |
|
|
8076
7698
|
|
|
8077
|
-
|
|
7699
|
+
#### Returns
|
|
8078
7700
|
|
|
8079
|
-
|
|
7701
|
+
RBACConfig
|
|
8080
7702
|
|
|
8081
7703
|
#### Defined in
|
|
8082
7704
|
|
|
8083
|
-
[packages/core/src/rbac/
|
|
7705
|
+
[packages/core/src/rbac/config.ts:121](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/config.ts#L121)
|
|
8084
7706
|
|
|
8085
7707
|
___
|
|
8086
7708
|
|
|
8087
|
-
###
|
|
8088
|
-
|
|
8089
|
-
▸ **PagePermissionGuard**(`props`): ReactNode
|
|
8090
|
-
|
|
8091
|
-
#### Parameters
|
|
7709
|
+
### getRBACConfig
|
|
8092
7710
|
|
|
8093
|
-
|
|
8094
|
-
| :------ | :------ |
|
|
8095
|
-
| `props` | PagePermissionGuardProps |
|
|
7711
|
+
▸ **getRBACConfig**(): RBACConfig \| null
|
|
8096
7712
|
|
|
8097
7713
|
#### Returns
|
|
8098
7714
|
|
|
8099
|
-
|
|
7715
|
+
RBACConfig \| null
|
|
8100
7716
|
|
|
8101
7717
|
#### Defined in
|
|
8102
7718
|
|
|
8103
|
-
[packages/core/src/rbac/
|
|
7719
|
+
[packages/core/src/rbac/config.ts:126](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/config.ts#L126)
|
|
8104
7720
|
|
|
8105
7721
|
___
|
|
8106
7722
|
|
|
8107
|
-
###
|
|
8108
|
-
|
|
8109
|
-
▸ **PagePermissionProvider**(`props`): Element
|
|
8110
|
-
|
|
8111
|
-
PagePermissionProvider - Manages page-level permissions across the app
|
|
8112
|
-
|
|
8113
|
-
This provider ensures that all pages are properly protected and provides
|
|
8114
|
-
centralized page permission management with strict enforcement.
|
|
8115
|
-
|
|
8116
|
-
#### Parameters
|
|
7723
|
+
### getRBACLogger
|
|
8117
7724
|
|
|
8118
|
-
|
|
8119
|
-
| :------ | :------ | :------ |
|
|
8120
|
-
| `props` | PagePermissionProviderProps | Provider props |
|
|
7725
|
+
▸ **getRBACLogger**(): RBACLogger
|
|
8121
7726
|
|
|
8122
7727
|
#### Returns
|
|
8123
7728
|
|
|
8124
|
-
|
|
8125
|
-
|
|
8126
|
-
React element with page permission context
|
|
7729
|
+
RBACLogger
|
|
8127
7730
|
|
|
8128
7731
|
#### Defined in
|
|
8129
7732
|
|
|
8130
|
-
[packages/core/src/rbac/
|
|
7733
|
+
[packages/core/src/rbac/config.ts:130](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/config.ts#L130)
|
|
8131
7734
|
|
|
8132
7735
|
___
|
|
8133
7736
|
|
|
8134
|
-
###
|
|
8135
|
-
|
|
8136
|
-
▸ **usePagePermissions**(): PagePermissionContextType
|
|
8137
|
-
|
|
8138
|
-
Hook to use page permission context
|
|
8139
|
-
|
|
8140
|
-
#### Returns
|
|
8141
|
-
|
|
8142
|
-
PagePermissionContextType
|
|
8143
|
-
|
|
8144
|
-
Page permission context
|
|
8145
|
-
|
|
8146
|
-
**`Throws`**
|
|
8147
|
-
|
|
8148
|
-
Error if used outside of PagePermissionProvider
|
|
8149
|
-
|
|
8150
|
-
#### Defined in
|
|
8151
|
-
|
|
8152
|
-
[packages/core/src/rbac/components/PagePermissionProvider.tsx:269](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/PagePermissionProvider.tsx#L269)
|
|
8153
|
-
|
|
8154
|
-
___
|
|
8155
|
-
|
|
8156
|
-
### PermissionEnforcer
|
|
8157
|
-
|
|
8158
|
-
▸ **PermissionEnforcer**(`props`): Element
|
|
8159
|
-
|
|
8160
|
-
PermissionEnforcer - Enforces permissions for operations
|
|
8161
|
-
|
|
8162
|
-
This component ensures that users can only perform operations they have permission for.
|
|
8163
|
-
It integrates with the existing RBAC system and provides strict enforcement to
|
|
8164
|
-
prevent apps from bypassing permission checks.
|
|
8165
|
-
|
|
8166
|
-
#### Parameters
|
|
8167
|
-
|
|
8168
|
-
| Name | Type | Description |
|
|
8169
|
-
| :------ | :------ | :------ |
|
|
8170
|
-
| `props` | PermissionEnforcerProps | Component props |
|
|
8171
|
-
|
|
8172
|
-
#### Returns
|
|
8173
|
-
|
|
8174
|
-
Element
|
|
8175
|
-
|
|
8176
|
-
React element with permission enforcement
|
|
8177
|
-
|
|
8178
|
-
#### Defined in
|
|
8179
|
-
|
|
8180
|
-
[packages/core/src/rbac/components/PermissionEnforcer.tsx:121](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/PermissionEnforcer.tsx#L121)
|
|
8181
|
-
|
|
8182
|
-
___
|
|
8183
|
-
|
|
8184
|
-
### RoleBasedRouter
|
|
8185
|
-
|
|
8186
|
-
▸ **RoleBasedRouter**(`props`): Element
|
|
8187
|
-
|
|
8188
|
-
RoleBasedRouter - Centralized routing control with role-based protection
|
|
8189
|
-
|
|
8190
|
-
This component ensures that all routes are properly protected and provides
|
|
8191
|
-
centralized routing control to prevent apps from bypassing route protection.
|
|
8192
|
-
|
|
8193
|
-
#### Parameters
|
|
8194
|
-
|
|
8195
|
-
| Name | Type | Description |
|
|
8196
|
-
| :------ | :------ | :------ |
|
|
8197
|
-
| `props` | RoleBasedRouterProps | Router props |
|
|
8198
|
-
|
|
8199
|
-
#### Returns
|
|
8200
|
-
|
|
8201
|
-
Element
|
|
8202
|
-
|
|
8203
|
-
React element with role-based routing
|
|
8204
|
-
|
|
8205
|
-
#### Defined in
|
|
8206
|
-
|
|
8207
|
-
[packages/core/src/rbac/components/RoleBasedRouter.tsx:183](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L183)
|
|
8208
|
-
|
|
8209
|
-
___
|
|
8210
|
-
|
|
8211
|
-
### useRoleBasedRouter
|
|
8212
|
-
|
|
8213
|
-
▸ **useRoleBasedRouter**(): RoleBasedRouterContextType
|
|
8214
|
-
|
|
8215
|
-
Hook to use role-based router context
|
|
8216
|
-
|
|
8217
|
-
#### Returns
|
|
8218
|
-
|
|
8219
|
-
RoleBasedRouterContextType
|
|
8220
|
-
|
|
8221
|
-
Role-based router context
|
|
8222
|
-
|
|
8223
|
-
**`Throws`**
|
|
8224
|
-
|
|
8225
|
-
Error if used outside of RoleBasedRouter
|
|
8226
|
-
|
|
8227
|
-
#### Defined in
|
|
8228
|
-
|
|
8229
|
-
[packages/core/src/rbac/components/RoleBasedRouter.tsx:403](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L403)
|
|
8230
|
-
|
|
8231
|
-
___
|
|
8232
|
-
|
|
8233
|
-
### SecureDataProvider
|
|
8234
|
-
|
|
8235
|
-
▸ **SecureDataProvider**(`props`): Element
|
|
8236
|
-
|
|
8237
|
-
SecureDataProvider - Prevents direct Supabase access and enforces secure data patterns
|
|
8238
|
-
|
|
8239
|
-
This provider ensures that all data access goes through the secure RBAC system
|
|
8240
|
-
and prevents apps from bypassing data access controls.
|
|
8241
|
-
|
|
8242
|
-
#### Parameters
|
|
8243
|
-
|
|
8244
|
-
| Name | Type | Description |
|
|
8245
|
-
| :------ | :------ | :------ |
|
|
8246
|
-
| `props` | SecureDataProviderProps | Provider props |
|
|
8247
|
-
|
|
8248
|
-
#### Returns
|
|
8249
|
-
|
|
8250
|
-
Element
|
|
8251
|
-
|
|
8252
|
-
React element with secure data context
|
|
8253
|
-
|
|
8254
|
-
#### Defined in
|
|
8255
|
-
|
|
8256
|
-
[packages/core/src/rbac/components/SecureDataProvider.tsx:138](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/SecureDataProvider.tsx#L138)
|
|
8257
|
-
|
|
8258
|
-
___
|
|
8259
|
-
|
|
8260
|
-
### useSecureData
|
|
8261
|
-
|
|
8262
|
-
▸ **useSecureData**(): SecureDataContextType
|
|
8263
|
-
|
|
8264
|
-
Hook to use secure data context
|
|
8265
|
-
|
|
8266
|
-
#### Returns
|
|
8267
|
-
|
|
8268
|
-
SecureDataContextType
|
|
8269
|
-
|
|
8270
|
-
Secure data context
|
|
8271
|
-
|
|
8272
|
-
**`Throws`**
|
|
8273
|
-
|
|
8274
|
-
Error if used outside of SecureDataProvider
|
|
8275
|
-
|
|
8276
|
-
#### Defined in
|
|
8277
|
-
|
|
8278
|
-
[packages/core/src/rbac/components/SecureDataProvider.tsx:329](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/SecureDataProvider.tsx#L329)
|
|
8279
|
-
|
|
8280
|
-
___
|
|
8281
|
-
|
|
8282
|
-
### createRBACConfig
|
|
8283
|
-
|
|
8284
|
-
▸ **createRBACConfig**(`config`): RBACConfig
|
|
8285
|
-
|
|
8286
|
-
#### Parameters
|
|
8287
|
-
|
|
8288
|
-
| Name | Type |
|
|
8289
|
-
| :------ | :------ |
|
|
8290
|
-
| `config` | RBACConfig |
|
|
8291
|
-
|
|
8292
|
-
#### Returns
|
|
8293
|
-
|
|
8294
|
-
RBACConfig
|
|
8295
|
-
|
|
8296
|
-
#### Defined in
|
|
8297
|
-
|
|
8298
|
-
[packages/core/src/rbac/config.ts:121](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/config.ts#L121)
|
|
8299
|
-
|
|
8300
|
-
___
|
|
8301
|
-
|
|
8302
|
-
### getRBACConfig
|
|
8303
|
-
|
|
8304
|
-
▸ **getRBACConfig**(): RBACConfig \| null
|
|
8305
|
-
|
|
8306
|
-
#### Returns
|
|
8307
|
-
|
|
8308
|
-
RBACConfig \| null
|
|
8309
|
-
|
|
8310
|
-
#### Defined in
|
|
8311
|
-
|
|
8312
|
-
[packages/core/src/rbac/config.ts:126](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/config.ts#L126)
|
|
8313
|
-
|
|
8314
|
-
___
|
|
8315
|
-
|
|
8316
|
-
### getRBACLogger
|
|
8317
|
-
|
|
8318
|
-
▸ **getRBACLogger**(): RBACLogger
|
|
8319
|
-
|
|
8320
|
-
#### Returns
|
|
8321
|
-
|
|
8322
|
-
RBACLogger
|
|
8323
|
-
|
|
8324
|
-
#### Defined in
|
|
8325
|
-
|
|
8326
|
-
[packages/core/src/rbac/config.ts:130](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/config.ts#L130)
|
|
8327
|
-
|
|
8328
|
-
___
|
|
8329
|
-
|
|
8330
|
-
### isDebugMode
|
|
7737
|
+
### isDebugMode
|
|
8331
7738
|
|
|
8332
7739
|
▸ **isDebugMode**(): boolean
|
|
8333
7740
|
|
|
@@ -8430,57 +7837,6 @@ function MyComponent() {
|
|
|
8430
7837
|
|
|
8431
7838
|
___
|
|
8432
7839
|
|
|
8433
|
-
### useCachedPermissions
|
|
8434
|
-
|
|
8435
|
-
▸ **useCachedPermissions**(`userId`, `scope`): Object
|
|
8436
|
-
|
|
8437
|
-
Hook to get cached permissions with TTL management
|
|
8438
|
-
|
|
8439
|
-
#### Parameters
|
|
8440
|
-
|
|
8441
|
-
| Name | Type | Description |
|
|
8442
|
-
| :------ | :------ | :------ |
|
|
8443
|
-
| `userId` | string | User ID |
|
|
8444
|
-
| `scope` | Scope | Scope for permission checking |
|
|
8445
|
-
|
|
8446
|
-
#### Returns
|
|
8447
|
-
|
|
8448
|
-
Object
|
|
8449
|
-
|
|
8450
|
-
Cached permission state and methods
|
|
8451
|
-
|
|
8452
|
-
| Name | Type |
|
|
8453
|
-
| :------ | :------ |
|
|
8454
|
-
| `permissions` | PermissionMap |
|
|
8455
|
-
| `isLoading` | boolean |
|
|
8456
|
-
| `error` | Error \| null |
|
|
8457
|
-
| `invalidateCache` | Function |
|
|
8458
|
-
| `refetch` | Function |
|
|
8459
|
-
|
|
8460
|
-
**`Example`**
|
|
8461
|
-
|
|
8462
|
-
```tsx
|
|
8463
|
-
function MyComponent() {
|
|
8464
|
-
const { permissions, isLoading, error, invalidateCache } = useCachedPermissions(userId, scope);
|
|
8465
|
-
|
|
8466
|
-
if (isLoading) return <div>Loading cached permissions...</div>;
|
|
8467
|
-
if (error) return <div>Error: {error.message}</div>;
|
|
8468
|
-
|
|
8469
|
-
return (
|
|
8470
|
-
<div>
|
|
8471
|
-
{permissions['read:users'] && <UserList />}
|
|
8472
|
-
<button onClick={invalidateCache}>Refresh Permissions</button>
|
|
8473
|
-
</div>
|
|
8474
|
-
);
|
|
8475
|
-
}
|
|
8476
|
-
```
|
|
8477
|
-
|
|
8478
|
-
#### Defined in
|
|
8479
|
-
|
|
8480
|
-
[packages/core/src/rbac/hooks/permissions/useCachedPermissions.ts:30](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/permissions/useCachedPermissions.ts#L30)
|
|
8481
|
-
|
|
8482
|
-
___
|
|
8483
|
-
|
|
8484
7840
|
### useCan
|
|
8485
7841
|
|
|
8486
7842
|
▸ **useCan**(`userId`, `scope`, `permission`, `pageId?`, `useCache?`, `precomputedSuperAdmin?`, `appName?`): Object
|
|
@@ -8531,108 +7887,6 @@ function MyComponent() {
|
|
|
8531
7887
|
|
|
8532
7888
|
___
|
|
8533
7889
|
|
|
8534
|
-
### useHasAllPermissions
|
|
8535
|
-
|
|
8536
|
-
▸ **useHasAllPermissions**(`userId`, `scope`, `permissions`, `useCache?`): Object
|
|
8537
|
-
|
|
8538
|
-
Hook to check if user has all of the specified permissions
|
|
8539
|
-
|
|
8540
|
-
#### Parameters
|
|
8541
|
-
|
|
8542
|
-
| Name | Type | Default value | Description |
|
|
8543
|
-
| :------ | :------ | :------ | :------ |
|
|
8544
|
-
| `userId` | string | `undefined` | User ID |
|
|
8545
|
-
| `scope` | Scope | `undefined` | Scope for permission checking |
|
|
8546
|
-
| `permissions` | (\`read:$\{string}\` \| \`create:$\{string}\` \| \`update:$\{string}\` \| \`delete:$\{string}\`)[] | `undefined` | Array of permissions to check |
|
|
8547
|
-
| `useCache` | boolean | `true` | Whether to use cached results |
|
|
8548
|
-
|
|
8549
|
-
#### Returns
|
|
8550
|
-
|
|
8551
|
-
Object
|
|
8552
|
-
|
|
8553
|
-
Whether user has all of the permissions
|
|
8554
|
-
|
|
8555
|
-
| Name | Type |
|
|
8556
|
-
| :------ | :------ |
|
|
8557
|
-
| `hasAll` | boolean |
|
|
8558
|
-
| `isLoading` | boolean |
|
|
8559
|
-
| `error` | Error \| null |
|
|
8560
|
-
| `refetch` | Function |
|
|
8561
|
-
|
|
8562
|
-
**`Example`**
|
|
8563
|
-
|
|
8564
|
-
```tsx
|
|
8565
|
-
function MyComponent() {
|
|
8566
|
-
const { hasAll, isLoading, error } = useHasAllPermissions(
|
|
8567
|
-
userId,
|
|
8568
|
-
scope,
|
|
8569
|
-
['read:users', 'create:users', 'update:users']
|
|
8570
|
-
);
|
|
8571
|
-
|
|
8572
|
-
if (isLoading) return <div>Checking permissions...</div>;
|
|
8573
|
-
if (error) return <div>Error: {error.message}</div>;
|
|
8574
|
-
|
|
8575
|
-
return hasAll ? <FullUserManagementPanel /> : <div>Insufficient permissions</div>;
|
|
8576
|
-
}
|
|
8577
|
-
```
|
|
8578
|
-
|
|
8579
|
-
#### Defined in
|
|
8580
|
-
|
|
8581
|
-
[packages/core/src/rbac/hooks/permissions/useHasAllPermissions.ts:31](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/permissions/useHasAllPermissions.ts#L31)
|
|
8582
|
-
|
|
8583
|
-
___
|
|
8584
|
-
|
|
8585
|
-
### useHasAnyPermission
|
|
8586
|
-
|
|
8587
|
-
▸ **useHasAnyPermission**(`userId`, `scope`, `permissions`, `useCache?`): Object
|
|
8588
|
-
|
|
8589
|
-
Hook to check if user has any of the specified permissions
|
|
8590
|
-
|
|
8591
|
-
#### Parameters
|
|
8592
|
-
|
|
8593
|
-
| Name | Type | Default value | Description |
|
|
8594
|
-
| :------ | :------ | :------ | :------ |
|
|
8595
|
-
| `userId` | string | `undefined` | User ID |
|
|
8596
|
-
| `scope` | Scope | `undefined` | Scope for permission checking |
|
|
8597
|
-
| `permissions` | (\`read:$\{string}\` \| \`create:$\{string}\` \| \`update:$\{string}\` \| \`delete:$\{string}\`)[] | `undefined` | Array of permissions to check |
|
|
8598
|
-
| `useCache` | boolean | `true` | Whether to use cached results |
|
|
8599
|
-
|
|
8600
|
-
#### Returns
|
|
8601
|
-
|
|
8602
|
-
Object
|
|
8603
|
-
|
|
8604
|
-
Whether user has any of the permissions
|
|
8605
|
-
|
|
8606
|
-
| Name | Type |
|
|
8607
|
-
| :------ | :------ |
|
|
8608
|
-
| `hasAny` | boolean |
|
|
8609
|
-
| `isLoading` | boolean |
|
|
8610
|
-
| `error` | Error \| null |
|
|
8611
|
-
| `refetch` | Function |
|
|
8612
|
-
|
|
8613
|
-
**`Example`**
|
|
8614
|
-
|
|
8615
|
-
```tsx
|
|
8616
|
-
function MyComponent() {
|
|
8617
|
-
const { hasAny, isLoading, error } = useHasAnyPermission(
|
|
8618
|
-
userId,
|
|
8619
|
-
scope,
|
|
8620
|
-
['read:users', 'create:users']
|
|
8621
|
-
);
|
|
8622
|
-
|
|
8623
|
-
if (isLoading) return <div>Checking permissions...</div>;
|
|
8624
|
-
if (error) return <div>Error: {error.message}</div>;
|
|
8625
|
-
|
|
8626
|
-
return hasAny ? <UserManagementPanel /> : <div>No user permissions</div>;
|
|
8627
|
-
}
|
|
8628
|
-
```
|
|
8629
|
-
|
|
8630
|
-
#### Defined in
|
|
8631
|
-
|
|
8632
|
-
[packages/core/src/rbac/hooks/permissions/useHasAnyPermission.ts:31](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/permissions/useHasAnyPermission.ts#L31)
|
|
8633
|
-
|
|
8634
|
-
___
|
|
8635
|
-
|
|
8636
7890
|
### useMultiplePermissions
|
|
8637
7891
|
|
|
8638
7892
|
▸ **useMultiplePermissions**(`userId`, `scope`, `permissions`, `useCache?`): Object
|
|
@@ -8809,7 +8063,7 @@ const permission = useCan(userId, resolvedScope, permission);
|
|
|
8809
8063
|
|
|
8810
8064
|
#### Defined in
|
|
8811
8065
|
|
|
8812
|
-
[packages/core/src/rbac/hooks/useResolvedScope.ts:
|
|
8066
|
+
[packages/core/src/rbac/hooks/useResolvedScope.ts:75](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResolvedScope.ts#L75)
|
|
8813
8067
|
|
|
8814
8068
|
___
|
|
8815
8069
|
|
|
@@ -8889,7 +8143,7 @@ function usePlanning() {
|
|
|
8889
8143
|
|
|
8890
8144
|
#### Defined in
|
|
8891
8145
|
|
|
8892
|
-
[packages/core/src/rbac/hooks/useResourcePermissions.ts:
|
|
8146
|
+
[packages/core/src/rbac/hooks/useResourcePermissions.ts:141](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResourcePermissions.ts#L141)
|
|
8893
8147
|
|
|
8894
8148
|
___
|
|
8895
8149
|
|
|
@@ -9355,7 +8609,8 @@ ___
|
|
|
9355
8609
|
Parse and normalize event_colours to PaletteData
|
|
9356
8610
|
|
|
9357
8611
|
Supports input formats:
|
|
9358
|
-
- Object with 'main', 'sec', 'acc' keys
|
|
8612
|
+
- Object with 'main', 'sec', 'acc' keys (standard format)
|
|
8613
|
+
- Object with 'ev-main', 'ev-sec', 'ev-acc' keys (database format with prefix)
|
|
9359
8614
|
- JSON string that will be parsed
|
|
9360
8615
|
|
|
9361
8616
|
Only includes explicitly defined color values. Does not fill
|
|
@@ -9387,9 +8642,22 @@ const palette = parseAndNormalizeEventColours(colours);
|
|
|
9387
8642
|
// Returns: { main: { 500: {...}, raw: {...} }, sec: { 500: {...} }, acc: { 500: {...} } }
|
|
9388
8643
|
```
|
|
9389
8644
|
|
|
8645
|
+
**`Example`**
|
|
8646
|
+
|
|
8647
|
+
```ts
|
|
8648
|
+
// Database format with ev- prefix
|
|
8649
|
+
const colours = {
|
|
8650
|
+
'ev-main': { 500: { L: 0.5, C: 0.2, H: 0 } },
|
|
8651
|
+
'ev-sec': { 500: { L: 0.5, C: 0.2, H: 120 } },
|
|
8652
|
+
'ev-acc': { 500: { L: 0.5, C: 0.2, H: 240 } }
|
|
8653
|
+
};
|
|
8654
|
+
const palette = parseAndNormalizeEventColours(colours);
|
|
8655
|
+
// Returns: { main: { 500: {...} }, sec: { 500: {...} }, acc: { 500: {...} } }
|
|
8656
|
+
```
|
|
8657
|
+
|
|
9390
8658
|
#### Defined in
|
|
9391
8659
|
|
|
9392
|
-
[packages/core/src/theming/parseEventColours.ts:
|
|
8660
|
+
[packages/core/src/theming/parseEventColours.ts:52](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/theming/parseEventColours.ts#L52)
|
|
9393
8661
|
|
|
9394
8662
|
___
|
|
9395
8663
|
|
|
@@ -10165,6 +9433,73 @@ Promise\<Object\>
|
|
|
10165
9433
|
|
|
10166
9434
|
___
|
|
10167
9435
|
|
|
9436
|
+
### createBaseClient
|
|
9437
|
+
|
|
9438
|
+
▸ **createBaseClient**(`supabaseUrl`, `supabaseKey`): SupabaseClient\<Database\>
|
|
9439
|
+
|
|
9440
|
+
Create a base Supabase client for UnifiedAuthProvider
|
|
9441
|
+
|
|
9442
|
+
**CRITICAL**: This function can ONLY be called from:
|
|
9443
|
+
- `src/main.tsx` (or `main.jsx`)
|
|
9444
|
+
- `src/App.tsx` (or `App.jsx`)
|
|
9445
|
+
- `src/lib/supabase.ts` (or `supabase.js`)
|
|
9446
|
+
- `src/supabase.ts` (or `supabase.js`)
|
|
9447
|
+
|
|
9448
|
+
**DO NOT** use this client directly for queries. Always use `useSecureSupabase()` hook instead.
|
|
9449
|
+
|
|
9450
|
+
The client is configured with explicit auth options to ensure consistent session persistence:
|
|
9451
|
+
- `persistSession: true` - Sessions are saved to localStorage and restored on page load/refresh
|
|
9452
|
+
- `autoRefreshToken: true` - Tokens are automatically refreshed before expiry
|
|
9453
|
+
- `detectSessionInUrl: true` - Detects and handles OAuth callback URLs
|
|
9454
|
+
- `flowType: 'pkce'` - Uses PKCE flow for enhanced security
|
|
9455
|
+
|
|
9456
|
+
This configuration ensures that users remain logged in after hard refresh (Cmd+Shift+R)
|
|
9457
|
+
and other browser navigation scenarios across all consuming apps.
|
|
9458
|
+
|
|
9459
|
+
#### Parameters
|
|
9460
|
+
|
|
9461
|
+
| Name | Type | Description |
|
|
9462
|
+
| :------ | :------ | :------ |
|
|
9463
|
+
| `supabaseUrl` | string | Supabase project URL |
|
|
9464
|
+
| `supabaseKey` | string | Supabase publishable key or anon key (accepts both legacy anon keys and modern publishable keys) |
|
|
9465
|
+
|
|
9466
|
+
#### Returns
|
|
9467
|
+
|
|
9468
|
+
SupabaseClient\<Database\>
|
|
9469
|
+
|
|
9470
|
+
Supabase client instance with auth configuration
|
|
9471
|
+
|
|
9472
|
+
**`Throws`**
|
|
9473
|
+
|
|
9474
|
+
If called from an unauthorized file location (development only)
|
|
9475
|
+
|
|
9476
|
+
**`Example`**
|
|
9477
|
+
|
|
9478
|
+
```tsx
|
|
9479
|
+
// main.tsx
|
|
9480
|
+
import { createBaseClient } from '@jmruthers/pace-core';
|
|
9481
|
+
import { UnifiedAuthProvider } from '@jmruthers/pace-core';
|
|
9482
|
+
|
|
9483
|
+
const supabase = createBaseClient(
|
|
9484
|
+
import.meta.env.VITE_SUPABASE_URL,
|
|
9485
|
+
import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY
|
|
9486
|
+
);
|
|
9487
|
+
|
|
9488
|
+
function App() {
|
|
9489
|
+
return (
|
|
9490
|
+
<UnifiedAuthProvider supabaseClient={supabase} appName="MyApp">
|
|
9491
|
+
<YourApp />
|
|
9492
|
+
</UnifiedAuthProvider>
|
|
9493
|
+
);
|
|
9494
|
+
}
|
|
9495
|
+
```
|
|
9496
|
+
|
|
9497
|
+
#### Defined in
|
|
9498
|
+
|
|
9499
|
+
[packages/core/src/utils/supabase/createBaseClient.ts:120](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/supabase/createBaseClient.ts#L120)
|
|
9500
|
+
|
|
9501
|
+
___
|
|
9502
|
+
|
|
10168
9503
|
### formatInTimeZone
|
|
10169
9504
|
|
|
10170
9505
|
▸ **formatInTimeZone**(`date`, `timeZone`, `formatStr`): string
|
|
@@ -10415,3 +9750,98 @@ getTimeZoneDifference('America/New_York', 'America/Los_Angeles');
|
|
|
10415
9750
|
#### Defined in
|
|
10416
9751
|
|
|
10417
9752
|
[packages/core/src/utils/timezone/timezone.ts:264](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/timezone/timezone.ts#L264)
|
|
9753
|
+
|
|
9754
|
+
___
|
|
9755
|
+
|
|
9756
|
+
### sanitizeHtml
|
|
9757
|
+
|
|
9758
|
+
▸ **sanitizeHtml**(`html`): string
|
|
9759
|
+
|
|
9760
|
+
Basic HTML sanitization function using regex-based approach
|
|
9761
|
+
Removes potentially dangerous elements and attributes while preserving basic formatting
|
|
9762
|
+
This approach is more reliable in SSR environments and doesn't require DOM manipulation
|
|
9763
|
+
|
|
9764
|
+
#### Parameters
|
|
9765
|
+
|
|
9766
|
+
| Name | Type | Description |
|
|
9767
|
+
| :------ | :------ | :------ |
|
|
9768
|
+
| `html` | string | The HTML string to sanitize |
|
|
9769
|
+
|
|
9770
|
+
#### Returns
|
|
9771
|
+
|
|
9772
|
+
string
|
|
9773
|
+
|
|
9774
|
+
Sanitized HTML string safe for rendering
|
|
9775
|
+
|
|
9776
|
+
**`Example`**
|
|
9777
|
+
|
|
9778
|
+
```tsx
|
|
9779
|
+
const safeHtml = sanitizeHtml('<p>Hello <strong>world</strong>!</p>');
|
|
9780
|
+
// Returns: '<p>Hello <strong>world</strong>!</p>'
|
|
9781
|
+
|
|
9782
|
+
const dangerousHtml = sanitizeHtml('<script>alert("xss")</script><p>Safe content</p>');
|
|
9783
|
+
// Returns: '<p>Safe content</p>'
|
|
9784
|
+
```
|
|
9785
|
+
|
|
9786
|
+
#### Defined in
|
|
9787
|
+
|
|
9788
|
+
[packages/core/src/utils/validation/htmlSanitization.ts:54](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/validation/htmlSanitization.ts#L54)
|
|
9789
|
+
|
|
9790
|
+
___
|
|
9791
|
+
|
|
9792
|
+
### sanitizeUserInput
|
|
9793
|
+
|
|
9794
|
+
▸ **sanitizeUserInput**(`input`, `options?`): string
|
|
9795
|
+
|
|
9796
|
+
Sanitizes user input by removing potentially dangerous characters and patterns
|
|
9797
|
+
|
|
9798
|
+
#### Parameters
|
|
9799
|
+
|
|
9800
|
+
| Name | Type |
|
|
9801
|
+
| :------ | :------ |
|
|
9802
|
+
| `input` | string |
|
|
9803
|
+
| `options` | SanitizationOptions |
|
|
9804
|
+
|
|
9805
|
+
#### Returns
|
|
9806
|
+
|
|
9807
|
+
string
|
|
9808
|
+
|
|
9809
|
+
#### Defined in
|
|
9810
|
+
|
|
9811
|
+
[packages/core/src/utils/validation/sanitization.ts:40](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/validation/sanitization.ts#L40)
|
|
9812
|
+
|
|
9813
|
+
___
|
|
9814
|
+
|
|
9815
|
+
### sanitizeFormData
|
|
9816
|
+
|
|
9817
|
+
▸ **sanitizeFormData**\<`T`\>(`data`, `schema`, `sanitizationRules?`): Object
|
|
9818
|
+
|
|
9819
|
+
Validates and sanitizes form data using Zod schemas
|
|
9820
|
+
|
|
9821
|
+
#### Type parameters
|
|
9822
|
+
|
|
9823
|
+
| Name |
|
|
9824
|
+
| :------ |
|
|
9825
|
+
| `T` |
|
|
9826
|
+
|
|
9827
|
+
#### Parameters
|
|
9828
|
+
|
|
9829
|
+
| Name | Type |
|
|
9830
|
+
| :------ | :------ |
|
|
9831
|
+
| `data` | unknown |
|
|
9832
|
+
| `schema` | ZodType\<T, ZodTypeDef, T\> |
|
|
9833
|
+
| `sanitizationRules?` | Record\<string, SanitizationOptions\> |
|
|
9834
|
+
|
|
9835
|
+
#### Returns
|
|
9836
|
+
|
|
9837
|
+
Object
|
|
9838
|
+
|
|
9839
|
+
| Name | Type |
|
|
9840
|
+
| :------ | :------ |
|
|
9841
|
+
| `success` | boolean |
|
|
9842
|
+
| `data?` | T |
|
|
9843
|
+
| `error?` | string |
|
|
9844
|
+
|
|
9845
|
+
#### Defined in
|
|
9846
|
+
|
|
9847
|
+
[packages/core/src/utils/validation/sanitization.ts:170](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/validation/sanitization.ts#L170)
|