@jmruthers/pace-core 0.4.1 → 0.5.3
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 +26 -1
- package/README.md +231 -229
- package/dist/{DataTable-2LB6HI6V.js → DataTable-ZQDRE46Q.js} +15 -17
- package/dist/{DataTable-BDBqkU-i.d.ts → DataTable-ltTFXHS3.d.ts} +25 -51
- package/dist/{Table-CIm9IWqk.d.ts → PublicLoadingSpinner-Bq_-BeK-.d.ts} +635 -122
- package/dist/{UnifiedAuthProvider-V7y63NjT.d.ts → RBACProvider-BO4ilsQB.d.ts} +11 -36
- package/dist/UnifiedAuthProvider-DGQsy-vY.d.ts +103 -0
- package/dist/{api-AIJ3IJX3.js → api-H5A3H4IR.js} +6 -4
- package/dist/{appConfig-fB1pP_v3.d.ts → appConfig-BVGyuvI7.d.ts} +1 -1
- package/dist/appNameResolver-7GHF5ED2.js +22 -0
- package/dist/{audit-PD5L5ZSC.js → audit-BUW3LMJB.js} +3 -3
- package/dist/chunk-5H3C2SWM.js +3293 -0
- package/dist/chunk-5H3C2SWM.js.map +1 -0
- package/dist/chunk-5SIXIV7R.js +1925 -0
- package/dist/chunk-5SIXIV7R.js.map +1 -0
- package/dist/{chunk-YNU5QJ4S.js → chunk-7BNPOCLL.js} +22 -5
- package/dist/chunk-7BNPOCLL.js.map +1 -0
- package/dist/{chunk-4ZTIEYU2.js → chunk-CDQ3PX7L.js} +1 -1
- package/dist/chunk-CDQ3PX7L.js.map +1 -0
- package/dist/chunk-GNTALZV3.js +17 -0
- package/dist/chunk-GNTALZV3.js.map +1 -0
- package/dist/chunk-GWSBHC4J.js +1349 -0
- package/dist/chunk-GWSBHC4J.js.map +1 -0
- package/dist/{chunk-JUUNUW3O.js → chunk-HD7PYDUV.js} +14 -5
- package/dist/chunk-HD7PYDUV.js.map +1 -0
- package/dist/{chunk-H4PZ4B3Y.js → chunk-HXX35Q2M.js} +113 -27
- package/dist/chunk-HXX35Q2M.js.map +1 -0
- package/dist/chunk-K6B7BLSE.js +388 -0
- package/dist/chunk-K6B7BLSE.js.map +1 -0
- package/dist/chunk-M4RW7PIP.js +5441 -0
- package/dist/chunk-M4RW7PIP.js.map +1 -0
- package/dist/chunk-MZBUOP4P.js +119 -0
- package/dist/chunk-MZBUOP4P.js.map +1 -0
- package/dist/chunk-N2EUGZRW.js +98 -0
- package/dist/chunk-N2EUGZRW.js.map +1 -0
- package/dist/chunk-NQ4TOOO6.js +20 -0
- package/dist/chunk-NQ4TOOO6.js.map +1 -0
- package/dist/{chunk-DC5AMYBS.js → chunk-PLDDJCW6.js} +15 -5
- package/dist/chunk-PLDDJCW6.js.map +1 -0
- package/dist/{chunk-IOX76PSM.js → chunk-PVMYVQSM.js} +270 -28
- package/dist/chunk-PVMYVQSM.js.map +1 -0
- package/dist/{chunk-4MCJAK7J.js → chunk-QKHFMQ5R.js} +2155 -4853
- package/dist/chunk-QKHFMQ5R.js.map +1 -0
- package/dist/chunk-QVYBYGT2.js +428 -0
- package/dist/chunk-QVYBYGT2.js.map +1 -0
- package/dist/{chunk-WHLSWC6W.js → chunk-SS3E6QLB.js} +16 -61
- package/dist/chunk-SS3E6QLB.js.map +1 -0
- package/dist/chunk-WJARTBCT.js +128 -0
- package/dist/chunk-WJARTBCT.js.map +1 -0
- package/dist/chunk-YDJW5XTN.js +84 -0
- package/dist/chunk-YDJW5XTN.js.map +1 -0
- package/dist/components.d.ts +907 -10
- package/dist/components.js +3237 -204
- package/dist/components.js.map +1 -1
- package/dist/{database-CAMsquLm.d.ts → database-C3Szpi5J.d.ts} +28 -11
- package/dist/hooks.d.ts +7 -6
- package/dist/hooks.js +33 -11
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +247 -111
- package/dist/index.js +330 -185
- package/dist/index.js.map +1 -1
- package/dist/{organisation-DLNNQhPB.d.ts → organisation-CO3Sh3_D.d.ts} +1 -1
- package/dist/providers.d.ts +5 -4
- package/dist/providers.js +14 -5
- package/dist/rbac/index.d.ts +964 -839
- package/dist/rbac/index.js +58 -1970
- package/dist/rbac/index.js.map +1 -1
- package/dist/styles/core.css +364 -0
- package/dist/styles/fonts/georama-italic.woff2 +0 -0
- package/dist/styles/fonts/georama.woff2 +0 -0
- package/dist/styles/fonts/open-sans-italic.woff2 +0 -0
- package/dist/styles/fonts/open-sans.woff2 +0 -0
- package/dist/styles/fonts/reddit-mono.woff2 +0 -0
- package/dist/styles/index.d.ts +36 -0
- package/dist/styles/index.js +24 -0
- package/dist/styles/index.js.map +1 -0
- package/dist/theming/runtime.d.ts +73 -0
- package/dist/theming/runtime.js +16 -0
- package/dist/theming/runtime.js.map +1 -0
- package/dist/{types-Bavn44NW.d.ts → types-BRDU7N6w.d.ts} +79 -33
- package/dist/types.d.ts +5 -5
- package/dist/types.js +7 -2
- package/dist/types.js.map +1 -1
- package/dist/{unified-BtRpPbmp.d.ts → unified-CMPjE_fv.d.ts} +0 -1
- package/dist/usePublicRouteParams-B2OcAsur.d.ts +477 -0
- package/dist/utils.d.ts +83 -60
- package/dist/utils.js +293 -55651
- package/dist/utils.js.map +1 -1
- package/dist/validation.d.ts +1 -1
- package/dist/validation.js +1 -1
- package/docs/INDEX.md +192 -0
- package/docs/README.md +46 -32
- package/docs/api/README.md +231 -229
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.md +73 -0
- package/docs/api/classes/MissingUserContextError.md +66 -0
- package/docs/api/classes/OrganisationContextRequiredError.md +66 -0
- package/docs/api/classes/PermissionDeniedError.md +73 -0
- package/docs/api/classes/PublicErrorBoundary.md +132 -0
- package/docs/api/classes/RBACAuditManager.md +270 -0
- package/docs/api/classes/RBACCache.md +284 -0
- package/docs/api/classes/RBACEngine.md +141 -0
- package/docs/api/classes/RBACError.md +76 -0
- package/docs/api/classes/RBACNotInitializedError.md +66 -0
- package/docs/api/classes/SecureSupabaseClient.md +135 -0
- package/docs/api/interfaces/AggregateConfig.md +4 -4
- package/docs/api/interfaces/ButtonProps.md +2 -2
- package/docs/api/interfaces/CardProps.md +2 -2
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +96 -0
- package/docs/api/interfaces/DataTableAction.md +98 -7
- package/docs/api/interfaces/DataTableColumn.md +131 -12
- package/docs/api/interfaces/DataTableProps.md +77 -274
- package/docs/api/interfaces/DataTableToolbarButton.md +7 -7
- package/docs/api/interfaces/EmptyStateConfig.md +5 -5
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +235 -0
- package/docs/api/interfaces/EventContextType.md +7 -7
- package/docs/api/interfaces/EventLogoProps.md +152 -0
- package/docs/api/interfaces/EventProviderProps.md +2 -2
- package/docs/api/interfaces/FileSizeLimits.md +7 -0
- package/docs/api/interfaces/FileUploadProps.md +154 -0
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +115 -0
- package/docs/api/interfaces/InputProps.md +2 -2
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +107 -0
- package/docs/api/interfaces/NavigationContextType.md +164 -0
- package/docs/api/interfaces/NavigationGuardProps.md +139 -0
- package/docs/api/interfaces/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/NavigationProviderProps.md +117 -0
- package/docs/api/interfaces/Organisation.md +1 -1
- package/docs/api/interfaces/OrganisationContextType.md +1 -1
- package/docs/api/interfaces/OrganisationMembership.md +1 -1
- package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
- package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
- package/docs/api/interfaces/PaceAppLayoutProps.md +26 -26
- package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
- package/docs/api/interfaces/PageAccessRecord.md +85 -0
- package/docs/api/interfaces/PagePermissionContextType.md +140 -0
- package/docs/api/interfaces/PagePermissionGuardProps.md +153 -0
- package/docs/api/interfaces/PagePermissionProviderProps.md +119 -0
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +153 -0
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +94 -0
- package/docs/api/interfaces/PublicErrorBoundaryState.md +68 -0
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +86 -0
- package/docs/api/interfaces/PublicPageFooterProps.md +112 -0
- package/docs/api/interfaces/PublicPageHeaderProps.md +138 -0
- package/docs/api/interfaces/PublicPageLayoutProps.md +138 -0
- package/docs/api/interfaces/RBACConfig.md +99 -0
- package/docs/api/interfaces/RBACContextType.md +474 -0
- package/docs/api/interfaces/RBACLogger.md +112 -0
- package/docs/api/interfaces/RBACProviderProps.md +107 -0
- package/docs/api/interfaces/RoleBasedRouterContextType.md +151 -0
- package/docs/api/interfaces/RoleBasedRouterProps.md +156 -0
- package/docs/api/interfaces/RouteAccessRecord.md +107 -0
- package/docs/api/interfaces/RouteConfig.md +121 -0
- package/docs/api/interfaces/SecureDataContextType.md +168 -0
- package/docs/api/interfaces/SecureDataProviderProps.md +132 -0
- package/docs/api/interfaces/StorageConfig.md +41 -0
- package/docs/api/interfaces/StorageFileInfo.md +74 -0
- package/docs/api/interfaces/StorageFileMetadata.md +140 -0
- package/docs/api/interfaces/StorageListOptions.md +86 -0
- package/docs/api/interfaces/StorageListResult.md +41 -0
- package/docs/api/interfaces/StorageUploadOptions.md +88 -0
- package/docs/api/interfaces/StorageUploadResult.md +63 -0
- package/docs/api/interfaces/StorageUrlOptions.md +47 -0
- package/docs/api/interfaces/StyleImport.md +2 -2
- package/docs/api/interfaces/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +465 -64
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +95 -9
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +136 -0
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +123 -0
- package/docs/api/interfaces/UsePublicEventLogoOptions.md +87 -0
- package/docs/api/interfaces/UsePublicEventLogoReturn.md +81 -0
- package/docs/api/interfaces/UsePublicEventOptions.md +34 -0
- package/docs/api/interfaces/UsePublicEventReturn.md +68 -0
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +94 -0
- package/docs/api/interfaces/UserEventAccess.md +14 -14
- package/docs/api/interfaces/UserMenuProps.md +6 -6
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +4233 -1134
- package/docs/api-reference/components.md +761 -43
- package/docs/api-reference/hooks.md +126 -0
- package/docs/api-reference/providers.md +141 -65
- package/docs/api-reference/types.md +66 -36
- package/docs/api-reference/utilities.md +1 -1
- package/docs/architecture/README.md +1 -2
- package/docs/best-practices/README.md +400 -0
- package/docs/consuming-app-example.md +42 -96
- package/docs/consuming-app-vite-config.md +233 -0
- package/docs/core-concepts/events.md +3 -3
- package/docs/core-concepts/organisations.md +0 -1
- package/docs/core-concepts/rbac-system.md +23 -10
- package/docs/documentation-style-checklist.md +8 -2
- package/docs/examples/navigation-menu-auth-fix.md +344 -0
- package/docs/getting-started/examples/README.md +15 -1
- package/docs/getting-started/examples/basic-auth-app.md +444 -119
- package/docs/getting-started/examples/full-featured-app.md +6 -6
- package/docs/getting-started/installation.md +231 -52
- package/docs/getting-started/quick-start.md +121 -24
- package/docs/implementation-guides/app-layout.md +133 -108
- package/docs/implementation-guides/data-tables.md +1011 -29
- package/docs/implementation-guides/forms.md +3 -3
- package/docs/implementation-guides/hierarchical-datatable.md +850 -0
- package/docs/implementation-guides/large-datasets.md +2 -2
- package/docs/implementation-guides/navigation.md +1 -1
- package/docs/implementation-guides/permission-enforcement.md +4 -4
- package/docs/implementation-guides/public-pages.md +752 -0
- package/docs/migration/README.md +18 -8
- package/docs/migration/quick-migration-guide.md +320 -0
- package/docs/migration/rbac-migration.md +50 -0
- package/docs/migration/v0.4.15-tailwind-scanning.md +272 -0
- package/docs/migration/v0.4.16-css-first-approach.md +306 -0
- package/docs/migration/v0.4.17-source-path-fix.md +229 -0
- package/docs/migration-guide.md +77 -105
- package/docs/performance/README.md +1 -4
- package/docs/print-components/README.md +258 -0
- package/docs/print-components/api-reference.md +636 -0
- package/docs/print-components/examples/README.md +204 -0
- package/docs/print-components/examples/basic-report.tsx +92 -0
- package/docs/print-components/examples/card-catalog.tsx +149 -0
- package/docs/print-components/examples/cover-page-report.tsx +163 -0
- package/docs/print-components/quick-start.md +363 -0
- package/docs/quick-reference.md +53 -36
- package/docs/rbac/README.md +136 -69
- package/docs/rbac/api-reference.md +39 -8
- package/docs/rbac/examples.md +237 -66
- package/docs/rbac/getting-started.md +131 -16
- package/docs/rbac/quick-start.md +499 -323
- package/docs/rbac/troubleshooting.md +240 -262
- package/docs/security/README.md +50 -1
- package/docs/styles/README.md +226 -111
- package/docs/testing/README.md +6 -10
- package/docs/troubleshooting/README.md +497 -0
- package/docs/troubleshooting/common-issues.md +604 -14
- package/docs/troubleshooting/styling-issues.md +219 -0
- package/docs/troubleshooting/tailwind-content-scanning.md +213 -0
- package/docs/usage.md +54 -91
- package/docs/visual-testing.md +0 -7
- package/package.json +47 -25
- package/src/__mocks__/lucide-react.ts +181 -0
- package/src/__tests__/REBUILD_PLAN.md +223 -0
- package/src/__tests__/TESTING_GUIDELINES.md +341 -0
- package/src/__tests__/fixtures/mocks.ts +93 -0
- package/src/__tests__/helpers/component-test-utils.tsx +145 -0
- package/src/__tests__/helpers/test-utils.tsx +117 -0
- package/src/__tests__/integration/UserProfile.test.tsx +128 -0
- package/src/__tests__/setup.ts +71 -0
- package/src/__tests__/templates/accessibility.test.template.tsx +279 -0
- package/src/__tests__/templates/component.test.template.tsx +144 -0
- package/src/__tests__/templates/hook.test.template.ts +173 -0
- package/src/__tests__/templates/integration.test.template.tsx +199 -0
- package/src/__tests__/types/test.types.ts +106 -0
- package/src/components/Alert/Alert.test.tsx +496 -0
- package/src/components/Alert/Alert.tsx +134 -0
- package/src/components/Alert/index.ts +2 -0
- package/src/components/Avatar/Avatar.test.tsx +484 -0
- package/src/components/Avatar/Avatar.tsx +84 -0
- package/src/components/Avatar/index.ts +2 -0
- package/src/components/Button/Button.test.tsx +662 -0
- package/src/components/Button/Button.tsx +270 -0
- package/src/components/Button/index.ts +2 -0
- package/src/components/Card/Card.test.tsx +593 -0
- package/src/components/Card/Card.tsx +271 -0
- package/src/components/Card/index.ts +1 -0
- package/src/components/Checkbox/Checkbox.test.tsx +461 -0
- package/src/components/Checkbox/Checkbox.tsx +75 -0
- package/src/components/Checkbox/__mocks__/Checkbox.tsx +2 -0
- package/src/components/Checkbox/index.ts +2 -0
- package/src/components/DataTable/DataTable.tsx +446 -0
- package/src/components/DataTable/__tests__/README.md +145 -0
- package/src/components/DataTable/__tests__/mocks/MockRBACProvider.tsx +66 -0
- package/src/components/DataTable/__tests__/test-utils/dataFactories.ts +103 -0
- package/src/components/DataTable/__tests__/test-utils/sharedTestUtils.tsx +381 -0
- package/src/components/DataTable/__tests__/test-utils.ts +94 -0
- package/src/components/DataTable/components/AccessDeniedPage.tsx +168 -0
- package/src/components/DataTable/components/ActionButtons.tsx +194 -0
- package/src/components/DataTable/components/BulkOperationsDropdown.tsx +160 -0
- package/src/components/DataTable/components/ColumnFilter.tsx +114 -0
- package/src/components/DataTable/components/ColumnVisibilityDropdown.tsx +100 -0
- package/src/components/DataTable/components/DataTableBody.tsx +461 -0
- package/src/components/DataTable/components/DataTableCore.tsx +1027 -0
- package/src/components/DataTable/components/DataTableErrorBoundary.tsx +214 -0
- package/src/components/DataTable/components/DataTableModals.tsx +87 -0
- package/src/components/DataTable/components/DataTableToolbar.tsx +262 -0
- package/src/components/DataTable/components/DraggableColumnHeader.tsx +144 -0
- package/src/components/DataTable/components/EditableRow.tsx +159 -0
- package/src/components/DataTable/components/EmptyState.tsx +64 -0
- package/src/components/DataTable/components/ExpandButton.tsx +113 -0
- package/src/components/DataTable/components/FilterRow.tsx +100 -0
- package/src/components/DataTable/components/GroupHeader.tsx +42 -0
- package/src/components/DataTable/components/GroupingDropdown.tsx +96 -0
- package/src/components/DataTable/components/ImportModal.tsx +345 -0
- package/src/components/DataTable/components/LoadingState.tsx +12 -0
- package/src/components/DataTable/components/PaginationControls.tsx +332 -0
- package/src/components/DataTable/components/UnifiedTableBody.tsx +742 -0
- package/src/components/DataTable/components/ViewRowModal.tsx +68 -0
- package/src/components/DataTable/components/VirtualizedDataTable.tsx +513 -0
- package/src/components/DataTable/components/index.ts +16 -0
- package/src/components/DataTable/context/DataTableContext.tsx +97 -0
- package/src/components/DataTable/core/ActionManager.ts +235 -0
- package/src/components/DataTable/core/ColumnFactory.ts +268 -0
- package/src/components/DataTable/core/ColumnManager.ts +205 -0
- package/src/components/DataTable/core/DataManager.ts +188 -0
- package/src/components/DataTable/core/DataTableContext.tsx +181 -0
- package/src/components/DataTable/core/LocalDataAdapter.ts +264 -0
- package/src/components/DataTable/core/PluginRegistry.ts +229 -0
- package/src/components/DataTable/core/StateManager.ts +311 -0
- package/src/components/DataTable/core/index.ts +8 -0
- package/src/components/DataTable/core/interfaces.ts +338 -0
- package/src/components/DataTable/examples/HierarchicalActionsExample.tsx +419 -0
- package/src/components/DataTable/examples/HierarchicalExample.tsx +475 -0
- package/src/components/DataTable/examples/InitialPageSizeExample.tsx +176 -0
- package/src/components/DataTable/examples/PerformanceExample.tsx +505 -0
- package/src/components/DataTable/hooks/useColumnOrderPersistence.ts +95 -0
- package/src/components/DataTable/hooks/useColumnReordering.ts +110 -0
- package/src/components/DataTable/hooks/useDataTableState.ts +325 -0
- package/src/components/DataTable/hooks/useHierarchicalState.ts +174 -0
- package/src/components/DataTable/index.ts +68 -0
- package/src/components/DataTable/styles.ts +171 -0
- package/src/components/DataTable/types.ts +511 -0
- package/src/components/DataTable/utils/debugTools.ts +583 -0
- package/src/components/DataTable/utils/errorHandling.ts +494 -0
- package/src/components/DataTable/utils/exportUtils.ts +126 -0
- package/src/components/DataTable/utils/flexibleImport.ts +510 -0
- package/src/components/DataTable/utils/hierarchicalSorting.ts +151 -0
- package/src/components/DataTable/utils/hierarchicalUtils.ts +218 -0
- package/src/components/DataTable/utils/index.ts +1 -0
- package/src/components/DataTable/utils/performanceUtils.ts +351 -0
- package/src/components/Dialog/Dialog.test.tsx +1139 -0
- package/src/components/Dialog/Dialog.tsx +782 -0
- package/src/components/Dialog/README.md +804 -0
- package/src/components/Dialog/examples/BasicHtmlTest.tsx +55 -0
- package/src/components/Dialog/examples/DebugHtmlExample.tsx +68 -0
- package/src/components/Dialog/examples/HtmlDialogExample.tsx +202 -0
- package/src/components/Dialog/examples/SimpleHtmlTest.tsx +61 -0
- package/src/components/Dialog/examples/SmartDialogExample.tsx +322 -0
- package/src/components/Dialog/index.ts +12 -0
- package/src/components/Dialog/utils/safeHtml.ts +185 -0
- package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +752 -0
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +312 -0
- package/src/components/ErrorBoundary/index.ts +8 -0
- package/src/components/EventSelector/EventSelector.tsx +360 -0
- package/src/components/EventSelector/index.ts +3 -0
- package/src/components/EventSelector/types.ts +79 -0
- package/src/components/FileUpload/FileUpload.example.tsx +218 -0
- package/src/components/FileUpload/FileUpload.test.tsx +665 -0
- package/src/components/FileUpload/FileUpload.tsx +237 -0
- package/src/components/FileUpload/index.ts +6 -0
- package/src/components/Footer/Footer.test.tsx +482 -0
- package/src/components/Footer/Footer.tsx +197 -0
- package/src/components/Footer/index.ts +17 -0
- package/src/components/Form/Form.test.tsx +1158 -0
- package/src/components/Form/Form.tsx +166 -0
- package/src/components/Form/FormErrorSummary.tsx +113 -0
- package/src/components/Form/FormField.tsx +249 -0
- package/src/components/Form/FormFieldset.tsx +127 -0
- package/src/components/Form/FormLiveRegion.tsx +198 -0
- package/src/components/Form/index.ts +26 -0
- package/src/components/Header/Header.test.tsx +582 -0
- package/src/components/Header/Header.tsx +301 -0
- package/src/components/Header/index.ts +4 -0
- package/src/components/InactivityWarningModal/InactivityWarningModal.test.tsx +489 -0
- package/src/components/InactivityWarningModal/InactivityWarningModal.tsx +164 -0
- package/src/components/InactivityWarningModal/index.ts +9 -0
- package/src/components/Input/Input.test.tsx +466 -0
- package/src/components/Input/Input.tsx +201 -0
- package/src/components/Input/__mocks__/Input.tsx +2 -0
- package/src/components/Input/index.ts +9 -0
- package/src/components/Label/Label.tsx +186 -0
- package/src/components/Label/index.ts +2 -0
- package/src/components/LoadingSpinner/LoadingSpinner.test.tsx +450 -0
- package/src/components/LoadingSpinner/LoadingSpinner.tsx +98 -0
- package/src/components/LoadingSpinner/index.ts +3 -0
- package/src/components/LoginForm/LoginForm.test.tsx +816 -0
- package/src/components/LoginForm/LoginForm.tsx +273 -0
- package/src/components/LoginForm/index.ts +3 -0
- package/src/components/NavigationMenu/NavigationMenu.test.tsx +883 -0
- package/src/components/NavigationMenu/NavigationMenu.tsx +698 -0
- package/src/components/NavigationMenu/index.ts +10 -0
- package/src/components/NavigationMenu/types.ts +85 -0
- package/src/components/OrganisationSelector/OrganisationSelector.test.tsx +748 -0
- package/src/components/OrganisationSelector/OrganisationSelector.tsx +304 -0
- package/src/components/OrganisationSelector/index.ts +9 -0
- package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +891 -0
- package/src/components/PaceAppLayout/PaceAppLayout.tsx +699 -0
- package/src/components/PaceAppLayout/README.md +278 -0
- package/src/components/PaceAppLayout/index.ts +1 -0
- package/src/components/PaceLoginPage/PaceLoginPage.test.tsx +475 -0
- package/src/components/PaceLoginPage/PaceLoginPage.tsx +221 -0
- package/src/components/PaceLoginPage/index.ts +1 -0
- package/src/components/PasswordReset/PasswordChangeForm.test.tsx +621 -0
- package/src/components/PasswordReset/PasswordChangeForm.tsx +186 -0
- package/src/components/PasswordReset/PasswordResetForm.test.tsx +605 -0
- package/src/components/PasswordReset/PasswordResetForm.tsx +201 -0
- package/src/components/PasswordReset/index.ts +4 -0
- package/src/components/PrintButton/PrintButton.tsx +321 -0
- package/src/components/PrintButton/PrintButtonGroup.tsx +84 -0
- package/src/components/PrintButton/PrintToolbar.tsx +94 -0
- package/src/components/PrintButton/examples/PrintButtonShowcase.tsx +438 -0
- package/src/components/PrintButton/index.ts +33 -0
- package/src/components/PrintButton/types.ts +173 -0
- package/src/components/PrintCard/PrintCard.tsx +154 -0
- package/src/components/PrintCard/PrintCardContent.tsx +57 -0
- package/src/components/PrintCard/PrintCardFooter.tsx +60 -0
- package/src/components/PrintCard/PrintCardGrid.tsx +91 -0
- package/src/components/PrintCard/PrintCardHeader.tsx +78 -0
- package/src/components/PrintCard/PrintCardImage.tsx +81 -0
- package/src/components/PrintCard/examples/PrintCardShowcase.tsx +239 -0
- package/src/components/PrintCard/index.ts +34 -0
- package/src/components/PrintCard/types.ts +171 -0
- package/src/components/PrintDataTable/PrintDataTable.tsx +215 -0
- package/src/components/PrintDataTable/PrintTableGroup.tsx +90 -0
- package/src/components/PrintDataTable/PrintTableRow.tsx +76 -0
- package/src/components/PrintDataTable/index.ts +25 -0
- package/src/components/PrintDataTable/types.ts +67 -0
- package/src/components/PrintFooter/PrintFooter.tsx +183 -0
- package/src/components/PrintFooter/PrintFooterContent.tsx +71 -0
- package/src/components/PrintFooter/PrintFooterInfo.tsx +86 -0
- package/src/components/PrintFooter/PrintPageNumber.tsx +90 -0
- package/src/components/PrintFooter/examples/PrintFooterShowcase.tsx +390 -0
- package/src/components/PrintFooter/index.ts +30 -0
- package/src/components/PrintFooter/types.ts +149 -0
- package/src/components/PrintGrid/PrintGrid.tsx +180 -0
- package/src/components/PrintGrid/PrintGridBreakpoint.tsx +109 -0
- package/src/components/PrintGrid/PrintGridContainer.tsx +128 -0
- package/src/components/PrintGrid/PrintGridItem.tsx +220 -0
- package/src/components/PrintGrid/examples/PrintGridShowcase.tsx +359 -0
- package/src/components/PrintGrid/index.ts +31 -0
- package/src/components/PrintGrid/types.ts +159 -0
- package/src/components/PrintHeader/PrintCoverHeader.tsx +230 -0
- package/src/components/PrintHeader/PrintHeader.tsx +150 -0
- package/src/components/PrintHeader/index.ts +17 -0
- package/src/components/PrintHeader/types.ts +42 -0
- package/src/components/PrintLayout/PrintLayout.tsx +122 -0
- package/src/components/PrintLayout/PrintLayoutContext.tsx +66 -0
- package/src/components/PrintLayout/PrintPageBreak.tsx +52 -0
- package/src/components/PrintLayout/examples/PrintShowcase.tsx +230 -0
- package/src/components/PrintLayout/index.ts +19 -0
- package/src/components/PrintLayout/types.ts +37 -0
- package/src/components/PrintPageBreak/PrintPageBreak.tsx +120 -0
- package/src/components/PrintPageBreak/PrintPageBreakGroup.tsx +90 -0
- package/src/components/PrintPageBreak/PrintPageBreakIndicator.tsx +112 -0
- package/src/components/PrintPageBreak/examples/PrintPageBreakShowcase.tsx +279 -0
- package/src/components/PrintPageBreak/index.ts +23 -0
- package/src/components/PrintPageBreak/types.ts +94 -0
- package/src/components/PrintSection/PrintColumn.tsx +104 -0
- package/src/components/PrintSection/PrintDivider.tsx +101 -0
- package/src/components/PrintSection/PrintSection.tsx +129 -0
- package/src/components/PrintSection/PrintSectionContent.tsx +75 -0
- package/src/components/PrintSection/PrintSectionHeader.tsx +97 -0
- package/src/components/PrintSection/examples/PrintSectionShowcase.tsx +258 -0
- package/src/components/PrintSection/index.ts +33 -0
- package/src/components/PrintSection/types.ts +155 -0
- package/src/components/PrintText/PrintText.tsx +116 -0
- package/src/components/PrintText/index.ts +16 -0
- package/src/components/PrintText/types.ts +24 -0
- package/src/components/Progress/Progress.tsx +116 -0
- package/src/components/Progress/index.ts +3 -0
- package/src/components/PublicLayout/EventLogo.tsx +287 -0
- package/src/components/PublicLayout/PublicErrorBoundary.tsx +279 -0
- package/src/components/PublicLayout/PublicLoadingSpinner.tsx +208 -0
- package/src/components/PublicLayout/PublicPageContextChecker.tsx +130 -0
- package/src/components/PublicLayout/PublicPageDebugger.tsx +104 -0
- package/src/components/PublicLayout/PublicPageDiagnostic.tsx +162 -0
- package/src/components/PublicLayout/PublicPageFooter.tsx +124 -0
- package/src/components/PublicLayout/PublicPageHeader.tsx +178 -0
- package/src/components/PublicLayout/PublicPageLayout.tsx +232 -0
- package/src/components/PublicLayout/PublicPageProvider.tsx +137 -0
- package/src/components/PublicLayout/index.ts +51 -0
- package/src/components/Select/Select.test.tsx +948 -0
- package/src/components/Select/Select.tsx +660 -0
- package/src/components/Select/index.ts +1 -0
- package/src/components/SuperAdminGuard.tsx +116 -0
- package/src/components/Table/Table.tsx +222 -0
- package/src/components/Table/index.ts +11 -0
- package/src/components/Toast/Toast.test.tsx +586 -0
- package/src/components/Toast/Toast.tsx +339 -0
- package/src/components/Toast/index.ts +14 -0
- package/src/components/Tooltip/Tooltip.test.tsx +852 -0
- package/src/components/Tooltip/Tooltip.tsx +167 -0
- package/src/components/Tooltip/index.ts +7 -0
- package/src/components/UserMenu/UserMenu.test.tsx +702 -0
- package/src/components/UserMenu/UserMenu.tsx +243 -0
- package/src/components/UserMenu/index.ts +3 -0
- package/src/components/examples/PermissionExample.tsx +150 -0
- package/src/components/index.ts +434 -0
- package/src/components.ts +19 -0
- package/src/constants/performance.ts +14 -0
- package/src/examples/CorrectPublicPageImplementation.tsx +301 -0
- package/src/examples/PublicEventPage.tsx +274 -0
- package/src/examples/PublicPageApp.tsx +308 -0
- package/src/examples/PublicPageUsageExample.tsx +216 -0
- package/src/hooks/index.ts +56 -0
- package/src/hooks/public/index.ts +34 -0
- package/src/hooks/public/usePublicEvent.ts +261 -0
- package/src/hooks/public/usePublicEventLogo.ts +285 -0
- package/src/hooks/public/usePublicRouteParams.ts +259 -0
- package/src/hooks/useAppConfig.ts +94 -0
- package/src/hooks/useComponentPerformance.ts +39 -0
- package/src/hooks/useCounter.test.ts +135 -0
- package/src/hooks/useDataTablePerformance.ts +387 -0
- package/src/hooks/useDataTableState.ts +110 -0
- package/src/hooks/useDebounce.test.ts +375 -0
- package/src/hooks/useDebounce.ts +18 -0
- package/src/hooks/useFocusManagement.ts +161 -0
- package/src/hooks/useFocusTrap.ts +155 -0
- package/src/hooks/useInactivityTracker.ts +372 -0
- package/src/hooks/useIsMobile.ts +42 -0
- package/src/hooks/useKeyboardShortcuts.ts +237 -0
- package/src/hooks/useOrganisationPermissions.test.ts +528 -0
- package/src/hooks/useOrganisationPermissions.ts +208 -0
- package/src/hooks/useOrganisationSecurity.test.ts +734 -0
- package/src/hooks/useOrganisationSecurity.ts +262 -0
- package/src/hooks/usePerformanceMonitor.ts +128 -0
- package/src/hooks/usePermissionCache.test.ts +542 -0
- package/src/hooks/usePermissionCache.ts +455 -0
- package/src/hooks/useSecureDataAccess.ts +586 -0
- package/src/hooks/useStorage.ts +274 -0
- package/src/hooks/useToast.ts +242 -0
- package/src/hooks/useZodForm.ts +28 -0
- package/src/index.ts +199 -0
- package/src/providers/AuthProvider.tsx +369 -0
- package/src/providers/EventProvider.tsx +324 -0
- package/src/providers/InactivityProvider.tsx +238 -0
- package/src/providers/OrganisationProvider.tsx +588 -0
- package/src/providers/UnifiedAuthProvider.tsx +327 -0
- package/src/providers/index.ts +17 -0
- package/src/rbac/README.md +885 -0
- package/src/rbac/__tests__/integration.test.tsx +218 -0
- package/src/rbac/adapters.tsx +726 -0
- package/src/rbac/api.test.ts +441 -0
- package/src/rbac/api.ts +339 -0
- package/src/rbac/audit-enhanced.ts +339 -0
- package/src/rbac/audit.ts +338 -0
- package/src/rbac/cache.ts +215 -0
- package/src/rbac/components/EnhancedNavigationMenu.tsx +294 -0
- package/src/rbac/components/NavigationGuard.tsx +294 -0
- package/src/rbac/components/NavigationProvider.tsx +314 -0
- package/src/rbac/components/PagePermissionGuard.tsx +430 -0
- package/src/rbac/components/PagePermissionProvider.tsx +274 -0
- package/src/rbac/components/PermissionEnforcer.tsx +307 -0
- package/src/rbac/components/RoleBasedRouter.tsx +425 -0
- package/src/rbac/components/SecureDataProvider.tsx +319 -0
- package/src/rbac/components/index.ts +64 -0
- package/src/rbac/config.ts +133 -0
- package/src/rbac/docs/event-based-apps.md +285 -0
- package/src/rbac/engine.ts +1026 -0
- package/src/rbac/eslint-rules.js +285 -0
- package/src/rbac/examples/CompleteRBACExample.tsx +323 -0
- package/src/rbac/examples/EventBasedApp.tsx +238 -0
- package/src/rbac/hooks/index.ts +21 -0
- package/src/rbac/hooks/useCan.test.ts +461 -0
- package/src/rbac/hooks/usePermissions.test.ts +359 -0
- package/src/rbac/hooks/usePermissions.ts +567 -0
- package/src/rbac/hooks/useRBAC.simple.test.ts +90 -0
- package/src/rbac/hooks/useRBAC.test.ts +503 -0
- package/src/rbac/hooks/useRBAC.ts +262 -0
- package/src/rbac/index.ts +109 -0
- package/src/rbac/permissions.ts +293 -0
- package/src/rbac/providers/RBACProvider.tsx +634 -0
- package/src/rbac/providers/__tests__/RBACProvider.test.tsx +687 -0
- package/src/rbac/providers/index.ts +11 -0
- package/src/rbac/secureClient.ts +244 -0
- package/src/rbac/security.ts +346 -0
- package/src/rbac/testing/index.tsx +340 -0
- package/src/rbac/types.ts +343 -0
- package/src/rbac/utils/eventContext.ts +83 -0
- package/src/styles/core.css +364 -0
- package/src/styles/index.ts +51 -0
- package/src/theming/runtime.ts +187 -0
- package/src/types/database.ts +472 -0
- package/src/types/guards.ts +30 -0
- package/src/types/index.ts +25 -0
- package/src/types/organisation.ts +184 -0
- package/src/types/security.ts +70 -0
- package/src/types/supabase.ts +166 -0
- package/src/types/theme.ts +6 -0
- package/src/types/unified.ts +262 -0
- package/src/types/validation.ts +164 -0
- package/src/types/vitest-globals.d.ts +43 -0
- package/src/utils/__mocks__/supabaseMock.ts +75 -0
- package/src/utils/__mocks__/supabaseMock.tsx +198 -0
- package/src/utils/appConfig.ts +47 -0
- package/src/utils/appIdResolver.ts +130 -0
- package/src/utils/appNameResolver.ts +190 -0
- package/src/utils/audit.ts +127 -0
- package/src/utils/auth-utils.ts +96 -0
- package/src/utils/bundleAnalysis.ts +129 -0
- package/src/utils/cn.ts +7 -0
- package/src/utils/debugLogger.ts +46 -0
- package/src/utils/deviceFingerprint.ts +215 -0
- package/src/utils/dynamicUtils.ts +105 -0
- package/src/utils/formatDate.test.ts +241 -0
- package/src/utils/formatting.ts +77 -0
- package/src/utils/index.ts +145 -0
- package/src/utils/lazyLoad.tsx +44 -0
- package/src/utils/organisationContext.ts +135 -0
- package/src/utils/performanceBenchmark.ts +64 -0
- package/src/utils/performanceBudgets.ts +111 -0
- package/src/utils/permissionTypes.ts +37 -0
- package/src/utils/permissionUtils.ts +31 -0
- package/src/utils/print/PrintDataProcessor.ts +390 -0
- package/src/utils/print/examples/PrintUtilitiesShowcase.tsx +397 -0
- package/src/utils/print/index.ts +29 -0
- package/src/utils/print/types.ts +196 -0
- package/src/utils/print/usePrintOptimization.ts +272 -0
- package/src/utils/sanitization.ts +264 -0
- package/src/utils/schemaUtils.ts +37 -0
- package/src/utils/secureDataAccess.ts +361 -0
- package/src/utils/secureErrors.ts +79 -0
- package/src/utils/secureStorage.ts +244 -0
- package/src/utils/security.ts +156 -0
- package/src/utils/securityMonitor.ts +45 -0
- package/src/utils/sessionTracking.ts +170 -0
- package/src/utils/storage/README.md +348 -0
- package/src/utils/storage/config.ts +100 -0
- package/src/utils/storage/helpers.ts +359 -0
- package/src/utils/storage/index.ts +36 -0
- package/src/utils/storage/types.ts +90 -0
- package/src/utils/validation.ts +111 -0
- package/src/utils/validationUtils.ts +120 -0
- package/src/validation/common.ts +53 -0
- package/src/validation/csrf.ts +214 -0
- package/src/validation/index.ts +43 -0
- package/src/validation/passwordSchema.ts +125 -0
- package/src/validation/sanitization.ts +96 -0
- package/src/validation/schemaUtils.ts +42 -0
- package/src/validation/sqlInjectionProtection.ts +242 -0
- package/src/validation/user.ts +34 -0
- package/dist/chunk-4MCJAK7J.js.map +0 -1
- package/dist/chunk-4ZTIEYU2.js.map +0 -1
- package/dist/chunk-H4PZ4B3Y.js.map +0 -1
- package/dist/chunk-IOX76PSM.js.map +0 -1
- package/dist/chunk-JUUNUW3O.js.map +0 -1
- package/dist/chunk-KK6WIDK6.js +0 -63
- package/dist/chunk-KK6WIDK6.js.map +0 -1
- package/dist/chunk-U7DY5T33.js +0 -11
- package/dist/chunk-U7DY5T33.js.map +0 -1
- package/dist/chunk-WHLSWC6W.js.map +0 -1
- package/dist/chunk-XI7QFSSC.js +0 -790
- package/dist/chunk-XI7QFSSC.js.map +0 -1
- package/dist/chunk-XIJMMBDD.js +0 -73
- package/dist/chunk-XIJMMBDD.js.map +0 -1
- package/dist/chunk-YNU5QJ4S.js.map +0 -1
- package/dist/chunk-YWYCNGWH.js +0 -2070
- package/dist/chunk-YWYCNGWH.js.map +0 -1
- package/dist/chunk-ZJ3UKPIW.js +0 -952
- package/dist/chunk-ZJ3UKPIW.js.map +0 -1
- package/dist/useAppConfig-CZNJJsT_.d.ts +0 -148
- package/dist/{DataTable-2LB6HI6V.js.map → DataTable-ZQDRE46Q.js.map} +0 -0
- package/dist/{api-AIJ3IJX3.js.map → api-H5A3H4IR.js.map} +0 -0
- package/dist/{audit-PD5L5ZSC.js.map → appNameResolver-7GHF5ED2.js.map} +0 -0
- package/dist/{chunk-DC5AMYBS.js.map → audit-BUW3LMJB.js.map} +0 -0
- package/dist/{validation-D2-NNCCE.d.ts → validation-PM_iOaTI.d.ts} +6 -6
package/docs/api/README.md
CHANGED
|
@@ -1,299 +1,301 @@
|
|
|
1
1
|
@jmruthers/pace-core / [Exports](modules.md)
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# @jmruthers/pace-core
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Clean, modern React component library with Tailwind v4 styling and native utilities.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## 🚀 PaceAppLayout Usage
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
npm install @jmruthers/pace-core
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## Styling Setup
|
|
14
|
-
|
|
15
|
-
**IMPORTANT**: PACE Core components require CSS styles to render correctly. We use a clean 3-file CSS structure with Tailwind v4.
|
|
16
|
-
|
|
17
|
-
### Quick Start
|
|
9
|
+
**PaceAppLayout uses React Router's nested routing pattern for optimal performance and scalability.**
|
|
18
10
|
|
|
19
11
|
```tsx
|
|
20
|
-
//
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
// ✅ Correct usage with React Router
|
|
13
|
+
<Router>
|
|
14
|
+
<Routes>
|
|
15
|
+
<Route path="/" element={<PaceAppLayout appName="My App" />}>
|
|
16
|
+
<Route path="dashboard" element={<Dashboard />} />
|
|
17
|
+
<Route path="settings" element={<Settings />} />
|
|
18
|
+
</Route>
|
|
19
|
+
</Routes>
|
|
20
|
+
</Router>
|
|
25
21
|
```
|
|
26
22
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
Create `app.css` with your brand colors:
|
|
23
|
+
## 🚀 Complete Installation Guide
|
|
30
24
|
|
|
31
|
-
|
|
32
|
-
/* app.css - Your app's specific palette */
|
|
33
|
-
@theme static {
|
|
34
|
-
/* MAIN palette - your primary brand color */
|
|
35
|
-
--color-main-raw: oklch(0.7 0.057 252.02);
|
|
36
|
-
--color-main-50: oklch(0.98 0.001 252.02);
|
|
37
|
-
--color-main-100: oklch(0.96 0.005 252.02);
|
|
38
|
-
/* ... complete palette for main, sec, acc */
|
|
39
|
-
}
|
|
40
|
-
```
|
|
25
|
+
### 1. Install Dependencies
|
|
41
26
|
|
|
42
|
-
|
|
27
|
+
```bash
|
|
28
|
+
# Install pace-core and required peer dependencies
|
|
29
|
+
npm install @jmruthers/pace-core @tanstack/react-table @radix-ui/react-checkbox @radix-ui/react-dialog @radix-ui/react-dropdown-menu @radix-ui/react-label @radix-ui/react-slot lucide-react class-variance-authority clsx tailwind-merge
|
|
43
30
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<Button className="bg-main-600 hover:bg-main-700">
|
|
47
|
-
Click me
|
|
48
|
-
</Button>
|
|
49
|
-
|
|
50
|
-
<Card className="bg-main-50 border-main-200">
|
|
51
|
-
<h2 className="text-main-900">Welcome</h2>
|
|
52
|
-
</Card>
|
|
31
|
+
# Install Tailwind CSS v4 and Vite plugin
|
|
32
|
+
npm install -D @tailwindcss/vite tailwindcss@^4.0.0
|
|
53
33
|
```
|
|
54
34
|
|
|
55
|
-
###
|
|
35
|
+
### 2. Import Core Styles
|
|
56
36
|
|
|
57
37
|
```tsx
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
38
|
+
// src/main.tsx (or your app's entry point)
|
|
39
|
+
import '@jmruthers/pace-core/styles/core.css';
|
|
40
|
+
import React from 'react';
|
|
41
|
+
import ReactDOM from 'react-dom/client';
|
|
42
|
+
import App from './App';
|
|
43
|
+
|
|
44
|
+
const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement);
|
|
45
|
+
root.render(
|
|
46
|
+
<React.StrictMode>
|
|
47
|
+
<App />
|
|
48
|
+
</React.StrictMode>
|
|
49
|
+
);
|
|
66
50
|
```
|
|
67
51
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
## Import Strategy
|
|
71
|
-
|
|
72
|
-
PACE Core provides two import paths to optimize for different use cases:
|
|
73
|
-
|
|
74
|
-
### Main Export (Recommended for Common Components)
|
|
52
|
+
### 3. Configure Vite with Tailwind v4
|
|
75
53
|
|
|
76
|
-
|
|
54
|
+
**NEW in v0.4.17+:** Pace-core uses Tailwind v4's CSS-first approach with corrected `@source` directives. This automatically scans the published source files without requiring complex Vite configuration.
|
|
77
55
|
|
|
78
56
|
```typescript
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
57
|
+
// vite.config.ts
|
|
58
|
+
import { defineConfig } from 'vite'
|
|
59
|
+
import react from '@vitejs/plugin-react'
|
|
60
|
+
import tailwindcss from '@tailwindcss/vite'
|
|
61
|
+
import path from 'path'
|
|
62
|
+
|
|
63
|
+
export default defineConfig({
|
|
64
|
+
plugins: [
|
|
65
|
+
react(),
|
|
66
|
+
tailwindcss({
|
|
67
|
+
// Only need to scan your app's source files
|
|
68
|
+
// pace-core source files are automatically scanned via @source directives
|
|
69
|
+
content: [
|
|
70
|
+
'./src/**/*.{js,ts,jsx,tsx}'
|
|
71
|
+
]
|
|
72
|
+
})
|
|
73
|
+
],
|
|
74
|
+
resolve: {
|
|
75
|
+
alias: {
|
|
76
|
+
"@": path.resolve(__dirname, "./src"),
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
server: {
|
|
80
|
+
port: 3000,
|
|
81
|
+
open: true,
|
|
82
|
+
},
|
|
83
|
+
build: {
|
|
84
|
+
outDir: 'dist',
|
|
85
|
+
sourcemap: true,
|
|
86
|
+
},
|
|
87
|
+
})
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
-
**
|
|
91
|
-
- **Basic UI**: Button, Card, Input, Label, Alert, Avatar, Checkbox, Progress
|
|
92
|
-
- **Advanced UI**: Dialog, DropdownMenu, Select, Toast, Tooltip
|
|
93
|
-
- **Data Display**: DataTable, Table
|
|
94
|
-
- **Forms**: Form, LoginForm
|
|
95
|
-
- **Layout**: Header, Footer, NavigationMenu, UserMenu
|
|
96
|
-
- **Utilities**: ErrorBoundary, LoadingSpinner, EventSelector
|
|
97
|
-
- **Providers**: UnifiedAuthProvider
|
|
98
|
-
- **Hooks**: useUnifiedAuth
|
|
99
|
-
- **Utils**: cn, appConfig utilities
|
|
100
|
-
|
|
101
|
-
### Complete Components Export (For Specialized Components)
|
|
102
|
-
|
|
103
|
-
Use the complete export for specialized or advanced components:
|
|
90
|
+
**Fallback Configuration:** If the CSS-first approach doesn't work, you can explicitly include pace-core source files:
|
|
104
91
|
|
|
105
92
|
```typescript
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
93
|
+
// vite.config.ts - Fallback configuration
|
|
94
|
+
export default defineConfig({
|
|
95
|
+
plugins: [
|
|
96
|
+
react(),
|
|
97
|
+
tailwindcss({
|
|
98
|
+
content: [
|
|
99
|
+
'./src/**/*.{js,ts,jsx,tsx}',
|
|
100
|
+
'./node_modules/@jmruthers/pace-core/src/**/*.{js,ts,jsx,tsx}'
|
|
101
|
+
]
|
|
102
|
+
})
|
|
103
|
+
],
|
|
104
|
+
// ... rest of config
|
|
105
|
+
})
|
|
112
106
|
```
|
|
113
107
|
|
|
114
|
-
|
|
115
|
-
- All components from main export
|
|
116
|
-
- **Advanced Form Components**: FormField, FormErrorSummary, FormLiveRegion
|
|
117
|
-
- **Specialized UI**: All DropdownMenu sub-components, Select sub-components
|
|
118
|
-
- **Data Components**: Full DataTable with all features
|
|
119
|
-
- **Layout Components**: PaceAppLayout, PaceLoginPage
|
|
120
|
-
- **Authentication**: PasswordResetForm, PasswordChangeForm
|
|
108
|
+
### 4. Verify Installation
|
|
121
109
|
|
|
122
|
-
|
|
110
|
+
Create a test component to ensure everything works:
|
|
123
111
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
- Want smaller bundle size
|
|
128
|
-
- Working on simple forms or layouts
|
|
112
|
+
```tsx
|
|
113
|
+
// src/App.tsx
|
|
114
|
+
import { Button, Card, Input } from '@jmruthers/pace-core';
|
|
129
115
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
|
|
116
|
+
function App() {
|
|
117
|
+
return (
|
|
118
|
+
<div className="p-8 space-y-4">
|
|
119
|
+
<h1 className="text-2xl font-bold text-main-900">PACE Core Test</h1>
|
|
120
|
+
|
|
121
|
+
<Card className="p-4">
|
|
122
|
+
<h2 className="text-lg font-semibold text-sec-800 mb-2">Components Test</h2>
|
|
123
|
+
<div className="space-y-2">
|
|
124
|
+
<Button variant="primary" className="bg-main-600 text-main-50">
|
|
125
|
+
Primary Button
|
|
126
|
+
</Button>
|
|
127
|
+
<Button variant="secondary" className="bg-sec-500 text-main-50">
|
|
128
|
+
Secondary Button
|
|
129
|
+
</Button>
|
|
130
|
+
<Input placeholder="Test input field" className="border-main-300" />
|
|
131
|
+
</div>
|
|
132
|
+
</Card>
|
|
133
|
+
</div>
|
|
134
|
+
);
|
|
135
|
+
}
|
|
135
136
|
|
|
136
|
-
|
|
137
|
+
export default App;
|
|
138
|
+
```
|
|
137
139
|
|
|
138
|
-
|
|
140
|
+
**Expected Result:** You should see properly styled components with PACE Core's design system colors and typography.
|
|
139
141
|
|
|
140
|
-
|
|
141
|
-
// ✅ Good - Only imports what you need
|
|
142
|
-
import { Button, Card } from '@jmruthers/pace-core';
|
|
142
|
+
## ⚠️ Critical Configuration Notes
|
|
143
143
|
|
|
144
|
-
|
|
145
|
-
import { FormField, FormErrorSummary } from '@jmruthers/pace-core/components';
|
|
144
|
+
### Why Source File Scanning is Required
|
|
146
145
|
|
|
147
|
-
|
|
148
|
-
import * as PaceCore from '@jmruthers/pace-core/components';
|
|
149
|
-
```
|
|
146
|
+
Pace-core v0.4.15+ includes source files in the published package because:
|
|
150
147
|
|
|
151
|
-
|
|
148
|
+
- Tailwind v4 needs to scan original TypeScript/JSX files to detect utility classes
|
|
149
|
+
- Compiled JavaScript files don't contain the class names Tailwind needs
|
|
150
|
+
- Without proper scanning, only ~292 CSS rules are generated instead of 800+ needed
|
|
152
151
|
|
|
153
|
-
###
|
|
152
|
+
### Alternative Configuration (if source files don't work)
|
|
154
153
|
|
|
155
|
-
|
|
156
|
-
import { Button, Card, CardHeader, CardTitle, CardContent } from '@jmruthers/pace-core';
|
|
154
|
+
If you're still having issues with component scanning:
|
|
157
155
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}
|
|
156
|
+
```typescript
|
|
157
|
+
// vite.config.ts
|
|
158
|
+
import { defineConfig } from 'vite'
|
|
159
|
+
import react from '@vitejs/plugin-react'
|
|
160
|
+
import tailwindcss from '@tailwindcss/vite'
|
|
161
|
+
|
|
162
|
+
export default defineConfig({
|
|
163
|
+
plugins: [
|
|
164
|
+
react(),
|
|
165
|
+
tailwindcss({
|
|
166
|
+
content: [
|
|
167
|
+
'./src/**/*.{js,ts,jsx,tsx}',
|
|
168
|
+
// Try source files first
|
|
169
|
+
'./node_modules/@jmruthers/pace-core/src/**/*.{js,ts,jsx,tsx}',
|
|
170
|
+
// Fallback: also scan dist files
|
|
171
|
+
'./node_modules/@jmruthers/pace-core/dist/**/*.{js,ts,jsx,tsx}'
|
|
172
|
+
]
|
|
173
|
+
})
|
|
174
|
+
],
|
|
175
|
+
})
|
|
170
176
|
```
|
|
171
177
|
|
|
172
|
-
###
|
|
178
|
+
### Legacy Configuration (v0.4.14 and below)
|
|
173
179
|
|
|
174
|
-
|
|
175
|
-
import {
|
|
176
|
-
UnifiedAuthProvider,
|
|
177
|
-
LoginForm,
|
|
178
|
-
useUnifiedAuth
|
|
179
|
-
} from '@jmruthers/pace-core';
|
|
180
|
-
|
|
181
|
-
function App() {
|
|
182
|
-
return (
|
|
183
|
-
<UnifiedAuthProvider>
|
|
184
|
-
<MyApp />
|
|
185
|
-
</UnifiedAuthProvider>
|
|
186
|
-
);
|
|
187
|
-
}
|
|
180
|
+
For older versions, use this configuration:
|
|
188
181
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
}
|
|
182
|
+
```typescript
|
|
183
|
+
// vite.config.ts
|
|
184
|
+
export default defineConfig({
|
|
185
|
+
plugins: [
|
|
186
|
+
react(),
|
|
187
|
+
tailwindcss({
|
|
188
|
+
content: [
|
|
189
|
+
'./src/**/*.{js,ts,jsx,tsx}',
|
|
190
|
+
'./node_modules/@jmruthers/pace-core/**/*.{js,ts,jsx,tsx}'
|
|
191
|
+
]
|
|
192
|
+
})
|
|
193
|
+
],
|
|
194
|
+
})
|
|
203
195
|
```
|
|
204
196
|
|
|
205
|
-
|
|
197
|
+
## 🔍 Troubleshooting
|
|
206
198
|
|
|
207
|
-
|
|
208
|
-
import {
|
|
209
|
-
Form,
|
|
210
|
-
FormField,
|
|
211
|
-
FormErrorSummary
|
|
212
|
-
} from '@jmruthers/pace-core/components';
|
|
213
|
-
|
|
214
|
-
function AdvancedForm() {
|
|
215
|
-
return (
|
|
216
|
-
<Form onSubmit={handleSubmit}>
|
|
217
|
-
<FormField name="email" label="Email" type="email" required />
|
|
218
|
-
<FormField name="password" label="Password" type="password" required />
|
|
219
|
-
<FormErrorSummary />
|
|
220
|
-
<Button type="submit">Submit</Button>
|
|
221
|
-
</Form>
|
|
222
|
-
);
|
|
223
|
-
}
|
|
224
|
-
```
|
|
199
|
+
### Issue: Only 292 CSS rules instead of 800+
|
|
225
200
|
|
|
226
|
-
|
|
201
|
+
**Solution**:
|
|
202
|
+
1. Update to pace-core v0.4.15+
|
|
203
|
+
2. Use source file paths: `./node_modules/@jmruthers/pace-core/src/**/*.{js,ts,jsx,tsx}`
|
|
204
|
+
3. Clear build cache: `rm -rf dist .vite node_modules && npm install`
|
|
227
205
|
|
|
228
|
-
###
|
|
206
|
+
### Issue: Components appear unstyled
|
|
229
207
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
- **Alert** - Status and notification messages
|
|
235
|
-
- **Avatar** - User profile images with fallbacks
|
|
236
|
-
- **Checkbox** - Form checkbox with proper accessibility
|
|
237
|
-
- **Progress** - Progress indicators and loading states
|
|
208
|
+
**Solution**:
|
|
209
|
+
1. Check your Vite configuration includes pace-core source files
|
|
210
|
+
2. Ensure CSS file is imported: `import '@jmruthers/pace-core/styles/core.css'`
|
|
211
|
+
3. Restart dev server after configuration changes
|
|
238
212
|
|
|
239
|
-
###
|
|
213
|
+
### Issue: Build errors with source files
|
|
240
214
|
|
|
241
|
-
|
|
242
|
-
- 📖 **[Dialog API Reference](./docs/api/modules.md#dialog)** - Auto-generated API documentation
|
|
243
|
-
- **DropdownMenu** - Context menus and dropdowns
|
|
244
|
-
- **Select** - Dropdown select components
|
|
245
|
-
- **Toast** - Notification system
|
|
246
|
-
- **Tooltip** - Hover tooltips
|
|
215
|
+
**Solution**: Add TypeScript configuration for node_modules:
|
|
247
216
|
|
|
248
|
-
|
|
217
|
+
```json
|
|
218
|
+
// tsconfig.json
|
|
219
|
+
{
|
|
220
|
+
"compilerOptions": {
|
|
221
|
+
"skipLibCheck": true
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
```
|
|
249
225
|
|
|
250
|
-
|
|
251
|
-
- **Table** - Basic table components for simple data display
|
|
226
|
+
## Features
|
|
252
227
|
|
|
253
|
-
|
|
228
|
+
- 🎨 **Complete Design System** - Colors, typography, spacing, shadows
|
|
229
|
+
- 🧩 **React Components** - Buttons, inputs, cards, data tables, and more
|
|
230
|
+
- 🔐 **RBAC System** - Role-based access control with Supabase
|
|
231
|
+
- 🎨 **Tailwind v4** - CSS-first approach with design tokens
|
|
232
|
+
- 📱 **Responsive** - Mobile-first design patterns
|
|
233
|
+
- ♿ **Accessible** - WCAG compliant components
|
|
234
|
+
- 🚀 **Performance** - Tree-shakeable, optimized bundle
|
|
254
235
|
|
|
255
|
-
|
|
256
|
-
- **LoginForm** - Pre-built login form
|
|
257
|
-
- **FormField** - Individual form fields with validation
|
|
258
|
-
- **FormErrorSummary** - Error display for forms
|
|
236
|
+
## Documentation
|
|
259
237
|
|
|
260
|
-
|
|
238
|
+
- [Quick Start Guide](./docs/getting-started/quick-start.md) - Complete step-by-step tutorial
|
|
239
|
+
- [Installation Guide](./docs/getting-started/installation.md) - Detailed setup instructions
|
|
240
|
+
- [Vite Configuration](./docs/consuming-app-vite-config.md) - **CRITICAL** Tailwind scanning setup
|
|
241
|
+
- [Component API](./docs/api/README.md) - All available components and hooks
|
|
242
|
+
- [Styling Guide](./docs/styles/README.md) - Understanding the design system
|
|
243
|
+
- [Troubleshooting](./docs/troubleshooting/styling-issues.md) - Fix common styling problems
|
|
244
|
+
- [Tailwind Content Scanning](./docs/troubleshooting/tailwind-content-scanning.md) - **NEW** Comprehensive scanning solutions
|
|
261
245
|
|
|
262
|
-
|
|
263
|
-
- **Footer** - Application footer
|
|
264
|
-
- **NavigationMenu** - Navigation menus
|
|
265
|
-
- **UserMenu** - User account menu
|
|
266
|
-
- **PaceAppLayout** - Complete application layout
|
|
267
|
-
- **PaceLoginPage** - Login page layout
|
|
246
|
+
## Import Strategy
|
|
268
247
|
|
|
269
|
-
|
|
248
|
+
PACE Core provides two import paths to optimize for different use cases:
|
|
270
249
|
|
|
271
|
-
|
|
272
|
-
- 📖 **[ErrorBoundary API Reference](./docs/api/classes/ErrorBoundary.md)** - Auto-generated API documentation
|
|
273
|
-
- **LoadingSpinner** - Loading indicators
|
|
274
|
-
- **EventSelector** - Event selection component
|
|
250
|
+
### Main Export (Recommended for Common Components)
|
|
275
251
|
|
|
276
|
-
|
|
252
|
+
Use the main export for frequently used components and utilities:
|
|
277
253
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
254
|
+
```typescript
|
|
255
|
+
import {
|
|
256
|
+
Button,
|
|
257
|
+
Card,
|
|
258
|
+
Input,
|
|
259
|
+
DropdownMenu,
|
|
260
|
+
Select,
|
|
261
|
+
Dialog,
|
|
262
|
+
useUnifiedAuth
|
|
263
|
+
} from '@jmruthers/pace-core';
|
|
264
|
+
```
|
|
281
265
|
|
|
282
|
-
|
|
266
|
+
**Available from main export:**
|
|
267
|
+
- **Basic UI**: Button, Card, Input, Label, Alert, Avatar, Checkbox, Progress
|
|
268
|
+
- **Advanced UI**: Dialog (with HTML content), DropdownMenu, Select, Toast, Tooltip
|
|
269
|
+
- **Data Display**: DataTable (with hierarchical actions & expand/collapse all), Table
|
|
270
|
+
- **Forms**: Form, LoginForm
|
|
271
|
+
- **Layout**: PaceAppLayout, Header, Footer, NavigationMenu
|
|
272
|
+
- **Print Components**: PrintLayout, PrintDataTable, PrintCard, PrintHeader, PrintText, PrintButton, PrintGrid, PrintSection, PrintFooter, PrintPageBreak
|
|
273
|
+
- **Providers**: UnifiedAuthProvider, OrganisationProvider, EventProvider
|
|
274
|
+
- **Hooks**: useUnifiedAuth, useOrganisations, useEvents
|
|
283
275
|
|
|
284
|
-
|
|
285
|
-
- **ThemeProvider** - Theme context provider
|
|
286
|
-
- **EventProvider** - Event management provider
|
|
276
|
+
### Component Documentation
|
|
287
277
|
|
|
288
|
-
|
|
278
|
+
- **[DataTable Component](docs/implementation-guides/data-tables.md)** - Enterprise-grade data table with hierarchical rows, expand/collapse all, actions, sorting, filtering, and performance optimization
|
|
279
|
+
- **[Hierarchical DataTable Guide](docs/implementation-guides/hierarchical-datatable.md)** - Complete guide for implementing parent/child rows with expand/collapse all and smart sorting
|
|
280
|
+
- **[Print Components](docs/print-components/README.md)** - **NEW** Print-optimized layout system for reports, documents, and printable content
|
|
281
|
+
- **[Print Quick Start](docs/print-components/quick-start.md)** - 5-minute setup guide
|
|
282
|
+
- **[Print API Reference](docs/print-components/api-reference.md)** - Complete component documentation
|
|
283
|
+
- **[Dialog Component](src/components/Dialog/README.md)** - Comprehensive dialog system with smart height management, scrolling, HTML content rendering, and accessibility features
|
|
284
|
+
- **[Storage System](src/utils/storage/README.md)** - File storage utilities with organization-scoped access control
|
|
289
285
|
|
|
290
|
-
|
|
291
|
-
- **appConfig** - Application configuration utilities
|
|
286
|
+
### Complete Components Export (For Specialized Components)
|
|
292
287
|
|
|
293
|
-
|
|
288
|
+
Use the complete export for specialized or advanced components:
|
|
294
289
|
|
|
295
|
-
|
|
290
|
+
```typescript
|
|
291
|
+
import {
|
|
292
|
+
DataTable,
|
|
293
|
+
NavigationMenu,
|
|
294
|
+
FormField,
|
|
295
|
+
FormErrorSummary
|
|
296
|
+
} from '@jmruthers/pace-core/components';
|
|
297
|
+
```
|
|
296
298
|
|
|
297
299
|
## License
|
|
298
300
|
|
|
299
|
-
MIT
|
|
301
|
+
MIT License - see [LICENSE](./LICENSE) for details.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
[@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / InvalidScopeError
|
|
2
|
+
|
|
3
|
+
# Class: InvalidScopeError
|
|
4
|
+
|
|
5
|
+
## Hierarchy
|
|
6
|
+
|
|
7
|
+
- [`RBACError`](RBACError.md)
|
|
8
|
+
|
|
9
|
+
↳ **`InvalidScopeError`**
|
|
10
|
+
|
|
11
|
+
## Table of contents
|
|
12
|
+
|
|
13
|
+
### Constructors
|
|
14
|
+
|
|
15
|
+
- [constructor](InvalidScopeError.md#constructor)
|
|
16
|
+
|
|
17
|
+
### Properties
|
|
18
|
+
|
|
19
|
+
- [code](InvalidScopeError.md#code)
|
|
20
|
+
- [context](InvalidScopeError.md#context)
|
|
21
|
+
|
|
22
|
+
## Constructors
|
|
23
|
+
|
|
24
|
+
### constructor
|
|
25
|
+
|
|
26
|
+
• **new InvalidScopeError**(`scope`, `reason`): [`InvalidScopeError`](InvalidScopeError.md)
|
|
27
|
+
|
|
28
|
+
#### Parameters
|
|
29
|
+
|
|
30
|
+
| Name | Type |
|
|
31
|
+
| :------ | :------ |
|
|
32
|
+
| `scope` | [`Scope`](../modules.md#scope) |
|
|
33
|
+
| `reason` | `string` |
|
|
34
|
+
|
|
35
|
+
#### Returns
|
|
36
|
+
|
|
37
|
+
[`InvalidScopeError`](InvalidScopeError.md)
|
|
38
|
+
|
|
39
|
+
#### Overrides
|
|
40
|
+
|
|
41
|
+
[RBACError](RBACError.md).[constructor](RBACError.md#constructor)
|
|
42
|
+
|
|
43
|
+
#### Defined in
|
|
44
|
+
|
|
45
|
+
[packages/core/src/rbac/types.ts:325](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/types.ts#L325)
|
|
46
|
+
|
|
47
|
+
## Properties
|
|
48
|
+
|
|
49
|
+
### code
|
|
50
|
+
|
|
51
|
+
• **code**: `string`
|
|
52
|
+
|
|
53
|
+
#### Inherited from
|
|
54
|
+
|
|
55
|
+
[RBACError](RBACError.md).[code](RBACError.md#code)
|
|
56
|
+
|
|
57
|
+
#### Defined in
|
|
58
|
+
|
|
59
|
+
[packages/core/src/rbac/types.ts:285](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/types.ts#L285)
|
|
60
|
+
|
|
61
|
+
___
|
|
62
|
+
|
|
63
|
+
### context
|
|
64
|
+
|
|
65
|
+
• `Optional` **context**: `Record`\<`string`, `any`\>
|
|
66
|
+
|
|
67
|
+
#### Inherited from
|
|
68
|
+
|
|
69
|
+
[RBACError](RBACError.md).[context](RBACError.md#context)
|
|
70
|
+
|
|
71
|
+
#### Defined in
|
|
72
|
+
|
|
73
|
+
[packages/core/src/rbac/types.ts:286](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/types.ts#L286)
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
[@jmruthers/pace-core - v0.5.3](../README.md) / [Exports](../modules.md) / MissingUserContextError
|
|
2
|
+
|
|
3
|
+
# Class: MissingUserContextError
|
|
4
|
+
|
|
5
|
+
## Hierarchy
|
|
6
|
+
|
|
7
|
+
- [`RBACError`](RBACError.md)
|
|
8
|
+
|
|
9
|
+
↳ **`MissingUserContextError`**
|
|
10
|
+
|
|
11
|
+
## Table of contents
|
|
12
|
+
|
|
13
|
+
### Constructors
|
|
14
|
+
|
|
15
|
+
- [constructor](MissingUserContextError.md#constructor)
|
|
16
|
+
|
|
17
|
+
### Properties
|
|
18
|
+
|
|
19
|
+
- [code](MissingUserContextError.md#code)
|
|
20
|
+
- [context](MissingUserContextError.md#context)
|
|
21
|
+
|
|
22
|
+
## Constructors
|
|
23
|
+
|
|
24
|
+
### constructor
|
|
25
|
+
|
|
26
|
+
• **new MissingUserContextError**(): [`MissingUserContextError`](MissingUserContextError.md)
|
|
27
|
+
|
|
28
|
+
#### Returns
|
|
29
|
+
|
|
30
|
+
[`MissingUserContextError`](MissingUserContextError.md)
|
|
31
|
+
|
|
32
|
+
#### Overrides
|
|
33
|
+
|
|
34
|
+
[RBACError](RBACError.md).[constructor](RBACError.md#constructor)
|
|
35
|
+
|
|
36
|
+
#### Defined in
|
|
37
|
+
|
|
38
|
+
[packages/core/src/rbac/types.ts:336](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/types.ts#L336)
|
|
39
|
+
|
|
40
|
+
## Properties
|
|
41
|
+
|
|
42
|
+
### code
|
|
43
|
+
|
|
44
|
+
• **code**: `string`
|
|
45
|
+
|
|
46
|
+
#### Inherited from
|
|
47
|
+
|
|
48
|
+
[RBACError](RBACError.md).[code](RBACError.md#code)
|
|
49
|
+
|
|
50
|
+
#### Defined in
|
|
51
|
+
|
|
52
|
+
[packages/core/src/rbac/types.ts:285](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/types.ts#L285)
|
|
53
|
+
|
|
54
|
+
___
|
|
55
|
+
|
|
56
|
+
### context
|
|
57
|
+
|
|
58
|
+
• `Optional` **context**: `Record`\<`string`, `any`\>
|
|
59
|
+
|
|
60
|
+
#### Inherited from
|
|
61
|
+
|
|
62
|
+
[RBACError](RBACError.md).[context](RBACError.md#context)
|
|
63
|
+
|
|
64
|
+
#### Defined in
|
|
65
|
+
|
|
66
|
+
[packages/core/src/rbac/types.ts:286](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/types.ts#L286)
|