@jmruthers/pace-core 0.2.7 → 0.4.1
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 +1 -26
- package/README.md +229 -231
- package/dist/{DataTable-EEUDXPE5.js → DataTable-2LB6HI6V.js} +17 -10
- package/dist/{DataTable-C1AEm9Cx.d.ts → DataTable-BDBqkU-i.d.ts} +51 -23
- package/dist/{PublicLoadingSpinner-DztrzuJr.d.ts → Table-CIm9IWqk.d.ts} +122 -635
- package/dist/UnifiedAuthProvider-V7y63NjT.d.ts +88 -0
- package/dist/{api-ETQ6YJ3C.js → api-AIJ3IJX3.js} +4 -6
- package/dist/{appConfig-BVGyuvI7.d.ts → appConfig-fB1pP_v3.d.ts} +1 -1
- package/dist/{audit-BUW3LMJB.js → audit-PD5L5ZSC.js} +3 -3
- package/dist/{chunk-ETEJVKYK.js → chunk-4MCJAK7J.js} +4927 -504
- package/dist/chunk-4MCJAK7J.js.map +1 -0
- package/dist/{chunk-CDQ3PX7L.js → chunk-4ZTIEYU2.js} +1 -1
- package/dist/chunk-4ZTIEYU2.js.map +1 -0
- package/dist/{chunk-PLDDJCW6.js → chunk-DC5AMYBS.js} +5 -15
- package/dist/{chunk-HEMJ4SUJ.js → chunk-H4PZ4B3Y.js} +27 -124
- package/dist/chunk-H4PZ4B3Y.js.map +1 -0
- package/dist/{chunk-HNDFPXUU.js → chunk-IOX76PSM.js} +28 -270
- package/dist/chunk-IOX76PSM.js.map +1 -0
- package/dist/{chunk-TIVL4UQ7.js → chunk-JUUNUW3O.js} +5 -14
- package/dist/chunk-JUUNUW3O.js.map +1 -0
- package/dist/chunk-KK6WIDK6.js +63 -0
- package/dist/chunk-KK6WIDK6.js.map +1 -0
- package/dist/chunk-U7DY5T33.js +11 -0
- package/dist/chunk-U7DY5T33.js.map +1 -0
- package/dist/{chunk-SS3E6QLB.js → chunk-WHLSWC6W.js} +61 -16
- package/dist/chunk-WHLSWC6W.js.map +1 -0
- package/dist/chunk-XI7QFSSC.js +790 -0
- package/dist/chunk-XI7QFSSC.js.map +1 -0
- package/dist/chunk-XIJMMBDD.js +73 -0
- package/dist/chunk-XIJMMBDD.js.map +1 -0
- package/dist/{chunk-7BNPOCLL.js → chunk-YNU5QJ4S.js} +5 -22
- package/dist/chunk-YNU5QJ4S.js.map +1 -0
- package/dist/chunk-YWYCNGWH.js +2070 -0
- package/dist/chunk-YWYCNGWH.js.map +1 -0
- package/dist/chunk-ZJ3UKPIW.js +952 -0
- package/dist/chunk-ZJ3UKPIW.js.map +1 -0
- package/dist/components.d.ts +10 -906
- package/dist/components.js +77 -3255
- package/dist/components.js.map +1 -1
- package/dist/{database-C3Szpi5J.d.ts → database-CAMsquLm.d.ts} +11 -28
- package/dist/hooks.d.ts +6 -7
- package/dist/hooks.js +11 -35
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +111 -245
- package/dist/index.js +178 -187
- package/dist/index.js.map +1 -1
- package/dist/{organisation-CO3Sh3_D.d.ts → organisation-DLNNQhPB.d.ts} +1 -1
- package/dist/providers.d.ts +4 -4
- package/dist/providers.js +5 -19
- package/dist/rbac/index.d.ts +5 -61
- package/dist/rbac/index.js +93 -256
- package/dist/rbac/index.js.map +1 -1
- package/dist/{types-DiRQsGJs.d.ts → types-Bavn44NW.d.ts} +36 -71
- package/dist/types.d.ts +5 -5
- package/dist/types.js +2 -7
- package/dist/types.js.map +1 -1
- package/dist/{unified-CM7T0aTK.d.ts → unified-BtRpPbmp.d.ts} +2 -1
- package/dist/useAppConfig-CZNJJsT_.d.ts +148 -0
- package/dist/utils.d.ts +60 -83
- package/dist/utils.js +55633 -277
- package/dist/utils.js.map +1 -1
- package/dist/validation.d.ts +1 -1
- package/dist/validation.js +1 -1
- package/docs/README.md +32 -46
- package/docs/api/README.md +229 -231
- package/docs/api/classes/ErrorBoundary.md +1 -1
- 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/DataTableAction.md +7 -85
- package/docs/api/interfaces/DataTableColumn.md +12 -131
- package/docs/api/interfaces/DataTableProps.md +274 -64
- package/docs/api/interfaces/DataTableToolbarButton.md +7 -7
- package/docs/api/interfaces/EmptyStateConfig.md +5 -5
- package/docs/api/interfaces/EventContextType.md +7 -7
- package/docs/api/interfaces/EventProviderProps.md +2 -2
- package/docs/api/interfaces/FooterProps.md +1 -1
- 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/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/Organisation.md +1 -1
- package/docs/api/interfaces/OrganisationContextType.md +1 -1
- package/docs/api/interfaces/OrganisationMembership.md +1 -1
- package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
- package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
- package/docs/api/interfaces/PaceAppLayoutProps.md +26 -26
- package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- 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 +46 -447
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +9 -95
- 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 +773 -1631
- package/docs/api-reference/components.md +43 -761
- package/docs/api-reference/hooks.md +0 -126
- package/docs/api-reference/providers.md +65 -141
- package/docs/api-reference/types.md +36 -66
- package/docs/api-reference/utilities.md +1 -1
- package/docs/architecture/README.md +2 -1
- package/docs/consuming-app-example.md +96 -42
- package/docs/core-concepts/events.md +3 -3
- package/docs/core-concepts/organisations.md +1 -0
- package/docs/core-concepts/rbac-system.md +10 -23
- package/docs/documentation-style-checklist.md +2 -8
- package/docs/getting-started/examples/README.md +1 -15
- package/docs/getting-started/examples/basic-auth-app.md +119 -444
- package/docs/getting-started/examples/full-featured-app.md +6 -6
- package/docs/getting-started/installation.md +52 -231
- package/docs/getting-started/quick-start.md +24 -121
- package/docs/implementation-guides/app-layout.md +108 -133
- package/docs/implementation-guides/data-tables.md +29 -1011
- package/docs/implementation-guides/forms.md +3 -3
- 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/migration/README.md +8 -18
- package/docs/migration/rbac-migration.md +0 -50
- package/docs/migration-guide.md +104 -51
- package/docs/performance/README.md +4 -1
- package/docs/quick-reference.md +36 -53
- package/docs/rbac/README.md +69 -136
- package/docs/rbac/api-reference.md +8 -39
- package/docs/rbac/examples.md +66 -237
- package/docs/rbac/getting-started.md +16 -131
- package/docs/rbac/quick-start.md +323 -499
- package/docs/rbac/troubleshooting.md +262 -240
- package/docs/security/README.md +1 -50
- package/docs/styles/README.md +117 -143
- package/docs/testing/README.md +10 -6
- package/docs/troubleshooting/common-issues.md +14 -604
- package/docs/usage.md +90 -28
- package/docs/visual-testing.md +7 -0
- package/package.json +24 -43
- package/dist/UnifiedAuthProvider-w66zSCUf.d.ts +0 -160
- package/dist/appNameResolver-7GHF5ED2.js +0 -22
- package/dist/chunk-2V3Y6YBC.js +0 -114
- package/dist/chunk-2V3Y6YBC.js.map +0 -1
- package/dist/chunk-7BNPOCLL.js.map +0 -1
- package/dist/chunk-BEZRLNK3.js +0 -1744
- package/dist/chunk-BEZRLNK3.js.map +0 -1
- package/dist/chunk-C5G2A4PO.js +0 -1349
- package/dist/chunk-C5G2A4PO.js.map +0 -1
- package/dist/chunk-CDQ3PX7L.js.map +0 -1
- package/dist/chunk-ETEJVKYK.js.map +0 -1
- package/dist/chunk-EWKPTNPO.js +0 -5139
- package/dist/chunk-EWKPTNPO.js.map +0 -1
- package/dist/chunk-HEMJ4SUJ.js.map +0 -1
- package/dist/chunk-HNDFPXUU.js.map +0 -1
- package/dist/chunk-MZBUOP4P.js +0 -119
- package/dist/chunk-MZBUOP4P.js.map +0 -1
- package/dist/chunk-N2EUGZRW.js +0 -98
- package/dist/chunk-N2EUGZRW.js.map +0 -1
- package/dist/chunk-NQ4TOOO6.js +0 -20
- package/dist/chunk-NQ4TOOO6.js.map +0 -1
- package/dist/chunk-OHXGNT3K.js +0 -21
- package/dist/chunk-OHXGNT3K.js.map +0 -1
- package/dist/chunk-PLDDJCW6.js.map +0 -1
- package/dist/chunk-RRUYHORU.js +0 -3431
- package/dist/chunk-RRUYHORU.js.map +0 -1
- package/dist/chunk-SS3E6QLB.js.map +0 -1
- package/dist/chunk-TIVL4UQ7.js.map +0 -1
- package/dist/chunk-VYG4AXYW.js +0 -388
- package/dist/chunk-VYG4AXYW.js.map +0 -1
- package/dist/chunk-YDJW5XTN.js +0 -84
- package/dist/chunk-YDJW5XTN.js.map +0 -1
- package/dist/styles/core.css +0 -422
- 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 +0 -36
- package/dist/styles/index.js +0 -24
- package/dist/styles/index.js.map +0 -1
- package/dist/theming/runtime.d.ts +0 -73
- package/dist/theming/runtime.js +0 -16
- package/dist/theming/runtime.js.map +0 -1
- package/dist/usePublicRouteParams-B6i0KtXW.d.ts +0 -477
- package/docs/INDEX.md +0 -192
- package/docs/api/classes/PublicErrorBoundary.md +0 -132
- package/docs/api/interfaces/EventLogoProps.md +0 -152
- package/docs/api/interfaces/FileSizeLimits.md +0 -7
- package/docs/api/interfaces/FileUploadProps.md +0 -154
- package/docs/api/interfaces/InactivityWarningModalProps.md +0 -115
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +0 -94
- package/docs/api/interfaces/PublicErrorBoundaryState.md +0 -68
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +0 -86
- package/docs/api/interfaces/PublicPageFooterProps.md +0 -112
- package/docs/api/interfaces/PublicPageHeaderProps.md +0 -138
- package/docs/api/interfaces/PublicPageLayoutProps.md +0 -138
- package/docs/api/interfaces/StorageConfig.md +0 -41
- package/docs/api/interfaces/StorageFileInfo.md +0 -74
- package/docs/api/interfaces/StorageFileMetadata.md +0 -140
- package/docs/api/interfaces/StorageListOptions.md +0 -86
- package/docs/api/interfaces/StorageListResult.md +0 -41
- package/docs/api/interfaces/StorageUploadOptions.md +0 -88
- package/docs/api/interfaces/StorageUploadResult.md +0 -63
- package/docs/api/interfaces/StorageUrlOptions.md +0 -47
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +0 -136
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +0 -123
- package/docs/api/interfaces/UsePublicEventLogoOptions.md +0 -87
- package/docs/api/interfaces/UsePublicEventLogoReturn.md +0 -81
- package/docs/api/interfaces/UsePublicEventOptions.md +0 -34
- package/docs/api/interfaces/UsePublicEventReturn.md +0 -68
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +0 -94
- package/docs/best-practices/README.md +0 -400
- package/docs/consuming-app-vite-config.md +0 -233
- package/docs/examples/navigation-menu-auth-fix.md +0 -344
- package/docs/implementation-guides/hierarchical-datatable.md +0 -850
- package/docs/implementation-guides/public-pages.md +0 -752
- package/docs/migration/quick-migration-guide.md +0 -320
- package/docs/migration/v0.4.15-tailwind-scanning.md +0 -272
- package/docs/migration/v0.4.16-css-first-approach.md +0 -306
- package/docs/migration/v0.4.17-source-path-fix.md +0 -229
- package/docs/print-components/README.md +0 -258
- package/docs/print-components/api-reference.md +0 -636
- package/docs/print-components/examples/README.md +0 -204
- package/docs/print-components/examples/basic-report.tsx +0 -92
- package/docs/print-components/examples/card-catalog.tsx +0 -149
- package/docs/print-components/examples/cover-page-report.tsx +0 -163
- package/docs/print-components/quick-start.md +0 -363
- package/docs/troubleshooting/README.md +0 -497
- package/docs/troubleshooting/styling-issues.md +0 -219
- package/docs/troubleshooting/tailwind-content-scanning.md +0 -213
- package/src/__mocks__/lucide-react.ts +0 -181
- package/src/__tests__/README.md +0 -404
- package/src/__tests__/debug-provider.unit.test.tsx +0 -67
- package/src/__tests__/e2e/workflows.test.tsx +0 -373
- package/src/__tests__/hybridPermissions.unit.test.tsx +0 -474
- package/src/__tests__/index.integration.test.ts +0 -491
- package/src/__tests__/mocks/MockAuthProvider-standalone.tsx +0 -47
- package/src/__tests__/mocks/MockAuthProvider.tsx +0 -63
- package/src/__tests__/mocks/enhancedSupabaseMock.ts +0 -252
- package/src/__tests__/mocks/index.test.ts +0 -23
- package/src/__tests__/mocks/index.ts +0 -16
- package/src/__tests__/mocks/mockAuth.ts +0 -155
- package/src/__tests__/mocks/mockSupabase.ts +0 -83
- package/src/__tests__/mocks/mockSupabaseClient.ts +0 -63
- package/src/__tests__/mocks/providers.tsx +0 -22
- package/src/__tests__/patterns/__tests__/testPatterns.test.ts +0 -394
- package/src/__tests__/patterns/testPatterns.ts +0 -124
- package/src/__tests__/performance/componentPerformance.performance.test.ts +0 -27
- package/src/__tests__/performance/index.ts +0 -24
- package/src/__tests__/performance/performanceValidation.performance.test.ts +0 -15
- package/src/__tests__/security/security.unit.test.tsx +0 -7
- package/src/__tests__/security/securityValidation.security.test.tsx +0 -153
- package/src/__tests__/setup.ts +0 -259
- package/src/__tests__/setupTests.d.ts +0 -1
- package/src/__tests__/shared/componentTestUtils.tsx +0 -475
- package/src/__tests__/shared/errorHandlingTestUtils.ts +0 -107
- package/src/__tests__/shared/index.ts +0 -81
- package/src/__tests__/shared/integrationTestUtils.tsx +0 -375
- package/src/__tests__/shared/performanceTestUtils.tsx +0 -476
- package/src/__tests__/shared/testUtils.optimized.tsx +0 -685
- package/src/__tests__/simple.test.tsx +0 -20
- package/src/__tests__/templates/accessibility.test.template.tsx +0 -279
- package/src/__tests__/templates/component.test.template.tsx +0 -122
- package/src/__tests__/templates/integration.test.template.tsx +0 -199
- package/src/__tests__/test-utils/dataFactories.ts +0 -60
- package/src/__tests__/test-utils/index.ts +0 -6
- package/src/__tests__/typeSafety.unit.test.ts +0 -65
- package/src/__tests__/unifiedAuth.unit.test.tsx +0 -151
- package/src/__tests__/utils/accessibilityHelpers.ts +0 -254
- package/src/__tests__/utils/assertions.ts +0 -50
- package/src/__tests__/utils/deterministicHelpers.ts +0 -31
- package/src/__tests__/utils/edgeCaseConfig.test.ts +0 -75
- package/src/__tests__/utils/edgeCaseConfig.ts +0 -98
- package/src/__tests__/utils/mockHelpers.ts +0 -149
- package/src/__tests__/utils/mockLoader.ts +0 -101
- package/src/__tests__/utils/performanceHelpers.ts +0 -55
- package/src/__tests__/utils/performanceTestHelpers.ts +0 -68
- package/src/__tests__/utils/testDataFactories.ts +0 -28
- package/src/__tests__/utils/testIsolation.ts +0 -67
- package/src/__tests__/utils/visualTestHelpers.ts +0 -20
- package/src/__tests__/visual/__snapshots__/componentSnapshots.visual.test.tsx.snap +0 -68
- package/src/__tests__/visual/__snapshots__/componentVisuals.visual.test.tsx.snap +0 -14
- package/src/__tests__/visual/__snapshots__/visualRegression.test.tsx.snap +0 -217
- package/src/__tests__/visual/__snapshots__/visualRegression.visual.test.tsx.snap +0 -24
- package/src/__tests__/visual/componentSnapshots.visual.test.tsx +0 -33
- package/src/__tests__/visual/componentVisuals.visual.test.tsx +0 -12
- package/src/__tests__/visual/visualRegression.visual.test.tsx +0 -20
- package/src/components/Alert/Alert.tsx +0 -134
- package/src/components/Alert/__tests__/Alert.unit.test.tsx +0 -381
- package/src/components/Alert/index.ts +0 -2
- package/src/components/Avatar/Avatar.tsx +0 -84
- package/src/components/Avatar/__tests__/Avatar.unit.test.tsx +0 -232
- package/src/components/Avatar/index.ts +0 -2
- package/src/components/Button/Button.tsx +0 -270
- package/src/components/Button/__tests__/Button.accessibility.test.tsx +0 -131
- package/src/components/Button/__tests__/Button.comprehensive.test.tsx +0 -721
- package/src/components/Button/__tests__/Button.unit.test.tsx +0 -189
- package/src/components/Button/__tests__/EventSelector.integration.test.tsx +0 -285
- package/src/components/Button/index.ts +0 -2
- package/src/components/Card/Card.tsx +0 -271
- package/src/components/Card/__tests__/Card.accessibility.test.tsx +0 -394
- package/src/components/Card/__tests__/Card.comprehensive.test.tsx +0 -599
- package/src/components/Card/__tests__/Card.integration.test.tsx +0 -673
- package/src/components/Card/__tests__/Card.performance.test.tsx +0 -546
- package/src/components/Card/__tests__/Card.unit.test.tsx +0 -330
- package/src/components/Card/__tests__/Card.visual.test.tsx +0 -599
- package/src/components/Card/__tests__/README.md +0 -211
- package/src/components/Card/index.ts +0 -1
- package/src/components/Checkbox/Checkbox.tsx +0 -75
- package/src/components/Checkbox/__mocks__/Checkbox.tsx +0 -2
- package/src/components/Checkbox/__tests__/Checkbox.unit.test.tsx +0 -520
- package/src/components/Checkbox/index.ts +0 -2
- package/src/components/DataTable/DataTable.tsx +0 -438
- package/src/components/DataTable/__tests__/DataTable.errorHandling.test.tsx +0 -251
- package/src/components/DataTable/__tests__/DataTable.hierarchical.test.tsx +0 -680
- package/src/components/DataTable/__tests__/DataTable.infinite-loop.test.tsx +0 -323
- package/src/components/DataTable/__tests__/DataTable.integration.test.tsx +0 -716
- package/src/components/DataTable/__tests__/DataTable.performance.test.tsx +0 -589
- package/src/components/DataTable/__tests__/DataTable.permissions.test.tsx +0 -316
- package/src/components/DataTable/__tests__/DataTable.regressionFixes.test.tsx +0 -546
- package/src/components/DataTable/__tests__/DataTable.selection.controlled.test.tsx +0 -386
- package/src/components/DataTable/__tests__/DataTable.selection.test.tsx +0 -338
- package/src/components/DataTable/__tests__/DataTable.sorting.test.tsx +0 -321
- package/src/components/DataTable/__tests__/DataTable.userWorkflows.test.tsx +0 -320
- package/src/components/DataTable/__tests__/DataTable.workflowValidation.test.tsx +0 -583
- package/src/components/DataTable/__tests__/DataTable.workflows.test.tsx +0 -711
- package/src/components/DataTable/__tests__/README.md +0 -145
- package/src/components/DataTable/__tests__/mocks/MockRBACProvider.tsx +0 -66
- package/src/components/DataTable/__tests__/performance-regression.test.tsx +0 -777
- package/src/components/DataTable/__tests__/performance.test.tsx +0 -365
- package/src/components/DataTable/__tests__/test-utils/dataFactories.ts +0 -103
- package/src/components/DataTable/__tests__/test-utils/sharedTestUtils.tsx +0 -381
- package/src/components/DataTable/__tests__/test-utils.ts +0 -94
- package/src/components/DataTable/components/ActionButtons.tsx +0 -177
- package/src/components/DataTable/components/BulkOperationsDropdown.tsx +0 -160
- package/src/components/DataTable/components/ColumnFilter.tsx +0 -114
- package/src/components/DataTable/components/ColumnVisibilityDropdown.tsx +0 -100
- package/src/components/DataTable/components/DataTableBody.tsx +0 -461
- package/src/components/DataTable/components/DataTableCore.tsx +0 -941
- package/src/components/DataTable/components/DataTableErrorBoundary.tsx +0 -214
- package/src/components/DataTable/components/DataTableModals.tsx +0 -87
- package/src/components/DataTable/components/DataTableToolbar.tsx +0 -250
- package/src/components/DataTable/components/DraggableColumnHeader.tsx +0 -144
- package/src/components/DataTable/components/EditableRow.tsx +0 -159
- package/src/components/DataTable/components/EmptyState.tsx +0 -64
- package/src/components/DataTable/components/ExpandButton.tsx +0 -113
- package/src/components/DataTable/components/FilterRow.tsx +0 -100
- package/src/components/DataTable/components/GroupHeader.tsx +0 -42
- package/src/components/DataTable/components/GroupingDropdown.tsx +0 -96
- package/src/components/DataTable/components/ImportModal.tsx +0 -345
- package/src/components/DataTable/components/LoadingState.tsx +0 -12
- package/src/components/DataTable/components/PaginationControls.tsx +0 -332
- package/src/components/DataTable/components/UnifiedTableBody.tsx +0 -713
- package/src/components/DataTable/components/ViewRowModal.tsx +0 -68
- package/src/components/DataTable/components/VirtualizedDataTable.tsx +0 -513
- package/src/components/DataTable/components/__tests__/ActionButtons.unit.test.tsx +0 -150
- package/src/components/DataTable/components/__tests__/BulkOperationsDropdown.test.tsx +0 -224
- package/src/components/DataTable/components/__tests__/ColumnVisibilityDropdown.unit.test.tsx +0 -244
- package/src/components/DataTable/components/__tests__/DataTable.accessibility.test.tsx +0 -629
- package/src/components/DataTable/components/__tests__/DataTable.integration.test.tsx +0 -470
- package/src/components/DataTable/components/__tests__/DataTable.performance.test.tsx +0 -160
- package/src/components/DataTable/components/__tests__/DataTable.real.test.tsx +0 -251
- package/src/components/DataTable/components/__tests__/DataTable.security.test.tsx +0 -171
- package/src/components/DataTable/components/__tests__/DataTable.unit.test.tsx +0 -290
- package/src/components/DataTable/components/__tests__/DataTableBody.unit.test.tsx +0 -147
- package/src/components/DataTable/components/__tests__/DataTableErrorBoundary.unit.test.tsx +0 -182
- package/src/components/DataTable/components/__tests__/DataTableModals.unit.test.tsx +0 -123
- package/src/components/DataTable/components/__tests__/EditableRow.unit.test.tsx +0 -660
- package/src/components/DataTable/components/__tests__/EmptyState.unit.test.tsx +0 -256
- package/src/components/DataTable/components/__tests__/ExpandButton.test.tsx +0 -498
- package/src/components/DataTable/components/__tests__/FilterRow.unit.test.tsx +0 -112
- package/src/components/DataTable/components/__tests__/FilteringToggle.unit.test.tsx +0 -133
- package/src/components/DataTable/components/__tests__/GroupHeader.unit.test.tsx +0 -172
- package/src/components/DataTable/components/__tests__/GroupingDropdown.unit.test.tsx +0 -222
- package/src/components/DataTable/components/__tests__/ImportModal.unit.test.tsx +0 -780
- package/src/components/DataTable/components/__tests__/LoadingState.unit.test.tsx +0 -65
- package/src/components/DataTable/components/__tests__/PaginationControls.unit.test.tsx +0 -634
- package/src/components/DataTable/components/__tests__/StateComponents.unit.test.tsx +0 -48
- package/src/components/DataTable/components/__tests__/UnifiedTableBody.hierarchical.test.tsx +0 -541
- package/src/components/DataTable/components/__tests__/ViewRowModal.unit.test.tsx +0 -228
- package/src/components/DataTable/components/__tests__/VirtualizedDataTable.unit.test.tsx +0 -568
- package/src/components/DataTable/components/index.ts +0 -16
- package/src/components/DataTable/context/DataTableContext.tsx +0 -97
- package/src/components/DataTable/core/ActionManager.ts +0 -235
- package/src/components/DataTable/core/ColumnFactory.ts +0 -268
- package/src/components/DataTable/core/ColumnManager.ts +0 -205
- package/src/components/DataTable/core/DataManager.ts +0 -188
- package/src/components/DataTable/core/DataTableContext.tsx +0 -181
- package/src/components/DataTable/core/LocalDataAdapter.ts +0 -264
- package/src/components/DataTable/core/PluginRegistry.ts +0 -229
- package/src/components/DataTable/core/StateManager.ts +0 -311
- package/src/components/DataTable/core/__tests__/ActionManager.unit.test.ts +0 -405
- package/src/components/DataTable/core/__tests__/ArchitectureIntegration.unit.test.tsx +0 -445
- package/src/components/DataTable/core/__tests__/ColumnFactory.unit.test.ts +0 -288
- package/src/components/DataTable/core/__tests__/ColumnManager.unit.test.ts +0 -623
- package/src/components/DataTable/core/__tests__/DataManager.unit.test.ts +0 -431
- package/src/components/DataTable/core/__tests__/DataTableContext.unit.test.tsx +0 -433
- package/src/components/DataTable/core/__tests__/LocalDataAdapter.unit.test.ts +0 -422
- package/src/components/DataTable/core/__tests__/PluginRegistry.unit.test.tsx +0 -207
- package/src/components/DataTable/core/__tests__/StateManager.unit.test.ts +0 -278
- package/src/components/DataTable/core/index.ts +0 -8
- package/src/components/DataTable/core/interfaces.ts +0 -338
- package/src/components/DataTable/examples/HierarchicalActionsExample.tsx +0 -418
- package/src/components/DataTable/examples/HierarchicalExample.tsx +0 -472
- package/src/components/DataTable/examples/InitialPageSizeExample.tsx +0 -173
- package/src/components/DataTable/examples/PerformanceExample.tsx +0 -502
- package/src/components/DataTable/examples/__tests__/PerformanceExample.unit.test.tsx +0 -281
- package/src/components/DataTable/hooks/__tests__/useColumnOrderPersistence.unit.test.ts +0 -407
- package/src/components/DataTable/hooks/__tests__/useColumnReordering.unit.test.ts +0 -679
- package/src/components/DataTable/hooks/useColumnOrderPersistence.ts +0 -95
- package/src/components/DataTable/hooks/useColumnReordering.ts +0 -110
- package/src/components/DataTable/hooks/useDataTableState.ts +0 -325
- package/src/components/DataTable/hooks/useHierarchicalState.ts +0 -174
- package/src/components/DataTable/index.ts +0 -68
- package/src/components/DataTable/styles.ts +0 -171
- package/src/components/DataTable/types.ts +0 -473
- package/src/components/DataTable/utils/__tests__/debugTools.unit.test.ts +0 -267
- package/src/components/DataTable/utils/__tests__/errorHandling.unit.test.ts +0 -467
- package/src/components/DataTable/utils/__tests__/exportUtils.unit.test.ts +0 -380
- package/src/components/DataTable/utils/__tests__/flexibleImport.unit.test.ts +0 -233
- package/src/components/DataTable/utils/__tests__/performanceUtils.unit.test.ts +0 -414
- package/src/components/DataTable/utils/debugTools.ts +0 -583
- package/src/components/DataTable/utils/errorHandling.ts +0 -494
- package/src/components/DataTable/utils/exportUtils.ts +0 -126
- package/src/components/DataTable/utils/flexibleImport.ts +0 -510
- package/src/components/DataTable/utils/hierarchicalSorting.ts +0 -151
- package/src/components/DataTable/utils/hierarchicalUtils.ts +0 -218
- package/src/components/DataTable/utils/index.ts +0 -1
- package/src/components/DataTable/utils/performanceUtils.ts +0 -351
- package/src/components/Dialog/Dialog.tsx +0 -782
- package/src/components/Dialog/README.md +0 -804
- package/src/components/Dialog/__tests__/Dialog.accessibility.test.tsx +0 -521
- package/src/components/Dialog/__tests__/Dialog.auto-size.example.tsx +0 -157
- package/src/components/Dialog/__tests__/Dialog.enhanced.test.tsx +0 -538
- package/src/components/Dialog/__tests__/Dialog.unit.test.tsx +0 -1373
- package/src/components/Dialog/examples/BasicHtmlTest.tsx +0 -55
- package/src/components/Dialog/examples/DebugHtmlExample.tsx +0 -68
- package/src/components/Dialog/examples/HtmlDialogExample.tsx +0 -202
- package/src/components/Dialog/examples/SimpleHtmlTest.tsx +0 -61
- package/src/components/Dialog/examples/SmartDialogExample.tsx +0 -322
- package/src/components/Dialog/examples/__tests__/SmartDialogExample.unit.test.tsx +0 -151
- package/src/components/Dialog/index.ts +0 -12
- package/src/components/Dialog/utils/__tests__/safeHtml.unit.test.ts +0 -611
- package/src/components/Dialog/utils/safeHtml.ts +0 -185
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +0 -312
- package/src/components/ErrorBoundary/__tests__/ErrorBoundary.accessibility.test.tsx +0 -517
- package/src/components/ErrorBoundary/__tests__/ErrorBoundary.integration.test.tsx +0 -572
- package/src/components/ErrorBoundary/__tests__/ErrorBoundary.unit.test.tsx +0 -579
- package/src/components/ErrorBoundary/index.ts +0 -8
- package/src/components/EventSelector/EventSelector.tsx +0 -360
- package/src/components/EventSelector/__tests__/EventSelector.test.tsx +0 -528
- package/src/components/EventSelector/index.ts +0 -3
- package/src/components/EventSelector/types.ts +0 -79
- package/src/components/FileUpload/FileUpload.example.tsx +0 -218
- package/src/components/FileUpload/FileUpload.tsx +0 -237
- package/src/components/FileUpload/__tests__/FileUpload.integration.test.tsx +0 -992
- package/src/components/FileUpload/__tests__/FileUpload.real.test.tsx +0 -927
- package/src/components/FileUpload/__tests__/FileUpload.test.tsx +0 -855
- package/src/components/FileUpload/__tests__/FileUpload.unit.test.tsx +0 -1311
- package/src/components/FileUpload/__tests__/FileUpload.unmocked.test.tsx +0 -937
- package/src/components/FileUpload/index.ts +0 -6
- package/src/components/Footer/Footer.tsx +0 -197
- package/src/components/Footer/__tests__/Footer.accessibility.test.tsx +0 -359
- package/src/components/Footer/__tests__/Footer.integration.test.tsx +0 -353
- package/src/components/Footer/__tests__/Footer.performance.test.tsx +0 -309
- package/src/components/Footer/__tests__/Footer.unit.test.tsx +0 -309
- package/src/components/Footer/__tests__/Footer.visual.test.tsx +0 -335
- package/src/components/Footer/index.ts +0 -17
- package/src/components/Form/Form.tsx +0 -166
- package/src/components/Form/FormErrorSummary.tsx +0 -113
- package/src/components/Form/FormField.tsx +0 -249
- package/src/components/Form/FormFieldset.tsx +0 -127
- package/src/components/Form/FormLiveRegion.tsx +0 -198
- package/src/components/Form/__tests__/Form.accessibility.test.tsx +0 -820
- package/src/components/Form/__tests__/Form.unit.test.tsx +0 -305
- package/src/components/Form/__tests__/FormErrorSummary.unit.test.tsx +0 -285
- package/src/components/Form/__tests__/FormFieldset.unit.test.tsx +0 -241
- package/src/components/Form/index.ts +0 -26
- package/src/components/Header/Header.tsx +0 -301
- package/src/components/Header/__tests__/Header.accessibility.test.tsx +0 -382
- package/src/components/Header/__tests__/Header.comprehensive.test.tsx +0 -509
- package/src/components/Header/__tests__/Header.unit.test.tsx +0 -335
- package/src/components/Header/index.ts +0 -4
- package/src/components/InactivityWarningModal/InactivityWarningModal.test.tsx +0 -196
- package/src/components/InactivityWarningModal/InactivityWarningModal.tsx +0 -164
- package/src/components/InactivityWarningModal/__tests__/InactivityWarningModal.unit.test.tsx +0 -224
- package/src/components/InactivityWarningModal/index.ts +0 -9
- package/src/components/Input/Input.tsx +0 -201
- package/src/components/Input/__mocks__/Input.tsx +0 -2
- package/src/components/Input/__tests__/Input.accessibility.test.tsx +0 -632
- package/src/components/Input/__tests__/Input.unit.test.tsx +0 -1121
- package/src/components/Input/index.ts +0 -9
- package/src/components/Label/Label.tsx +0 -186
- package/src/components/Label/__tests__/Label.accessibility.test.tsx +0 -239
- package/src/components/Label/__tests__/Label.unit.test.tsx +0 -331
- package/src/components/Label/index.ts +0 -2
- package/src/components/LoadingSpinner/LoadingSpinner.tsx +0 -98
- package/src/components/LoadingSpinner/__tests__/LoadingSpinner.accessibility.test.tsx +0 -116
- package/src/components/LoadingSpinner/__tests__/LoadingSpinner.unit.test.tsx +0 -144
- package/src/components/LoadingSpinner/index.ts +0 -3
- package/src/components/LoginForm/LoginForm.tsx +0 -273
- package/src/components/LoginForm/__tests__/LoginForm.accessibility.test.tsx +0 -201
- package/src/components/LoginForm/__tests__/LoginForm.unit.test.tsx +0 -119
- package/src/components/LoginForm/index.ts +0 -3
- package/src/components/NavigationMenu/NavigationMenu.tsx +0 -698
- package/src/components/NavigationMenu/__tests__/NavigationMenu.accessibility.test.tsx +0 -378
- package/src/components/NavigationMenu/__tests__/NavigationMenu.enhanced.test.tsx +0 -768
- package/src/components/NavigationMenu/__tests__/NavigationMenu.integration.test.tsx +0 -576
- package/src/components/NavigationMenu/__tests__/NavigationMenu.performance.test.tsx +0 -585
- package/src/components/NavigationMenu/__tests__/NavigationMenu.real.component.test.tsx +0 -783
- package/src/components/NavigationMenu/__tests__/NavigationMenu.security.enhanced.test.tsx +0 -810
- package/src/components/NavigationMenu/__tests__/NavigationMenu.security.test.tsx +0 -494
- package/src/components/NavigationMenu/__tests__/NavigationMenu.unit.test.tsx +0 -331
- package/src/components/NavigationMenu/__tests__/NavigationMenu.userWorkflows.test.tsx +0 -347
- package/src/components/NavigationMenu/__tests__/NavigationMenu.workflows.test.tsx +0 -584
- package/src/components/NavigationMenu/index.ts +0 -10
- package/src/components/NavigationMenu/types.ts +0 -85
- package/src/components/OrganisationSelector/OrganisationSelector.tsx +0 -304
- package/src/components/OrganisationSelector/__tests__/OrganisationSelector.unit.test.tsx +0 -664
- package/src/components/OrganisationSelector/index.ts +0 -9
- package/src/components/PaceAppLayout/PaceAppLayout.tsx +0 -699
- package/src/components/PaceAppLayout/README.md +0 -278
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.accessibility.test.tsx +0 -288
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.integration.test.tsx +0 -893
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.performance.test.tsx +0 -629
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.security.test.tsx +0 -782
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.unit.test.tsx +0 -904
- package/src/components/PaceAppLayout/index.ts +0 -1
- package/src/components/PaceLoginPage/PaceLoginPage.tsx +0 -221
- package/src/components/PaceLoginPage/__tests__/PaceLoginPage.accessibility.test.tsx +0 -463
- package/src/components/PaceLoginPage/__tests__/PaceLoginPage.integration.test.tsx +0 -586
- package/src/components/PaceLoginPage/__tests__/PaceLoginPage.unit.test.tsx +0 -533
- package/src/components/PaceLoginPage/index.ts +0 -1
- package/src/components/PasswordReset/PasswordChangeForm.tsx +0 -186
- package/src/components/PasswordReset/PasswordResetForm.tsx +0 -201
- package/src/components/PasswordReset/__tests__/PasswordChangeForm.accessibility.test.tsx +0 -408
- package/src/components/PasswordReset/__tests__/PasswordChangeForm.unit.test.tsx +0 -561
- package/src/components/PasswordReset/__tests__/PasswordReset.integration.test.tsx +0 -304
- package/src/components/PasswordReset/__tests__/PasswordResetForm.accessibility.test.tsx +0 -20
- package/src/components/PasswordReset/__tests__/PasswordResetForm.unit.test.tsx +0 -523
- package/src/components/PasswordReset/__tests__/__mocks__/UnifiedAuthProvider.ts +0 -29
- package/src/components/PasswordReset/index.ts +0 -4
- package/src/components/Print/__tests__/Print.comprehensive.test.tsx +0 -331
- package/src/components/PrintButton/PrintButton.tsx +0 -321
- package/src/components/PrintButton/PrintButtonGroup.tsx +0 -84
- package/src/components/PrintButton/PrintToolbar.tsx +0 -94
- package/src/components/PrintButton/__tests__/PrintButton.unit.test.tsx +0 -429
- package/src/components/PrintButton/__tests__/PrintButtonGroup.unit.test.tsx +0 -277
- package/src/components/PrintButton/__tests__/PrintToolbar.unit.test.tsx +0 -264
- package/src/components/PrintButton/examples/PrintButtonShowcase.tsx +0 -438
- package/src/components/PrintButton/index.ts +0 -33
- package/src/components/PrintButton/types.ts +0 -173
- package/src/components/PrintCard/PrintCard.tsx +0 -154
- package/src/components/PrintCard/PrintCardContent.tsx +0 -57
- package/src/components/PrintCard/PrintCardFooter.tsx +0 -60
- package/src/components/PrintCard/PrintCardGrid.tsx +0 -91
- package/src/components/PrintCard/PrintCardHeader.tsx +0 -78
- package/src/components/PrintCard/PrintCardImage.tsx +0 -81
- package/src/components/PrintCard/__tests__/PrintCard.unit.test.tsx +0 -233
- package/src/components/PrintCard/__tests__/PrintCardContent.test.tsx +0 -284
- package/src/components/PrintCard/__tests__/PrintCardGrid.unit.test.tsx +0 -214
- package/src/components/PrintCard/__tests__/PrintCardImage.unit.test.tsx +0 -264
- package/src/components/PrintCard/examples/PrintCardShowcase.tsx +0 -239
- package/src/components/PrintCard/index.ts +0 -34
- package/src/components/PrintCard/types.ts +0 -171
- package/src/components/PrintDataTable/PrintDataTable.tsx +0 -215
- package/src/components/PrintDataTable/PrintTableGroup.tsx +0 -90
- package/src/components/PrintDataTable/PrintTableRow.tsx +0 -76
- package/src/components/PrintDataTable/__tests__/PrintDataTable.unit.test.tsx +0 -361
- package/src/components/PrintDataTable/__tests__/PrintTableGroup.unit.test.tsx +0 -314
- package/src/components/PrintDataTable/__tests__/PrintTableRow.unit.test.tsx +0 -362
- package/src/components/PrintDataTable/index.ts +0 -25
- package/src/components/PrintDataTable/types.ts +0 -67
- package/src/components/PrintFooter/PrintFooter.tsx +0 -183
- package/src/components/PrintFooter/PrintFooterContent.tsx +0 -71
- package/src/components/PrintFooter/PrintFooterInfo.tsx +0 -86
- package/src/components/PrintFooter/PrintPageNumber.tsx +0 -90
- package/src/components/PrintFooter/__tests__/PrintFooter.unit.test.tsx +0 -500
- package/src/components/PrintFooter/__tests__/PrintFooterContent.unit.test.tsx +0 -321
- package/src/components/PrintFooter/__tests__/PrintFooterInfo.unit.test.tsx +0 -335
- package/src/components/PrintFooter/__tests__/PrintPageNumber.unit.test.tsx +0 -340
- package/src/components/PrintFooter/examples/PrintFooterShowcase.tsx +0 -390
- package/src/components/PrintFooter/index.ts +0 -30
- package/src/components/PrintFooter/types.ts +0 -149
- package/src/components/PrintGrid/PrintGrid.tsx +0 -180
- package/src/components/PrintGrid/PrintGridBreakpoint.tsx +0 -109
- package/src/components/PrintGrid/PrintGridContainer.tsx +0 -128
- package/src/components/PrintGrid/PrintGridItem.tsx +0 -220
- package/src/components/PrintGrid/__tests__/PrintGrid.unit.test.tsx +0 -340
- package/src/components/PrintGrid/__tests__/PrintGridBreakpoint.unit.test.tsx +0 -261
- package/src/components/PrintGrid/__tests__/PrintGridContainer.unit.test.tsx +0 -338
- package/src/components/PrintGrid/__tests__/PrintGridItem.unit.test.tsx +0 -338
- package/src/components/PrintGrid/examples/PrintGridShowcase.tsx +0 -359
- package/src/components/PrintGrid/index.ts +0 -31
- package/src/components/PrintGrid/types.ts +0 -159
- package/src/components/PrintHeader/PrintCoverHeader.tsx +0 -230
- package/src/components/PrintHeader/PrintHeader.tsx +0 -150
- package/src/components/PrintHeader/__tests__/PrintCoverHeader.unit.test.tsx +0 -309
- package/src/components/PrintHeader/__tests__/PrintHeader.unit.test.tsx +0 -202
- package/src/components/PrintHeader/index.ts +0 -17
- package/src/components/PrintHeader/types.ts +0 -42
- package/src/components/PrintLayout/PrintLayout.tsx +0 -122
- package/src/components/PrintLayout/PrintLayoutContext.tsx +0 -66
- package/src/components/PrintLayout/PrintPageBreak.tsx +0 -52
- package/src/components/PrintLayout/__tests__/PrintLayout.unit.test.tsx +0 -238
- package/src/components/PrintLayout/examples/PrintShowcase.tsx +0 -230
- package/src/components/PrintLayout/index.ts +0 -19
- package/src/components/PrintLayout/types.ts +0 -37
- package/src/components/PrintPageBreak/PrintPageBreak.tsx +0 -120
- package/src/components/PrintPageBreak/PrintPageBreakGroup.tsx +0 -90
- package/src/components/PrintPageBreak/PrintPageBreakIndicator.tsx +0 -112
- package/src/components/PrintPageBreak/__tests__/PrintPageBreak.unit.test.tsx +0 -263
- package/src/components/PrintPageBreak/__tests__/PrintPageBreakGroup.unit.test.tsx +0 -239
- package/src/components/PrintPageBreak/__tests__/PrintPageBreakIndicator.unit.test.tsx +0 -235
- package/src/components/PrintPageBreak/examples/PrintPageBreakShowcase.tsx +0 -279
- package/src/components/PrintPageBreak/index.ts +0 -23
- package/src/components/PrintPageBreak/types.ts +0 -94
- package/src/components/PrintSection/PrintColumn.tsx +0 -104
- package/src/components/PrintSection/PrintDivider.tsx +0 -101
- package/src/components/PrintSection/PrintSection.tsx +0 -129
- package/src/components/PrintSection/PrintSectionContent.tsx +0 -75
- package/src/components/PrintSection/PrintSectionHeader.tsx +0 -97
- package/src/components/PrintSection/__tests__/PrintColumn.unit.test.tsx +0 -385
- package/src/components/PrintSection/__tests__/PrintDivider.unit.test.tsx +0 -373
- package/src/components/PrintSection/__tests__/PrintSection.unit.test.tsx +0 -390
- package/src/components/PrintSection/__tests__/PrintSectionContent.unit.test.tsx +0 -321
- package/src/components/PrintSection/__tests__/PrintSectionHeader.unit.test.tsx +0 -334
- package/src/components/PrintSection/examples/PrintSectionShowcase.tsx +0 -258
- package/src/components/PrintSection/index.ts +0 -33
- package/src/components/PrintSection/types.ts +0 -155
- package/src/components/PrintText/PrintText.tsx +0 -116
- package/src/components/PrintText/__tests__/PrintText.unit.test.tsx +0 -351
- package/src/components/PrintText/index.ts +0 -16
- package/src/components/PrintText/types.ts +0 -24
- package/src/components/Progress/Progress.tsx +0 -116
- package/src/components/Progress/__tests__/Progress.accessibility.test.tsx +0 -240
- package/src/components/Progress/__tests__/Progress.unit.test.tsx +0 -242
- package/src/components/Progress/index.ts +0 -3
- package/src/components/PublicLayout/EventLogo.tsx +0 -287
- package/src/components/PublicLayout/PublicErrorBoundary.tsx +0 -279
- package/src/components/PublicLayout/PublicLoadingSpinner.tsx +0 -208
- package/src/components/PublicLayout/PublicPageContextChecker.tsx +0 -130
- package/src/components/PublicLayout/PublicPageDebugger.tsx +0 -104
- package/src/components/PublicLayout/PublicPageDiagnostic.tsx +0 -162
- package/src/components/PublicLayout/PublicPageFooter.tsx +0 -124
- package/src/components/PublicLayout/PublicPageHeader.tsx +0 -178
- package/src/components/PublicLayout/PublicPageLayout.tsx +0 -232
- package/src/components/PublicLayout/PublicPageProvider.tsx +0 -137
- package/src/components/PublicLayout/__tests__/EventLogo.test.tsx +0 -761
- package/src/components/PublicLayout/__tests__/PublicErrorBoundary.simplified.test.tsx +0 -228
- package/src/components/PublicLayout/__tests__/PublicErrorBoundary.test.tsx +0 -228
- package/src/components/PublicLayout/__tests__/PublicLoadingSpinner.test.tsx +0 -459
- package/src/components/PublicLayout/__tests__/PublicPageFooter.test.tsx +0 -362
- package/src/components/PublicLayout/__tests__/PublicPageHeader.test.tsx +0 -522
- package/src/components/PublicLayout/__tests__/PublicPageLayout.test.tsx +0 -599
- package/src/components/PublicLayout/__tests__/PublicPageProvider.test.tsx +0 -513
- package/src/components/PublicLayout/index.ts +0 -51
- package/src/components/RBAC/PagePermissionGuard.tsx +0 -287
- package/src/components/RBAC/RBACGuard.tsx +0 -143
- package/src/components/RBAC/RBACProvider.tsx +0 -186
- package/src/components/RBAC/RoleBasedContent.tsx +0 -129
- package/src/components/RBAC/__tests__/PagePermissionGuard.unit.test.tsx +0 -683
- package/src/components/RBAC/__tests__/RBAC.integration.test.tsx +0 -573
- package/src/components/RBAC/__tests__/RBACGuard.unit.test.tsx +0 -467
- package/src/components/RBAC/__tests__/RBACProvider.accessibility.test.tsx +0 -475
- package/src/components/RBAC/__tests__/RBACProvider.advanced.test.tsx +0 -569
- package/src/components/RBAC/__tests__/RBACProvider.integration.test.tsx +0 -352
- package/src/components/RBAC/__tests__/RBACProvider.unit.test.tsx +0 -128
- package/src/components/RBAC/__tests__/RoleBasedContent.unit.test.tsx +0 -657
- package/src/components/RBAC/index.ts +0 -23
- package/src/components/Select/Select.tsx +0 -660
- package/src/components/Select/__tests__/SearchableSelect.unit.test.tsx +0 -437
- package/src/components/Select/__tests__/Select.accessibility.test.tsx +0 -1202
- package/src/components/Select/__tests__/Select.actual.test.tsx +0 -774
- package/src/components/Select/__tests__/Select.comprehensive.test.tsx +0 -837
- package/src/components/Select/__tests__/Select.enhanced.test.tsx +0 -1101
- package/src/components/Select/__tests__/Select.integration.test.tsx +0 -772
- package/src/components/Select/__tests__/Select.performance.test.tsx +0 -695
- package/src/components/Select/__tests__/Select.real-world.test.tsx +0 -1046
- package/src/components/Select/__tests__/Select.search-algorithms.test.tsx +0 -968
- package/src/components/Select/__tests__/Select.unit.test.tsx +0 -647
- package/src/components/Select/__tests__/Select.utils.test.tsx +0 -890
- package/src/components/Select/index.ts +0 -1
- package/src/components/SuperAdminGuard.tsx +0 -116
- package/src/components/Table/Table.tsx +0 -222
- package/src/components/Table/__tests__/Table.accessibility.test.tsx +0 -233
- package/src/components/Table/__tests__/Table.unit.test.tsx +0 -235
- package/src/components/Table/index.ts +0 -11
- package/src/components/Toast/Toast.tsx +0 -339
- package/src/components/Toast/__tests__/Toast.accessibility.test.tsx +0 -238
- package/src/components/Toast/__tests__/Toast.integration.test.tsx +0 -699
- package/src/components/Toast/__tests__/Toast.unit.test.tsx +0 -750
- package/src/components/Toast/index.ts +0 -14
- package/src/components/Tooltip/Tooltip.tsx +0 -167
- package/src/components/Tooltip/__tests__/Tooltip.accessibility.test.tsx +0 -121
- package/src/components/Tooltip/__tests__/Tooltip.unit.test.tsx +0 -185
- package/src/components/Tooltip/index.ts +0 -7
- package/src/components/UserMenu/UserMenu.tsx +0 -243
- package/src/components/UserMenu/__tests__/UserMenu.accessibility.test.tsx +0 -139
- package/src/components/UserMenu/__tests__/UserMenu.integration.test.tsx +0 -188
- package/src/components/UserMenu/__tests__/UserMenu.unit.test.tsx +0 -458
- package/src/components/UserMenu/index.ts +0 -3
- package/src/components/__tests__/EdgeCaseTesting.enhanced.test.tsx +0 -524
- package/src/components/__tests__/ErrorTesting.enhanced.test.tsx +0 -455
- package/src/components/__tests__/SuperAdminGuard.test.tsx +0 -456
- package/src/components/__tests__/SuperAdminGuard.unit.test.tsx +0 -456
- package/src/components/examples/PermissionExample.tsx +0 -150
- package/src/components/examples/__tests__/PermissionExample.unit.test.tsx +0 -360
- package/src/components/index.ts +0 -434
- package/src/components.ts +0 -19
- package/src/constants/performance.ts +0 -14
- package/src/examples/CorrectPublicPageImplementation.tsx +0 -301
- package/src/examples/PublicEventPage.tsx +0 -274
- package/src/examples/PublicPageApp.tsx +0 -308
- package/src/examples/PublicPageUsageExample.tsx +0 -216
- package/src/hooks/__tests__/hooks.integration.test.tsx +0 -575
- package/src/hooks/__tests__/useApiFetch.unit.test.ts +0 -115
- package/src/hooks/__tests__/useComponentPerformance.unit.test.tsx +0 -133
- package/src/hooks/__tests__/useDebounce.unit.test.ts +0 -82
- package/src/hooks/__tests__/useFocusTrap.unit.test.tsx +0 -293
- package/src/hooks/__tests__/useInactivityTracker.unit.test.ts +0 -385
- package/src/hooks/__tests__/useOrganisationPermissions.unit.test.tsx +0 -286
- package/src/hooks/__tests__/useOrganisationSecurity.unit.test.tsx +0 -838
- package/src/hooks/__tests__/usePermissionCache.unit.test.ts +0 -627
- package/src/hooks/__tests__/useRBAC.unit.test.ts +0 -911
- package/src/hooks/__tests__/useSecureDataAccess.unit.test.tsx +0 -537
- package/src/hooks/__tests__/useToast.unit.test.tsx +0 -62
- package/src/hooks/__tests__/useZodForm.unit.test.tsx +0 -37
- package/src/hooks/index.ts +0 -56
- package/src/hooks/public/__tests__/usePublicEvent.test.tsx +0 -397
- package/src/hooks/public/__tests__/usePublicEventLogo.test.tsx +0 -690
- package/src/hooks/public/__tests__/usePublicRouteParams.test.tsx +0 -449
- package/src/hooks/public/index.ts +0 -34
- package/src/hooks/public/usePublicEvent.ts +0 -261
- package/src/hooks/public/usePublicEventLogo.ts +0 -285
- package/src/hooks/public/usePublicRouteParams.ts +0 -259
- package/src/hooks/useAppConfig.ts +0 -94
- package/src/hooks/useComponentPerformance.ts +0 -39
- package/src/hooks/useDataTablePerformance.ts +0 -387
- package/src/hooks/useDataTableState.ts +0 -110
- package/src/hooks/useDebounce.ts +0 -18
- package/src/hooks/useFocusManagement.ts +0 -161
- package/src/hooks/useFocusTrap.ts +0 -155
- package/src/hooks/useInactivityTracker.ts +0 -372
- package/src/hooks/useIsMobile.ts +0 -42
- package/src/hooks/useKeyboardShortcuts.ts +0 -237
- package/src/hooks/useOrganisationPermissions.ts +0 -208
- package/src/hooks/useOrganisationSecurity.ts +0 -262
- package/src/hooks/usePerformanceMonitor.ts +0 -128
- package/src/hooks/usePermissionCache.ts +0 -455
- package/src/hooks/useRBAC.ts +0 -262
- package/src/hooks/useSecureDataAccess.ts +0 -586
- package/src/hooks/useStorage.ts +0 -274
- package/src/hooks/useToast.ts +0 -242
- package/src/hooks/useZodForm.ts +0 -28
- package/src/index.ts +0 -200
- package/src/providers/AuthProvider.tsx +0 -369
- package/src/providers/EventProvider.tsx +0 -324
- package/src/providers/InactivityProvider.tsx +0 -238
- package/src/providers/OrganisationProvider.tsx +0 -588
- package/src/providers/RBACProvider.tsx +0 -634
- package/src/providers/UnifiedAuthProvider.tsx +0 -327
- package/src/providers/__tests__/EventProvider.unit.test.tsx +0 -768
- package/src/providers/__tests__/OrganisationProvider.basic.test.tsx +0 -116
- package/src/providers/__tests__/OrganisationProvider.unit.test.tsx +0 -1312
- package/src/providers/__tests__/UnifiedAuthProvider.inactivity.test.tsx +0 -601
- package/src/providers/__tests__/UnifiedAuthProvider.unit.test.tsx +0 -683
- package/src/providers/__tests__/index.unit.test.ts +0 -78
- package/src/providers/index.ts +0 -15
- package/src/rbac/README.md +0 -885
- package/src/rbac/__tests__/PagePermissionGuard.test.tsx +0 -673
- package/src/rbac/__tests__/README.md +0 -170
- package/src/rbac/__tests__/RoleBasedRouter.test.tsx +0 -709
- package/src/rbac/__tests__/TestContext.tsx +0 -72
- package/src/rbac/__tests__/__mocks__/cache.ts +0 -144
- package/src/rbac/__tests__/__mocks__/supabase.ts +0 -152
- package/src/rbac/__tests__/adapters-hooks-comprehensive.test.tsx +0 -782
- package/src/rbac/__tests__/adapters-hooks.test.tsx +0 -561
- package/src/rbac/__tests__/adapters.comprehensive.test.tsx +0 -963
- package/src/rbac/__tests__/adapters.test.tsx +0 -444
- package/src/rbac/__tests__/api.test.ts +0 -620
- package/src/rbac/__tests__/audit-observability-comprehensive.test.ts +0 -792
- package/src/rbac/__tests__/audit-observability.test.ts +0 -549
- package/src/rbac/__tests__/audit.test.ts +0 -616
- package/src/rbac/__tests__/build-contract-compliance-simple.test.ts +0 -230
- package/src/rbac/__tests__/cache-invalidation-comprehensive.test.ts +0 -889
- package/src/rbac/__tests__/cache-invalidation.test.ts +0 -457
- package/src/rbac/__tests__/cache.test.ts +0 -458
- package/src/rbac/__tests__/components-navigation-guard.enhanced.test.tsx +0 -859
- package/src/rbac/__tests__/components-navigation-guard.test.tsx +0 -895
- package/src/rbac/__tests__/components-navigation-provider.test.tsx +0 -692
- package/src/rbac/__tests__/components-page-permission-guard.test.tsx +0 -673
- package/src/rbac/__tests__/components-page-permission-provider.test.tsx +0 -614
- package/src/rbac/__tests__/components-permission-enforcer.enhanced.fixed.test.tsx +0 -836
- package/src/rbac/__tests__/components-permission-enforcer.enhanced.test.tsx +0 -837
- package/src/rbac/__tests__/components-permission-enforcer.test.tsx +0 -825
- package/src/rbac/__tests__/components-role-based-router.test.tsx +0 -709
- package/src/rbac/__tests__/components-secure-data-provider.test.tsx +0 -607
- package/src/rbac/__tests__/config.test.ts +0 -583
- package/src/rbac/__tests__/core-logic-unit.test.ts +0 -190
- package/src/rbac/__tests__/core-permission-logic-comprehensive.test.ts +0 -1467
- package/src/rbac/__tests__/core-permission-logic-fixed.test.ts +0 -151
- package/src/rbac/__tests__/core-permission-logic-simple.test.ts +0 -968
- package/src/rbac/__tests__/core-permission-logic.test.ts +0 -966
- package/src/rbac/__tests__/edge-cases-comprehensive.test.ts +0 -988
- package/src/rbac/__tests__/edge-cases.test.ts +0 -654
- package/src/rbac/__tests__/engine.test.ts +0 -361
- package/src/rbac/__tests__/engine.unit.test.ts +0 -361
- package/src/rbac/__tests__/hooks.enhanced.test.tsx +0 -979
- package/src/rbac/__tests__/hooks.fixed.test.tsx +0 -475
- package/src/rbac/__tests__/hooks.test.tsx +0 -385
- package/src/rbac/__tests__/index.test.ts +0 -269
- package/src/rbac/__tests__/integration.enhanced.test.tsx +0 -824
- package/src/rbac/__tests__/page-permission-guard-super-admin.test.tsx +0 -261
- package/src/rbac/__tests__/performance.enhanced.test.tsx +0 -724
- package/src/rbac/__tests__/permissions.test.ts +0 -383
- package/src/rbac/__tests__/requires-event.test.ts +0 -330
- package/src/rbac/__tests__/scope-isolation-comprehensive.test.ts +0 -1349
- package/src/rbac/__tests__/scope-isolation.test.ts +0 -755
- package/src/rbac/__tests__/secure-client-rls-comprehensive.test.ts +0 -592
- package/src/rbac/__tests__/secure-client-rls.test.ts +0 -377
- package/src/rbac/__tests__/security.test.ts +0 -296
- package/src/rbac/__tests__/setup.ts +0 -228
- package/src/rbac/__tests__/test-utils-enhanced.tsx +0 -400
- package/src/rbac/__tests__/types.test.ts +0 -685
- package/src/rbac/adapters.tsx +0 -726
- package/src/rbac/api.ts +0 -339
- package/src/rbac/audit-enhanced.ts +0 -339
- package/src/rbac/audit.ts +0 -338
- package/src/rbac/cache.ts +0 -215
- package/src/rbac/components/EnhancedNavigationMenu.tsx +0 -294
- package/src/rbac/components/NavigationGuard.tsx +0 -294
- package/src/rbac/components/NavigationProvider.tsx +0 -314
- package/src/rbac/components/PagePermissionGuard.tsx +0 -430
- package/src/rbac/components/PagePermissionProvider.tsx +0 -274
- package/src/rbac/components/PermissionEnforcer.tsx +0 -307
- package/src/rbac/components/RoleBasedRouter.tsx +0 -425
- package/src/rbac/components/SecureDataProvider.tsx +0 -319
- package/src/rbac/components/__tests__/EnhancedNavigationMenu.test.tsx +0 -631
- package/src/rbac/components/__tests__/NavigationProvider.test.tsx +0 -667
- package/src/rbac/components/__tests__/PagePermissionProvider.test.tsx +0 -647
- package/src/rbac/components/__tests__/SecureDataProvider.test.tsx +0 -496
- package/src/rbac/components/index.ts +0 -64
- package/src/rbac/config.ts +0 -133
- package/src/rbac/docs/event-based-apps.md +0 -285
- package/src/rbac/engine.ts +0 -1026
- package/src/rbac/eslint-rules.js +0 -285
- package/src/rbac/examples/CompleteRBACExample.tsx +0 -323
- package/src/rbac/examples/EventBasedApp.tsx +0 -238
- package/src/rbac/hooks.ts +0 -570
- package/src/rbac/index.ts +0 -114
- package/src/rbac/permissions.ts +0 -293
- package/src/rbac/secureClient.ts +0 -244
- package/src/rbac/security.ts +0 -346
- package/src/rbac/testing/__tests__/index.test.tsx +0 -342
- package/src/rbac/testing/index.tsx +0 -340
- package/src/rbac/types.ts +0 -343
- package/src/rbac/utils/__tests__/eventContext.test.ts +0 -428
- package/src/rbac/utils/__tests__/eventContext.unit.test.ts +0 -428
- package/src/rbac/utils/eventContext.ts +0 -83
- package/src/styles/__tests__/styles.unit.test.ts +0 -164
- package/src/styles/core.css +0 -422
- package/src/styles/index.ts +0 -51
- package/src/test-dom-cleanup.test.tsx +0 -38
- package/src/theming/__tests__/README.md +0 -335
- package/src/theming/__tests__/runtime.accessibility.test.ts +0 -474
- package/src/theming/__tests__/runtime.error.test.ts +0 -616
- package/src/theming/__tests__/runtime.integration.test.ts +0 -376
- package/src/theming/__tests__/runtime.performance.test.ts +0 -411
- package/src/theming/__tests__/runtime.unit.test.ts +0 -470
- package/src/theming/runtime.ts +0 -187
- package/src/types/__tests__/database.unit.test.ts +0 -489
- package/src/types/__tests__/guards.unit.test.ts +0 -146
- package/src/types/__tests__/index.unit.test.ts +0 -77
- package/src/types/__tests__/organisation.unit.test.ts +0 -713
- package/src/types/__tests__/rbac.unit.test.ts +0 -621
- package/src/types/__tests__/security.unit.test.ts +0 -347
- package/src/types/__tests__/supabase.unit.test.ts +0 -658
- package/src/types/__tests__/theme.unit.test.ts +0 -218
- package/src/types/__tests__/unified.unit.test.ts +0 -537
- package/src/types/__tests__/validation.unit.test.ts +0 -616
- package/src/types/database.ts +0 -472
- package/src/types/guards.ts +0 -30
- package/src/types/index.ts +0 -25
- package/src/types/organisation.ts +0 -184
- package/src/types/security.ts +0 -70
- package/src/types/supabase.ts +0 -166
- package/src/types/theme.ts +0 -6
- package/src/types/unified.ts +0 -262
- package/src/types/validation.ts +0 -164
- package/src/types/vitest-globals.d.ts +0 -43
- package/src/utils/__mocks__/supabaseMock.ts +0 -75
- package/src/utils/__mocks__/supabaseMock.tsx +0 -198
- package/src/utils/__tests__/appConfig.unit.test.ts +0 -55
- package/src/utils/__tests__/appNameResolver.unit.test.ts +0 -137
- package/src/utils/__tests__/audit.unit.test.ts +0 -69
- package/src/utils/__tests__/auth-utils.unit.test.ts +0 -70
- package/src/utils/__tests__/bundleAnalysis.unit.test.ts +0 -317
- package/src/utils/__tests__/cn.unit.test.ts +0 -34
- package/src/utils/__tests__/deviceFingerprint.unit.test.ts +0 -480
- package/src/utils/__tests__/dynamicUtils.unit.test.ts +0 -322
- package/src/utils/__tests__/formatDate.unit.test.ts +0 -109
- package/src/utils/__tests__/formatting.unit.test.ts +0 -66
- package/src/utils/__tests__/index.unit.test.ts +0 -251
- package/src/utils/__tests__/lazyLoad.unit.test.tsx +0 -304
- package/src/utils/__tests__/organisationContext.unit.test.ts +0 -192
- package/src/utils/__tests__/performanceBudgets.unit.test.ts +0 -259
- package/src/utils/__tests__/permissionTypes.unit.test.ts +0 -250
- package/src/utils/__tests__/permissionUtils.unit.test.ts +0 -362
- package/src/utils/__tests__/sanitization.unit.test.ts +0 -346
- package/src/utils/__tests__/schemaUtils.unit.test.ts +0 -441
- package/src/utils/__tests__/secureDataAccess.unit.test.ts +0 -334
- package/src/utils/__tests__/secureErrors.unit.test.ts +0 -377
- package/src/utils/__tests__/secureStorage.unit.test.ts +0 -293
- package/src/utils/__tests__/security.unit.test.ts +0 -127
- package/src/utils/__tests__/securityMonitor.unit.test.ts +0 -280
- package/src/utils/__tests__/sessionTracking.unit.test.ts +0 -370
- package/src/utils/__tests__/validation.unit.test.ts +0 -84
- package/src/utils/__tests__/validationUtils.unit.test.ts +0 -571
- package/src/utils/appConfig.ts +0 -47
- package/src/utils/appIdResolver.ts +0 -130
- package/src/utils/appNameResolver.ts +0 -190
- package/src/utils/audit.ts +0 -127
- package/src/utils/auth-utils.ts +0 -96
- package/src/utils/bundleAnalysis.ts +0 -129
- package/src/utils/cn.ts +0 -7
- package/src/utils/debugLogger.ts +0 -46
- package/src/utils/deviceFingerprint.ts +0 -215
- package/src/utils/dynamicUtils.ts +0 -105
- package/src/utils/formatting.ts +0 -77
- package/src/utils/index.ts +0 -145
- package/src/utils/lazyLoad.tsx +0 -44
- package/src/utils/organisationContext.ts +0 -135
- package/src/utils/performanceBenchmark.ts +0 -64
- package/src/utils/performanceBudgets.ts +0 -111
- package/src/utils/permissionTypes.ts +0 -37
- package/src/utils/permissionUtils.ts +0 -31
- package/src/utils/print/PrintDataProcessor.ts +0 -390
- package/src/utils/print/__tests__/PrintDataProcessor.unit.test.ts +0 -219
- package/src/utils/print/__tests__/usePrintOptimization.unit.test.tsx +0 -353
- package/src/utils/print/examples/PrintUtilitiesShowcase.tsx +0 -397
- package/src/utils/print/index.ts +0 -29
- package/src/utils/print/types.ts +0 -196
- package/src/utils/print/usePrintOptimization.ts +0 -272
- package/src/utils/sanitization.ts +0 -264
- package/src/utils/schemaUtils.ts +0 -37
- package/src/utils/secureDataAccess.ts +0 -361
- package/src/utils/secureErrors.ts +0 -79
- package/src/utils/secureStorage.ts +0 -244
- package/src/utils/security.ts +0 -156
- package/src/utils/securityMonitor.ts +0 -45
- package/src/utils/sessionTracking.ts +0 -170
- package/src/utils/storage/README.md +0 -348
- package/src/utils/storage/__tests__/config.unit.test.ts +0 -206
- package/src/utils/storage/__tests__/helpers.unit.test.ts +0 -648
- package/src/utils/storage/__tests__/index.unit.test.ts +0 -167
- package/src/utils/storage/__tests__/types.unit.test.ts +0 -441
- package/src/utils/storage/config.ts +0 -100
- package/src/utils/storage/helpers.ts +0 -359
- package/src/utils/storage/index.ts +0 -36
- package/src/utils/storage/types.ts +0 -90
- package/src/utils/validation.ts +0 -111
- package/src/utils/validationUtils.ts +0 -120
- package/src/validation/__tests__/common.unit.test.ts +0 -101
- package/src/validation/__tests__/csrf.unit.test.ts +0 -302
- package/src/validation/__tests__/passwordSchema.unit.test.ts +0 -98
- package/src/validation/__tests__/sqlInjectionProtection.unit.test.ts +0 -466
- package/src/validation/common.ts +0 -53
- package/src/validation/csrf.ts +0 -214
- package/src/validation/index.ts +0 -43
- package/src/validation/passwordSchema.ts +0 -125
- package/src/validation/sanitization.ts +0 -96
- package/src/validation/schemaUtils.ts +0 -42
- package/src/validation/sqlInjectionProtection.ts +0 -242
- package/src/validation/user.ts +0 -34
- package/dist/{DataTable-EEUDXPE5.js.map → DataTable-2LB6HI6V.js.map} +0 -0
- package/dist/{api-ETQ6YJ3C.js.map → api-AIJ3IJX3.js.map} +0 -0
- package/dist/{appNameResolver-7GHF5ED2.js.map → audit-PD5L5ZSC.js.map} +0 -0
- package/dist/{audit-BUW3LMJB.js.map → chunk-DC5AMYBS.js.map} +0 -0
- package/dist/{validation-PM_iOaTI.d.ts → validation-D2-NNCCE.d.ts} +6 -6
|
@@ -2,125 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
This guide provides solutions to the most common issues you may encounter when using `@jmruthers/pace-core`.
|
|
4
4
|
|
|
5
|
-
## Navigation Issues
|
|
6
|
-
|
|
7
|
-
### NavigationMenu Not Receiving Authentication Context
|
|
8
|
-
|
|
9
|
-
**Problem**: `NavigationMenu` shows `permissions: undefined`, `roles: undefined`, `accessLevel: undefined` in console logs.
|
|
10
|
-
|
|
11
|
-
**Root Cause**: The `NavigationMenu` component is not properly connected to the authentication context.
|
|
12
|
-
|
|
13
|
-
**Solution**: Ensure `NavigationMenu` is used within the proper provider hierarchy and enable permission filtering:
|
|
14
|
-
|
|
15
|
-
```tsx
|
|
16
|
-
// ❌ WRONG - NavigationMenu without proper context
|
|
17
|
-
<NavigationMenu
|
|
18
|
-
items={navItems}
|
|
19
|
-
currentPath={location.pathname}
|
|
20
|
-
onNavigate={handleNavigate}
|
|
21
|
-
/>
|
|
22
|
-
|
|
23
|
-
// ✅ CORRECT - NavigationMenu with authentication context
|
|
24
|
-
<UnifiedAuthProvider supabaseClient={supabase} appName="My App">
|
|
25
|
-
<OrganisationProvider>
|
|
26
|
-
<EventProvider>
|
|
27
|
-
<PaceAppLayout
|
|
28
|
-
appName="My App"
|
|
29
|
-
navItems={navItems}
|
|
30
|
-
showEventSelector={true}
|
|
31
|
-
>
|
|
32
|
-
<Routes>
|
|
33
|
-
{/* Your routes */}
|
|
34
|
-
</Routes>
|
|
35
|
-
</PaceAppLayout>
|
|
36
|
-
</EventProvider>
|
|
37
|
-
</OrganisationProvider>
|
|
38
|
-
</UnifiedAuthProvider>
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
**Alternative Solution**: Use `NavigationMenu` directly with permission filtering:
|
|
42
|
-
|
|
43
|
-
```tsx
|
|
44
|
-
import { NavigationMenu } from '@jmruthers/pace-core';
|
|
45
|
-
import { useUnifiedAuth } from '@jmruthers/pace-core/providers';
|
|
46
|
-
|
|
47
|
-
function AuthenticatedNavigation() {
|
|
48
|
-
const { hasPermission, hasRole } = useUnifiedAuth();
|
|
49
|
-
|
|
50
|
-
const navItems = [
|
|
51
|
-
{
|
|
52
|
-
id: 'dashboard',
|
|
53
|
-
label: 'Dashboard',
|
|
54
|
-
href: '/dashboard',
|
|
55
|
-
permissions: ['dashboard:read']
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
id: 'admin',
|
|
59
|
-
label: 'Admin Panel',
|
|
60
|
-
href: '/admin',
|
|
61
|
-
roles: ['admin']
|
|
62
|
-
}
|
|
63
|
-
];
|
|
64
|
-
|
|
65
|
-
return (
|
|
66
|
-
<NavigationMenu
|
|
67
|
-
items={navItems}
|
|
68
|
-
currentPath={location.pathname}
|
|
69
|
-
onNavigate={handleNavigate}
|
|
70
|
-
filterByPermissions={true}
|
|
71
|
-
auditLog={true}
|
|
72
|
-
/>
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### NavigationMenu Items Not Filtering by Permissions
|
|
78
|
-
|
|
79
|
-
**Problem**: All navigation items are shown regardless of user permissions.
|
|
80
|
-
|
|
81
|
-
**Solution**: Enable permission filtering and add permission requirements to navigation items:
|
|
82
|
-
|
|
83
|
-
```tsx
|
|
84
|
-
// Add permissions to navigation items
|
|
85
|
-
const navItems = [
|
|
86
|
-
{
|
|
87
|
-
id: 'dashboard',
|
|
88
|
-
label: 'Dashboard',
|
|
89
|
-
href: '/dashboard',
|
|
90
|
-
permissions: ['dashboard:read'] // Required permission
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
id: 'admin',
|
|
94
|
-
label: 'Admin Panel',
|
|
95
|
-
href: '/admin',
|
|
96
|
-
roles: ['admin', 'super_admin'] // Required roles
|
|
97
|
-
}
|
|
98
|
-
];
|
|
99
|
-
|
|
100
|
-
// Enable filtering
|
|
101
|
-
<NavigationMenu
|
|
102
|
-
items={navItems}
|
|
103
|
-
filterByPermissions={true}
|
|
104
|
-
auditLog={true}
|
|
105
|
-
/>
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### NavigationMenu Console Errors
|
|
109
|
-
|
|
110
|
-
**Problem**: Console shows "useUnifiedAuth not available" warnings.
|
|
111
|
-
|
|
112
|
-
**Solution**: Ensure `NavigationMenu` is used within `UnifiedAuthProvider`:
|
|
113
|
-
|
|
114
|
-
```tsx
|
|
115
|
-
// ❌ WRONG - Outside of auth provider
|
|
116
|
-
<NavigationMenu items={navItems} />
|
|
117
|
-
|
|
118
|
-
// ✅ CORRECT - Inside auth provider
|
|
119
|
-
<UnifiedAuthProvider supabaseClient={supabase} appName="My App">
|
|
120
|
-
<NavigationMenu items={navItems} />
|
|
121
|
-
</UnifiedAuthProvider>
|
|
122
|
-
```
|
|
123
|
-
|
|
124
5
|
## Authentication Issues
|
|
125
6
|
|
|
126
7
|
### 1. "User not authenticated" Error
|
|
@@ -363,148 +244,7 @@ function OrganisationContextGuard({ children }: { children: React.ReactNode }) {
|
|
|
363
244
|
|
|
364
245
|
## Styling Issues
|
|
365
246
|
|
|
366
|
-
### 1. App Looks
|
|
367
|
-
|
|
368
|
-
**Problem**: App appears with default browser styling only - no colors, fonts, or proper layout.
|
|
369
|
-
|
|
370
|
-
**Symptoms**:
|
|
371
|
-
- Default browser styling only
|
|
372
|
-
- No colors, fonts, or layout
|
|
373
|
-
- Components look like plain HTML
|
|
374
|
-
- Header is squashed or too wide
|
|
375
|
-
- Main container stretches full width
|
|
376
|
-
- Missing colored background
|
|
377
|
-
|
|
378
|
-
**Solution**:
|
|
379
|
-
|
|
380
|
-
**CRITICAL**: Use the `PaceAppLayout` component - don't just import CSS files:
|
|
381
|
-
|
|
382
|
-
```tsx
|
|
383
|
-
// ❌ Wrong - just CSS imports
|
|
384
|
-
import '@jmruthers/pace-core/styles/core.css';
|
|
385
|
-
|
|
386
|
-
function App() {
|
|
387
|
-
return (
|
|
388
|
-
<div>
|
|
389
|
-
<h1>My App</h1>
|
|
390
|
-
{/* This won't be styled properly */}
|
|
391
|
-
</div>
|
|
392
|
-
);
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
// ✅ Correct - use PaceAppLayout
|
|
396
|
-
import { PaceAppLayout } from '@jmruthers/pace-core';
|
|
397
|
-
import './app.css'; // Your app's color palette (must come first)
|
|
398
|
-
import '@jmruthers/pace-core/styles/core.css';
|
|
399
|
-
|
|
400
|
-
function App() {
|
|
401
|
-
return (
|
|
402
|
-
<PaceAppLayout appName="My Application">
|
|
403
|
-
<div className="container mx-auto px-4 py-6">
|
|
404
|
-
<h1 className="text-3xl font-bold text-main-900">My App</h1>
|
|
405
|
-
<p className="text-main-700">This will be properly styled</p>
|
|
406
|
-
</div>
|
|
407
|
-
</PaceAppLayout>
|
|
408
|
-
);
|
|
409
|
-
}
|
|
410
|
-
```
|
|
411
|
-
|
|
412
|
-
**Common Causes**:
|
|
413
|
-
- Missing CSS imports
|
|
414
|
-
- Wrong build tool configuration (using Tailwind v3 instead of v4)
|
|
415
|
-
- Not using PaceAppLayout component
|
|
416
|
-
- Missing app.css with color palette
|
|
417
|
-
- CSS files not being processed
|
|
418
|
-
|
|
419
|
-
**Build Tool Configuration**:
|
|
420
|
-
|
|
421
|
-
**For Vite (Recommended):**
|
|
422
|
-
```js
|
|
423
|
-
// vite.config.js
|
|
424
|
-
import { defineConfig } from 'vite'
|
|
425
|
-
import react from '@vitejs/plugin-react'
|
|
426
|
-
import tailwindcss from '@tailwindcss/vite'
|
|
427
|
-
|
|
428
|
-
export default defineConfig({
|
|
429
|
-
plugins: [
|
|
430
|
-
react(),
|
|
431
|
-
tailwindcss() // Tailwind v4 - no config file needed!
|
|
432
|
-
],
|
|
433
|
-
})
|
|
434
|
-
```
|
|
435
|
-
|
|
436
|
-
**Dependencies:**
|
|
437
|
-
```bash
|
|
438
|
-
npm install -D @tailwindcss/vite tailwindcss@^4.0.0
|
|
439
|
-
# Remove old Tailwind v3 if installed
|
|
440
|
-
npm uninstall tailwindcss@^3.0.0
|
|
441
|
-
```
|
|
442
|
-
|
|
443
|
-
**Create app.css with Color Palette:**
|
|
444
|
-
```css
|
|
445
|
-
/* app.css - Your app's color palette */
|
|
446
|
-
@theme static {
|
|
447
|
-
/* MAIN palette - your primary brand color */
|
|
448
|
-
--color-main-raw: oklch(0.7 0.057 252.02);
|
|
449
|
-
--color-main-50: oklch(0.98 0.001 252.02);
|
|
450
|
-
--color-main-100: oklch(0.96 0.005 252.02);
|
|
451
|
-
--color-main-200: oklch(0.927 0.012 252.02);
|
|
452
|
-
--color-main-300: oklch(0.881 0.021 252.02);
|
|
453
|
-
--color-main-400: oklch(0.822 0.032 252.02);
|
|
454
|
-
--color-main-500: oklch(0.75 0.047 252.02);
|
|
455
|
-
--color-main-600: oklch(0.7 0.057 252.02);
|
|
456
|
-
--color-main-700: oklch(0.567 0.044 252.02);
|
|
457
|
-
--color-main-800: oklch(0.456 0.034 252.02);
|
|
458
|
-
--color-main-900: oklch(0.332 0.024 252.02);
|
|
459
|
-
--color-main-950: oklch(0.195 0.014 252.02);
|
|
460
|
-
|
|
461
|
-
/* SEC palette - your secondary brand color */
|
|
462
|
-
--color-sec-raw: oklch(0.58 0.23 280.75);
|
|
463
|
-
--color-sec-50: oklch(0.98 0.003 280.75);
|
|
464
|
-
--color-sec-100: oklch(0.96 0.014 280.75);
|
|
465
|
-
--color-sec-200: oklch(0.927 0.033 280.75);
|
|
466
|
-
--color-sec-300: oklch(0.881 0.059 280.75);
|
|
467
|
-
--color-sec-400: oklch(0.822 0.093 280.75);
|
|
468
|
-
--color-sec-500: oklch(0.75 0.133 280.75);
|
|
469
|
-
--color-sec-600: oklch(0.665 0.182 280.75);
|
|
470
|
-
--color-sec-700: oklch(0.58 0.23 280.75);
|
|
471
|
-
--color-sec-800: oklch(0.456 0.158 280.75);
|
|
472
|
-
--color-sec-900: oklch(0.332 0.099 280.75);
|
|
473
|
-
--color-sec-950: oklch(0.195 0.047 280.75);
|
|
474
|
-
|
|
475
|
-
/* ACC palette - your accent brand color */
|
|
476
|
-
--color-acc-raw: oklch(0.64 0.21 37.76);
|
|
477
|
-
--color-acc-50: oklch(0.98 0.003 37.76);
|
|
478
|
-
--color-acc-100: oklch(0.96 0.015 37.76);
|
|
479
|
-
--color-acc-200: oklch(0.927 0.035 37.76);
|
|
480
|
-
--color-acc-300: oklch(0.881 0.063 37.76);
|
|
481
|
-
--color-acc-400: oklch(0.822 0.099 37.76);
|
|
482
|
-
--color-acc-500: oklch(0.75 0.143 37.76);
|
|
483
|
-
--color-acc-600: oklch(0.64 0.21 37.76);
|
|
484
|
-
--color-acc-700: oklch(0.567 0.177 37.76);
|
|
485
|
-
--color-acc-800: oklch(0.456 0.13 37.76);
|
|
486
|
-
--color-acc-900: oklch(0.332 0.085 37.76);
|
|
487
|
-
--color-acc-950: oklch(0.195 0.044 37.76);
|
|
488
|
-
}
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
**Debugging Steps**:
|
|
492
|
-
1. Check Browser DevTools for CSS import errors
|
|
493
|
-
2. Verify pace-core CSS files are loading in Network tab
|
|
494
|
-
3. Inspect elements to see if Tailwind classes are applied
|
|
495
|
-
4. Ensure Tailwind v4 is installed and configured
|
|
496
|
-
5. Test CSS imports with temporary rule: `body { background-color: red !important; }`
|
|
497
|
-
|
|
498
|
-
**Quick Checklist**:
|
|
499
|
-
- [ ] CSS files imported in main.tsx/App.tsx
|
|
500
|
-
- [ ] app.css created with color palette
|
|
501
|
-
- [ ] Using PaceAppLayout component
|
|
502
|
-
- [ ] Tailwind v4 configured in build tool
|
|
503
|
-
- [ ] No custom CSS overriding pace-core styles
|
|
504
|
-
- [ ] All required dependencies installed
|
|
505
|
-
- [ ] No build errors in console
|
|
506
|
-
|
|
507
|
-
### 2. App Looks Different from Demo (v0.3.47+ Fixed)
|
|
247
|
+
### 1. App Looks Different from Demo (v0.3.47+ Fixed)
|
|
508
248
|
|
|
509
249
|
**Problem**: Your consuming app looks different from the PACE Core demo app
|
|
510
250
|
|
|
@@ -539,13 +279,13 @@ npm install @jmruthers/pace-core@latest
|
|
|
539
279
|
|
|
540
280
|
**Root Cause**: Missing CSS variables that the header component depends on:
|
|
541
281
|
- `--app-width` (for container width)
|
|
542
|
-
- `--color-main-*` (for header background colors)
|
|
543
|
-
- `--color-sec-*` and `--color-acc-*` (for other header elements)
|
|
282
|
+
- `--color-app-main-*` (for header background colors)
|
|
283
|
+
- `--color-app-sec-*` and `--color-app-acc-*` (for other header elements)
|
|
544
284
|
|
|
545
285
|
**Solution**: This issue was fixed in v0.3.48+. The theme file now includes all required CSS variables:
|
|
546
286
|
|
|
547
287
|
- **Layout Variables**: `--app-width: 90rem`
|
|
548
|
-
- **App Color Variables**: `--color-main-*`, `--color-sec-*`, `--color-acc-*`
|
|
288
|
+
- **App Color Variables**: `--color-app-main-*`, `--color-app-sec-*`, `--color-app-acc-*`
|
|
549
289
|
- **Complete Color Palette**: All color variants (50, 100, 200, etc.) plus `-raw` variants
|
|
550
290
|
|
|
551
291
|
**Quick Fix**:
|
|
@@ -582,92 +322,9 @@ npm install @jmruthers/pace-core@latest
|
|
|
582
322
|
npm install @jmruthers/pace-core@latest
|
|
583
323
|
```
|
|
584
324
|
|
|
585
|
-
### 4.
|
|
586
|
-
|
|
587
|
-
**Problem**: Login page looks different from the pace-core demo - unstyled button, wrong background, missing shadows.
|
|
588
|
-
|
|
589
|
-
**Symptoms**:
|
|
590
|
-
- Button appears as plain text instead of styled button
|
|
591
|
-
- Background is white instead of gradient
|
|
592
|
-
- Card has no shadow or wrong styling
|
|
593
|
-
- Input fields are dark instead of white
|
|
594
|
-
- Overall appearance doesn't match the demo
|
|
595
|
-
|
|
596
|
-
**Root Cause**: Missing theme mappings in `styles/core.css` prevented CSS variables from being processed correctly by Tailwind v4.
|
|
597
|
-
|
|
598
|
-
**Solution**: This issue was fixed in v0.4.4+. The theme file now includes complete mappings for all color palettes.
|
|
599
|
-
|
|
600
|
-
**Quick Fix**:
|
|
601
|
-
```bash
|
|
602
|
-
npm install @jmruthers/pace-core@latest
|
|
603
|
-
```
|
|
604
|
-
|
|
605
|
-
**Required Setup** (must be exactly like this):
|
|
606
|
-
|
|
607
|
-
1. **CSS Imports** (in your main.tsx):
|
|
608
|
-
```tsx
|
|
609
|
-
import './app.css'; // Your app's palette definitions (must come first)
|
|
610
|
-
import '@jmruthers/pace-core/styles/core.css';
|
|
611
|
-
```
|
|
612
|
-
|
|
613
|
-
2. **App.css** (complete palette required):
|
|
614
|
-
```css
|
|
615
|
-
@theme static {
|
|
616
|
-
/* MAIN palette - your primary brand color */
|
|
617
|
-
--color-main-50: oklch(0.98 0.001 252.02);
|
|
618
|
-
--color-main-100: oklch(0.96 0.005 252.02);
|
|
619
|
-
/* ... all shades 50-950 + raw */
|
|
620
|
-
|
|
621
|
-
/* SEC palette - your secondary brand color */
|
|
622
|
-
--color-sec-50: oklch(0.98 0.003 280.75);
|
|
623
|
-
/* ... all shades 50-950 + raw */
|
|
624
|
-
|
|
625
|
-
/* ACC palette - your accent brand color */
|
|
626
|
-
--color-acc-50: oklch(0.98 0.003 37.76);
|
|
627
|
-
/* ... all shades 50-950 + raw */
|
|
628
|
-
}
|
|
629
|
-
|
|
630
|
-
@layer base {
|
|
631
|
-
.appGradient {
|
|
632
|
-
background: radial-gradient(var(--color-main-200), oklch(from var(--color-main-200) l c h / 0%) 30%),
|
|
633
|
-
conic-gradient(var(--color-main-200), var(--color-sec-200), var(--color-acc-200), var(--color-main-200));
|
|
634
|
-
background-attachment: fixed;
|
|
635
|
-
}
|
|
636
|
-
}
|
|
637
|
-
```
|
|
638
|
-
|
|
639
|
-
3. **HTML Structure** (in your index.html):
|
|
640
|
-
```html
|
|
641
|
-
<body class="appGradient">
|
|
642
|
-
<div id="root" class="grid grid-rows-[auto_1fr_auto] min-h-screen"></div>
|
|
643
|
-
</body>
|
|
644
|
-
```
|
|
645
|
-
|
|
646
|
-
4. **Vite Configuration** (Tailwind v4 required):
|
|
647
|
-
```ts
|
|
648
|
-
// vite.config.ts
|
|
649
|
-
import { defineConfig } from 'vite';
|
|
650
|
-
import react from '@vitejs/plugin-react';
|
|
651
|
-
import tailwindcss from '@tailwindcss/vite';
|
|
652
|
-
|
|
653
|
-
export default defineConfig({
|
|
654
|
-
plugins: [
|
|
655
|
-
react(),
|
|
656
|
-
tailwindcss() // Tailwind v4 - no config file needed!
|
|
657
|
-
],
|
|
658
|
-
});
|
|
659
|
-
```
|
|
660
|
-
|
|
661
|
-
**Debugging Steps**:
|
|
662
|
-
1. Check browser dev tools for CSS import errors
|
|
663
|
-
2. Verify `bg-main-600` class resolves to actual color value
|
|
664
|
-
3. Ensure all CSS files are imported in correct order
|
|
665
|
-
4. Confirm Tailwind v4 is installed (not v3)
|
|
666
|
-
5. Test with minimal setup to isolate the issue
|
|
667
|
-
|
|
668
|
-
### 5. Tailwind v4 Theme File Issues (v0.3.45+ Fixed)
|
|
325
|
+
### 4. Tailwind v4 Theme File Issues (v0.3.45+ Fixed)
|
|
669
326
|
|
|
670
|
-
**Problem**: Build failures when using `@import '@jmruthers/pace-core/styles/
|
|
327
|
+
**Problem**: Build failures when using `@import '@jmruthers/pace-core/styles/tailwind-v4-theme'`
|
|
671
328
|
|
|
672
329
|
**Root Cause**: The theme file was missing semantic colors and had circular references in component classes.
|
|
673
330
|
|
|
@@ -685,7 +342,7 @@ npm install @jmruthers/pace-core@latest
|
|
|
685
342
|
**Usage**:
|
|
686
343
|
```css
|
|
687
344
|
/* index.css */
|
|
688
|
-
@import '@jmruthers/pace-core/styles/
|
|
345
|
+
@import '@jmruthers/pace-core/styles/tailwind-v4-theme';
|
|
689
346
|
```
|
|
690
347
|
|
|
691
348
|
**Vite Configuration**:
|
|
@@ -727,7 +384,7 @@ export default defineConfig({
|
|
|
727
384
|
```css
|
|
728
385
|
/* ✅ Fixed - no circular references */
|
|
729
386
|
.pace-button-primary {
|
|
730
|
-
@apply inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background bg-primary-600 text-
|
|
387
|
+
@apply inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background bg-primary-600 text-white hover:bg-primary-700 active:bg-primary-800;
|
|
731
388
|
}
|
|
732
389
|
```
|
|
733
390
|
|
|
@@ -936,16 +593,16 @@ function App() {
|
|
|
936
593
|
|
|
937
594
|
```typescript
|
|
938
595
|
// Ensure Tailwind CSS is imported
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
596
|
+
import '@jmruthers/pace-core/styles.css';
|
|
597
|
+
|
|
598
|
+
// Check if theme provider is set up
|
|
599
|
+
import { ThemeProvider } from '@jmruthers/pace-core';
|
|
942
600
|
|
|
943
|
-
// Check if your app is properly set up
|
|
944
601
|
function App() {
|
|
945
602
|
return (
|
|
946
|
-
<
|
|
603
|
+
<ThemeProvider>
|
|
947
604
|
<YourApp />
|
|
948
|
-
</
|
|
605
|
+
</ThemeProvider>
|
|
949
606
|
);
|
|
950
607
|
}
|
|
951
608
|
```
|
|
@@ -1293,253 +950,6 @@ function LoggingErrorBoundary({ children }) {
|
|
|
1293
950
|
}
|
|
1294
951
|
```
|
|
1295
952
|
|
|
1296
|
-
## 🌐 Public Pages Issues
|
|
1297
|
-
|
|
1298
|
-
### Public Pages Not Working
|
|
1299
|
-
|
|
1300
|
-
**Problem**: Public pages show authentication errors or don't load properly
|
|
1301
|
-
|
|
1302
|
-
**Root Cause**: Public pages are being rendered inside the authentication context
|
|
1303
|
-
|
|
1304
|
-
**Solution**: Public pages MUST be completely separate from your main app
|
|
1305
|
-
|
|
1306
|
-
```tsx
|
|
1307
|
-
// ❌ WRONG - This will break
|
|
1308
|
-
<UnifiedAuthProvider>
|
|
1309
|
-
<Routes>
|
|
1310
|
-
<Route path="/events/:eventCode" element={<PublicPage />} />
|
|
1311
|
-
</Routes>
|
|
1312
|
-
</UnifiedAuthProvider>
|
|
1313
|
-
|
|
1314
|
-
// ✅ CORRECT - Separate applications
|
|
1315
|
-
<BrowserRouter>
|
|
1316
|
-
<Routes>
|
|
1317
|
-
<Route path="/events/*" element={<PublicPageApp />} />
|
|
1318
|
-
<Route path="/*" element={
|
|
1319
|
-
<UnifiedAuthProvider>
|
|
1320
|
-
<AuthenticatedApp />
|
|
1321
|
-
</UnifiedAuthProvider>
|
|
1322
|
-
} />
|
|
1323
|
-
</Routes>
|
|
1324
|
-
</BrowserRouter>
|
|
1325
|
-
```
|
|
1326
|
-
|
|
1327
|
-
**Complete Setup:**
|
|
1328
|
-
```tsx
|
|
1329
|
-
// PublicPageApp.tsx
|
|
1330
|
-
import { PublicPageProvider } from '@jmruthers/pace-core';
|
|
1331
|
-
|
|
1332
|
-
export function PublicPageApp() {
|
|
1333
|
-
return (
|
|
1334
|
-
<PublicPageProvider>
|
|
1335
|
-
<Routes>
|
|
1336
|
-
<Route path="/events/:eventCode" element={<PublicEventPage />} />
|
|
1337
|
-
</Routes>
|
|
1338
|
-
</PublicPageProvider>
|
|
1339
|
-
);
|
|
1340
|
-
}
|
|
1341
|
-
```
|
|
1342
|
-
|
|
1343
|
-
### Public Page Hooks Not Working
|
|
1344
|
-
|
|
1345
|
-
**Problem**: `usePublicEvent` or `usePublicRouteParams` return null/undefined
|
|
1346
|
-
|
|
1347
|
-
**Root Cause**: Not using the hooks inside `PublicPageProvider`
|
|
1348
|
-
|
|
1349
|
-
**Solution**: Ensure all public page components are wrapped in `PublicPageProvider`
|
|
1350
|
-
|
|
1351
|
-
```tsx
|
|
1352
|
-
// ❌ WRONG - Hooks won't work
|
|
1353
|
-
function PublicPage() {
|
|
1354
|
-
const { eventCode } = usePublicRouteParams(); // Returns null
|
|
1355
|
-
// ...
|
|
1356
|
-
}
|
|
1357
|
-
|
|
1358
|
-
// ✅ CORRECT - Hooks work properly
|
|
1359
|
-
<PublicPageProvider>
|
|
1360
|
-
<PublicPage /> {/* Hooks work here */}
|
|
1361
|
-
</PublicPageProvider>
|
|
1362
|
-
```
|
|
1363
|
-
|
|
1364
|
-
### Public Page Loading Forever
|
|
1365
|
-
|
|
1366
|
-
**Problem**: Public pages show loading spinner indefinitely
|
|
1367
|
-
|
|
1368
|
-
**Root Cause**: Event data not found or API errors
|
|
1369
|
-
|
|
1370
|
-
**Solution**: Add proper error handling and fallbacks
|
|
1371
|
-
|
|
1372
|
-
```tsx
|
|
1373
|
-
function PublicEventPage() {
|
|
1374
|
-
const { eventCode } = usePublicRouteParams({ fetchEventData: false });
|
|
1375
|
-
const { event, isLoading, error, refetch } = usePublicEvent(eventCode || '');
|
|
1376
|
-
|
|
1377
|
-
// Handle loading
|
|
1378
|
-
if (isLoading) {
|
|
1379
|
-
return <PublicLoadingSpinner message="Loading event..." />;
|
|
1380
|
-
}
|
|
1381
|
-
|
|
1382
|
-
// Handle error
|
|
1383
|
-
if (error) {
|
|
1384
|
-
return (
|
|
1385
|
-
<div className="min-h-screen bg-white flex items-center justify-center">
|
|
1386
|
-
<div className="text-center">
|
|
1387
|
-
<h1 className="text-2xl font-bold text-gray-900 mb-4">
|
|
1388
|
-
Event Not Found
|
|
1389
|
-
</h1>
|
|
1390
|
-
<p className="text-gray-600 mb-6">
|
|
1391
|
-
The event code "{eventCode}" is invalid or not available for public viewing.
|
|
1392
|
-
</p>
|
|
1393
|
-
<button
|
|
1394
|
-
onClick={refetch}
|
|
1395
|
-
className="px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700"
|
|
1396
|
-
>
|
|
1397
|
-
Try Again
|
|
1398
|
-
</button>
|
|
1399
|
-
</div>
|
|
1400
|
-
</div>
|
|
1401
|
-
);
|
|
1402
|
-
}
|
|
1403
|
-
|
|
1404
|
-
// Handle missing event
|
|
1405
|
-
if (!event) {
|
|
1406
|
-
return <div>Event not found</div>;
|
|
1407
|
-
}
|
|
1408
|
-
|
|
1409
|
-
// Render the page
|
|
1410
|
-
return (
|
|
1411
|
-
<PublicPageLayout eventCode={eventCode || ''} event={event}>
|
|
1412
|
-
{/* Your content */}
|
|
1413
|
-
</PublicPageLayout>
|
|
1414
|
-
);
|
|
1415
|
-
}
|
|
1416
|
-
```
|
|
1417
|
-
|
|
1418
|
-
### Public Page Styling Issues
|
|
1419
|
-
|
|
1420
|
-
**Problem**: Public pages appear unstyled or broken
|
|
1421
|
-
|
|
1422
|
-
**Root Cause**: Missing CSS import or Tailwind configuration
|
|
1423
|
-
|
|
1424
|
-
**Solution**: Ensure CSS is imported and Tailwind is configured
|
|
1425
|
-
|
|
1426
|
-
```tsx
|
|
1427
|
-
// Make sure to import CSS
|
|
1428
|
-
import '@jmruthers/pace-core/styles/core.css';
|
|
1429
|
-
|
|
1430
|
-
// And configure Tailwind properly
|
|
1431
|
-
// vite.config.ts
|
|
1432
|
-
import tailwindcss from '@tailwindcss/vite'
|
|
1433
|
-
export default defineConfig({
|
|
1434
|
-
plugins: [
|
|
1435
|
-
react(),
|
|
1436
|
-
tailwindcss({
|
|
1437
|
-
content: [
|
|
1438
|
-
'./src/**/*.{js,ts,jsx,tsx}',
|
|
1439
|
-
'./node_modules/@jmruthers/pace-core/**/*.{js,ts,jsx,tsx}'
|
|
1440
|
-
]
|
|
1441
|
-
})
|
|
1442
|
-
],
|
|
1443
|
-
})
|
|
1444
|
-
```
|
|
1445
|
-
|
|
1446
|
-
### Public Page Environment Variables
|
|
1447
|
-
|
|
1448
|
-
**Problem**: Public pages can't access Supabase or environment variables
|
|
1449
|
-
|
|
1450
|
-
**Root Cause**: Missing environment variables or incorrect configuration
|
|
1451
|
-
|
|
1452
|
-
**Solution**: Set up environment variables and pass them to `PublicPageProvider`
|
|
1453
|
-
|
|
1454
|
-
```tsx
|
|
1455
|
-
// .env.local
|
|
1456
|
-
VITE_SUPABASE_URL=your_supabase_url
|
|
1457
|
-
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
|
|
1458
|
-
VITE_APP_NAME=Your App Name
|
|
1459
|
-
|
|
1460
|
-
// PublicPageApp.tsx
|
|
1461
|
-
import { PublicPageProvider } from '@jmruthers/pace-core';
|
|
1462
|
-
|
|
1463
|
-
export function PublicPageApp() {
|
|
1464
|
-
return (
|
|
1465
|
-
<PublicPageProvider
|
|
1466
|
-
environment={{
|
|
1467
|
-
supabaseUrl: import.meta.env.VITE_SUPABASE_URL,
|
|
1468
|
-
supabaseKey: import.meta.env.VITE_SUPABASE_ANON_KEY,
|
|
1469
|
-
}}
|
|
1470
|
-
>
|
|
1471
|
-
<Routes>
|
|
1472
|
-
<Route path="/events/:eventCode" element={<PublicEventPage />} />
|
|
1473
|
-
</Routes>
|
|
1474
|
-
</PublicPageProvider>
|
|
1475
|
-
);
|
|
1476
|
-
}
|
|
1477
|
-
```
|
|
1478
|
-
|
|
1479
|
-
### Public Page "process is not defined" Error
|
|
1480
|
-
|
|
1481
|
-
**Problem**: `ReferenceError: process is not defined` when using `PublicPageProvider` in Vite-based applications
|
|
1482
|
-
|
|
1483
|
-
**Root Cause**: The component is trying to access Node.js globals (`process`) that aren't available in browser environments
|
|
1484
|
-
|
|
1485
|
-
**Solution**: This has been fixed in pace-core v0.4.61+. The `PublicPageProvider` now safely handles both browser and Node.js environments.
|
|
1486
|
-
|
|
1487
|
-
**If you're still seeing this error:**
|
|
1488
|
-
|
|
1489
|
-
1. **Update pace-core** to the latest version:
|
|
1490
|
-
```bash
|
|
1491
|
-
npm update @jmruthers/pace-core
|
|
1492
|
-
```
|
|
1493
|
-
|
|
1494
|
-
2. **Verify your Vite configuration** includes environment variable support:
|
|
1495
|
-
```ts
|
|
1496
|
-
// vite.config.ts
|
|
1497
|
-
export default defineConfig({
|
|
1498
|
-
plugins: [react(), tailwindcss()],
|
|
1499
|
-
envDir: '.', // Look for .env files in root
|
|
1500
|
-
envPrefix: 'VITE_', // Only load VITE_ prefixed variables
|
|
1501
|
-
})
|
|
1502
|
-
```
|
|
1503
|
-
|
|
1504
|
-
3. **Set up environment variables** in your `.env` file:
|
|
1505
|
-
```bash
|
|
1506
|
-
# .env.local
|
|
1507
|
-
VITE_SUPABASE_URL=your_supabase_url
|
|
1508
|
-
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
|
|
1509
|
-
```
|
|
1510
|
-
|
|
1511
|
-
4. **Use the correct environment variable names**:
|
|
1512
|
-
- ✅ `VITE_SUPABASE_URL` (Vite)
|
|
1513
|
-
- ✅ `NEXT_PUBLIC_SUPABASE_URL` (Next.js)
|
|
1514
|
-
- ❌ `SUPABASE_URL` (not prefixed for Vite)
|
|
1515
|
-
|
|
1516
|
-
**The fix ensures:**
|
|
1517
|
-
- ✅ Safe access to `import.meta.env` (Vite/browser)
|
|
1518
|
-
- ✅ Safe access to `process.env` (Node.js/server)
|
|
1519
|
-
- ✅ Proper fallback handling
|
|
1520
|
-
- ✅ No "process is not defined" errors
|
|
1521
|
-
|
|
1522
|
-
### Public Page Database Access
|
|
1523
|
-
|
|
1524
|
-
**Problem**: Public pages can't access event data from database
|
|
1525
|
-
|
|
1526
|
-
**Root Cause**: Missing RLS policies or incorrect database setup
|
|
1527
|
-
|
|
1528
|
-
**Solution**: Set up proper RLS policies for public access
|
|
1529
|
-
|
|
1530
|
-
```sql
|
|
1531
|
-
-- Enable RLS on events table
|
|
1532
|
-
ALTER TABLE events ENABLE ROW LEVEL SECURITY;
|
|
1533
|
-
|
|
1534
|
-
-- Create policy for public events
|
|
1535
|
-
CREATE POLICY "Public events are viewable by anyone" ON events
|
|
1536
|
-
FOR SELECT USING (is_public = true);
|
|
1537
|
-
|
|
1538
|
-
-- Or allow specific event codes
|
|
1539
|
-
CREATE POLICY "Specific event codes are public" ON events
|
|
1540
|
-
FOR SELECT USING (event_code IN ('EVENT123', 'EVENT456'));
|
|
1541
|
-
```
|
|
1542
|
-
|
|
1543
953
|
## Getting Help
|
|
1544
954
|
|
|
1545
955
|
If you're still experiencing issues:
|