@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
package/docs/api/modules.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
[@jmruthers/pace-core - v0.
|
|
1
|
+
[@jmruthers/pace-core - v0.4.01](README.md) / Exports
|
|
2
2
|
|
|
3
|
-
# @jmruthers/pace-core - v0.
|
|
3
|
+
# @jmruthers/pace-core - v0.4.01
|
|
4
4
|
|
|
5
5
|
**`File`**
|
|
6
6
|
|
|
@@ -32,7 +32,6 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
32
32
|
### Classes
|
|
33
33
|
|
|
34
34
|
- [ErrorBoundary](classes/ErrorBoundary.md)
|
|
35
|
-
- [PublicErrorBoundary](classes/PublicErrorBoundary.md)
|
|
36
35
|
|
|
37
36
|
### Interfaces
|
|
38
37
|
|
|
@@ -44,9 +43,7 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
44
43
|
- [DataTableToolbarButton](interfaces/DataTableToolbarButton.md)
|
|
45
44
|
- [AggregateConfig](interfaces/AggregateConfig.md)
|
|
46
45
|
- [EmptyStateConfig](interfaces/EmptyStateConfig.md)
|
|
47
|
-
- [FileUploadProps](interfaces/FileUploadProps.md)
|
|
48
46
|
- [FooterProps](interfaces/FooterProps.md)
|
|
49
|
-
- [InactivityWarningModalProps](interfaces/InactivityWarningModalProps.md)
|
|
50
47
|
- [InputProps](interfaces/InputProps.md)
|
|
51
48
|
- [LabelProps](interfaces/LabelProps.md)
|
|
52
49
|
- [LoginFormProps](interfaces/LoginFormProps.md)
|
|
@@ -54,23 +51,9 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
54
51
|
- [NavigationMenuProps](interfaces/NavigationMenuProps.md)
|
|
55
52
|
- [PaceAppLayoutProps](interfaces/PaceAppLayoutProps.md)
|
|
56
53
|
- [PaceLoginPageProps](interfaces/PaceLoginPageProps.md)
|
|
57
|
-
- [EventLogoProps](interfaces/EventLogoProps.md)
|
|
58
|
-
- [PublicErrorBoundaryProps](interfaces/PublicErrorBoundaryProps.md)
|
|
59
|
-
- [PublicErrorBoundaryState](interfaces/PublicErrorBoundaryState.md)
|
|
60
|
-
- [PublicLoadingSpinnerProps](interfaces/PublicLoadingSpinnerProps.md)
|
|
61
|
-
- [PublicPageFooterProps](interfaces/PublicPageFooterProps.md)
|
|
62
|
-
- [PublicPageHeaderProps](interfaces/PublicPageHeaderProps.md)
|
|
63
|
-
- [PublicPageLayoutProps](interfaces/PublicPageLayoutProps.md)
|
|
64
54
|
- [ToastProps](interfaces/ToastProps.md)
|
|
65
55
|
- [ToastActionElement](interfaces/ToastActionElement.md)
|
|
66
56
|
- [UserMenuProps](interfaces/UserMenuProps.md)
|
|
67
|
-
- [UsePublicEventReturn](interfaces/UsePublicEventReturn.md)
|
|
68
|
-
- [UsePublicEventOptions](interfaces/UsePublicEventOptions.md)
|
|
69
|
-
- [UsePublicEventLogoReturn](interfaces/UsePublicEventLogoReturn.md)
|
|
70
|
-
- [UsePublicEventLogoOptions](interfaces/UsePublicEventLogoOptions.md)
|
|
71
|
-
- [UsePublicRouteParamsReturn](interfaces/UsePublicRouteParamsReturn.md)
|
|
72
|
-
- [UseInactivityTrackerOptions](interfaces/UseInactivityTrackerOptions.md)
|
|
73
|
-
- [UseInactivityTrackerReturn](interfaces/UseInactivityTrackerReturn.md)
|
|
74
57
|
- [EventContextType](interfaces/EventContextType.md)
|
|
75
58
|
- [EventProviderProps](interfaces/EventProviderProps.md)
|
|
76
59
|
- [UserEventAccess](interfaces/UserEventAccess.md)
|
|
@@ -86,15 +69,6 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
86
69
|
- [OrganisationSecurityError](interfaces/OrganisationSecurityError.md)
|
|
87
70
|
- [OrganisationContextType](interfaces/OrganisationContextType.md)
|
|
88
71
|
- [OrganisationProviderProps](interfaces/OrganisationProviderProps.md)
|
|
89
|
-
- [StorageUploadOptions](interfaces/StorageUploadOptions.md)
|
|
90
|
-
- [StorageFileMetadata](interfaces/StorageFileMetadata.md)
|
|
91
|
-
- [StorageUploadResult](interfaces/StorageUploadResult.md)
|
|
92
|
-
- [StorageUrlOptions](interfaces/StorageUrlOptions.md)
|
|
93
|
-
- [StorageListOptions](interfaces/StorageListOptions.md)
|
|
94
|
-
- [StorageFileInfo](interfaces/StorageFileInfo.md)
|
|
95
|
-
- [StorageListResult](interfaces/StorageListResult.md)
|
|
96
|
-
- [FileSizeLimits](interfaces/FileSizeLimits.md)
|
|
97
|
-
- [StorageConfig](interfaces/StorageConfig.md)
|
|
98
72
|
|
|
99
73
|
### Type Aliases
|
|
100
74
|
|
|
@@ -104,10 +78,6 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
104
78
|
### Variables
|
|
105
79
|
|
|
106
80
|
- [styleConfig](modules.md#styleconfig)
|
|
107
|
-
- [FILE\_SIZE\_LIMITS](modules.md#file_size_limits)
|
|
108
|
-
- [DEFAULT\_FILE\_SIZE\_LIMIT](modules.md#default_file_size_limit)
|
|
109
|
-
- [APP\_PATH\_MAPPING](modules.md#app_path_mapping)
|
|
110
|
-
- [STORAGE\_CONFIG](modules.md#storage_config)
|
|
111
81
|
|
|
112
82
|
### Functions
|
|
113
83
|
|
|
@@ -138,12 +108,25 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
138
108
|
- [DialogFooter](modules.md#dialogfooter)
|
|
139
109
|
- [DialogTitle](modules.md#dialogtitle)
|
|
140
110
|
- [DialogDescription](modules.md#dialogdescription)
|
|
111
|
+
- [DropdownMenu](modules.md#dropdownmenu)
|
|
112
|
+
- [DropdownMenuTrigger](modules.md#dropdownmenutrigger)
|
|
113
|
+
- [DropdownMenuGroup](modules.md#dropdownmenugroup)
|
|
114
|
+
- [DropdownMenuPortal](modules.md#dropdownmenuportal)
|
|
115
|
+
- [DropdownMenuSub](modules.md#dropdownmenusub)
|
|
116
|
+
- [DropdownMenuRadioGroup](modules.md#dropdownmenuradiogroup)
|
|
117
|
+
- [DropdownMenuSubTrigger](modules.md#dropdownmenusubtrigger)
|
|
118
|
+
- [DropdownMenuSubContent](modules.md#dropdownmenusubcontent)
|
|
119
|
+
- [DropdownMenuContent](modules.md#dropdownmenucontent)
|
|
120
|
+
- [DropdownMenuItem](modules.md#dropdownmenuitem)
|
|
121
|
+
- [DropdownMenuCheckboxItem](modules.md#dropdownmenucheckboxitem)
|
|
122
|
+
- [DropdownMenuRadioItem](modules.md#dropdownmenuradioitem)
|
|
123
|
+
- [DropdownMenuLabel](modules.md#dropdownmenulabel)
|
|
124
|
+
- [DropdownMenuSeparator](modules.md#dropdownmenuseparator)
|
|
125
|
+
- [DropdownMenuShortcut](modules.md#dropdownmenushortcut)
|
|
141
126
|
- [EventSelector](modules.md#eventselector)
|
|
142
|
-
- [FileUpload](modules.md#fileupload)
|
|
143
127
|
- [Footer](modules.md#footer)
|
|
144
128
|
- [Form](modules.md#form)
|
|
145
129
|
- [Header](modules.md#header)
|
|
146
|
-
- [InactivityWarningModal](modules.md#inactivitywarningmodal)
|
|
147
130
|
- [Input](modules.md#input)
|
|
148
131
|
- [Label](modules.md#label)
|
|
149
132
|
- [LoadingSpinner](modules.md#loadingspinner)
|
|
@@ -155,24 +138,6 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
155
138
|
- [PasswordChangeForm](modules.md#passwordchangeform)
|
|
156
139
|
- [PasswordResetForm](modules.md#passwordresetform)
|
|
157
140
|
- [Progress](modules.md#progress)
|
|
158
|
-
- [EventLogo](modules.md#eventlogo)
|
|
159
|
-
- [EventLogoCompact](modules.md#eventlogocompact)
|
|
160
|
-
- [EventLogoLarge](modules.md#eventlogolarge)
|
|
161
|
-
- [useErrorBoundary](modules.md#useerrorboundary)
|
|
162
|
-
- [DefaultPublicErrorFallback](modules.md#defaultpublicerrorfallback)
|
|
163
|
-
- [PublicLoadingSpinner](modules.md#publicloadingspinner)
|
|
164
|
-
- [PublicLoadingSpinnerFullPage](modules.md#publicloadingspinnerfullpage)
|
|
165
|
-
- [PublicLoadingSkeleton](modules.md#publicloadingskeleton)
|
|
166
|
-
- [PublicPageContextChecker](modules.md#publicpagecontextchecker)
|
|
167
|
-
- [PublicPageDebugger](modules.md#publicpagedebugger)
|
|
168
|
-
- [PublicPageDiagnostic](modules.md#publicpagediagnostic)
|
|
169
|
-
- [PublicPageFooter](modules.md#publicpagefooter)
|
|
170
|
-
- [PublicPageHeader](modules.md#publicpageheader)
|
|
171
|
-
- [PublicPageLayout](modules.md#publicpagelayout)
|
|
172
|
-
- [usePublicPageContext](modules.md#usepublicpagecontext)
|
|
173
|
-
- [PublicPageProvider](modules.md#publicpageprovider)
|
|
174
|
-
- [usePublicPageProviderContext](modules.md#usepublicpageprovidercontext)
|
|
175
|
-
- [useIsPublicPage](modules.md#useispublicpage)
|
|
176
141
|
- [Select](modules.md#select)
|
|
177
142
|
- [SelectTrigger](modules.md#selecttrigger)
|
|
178
143
|
- [SelectValue](modules.md#selectvalue)
|
|
@@ -204,22 +169,9 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
204
169
|
- [TooltipContent](modules.md#tooltipcontent)
|
|
205
170
|
- [Tooltip](modules.md#tooltip)
|
|
206
171
|
- [UserMenu](modules.md#usermenu)
|
|
207
|
-
- [usePublicEvent](modules.md#usepublicevent)
|
|
208
|
-
- [clearPublicEventCache](modules.md#clearpubliceventcache)
|
|
209
|
-
- [getPublicEventCacheStats](modules.md#getpubliceventcachestats)
|
|
210
|
-
- [usePublicEventLogo](modules.md#usepubliceventlogo)
|
|
211
|
-
- [clearPublicLogoCache](modules.md#clearpubliclogocache)
|
|
212
|
-
- [getPublicLogoCacheStats](modules.md#getpubliclogocachestats)
|
|
213
|
-
- [usePublicRouteParams](modules.md#usepublicrouteparams)
|
|
214
|
-
- [usePublicEventCode](modules.md#usepubliceventcode)
|
|
215
|
-
- [generatePublicRoutePath](modules.md#generatepublicroutepath)
|
|
216
|
-
- [extractEventCodeFromPath](modules.md#extracteventcodefrompath)
|
|
217
172
|
- [useAppConfig](modules.md#useappconfig)
|
|
218
|
-
- [useInactivityTracker](modules.md#useinactivitytracker)
|
|
219
173
|
- [useOrganisationPermissions](modules.md#useorganisationpermissions)
|
|
220
174
|
- [useOrganisationSecurity](modules.md#useorganisationsecurity)
|
|
221
|
-
- [useStorage](modules.md#usestorage)
|
|
222
|
-
- [useFileUpload](modules.md#usefileupload)
|
|
223
175
|
- [useEvents](modules.md#useevents)
|
|
224
176
|
- [EventProvider](modules.md#eventprovider)
|
|
225
177
|
- [OrganisationProvider](modules.md#organisationprovider)
|
|
@@ -239,18 +191,6 @@ import { Dialog, NavigationMenu } from '@jmruthers/pace-core/components';
|
|
|
239
191
|
- [getCurrentAppId](modules.md#getcurrentappid)
|
|
240
192
|
- [cn](modules.md#cn)
|
|
241
193
|
- [createSecureDataAccess](modules.md#createsecuredataaccess)
|
|
242
|
-
- [getFileSizeLimit](modules.md#getfilesizelimit)
|
|
243
|
-
- [validateFileSize](modules.md#validatefilesize)
|
|
244
|
-
- [formatFileSize](modules.md#formatfilesize)
|
|
245
|
-
- [generateFilePath](modules.md#generatefilepath)
|
|
246
|
-
- [generateUniqueFileName](modules.md#generateuniquefilename)
|
|
247
|
-
- [extractFileMetadata](modules.md#extractfilemetadata)
|
|
248
|
-
- [uploadFile](modules.md#uploadfile)
|
|
249
|
-
- [getPublicUrl](modules.md#getpublicurl)
|
|
250
|
-
- [getSignedUrl](modules.md#getsignedurl)
|
|
251
|
-
- [deleteFile](modules.md#deletefile)
|
|
252
|
-
- [listFiles](modules.md#listfiles)
|
|
253
|
-
- [archiveFile](modules.md#archivefile)
|
|
254
194
|
|
|
255
195
|
## Type Aliases
|
|
256
196
|
|
|
@@ -307,62 +247,19 @@ Row identifier function type
|
|
|
307
247
|
|
|
308
248
|
| Name | Type |
|
|
309
249
|
| :------ | :------ |
|
|
310
|
-
| `
|
|
311
|
-
| `
|
|
312
|
-
| `
|
|
250
|
+
| `base` | \{ `path`: ``"./base.css"`` = './base.css'; `description`: ``"Base styles, fonts, resets, and neutral tokens"`` = 'Base styles, fonts, resets, and neutral tokens' } |
|
|
251
|
+
| `base.path` | ``"./base.css"`` |
|
|
252
|
+
| `base.description` | ``"Base styles, fonts, resets, and neutral tokens"`` |
|
|
253
|
+
| `theme` | \{ `path`: ``"./theme.css"`` = './theme.css'; `description`: ``"Theme mappings for native Tailwind utilities"`` = 'Theme mappings for native Tailwind utilities' } |
|
|
254
|
+
| `theme.path` | ``"./theme.css"`` |
|
|
255
|
+
| `theme.description` | ``"Theme mappings for native Tailwind utilities"`` |
|
|
256
|
+
| `dark` | \{ `path`: ``"./dark.css"`` = './dark.css'; `description`: ``"Dark mode shade remap styles"`` = 'Dark mode shade remap styles' } |
|
|
257
|
+
| `dark.path` | ``"./dark.css"`` |
|
|
258
|
+
| `dark.description` | ``"Dark mode shade remap styles"`` |
|
|
313
259
|
|
|
314
260
|
#### Defined in
|
|
315
261
|
|
|
316
|
-
[packages/core/src/styles/index.ts:
|
|
317
|
-
|
|
318
|
-
___
|
|
319
|
-
|
|
320
|
-
### FILE\_SIZE\_LIMITS
|
|
321
|
-
|
|
322
|
-
• `Const` **FILE\_SIZE\_LIMITS**: [`FileSizeLimits`](interfaces/FileSizeLimits.md)
|
|
323
|
-
|
|
324
|
-
File size limits by MIME type (in bytes)
|
|
325
|
-
|
|
326
|
-
#### Defined in
|
|
327
|
-
|
|
328
|
-
[packages/core/src/utils/storage/config.ts:10](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/config.ts#L10)
|
|
329
|
-
|
|
330
|
-
___
|
|
331
|
-
|
|
332
|
-
### DEFAULT\_FILE\_SIZE\_LIMIT
|
|
333
|
-
|
|
334
|
-
• `Const` **DEFAULT\_FILE\_SIZE\_LIMIT**: `number`
|
|
335
|
-
|
|
336
|
-
Default file size limit for unknown MIME types
|
|
337
|
-
|
|
338
|
-
#### Defined in
|
|
339
|
-
|
|
340
|
-
[packages/core/src/utils/storage/config.ts:38](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/config.ts#L38)
|
|
341
|
-
|
|
342
|
-
___
|
|
343
|
-
|
|
344
|
-
### APP\_PATH\_MAPPING
|
|
345
|
-
|
|
346
|
-
• `Const` **APP\_PATH\_MAPPING**: `Record`\<`string`, `string`\>
|
|
347
|
-
|
|
348
|
-
App-specific path mappings for file organization
|
|
349
|
-
Maps app names to their primary category in the organization-first structure
|
|
350
|
-
|
|
351
|
-
#### Defined in
|
|
352
|
-
|
|
353
|
-
[packages/core/src/utils/storage/config.ts:44](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/config.ts#L44)
|
|
354
|
-
|
|
355
|
-
___
|
|
356
|
-
|
|
357
|
-
### STORAGE\_CONFIG
|
|
358
|
-
|
|
359
|
-
• `Const` **STORAGE\_CONFIG**: [`StorageConfig`](interfaces/StorageConfig.md)
|
|
360
|
-
|
|
361
|
-
Storage configuration
|
|
362
|
-
|
|
363
|
-
#### Defined in
|
|
364
|
-
|
|
365
|
-
[packages/core/src/utils/storage/config.ts:54](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/config.ts#L54)
|
|
262
|
+
[packages/core/src/styles/index.ts:34](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/styles/index.ts#L34)
|
|
366
263
|
|
|
367
264
|
## Functions
|
|
368
265
|
|
|
@@ -614,7 +511,7 @@ ___
|
|
|
614
511
|
|
|
615
512
|
| Name | Type |
|
|
616
513
|
| :------ | :------ |
|
|
617
|
-
| `props` | `HTMLAttributes`\<`
|
|
514
|
+
| `props` | `HTMLAttributes`\<`HTMLDivElement`\> & `RefAttributes`\<`HTMLDivElement`\> |
|
|
618
515
|
|
|
619
516
|
#### Returns
|
|
620
517
|
|
|
@@ -654,7 +551,7 @@ ___
|
|
|
654
551
|
|
|
655
552
|
| Name | Type |
|
|
656
553
|
| :------ | :------ |
|
|
657
|
-
| `props` | `HTMLAttributes`\<`
|
|
554
|
+
| `props` | `HTMLAttributes`\<`HTMLElement`\> & `RefAttributes`\<`HTMLElement`\> |
|
|
658
555
|
|
|
659
556
|
#### Returns
|
|
660
557
|
|
|
@@ -688,17 +585,17 @@ ___
|
|
|
688
585
|
|
|
689
586
|
### DataTable
|
|
690
587
|
|
|
691
|
-
▸ **DataTable**\<`TData`\>(
|
|
588
|
+
▸ **DataTable**\<`TData`\>(`«destructured»`): `Element`
|
|
692
589
|
|
|
693
|
-
Enhanced DataTable with comprehensive performance optimizations
|
|
590
|
+
Enhanced DataTable with comprehensive performance optimizations and full backward compatibility
|
|
694
591
|
|
|
695
592
|
This component automatically detects dataset size and applies appropriate performance optimizations:
|
|
696
|
-
- < 1,000 records: Standard rendering with
|
|
697
|
-
- 1,000
|
|
698
|
-
- 10,000
|
|
699
|
-
-
|
|
593
|
+
- < 1,000 records: Standard rendering with optional client-side features
|
|
594
|
+
- 1,000 - 10,000 records: Client-side with virtual scrolling and chunking
|
|
595
|
+
- 10,000 - 50,000 records: Hybrid mode with intelligent data management
|
|
596
|
+
- > 50,000 records: Server-side processing with virtualization
|
|
700
597
|
|
|
701
|
-
|
|
598
|
+
All existing DataTable APIs remain fully compatible. Performance features are additive.
|
|
702
599
|
|
|
703
600
|
#### Type parameters
|
|
704
601
|
|
|
@@ -710,7 +607,7 @@ Features are configured through the unified `features` prop for maximum flexibil
|
|
|
710
607
|
|
|
711
608
|
| Name | Type |
|
|
712
609
|
| :------ | :------ |
|
|
713
|
-
|
|
|
610
|
+
| `«destructured»` | [`DataTableProps`](interfaces/DataTableProps.md)\<`TData`\> |
|
|
714
611
|
|
|
715
612
|
#### Returns
|
|
716
613
|
|
|
@@ -718,7 +615,7 @@ Features are configured through the unified `features` prop for maximum flexibil
|
|
|
718
615
|
|
|
719
616
|
#### Defined in
|
|
720
617
|
|
|
721
|
-
[packages/core/src/components/DataTable/DataTable.tsx:
|
|
618
|
+
[packages/core/src/components/DataTable/DataTable.tsx:382](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DataTable/DataTable.tsx#L382)
|
|
722
619
|
|
|
723
620
|
___
|
|
724
621
|
|
|
@@ -739,7 +636,7 @@ ___
|
|
|
739
636
|
|
|
740
637
|
#### Defined in
|
|
741
638
|
|
|
742
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
639
|
+
[packages/core/src/components/Dialog/Dialog.tsx:248](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L248)
|
|
743
640
|
|
|
744
641
|
___
|
|
745
642
|
|
|
@@ -759,7 +656,7 @@ ___
|
|
|
759
656
|
|
|
760
657
|
#### Defined in
|
|
761
658
|
|
|
762
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
659
|
+
[packages/core/src/components/Dialog/Dialog.tsx:249](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L249)
|
|
763
660
|
|
|
764
661
|
___
|
|
765
662
|
|
|
@@ -780,7 +677,7 @@ ___
|
|
|
780
677
|
|
|
781
678
|
#### Defined in
|
|
782
679
|
|
|
783
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
680
|
+
[packages/core/src/components/Dialog/Dialog.tsx:250](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L250)
|
|
784
681
|
|
|
785
682
|
___
|
|
786
683
|
|
|
@@ -800,7 +697,7 @@ ___
|
|
|
800
697
|
|
|
801
698
|
#### Defined in
|
|
802
699
|
|
|
803
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
700
|
+
[packages/core/src/components/Dialog/Dialog.tsx:251](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L251)
|
|
804
701
|
|
|
805
702
|
___
|
|
806
703
|
|
|
@@ -820,7 +717,7 @@ ___
|
|
|
820
717
|
|
|
821
718
|
#### Defined in
|
|
822
719
|
|
|
823
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
720
|
+
[packages/core/src/components/Dialog/Dialog.tsx:254](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L254)
|
|
824
721
|
|
|
825
722
|
___
|
|
826
723
|
|
|
@@ -863,7 +760,7 @@ JSX.Element - The semantic dialog content with overlay and optional close button
|
|
|
863
760
|
|
|
864
761
|
#### Defined in
|
|
865
762
|
|
|
866
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
763
|
+
[packages/core/src/components/Dialog/Dialog.tsx:397](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L397)
|
|
867
764
|
|
|
868
765
|
___
|
|
869
766
|
|
|
@@ -897,7 +794,7 @@ JSX.Element - The dialog header container using semantic <header> element
|
|
|
897
794
|
|
|
898
795
|
#### Defined in
|
|
899
796
|
|
|
900
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
797
|
+
[packages/core/src/components/Dialog/Dialog.tsx:517](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L517)
|
|
901
798
|
|
|
902
799
|
___
|
|
903
800
|
|
|
@@ -907,7 +804,6 @@ ___
|
|
|
907
804
|
|
|
908
805
|
DialogBody component
|
|
909
806
|
Semantic main content area for dialog body content with scrollable functionality
|
|
910
|
-
Supports both React children and safe HTML content rendering
|
|
911
807
|
|
|
912
808
|
#### Parameters
|
|
913
809
|
|
|
@@ -924,24 +820,17 @@ JSX.Element - The scrollable dialog body container using semantic <main> element
|
|
|
924
820
|
**`Example`**
|
|
925
821
|
|
|
926
822
|
```tsx
|
|
927
|
-
// Using React children
|
|
928
823
|
<DialogBody>
|
|
929
824
|
<section className="space-y-4">
|
|
930
825
|
<h4>Content Title</h4>
|
|
931
826
|
<p>Long content that will scroll...</p>
|
|
932
827
|
</section>
|
|
933
828
|
</DialogBody>
|
|
934
|
-
|
|
935
|
-
// Using HTML content
|
|
936
|
-
<DialogBody
|
|
937
|
-
htmlContent="<h2>Import Instructions</h2><p>Upload a CSV file with the following format:</p><ul><li>Required columns: name, email</li><li>Optional columns: phone, address</li></ul>"
|
|
938
|
-
allowHtml={true}
|
|
939
|
-
/>
|
|
940
829
|
```
|
|
941
830
|
|
|
942
831
|
#### Defined in
|
|
943
832
|
|
|
944
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
833
|
+
[packages/core/src/components/Dialog/Dialog.tsx:550](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L550)
|
|
945
834
|
|
|
946
835
|
___
|
|
947
836
|
|
|
@@ -975,7 +864,7 @@ JSX.Element - The dialog footer container using semantic <footer> element
|
|
|
975
864
|
|
|
976
865
|
#### Defined in
|
|
977
866
|
|
|
978
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
867
|
+
[packages/core/src/components/Dialog/Dialog.tsx:593](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L593)
|
|
979
868
|
|
|
980
869
|
___
|
|
981
870
|
|
|
@@ -995,7 +884,7 @@ ___
|
|
|
995
884
|
|
|
996
885
|
#### Defined in
|
|
997
886
|
|
|
998
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
887
|
+
[packages/core/src/components/Dialog/Dialog.tsx:609](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L609)
|
|
999
888
|
|
|
1000
889
|
___
|
|
1001
890
|
|
|
@@ -1015,78 +904,60 @@ ___
|
|
|
1015
904
|
|
|
1016
905
|
#### Defined in
|
|
1017
906
|
|
|
1018
|
-
[packages/core/src/components/Dialog/Dialog.tsx:
|
|
907
|
+
[packages/core/src/components/Dialog/Dialog.tsx:624](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Dialog/Dialog.tsx#L624)
|
|
1019
908
|
|
|
1020
909
|
___
|
|
1021
910
|
|
|
1022
|
-
###
|
|
1023
|
-
|
|
1024
|
-
▸ **EventSelector**(`«destructured»`): ``null`` \| `Element`
|
|
1025
|
-
|
|
1026
|
-
EventSelector component for selecting events with built-in access control
|
|
911
|
+
### DropdownMenu
|
|
1027
912
|
|
|
1028
|
-
|
|
1029
|
-
- Database integration via rbac_event_app_roles table
|
|
1030
|
-
- Auto-selection of next upcoming event by date
|
|
1031
|
-
- Cross-device sync via Supabase user session metadata
|
|
1032
|
-
- localStorage fallback for offline scenarios
|
|
1033
|
-
- Comprehensive error handling and user feedback
|
|
913
|
+
▸ **DropdownMenu**(`props`, `deprecatedLegacyContext?`): `ReactNode`
|
|
1034
914
|
|
|
1035
915
|
#### Parameters
|
|
1036
916
|
|
|
1037
|
-
| Name | Type |
|
|
1038
|
-
| :------ | :------ |
|
|
1039
|
-
|
|
|
917
|
+
| Name | Type | Description |
|
|
918
|
+
| :------ | :------ | :------ |
|
|
919
|
+
| `props` | `DropdownMenuProps` | - |
|
|
920
|
+
| `deprecatedLegacyContext?` | `any` | **`See`** [React Docs](https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods) |
|
|
1040
921
|
|
|
1041
922
|
#### Returns
|
|
1042
923
|
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
**`Component`**
|
|
1046
|
-
|
|
1047
|
-
**`Example`**
|
|
1048
|
-
|
|
1049
|
-
```ts
|
|
1050
|
-
<UnifiedAuthProvider supabaseClient={supabase} appName="PACE">
|
|
1051
|
-
<EventSelector onEventChange={(event) => console.log(event)} />
|
|
1052
|
-
</UnifiedAuthProvider>
|
|
1053
|
-
```
|
|
924
|
+
`ReactNode`
|
|
1054
925
|
|
|
1055
926
|
#### Defined in
|
|
1056
927
|
|
|
1057
|
-
[packages/core/src/components/
|
|
928
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:114](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L114)
|
|
1058
929
|
|
|
1059
930
|
___
|
|
1060
931
|
|
|
1061
|
-
###
|
|
932
|
+
### DropdownMenuTrigger
|
|
1062
933
|
|
|
1063
|
-
▸ **
|
|
934
|
+
▸ **DropdownMenuTrigger**(`props`): `ReactNode`
|
|
1064
935
|
|
|
1065
936
|
#### Parameters
|
|
1066
937
|
|
|
1067
938
|
| Name | Type |
|
|
1068
939
|
| :------ | :------ |
|
|
1069
|
-
|
|
|
940
|
+
| `props` | `DropdownMenuTriggerProps` & `RefAttributes`\<`HTMLButtonElement`\> |
|
|
1070
941
|
|
|
1071
942
|
#### Returns
|
|
1072
943
|
|
|
1073
|
-
`
|
|
944
|
+
`ReactNode`
|
|
1074
945
|
|
|
1075
946
|
#### Defined in
|
|
1076
947
|
|
|
1077
|
-
[packages/core/src/components/
|
|
948
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:116](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L116)
|
|
1078
949
|
|
|
1079
950
|
___
|
|
1080
951
|
|
|
1081
|
-
###
|
|
952
|
+
### DropdownMenuGroup
|
|
1082
953
|
|
|
1083
|
-
▸ **
|
|
954
|
+
▸ **DropdownMenuGroup**(`props`): `ReactNode`
|
|
1084
955
|
|
|
1085
956
|
#### Parameters
|
|
1086
957
|
|
|
1087
958
|
| Name | Type |
|
|
1088
959
|
| :------ | :------ |
|
|
1089
|
-
| `props` |
|
|
960
|
+
| `props` | `DropdownMenuGroupProps` & `RefAttributes`\<`HTMLDivElement`\> |
|
|
1090
961
|
|
|
1091
962
|
#### Returns
|
|
1092
963
|
|
|
@@ -1094,1107 +965,876 @@ ___
|
|
|
1094
965
|
|
|
1095
966
|
#### Defined in
|
|
1096
967
|
|
|
1097
|
-
[packages/core/src/components/
|
|
968
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:118](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L118)
|
|
1098
969
|
|
|
1099
970
|
___
|
|
1100
971
|
|
|
1101
|
-
###
|
|
1102
|
-
|
|
1103
|
-
▸ **Form**\<`TFieldValues`\>(`props`): `Element`
|
|
1104
|
-
|
|
1105
|
-
Form component with validation and React Hook Form integration
|
|
1106
|
-
|
|
1107
|
-
#### Type parameters
|
|
972
|
+
### DropdownMenuPortal
|
|
1108
973
|
|
|
1109
|
-
|
|
1110
|
-
| :------ | :------ | :------ |
|
|
1111
|
-
| `TFieldValues` | extends `FieldValues` = `FieldValues` | The type of form field values |
|
|
974
|
+
▸ **DropdownMenuPortal**(`props`, `deprecatedLegacyContext?`): `ReactNode`
|
|
1112
975
|
|
|
1113
976
|
#### Parameters
|
|
1114
977
|
|
|
1115
978
|
| Name | Type | Description |
|
|
1116
979
|
| :------ | :------ | :------ |
|
|
1117
|
-
| `props` | `
|
|
980
|
+
| `props` | `DropdownMenuPortalProps` | - |
|
|
981
|
+
| `deprecatedLegacyContext?` | `any` | **`See`** [React Docs](https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods) |
|
|
1118
982
|
|
|
1119
983
|
#### Returns
|
|
1120
984
|
|
|
1121
|
-
`
|
|
1122
|
-
|
|
1123
|
-
JSX.Element - The rendered form with FormProvider context
|
|
1124
|
-
|
|
1125
|
-
**`Example`**
|
|
1126
|
-
|
|
1127
|
-
```tsx
|
|
1128
|
-
<Form
|
|
1129
|
-
schema={userSchema}
|
|
1130
|
-
defaultValues={{ name: "", email: "" }}
|
|
1131
|
-
onSubmit={handleSubmit}
|
|
1132
|
-
mode="onBlur"
|
|
1133
|
-
>
|
|
1134
|
-
<FormField name="name" label="Name" />
|
|
1135
|
-
<FormField name="email" label="Email" />
|
|
1136
|
-
<Button type="submit">Submit</Button>
|
|
1137
|
-
</Form>
|
|
1138
|
-
```
|
|
985
|
+
`ReactNode`
|
|
1139
986
|
|
|
1140
987
|
#### Defined in
|
|
1141
988
|
|
|
1142
|
-
[packages/core/src/components/
|
|
989
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:120](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L120)
|
|
1143
990
|
|
|
1144
991
|
___
|
|
1145
992
|
|
|
1146
|
-
###
|
|
1147
|
-
|
|
1148
|
-
▸ **Header**(`props`): `Element`
|
|
1149
|
-
|
|
1150
|
-
Header component for application layouts with comprehensive navigation, user management,
|
|
1151
|
-
and customizable branding support.
|
|
1152
|
-
|
|
1153
|
-
A flexible header component that supports various configurations including custom logos,
|
|
1154
|
-
navigation menus, user authentication, event selection, and custom actions.
|
|
993
|
+
### DropdownMenuSub
|
|
1155
994
|
|
|
1156
|
-
|
|
1157
|
-
- Customizable logo (URL or custom component)
|
|
1158
|
-
- Navigation menu integration with highlighting
|
|
1159
|
-
- User menu with authentication and password management
|
|
1160
|
-
- Event selector for multi-tenant applications
|
|
1161
|
-
- Custom actions support
|
|
1162
|
-
- Responsive design with mobile considerations
|
|
1163
|
-
- Accessibility compliant with proper ARIA attributes
|
|
1164
|
-
- Backdrop blur effects for modern UI
|
|
1165
|
-
- Flexible layout with configurable sections
|
|
995
|
+
▸ **DropdownMenuSub**(`props`, `deprecatedLegacyContext?`): `ReactNode`
|
|
1166
996
|
|
|
1167
997
|
#### Parameters
|
|
1168
998
|
|
|
1169
999
|
| Name | Type | Description |
|
|
1170
1000
|
| :------ | :------ | :------ |
|
|
1171
|
-
| `props` | `
|
|
1001
|
+
| `props` | `DropdownMenuSubProps` | - |
|
|
1002
|
+
| `deprecatedLegacyContext?` | `any` | **`See`** [React Docs](https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods) |
|
|
1172
1003
|
|
|
1173
1004
|
#### Returns
|
|
1174
1005
|
|
|
1175
|
-
`
|
|
1176
|
-
|
|
1177
|
-
React element with complete header functionality
|
|
1178
|
-
|
|
1179
|
-
**`Example`**
|
|
1180
|
-
|
|
1181
|
-
Basic header with logo and navigation:
|
|
1182
|
-
```tsx
|
|
1183
|
-
import { Header } from '@jmruthers/pace-core';
|
|
1184
|
-
import { useNavigate, useLocation } from 'react-router-dom';
|
|
1185
|
-
|
|
1186
|
-
function AppHeader() {
|
|
1187
|
-
const navigate = useNavigate();
|
|
1188
|
-
const location = useLocation();
|
|
1189
|
-
|
|
1190
|
-
const navItems = [
|
|
1191
|
-
{ id: 'dashboard', label: 'Dashboard', href: '/dashboard' },
|
|
1192
|
-
{ id: 'meals', label: 'Meals', href: '/meals' },
|
|
1193
|
-
{ id: 'settings', label: 'Settings', href: '/settings' }
|
|
1194
|
-
];
|
|
1006
|
+
`ReactNode`
|
|
1195
1007
|
|
|
1196
|
-
|
|
1197
|
-
<Header
|
|
1198
|
-
logoUrl="/company-logo.svg"
|
|
1199
|
-
logoAlt="My Company"
|
|
1200
|
-
navItems={navItems}
|
|
1201
|
-
currentPath={location.pathname}
|
|
1202
|
-
onNavigate={(item) => navigate(item.href)}
|
|
1203
|
-
user={currentUser}
|
|
1204
|
-
onSignOut={handleSignOut}
|
|
1205
|
-
/>
|
|
1206
|
-
);
|
|
1207
|
-
}
|
|
1208
|
-
```
|
|
1008
|
+
#### Defined in
|
|
1209
1009
|
|
|
1210
|
-
|
|
1010
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:122](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L122)
|
|
1211
1011
|
|
|
1212
|
-
|
|
1213
|
-
```tsx
|
|
1214
|
-
import { Header, Button } from '@jmruthers/pace-core';
|
|
1012
|
+
___
|
|
1215
1013
|
|
|
1216
|
-
|
|
1217
|
-
const customActions = (
|
|
1218
|
-
<div className="flex items-center gap-2">
|
|
1219
|
-
<Button variant="outline" size="sm">Export</Button>
|
|
1220
|
-
<Button size="sm">New Item</Button>
|
|
1221
|
-
</div>
|
|
1222
|
-
);
|
|
1014
|
+
### DropdownMenuRadioGroup
|
|
1223
1015
|
|
|
1224
|
-
|
|
1225
|
-
<Header
|
|
1226
|
-
logoUrl="/logo.svg"
|
|
1227
|
-
navItems={navigationItems}
|
|
1228
|
-
actions={customActions}
|
|
1229
|
-
user={currentUser}
|
|
1230
|
-
onSignOut={handleSignOut}
|
|
1231
|
-
/>
|
|
1232
|
-
);
|
|
1233
|
-
}
|
|
1234
|
-
```
|
|
1016
|
+
▸ **DropdownMenuRadioGroup**(`props`): `ReactNode`
|
|
1235
1017
|
|
|
1236
|
-
|
|
1018
|
+
#### Parameters
|
|
1237
1019
|
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
return (
|
|
1242
|
-
<Header
|
|
1243
|
-
logoUrl="/simple-logo.svg"
|
|
1244
|
-
logoAlt="Simple App"
|
|
1245
|
-
showEventSelector={false}
|
|
1246
|
-
user={currentUser}
|
|
1247
|
-
onSignOut={handleSignOut}
|
|
1248
|
-
/>
|
|
1249
|
-
);
|
|
1250
|
-
}
|
|
1251
|
-
```
|
|
1020
|
+
| Name | Type |
|
|
1021
|
+
| :------ | :------ |
|
|
1022
|
+
| `props` | `DropdownMenuRadioGroupProps` & `RefAttributes`\<`HTMLDivElement`\> |
|
|
1252
1023
|
|
|
1253
|
-
|
|
1024
|
+
#### Returns
|
|
1254
1025
|
|
|
1255
|
-
|
|
1026
|
+
`ReactNode`
|
|
1256
1027
|
|
|
1257
1028
|
#### Defined in
|
|
1258
1029
|
|
|
1259
|
-
[packages/core/src/components/
|
|
1030
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:124](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L124)
|
|
1260
1031
|
|
|
1261
1032
|
___
|
|
1262
1033
|
|
|
1263
|
-
###
|
|
1034
|
+
### DropdownMenuSubTrigger
|
|
1264
1035
|
|
|
1265
|
-
▸ **
|
|
1036
|
+
▸ **DropdownMenuSubTrigger**(`props`): `ReactNode`
|
|
1266
1037
|
|
|
1267
1038
|
#### Parameters
|
|
1268
1039
|
|
|
1269
1040
|
| Name | Type |
|
|
1270
1041
|
| :------ | :------ |
|
|
1271
|
-
|
|
|
1042
|
+
| `props` | `Omit`\<`DropdownMenuSubTriggerProps` & `RefAttributes`\<`HTMLDivElement`\>, ``"ref"``\> & \{ `inset?`: `boolean` } & `RefAttributes`\<`HTMLDivElement`\> |
|
|
1272
1043
|
|
|
1273
1044
|
#### Returns
|
|
1274
1045
|
|
|
1275
|
-
`
|
|
1046
|
+
`ReactNode`
|
|
1276
1047
|
|
|
1277
1048
|
#### Defined in
|
|
1278
1049
|
|
|
1279
|
-
[packages/core/src/components/
|
|
1050
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:126](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L126)
|
|
1280
1051
|
|
|
1281
1052
|
___
|
|
1282
1053
|
|
|
1283
|
-
###
|
|
1054
|
+
### DropdownMenuSubContent
|
|
1284
1055
|
|
|
1285
|
-
▸ **
|
|
1056
|
+
▸ **DropdownMenuSubContent**(`props`): `ReactNode`
|
|
1286
1057
|
|
|
1287
|
-
|
|
1288
|
-
|
|
1058
|
+
DropdownMenuSubContent component
|
|
1059
|
+
The content container for dropdown menu sub-items
|
|
1289
1060
|
|
|
1290
1061
|
#### Parameters
|
|
1291
1062
|
|
|
1292
1063
|
| Name | Type | Description |
|
|
1293
1064
|
| :------ | :------ | :------ |
|
|
1294
|
-
| `props` |
|
|
1065
|
+
| `props` | `Omit`\<`DropdownMenuSubContentProps` & `RefAttributes`\<`HTMLDivElement`\>, ``"ref"``\> & `RefAttributes`\<`HTMLDivElement`\> | Content configuration and styling |
|
|
1295
1066
|
|
|
1296
1067
|
#### Returns
|
|
1297
1068
|
|
|
1298
1069
|
`ReactNode`
|
|
1299
1070
|
|
|
1300
|
-
JSX.Element - The
|
|
1071
|
+
JSX.Element - The dropdown menu sub-content container
|
|
1301
1072
|
|
|
1302
1073
|
**`Example`**
|
|
1303
1074
|
|
|
1304
1075
|
```tsx
|
|
1305
|
-
|
|
1306
|
-
<
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
<Input
|
|
1310
|
-
placeholder="Email"
|
|
1311
|
-
type="email"
|
|
1312
|
-
error={true}
|
|
1313
|
-
/>
|
|
1314
|
-
|
|
1315
|
-
// Large input with destructive variant
|
|
1316
|
-
<Input
|
|
1317
|
-
variant="destructive"
|
|
1318
|
-
size="lg"
|
|
1319
|
-
placeholder="Error input"
|
|
1320
|
-
/>
|
|
1076
|
+
<DropdownMenuSubContent>
|
|
1077
|
+
<DropdownMenuItem>Option 1</DropdownMenuItem>
|
|
1078
|
+
<DropdownMenuItem>Option 2</DropdownMenuItem>
|
|
1079
|
+
</DropdownMenuSubContent>
|
|
1321
1080
|
```
|
|
1322
1081
|
|
|
1323
1082
|
#### Defined in
|
|
1324
1083
|
|
|
1325
|
-
[packages/core/src/components/
|
|
1084
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:163](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L163)
|
|
1326
1085
|
|
|
1327
1086
|
___
|
|
1328
1087
|
|
|
1329
|
-
###
|
|
1088
|
+
### DropdownMenuContent
|
|
1330
1089
|
|
|
1331
|
-
▸ **
|
|
1090
|
+
▸ **DropdownMenuContent**(`props`): `ReactNode`
|
|
1332
1091
|
|
|
1333
|
-
|
|
1334
|
-
|
|
1092
|
+
DropdownMenuContent component
|
|
1093
|
+
The main content container for dropdown menu items
|
|
1335
1094
|
|
|
1336
1095
|
#### Parameters
|
|
1337
1096
|
|
|
1338
1097
|
| Name | Type | Description |
|
|
1339
1098
|
| :------ | :------ | :------ |
|
|
1340
|
-
| `props` |
|
|
1099
|
+
| `props` | `Omit`\<`DropdownMenuContentProps` & `RefAttributes`\<`HTMLDivElement`\>, ``"ref"``\> & `RefAttributes`\<`HTMLDivElement`\> | Content configuration and styling |
|
|
1341
1100
|
|
|
1342
1101
|
#### Returns
|
|
1343
1102
|
|
|
1344
1103
|
`ReactNode`
|
|
1345
1104
|
|
|
1346
|
-
JSX.Element - The
|
|
1105
|
+
JSX.Element - The dropdown menu content container
|
|
1347
1106
|
|
|
1348
1107
|
**`Example`**
|
|
1349
1108
|
|
|
1350
1109
|
```tsx
|
|
1351
|
-
<
|
|
1352
|
-
|
|
1353
|
-
</
|
|
1110
|
+
<DropdownMenuContent>
|
|
1111
|
+
<DropdownMenuItem>Profile</DropdownMenuItem>
|
|
1112
|
+
<DropdownMenuItem>Settings</DropdownMenuItem>
|
|
1113
|
+
</DropdownMenuContent>
|
|
1354
1114
|
```
|
|
1355
1115
|
|
|
1356
1116
|
#### Defined in
|
|
1357
1117
|
|
|
1358
|
-
[packages/core/src/components/
|
|
1118
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:194](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L194)
|
|
1359
1119
|
|
|
1360
1120
|
___
|
|
1361
1121
|
|
|
1362
|
-
###
|
|
1122
|
+
### DropdownMenuItem
|
|
1363
1123
|
|
|
1364
|
-
▸ **
|
|
1124
|
+
▸ **DropdownMenuItem**(`props`): `ReactNode`
|
|
1365
1125
|
|
|
1366
|
-
|
|
1367
|
-
|
|
1126
|
+
DropdownMenuItem component
|
|
1127
|
+
Individual menu item within the dropdown
|
|
1368
1128
|
|
|
1369
1129
|
#### Parameters
|
|
1370
1130
|
|
|
1371
1131
|
| Name | Type | Description |
|
|
1372
1132
|
| :------ | :------ | :------ |
|
|
1373
|
-
| `props` | `
|
|
1374
|
-
| `deprecatedLegacyContext?` | `any` | **`See`** [React Docs](https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods) |
|
|
1133
|
+
| `props` | `Omit`\<`DropdownMenuItemProps` & `RefAttributes`\<`HTMLDivElement`\>, ``"ref"``\> & \{ `inset?`: `boolean` } & `RefAttributes`\<`HTMLDivElement`\> | Item configuration and styling |
|
|
1375
1134
|
|
|
1376
1135
|
#### Returns
|
|
1377
1136
|
|
|
1378
1137
|
`ReactNode`
|
|
1379
1138
|
|
|
1380
|
-
JSX.Element - The
|
|
1139
|
+
JSX.Element - The dropdown menu item
|
|
1381
1140
|
|
|
1382
1141
|
**`Example`**
|
|
1383
1142
|
|
|
1384
1143
|
```tsx
|
|
1385
|
-
<
|
|
1144
|
+
<DropdownMenuItem onClick={() => console.log('clicked')}>
|
|
1145
|
+
Profile
|
|
1146
|
+
</DropdownMenuItem>
|
|
1386
1147
|
```
|
|
1387
1148
|
|
|
1388
1149
|
#### Defined in
|
|
1389
1150
|
|
|
1390
|
-
[packages/core/src/components/
|
|
1151
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:227](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L227)
|
|
1391
1152
|
|
|
1392
1153
|
___
|
|
1393
1154
|
|
|
1394
|
-
###
|
|
1395
|
-
|
|
1396
|
-
▸ **LoginForm**(`props`): `ReactNode`
|
|
1155
|
+
### DropdownMenuCheckboxItem
|
|
1397
1156
|
|
|
1398
|
-
|
|
1399
|
-
It supports validation, loading state, error handling, and can be customized via props.
|
|
1400
|
-
Now includes performance optimizations and onSignUp support.
|
|
1157
|
+
▸ **DropdownMenuCheckboxItem**(`props`): `ReactNode`
|
|
1401
1158
|
|
|
1402
1159
|
#### Parameters
|
|
1403
1160
|
|
|
1404
|
-
| Name | Type |
|
|
1405
|
-
| :------ | :------ |
|
|
1406
|
-
| `props` |
|
|
1161
|
+
| Name | Type |
|
|
1162
|
+
| :------ | :------ |
|
|
1163
|
+
| `props` | `Omit`\<`DropdownMenuCheckboxItemProps` & `RefAttributes`\<`HTMLDivElement`\>, ``"ref"``\> & `RefAttributes`\<`HTMLDivElement`\> |
|
|
1407
1164
|
|
|
1408
1165
|
#### Returns
|
|
1409
1166
|
|
|
1410
1167
|
`ReactNode`
|
|
1411
1168
|
|
|
1412
|
-
JSX.Element - The rendered login form
|
|
1413
|
-
|
|
1414
|
-
**`Example`**
|
|
1415
|
-
|
|
1416
|
-
```tsx
|
|
1417
|
-
<LoginForm
|
|
1418
|
-
onSignIn={handleSignIn}
|
|
1419
|
-
onSuccess={() => navigate('/dashboard')}
|
|
1420
|
-
onError={(error) => toast.error(error.message)}
|
|
1421
|
-
isLoading={isAuthenticating}
|
|
1422
|
-
/>
|
|
1423
|
-
```
|
|
1424
|
-
|
|
1425
1169
|
#### Defined in
|
|
1426
1170
|
|
|
1427
|
-
[packages/core/src/components/
|
|
1171
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:245](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L245)
|
|
1428
1172
|
|
|
1429
1173
|
___
|
|
1430
1174
|
|
|
1431
|
-
###
|
|
1432
|
-
|
|
1433
|
-
▸ **NavigationMenu**(`props`): `ReactNode`
|
|
1434
|
-
|
|
1435
|
-
Unified NavigationMenu component that supports both dropdown and hierarchical navigation modes.
|
|
1436
|
-
|
|
1437
|
-
A flexible navigation menu component with support for icons, current page highlighting,
|
|
1438
|
-
keyboard navigation, and nested menu items.
|
|
1175
|
+
### DropdownMenuRadioItem
|
|
1439
1176
|
|
|
1440
|
-
|
|
1441
|
-
- Dropdown mode: Menu button that opens a dropdown list
|
|
1442
|
-
- Hierarchical mode: Expandable tree navigation with nested items
|
|
1443
|
-
- Icon support for navigation items
|
|
1444
|
-
- Current page highlighting
|
|
1445
|
-
- Keyboard navigation support (Enter, Space, Escape)
|
|
1446
|
-
- Accessible design with proper ARIA attributes
|
|
1447
|
-
- Click outside to close (dropdown mode)
|
|
1448
|
-
- Recursive rendering for nested items (hierarchical mode)
|
|
1177
|
+
▸ **DropdownMenuRadioItem**(`props`): `ReactNode`
|
|
1449
1178
|
|
|
1450
1179
|
#### Parameters
|
|
1451
1180
|
|
|
1452
|
-
| Name | Type |
|
|
1453
|
-
| :------ | :------ |
|
|
1454
|
-
| `props` |
|
|
1181
|
+
| Name | Type |
|
|
1182
|
+
| :------ | :------ |
|
|
1183
|
+
| `props` | `Omit`\<`DropdownMenuRadioItemProps` & `RefAttributes`\<`HTMLDivElement`\>, ``"ref"``\> & `RefAttributes`\<`HTMLDivElement`\> |
|
|
1455
1184
|
|
|
1456
1185
|
#### Returns
|
|
1457
1186
|
|
|
1458
1187
|
`ReactNode`
|
|
1459
1188
|
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
**`Example`**
|
|
1463
|
-
|
|
1464
|
-
Basic dropdown navigation (most common use case):
|
|
1465
|
-
```tsx
|
|
1466
|
-
import { NavigationMenu } from '@jmruthers/pace-core';
|
|
1467
|
-
import { useNavigate, useLocation } from 'react-router-dom';
|
|
1468
|
-
|
|
1469
|
-
function AppNavigation() {
|
|
1470
|
-
const navigate = useNavigate();
|
|
1471
|
-
const location = useLocation();
|
|
1472
|
-
|
|
1473
|
-
const navItems = [
|
|
1474
|
-
{ id: 'home', label: 'Home', href: '/', icon: 'Home' },
|
|
1475
|
-
{ id: 'dashboard', label: 'Dashboard', href: '/dashboard', icon: 'LayoutDashboard' },
|
|
1476
|
-
{ id: 'reports', label: 'Reports', href: '/reports', icon: 'FileText' },
|
|
1477
|
-
{ id: 'settings', label: 'Settings', href: '/settings', icon: 'Settings' }
|
|
1478
|
-
];
|
|
1189
|
+
#### Defined in
|
|
1479
1190
|
|
|
1480
|
-
|
|
1481
|
-
<NavigationMenu
|
|
1482
|
-
items={navItems}
|
|
1483
|
-
mode="dropdown"
|
|
1484
|
-
currentPath={location.pathname}
|
|
1485
|
-
onNavigate={(item) => navigate(item.href)}
|
|
1486
|
-
buttonText="Main Menu"
|
|
1487
|
-
showIcons={true}
|
|
1488
|
-
/>
|
|
1489
|
-
);
|
|
1490
|
-
}
|
|
1491
|
-
```
|
|
1191
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:268](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L268)
|
|
1492
1192
|
|
|
1493
|
-
|
|
1193
|
+
___
|
|
1494
1194
|
|
|
1495
|
-
|
|
1496
|
-
```tsx
|
|
1497
|
-
import { NavigationMenu } from '@jmruthers/pace-core';
|
|
1195
|
+
### DropdownMenuLabel
|
|
1498
1196
|
|
|
1499
|
-
|
|
1500
|
-
const hierarchicalItems = [
|
|
1501
|
-
{
|
|
1502
|
-
id: 'user-management',
|
|
1503
|
-
label: 'User Management',
|
|
1504
|
-
icon: 'Users',
|
|
1505
|
-
children: [
|
|
1506
|
-
{ id: 'users-list', label: 'All Users', href: '/users' },
|
|
1507
|
-
{ id: 'users-create', label: 'Create User', href: '/users/create' },
|
|
1508
|
-
{ id: 'user-roles', label: 'User Roles', href: '/users/roles' }
|
|
1509
|
-
]
|
|
1510
|
-
},
|
|
1511
|
-
{
|
|
1512
|
-
id: 'reports',
|
|
1513
|
-
label: 'Reports',
|
|
1514
|
-
icon: 'BarChart',
|
|
1515
|
-
children: [
|
|
1516
|
-
{ id: 'sales-reports', label: 'Sales Reports', href: '/reports/sales' },
|
|
1517
|
-
{ id: 'user-reports', label: 'User Reports', href: '/reports/users' }
|
|
1518
|
-
]
|
|
1519
|
-
},
|
|
1520
|
-
{ id: 'settings', label: 'Settings', href: '/settings', icon: 'Settings' }
|
|
1521
|
-
];
|
|
1197
|
+
▸ **DropdownMenuLabel**(`props`): `ReactNode`
|
|
1522
1198
|
|
|
1523
|
-
|
|
1524
|
-
<NavigationMenu
|
|
1525
|
-
items={hierarchicalItems}
|
|
1526
|
-
mode="hierarchical"
|
|
1527
|
-
currentPath={window.location.pathname}
|
|
1528
|
-
onNavigate={(item) => {
|
|
1529
|
-
if (item.href) {
|
|
1530
|
-
window.location.href = item.href;
|
|
1531
|
-
}
|
|
1532
|
-
}}
|
|
1533
|
-
className="w-64 bg-sec-50 p-4"
|
|
1534
|
-
/>
|
|
1535
|
-
);
|
|
1536
|
-
}
|
|
1537
|
-
```
|
|
1199
|
+
#### Parameters
|
|
1538
1200
|
|
|
1539
|
-
|
|
1201
|
+
| Name | Type |
|
|
1202
|
+
| :------ | :------ |
|
|
1203
|
+
| `props` | `Omit`\<`DropdownMenuLabelProps` & `RefAttributes`\<`HTMLDivElement`\>, ``"ref"``\> & \{ `inset?`: `boolean` } & `RefAttributes`\<`HTMLDivElement`\> |
|
|
1540
1204
|
|
|
1541
|
-
|
|
1542
|
-
```tsx
|
|
1543
|
-
import { NavigationMenu } from '@jmruthers/pace-core';
|
|
1544
|
-
import { useNavigate, useLocation } from 'react-router-dom';
|
|
1545
|
-
import { useUnifiedAuth } from '@jmruthers/pace-core/providers';
|
|
1205
|
+
#### Returns
|
|
1546
1206
|
|
|
1547
|
-
|
|
1548
|
-
const navigate = useNavigate();
|
|
1549
|
-
const location = useLocation();
|
|
1550
|
-
const { hasRole, hasPermission } = useUnifiedAuth();
|
|
1207
|
+
`ReactNode`
|
|
1551
1208
|
|
|
1552
|
-
|
|
1553
|
-
const navItems = [
|
|
1554
|
-
{
|
|
1555
|
-
id: 'dashboard',
|
|
1556
|
-
label: 'Dashboard',
|
|
1557
|
-
href: '/dashboard',
|
|
1558
|
-
icon: 'LayoutDashboard',
|
|
1559
|
-
permissions: ['dashboard:read']
|
|
1560
|
-
},
|
|
1561
|
-
{
|
|
1562
|
-
id: 'meals',
|
|
1563
|
-
label: 'Meals',
|
|
1564
|
-
href: '/meals',
|
|
1565
|
-
icon: 'UtensilsCrossed',
|
|
1566
|
-
permissions: ['meals:read']
|
|
1567
|
-
},
|
|
1568
|
-
{
|
|
1569
|
-
id: 'admin',
|
|
1570
|
-
label: 'Admin Panel',
|
|
1571
|
-
href: '/admin',
|
|
1572
|
-
icon: 'Shield',
|
|
1573
|
-
roles: ['admin', 'super_admin']
|
|
1574
|
-
},
|
|
1575
|
-
{
|
|
1576
|
-
id: 'profile',
|
|
1577
|
-
label: 'Profile',
|
|
1578
|
-
href: '/profile',
|
|
1579
|
-
icon: 'User'
|
|
1580
|
-
}
|
|
1581
|
-
];
|
|
1209
|
+
#### Defined in
|
|
1582
1210
|
|
|
1583
|
-
|
|
1584
|
-
<NavigationMenu
|
|
1585
|
-
items={navItems}
|
|
1586
|
-
mode="dropdown"
|
|
1587
|
-
currentPath={location.pathname}
|
|
1588
|
-
onNavigate={(item) => navigate(item.href)}
|
|
1589
|
-
buttonText="Navigation"
|
|
1590
|
-
navigationLabel="Main application navigation"
|
|
1591
|
-
filterByPermissions={true}
|
|
1592
|
-
auditLog={true}
|
|
1593
|
-
/>
|
|
1594
|
-
);
|
|
1595
|
-
}
|
|
1596
|
-
```
|
|
1211
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:290](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L290)
|
|
1597
1212
|
|
|
1598
|
-
|
|
1213
|
+
___
|
|
1599
1214
|
|
|
1600
|
-
|
|
1601
|
-
```tsx
|
|
1602
|
-
import { NavigationMenu } from '@jmruthers/pace-core';
|
|
1215
|
+
### DropdownMenuSeparator
|
|
1603
1216
|
|
|
1604
|
-
|
|
1605
|
-
const handleNavigation = (item) => {
|
|
1606
|
-
if (item.id === 'logout') {
|
|
1607
|
-
// Handle logout action
|
|
1608
|
-
handleLogout();
|
|
1609
|
-
} else if (item.href?.startsWith('http')) {
|
|
1610
|
-
// Handle external links
|
|
1611
|
-
window.open(item.href, '_blank');
|
|
1612
|
-
} else if (item.href) {
|
|
1613
|
-
// Handle internal navigation
|
|
1614
|
-
navigate(item.href);
|
|
1615
|
-
}
|
|
1616
|
-
};
|
|
1217
|
+
▸ **DropdownMenuSeparator**(`props`): `ReactNode`
|
|
1617
1218
|
|
|
1618
|
-
|
|
1619
|
-
{ id: 'home', label: 'Home', href: '/', icon: 'Home' },
|
|
1620
|
-
{ id: 'help', label: 'Help Center', href: 'https://help.example.com', icon: 'HelpCircle' },
|
|
1621
|
-
{ id: 'logout', label: 'Sign Out', icon: 'LogOut' } // No href for actions
|
|
1622
|
-
];
|
|
1219
|
+
#### Parameters
|
|
1623
1220
|
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
mode="dropdown"
|
|
1628
|
-
onNavigate={handleNavigation}
|
|
1629
|
-
buttonText="Menu"
|
|
1630
|
-
disabled={false}
|
|
1631
|
-
/>
|
|
1632
|
-
);
|
|
1633
|
-
}
|
|
1634
|
-
```
|
|
1221
|
+
| Name | Type |
|
|
1222
|
+
| :------ | :------ |
|
|
1223
|
+
| `props` | `Omit`\<`DropdownMenuSeparatorProps` & `RefAttributes`\<`HTMLDivElement`\>, ``"ref"``\> & `RefAttributes`\<`HTMLDivElement`\> |
|
|
1635
1224
|
|
|
1636
|
-
|
|
1225
|
+
#### Returns
|
|
1637
1226
|
|
|
1638
|
-
|
|
1227
|
+
`ReactNode`
|
|
1639
1228
|
|
|
1640
1229
|
#### Defined in
|
|
1641
1230
|
|
|
1642
|
-
[packages/core/src/components/
|
|
1231
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:308](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L308)
|
|
1643
1232
|
|
|
1644
1233
|
___
|
|
1645
1234
|
|
|
1646
|
-
###
|
|
1647
|
-
|
|
1648
|
-
▸ **OrganisationSelector**(`«destructured»`): ``null`` \| `Element`
|
|
1649
|
-
|
|
1650
|
-
OrganisationSelector component for secure organisation switching
|
|
1651
|
-
|
|
1652
|
-
This component provides secure organisation selection with:
|
|
1653
|
-
- User membership validation
|
|
1654
|
-
- Role-based access display
|
|
1655
|
-
- Security error handling
|
|
1656
|
-
- Real-time organisation switching
|
|
1657
|
-
- Accessible interface design
|
|
1235
|
+
### DropdownMenuShortcut
|
|
1658
1236
|
|
|
1659
|
-
|
|
1237
|
+
▸ **DropdownMenuShortcut**(`«destructured»`): `Element`
|
|
1660
1238
|
|
|
1661
1239
|
#### Parameters
|
|
1662
1240
|
|
|
1663
1241
|
| Name | Type |
|
|
1664
1242
|
| :------ | :------ |
|
|
1665
|
-
| `«destructured»` | `
|
|
1243
|
+
| `«destructured»` | `HTMLAttributes`\<`HTMLSpanElement`\> |
|
|
1666
1244
|
|
|
1667
1245
|
#### Returns
|
|
1668
1246
|
|
|
1669
|
-
|
|
1247
|
+
`Element`
|
|
1670
1248
|
|
|
1671
1249
|
#### Defined in
|
|
1672
1250
|
|
|
1673
|
-
[packages/core/src/components/
|
|
1251
|
+
[packages/core/src/components/DropdownMenu/DropdownMenu.tsx:320](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/DropdownMenu/DropdownMenu.tsx#L320)
|
|
1674
1252
|
|
|
1675
1253
|
___
|
|
1676
1254
|
|
|
1677
|
-
###
|
|
1678
|
-
|
|
1679
|
-
▸ **PaceAppLayout**(`props`): `Element`
|
|
1680
|
-
|
|
1681
|
-
A consistent layout component for all PACE suite applications that provides a standard
|
|
1682
|
-
structure with header, main content area, and footer.
|
|
1255
|
+
### EventSelector
|
|
1683
1256
|
|
|
1684
|
-
|
|
1685
|
-
consuming apps can't forget to implement permission checks on individual pages.
|
|
1257
|
+
▸ **EventSelector**(`«destructured»`): ``null`` \| `Element`
|
|
1686
1258
|
|
|
1687
|
-
|
|
1688
|
-
Outlet to render child routes. It provides integrated authentication, navigation,
|
|
1689
|
-
and user management functionality.
|
|
1259
|
+
EventSelector component for selecting events with built-in access control
|
|
1690
1260
|
|
|
1691
|
-
|
|
1692
|
-
-
|
|
1693
|
-
-
|
|
1694
|
-
-
|
|
1695
|
-
-
|
|
1696
|
-
-
|
|
1697
|
-
- User sign-out and password change functionality
|
|
1698
|
-
- Responsive design and accessibility compliant
|
|
1699
|
-
- Layout-level permission enforcement
|
|
1700
|
-
- Permission-based navigation filtering
|
|
1701
|
-
- Automatic page permission validation
|
|
1261
|
+
This component provides secure event selection with:
|
|
1262
|
+
- Database integration via rbac_event_app_roles table
|
|
1263
|
+
- Auto-selection of next upcoming event by date
|
|
1264
|
+
- Cross-device sync via Supabase user session metadata
|
|
1265
|
+
- localStorage fallback for offline scenarios
|
|
1266
|
+
- Comprehensive error handling and user feedback
|
|
1702
1267
|
|
|
1703
1268
|
#### Parameters
|
|
1704
1269
|
|
|
1705
|
-
| Name | Type |
|
|
1706
|
-
| :------ | :------ |
|
|
1707
|
-
|
|
|
1270
|
+
| Name | Type |
|
|
1271
|
+
| :------ | :------ |
|
|
1272
|
+
| `«destructured»` | `EventSelectorProps` |
|
|
1708
1273
|
|
|
1709
1274
|
#### Returns
|
|
1710
1275
|
|
|
1711
|
-
`Element`
|
|
1276
|
+
``null`` \| `Element`
|
|
1712
1277
|
|
|
1713
|
-
|
|
1278
|
+
**`Component`**
|
|
1714
1279
|
|
|
1715
1280
|
**`Example`**
|
|
1716
1281
|
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
import { PaceAppLayout, PaceLoginPage } from '@jmruthers/pace-core';
|
|
1722
|
-
|
|
1723
|
-
function App() {
|
|
1724
|
-
return (
|
|
1725
|
-
<UnifiedAuthProvider supabaseClient={supabase} appName="My App">
|
|
1726
|
-
<Router>
|
|
1727
|
-
<Routes>
|
|
1728
|
-
<Route path="/login" element={<PaceLoginPage appName="My App" />} />
|
|
1729
|
-
<Route path="/" element={
|
|
1730
|
-
<PaceAppLayout
|
|
1731
|
-
appName="My Application"
|
|
1732
|
-
enforcePermissions={true}
|
|
1733
|
-
defaultPermission="read"
|
|
1734
|
-
/>
|
|
1735
|
-
}>
|
|
1736
|
-
<Route index element={<HomePage />} />
|
|
1737
|
-
<Route path="dashboard" element={<DashboardPage />} />
|
|
1738
|
-
<Route path="meals" element={<MealsPage />} />
|
|
1739
|
-
</Route>
|
|
1740
|
-
</Routes>
|
|
1741
|
-
</Router>
|
|
1742
|
-
</UnifiedAuthProvider>
|
|
1743
|
-
);
|
|
1744
|
-
}
|
|
1745
|
-
```
|
|
1746
|
-
|
|
1747
|
-
**`Example`**
|
|
1748
|
-
|
|
1749
|
-
Custom navigation items with permission filtering:
|
|
1750
|
-
```tsx
|
|
1751
|
-
import { NavigationItem } from '@jmruthers/pace-core';
|
|
1752
|
-
|
|
1753
|
-
function App() {
|
|
1754
|
-
const customNavItems: NavigationItem[] = [
|
|
1755
|
-
{ id: 'components', label: 'Components', href: '/components', icon: 'Component' },
|
|
1756
|
-
{ id: 'styles', label: 'Styles', href: '/styles', icon: 'Palette' },
|
|
1757
|
-
{ id: 'meals', label: 'Meals', href: '/meals', icon: 'UtensilsCrossed' }
|
|
1758
|
-
];
|
|
1759
|
-
|
|
1760
|
-
return (
|
|
1761
|
-
<Router>
|
|
1762
|
-
<Routes>
|
|
1763
|
-
<Route path="/" element={
|
|
1764
|
-
<PaceAppLayout
|
|
1765
|
-
appName="My Custom App"
|
|
1766
|
-
navItems={customNavItems}
|
|
1767
|
-
enforcePermissions={true}
|
|
1768
|
-
filterNavigationByPermissions={true}
|
|
1769
|
-
routePermissions={{
|
|
1770
|
-
'/components': 'read',
|
|
1771
|
-
'/styles': 'read',
|
|
1772
|
-
'/meals': 'read'
|
|
1773
|
-
}}
|
|
1774
|
-
/>
|
|
1775
|
-
}>
|
|
1776
|
-
<Route path="components" element={<ComponentsPage />} />
|
|
1777
|
-
<Route path="styles" element={<StylesPage />} />
|
|
1778
|
-
<Route path="meals" element={<MealsPage />} />
|
|
1779
|
-
</Route>
|
|
1780
|
-
</Routes>
|
|
1781
|
-
</Router>
|
|
1782
|
-
);
|
|
1783
|
-
}
|
|
1784
|
-
```
|
|
1785
|
-
|
|
1786
|
-
**`Example`**
|
|
1787
|
-
|
|
1788
|
-
Route-specific permissions with custom page IDs:
|
|
1789
|
-
```tsx
|
|
1790
|
-
function AdminApp() {
|
|
1791
|
-
return (
|
|
1792
|
-
<Router>
|
|
1793
|
-
<Routes>
|
|
1794
|
-
<Route path="/" element={
|
|
1795
|
-
<PaceAppLayout
|
|
1796
|
-
appName="Admin Panel"
|
|
1797
|
-
enforcePermissions={true}
|
|
1798
|
-
routePermissions={{
|
|
1799
|
-
'/dashboard': 'read',
|
|
1800
|
-
'/user-management': 'read',
|
|
1801
|
-
'/system-settings': 'update'
|
|
1802
|
-
}}
|
|
1803
|
-
pageIdMapping={{
|
|
1804
|
-
'/dashboard': 'dashboard',
|
|
1805
|
-
'/user-management': 'user-management',
|
|
1806
|
-
'/system-settings': 'system-admin'
|
|
1807
|
-
}}
|
|
1808
|
-
permissionFallback={<AccessDeniedPage />}
|
|
1809
|
-
/>
|
|
1810
|
-
}>
|
|
1811
|
-
<Route path="dashboard" element={<DashboardPage />} />
|
|
1812
|
-
<Route path="user-management" element={<UserManagementPage />} />
|
|
1813
|
-
<Route path="system-settings" element={<SystemSettingsPage />} />
|
|
1814
|
-
</Route>
|
|
1815
|
-
</Routes>
|
|
1816
|
-
</Router>
|
|
1817
|
-
);
|
|
1818
|
-
}
|
|
1819
|
-
```
|
|
1820
|
-
|
|
1821
|
-
**`Since`**
|
|
1822
|
-
|
|
1823
|
-
0.1.0
|
|
1824
|
-
|
|
1825
|
-
#### Defined in
|
|
1826
|
-
|
|
1827
|
-
[packages/core/src/components/PaceAppLayout/PaceAppLayout.tsx:320](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PaceAppLayout/PaceAppLayout.tsx#L320)
|
|
1828
|
-
|
|
1829
|
-
___
|
|
1830
|
-
|
|
1831
|
-
### PaceLoginPage
|
|
1832
|
-
|
|
1833
|
-
▸ **PaceLoginPage**(`props`, `deprecatedLegacyContext?`): `ReactNode`
|
|
1834
|
-
|
|
1835
|
-
A consistent, reusable login page for all PACE suite applications.
|
|
1836
|
-
It handles the sign-in logic with role-based automatic redirection for admin users,
|
|
1837
|
-
enhanced error handling, and dual loading state management.
|
|
1838
|
-
|
|
1839
|
-
Recent enhancements:
|
|
1840
|
-
- Role-based redirection: Admin users are automatically redirected
|
|
1841
|
-
- Enhanced error handling with navigation error recovery
|
|
1842
|
-
- Dual loading states: auth loading + form submission loading
|
|
1843
|
-
- Error persistence: Auth errors are displayed below the form
|
|
1844
|
-
- Navigation safety: Try-catch blocks prevent navigation errors
|
|
1845
|
-
|
|
1846
|
-
#### Parameters
|
|
1847
|
-
|
|
1848
|
-
| Name | Type | Description |
|
|
1849
|
-
| :------ | :------ | :------ |
|
|
1850
|
-
| `props` | [`PaceLoginPageProps`](interfaces/PaceLoginPageProps.md) | Login page configuration including app name and redirect path |
|
|
1851
|
-
| `deprecatedLegacyContext?` | `any` | **`See`** [React Docs](https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods) |
|
|
1852
|
-
|
|
1853
|
-
#### Returns
|
|
1854
|
-
|
|
1855
|
-
`ReactNode`
|
|
1856
|
-
|
|
1857
|
-
JSX.Element - The rendered login page with enhanced functionality
|
|
1858
|
-
|
|
1859
|
-
**`Example`**
|
|
1860
|
-
|
|
1861
|
-
```tsx
|
|
1862
|
-
<PaceLoginPage
|
|
1863
|
-
appName="My Application"
|
|
1864
|
-
onSuccessRedirectPath="/dashboard"
|
|
1865
|
-
/>
|
|
1282
|
+
```ts
|
|
1283
|
+
<UnifiedAuthProvider supabaseClient={supabase} appName="PACE">
|
|
1284
|
+
<EventSelector onEventChange={(event) => console.log(event)} />
|
|
1285
|
+
</UnifiedAuthProvider>
|
|
1866
1286
|
```
|
|
1867
1287
|
|
|
1868
1288
|
#### Defined in
|
|
1869
1289
|
|
|
1870
|
-
[packages/core/src/components/
|
|
1290
|
+
[packages/core/src/components/EventSelector/EventSelector.tsx:129](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/EventSelector/EventSelector.tsx#L129)
|
|
1871
1291
|
|
|
1872
1292
|
___
|
|
1873
1293
|
|
|
1874
|
-
###
|
|
1294
|
+
### Footer
|
|
1875
1295
|
|
|
1876
|
-
▸ **
|
|
1296
|
+
▸ **Footer**(`props`): `ReactNode`
|
|
1877
1297
|
|
|
1878
1298
|
#### Parameters
|
|
1879
1299
|
|
|
1880
1300
|
| Name | Type |
|
|
1881
1301
|
| :------ | :------ |
|
|
1882
|
-
|
|
|
1302
|
+
| `props` | [`FooterProps`](interfaces/FooterProps.md) |
|
|
1883
1303
|
|
|
1884
1304
|
#### Returns
|
|
1885
1305
|
|
|
1886
|
-
`
|
|
1306
|
+
`ReactNode`
|
|
1887
1307
|
|
|
1888
1308
|
#### Defined in
|
|
1889
1309
|
|
|
1890
|
-
[packages/core/src/components/
|
|
1310
|
+
[packages/core/src/components/Footer/Footer.tsx:196](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Footer/Footer.tsx#L196)
|
|
1891
1311
|
|
|
1892
1312
|
___
|
|
1893
1313
|
|
|
1894
|
-
###
|
|
1895
|
-
|
|
1896
|
-
▸ **PasswordResetForm**(`«destructured»`): `Element`
|
|
1897
|
-
|
|
1898
|
-
#### Parameters
|
|
1899
|
-
|
|
1900
|
-
| Name | Type |
|
|
1901
|
-
| :------ | :------ |
|
|
1902
|
-
| `«destructured»` | `PasswordResetFormProps` |
|
|
1903
|
-
|
|
1904
|
-
#### Returns
|
|
1905
|
-
|
|
1906
|
-
`Element`
|
|
1907
|
-
|
|
1908
|
-
#### Defined in
|
|
1909
|
-
|
|
1910
|
-
[packages/core/src/components/PasswordReset/PasswordResetForm.tsx:94](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PasswordReset/PasswordResetForm.tsx#L94)
|
|
1314
|
+
### Form
|
|
1911
1315
|
|
|
1912
|
-
|
|
1316
|
+
▸ **Form**\<`TFieldValues`\>(`props`): `Element`
|
|
1913
1317
|
|
|
1914
|
-
|
|
1318
|
+
Form component with validation and React Hook Form integration
|
|
1915
1319
|
|
|
1916
|
-
|
|
1320
|
+
#### Type parameters
|
|
1917
1321
|
|
|
1918
|
-
|
|
1919
|
-
|
|
1322
|
+
| Name | Type | Description |
|
|
1323
|
+
| :------ | :------ | :------ |
|
|
1324
|
+
| `TFieldValues` | extends `FieldValues` = `FieldValues` | The type of form field values |
|
|
1920
1325
|
|
|
1921
1326
|
#### Parameters
|
|
1922
1327
|
|
|
1923
1328
|
| Name | Type | Description |
|
|
1924
1329
|
| :------ | :------ | :------ |
|
|
1925
|
-
| `props` | `
|
|
1330
|
+
| `props` | `FormProps`\<`TFieldValues`\> | Form configuration and handlers |
|
|
1926
1331
|
|
|
1927
1332
|
#### Returns
|
|
1928
1333
|
|
|
1929
|
-
`
|
|
1334
|
+
`Element`
|
|
1930
1335
|
|
|
1931
|
-
JSX.Element - The rendered
|
|
1336
|
+
JSX.Element - The rendered form with FormProvider context
|
|
1932
1337
|
|
|
1933
1338
|
**`Example`**
|
|
1934
1339
|
|
|
1935
1340
|
```tsx
|
|
1936
|
-
<
|
|
1341
|
+
<Form
|
|
1342
|
+
schema={userSchema}
|
|
1343
|
+
defaultValues={{ name: "", email: "" }}
|
|
1344
|
+
onSubmit={handleSubmit}
|
|
1345
|
+
mode="onBlur"
|
|
1346
|
+
>
|
|
1347
|
+
<FormField name="name" label="Name" />
|
|
1348
|
+
<FormField name="email" label="Email" />
|
|
1349
|
+
<Button type="submit">Submit</Button>
|
|
1350
|
+
</Form>
|
|
1937
1351
|
```
|
|
1938
1352
|
|
|
1939
1353
|
#### Defined in
|
|
1940
1354
|
|
|
1941
|
-
[packages/core/src/components/
|
|
1355
|
+
[packages/core/src/components/Form/Form.tsx:142](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Form/Form.tsx#L142)
|
|
1942
1356
|
|
|
1943
1357
|
___
|
|
1944
1358
|
|
|
1945
|
-
###
|
|
1359
|
+
### Header
|
|
1360
|
+
|
|
1361
|
+
▸ **Header**(`props`): `Element`
|
|
1946
1362
|
|
|
1947
|
-
|
|
1363
|
+
Header component for application layouts with comprehensive navigation, user management,
|
|
1364
|
+
and customizable branding support.
|
|
1948
1365
|
|
|
1949
|
-
|
|
1366
|
+
A flexible header component that supports various configurations including custom logos,
|
|
1367
|
+
navigation menus, user authentication, event selection, and custom actions.
|
|
1950
1368
|
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1369
|
+
Features:
|
|
1370
|
+
- Customizable logo (URL or custom component)
|
|
1371
|
+
- Navigation menu integration with highlighting
|
|
1372
|
+
- User menu with authentication and password management
|
|
1373
|
+
- Event selector for multi-tenant applications
|
|
1374
|
+
- Custom actions support
|
|
1375
|
+
- Responsive design with mobile considerations
|
|
1376
|
+
- Accessibility compliant with proper ARIA attributes
|
|
1377
|
+
- Backdrop blur effects for modern UI
|
|
1378
|
+
- Flexible layout with configurable sections
|
|
1954
1379
|
|
|
1955
1380
|
#### Parameters
|
|
1956
1381
|
|
|
1957
1382
|
| Name | Type | Description |
|
|
1958
1383
|
| :------ | :------ | :------ |
|
|
1959
|
-
| `props` |
|
|
1384
|
+
| `props` | `HeaderProps` | Header configuration including logo, navigation, user settings, and custom content |
|
|
1960
1385
|
|
|
1961
1386
|
#### Returns
|
|
1962
1387
|
|
|
1963
|
-
|
|
1388
|
+
`Element`
|
|
1964
1389
|
|
|
1965
|
-
React element with
|
|
1390
|
+
React element with complete header functionality
|
|
1966
1391
|
|
|
1967
|
-
|
|
1392
|
+
**`Example`**
|
|
1968
1393
|
|
|
1969
|
-
|
|
1394
|
+
Basic header with logo and navigation:
|
|
1395
|
+
```tsx
|
|
1396
|
+
import { Header } from '@jmruthers/pace-core';
|
|
1397
|
+
import { useNavigate, useLocation } from 'react-router-dom';
|
|
1970
1398
|
|
|
1971
|
-
|
|
1399
|
+
function AppHeader() {
|
|
1400
|
+
const navigate = useNavigate();
|
|
1401
|
+
const location = useLocation();
|
|
1972
1402
|
|
|
1973
|
-
|
|
1403
|
+
const navItems = [
|
|
1404
|
+
{ id: 'dashboard', label: 'Dashboard', href: '/dashboard' },
|
|
1405
|
+
{ id: 'meals', label: 'Meals', href: '/meals' },
|
|
1406
|
+
{ id: 'settings', label: 'Settings', href: '/settings' }
|
|
1407
|
+
];
|
|
1974
1408
|
|
|
1975
|
-
|
|
1409
|
+
return (
|
|
1410
|
+
<Header
|
|
1411
|
+
logoUrl="/company-logo.svg"
|
|
1412
|
+
logoAlt="My Company"
|
|
1413
|
+
navItems={navItems}
|
|
1414
|
+
currentPath={location.pathname}
|
|
1415
|
+
onNavigate={(item) => navigate(item.href)}
|
|
1416
|
+
user={currentUser}
|
|
1417
|
+
onSignOut={handleSignOut}
|
|
1418
|
+
/>
|
|
1419
|
+
);
|
|
1420
|
+
}
|
|
1421
|
+
```
|
|
1976
1422
|
|
|
1977
|
-
|
|
1423
|
+
**`Example`**
|
|
1978
1424
|
|
|
1979
|
-
|
|
1425
|
+
Header with custom actions:
|
|
1426
|
+
```tsx
|
|
1427
|
+
import { Header, Button } from '@jmruthers/pace-core';
|
|
1980
1428
|
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1429
|
+
function HeaderWithActions() {
|
|
1430
|
+
const customActions = (
|
|
1431
|
+
<div className="flex items-center gap-2">
|
|
1432
|
+
<Button variant="outline" size="sm">Export</Button>
|
|
1433
|
+
<Button size="sm">New Item</Button>
|
|
1434
|
+
</div>
|
|
1435
|
+
);
|
|
1984
1436
|
|
|
1985
|
-
|
|
1437
|
+
return (
|
|
1438
|
+
<Header
|
|
1439
|
+
logoUrl="/logo.svg"
|
|
1440
|
+
navItems={navigationItems}
|
|
1441
|
+
actions={customActions}
|
|
1442
|
+
user={currentUser}
|
|
1443
|
+
onSignOut={handleSignOut}
|
|
1444
|
+
/>
|
|
1445
|
+
);
|
|
1446
|
+
}
|
|
1447
|
+
```
|
|
1986
1448
|
|
|
1987
|
-
|
|
1449
|
+
**`Example`**
|
|
1450
|
+
|
|
1451
|
+
Minimal header configuration:
|
|
1452
|
+
```tsx
|
|
1453
|
+
function MinimalHeader() {
|
|
1454
|
+
return (
|
|
1455
|
+
<Header
|
|
1456
|
+
logoUrl="/simple-logo.svg"
|
|
1457
|
+
logoAlt="Simple App"
|
|
1458
|
+
showEventSelector={false}
|
|
1459
|
+
user={currentUser}
|
|
1460
|
+
onSignOut={handleSignOut}
|
|
1461
|
+
/>
|
|
1462
|
+
);
|
|
1463
|
+
}
|
|
1464
|
+
```
|
|
1465
|
+
|
|
1466
|
+
**`Since`**
|
|
1467
|
+
|
|
1468
|
+
0.1.0
|
|
1988
1469
|
|
|
1989
1470
|
#### Defined in
|
|
1990
1471
|
|
|
1991
|
-
[packages/core/src/components/
|
|
1472
|
+
[packages/core/src/components/Header/Header.tsx:219](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Header/Header.tsx#L219)
|
|
1992
1473
|
|
|
1993
1474
|
___
|
|
1994
1475
|
|
|
1995
|
-
###
|
|
1476
|
+
### Input
|
|
1996
1477
|
|
|
1997
|
-
▸ **
|
|
1478
|
+
▸ **Input**(`props`): `ReactNode`
|
|
1998
1479
|
|
|
1999
|
-
|
|
1480
|
+
Input component
|
|
1481
|
+
A flexible, accessible input component with multiple variants and sizes
|
|
2000
1482
|
|
|
2001
1483
|
#### Parameters
|
|
2002
1484
|
|
|
2003
|
-
| Name | Type |
|
|
2004
|
-
| :------ | :------ |
|
|
2005
|
-
| `props` | [`
|
|
1485
|
+
| Name | Type | Description |
|
|
1486
|
+
| :------ | :------ | :------ |
|
|
1487
|
+
| `props` | [`InputProps`](interfaces/InputProps.md) & `RefAttributes`\<`HTMLInputElement`\> | Input configuration and styling |
|
|
2006
1488
|
|
|
2007
1489
|
#### Returns
|
|
2008
1490
|
|
|
2009
|
-
`
|
|
2010
|
-
|
|
2011
|
-
#### Defined in
|
|
2012
|
-
|
|
2013
|
-
[packages/core/src/components/PublicLayout/EventLogo.tsx:279](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PublicLayout/EventLogo.tsx#L279)
|
|
2014
|
-
|
|
2015
|
-
___
|
|
2016
|
-
|
|
2017
|
-
### useErrorBoundary
|
|
1491
|
+
`ReactNode`
|
|
2018
1492
|
|
|
2019
|
-
|
|
1493
|
+
JSX.Element - The rendered input element
|
|
2020
1494
|
|
|
2021
|
-
|
|
2022
|
-
Useful for components that need to know if they're inside an error boundary
|
|
1495
|
+
**`Example`**
|
|
2023
1496
|
|
|
2024
|
-
|
|
1497
|
+
```tsx
|
|
1498
|
+
// Basic input
|
|
1499
|
+
<Input placeholder="Enter your name" />
|
|
2025
1500
|
|
|
2026
|
-
|
|
1501
|
+
// Input with error state
|
|
1502
|
+
<Input
|
|
1503
|
+
placeholder="Email"
|
|
1504
|
+
type="email"
|
|
1505
|
+
error={true}
|
|
1506
|
+
/>
|
|
2027
1507
|
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
1508
|
+
// Large input with destructive variant
|
|
1509
|
+
<Input
|
|
1510
|
+
variant="destructive"
|
|
1511
|
+
size="lg"
|
|
1512
|
+
placeholder="Error input"
|
|
1513
|
+
/>
|
|
1514
|
+
```
|
|
2032
1515
|
|
|
2033
1516
|
#### Defined in
|
|
2034
1517
|
|
|
2035
|
-
[packages/core/src/components/
|
|
1518
|
+
[packages/core/src/components/Input/Input.tsx:104](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Input/Input.tsx#L104)
|
|
2036
1519
|
|
|
2037
1520
|
___
|
|
2038
1521
|
|
|
2039
|
-
###
|
|
1522
|
+
### Label
|
|
2040
1523
|
|
|
2041
|
-
▸ **
|
|
1524
|
+
▸ **Label**(`props`): `ReactNode`
|
|
2042
1525
|
|
|
2043
|
-
|
|
1526
|
+
Label component
|
|
1527
|
+
An accessible label with helper text and error state support
|
|
2044
1528
|
|
|
2045
1529
|
#### Parameters
|
|
2046
1530
|
|
|
2047
|
-
| Name | Type |
|
|
2048
|
-
| :------ | :------ |
|
|
2049
|
-
|
|
|
1531
|
+
| Name | Type | Description |
|
|
1532
|
+
| :------ | :------ | :------ |
|
|
1533
|
+
| `props` | [`LabelProps`](interfaces/LabelProps.md) & `RefAttributes`\<`HTMLLabelElement`\> | Label configuration and styling |
|
|
2050
1534
|
|
|
2051
1535
|
#### Returns
|
|
2052
1536
|
|
|
2053
|
-
`
|
|
1537
|
+
`ReactNode`
|
|
1538
|
+
|
|
1539
|
+
JSX.Element - The rendered label with optional helper text and errors
|
|
1540
|
+
|
|
1541
|
+
**`Example`**
|
|
1542
|
+
|
|
1543
|
+
```tsx
|
|
1544
|
+
<Label htmlFor="email" required helperText="We'll never share your email">
|
|
1545
|
+
Email Address
|
|
1546
|
+
</Label>
|
|
1547
|
+
```
|
|
2054
1548
|
|
|
2055
1549
|
#### Defined in
|
|
2056
1550
|
|
|
2057
|
-
[packages/core/src/components/
|
|
1551
|
+
[packages/core/src/components/Label/Label.tsx:120](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Label/Label.tsx#L120)
|
|
2058
1552
|
|
|
2059
1553
|
___
|
|
2060
1554
|
|
|
2061
|
-
###
|
|
2062
|
-
|
|
2063
|
-
▸ **PublicLoadingSpinner**(`props`): `Element`
|
|
1555
|
+
### LoadingSpinner
|
|
2064
1556
|
|
|
2065
|
-
|
|
1557
|
+
▸ **LoadingSpinner**(`props`, `deprecatedLegacyContext?`): `ReactNode`
|
|
2066
1558
|
|
|
2067
|
-
|
|
2068
|
-
|
|
1559
|
+
LoadingSpinner component
|
|
1560
|
+
A simple, accessible loading spinner for indicating loading states
|
|
2069
1561
|
|
|
2070
1562
|
#### Parameters
|
|
2071
1563
|
|
|
2072
1564
|
| Name | Type | Description |
|
|
2073
1565
|
| :------ | :------ | :------ |
|
|
2074
|
-
| `props` |
|
|
1566
|
+
| `props` | `LoadingSpinnerProps` | Spinner configuration and styling |
|
|
1567
|
+
| `deprecatedLegacyContext?` | `any` | **`See`** [React Docs](https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods) |
|
|
2075
1568
|
|
|
2076
1569
|
#### Returns
|
|
2077
1570
|
|
|
2078
|
-
`
|
|
1571
|
+
`ReactNode`
|
|
2079
1572
|
|
|
2080
|
-
|
|
1573
|
+
JSX.Element - The rendered loading spinner
|
|
1574
|
+
|
|
1575
|
+
**`Example`**
|
|
1576
|
+
|
|
1577
|
+
```tsx
|
|
1578
|
+
<LoadingSpinner size="lg" className="text-app-main-500" />
|
|
1579
|
+
```
|
|
2081
1580
|
|
|
2082
1581
|
#### Defined in
|
|
2083
1582
|
|
|
2084
|
-
[packages/core/src/components/
|
|
1583
|
+
[packages/core/src/components/LoadingSpinner/LoadingSpinner.tsx:83](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/LoadingSpinner/LoadingSpinner.tsx#L83)
|
|
2085
1584
|
|
|
2086
1585
|
___
|
|
2087
1586
|
|
|
2088
|
-
###
|
|
1587
|
+
### LoginForm
|
|
2089
1588
|
|
|
2090
|
-
▸ **
|
|
1589
|
+
▸ **LoginForm**(`props`): `ReactNode`
|
|
2091
1590
|
|
|
2092
|
-
|
|
1591
|
+
LoginForm component that provides a ready-to-use authentication form for user sign-in.
|
|
1592
|
+
It supports validation, loading state, error handling, and can be customized via props.
|
|
1593
|
+
Now includes performance optimizations and onSignUp support.
|
|
2093
1594
|
|
|
2094
1595
|
#### Parameters
|
|
2095
1596
|
|
|
2096
|
-
| Name | Type |
|
|
2097
|
-
| :------ | :------ |
|
|
2098
|
-
|
|
|
1597
|
+
| Name | Type | Description |
|
|
1598
|
+
| :------ | :------ | :------ |
|
|
1599
|
+
| `props` | [`LoginFormProps`](interfaces/LoginFormProps.md) | Login form configuration and handlers |
|
|
2099
1600
|
|
|
2100
1601
|
#### Returns
|
|
2101
1602
|
|
|
2102
|
-
`
|
|
1603
|
+
`ReactNode`
|
|
1604
|
+
|
|
1605
|
+
JSX.Element - The rendered login form
|
|
1606
|
+
|
|
1607
|
+
**`Example`**
|
|
1608
|
+
|
|
1609
|
+
```tsx
|
|
1610
|
+
<LoginForm
|
|
1611
|
+
onSignIn={handleSignIn}
|
|
1612
|
+
onSuccess={() => navigate('/dashboard')}
|
|
1613
|
+
onError={(error) => toast.error(error.message)}
|
|
1614
|
+
isLoading={isAuthenticating}
|
|
1615
|
+
/>
|
|
1616
|
+
```
|
|
2103
1617
|
|
|
2104
1618
|
#### Defined in
|
|
2105
1619
|
|
|
2106
|
-
[packages/core/src/components/
|
|
1620
|
+
[packages/core/src/components/LoginForm/LoginForm.tsx:150](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/LoginForm/LoginForm.tsx#L150)
|
|
2107
1621
|
|
|
2108
1622
|
___
|
|
2109
1623
|
|
|
2110
|
-
###
|
|
1624
|
+
### NavigationMenu
|
|
1625
|
+
|
|
1626
|
+
▸ **NavigationMenu**(`props`): `ReactNode`
|
|
2111
1627
|
|
|
2112
|
-
|
|
1628
|
+
Unified NavigationMenu component that supports both dropdown and hierarchical navigation modes.
|
|
1629
|
+
|
|
1630
|
+
A flexible navigation menu component with support for icons, current page highlighting,
|
|
1631
|
+
keyboard navigation, and nested menu items.
|
|
2113
1632
|
|
|
2114
|
-
|
|
1633
|
+
Features:
|
|
1634
|
+
- Dropdown mode: Menu button that opens a dropdown list
|
|
1635
|
+
- Hierarchical mode: Expandable tree navigation with nested items
|
|
1636
|
+
- Icon support for navigation items
|
|
1637
|
+
- Current page highlighting
|
|
1638
|
+
- Keyboard navigation support (Enter, Space, Escape)
|
|
1639
|
+
- Accessible design with proper ARIA attributes
|
|
1640
|
+
- Click outside to close (dropdown mode)
|
|
1641
|
+
- Recursive rendering for nested items (hierarchical mode)
|
|
2115
1642
|
|
|
2116
1643
|
#### Parameters
|
|
2117
1644
|
|
|
2118
|
-
| Name | Type |
|
|
1645
|
+
| Name | Type | Description |
|
|
2119
1646
|
| :------ | :------ | :------ |
|
|
2120
|
-
|
|
|
2121
|
-
| › `lines?` | `number` | `3` |
|
|
2122
|
-
| › `className?` | `string` | `''` |
|
|
1647
|
+
| `props` | [`NavigationMenuProps`](interfaces/NavigationMenuProps.md) & `RefAttributes`\<`HTMLDivElement`\> | NavigationMenu component props including items, mode, navigation handlers, and styling options |
|
|
2123
1648
|
|
|
2124
1649
|
#### Returns
|
|
2125
1650
|
|
|
2126
|
-
`
|
|
1651
|
+
`ReactNode`
|
|
2127
1652
|
|
|
2128
|
-
|
|
1653
|
+
React element with navigation menu functionality
|
|
2129
1654
|
|
|
2130
|
-
|
|
1655
|
+
**`Example`**
|
|
2131
1656
|
|
|
2132
|
-
|
|
1657
|
+
Basic dropdown navigation (most common use case):
|
|
1658
|
+
```tsx
|
|
1659
|
+
import { NavigationMenu } from '@jmruthers/pace-core';
|
|
1660
|
+
import { useNavigate, useLocation } from 'react-router-dom';
|
|
2133
1661
|
|
|
2134
|
-
|
|
1662
|
+
function AppNavigation() {
|
|
1663
|
+
const navigate = useNavigate();
|
|
1664
|
+
const location = useLocation();
|
|
2135
1665
|
|
|
2136
|
-
|
|
1666
|
+
const navItems = [
|
|
1667
|
+
{ id: 'home', label: 'Home', href: '/', icon: 'Home' },
|
|
1668
|
+
{ id: 'dashboard', label: 'Dashboard', href: '/dashboard', icon: 'LayoutDashboard' },
|
|
1669
|
+
{ id: 'reports', label: 'Reports', href: '/reports', icon: 'FileText' },
|
|
1670
|
+
{ id: 'settings', label: 'Settings', href: '/settings', icon: 'Settings' }
|
|
1671
|
+
];
|
|
2137
1672
|
|
|
2138
|
-
|
|
1673
|
+
return (
|
|
1674
|
+
<NavigationMenu
|
|
1675
|
+
items={navItems}
|
|
1676
|
+
mode="dropdown"
|
|
1677
|
+
currentPath={location.pathname}
|
|
1678
|
+
onNavigate={(item) => navigate(item.href)}
|
|
1679
|
+
buttonText="Main Menu"
|
|
1680
|
+
showIcons={true}
|
|
1681
|
+
/>
|
|
1682
|
+
);
|
|
1683
|
+
}
|
|
1684
|
+
```
|
|
2139
1685
|
|
|
2140
|
-
|
|
2141
|
-
is being triggered in a public page.
|
|
1686
|
+
**`Example`**
|
|
2142
1687
|
|
|
2143
|
-
|
|
1688
|
+
Hierarchical navigation with nested items:
|
|
1689
|
+
```tsx
|
|
1690
|
+
import { NavigationMenu } from '@jmruthers/pace-core';
|
|
2144
1691
|
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
1692
|
+
function SidebarNavigation() {
|
|
1693
|
+
const hierarchicalItems = [
|
|
1694
|
+
{
|
|
1695
|
+
id: 'user-management',
|
|
1696
|
+
label: 'User Management',
|
|
1697
|
+
icon: 'Users',
|
|
1698
|
+
children: [
|
|
1699
|
+
{ id: 'users-list', label: 'All Users', href: '/users' },
|
|
1700
|
+
{ id: 'users-create', label: 'Create User', href: '/users/create' },
|
|
1701
|
+
{ id: 'user-roles', label: 'User Roles', href: '/users/roles' }
|
|
1702
|
+
]
|
|
1703
|
+
},
|
|
1704
|
+
{
|
|
1705
|
+
id: 'reports',
|
|
1706
|
+
label: 'Reports',
|
|
1707
|
+
icon: 'BarChart',
|
|
1708
|
+
children: [
|
|
1709
|
+
{ id: 'sales-reports', label: 'Sales Reports', href: '/reports/sales' },
|
|
1710
|
+
{ id: 'user-reports', label: 'User Reports', href: '/reports/users' }
|
|
1711
|
+
]
|
|
1712
|
+
},
|
|
1713
|
+
{ id: 'settings', label: 'Settings', href: '/settings', icon: 'Settings' }
|
|
1714
|
+
];
|
|
2148
1715
|
|
|
2149
|
-
|
|
1716
|
+
return (
|
|
1717
|
+
<NavigationMenu
|
|
1718
|
+
items={hierarchicalItems}
|
|
1719
|
+
mode="hierarchical"
|
|
1720
|
+
currentPath={window.location.pathname}
|
|
1721
|
+
onNavigate={(item) => {
|
|
1722
|
+
if (item.href) {
|
|
1723
|
+
window.location.href = item.href;
|
|
1724
|
+
}
|
|
1725
|
+
}}
|
|
1726
|
+
className="w-64 bg-gray-50 p-4"
|
|
1727
|
+
/>
|
|
1728
|
+
);
|
|
1729
|
+
}
|
|
1730
|
+
```
|
|
2150
1731
|
|
|
2151
|
-
|
|
1732
|
+
**`Example`**
|
|
2152
1733
|
|
|
2153
|
-
|
|
1734
|
+
Integration with React Router and authentication:
|
|
1735
|
+
```tsx
|
|
1736
|
+
import { NavigationMenu } from '@jmruthers/pace-core';
|
|
1737
|
+
import { useNavigate, useLocation } from 'react-router-dom';
|
|
1738
|
+
import { useUnifiedAuth } from '@jmruthers/pace-core/providers';
|
|
2154
1739
|
|
|
2155
|
-
|
|
1740
|
+
function AuthenticatedNavigation() {
|
|
1741
|
+
const navigate = useNavigate();
|
|
1742
|
+
const location = useLocation();
|
|
1743
|
+
const { hasRole, hasPermission } = useUnifiedAuth();
|
|
2156
1744
|
|
|
2157
|
-
|
|
1745
|
+
// Build navigation items based on user permissions
|
|
1746
|
+
const navItems = [
|
|
1747
|
+
{ id: 'dashboard', label: 'Dashboard', href: '/dashboard', icon: 'LayoutDashboard' },
|
|
1748
|
+
...(hasPermission('meals:read') ? [
|
|
1749
|
+
{ id: 'meals', label: 'Meals', href: '/meals', icon: 'UtensilsCrossed' }
|
|
1750
|
+
] : []),
|
|
1751
|
+
...(hasRole('admin') ? [
|
|
1752
|
+
{ id: 'admin', label: 'Admin Panel', href: '/admin', icon: 'Shield' }
|
|
1753
|
+
] : []),
|
|
1754
|
+
{ id: 'profile', label: 'Profile', href: '/profile', icon: 'User' }
|
|
1755
|
+
];
|
|
2158
1756
|
|
|
2159
|
-
|
|
1757
|
+
return (
|
|
1758
|
+
<NavigationMenu
|
|
1759
|
+
items={navItems}
|
|
1760
|
+
mode="dropdown"
|
|
1761
|
+
currentPath={location.pathname}
|
|
1762
|
+
onNavigate={(item) => navigate(item.href)}
|
|
1763
|
+
buttonText="Navigation"
|
|
1764
|
+
navigationLabel="Main application navigation"
|
|
1765
|
+
/>
|
|
1766
|
+
);
|
|
1767
|
+
}
|
|
1768
|
+
```
|
|
2160
1769
|
|
|
2161
|
-
|
|
1770
|
+
**`Example`**
|
|
2162
1771
|
|
|
2163
|
-
|
|
1772
|
+
Custom navigation with external links and actions:
|
|
1773
|
+
```tsx
|
|
1774
|
+
import { NavigationMenu } from '@jmruthers/pace-core';
|
|
2164
1775
|
|
|
2165
|
-
|
|
2166
|
-
|
|
1776
|
+
function CustomNavigation() {
|
|
1777
|
+
const handleNavigation = (item) => {
|
|
1778
|
+
if (item.id === 'logout') {
|
|
1779
|
+
// Handle logout action
|
|
1780
|
+
handleLogout();
|
|
1781
|
+
} else if (item.href?.startsWith('http')) {
|
|
1782
|
+
// Handle external links
|
|
1783
|
+
window.open(item.href, '_blank');
|
|
1784
|
+
} else if (item.href) {
|
|
1785
|
+
// Handle internal navigation
|
|
1786
|
+
navigate(item.href);
|
|
1787
|
+
}
|
|
1788
|
+
};
|
|
2167
1789
|
|
|
2168
|
-
|
|
1790
|
+
const navItems = [
|
|
1791
|
+
{ id: 'home', label: 'Home', href: '/', icon: 'Home' },
|
|
1792
|
+
{ id: 'help', label: 'Help Center', href: 'https://help.example.com', icon: 'HelpCircle' },
|
|
1793
|
+
{ id: 'logout', label: 'Sign Out', icon: 'LogOut' } // No href for actions
|
|
1794
|
+
];
|
|
2169
1795
|
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
1796
|
+
return (
|
|
1797
|
+
<NavigationMenu
|
|
1798
|
+
items={navItems}
|
|
1799
|
+
mode="dropdown"
|
|
1800
|
+
onNavigate={handleNavigation}
|
|
1801
|
+
buttonText="Menu"
|
|
1802
|
+
disabled={false}
|
|
1803
|
+
/>
|
|
1804
|
+
);
|
|
1805
|
+
}
|
|
1806
|
+
```
|
|
2173
1807
|
|
|
2174
|
-
|
|
1808
|
+
**`Since`**
|
|
2175
1809
|
|
|
2176
|
-
|
|
1810
|
+
0.1.0
|
|
2177
1811
|
|
|
2178
1812
|
#### Defined in
|
|
2179
1813
|
|
|
2180
|
-
[packages/core/src/components/
|
|
1814
|
+
[packages/core/src/components/NavigationMenu/NavigationMenu.tsx:377](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/NavigationMenu/NavigationMenu.tsx#L377)
|
|
2181
1815
|
|
|
2182
1816
|
___
|
|
2183
1817
|
|
|
2184
|
-
###
|
|
1818
|
+
### OrganisationSelector
|
|
2185
1819
|
|
|
2186
|
-
▸ **
|
|
1820
|
+
▸ **OrganisationSelector**(`«destructured»`): ``null`` \| `Element`
|
|
2187
1821
|
|
|
2188
|
-
|
|
1822
|
+
OrganisationSelector component for secure organisation switching
|
|
1823
|
+
|
|
1824
|
+
This component provides secure organisation selection with:
|
|
1825
|
+
- User membership validation
|
|
1826
|
+
- Role-based access display
|
|
1827
|
+
- Security error handling
|
|
1828
|
+
- Real-time organisation switching
|
|
1829
|
+
- Accessible interface design
|
|
2189
1830
|
|
|
2190
|
-
|
|
2191
|
-
in your public page implementation.
|
|
1831
|
+
Security: Only shows organisations the user has valid access to
|
|
2192
1832
|
|
|
2193
1833
|
#### Parameters
|
|
2194
1834
|
|
|
2195
1835
|
| Name | Type |
|
|
2196
1836
|
| :------ | :------ |
|
|
2197
|
-
| `«destructured»` | `
|
|
1837
|
+
| `«destructured»` | `OrganisationSelectorProps` |
|
|
2198
1838
|
|
|
2199
1839
|
#### Returns
|
|
2200
1840
|
|
|
@@ -2202,139 +1842,236 @@ in your public page implementation.
|
|
|
2202
1842
|
|
|
2203
1843
|
#### Defined in
|
|
2204
1844
|
|
|
2205
|
-
[packages/core/src/components/
|
|
1845
|
+
[packages/core/src/components/OrganisationSelector/OrganisationSelector.tsx:96](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/OrganisationSelector/OrganisationSelector.tsx#L96)
|
|
2206
1846
|
|
|
2207
1847
|
___
|
|
2208
1848
|
|
|
2209
|
-
###
|
|
1849
|
+
### PaceAppLayout
|
|
1850
|
+
|
|
1851
|
+
▸ **PaceAppLayout**(`props`): `Element`
|
|
2210
1852
|
|
|
2211
|
-
|
|
1853
|
+
A consistent layout component for all PACE suite applications that provides a standard
|
|
1854
|
+
structure with header, main content area, and footer.
|
|
1855
|
+
|
|
1856
|
+
NEW: This component now includes layout-level permission enforcement to ensure
|
|
1857
|
+
consuming apps can't forget to implement permission checks on individual pages.
|
|
2212
1858
|
|
|
2213
|
-
|
|
1859
|
+
This component is designed to work with React Router's nested routing pattern using
|
|
1860
|
+
Outlet to render child routes. It provides integrated authentication, navigation,
|
|
1861
|
+
and user management functionality.
|
|
2214
1862
|
|
|
2215
|
-
|
|
2216
|
-
|
|
1863
|
+
Features:
|
|
1864
|
+
- React Router v6 integration with nested routing
|
|
1865
|
+
- Unified authentication integration
|
|
1866
|
+
- Consistent header with navigation and user menu
|
|
1867
|
+
- Flexible main content area with Outlet
|
|
1868
|
+
- Footer with application branding
|
|
1869
|
+
- User sign-out and password change functionality
|
|
1870
|
+
- Responsive design and accessibility compliant
|
|
1871
|
+
- Layout-level permission enforcement
|
|
1872
|
+
- Permission-based navigation filtering
|
|
1873
|
+
- Automatic page permission validation
|
|
2217
1874
|
|
|
2218
1875
|
#### Parameters
|
|
2219
1876
|
|
|
2220
1877
|
| Name | Type | Description |
|
|
2221
1878
|
| :------ | :------ | :------ |
|
|
2222
|
-
| `props` | [`
|
|
1879
|
+
| `props` | [`PaceAppLayoutProps`](interfaces/PaceAppLayoutProps.md) | Layout configuration including app name for branding and permission settings |
|
|
2223
1880
|
|
|
2224
1881
|
#### Returns
|
|
2225
1882
|
|
|
2226
|
-
`Element`
|
|
1883
|
+
`Element`
|
|
1884
|
+
|
|
1885
|
+
React element with complete application layout structure and permission enforcement
|
|
1886
|
+
|
|
1887
|
+
**`Example`**
|
|
1888
|
+
|
|
1889
|
+
Basic React Router setup with permission enforcement:
|
|
1890
|
+
```tsx
|
|
1891
|
+
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
|
|
1892
|
+
import { UnifiedAuthProvider } from '@jmruthers/pace-core/providers';
|
|
1893
|
+
import { PaceAppLayout, PaceLoginPage } from '@jmruthers/pace-core';
|
|
1894
|
+
|
|
1895
|
+
function App() {
|
|
1896
|
+
return (
|
|
1897
|
+
<UnifiedAuthProvider supabaseClient={supabase} appName="My App">
|
|
1898
|
+
<Router>
|
|
1899
|
+
<Routes>
|
|
1900
|
+
<Route path="/login" element={<PaceLoginPage appName="My App" />} />
|
|
1901
|
+
<Route path="/" element={
|
|
1902
|
+
<PaceAppLayout
|
|
1903
|
+
appName="My Application"
|
|
1904
|
+
enforcePermissions={true}
|
|
1905
|
+
defaultPermission="read"
|
|
1906
|
+
/>
|
|
1907
|
+
}>
|
|
1908
|
+
<Route index element={<HomePage />} />
|
|
1909
|
+
<Route path="dashboard" element={<DashboardPage />} />
|
|
1910
|
+
<Route path="meals" element={<MealsPage />} />
|
|
1911
|
+
</Route>
|
|
1912
|
+
</Routes>
|
|
1913
|
+
</Router>
|
|
1914
|
+
</UnifiedAuthProvider>
|
|
1915
|
+
);
|
|
1916
|
+
}
|
|
1917
|
+
```
|
|
1918
|
+
|
|
1919
|
+
**`Example`**
|
|
1920
|
+
|
|
1921
|
+
Custom navigation items with permission filtering:
|
|
1922
|
+
```tsx
|
|
1923
|
+
import { NavigationItem } from '@jmruthers/pace-core';
|
|
1924
|
+
|
|
1925
|
+
function App() {
|
|
1926
|
+
const customNavItems: NavigationItem[] = [
|
|
1927
|
+
{ id: 'components', label: 'Components', href: '/components', icon: 'Component' },
|
|
1928
|
+
{ id: 'styles', label: 'Styles', href: '/styles', icon: 'Palette' },
|
|
1929
|
+
{ id: 'meals', label: 'Meals', href: '/meals', icon: 'UtensilsCrossed' }
|
|
1930
|
+
];
|
|
1931
|
+
|
|
1932
|
+
return (
|
|
1933
|
+
<Router>
|
|
1934
|
+
<Routes>
|
|
1935
|
+
<Route path="/" element={
|
|
1936
|
+
<PaceAppLayout
|
|
1937
|
+
appName="My Custom App"
|
|
1938
|
+
navItems={customNavItems}
|
|
1939
|
+
enforcePermissions={true}
|
|
1940
|
+
filterNavigationByPermissions={true}
|
|
1941
|
+
routePermissions={{
|
|
1942
|
+
'/components': 'read',
|
|
1943
|
+
'/styles': 'read',
|
|
1944
|
+
'/meals': 'read'
|
|
1945
|
+
}}
|
|
1946
|
+
/>
|
|
1947
|
+
}>
|
|
1948
|
+
<Route path="components" element={<ComponentsPage />} />
|
|
1949
|
+
<Route path="styles" element={<StylesPage />} />
|
|
1950
|
+
<Route path="meals" element={<MealsPage />} />
|
|
1951
|
+
</Route>
|
|
1952
|
+
</Routes>
|
|
1953
|
+
</Router>
|
|
1954
|
+
);
|
|
1955
|
+
}
|
|
1956
|
+
```
|
|
1957
|
+
|
|
1958
|
+
**`Example`**
|
|
1959
|
+
|
|
1960
|
+
Route-specific permissions with custom page IDs:
|
|
1961
|
+
```tsx
|
|
1962
|
+
function AdminApp() {
|
|
1963
|
+
return (
|
|
1964
|
+
<Router>
|
|
1965
|
+
<Routes>
|
|
1966
|
+
<Route path="/" element={
|
|
1967
|
+
<PaceAppLayout
|
|
1968
|
+
appName="Admin Panel"
|
|
1969
|
+
enforcePermissions={true}
|
|
1970
|
+
routePermissions={{
|
|
1971
|
+
'/dashboard': 'read',
|
|
1972
|
+
'/user-management': 'read',
|
|
1973
|
+
'/system-settings': 'update'
|
|
1974
|
+
}}
|
|
1975
|
+
pageIdMapping={{
|
|
1976
|
+
'/dashboard': 'dashboard',
|
|
1977
|
+
'/user-management': 'user-management',
|
|
1978
|
+
'/system-settings': 'system-admin'
|
|
1979
|
+
}}
|
|
1980
|
+
permissionFallback={<AccessDeniedPage />}
|
|
1981
|
+
/>
|
|
1982
|
+
}>
|
|
1983
|
+
<Route path="dashboard" element={<DashboardPage />} />
|
|
1984
|
+
<Route path="user-management" element={<UserManagementPage />} />
|
|
1985
|
+
<Route path="system-settings" element={<SystemSettingsPage />} />
|
|
1986
|
+
</Route>
|
|
1987
|
+
</Routes>
|
|
1988
|
+
</Router>
|
|
1989
|
+
);
|
|
1990
|
+
}
|
|
1991
|
+
```
|
|
1992
|
+
|
|
1993
|
+
**`Since`**
|
|
2227
1994
|
|
|
2228
|
-
|
|
1995
|
+
0.1.0
|
|
2229
1996
|
|
|
2230
1997
|
#### Defined in
|
|
2231
1998
|
|
|
2232
|
-
[packages/core/src/components/
|
|
1999
|
+
[packages/core/src/components/PaceAppLayout/PaceAppLayout.tsx:331](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PaceAppLayout/PaceAppLayout.tsx#L331)
|
|
2233
2000
|
|
|
2234
2001
|
___
|
|
2235
2002
|
|
|
2236
|
-
###
|
|
2003
|
+
### PaceLoginPage
|
|
2237
2004
|
|
|
2238
|
-
▸ **
|
|
2005
|
+
▸ **PaceLoginPage**(`props`, `deprecatedLegacyContext?`): `ReactNode`
|
|
2239
2006
|
|
|
2240
|
-
|
|
2007
|
+
A consistent, reusable login page for all PACE suite applications.
|
|
2008
|
+
It handles the sign-in logic with role-based automatic redirection for admin users,
|
|
2009
|
+
enhanced error handling, and dual loading state management.
|
|
2241
2010
|
|
|
2242
|
-
|
|
2243
|
-
|
|
2011
|
+
Recent enhancements:
|
|
2012
|
+
- Role-based redirection: Admin users are automatically redirected
|
|
2013
|
+
- Enhanced error handling with navigation error recovery
|
|
2014
|
+
- Dual loading states: auth loading + form submission loading
|
|
2015
|
+
- Error persistence: Auth errors are displayed below the form
|
|
2016
|
+
- Navigation safety: Try-catch blocks prevent navigation errors
|
|
2244
2017
|
|
|
2245
2018
|
#### Parameters
|
|
2246
2019
|
|
|
2247
2020
|
| Name | Type | Description |
|
|
2248
2021
|
| :------ | :------ | :------ |
|
|
2249
|
-
| `props` | [`
|
|
2022
|
+
| `props` | [`PaceLoginPageProps`](interfaces/PaceLoginPageProps.md) | Login page configuration including app name and redirect path |
|
|
2023
|
+
| `deprecatedLegacyContext?` | `any` | **`See`** [React Docs](https://legacy.reactjs.org/docs/legacy-context.html#referencing-context-in-lifecycle-methods) |
|
|
2250
2024
|
|
|
2251
2025
|
#### Returns
|
|
2252
2026
|
|
|
2253
|
-
`
|
|
2254
|
-
|
|
2255
|
-
React element with public page header
|
|
2256
|
-
|
|
2257
|
-
#### Defined in
|
|
2258
|
-
|
|
2259
|
-
[packages/core/src/components/PublicLayout/PublicPageHeader.tsx:85](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PublicLayout/PublicPageHeader.tsx#L85)
|
|
2260
|
-
|
|
2261
|
-
___
|
|
2262
|
-
|
|
2263
|
-
### PublicPageLayout
|
|
2264
|
-
|
|
2265
|
-
▸ **PublicPageLayout**(`props`): `Element`
|
|
2266
|
-
|
|
2267
|
-
Layout component for public pages that don't require authentication
|
|
2268
|
-
|
|
2269
|
-
This component provides a consistent structure for public event pages
|
|
2270
|
-
with event-specific branding, error handling, and loading states.
|
|
2271
|
-
|
|
2272
|
-
#### Parameters
|
|
2273
|
-
|
|
2274
|
-
| Name | Type | Description |
|
|
2275
|
-
| :------ | :------ | :------ |
|
|
2276
|
-
| `props` | [`PublicPageLayoutProps`](interfaces/PublicPageLayoutProps.md) | Layout configuration and content |
|
|
2027
|
+
`ReactNode`
|
|
2277
2028
|
|
|
2278
|
-
|
|
2029
|
+
JSX.Element - The rendered login page with enhanced functionality
|
|
2279
2030
|
|
|
2280
|
-
|
|
2031
|
+
**`Example`**
|
|
2281
2032
|
|
|
2282
|
-
|
|
2033
|
+
```tsx
|
|
2034
|
+
<PaceLoginPage
|
|
2035
|
+
appName="My Application"
|
|
2036
|
+
onSuccessRedirectPath="/dashboard"
|
|
2037
|
+
/>
|
|
2038
|
+
```
|
|
2283
2039
|
|
|
2284
2040
|
#### Defined in
|
|
2285
2041
|
|
|
2286
|
-
[packages/core/src/components/
|
|
2042
|
+
[packages/core/src/components/PaceLoginPage/PaceLoginPage.tsx:160](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PaceLoginPage/PaceLoginPage.tsx#L160)
|
|
2287
2043
|
|
|
2288
2044
|
___
|
|
2289
2045
|
|
|
2290
|
-
###
|
|
2046
|
+
### PasswordChangeForm
|
|
2291
2047
|
|
|
2292
|
-
▸ **
|
|
2048
|
+
▸ **PasswordChangeForm**(`«destructured»`): `Element`
|
|
2293
2049
|
|
|
2294
|
-
|
|
2295
|
-
Provides access to event data and layout state within public pages
|
|
2050
|
+
#### Parameters
|
|
2296
2051
|
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2052
|
+
| Name | Type |
|
|
2053
|
+
| :------ | :------ |
|
|
2054
|
+
| `«destructured»` | `PasswordChangeFormProps` |
|
|
2300
2055
|
|
|
2301
2056
|
#### Returns
|
|
2302
2057
|
|
|
2303
|
-
`
|
|
2304
|
-
|
|
2305
|
-
| Name | Type |
|
|
2306
|
-
| :------ | :------ |
|
|
2307
|
-
| `eventCode` | ``null`` |
|
|
2308
|
-
| `eventId` | ``null`` |
|
|
2309
|
-
| `event` | ``null`` |
|
|
2310
|
-
| `isLoading` | `boolean` |
|
|
2311
|
-
| `error` | ``null`` |
|
|
2312
|
-
| `refetch` | () => `Promise`\<`void`\> |
|
|
2313
|
-
| `isPublicPage` | `boolean` |
|
|
2058
|
+
`Element`
|
|
2314
2059
|
|
|
2315
2060
|
#### Defined in
|
|
2316
2061
|
|
|
2317
|
-
[packages/core/src/components/
|
|
2062
|
+
[packages/core/src/components/PasswordReset/PasswordChangeForm.tsx:116](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PasswordReset/PasswordChangeForm.tsx#L116)
|
|
2318
2063
|
|
|
2319
2064
|
___
|
|
2320
2065
|
|
|
2321
|
-
###
|
|
2322
|
-
|
|
2323
|
-
▸ **PublicPageProvider**(`«destructured»`): `Element`
|
|
2324
|
-
|
|
2325
|
-
Provider for public pages that completely isolates them from authentication context
|
|
2066
|
+
### PasswordResetForm
|
|
2326
2067
|
|
|
2327
|
-
|
|
2328
|
-
- Does not initialize any authentication providers
|
|
2329
|
-
- Provides environment variables for public data access
|
|
2330
|
-
- Includes error boundary for graceful error handling
|
|
2331
|
-
- Is completely separate from the main app context
|
|
2068
|
+
▸ **PasswordResetForm**(`«destructured»`): `Element`
|
|
2332
2069
|
|
|
2333
2070
|
#### Parameters
|
|
2334
2071
|
|
|
2335
2072
|
| Name | Type |
|
|
2336
2073
|
| :------ | :------ |
|
|
2337
|
-
| `«destructured»` | `
|
|
2074
|
+
| `«destructured»` | `PasswordResetFormProps` |
|
|
2338
2075
|
|
|
2339
2076
|
#### Returns
|
|
2340
2077
|
|
|
@@ -2342,43 +2079,38 @@ This provider:
|
|
|
2342
2079
|
|
|
2343
2080
|
#### Defined in
|
|
2344
2081
|
|
|
2345
|
-
[packages/core/src/components/
|
|
2082
|
+
[packages/core/src/components/PasswordReset/PasswordResetForm.tsx:94](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/PasswordReset/PasswordResetForm.tsx#L94)
|
|
2346
2083
|
|
|
2347
2084
|
___
|
|
2348
2085
|
|
|
2349
|
-
###
|
|
2350
|
-
|
|
2351
|
-
▸ **usePublicPageProviderContext**(): `PublicPageContextType`
|
|
2352
|
-
|
|
2353
|
-
Hook to access public page context
|
|
2354
|
-
|
|
2355
|
-
#### Returns
|
|
2356
|
-
|
|
2357
|
-
`PublicPageContextType`
|
|
2358
|
-
|
|
2359
|
-
Public page context with environment variables
|
|
2086
|
+
### Progress
|
|
2360
2087
|
|
|
2361
|
-
|
|
2088
|
+
▸ **Progress**(`props`): `ReactNode`
|
|
2362
2089
|
|
|
2363
|
-
|
|
2090
|
+
Progress component
|
|
2091
|
+
An accessible progress bar with smooth animations
|
|
2364
2092
|
|
|
2365
|
-
|
|
2093
|
+
#### Parameters
|
|
2366
2094
|
|
|
2367
|
-
|
|
2095
|
+
| Name | Type | Description |
|
|
2096
|
+
| :------ | :------ | :------ |
|
|
2097
|
+
| `props` | `ProgressProps` & `RefAttributes`\<`HTMLDivElement`\> | Progress configuration and styling |
|
|
2368
2098
|
|
|
2369
|
-
|
|
2099
|
+
#### Returns
|
|
2370
2100
|
|
|
2371
|
-
|
|
2101
|
+
`ReactNode`
|
|
2372
2102
|
|
|
2373
|
-
|
|
2103
|
+
JSX.Element - The rendered progress bar
|
|
2374
2104
|
|
|
2375
|
-
|
|
2105
|
+
**`Example`**
|
|
2376
2106
|
|
|
2377
|
-
|
|
2107
|
+
```tsx
|
|
2108
|
+
<Progress value={75} max={100} />
|
|
2109
|
+
```
|
|
2378
2110
|
|
|
2379
2111
|
#### Defined in
|
|
2380
2112
|
|
|
2381
|
-
[packages/core/src/components/
|
|
2113
|
+
[packages/core/src/components/Progress/Progress.tsx:90](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Progress/Progress.tsx#L90)
|
|
2382
2114
|
|
|
2383
2115
|
___
|
|
2384
2116
|
|
|
@@ -2390,7 +2122,7 @@ ___
|
|
|
2390
2122
|
|
|
2391
2123
|
| Name | Type |
|
|
2392
2124
|
| :------ | :------ |
|
|
2393
|
-
| `props` | `SelectProps` & `RefAttributes`\<`
|
|
2125
|
+
| `props` | `SelectProps` & `RefAttributes`\<`HTMLDivElement`\> |
|
|
2394
2126
|
|
|
2395
2127
|
#### Returns
|
|
2396
2128
|
|
|
@@ -2398,7 +2130,7 @@ ___
|
|
|
2398
2130
|
|
|
2399
2131
|
#### Defined in
|
|
2400
2132
|
|
|
2401
|
-
[packages/core/src/components/Select/Select.tsx:
|
|
2133
|
+
[packages/core/src/components/Select/Select.tsx:94](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L94)
|
|
2402
2134
|
|
|
2403
2135
|
___
|
|
2404
2136
|
|
|
@@ -2418,7 +2150,7 @@ ___
|
|
|
2418
2150
|
|
|
2419
2151
|
#### Defined in
|
|
2420
2152
|
|
|
2421
|
-
[packages/core/src/components/Select/Select.tsx:
|
|
2153
|
+
[packages/core/src/components/Select/Select.tsx:160](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L160)
|
|
2422
2154
|
|
|
2423
2155
|
___
|
|
2424
2156
|
|
|
@@ -2430,7 +2162,7 @@ ___
|
|
|
2430
2162
|
|
|
2431
2163
|
| Name | Type |
|
|
2432
2164
|
| :------ | :------ |
|
|
2433
|
-
| `props` | `SelectValueProps` & `RefAttributes`\<`
|
|
2165
|
+
| `props` | `SelectValueProps` & `RefAttributes`\<`HTMLDivElement`\> |
|
|
2434
2166
|
|
|
2435
2167
|
#### Returns
|
|
2436
2168
|
|
|
@@ -2438,7 +2170,7 @@ ___
|
|
|
2438
2170
|
|
|
2439
2171
|
#### Defined in
|
|
2440
2172
|
|
|
2441
|
-
[packages/core/src/components/Select/Select.tsx:
|
|
2173
|
+
[packages/core/src/components/Select/Select.tsx:234](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L234)
|
|
2442
2174
|
|
|
2443
2175
|
___
|
|
2444
2176
|
|
|
@@ -2450,7 +2182,7 @@ ___
|
|
|
2450
2182
|
|
|
2451
2183
|
| Name | Type |
|
|
2452
2184
|
| :------ | :------ |
|
|
2453
|
-
| `props` | `SelectContentProps` & `RefAttributes`\<`
|
|
2185
|
+
| `props` | `SelectContentProps` & `RefAttributes`\<`HTMLDivElement`\> |
|
|
2454
2186
|
|
|
2455
2187
|
#### Returns
|
|
2456
2188
|
|
|
@@ -2458,7 +2190,7 @@ ___
|
|
|
2458
2190
|
|
|
2459
2191
|
#### Defined in
|
|
2460
2192
|
|
|
2461
|
-
[packages/core/src/components/Select/Select.tsx:
|
|
2193
|
+
[packages/core/src/components/Select/Select.tsx:270](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L270)
|
|
2462
2194
|
|
|
2463
2195
|
___
|
|
2464
2196
|
|
|
@@ -2470,7 +2202,7 @@ ___
|
|
|
2470
2202
|
|
|
2471
2203
|
| Name | Type |
|
|
2472
2204
|
| :------ | :------ |
|
|
2473
|
-
| `props` | `SelectItemProps` & `RefAttributes`\<`
|
|
2205
|
+
| `props` | `SelectItemProps` & `RefAttributes`\<`HTMLDivElement`\> |
|
|
2474
2206
|
|
|
2475
2207
|
#### Returns
|
|
2476
2208
|
|
|
@@ -2478,7 +2210,7 @@ ___
|
|
|
2478
2210
|
|
|
2479
2211
|
#### Defined in
|
|
2480
2212
|
|
|
2481
|
-
[packages/core/src/components/Select/Select.tsx:
|
|
2213
|
+
[packages/core/src/components/Select/Select.tsx:470](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L470)
|
|
2482
2214
|
|
|
2483
2215
|
___
|
|
2484
2216
|
|
|
@@ -2498,7 +2230,7 @@ ___
|
|
|
2498
2230
|
|
|
2499
2231
|
#### Defined in
|
|
2500
2232
|
|
|
2501
|
-
[packages/core/src/components/Select/Select.tsx:
|
|
2233
|
+
[packages/core/src/components/Select/Select.tsx:538](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L538)
|
|
2502
2234
|
|
|
2503
2235
|
___
|
|
2504
2236
|
|
|
@@ -2518,7 +2250,7 @@ ___
|
|
|
2518
2250
|
|
|
2519
2251
|
#### Defined in
|
|
2520
2252
|
|
|
2521
|
-
[packages/core/src/components/Select/Select.tsx:
|
|
2253
|
+
[packages/core/src/components/Select/Select.tsx:547](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L547)
|
|
2522
2254
|
|
|
2523
2255
|
___
|
|
2524
2256
|
|
|
@@ -2538,7 +2270,7 @@ ___
|
|
|
2538
2270
|
|
|
2539
2271
|
#### Defined in
|
|
2540
2272
|
|
|
2541
|
-
[packages/core/src/components/Select/Select.tsx:
|
|
2273
|
+
[packages/core/src/components/Select/Select.tsx:560](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/Select/Select.tsx#L560)
|
|
2542
2274
|
|
|
2543
2275
|
___
|
|
2544
2276
|
|
|
@@ -3077,7 +2809,7 @@ JSX.Element - The tooltip content container
|
|
|
3077
2809
|
**`Example`**
|
|
3078
2810
|
|
|
3079
2811
|
```tsx
|
|
3080
|
-
<TooltipContent side="top" className="bg-main-500">
|
|
2812
|
+
<TooltipContent side="top" className="bg-app-main-500">
|
|
3081
2813
|
Custom tooltip content
|
|
3082
2814
|
</TooltipContent>
|
|
3083
2815
|
```
|
|
@@ -3121,258 +2853,23 @@ JSX.Element - The tooltip with trigger and content
|
|
|
3121
2853
|
|
|
3122
2854
|
___
|
|
3123
2855
|
|
|
3124
|
-
### UserMenu
|
|
3125
|
-
|
|
3126
|
-
▸ **UserMenu**(`props`): `ReactNode`
|
|
3127
|
-
|
|
3128
|
-
#### Parameters
|
|
3129
|
-
|
|
3130
|
-
| Name | Type |
|
|
3131
|
-
| :------ | :------ |
|
|
3132
|
-
| `props` | [`UserMenuProps`](interfaces/UserMenuProps.md) |
|
|
3133
|
-
|
|
3134
|
-
#### Returns
|
|
3135
|
-
|
|
3136
|
-
`ReactNode`
|
|
3137
|
-
|
|
3138
|
-
#### Defined in
|
|
3139
|
-
|
|
3140
|
-
[packages/core/src/components/UserMenu/UserMenu.tsx:136](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/UserMenu/UserMenu.tsx#L136)
|
|
3141
|
-
|
|
3142
|
-
___
|
|
3143
|
-
|
|
3144
|
-
### usePublicEvent
|
|
3145
|
-
|
|
3146
|
-
▸ **usePublicEvent**(`eventCode`, `options?`): [`UsePublicEventReturn`](interfaces/UsePublicEventReturn.md)
|
|
3147
|
-
|
|
3148
|
-
Hook for accessing public event data by event_code
|
|
3149
|
-
|
|
3150
|
-
This hook provides access to public event information without requiring
|
|
3151
|
-
authentication. It includes caching, error handling, and loading states.
|
|
3152
|
-
|
|
3153
|
-
#### Parameters
|
|
3154
|
-
|
|
3155
|
-
| Name | Type | Description |
|
|
3156
|
-
| :------ | :------ | :------ |
|
|
3157
|
-
| `eventCode` | `string` | The event code to look up |
|
|
3158
|
-
| `options` | [`UsePublicEventOptions`](interfaces/UsePublicEventOptions.md) | Configuration options for caching and behavior |
|
|
3159
|
-
|
|
3160
|
-
#### Returns
|
|
3161
|
-
|
|
3162
|
-
[`UsePublicEventReturn`](interfaces/UsePublicEventReturn.md)
|
|
3163
|
-
|
|
3164
|
-
Object containing event data, loading state, error, and refetch function
|
|
3165
|
-
|
|
3166
|
-
#### Defined in
|
|
3167
|
-
|
|
3168
|
-
[packages/core/src/hooks/public/usePublicEvent.ts:99](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicEvent.ts#L99)
|
|
3169
|
-
|
|
3170
|
-
___
|
|
3171
|
-
|
|
3172
|
-
### clearPublicEventCache
|
|
3173
|
-
|
|
3174
|
-
▸ **clearPublicEventCache**(): `void`
|
|
3175
|
-
|
|
3176
|
-
Clear all cached public event data
|
|
3177
|
-
Useful for testing or when you need to force refresh all data
|
|
3178
|
-
|
|
3179
|
-
#### Returns
|
|
3180
|
-
|
|
3181
|
-
`void`
|
|
3182
|
-
|
|
3183
|
-
#### Defined in
|
|
3184
|
-
|
|
3185
|
-
[packages/core/src/hooks/public/usePublicEvent.ts:244](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicEvent.ts#L244)
|
|
3186
|
-
|
|
3187
|
-
___
|
|
3188
|
-
|
|
3189
|
-
### getPublicEventCacheStats
|
|
3190
|
-
|
|
3191
|
-
▸ **getPublicEventCacheStats**(): `Object`
|
|
3192
|
-
|
|
3193
|
-
Get cache statistics for debugging
|
|
3194
|
-
|
|
3195
|
-
#### Returns
|
|
3196
|
-
|
|
3197
|
-
`Object`
|
|
3198
|
-
|
|
3199
|
-
| Name | Type |
|
|
3200
|
-
| :------ | :------ |
|
|
3201
|
-
| `size` | `number` |
|
|
3202
|
-
| `keys` | `string`[] |
|
|
3203
|
-
|
|
3204
|
-
#### Defined in
|
|
3205
|
-
|
|
3206
|
-
[packages/core/src/hooks/public/usePublicEvent.ts:255](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicEvent.ts#L255)
|
|
3207
|
-
|
|
3208
|
-
___
|
|
3209
|
-
|
|
3210
|
-
### usePublicEventLogo
|
|
3211
|
-
|
|
3212
|
-
▸ **usePublicEventLogo**(`eventId`, `eventName`, `organisationId`, `options`): [`UsePublicEventLogoReturn`](interfaces/UsePublicEventLogoReturn.md)
|
|
3213
|
-
|
|
3214
|
-
Hook for accessing public event logo URLs
|
|
3215
|
-
|
|
3216
|
-
This hook provides access to event logo URLs without requiring
|
|
3217
|
-
authentication. It includes fallback handling and image validation.
|
|
3218
|
-
|
|
3219
|
-
#### Parameters
|
|
3220
|
-
|
|
3221
|
-
| Name | Type | Description |
|
|
3222
|
-
| :------ | :------ | :------ |
|
|
3223
|
-
| `eventId` | `undefined` \| `string` | The event ID to fetch logo for |
|
|
3224
|
-
| `eventName` | `undefined` \| `string` | The event name for fallback text generation |
|
|
3225
|
-
| `organisationId` | `undefined` \| `string` | The organisation ID for storage path |
|
|
3226
|
-
| `options` | [`UsePublicEventLogoOptions`](interfaces/UsePublicEventLogoOptions.md) | Configuration options for caching and behavior |
|
|
3227
|
-
|
|
3228
|
-
#### Returns
|
|
3229
|
-
|
|
3230
|
-
[`UsePublicEventLogoReturn`](interfaces/UsePublicEventLogoReturn.md)
|
|
3231
|
-
|
|
3232
|
-
Object containing logo URL, fallback text, loading state, error, and refetch function
|
|
3233
|
-
|
|
3234
|
-
#### Defined in
|
|
3235
|
-
|
|
3236
|
-
[packages/core/src/hooks/public/usePublicEventLogo.ts:125](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicEventLogo.ts#L125)
|
|
3237
|
-
|
|
3238
|
-
___
|
|
3239
|
-
|
|
3240
|
-
### clearPublicLogoCache
|
|
3241
|
-
|
|
3242
|
-
▸ **clearPublicLogoCache**(): `void`
|
|
3243
|
-
|
|
3244
|
-
Clear all cached public logo data
|
|
3245
|
-
Useful for testing or when you need to force refresh all data
|
|
3246
|
-
|
|
3247
|
-
#### Returns
|
|
3248
|
-
|
|
3249
|
-
`void`
|
|
3250
|
-
|
|
3251
|
-
#### Defined in
|
|
3252
|
-
|
|
3253
|
-
[packages/core/src/hooks/public/usePublicEventLogo.ts:268](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicEventLogo.ts#L268)
|
|
3254
|
-
|
|
3255
|
-
___
|
|
3256
|
-
|
|
3257
|
-
### getPublicLogoCacheStats
|
|
3258
|
-
|
|
3259
|
-
▸ **getPublicLogoCacheStats**(): `Object`
|
|
3260
|
-
|
|
3261
|
-
Get cache statistics for debugging
|
|
3262
|
-
|
|
3263
|
-
#### Returns
|
|
3264
|
-
|
|
3265
|
-
`Object`
|
|
3266
|
-
|
|
3267
|
-
| Name | Type |
|
|
3268
|
-
| :------ | :------ |
|
|
3269
|
-
| `size` | `number` |
|
|
3270
|
-
| `keys` | `string`[] |
|
|
3271
|
-
|
|
3272
|
-
#### Defined in
|
|
3273
|
-
|
|
3274
|
-
[packages/core/src/hooks/public/usePublicEventLogo.ts:279](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicEventLogo.ts#L279)
|
|
3275
|
-
|
|
3276
|
-
___
|
|
3277
|
-
|
|
3278
|
-
### usePublicRouteParams
|
|
3279
|
-
|
|
3280
|
-
▸ **usePublicRouteParams**(`options?`): [`UsePublicRouteParamsReturn`](interfaces/UsePublicRouteParamsReturn.md)
|
|
3281
|
-
|
|
3282
|
-
Hook for extracting and validating public route parameters
|
|
3283
|
-
|
|
3284
|
-
This hook extracts event codes from URL parameters and optionally
|
|
3285
|
-
fetches the corresponding event data. It provides validation and
|
|
3286
|
-
error handling for public routes.
|
|
3287
|
-
|
|
3288
|
-
#### Parameters
|
|
3289
|
-
|
|
3290
|
-
| Name | Type | Description |
|
|
3291
|
-
| :------ | :------ | :------ |
|
|
3292
|
-
| `options` | `UsePublicRouteParamsOptions` | Configuration options for behavior |
|
|
3293
|
-
|
|
3294
|
-
#### Returns
|
|
3295
|
-
|
|
3296
|
-
[`UsePublicRouteParamsReturn`](interfaces/UsePublicRouteParamsReturn.md)
|
|
3297
|
-
|
|
3298
|
-
Object containing route parameters, event data, loading state, error, and refetch function
|
|
3299
|
-
|
|
3300
|
-
#### Defined in
|
|
3301
|
-
|
|
3302
|
-
[packages/core/src/hooks/public/usePublicRouteParams.ts:111](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicRouteParams.ts#L111)
|
|
3303
|
-
|
|
3304
|
-
___
|
|
3305
|
-
|
|
3306
|
-
### usePublicEventCode
|
|
3307
|
-
|
|
3308
|
-
▸ **usePublicEventCode**(`eventCodeParam?`): `Object`
|
|
3309
|
-
|
|
3310
|
-
Hook for extracting just the event code without fetching event data
|
|
3311
|
-
Useful when you only need the event code and will fetch data separately
|
|
3312
|
-
|
|
3313
|
-
#### Parameters
|
|
3314
|
-
|
|
3315
|
-
| Name | Type | Default value |
|
|
3316
|
-
| :------ | :------ | :------ |
|
|
3317
|
-
| `eventCodeParam` | `string` | `'eventCode'` |
|
|
3318
|
-
|
|
3319
|
-
#### Returns
|
|
3320
|
-
|
|
3321
|
-
`Object`
|
|
3322
|
-
|
|
3323
|
-
| Name | Type |
|
|
3324
|
-
| :------ | :------ |
|
|
3325
|
-
| `eventCode` | `string` \| ``null`` |
|
|
3326
|
-
| `error` | `Error` \| ``null`` |
|
|
3327
|
-
|
|
3328
|
-
#### Defined in
|
|
3329
|
-
|
|
3330
|
-
[packages/core/src/hooks/public/usePublicRouteParams.ts:206](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicRouteParams.ts#L206)
|
|
3331
|
-
|
|
3332
|
-
___
|
|
3333
|
-
|
|
3334
|
-
### generatePublicRoutePath
|
|
3335
|
-
|
|
3336
|
-
▸ **generatePublicRoutePath**(`eventCode`, `pageName?`): `string`
|
|
3337
|
-
|
|
3338
|
-
Utility function to generate public route paths
|
|
3339
|
-
|
|
3340
|
-
#### Parameters
|
|
3341
|
-
|
|
3342
|
-
| Name | Type | Default value |
|
|
3343
|
-
| :------ | :------ | :------ |
|
|
3344
|
-
| `eventCode` | `string` | `undefined` |
|
|
3345
|
-
| `pageName` | `string` | `'index'` |
|
|
3346
|
-
|
|
3347
|
-
#### Returns
|
|
3348
|
-
|
|
3349
|
-
`string`
|
|
3350
|
-
|
|
3351
|
-
#### Defined in
|
|
3352
|
-
|
|
3353
|
-
[packages/core/src/hooks/public/usePublicRouteParams.ts:242](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/public/usePublicRouteParams.ts#L242)
|
|
3354
|
-
|
|
3355
|
-
___
|
|
3356
|
-
|
|
3357
|
-
### extractEventCodeFromPath
|
|
3358
|
-
|
|
3359
|
-
▸ **extractEventCodeFromPath**(`path`): `string` \| ``null``
|
|
2856
|
+
### UserMenu
|
|
3360
2857
|
|
|
3361
|
-
|
|
2858
|
+
▸ **UserMenu**(`props`): `ReactNode`
|
|
3362
2859
|
|
|
3363
2860
|
#### Parameters
|
|
3364
2861
|
|
|
3365
2862
|
| Name | Type |
|
|
3366
2863
|
| :------ | :------ |
|
|
3367
|
-
| `
|
|
2864
|
+
| `props` | [`UserMenuProps`](interfaces/UserMenuProps.md) |
|
|
3368
2865
|
|
|
3369
2866
|
#### Returns
|
|
3370
2867
|
|
|
3371
|
-
`
|
|
2868
|
+
`ReactNode`
|
|
3372
2869
|
|
|
3373
2870
|
#### Defined in
|
|
3374
2871
|
|
|
3375
|
-
[packages/core/src/
|
|
2872
|
+
[packages/core/src/components/UserMenu/UserMenu.tsx:135](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/components/UserMenu/UserMenu.tsx#L135)
|
|
3376
2873
|
|
|
3377
2874
|
___
|
|
3378
2875
|
|
|
@@ -3381,7 +2878,6 @@ ___
|
|
|
3381
2878
|
▸ **useAppConfig**(): `UseAppConfigReturn`
|
|
3382
2879
|
|
|
3383
2880
|
Hook to access app configuration
|
|
3384
|
-
Works in both authenticated and public contexts
|
|
3385
2881
|
|
|
3386
2882
|
#### Returns
|
|
3387
2883
|
|
|
@@ -3391,27 +2887,7 @@ App configuration and loading state
|
|
|
3391
2887
|
|
|
3392
2888
|
#### Defined in
|
|
3393
2889
|
|
|
3394
|
-
[packages/core/src/hooks/useAppConfig.ts:
|
|
3395
|
-
|
|
3396
|
-
___
|
|
3397
|
-
|
|
3398
|
-
### useInactivityTracker
|
|
3399
|
-
|
|
3400
|
-
▸ **useInactivityTracker**(`«destructured»?`): [`UseInactivityTrackerReturn`](interfaces/UseInactivityTrackerReturn.md)
|
|
3401
|
-
|
|
3402
|
-
#### Parameters
|
|
3403
|
-
|
|
3404
|
-
| Name | Type |
|
|
3405
|
-
| :------ | :------ |
|
|
3406
|
-
| `«destructured»` | [`UseInactivityTrackerOptions`](interfaces/UseInactivityTrackerOptions.md) |
|
|
3407
|
-
|
|
3408
|
-
#### Returns
|
|
3409
|
-
|
|
3410
|
-
[`UseInactivityTrackerReturn`](interfaces/UseInactivityTrackerReturn.md)
|
|
3411
|
-
|
|
3412
|
-
#### Defined in
|
|
3413
|
-
|
|
3414
|
-
[packages/core/src/hooks/useInactivityTracker.ts:127](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useInactivityTracker.ts#L127)
|
|
2890
|
+
[packages/core/src/hooks/useAppConfig.ts:44](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useAppConfig.ts#L44)
|
|
3415
2891
|
|
|
3416
2892
|
___
|
|
3417
2893
|
|
|
@@ -3453,57 +2929,6 @@ ___
|
|
|
3453
2929
|
|
|
3454
2930
|
___
|
|
3455
2931
|
|
|
3456
|
-
### useStorage
|
|
3457
|
-
|
|
3458
|
-
▸ **useStorage**(`«destructured»`): `UseStorageReturn`
|
|
3459
|
-
|
|
3460
|
-
Hook for storage operations with app and organisation context
|
|
3461
|
-
|
|
3462
|
-
#### Parameters
|
|
3463
|
-
|
|
3464
|
-
| Name | Type |
|
|
3465
|
-
| :------ | :------ |
|
|
3466
|
-
| `«destructured»` | `UseStorageOptions` |
|
|
3467
|
-
|
|
3468
|
-
#### Returns
|
|
3469
|
-
|
|
3470
|
-
`UseStorageReturn`
|
|
3471
|
-
|
|
3472
|
-
#### Defined in
|
|
3473
|
-
|
|
3474
|
-
[packages/core/src/hooks/useStorage.ts:57](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useStorage.ts#L57)
|
|
3475
|
-
|
|
3476
|
-
___
|
|
3477
|
-
|
|
3478
|
-
### useFileUpload
|
|
3479
|
-
|
|
3480
|
-
▸ **useFileUpload**(`«destructured»`): `Object`
|
|
3481
|
-
|
|
3482
|
-
Hook for file upload with progress tracking
|
|
3483
|
-
|
|
3484
|
-
#### Parameters
|
|
3485
|
-
|
|
3486
|
-
| Name | Type |
|
|
3487
|
-
| :------ | :------ |
|
|
3488
|
-
| `«destructured»` | `UseStorageOptions` |
|
|
3489
|
-
|
|
3490
|
-
#### Returns
|
|
3491
|
-
|
|
3492
|
-
`Object`
|
|
3493
|
-
|
|
3494
|
-
| Name | Type |
|
|
3495
|
-
| :------ | :------ |
|
|
3496
|
-
| `uploadWithProgress` | (`file`: `File`, `options`: `Partial`\<[`StorageUploadOptions`](interfaces/StorageUploadOptions.md)\>) => `Promise`\<[`StorageUploadResult`](interfaces/StorageUploadResult.md)\> |
|
|
3497
|
-
| `uploadProgress` | `number` |
|
|
3498
|
-
| `isUploading` | `boolean` |
|
|
3499
|
-
| `uploadError` | ``null`` \| `string` |
|
|
3500
|
-
|
|
3501
|
-
#### Defined in
|
|
3502
|
-
|
|
3503
|
-
[packages/core/src/hooks/useStorage.ts:219](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/hooks/useStorage.ts#L219)
|
|
3504
|
-
|
|
3505
|
-
___
|
|
3506
|
-
|
|
3507
2932
|
### useEvents
|
|
3508
2933
|
|
|
3509
2934
|
▸ **useEvents**(): [`EventContextType`](interfaces/EventContextType.md)
|
|
@@ -3514,7 +2939,7 @@ ___
|
|
|
3514
2939
|
|
|
3515
2940
|
#### Defined in
|
|
3516
2941
|
|
|
3517
|
-
[packages/core/src/providers/EventProvider.tsx:
|
|
2942
|
+
[packages/core/src/providers/EventProvider.tsx:27](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/providers/EventProvider.tsx#L27)
|
|
3518
2943
|
|
|
3519
2944
|
___
|
|
3520
2945
|
|
|
@@ -3534,7 +2959,7 @@ ___
|
|
|
3534
2959
|
|
|
3535
2960
|
#### Defined in
|
|
3536
2961
|
|
|
3537
|
-
[packages/core/src/providers/EventProvider.tsx:
|
|
2962
|
+
[packages/core/src/providers/EventProvider.tsx:66](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/providers/EventProvider.tsx#L66)
|
|
3538
2963
|
|
|
3539
2964
|
___
|
|
3540
2965
|
|
|
@@ -3566,7 +2991,7 @@ SECURITY: No children are rendered without valid organisation context
|
|
|
3566
2991
|
|
|
3567
2992
|
#### Defined in
|
|
3568
2993
|
|
|
3569
|
-
[packages/core/src/providers/OrganisationProvider.tsx:
|
|
2994
|
+
[packages/core/src/providers/OrganisationProvider.tsx:101](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/providers/OrganisationProvider.tsx#L101)
|
|
3570
2995
|
|
|
3571
2996
|
___
|
|
3572
2997
|
|
|
@@ -3588,7 +3013,7 @@ If used outside OrganisationProvider
|
|
|
3588
3013
|
|
|
3589
3014
|
#### Defined in
|
|
3590
3015
|
|
|
3591
|
-
[packages/core/src/providers/OrganisationProvider.tsx:
|
|
3016
|
+
[packages/core/src/providers/OrganisationProvider.tsx:539](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/providers/OrganisationProvider.tsx#L539)
|
|
3592
3017
|
|
|
3593
3018
|
___
|
|
3594
3019
|
|
|
@@ -3602,7 +3027,7 @@ ___
|
|
|
3602
3027
|
|
|
3603
3028
|
#### Defined in
|
|
3604
3029
|
|
|
3605
|
-
[packages/core/src/providers/UnifiedAuthProvider.tsx:
|
|
3030
|
+
[packages/core/src/providers/UnifiedAuthProvider.tsx:231](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/providers/UnifiedAuthProvider.tsx#L231)
|
|
3606
3031
|
|
|
3607
3032
|
___
|
|
3608
3033
|
|
|
@@ -3622,7 +3047,7 @@ ___
|
|
|
3622
3047
|
|
|
3623
3048
|
#### Defined in
|
|
3624
3049
|
|
|
3625
|
-
[packages/core/src/providers/UnifiedAuthProvider.tsx:
|
|
3050
|
+
[packages/core/src/providers/UnifiedAuthProvider.tsx:338](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/providers/UnifiedAuthProvider.tsx#L338)
|
|
3626
3051
|
|
|
3627
3052
|
___
|
|
3628
3053
|
|
|
@@ -3634,7 +3059,7 @@ ___
|
|
|
3634
3059
|
|
|
3635
3060
|
| Name | Type |
|
|
3636
3061
|
| :------ | :------ |
|
|
3637
|
-
| `style` | ``"
|
|
3062
|
+
| `style` | ``"base"`` \| ``"dark"`` \| ``"theme"`` |
|
|
3638
3063
|
|
|
3639
3064
|
#### Returns
|
|
3640
3065
|
|
|
@@ -3642,7 +3067,7 @@ ___
|
|
|
3642
3067
|
|
|
3643
3068
|
#### Defined in
|
|
3644
3069
|
|
|
3645
|
-
[packages/core/src/styles/index.ts:
|
|
3070
|
+
[packages/core/src/styles/index.ts:50](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/styles/index.ts#L50)
|
|
3646
3071
|
|
|
3647
3072
|
___
|
|
3648
3073
|
|
|
@@ -3656,7 +3081,7 @@ ___
|
|
|
3656
3081
|
|
|
3657
3082
|
#### Defined in
|
|
3658
3083
|
|
|
3659
|
-
[packages/core/src/styles/index.ts:
|
|
3084
|
+
[packages/core/src/styles/index.ts:55](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/styles/index.ts#L55)
|
|
3660
3085
|
|
|
3661
3086
|
___
|
|
3662
3087
|
|
|
@@ -3695,7 +3120,7 @@ Removes the dynamic theme block, returning to app-defined CSS values.
|
|
|
3695
3120
|
|
|
3696
3121
|
#### Defined in
|
|
3697
3122
|
|
|
3698
|
-
[packages/core/src/theming/runtime.ts:
|
|
3123
|
+
[packages/core/src/theming/runtime.ts:84](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/theming/runtime.ts#L84)
|
|
3699
3124
|
|
|
3700
3125
|
___
|
|
3701
3126
|
|
|
@@ -3718,7 +3143,7 @@ Use this in your SSR setup to avoid FOUC
|
|
|
3718
3143
|
|
|
3719
3144
|
#### Defined in
|
|
3720
3145
|
|
|
3721
|
-
[packages/core/src/theming/runtime.ts:
|
|
3146
|
+
[packages/core/src/theming/runtime.ts:139](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/theming/runtime.ts#L139)
|
|
3722
3147
|
|
|
3723
3148
|
___
|
|
3724
3149
|
|
|
@@ -3734,7 +3159,7 @@ Checks if dynamic theming is currently active
|
|
|
3734
3159
|
|
|
3735
3160
|
#### Defined in
|
|
3736
3161
|
|
|
3737
|
-
[packages/core/src/theming/runtime.ts:
|
|
3162
|
+
[packages/core/src/theming/runtime.ts:146](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/theming/runtime.ts#L146)
|
|
3738
3163
|
|
|
3739
3164
|
___
|
|
3740
3165
|
|
|
@@ -3751,7 +3176,7 @@ Useful for debugging or persistence
|
|
|
3751
3176
|
|
|
3752
3177
|
#### Defined in
|
|
3753
3178
|
|
|
3754
|
-
[packages/core/src/theming/runtime.ts:
|
|
3179
|
+
[packages/core/src/theming/runtime.ts:158](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/theming/runtime.ts#L158)
|
|
3755
3180
|
|
|
3756
3181
|
___
|
|
3757
3182
|
|
|
@@ -3855,7 +3280,7 @@ Create a secure data access instance
|
|
|
3855
3280
|
|
|
3856
3281
|
| Name | Type | Default value | Description |
|
|
3857
3282
|
| :------ | :------ | :------ | :------ |
|
|
3858
|
-
| `supabase` | `default`\<`any`, ``"public"``,
|
|
3283
|
+
| `supabase` | `default`\<`any`, ``"public"``, `any`\> | `undefined` | Supabase client instance |
|
|
3859
3284
|
| `organisationId` | `string` | `undefined` | Current organisation context |
|
|
3860
3285
|
| `isSuperAdmin` | `boolean` | `false` | Whether user has super admin privileges |
|
|
3861
3286
|
|
|
@@ -3868,286 +3293,3 @@ Secure data access utilities
|
|
|
3868
3293
|
#### Defined in
|
|
3869
3294
|
|
|
3870
3295
|
[packages/core/src/utils/secureDataAccess.ts:66](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/secureDataAccess.ts#L66)
|
|
3871
|
-
|
|
3872
|
-
___
|
|
3873
|
-
|
|
3874
|
-
### getFileSizeLimit
|
|
3875
|
-
|
|
3876
|
-
▸ **getFileSizeLimit**(`mimeType`): `number`
|
|
3877
|
-
|
|
3878
|
-
Get the file size limit for a given MIME type
|
|
3879
|
-
|
|
3880
|
-
#### Parameters
|
|
3881
|
-
|
|
3882
|
-
| Name | Type |
|
|
3883
|
-
| :------ | :------ |
|
|
3884
|
-
| `mimeType` | `string` |
|
|
3885
|
-
|
|
3886
|
-
#### Returns
|
|
3887
|
-
|
|
3888
|
-
`number`
|
|
3889
|
-
|
|
3890
|
-
#### Defined in
|
|
3891
|
-
|
|
3892
|
-
[packages/core/src/utils/storage/config.ts:63](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/config.ts#L63)
|
|
3893
|
-
|
|
3894
|
-
___
|
|
3895
|
-
|
|
3896
|
-
### validateFileSize
|
|
3897
|
-
|
|
3898
|
-
▸ **validateFileSize**(`file`): `Object`
|
|
3899
|
-
|
|
3900
|
-
Validate file size against limits
|
|
3901
|
-
|
|
3902
|
-
#### Parameters
|
|
3903
|
-
|
|
3904
|
-
| Name | Type |
|
|
3905
|
-
| :------ | :------ |
|
|
3906
|
-
| `file` | `File` |
|
|
3907
|
-
|
|
3908
|
-
#### Returns
|
|
3909
|
-
|
|
3910
|
-
`Object`
|
|
3911
|
-
|
|
3912
|
-
| Name | Type |
|
|
3913
|
-
| :------ | :------ |
|
|
3914
|
-
| `isValid` | `boolean` |
|
|
3915
|
-
| `error?` | `string` |
|
|
3916
|
-
|
|
3917
|
-
#### Defined in
|
|
3918
|
-
|
|
3919
|
-
[packages/core/src/utils/storage/config.ts:70](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/config.ts#L70)
|
|
3920
|
-
|
|
3921
|
-
___
|
|
3922
|
-
|
|
3923
|
-
### formatFileSize
|
|
3924
|
-
|
|
3925
|
-
▸ **formatFileSize**(`bytes`): `string`
|
|
3926
|
-
|
|
3927
|
-
Get human-readable file size
|
|
3928
|
-
|
|
3929
|
-
#### Parameters
|
|
3930
|
-
|
|
3931
|
-
| Name | Type |
|
|
3932
|
-
| :------ | :------ |
|
|
3933
|
-
| `bytes` | `number` |
|
|
3934
|
-
|
|
3935
|
-
#### Returns
|
|
3936
|
-
|
|
3937
|
-
`string`
|
|
3938
|
-
|
|
3939
|
-
#### Defined in
|
|
3940
|
-
|
|
3941
|
-
[packages/core/src/utils/storage/config.ts:88](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/config.ts#L88)
|
|
3942
|
-
|
|
3943
|
-
___
|
|
3944
|
-
|
|
3945
|
-
### generateFilePath
|
|
3946
|
-
|
|
3947
|
-
▸ **generateFilePath**(`options`, `fileName`): `string`
|
|
3948
|
-
|
|
3949
|
-
Generate a file path based on app-first structure
|
|
3950
|
-
|
|
3951
|
-
#### Parameters
|
|
3952
|
-
|
|
3953
|
-
| Name | Type |
|
|
3954
|
-
| :------ | :------ |
|
|
3955
|
-
| `options` | [`StorageUploadOptions`](interfaces/StorageUploadOptions.md) |
|
|
3956
|
-
| `fileName` | `string` |
|
|
3957
|
-
|
|
3958
|
-
#### Returns
|
|
3959
|
-
|
|
3960
|
-
`string`
|
|
3961
|
-
|
|
3962
|
-
#### Defined in
|
|
3963
|
-
|
|
3964
|
-
[packages/core/src/utils/storage/helpers.ts:20](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L20)
|
|
3965
|
-
|
|
3966
|
-
___
|
|
3967
|
-
|
|
3968
|
-
### generateUniqueFileName
|
|
3969
|
-
|
|
3970
|
-
▸ **generateUniqueFileName**(`originalName`): `string`
|
|
3971
|
-
|
|
3972
|
-
Generate a unique filename with timestamp and UUID
|
|
3973
|
-
|
|
3974
|
-
#### Parameters
|
|
3975
|
-
|
|
3976
|
-
| Name | Type |
|
|
3977
|
-
| :------ | :------ |
|
|
3978
|
-
| `originalName` | `string` |
|
|
3979
|
-
|
|
3980
|
-
#### Returns
|
|
3981
|
-
|
|
3982
|
-
`string`
|
|
3983
|
-
|
|
3984
|
-
#### Defined in
|
|
3985
|
-
|
|
3986
|
-
[packages/core/src/utils/storage/helpers.ts:54](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L54)
|
|
3987
|
-
|
|
3988
|
-
___
|
|
3989
|
-
|
|
3990
|
-
### extractFileMetadata
|
|
3991
|
-
|
|
3992
|
-
▸ **extractFileMetadata**(`file`, `options`, `uploadedBy`): `Promise`\<[`StorageFileMetadata`](interfaces/StorageFileMetadata.md)\>
|
|
3993
|
-
|
|
3994
|
-
Extract file metadata from a File object
|
|
3995
|
-
|
|
3996
|
-
#### Parameters
|
|
3997
|
-
|
|
3998
|
-
| Name | Type |
|
|
3999
|
-
| :------ | :------ |
|
|
4000
|
-
| `file` | `File` |
|
|
4001
|
-
| `options` | [`StorageUploadOptions`](interfaces/StorageUploadOptions.md) |
|
|
4002
|
-
| `uploadedBy` | `string` |
|
|
4003
|
-
|
|
4004
|
-
#### Returns
|
|
4005
|
-
|
|
4006
|
-
`Promise`\<[`StorageFileMetadata`](interfaces/StorageFileMetadata.md)\>
|
|
4007
|
-
|
|
4008
|
-
#### Defined in
|
|
4009
|
-
|
|
4010
|
-
[packages/core/src/utils/storage/helpers.ts:66](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L66)
|
|
4011
|
-
|
|
4012
|
-
___
|
|
4013
|
-
|
|
4014
|
-
### uploadFile
|
|
4015
|
-
|
|
4016
|
-
▸ **uploadFile**(`supabase`, `file`, `options`): `Promise`\<[`StorageUploadResult`](interfaces/StorageUploadResult.md)\>
|
|
4017
|
-
|
|
4018
|
-
Upload a file to Supabase storage with app segregation
|
|
4019
|
-
|
|
4020
|
-
#### Parameters
|
|
4021
|
-
|
|
4022
|
-
| Name | Type |
|
|
4023
|
-
| :------ | :------ |
|
|
4024
|
-
| `supabase` | `default`\<`any`, ``"public"``, ``"public"``, `any`, `any`\> |
|
|
4025
|
-
| `file` | `File` |
|
|
4026
|
-
| `options` | [`StorageUploadOptions`](interfaces/StorageUploadOptions.md) |
|
|
4027
|
-
|
|
4028
|
-
#### Returns
|
|
4029
|
-
|
|
4030
|
-
`Promise`\<[`StorageUploadResult`](interfaces/StorageUploadResult.md)\>
|
|
4031
|
-
|
|
4032
|
-
#### Defined in
|
|
4033
|
-
|
|
4034
|
-
[packages/core/src/utils/storage/helpers.ts:140](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L140)
|
|
4035
|
-
|
|
4036
|
-
___
|
|
4037
|
-
|
|
4038
|
-
### getPublicUrl
|
|
4039
|
-
|
|
4040
|
-
▸ **getPublicUrl**(`supabase`, `path`): `string`
|
|
4041
|
-
|
|
4042
|
-
Get a public URL for a file
|
|
4043
|
-
|
|
4044
|
-
#### Parameters
|
|
4045
|
-
|
|
4046
|
-
| Name | Type |
|
|
4047
|
-
| :------ | :------ |
|
|
4048
|
-
| `supabase` | `default`\<`any`, ``"public"``, ``"public"``, `any`, `any`\> |
|
|
4049
|
-
| `path` | `string` |
|
|
4050
|
-
|
|
4051
|
-
#### Returns
|
|
4052
|
-
|
|
4053
|
-
`string`
|
|
4054
|
-
|
|
4055
|
-
#### Defined in
|
|
4056
|
-
|
|
4057
|
-
[packages/core/src/utils/storage/helpers.ts:205](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L205)
|
|
4058
|
-
|
|
4059
|
-
___
|
|
4060
|
-
|
|
4061
|
-
### getSignedUrl
|
|
4062
|
-
|
|
4063
|
-
▸ **getSignedUrl**(`supabase`, `path`, `options`): `Promise`\<\{ `url`: `string` ; `expiresAt`: `string` } \| ``null``\>
|
|
4064
|
-
|
|
4065
|
-
Get a signed URL for a protected file
|
|
4066
|
-
|
|
4067
|
-
#### Parameters
|
|
4068
|
-
|
|
4069
|
-
| Name | Type |
|
|
4070
|
-
| :------ | :------ |
|
|
4071
|
-
| `supabase` | `default`\<`any`, ``"public"``, ``"public"``, `any`, `any`\> |
|
|
4072
|
-
| `path` | `string` |
|
|
4073
|
-
| `options` | [`StorageUrlOptions`](interfaces/StorageUrlOptions.md) |
|
|
4074
|
-
|
|
4075
|
-
#### Returns
|
|
4076
|
-
|
|
4077
|
-
`Promise`\<\{ `url`: `string` ; `expiresAt`: `string` } \| ``null``\>
|
|
4078
|
-
|
|
4079
|
-
#### Defined in
|
|
4080
|
-
|
|
4081
|
-
[packages/core/src/utils/storage/helpers.ts:216](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L216)
|
|
4082
|
-
|
|
4083
|
-
___
|
|
4084
|
-
|
|
4085
|
-
### deleteFile
|
|
4086
|
-
|
|
4087
|
-
▸ **deleteFile**(`supabase`, `path`): `Promise`\<\{ `success`: `boolean` ; `error?`: `string` }\>
|
|
4088
|
-
|
|
4089
|
-
Delete a file from storage
|
|
4090
|
-
|
|
4091
|
-
#### Parameters
|
|
4092
|
-
|
|
4093
|
-
| Name | Type |
|
|
4094
|
-
| :------ | :------ |
|
|
4095
|
-
| `supabase` | `default`\<`any`, ``"public"``, ``"public"``, `any`, `any`\> |
|
|
4096
|
-
| `path` | `string` |
|
|
4097
|
-
|
|
4098
|
-
#### Returns
|
|
4099
|
-
|
|
4100
|
-
`Promise`\<\{ `success`: `boolean` ; `error?`: `string` }\>
|
|
4101
|
-
|
|
4102
|
-
#### Defined in
|
|
4103
|
-
|
|
4104
|
-
[packages/core/src/utils/storage/helpers.ts:244](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L244)
|
|
4105
|
-
|
|
4106
|
-
___
|
|
4107
|
-
|
|
4108
|
-
### listFiles
|
|
4109
|
-
|
|
4110
|
-
▸ **listFiles**(`supabase`, `options`): `Promise`\<[`StorageListResult`](interfaces/StorageListResult.md)\>
|
|
4111
|
-
|
|
4112
|
-
List files in an organization scope
|
|
4113
|
-
|
|
4114
|
-
#### Parameters
|
|
4115
|
-
|
|
4116
|
-
| Name | Type |
|
|
4117
|
-
| :------ | :------ |
|
|
4118
|
-
| `supabase` | `default`\<`any`, ``"public"``, ``"public"``, `any`, `any`\> |
|
|
4119
|
-
| `options` | [`StorageListOptions`](interfaces/StorageListOptions.md) |
|
|
4120
|
-
|
|
4121
|
-
#### Returns
|
|
4122
|
-
|
|
4123
|
-
`Promise`\<[`StorageListResult`](interfaces/StorageListResult.md)\>
|
|
4124
|
-
|
|
4125
|
-
#### Defined in
|
|
4126
|
-
|
|
4127
|
-
[packages/core/src/utils/storage/helpers.ts:272](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L272)
|
|
4128
|
-
|
|
4129
|
-
___
|
|
4130
|
-
|
|
4131
|
-
### archiveFile
|
|
4132
|
-
|
|
4133
|
-
▸ **archiveFile**(`supabase`, `path`, `options`): `Promise`\<\{ `success`: `boolean` ; `error?`: `string` }\>
|
|
4134
|
-
|
|
4135
|
-
Move a file to archived location (soft delete)
|
|
4136
|
-
|
|
4137
|
-
#### Parameters
|
|
4138
|
-
|
|
4139
|
-
| Name | Type |
|
|
4140
|
-
| :------ | :------ |
|
|
4141
|
-
| `supabase` | `default`\<`any`, ``"public"``, ``"public"``, `any`, `any`\> |
|
|
4142
|
-
| `path` | `string` |
|
|
4143
|
-
| `options` | `Object` |
|
|
4144
|
-
| `options.appName` | `string` |
|
|
4145
|
-
| `options.orgId` | `string` |
|
|
4146
|
-
|
|
4147
|
-
#### Returns
|
|
4148
|
-
|
|
4149
|
-
`Promise`\<\{ `success`: `boolean` ; `error?`: `string` }\>
|
|
4150
|
-
|
|
4151
|
-
#### Defined in
|
|
4152
|
-
|
|
4153
|
-
[packages/core/src/utils/storage/helpers.ts:325](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/utils/storage/helpers.ts#L325)
|