@jmruthers/pace-core 0.6.1 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +88 -10
- package/cursor-rules/00-pace-core-compliance.mdc +46 -87
- package/cursor-rules/01-standards-compliance.mdc +16 -47
- package/cursor-rules/02-project-structure.mdc +4 -4
- package/cursor-rules/03-solid-principles.mdc +45 -164
- package/cursor-rules/04-testing-standards.mdc +22 -69
- package/cursor-rules/05-bug-reports-and-features.mdc +2 -2
- package/cursor-rules/06-code-quality.mdc +42 -125
- package/cursor-rules/07-tech-stack-compliance.mdc +33 -128
- package/cursor-rules/08-markup-quality.mdc +452 -0
- package/cursor-rules/CHANGELOG.md +18 -0
- package/cursor-rules/README.md +2 -1
- package/dist/{AuthService-DjnJHDtC.d.ts → AuthService-Cb34EQs3.d.ts} +63 -1
- package/dist/{DataTable-CH1U5Tpy.d.ts → DataTable-BMRU8a1j.d.ts} +33 -1
- package/dist/{DataTable-DQ7RSOHE.js → DataTable-THFPBKTP.js} +12 -10
- package/dist/{PublicPageProvider-ce4xlHYA.d.ts → PublicPageProvider-DEMpysFR.d.ts} +394 -171
- package/dist/{UnifiedAuthProvider-185Ih4dj.d.ts → UnifiedAuthProvider-CKvHP1MK.d.ts} +30 -8
- package/dist/{UnifiedAuthProvider-ATAP5UTR.js → UnifiedAuthProvider-KAGUYQ4J.js} +5 -4
- package/dist/{api-N774RPUA.js → api-IAGWF3ZG.js} +10 -10
- package/dist/{audit-B5P6FFIR.js → audit-V53FV5AG.js} +2 -2
- package/dist/{chunk-JBKQ3SAO.js → chunk-2T2IG7T7.js} +107 -57
- package/dist/chunk-2T2IG7T7.js.map +1 -0
- package/dist/{chunk-3QRJFVBR.js → chunk-6SOIHG6Z.js} +1 -1
- package/dist/chunk-6SOIHG6Z.js.map +1 -0
- package/dist/{chunk-3XTALGJF.js → chunk-6Z7LTB3D.js} +69 -240
- package/dist/chunk-6Z7LTB3D.js.map +1 -0
- package/dist/{chunk-4ZC4GX36.js → chunk-CNCQDFLN.js} +199 -46
- package/dist/chunk-CNCQDFLN.js.map +1 -0
- package/dist/chunk-DGUM43GV.js +11 -0
- package/dist/{chunk-BYFSK72L.js → chunk-DWUBLJJM.js} +361 -187
- package/dist/chunk-DWUBLJJM.js.map +1 -0
- package/dist/{chunk-LXQLPRQ2.js → chunk-FFQEQTNW.js} +6 -8
- package/dist/chunk-FFQEQTNW.js.map +1 -0
- package/dist/chunk-FMUCXFII.js +76 -0
- package/dist/chunk-FMUCXFII.js.map +1 -0
- package/dist/{chunk-4N5C5XZU.js → chunk-HFZBI76P.js} +4 -4
- package/dist/chunk-HFZBI76P.js.map +1 -0
- package/dist/{chunk-SQGMNID3.js → chunk-L4OXEN46.js} +4 -5
- package/dist/chunk-L4OXEN46.js.map +1 -0
- package/dist/{chunk-R77UEZ4E.js → chunk-M43Y4SSO.js} +1 -1
- package/dist/chunk-M43Y4SSO.js.map +1 -0
- package/dist/{chunk-I7PSE6JW.js → chunk-M7MPQISP.js} +3 -76
- package/dist/chunk-M7MPQISP.js.map +1 -0
- package/dist/chunk-PQBSKX33.js +7793 -0
- package/dist/chunk-PQBSKX33.js.map +1 -0
- package/dist/chunk-QRPVRXYT.js +226 -0
- package/dist/chunk-QRPVRXYT.js.map +1 -0
- package/dist/{chunk-KNC55RTG.js → chunk-RWEBCB47.js} +194 -416
- package/dist/chunk-RWEBCB47.js.map +1 -0
- package/dist/{chunk-XM25TVIE.js → chunk-YDQHOZNA.js} +843 -388
- package/dist/chunk-YDQHOZNA.js.map +1 -0
- package/dist/{chunk-GLK6VM3F.js → chunk-ZNIWI3UC.js} +739 -737
- package/dist/chunk-ZNIWI3UC.js.map +1 -0
- package/dist/components.d.ts +5 -5
- package/dist/components.js +18 -16
- package/dist/components.js.map +1 -1
- package/dist/contextValidator-3JNZKUTX.js +9 -0
- package/dist/contextValidator-3JNZKUTX.js.map +1 -0
- package/dist/eslint-rules/pace-core-compliance.cjs +106 -0
- package/dist/{functions-D_kgHktt.d.ts → functions-DHebl8-F.d.ts} +1 -1
- package/dist/hooks.d.ts +55 -122
- package/dist/hooks.js +10 -13
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +60 -13
- package/dist/index.js +30 -25
- package/dist/index.js.map +1 -1
- package/dist/providers.d.ts +21 -3
- package/dist/providers.js +4 -3
- package/dist/rbac/index.d.ts +210 -139
- package/dist/rbac/index.js +17 -13
- package/dist/styles/index.js +1 -1
- package/dist/theming/runtime.d.ts +1 -13
- package/dist/theming/runtime.js +2 -2
- package/dist/{timezone-_pgH8qrY.d.ts → timezone-CHhWg6b4.d.ts} +3 -10
- package/dist/{types-UU913iLA.d.ts → types-BeoeWV5I.d.ts} +8 -0
- package/dist/{types-CEpcvwwF.d.ts → types-CkbwOr4Y.d.ts} +6 -0
- package/dist/types.d.ts +2 -2
- package/dist/types.js +1 -1
- package/dist/{usePublicRouteParams-BJAlWfuJ.d.ts → usePublicRouteParams-i3qtoBgg.d.ts} +38 -17
- package/dist/utils.d.ts +4 -5
- package/dist/utils.js +17 -19
- package/dist/utils.js.map +1 -1
- package/docs/api/README.md +21 -17
- package/docs/api/modules.md +4191 -2967
- package/docs/architecture/database-schema-requirements.md +161 -0
- package/docs/components/context-selector.md +126 -0
- package/docs/core-concepts/rbac-system.md +3 -3
- package/docs/documentation-index.md +2 -4
- package/docs/getting-started/cursor-rules.md +2 -1
- package/docs/migration/DOCUMENTATION_STRUCTURE.md +441 -0
- package/docs/migration/MIGRATION_GUIDE.md +2 -24
- package/docs/migration/RBAC_SCOPE_MIGRATION.md +385 -0
- package/docs/migration/README.md +52 -6
- package/docs/migration/V0.5.190_TO_V0.6.1_MIGRATION.md +1153 -0
- package/docs/migration/database-changes-december-2025.md +3 -3
- package/docs/pace-mint-fix-auto-selection.md +218 -0
- package/docs/pace-mint-rbac-setup.md +391 -0
- package/docs/rbac/event-based-apps.md +1 -1
- package/docs/rbac/getting-started.md +1 -1
- package/docs/rbac/quick-start.md +1 -1
- package/docs/rbac/secure-client-protection.md +330 -0
- package/docs/standards/README.md +1 -0
- package/package.json +4 -3
- package/scripts/audit/core/checks/accessibility.cjs +197 -0
- package/scripts/audit/core/checks/api-usage.cjs +191 -0
- package/scripts/audit/core/checks/bundle.cjs +142 -0
- package/scripts/{check-pace-core-compliance.cjs → audit/core/checks/compliance.cjs} +784 -685
- package/scripts/audit/core/checks/config.cjs +54 -0
- package/scripts/audit/core/checks/coverage.cjs +84 -0
- package/scripts/audit/core/checks/dependencies.cjs +985 -0
- package/scripts/audit/core/checks/documentation.cjs +268 -0
- package/scripts/audit/core/checks/environment.cjs +116 -0
- package/scripts/audit/core/checks/error-handling.cjs +340 -0
- package/scripts/audit/core/checks/forms.cjs +172 -0
- package/scripts/audit/core/checks/heuristics.cjs +68 -0
- package/scripts/audit/core/checks/hooks.cjs +334 -0
- package/scripts/audit/core/checks/imports.cjs +244 -0
- package/scripts/audit/core/checks/performance.cjs +325 -0
- package/scripts/audit/core/checks/routes.cjs +117 -0
- package/scripts/audit/core/checks/state.cjs +130 -0
- package/scripts/audit/core/checks/structure.cjs +65 -0
- package/scripts/audit/core/checks/style.cjs +584 -0
- package/scripts/audit/core/checks/testing.cjs +122 -0
- package/scripts/audit/core/checks/typescript.cjs +61 -0
- package/scripts/audit/core/scanner.cjs +199 -0
- package/scripts/audit/core/utils.cjs +137 -0
- package/scripts/audit/index.cjs +223 -0
- package/scripts/audit/reporters/console.cjs +151 -0
- package/scripts/audit/reporters/json.cjs +54 -0
- package/scripts/audit/reporters/markdown.cjs +124 -0
- package/scripts/audit-consuming-app.cjs +61 -936
- package/scripts/build-docs/build-decision.js +240 -0
- package/scripts/build-docs/cache-utils.js +105 -0
- package/scripts/build-docs/content-normalization.js +150 -0
- package/scripts/build-docs/file-utils.js +105 -0
- package/scripts/build-docs/git-utils.js +86 -0
- package/scripts/build-docs/hash-utils.js +116 -0
- package/scripts/build-docs/typedoc-runner.js +220 -0
- package/scripts/build-docs-incremental.js +77 -913
- package/scripts/utils/command-runner.js +16 -11
- package/scripts/validate-formats.js +61 -56
- package/scripts/validate-master.js +74 -69
- package/scripts/validate-pre-publish.js +70 -65
- package/src/__tests__/hooks/usePermissions.test.ts +2 -2
- package/src/components/Alert/Alert.test.tsx +12 -18
- package/src/components/Alert/Alert.tsx +5 -7
- package/src/components/Avatar/Avatar.test.tsx +4 -4
- package/src/components/Badge/Badge.tsx +14 -0
- package/src/components/Button/Button.tsx +22 -0
- package/src/components/Calendar/Calendar.tsx +8 -2
- package/src/components/Card/Card.tsx +4 -0
- package/src/components/Checkbox/Checkbox.test.tsx +12 -12
- package/src/components/Checkbox/Checkbox.tsx +2 -2
- package/src/components/ContextSelector/ContextSelector.tsx +384 -0
- package/src/components/ContextSelector/index.ts +3 -0
- package/src/components/DataTable/DataTable.tsx +38 -4
- package/src/components/DataTable/__tests__/DataTableCore.test-setup.ts +5 -6
- package/src/components/DataTable/__tests__/pagination.modes.test.tsx +18 -4
- package/src/components/DataTable/__tests__/test-utils/sharedTestUtils.tsx +2 -3
- package/src/components/DataTable/components/AccessDeniedPage.tsx +16 -25
- package/src/components/DataTable/components/ActionButtons.tsx +10 -7
- package/src/components/DataTable/components/BulkOperationsDropdown.tsx +1 -1
- package/src/components/DataTable/components/ColumnFilter.tsx +10 -0
- package/src/components/DataTable/components/ColumnVisibilityDropdown.tsx +12 -0
- package/src/components/DataTable/components/DataTableBody.tsx +8 -0
- package/src/components/DataTable/components/DataTableCore.tsx +196 -554
- package/src/components/DataTable/components/DataTableErrorBoundary.tsx +11 -0
- package/src/components/DataTable/components/DataTableLayout.tsx +559 -0
- package/src/components/DataTable/components/DataTableModals.tsx +8 -0
- package/src/components/DataTable/components/DataTableToolbar.tsx +8 -0
- package/src/components/DataTable/components/DraggableColumnHeader.tsx +12 -0
- package/src/components/DataTable/components/EditFields.tsx +307 -0
- package/src/components/DataTable/components/EditableRow.tsx +8 -0
- package/src/components/DataTable/components/EmptyState.tsx +10 -0
- package/src/components/DataTable/components/FilterRow.tsx +12 -0
- package/src/components/DataTable/components/GroupHeader.tsx +12 -0
- package/src/components/DataTable/components/GroupingDropdown.tsx +12 -0
- package/src/components/DataTable/components/ImportModal.tsx +7 -0
- package/src/components/DataTable/components/LoadingState.tsx +6 -0
- package/src/components/DataTable/components/PaginationControls.tsx +16 -1
- package/src/components/DataTable/components/RowComponent.tsx +391 -0
- package/src/components/DataTable/components/UnifiedTableBody.tsx +63 -851
- package/src/components/DataTable/components/VirtualizedDataTable.tsx +16 -4
- package/src/components/DataTable/components/__tests__/AccessDeniedPage.test.tsx +4 -2
- package/src/components/DataTable/components/cellValueUtils.ts +40 -0
- package/src/components/DataTable/components/hooks/useImportModalFocus.ts +53 -0
- package/src/components/DataTable/components/hooks/usePermissionTracking.ts +126 -0
- package/src/components/DataTable/context/DataTableContext.tsx +50 -0
- package/src/components/DataTable/core/ColumnFactory.ts +31 -0
- package/src/components/DataTable/core/DataTableContext.tsx +32 -1
- package/src/components/DataTable/hooks/useColumnOrderPersistence.ts +10 -0
- package/src/components/DataTable/hooks/useColumnReordering.ts +12 -0
- package/src/components/DataTable/hooks/useColumnVisibilityPersistence.ts +10 -0
- package/src/components/DataTable/hooks/useDataTableDataPipeline.ts +16 -0
- package/src/components/DataTable/hooks/useDataTablePermissions.ts +127 -33
- package/src/components/DataTable/hooks/useDataTableState.ts +35 -1
- package/src/components/DataTable/hooks/useEffectiveColumnOrder.ts +12 -0
- package/src/components/DataTable/hooks/useServerSideDataEffect.ts +11 -0
- package/src/components/DataTable/hooks/useTableColumns.ts +8 -0
- package/src/components/DataTable/hooks/useTableHandlers.ts +14 -0
- package/src/components/DataTable/styles.ts +6 -6
- package/src/components/DataTable/types.ts +6 -10
- package/src/components/DataTable/utils/a11yUtils.ts +7 -0
- package/src/components/DataTable/utils/debugTools.ts +18 -113
- package/src/components/DataTable/utils/errorHandling.ts +12 -0
- package/src/components/DataTable/utils/exportUtils.ts +9 -0
- package/src/components/DataTable/utils/flexibleImport.ts +12 -48
- package/src/components/DataTable/utils/paginationUtils.ts +8 -0
- package/src/components/DataTable/utils/performanceUtils.ts +5 -1
- package/src/components/Dialog/Dialog.tsx +31 -3
- package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +180 -1
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +45 -5
- package/src/components/ErrorBoundary/ErrorBoundaryContext.tsx +129 -0
- package/src/components/ErrorBoundary/index.ts +27 -2
- package/src/components/FileDisplay/FileDisplay.tsx +74 -28
- package/src/components/FileUpload/FileUpload.tsx +22 -2
- package/src/components/Footer/Footer.test.tsx +16 -16
- package/src/components/Footer/Footer.tsx +14 -11
- package/src/components/Form/Form.tsx +1 -0
- package/src/components/Header/Header.test.tsx +43 -73
- package/src/components/Header/Header.tsx +59 -49
- package/src/components/Input/Input.test.tsx +2 -2
- package/src/components/Input/Input.tsx +8 -4
- package/src/components/LoadingSpinner/LoadingSpinner.test.tsx +4 -4
- package/src/components/LoginForm/LoginForm.tsx +4 -0
- package/src/components/NavigationMenu/NavigationMenu.tsx +14 -513
- package/src/components/NavigationMenu/types.ts +56 -0
- package/src/components/NavigationMenu/useNavigationFiltering.ts +390 -0
- package/src/components/PaceAppLayout/PaceAppLayout.integration.test.tsx +10 -19
- package/src/components/PaceAppLayout/PaceAppLayout.performance.test.tsx +2 -2
- package/src/components/PaceAppLayout/PaceAppLayout.security.test.tsx +5 -5
- package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +13 -11
- package/src/components/PaceAppLayout/PaceAppLayout.tsx +167 -44
- package/src/components/PaceAppLayout/README.md +14 -17
- package/src/components/PaceAppLayout/test-setup.tsx +3 -4
- package/src/components/PaceLoginPage/PaceLoginPage.tsx +3 -0
- package/src/components/PasswordChange/PasswordChangeForm.tsx +9 -0
- package/src/components/ProtectedRoute/ProtectedRoute.tsx +3 -9
- package/src/components/PublicLayout/PublicPageLayout.tsx +2 -5
- package/src/components/PublicLayout/PublicPageProvider.tsx +4 -0
- package/src/components/Select/Select.tsx +80 -434
- package/src/components/Select/context.ts +23 -0
- package/src/components/Select/hooks/useSelectEvents.ts +87 -0
- package/src/components/Select/hooks/useSelectSearch.ts +91 -0
- package/src/components/Select/hooks/useSelectState.ts +104 -0
- package/src/components/Select/index.ts +9 -1
- package/src/components/Select/types.ts +123 -0
- package/src/components/Select/utils/text.ts +26 -0
- package/src/components/SessionRestorationLoader/SessionRestorationLoader.tsx +4 -5
- package/src/components/Switch/Switch.tsx +4 -4
- package/src/components/Tabs/Tabs.tsx +1 -1
- package/src/components/Toast/Toast.tsx +4 -0
- package/src/components/Tooltip/Tooltip.tsx +2 -2
- package/src/components/UserMenu/UserMenu.test.tsx +24 -11
- package/src/components/UserMenu/UserMenu.tsx +21 -18
- package/src/components/index.ts +7 -7
- package/src/eslint-rules/pace-core-compliance.cjs +106 -0
- package/src/hooks/__tests__/index.unit.test.ts +2 -5
- package/src/hooks/__tests__/useAppConfig.unit.test.ts +4 -98
- package/src/hooks/index.ts +1 -2
- package/src/hooks/public/usePublicEvent.ts +4 -0
- package/src/hooks/public/usePublicEventLogo.ts +4 -0
- package/src/hooks/public/usePublicFileDisplay.ts +4 -0
- package/src/hooks/public/usePublicRouteParams.ts +4 -0
- package/src/hooks/services/useAuth.ts +32 -0
- package/src/hooks/services/useCurrentEvent.ts +6 -0
- package/src/hooks/services/useCurrentOrganisation.ts +6 -0
- package/src/hooks/useAppConfig.ts +15 -30
- package/src/hooks/useDebounce.ts +9 -0
- package/src/hooks/useEventTheme.ts +6 -0
- package/src/hooks/useFileDisplay.ts +81 -50
- package/src/hooks/useFileReference.ts +25 -7
- package/src/hooks/useFileUrl.ts +11 -1
- package/src/hooks/useFocusManagement.ts +14 -0
- package/src/hooks/useFocusTrap.ts +3 -0
- package/src/hooks/useInactivityTracker.ts +3 -0
- package/src/hooks/useKeyboardShortcuts.ts +4 -0
- package/src/hooks/useOrganisationPermissions.ts +4 -0
- package/src/hooks/useOrganisationSecurity.ts +4 -0
- package/src/hooks/usePerformanceMonitor.ts +4 -0
- package/src/hooks/usePermissionCache.ts +7 -0
- package/src/hooks/useQueryCache.ts +12 -1
- package/src/hooks/useSessionRestoration.ts +4 -0
- package/src/hooks/useStorage.ts +4 -0
- package/src/hooks/useToast.ts +1 -1
- package/src/index.ts +6 -6
- package/src/providers/__tests__/OrganisationProvider.test.tsx +92 -70
- package/src/providers/services/AuthServiceProvider.tsx +35 -7
- package/src/providers/services/EventServiceProvider.tsx +51 -5
- package/src/providers/services/InactivityServiceProvider.tsx +18 -0
- package/src/providers/services/OrganisationServiceProvider.tsx +18 -0
- package/src/providers/services/UnifiedAuthProvider.tsx +126 -134
- package/src/providers/services/__tests__/AuthServiceProvider.integration.test.tsx +29 -13
- package/src/rbac/README.md +1 -1
- package/src/rbac/__tests__/adapters.comprehensive.test.tsx +1 -1
- package/src/rbac/__tests__/scenarios.user-role.test.tsx +4 -5
- package/src/rbac/adapters.tsx +12 -3
- package/src/rbac/api.test.ts +59 -51
- package/src/rbac/api.ts +246 -167
- package/src/rbac/components/NavigationProvider.tsx +4 -1
- package/src/rbac/components/PagePermissionGuard.tsx +185 -17
- package/src/rbac/components/RoleBasedRouter.tsx +5 -1
- package/src/rbac/components/SecureDataProvider.test.tsx +84 -49
- package/src/rbac/components/SecureDataProvider.tsx +20 -5
- package/src/rbac/components/__tests__/PagePermissionGuard.race-condition.test.tsx +24 -14
- package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +7 -0
- package/src/rbac/components/__tests__/PagePermissionGuard.verification.test.tsx +14 -6
- package/src/rbac/components/__tests__/RoleBasedRouter.test.tsx +15 -4
- package/src/rbac/components/__tests__/SecureDataProvider.fixed.test.tsx +148 -24
- package/src/rbac/components/__tests__/SecureDataProvider.test.tsx +81 -15
- package/src/rbac/engine.ts +38 -14
- package/src/rbac/hooks/__tests__/useSecureSupabase.test.ts +32 -21
- package/src/rbac/hooks/permissions/index.ts +7 -0
- package/src/rbac/hooks/permissions/useAccessLevel.ts +105 -0
- package/src/rbac/hooks/permissions/useCachedPermissions.ts +79 -0
- package/src/rbac/hooks/permissions/useCan.ts +377 -0
- package/src/rbac/hooks/permissions/useHasAllPermissions.ts +90 -0
- package/src/rbac/hooks/permissions/useHasAnyPermission.ts +90 -0
- package/src/rbac/hooks/permissions/useMultiplePermissions.ts +93 -0
- package/src/rbac/hooks/permissions/usePermissions.ts +253 -0
- package/src/rbac/hooks/useCan.test.ts +64 -66
- package/src/rbac/hooks/usePermissions.ts +14 -995
- package/src/rbac/hooks/useRBAC.test.ts +1 -5
- package/src/rbac/hooks/useRBAC.ts +36 -37
- package/src/rbac/hooks/useResolvedScope.test.ts +120 -35
- package/src/rbac/hooks/useResolvedScope.ts +35 -40
- package/src/rbac/hooks/useResourcePermissions.test.ts +54 -18
- package/src/rbac/hooks/useResourcePermissions.ts +14 -4
- package/src/rbac/hooks/useSecureSupabase.ts +27 -7
- package/src/rbac/index.ts +7 -0
- package/src/rbac/permissions.ts +0 -30
- package/src/rbac/secureClient.test.ts +22 -18
- package/src/rbac/secureClient.ts +294 -68
- package/src/rbac/security.ts +0 -17
- package/src/rbac/types.ts +9 -0
- package/src/rbac/utils/__tests__/contextValidator.test.ts +64 -86
- package/src/rbac/utils/clientSecurity.ts +93 -0
- package/src/rbac/utils/contextValidator.ts +77 -168
- package/src/services/AuthService.ts +39 -7
- package/src/services/EventService.ts +186 -54
- package/src/services/OrganisationService.ts +81 -14
- package/src/services/__tests__/EventService.test.ts +1 -2
- package/src/services/base/BaseService.ts +3 -0
- package/src/theming/__tests__/parseEventColours.test.ts +6 -9
- package/src/theming/parseEventColours.ts +5 -19
- package/src/types/vitest-globals.d.ts +51 -26
- package/src/utils/__mocks__/supabaseMock.ts +1 -3
- package/src/utils/__tests__/formatting.unit.test.ts +4 -4
- package/src/utils/__tests__/index.unit.test.ts +2 -2
- package/src/utils/audit/audit.ts +0 -3
- package/src/utils/core/cn.ts +1 -1
- package/src/utils/dynamic/dynamicUtils.ts +7 -4
- package/src/utils/file-reference/index.ts +53 -1
- package/src/utils/formatting/formatting.ts +8 -18
- package/src/utils/index.ts +0 -1
- package/dist/chunk-3QRJFVBR.js.map +0 -1
- package/dist/chunk-3XTALGJF.js.map +0 -1
- package/dist/chunk-4N5C5XZU.js.map +0 -1
- package/dist/chunk-4ZC4GX36.js.map +0 -1
- package/dist/chunk-7D4SUZUM.js +0 -38
- package/dist/chunk-BYFSK72L.js.map +0 -1
- package/dist/chunk-EXUD6RNJ.js +0 -451
- package/dist/chunk-EXUD6RNJ.js.map +0 -1
- package/dist/chunk-GLK6VM3F.js.map +0 -1
- package/dist/chunk-I7PSE6JW.js.map +0 -1
- package/dist/chunk-JBKQ3SAO.js.map +0 -1
- package/dist/chunk-KNC55RTG.js.map +0 -1
- package/dist/chunk-LXQLPRQ2.js.map +0 -1
- package/dist/chunk-R77UEZ4E.js.map +0 -1
- package/dist/chunk-SQGMNID3.js.map +0 -1
- package/dist/chunk-T33XF5ZC.js +0 -12922
- package/dist/chunk-T33XF5ZC.js.map +0 -1
- package/dist/chunk-XM25TVIE.js.map +0 -1
- package/docs/api/classes/ColumnFactory.md +0 -243
- package/docs/api/classes/ErrorBoundary.md +0 -144
- package/docs/api/classes/InvalidScopeError.md +0 -73
- package/docs/api/classes/Logger.md +0 -178
- package/docs/api/classes/MissingUserContextError.md +0 -66
- package/docs/api/classes/OrganisationContextRequiredError.md +0 -66
- package/docs/api/classes/PermissionDeniedError.md +0 -73
- package/docs/api/classes/RBACAuditManager.md +0 -297
- package/docs/api/classes/RBACCache.md +0 -322
- package/docs/api/classes/RBACEngine.md +0 -171
- package/docs/api/classes/RBACError.md +0 -76
- package/docs/api/classes/RBACNotInitializedError.md +0 -66
- package/docs/api/classes/SecureSupabaseClient.md +0 -160
- package/docs/api/classes/StorageUtils.md +0 -328
- package/docs/api/enums/FileCategory.md +0 -184
- package/docs/api/enums/LogLevel.md +0 -54
- package/docs/api/enums/RBACErrorCode.md +0 -228
- package/docs/api/enums/RPCFunction.md +0 -118
- package/docs/api/interfaces/AddressFieldProps.md +0 -241
- package/docs/api/interfaces/AddressFieldRef.md +0 -94
- package/docs/api/interfaces/AggregateConfig.md +0 -43
- package/docs/api/interfaces/AutocompleteOptions.md +0 -75
- package/docs/api/interfaces/AvatarProps.md +0 -128
- package/docs/api/interfaces/BadgeProps.md +0 -27
- package/docs/api/interfaces/ButtonProps.md +0 -53
- package/docs/api/interfaces/CalendarProps.md +0 -70
- package/docs/api/interfaces/CardProps.md +0 -66
- package/docs/api/interfaces/ColorPalette.md +0 -7
- package/docs/api/interfaces/ColorShade.md +0 -66
- package/docs/api/interfaces/ComplianceResult.md +0 -30
- package/docs/api/interfaces/DataAccessRecord.md +0 -96
- package/docs/api/interfaces/DataRecord.md +0 -11
- package/docs/api/interfaces/DataTableAction.md +0 -249
- package/docs/api/interfaces/DataTableColumn.md +0 -504
- package/docs/api/interfaces/DataTableProps.md +0 -625
- package/docs/api/interfaces/DataTableToolbarButton.md +0 -96
- package/docs/api/interfaces/DatabaseComplianceResult.md +0 -85
- package/docs/api/interfaces/DatabaseIssue.md +0 -41
- package/docs/api/interfaces/EmptyStateConfig.md +0 -61
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +0 -235
- package/docs/api/interfaces/EventAppRoleData.md +0 -71
- package/docs/api/interfaces/ExportColumn.md +0 -90
- package/docs/api/interfaces/ExportOptions.md +0 -126
- package/docs/api/interfaces/FileDisplayProps.md +0 -249
- package/docs/api/interfaces/FileMetadata.md +0 -129
- package/docs/api/interfaces/FileReference.md +0 -118
- package/docs/api/interfaces/FileSizeLimits.md +0 -7
- package/docs/api/interfaces/FileUploadOptions.md +0 -139
- package/docs/api/interfaces/FileUploadProps.md +0 -293
- package/docs/api/interfaces/FooterProps.md +0 -105
- package/docs/api/interfaces/FormFieldProps.md +0 -166
- package/docs/api/interfaces/FormProps.md +0 -113
- package/docs/api/interfaces/GrantEventAppRoleParams.md +0 -122
- package/docs/api/interfaces/InactivityWarningModalProps.md +0 -115
- package/docs/api/interfaces/InputProps.md +0 -53
- package/docs/api/interfaces/LabelProps.md +0 -107
- package/docs/api/interfaces/LoggerConfig.md +0 -62
- package/docs/api/interfaces/LoginFormProps.md +0 -184
- package/docs/api/interfaces/NavigationAccessRecord.md +0 -107
- package/docs/api/interfaces/NavigationContextType.md +0 -164
- package/docs/api/interfaces/NavigationGuardProps.md +0 -139
- package/docs/api/interfaces/NavigationItem.md +0 -120
- package/docs/api/interfaces/NavigationMenuProps.md +0 -221
- package/docs/api/interfaces/NavigationProviderProps.md +0 -117
- package/docs/api/interfaces/Organisation.md +0 -140
- package/docs/api/interfaces/OrganisationContextType.md +0 -388
- package/docs/api/interfaces/OrganisationMembership.md +0 -140
- package/docs/api/interfaces/OrganisationProviderProps.md +0 -76
- package/docs/api/interfaces/OrganisationSecurityError.md +0 -62
- package/docs/api/interfaces/PaceAppLayoutProps.md +0 -406
- package/docs/api/interfaces/PaceLoginPageProps.md +0 -47
- package/docs/api/interfaces/PageAccessRecord.md +0 -85
- package/docs/api/interfaces/PagePermissionContextType.md +0 -140
- package/docs/api/interfaces/PagePermissionGuardProps.md +0 -153
- package/docs/api/interfaces/PagePermissionProviderProps.md +0 -119
- package/docs/api/interfaces/PaletteData.md +0 -41
- package/docs/api/interfaces/ParsedAddress.md +0 -120
- package/docs/api/interfaces/PermissionEnforcerProps.md +0 -153
- package/docs/api/interfaces/ProgressProps.md +0 -42
- package/docs/api/interfaces/ProtectedRouteProps.md +0 -97
- package/docs/api/interfaces/PublicPageFooterProps.md +0 -112
- package/docs/api/interfaces/PublicPageHeaderProps.md +0 -125
- package/docs/api/interfaces/PublicPageLayoutProps.md +0 -198
- package/docs/api/interfaces/QuickFix.md +0 -52
- package/docs/api/interfaces/RBACAccessValidateParams.md +0 -52
- package/docs/api/interfaces/RBACAccessValidateResult.md +0 -41
- package/docs/api/interfaces/RBACAuditLogParams.md +0 -85
- package/docs/api/interfaces/RBACAuditLogResult.md +0 -52
- package/docs/api/interfaces/RBACConfig.md +0 -133
- package/docs/api/interfaces/RBACContext.md +0 -52
- package/docs/api/interfaces/RBACLogger.md +0 -112
- package/docs/api/interfaces/RBACPageAccessCheckParams.md +0 -74
- package/docs/api/interfaces/RBACPerformanceMetrics.md +0 -138
- package/docs/api/interfaces/RBACPermissionCheckParams.md +0 -74
- package/docs/api/interfaces/RBACPermissionCheckResult.md +0 -52
- package/docs/api/interfaces/RBACPermissionsGetParams.md +0 -63
- package/docs/api/interfaces/RBACPermissionsGetResult.md +0 -63
- package/docs/api/interfaces/RBACResult.md +0 -58
- package/docs/api/interfaces/RBACRoleGrantParams.md +0 -63
- package/docs/api/interfaces/RBACRoleGrantResult.md +0 -52
- package/docs/api/interfaces/RBACRoleRevokeParams.md +0 -63
- package/docs/api/interfaces/RBACRoleRevokeResult.md +0 -52
- package/docs/api/interfaces/RBACRoleValidateParams.md +0 -52
- package/docs/api/interfaces/RBACRoleValidateResult.md +0 -63
- package/docs/api/interfaces/RBACRolesListParams.md +0 -52
- package/docs/api/interfaces/RBACRolesListResult.md +0 -74
- package/docs/api/interfaces/RBACSessionTrackParams.md +0 -74
- package/docs/api/interfaces/RBACSessionTrackResult.md +0 -52
- package/docs/api/interfaces/ResourcePermissions.md +0 -155
- package/docs/api/interfaces/RevokeEventAppRoleParams.md +0 -100
- package/docs/api/interfaces/RoleBasedRouterContextType.md +0 -151
- package/docs/api/interfaces/RoleBasedRouterProps.md +0 -156
- package/docs/api/interfaces/RoleManagementResult.md +0 -52
- package/docs/api/interfaces/RouteAccessRecord.md +0 -107
- package/docs/api/interfaces/RouteConfig.md +0 -134
- package/docs/api/interfaces/RuntimeComplianceResult.md +0 -55
- package/docs/api/interfaces/SecureDataContextType.md +0 -168
- package/docs/api/interfaces/SecureDataProviderProps.md +0 -132
- package/docs/api/interfaces/SessionRestorationLoaderProps.md +0 -34
- package/docs/api/interfaces/SetupIssue.md +0 -41
- package/docs/api/interfaces/StorageConfig.md +0 -41
- package/docs/api/interfaces/StorageFileInfo.md +0 -74
- package/docs/api/interfaces/StorageFileMetadata.md +0 -151
- package/docs/api/interfaces/StorageListOptions.md +0 -99
- package/docs/api/interfaces/StorageListResult.md +0 -41
- package/docs/api/interfaces/StorageUploadOptions.md +0 -101
- package/docs/api/interfaces/StorageUploadResult.md +0 -63
- package/docs/api/interfaces/StorageUrlOptions.md +0 -60
- package/docs/api/interfaces/StyleImport.md +0 -19
- package/docs/api/interfaces/SwitchProps.md +0 -34
- package/docs/api/interfaces/TabsContentProps.md +0 -9
- package/docs/api/interfaces/TabsListProps.md +0 -9
- package/docs/api/interfaces/TabsProps.md +0 -9
- package/docs/api/interfaces/TabsTriggerProps.md +0 -50
- package/docs/api/interfaces/TextareaProps.md +0 -53
- package/docs/api/interfaces/ToastActionElement.md +0 -9
- package/docs/api/interfaces/ToastProps.md +0 -9
- package/docs/api/interfaces/UnifiedAuthContextType.md +0 -820
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +0 -171
- package/docs/api/interfaces/UseFormDialogOptions.md +0 -62
- package/docs/api/interfaces/UseFormDialogReturn.md +0 -117
- 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/UsePublicFileDisplayOptions.md +0 -47
- package/docs/api/interfaces/UsePublicFileDisplayReturn.md +0 -120
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +0 -94
- package/docs/api/interfaces/UseResolvedScopeOptions.md +0 -47
- package/docs/api/interfaces/UseResolvedScopeReturn.md +0 -47
- package/docs/api/interfaces/UseResourcePermissionsOptions.md +0 -34
- package/docs/api/interfaces/UserEventAccess.md +0 -118
- package/docs/api/interfaces/UserMenuProps.md +0 -86
- package/docs/api/interfaces/UserProfile.md +0 -63
- package/docs/migration/quick-migration-guide.md +0 -356
- package/docs/migration/service-architecture.md +0 -281
- package/src/components/EventSelector/EventSelector.test.tsx +0 -720
- package/src/components/EventSelector/EventSelector.tsx +0 -420
- package/src/components/EventSelector/index.ts +0 -3
- package/src/components/OrganisationSelector/OrganisationSelector.test.tsx +0 -784
- package/src/components/OrganisationSelector/OrganisationSelector.tsx +0 -324
- package/src/components/OrganisationSelector/index.ts +0 -9
- package/src/hooks/__tests__/useSecureDataAccess.unit.test.tsx +0 -680
- package/src/hooks/useSecureDataAccess.test.ts +0 -559
- package/src/hooks/useSecureDataAccess.ts +0 -681
- /package/dist/{DataTable-DQ7RSOHE.js.map → DataTable-THFPBKTP.js.map} +0 -0
- /package/dist/{UnifiedAuthProvider-ATAP5UTR.js.map → UnifiedAuthProvider-KAGUYQ4J.js.map} +0 -0
- /package/dist/{api-N774RPUA.js.map → api-IAGWF3ZG.js.map} +0 -0
- /package/dist/{audit-B5P6FFIR.js.map → audit-V53FV5AG.js.map} +0 -0
- /package/dist/{chunk-7D4SUZUM.js.map → chunk-DGUM43GV.js.map} +0 -0
- /package/docs/migration/{organisation-context-timing-fix.md → V0.3.44_organisation-context-timing-fix.md} +0 -0
- /package/docs/migration/{rbac-migration.md → V0.4.0_rbac-migration.md} +0 -0
- /package/docs/migration/{person-scoped-profiles-migration-guide.md → V0.5.190_person-scoped-profiles-migration-guide.md} +0 -0
- /package/docs/migration/{REACT_19_MIGRATION.md → V0.6.0_REACT_19_MIGRATION.md} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React$1 from 'react';
|
|
2
|
-
import React__default, {
|
|
2
|
+
import React__default, { ReactNode, Component } from 'react';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
-
import { P as ParsedAddress, A as AutocompleteOptions } from './types-
|
|
4
|
+
import { P as ParsedAddress, A as AutocompleteOptions } from './types-CkbwOr4Y.js';
|
|
5
5
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
6
6
|
import { F as FileCategory, e as FileUploadResult, U as UploadProgress, c as FileUploadOptions, a as FileReference } from './file-reference-BavO2eQj.js';
|
|
7
7
|
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
@@ -14,9 +14,19 @@ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
|
14
14
|
import { FieldValues, DefaultValues, SubmitHandler, SubmitErrorHandler, UseFormReturn, FieldPath, ControllerRenderProps, ControllerFieldState, UseFormStateReturn } from 'react-hook-form';
|
|
15
15
|
import { z } from 'zod';
|
|
16
16
|
import { User, SupabaseClient, createClient } from '@supabase/supabase-js';
|
|
17
|
-
import { P as Permission, A as AccessLevel } from './types-
|
|
18
|
-
import {
|
|
17
|
+
import { P as Permission, A as AccessLevel } from './types-BeoeWV5I.js';
|
|
18
|
+
import { O as Organisation, E as Event } from './event-CW5YB_2p.js';
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Button component props
|
|
22
|
+
* Extends standard HTML button attributes with button-specific styling and behavior options.
|
|
23
|
+
*
|
|
24
|
+
* @interface ButtonProps
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Props for the Button component.
|
|
28
|
+
* Extends standard button HTML attributes.
|
|
29
|
+
*/
|
|
20
30
|
interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
21
31
|
/** Visual variant of the button */
|
|
22
32
|
variant?: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link';
|
|
@@ -109,6 +119,10 @@ declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.Re
|
|
|
109
119
|
* - Screen reader friendly with semantic landmarks
|
|
110
120
|
*/
|
|
111
121
|
|
|
122
|
+
/**
|
|
123
|
+
* Props for the Card component.
|
|
124
|
+
* Extends standard HTML attributes for semantic HTML elements.
|
|
125
|
+
*/
|
|
112
126
|
interface CardProps extends React$1.HTMLAttributes<HTMLElement> {
|
|
113
127
|
/** Visual variant of the card */
|
|
114
128
|
variant?: 'default' | 'outline' | 'ghost';
|
|
@@ -128,6 +142,10 @@ declare const CardFooter: React$1.ForwardRefExoticComponent<React$1.HTMLAttribut
|
|
|
128
142
|
declare const CardActions: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLElement> & React$1.RefAttributes<HTMLElement>>;
|
|
129
143
|
type CardActionsProps = React$1.HTMLAttributes<HTMLElement>;
|
|
130
144
|
|
|
145
|
+
/**
|
|
146
|
+
* Props for the Input component.
|
|
147
|
+
* Extends standard input HTML attributes.
|
|
148
|
+
*/
|
|
131
149
|
interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
132
150
|
/**
|
|
133
151
|
* Input variant style
|
|
@@ -464,22 +482,20 @@ declare namespace Textarea {
|
|
|
464
482
|
*
|
|
465
483
|
* @example
|
|
466
484
|
* ```tsx
|
|
467
|
-
* // Basic alert
|
|
485
|
+
* // Basic alert (renders as <aside> with <h5> title and <p> description)
|
|
468
486
|
* <Alert>
|
|
469
487
|
* <AlertTitle>Success</AlertTitle>
|
|
470
488
|
* <AlertDescription>Your changes have been saved.</AlertDescription>
|
|
471
489
|
* </Alert>
|
|
472
490
|
*
|
|
473
|
-
* // Destructive alert with icon
|
|
491
|
+
* // Destructive alert with icon (renders as <aside> with <h5> title and <p> description)
|
|
474
492
|
* <Alert variant="destructive">
|
|
475
493
|
* <ErrorIcon />
|
|
476
|
-
* <
|
|
477
|
-
*
|
|
478
|
-
* <AlertDescription>Something went wrong.</AlertDescription>
|
|
479
|
-
* </div>
|
|
494
|
+
* <AlertTitle>Error</AlertTitle>
|
|
495
|
+
* <AlertDescription>Something went wrong.</AlertDescription>
|
|
480
496
|
* </Alert>
|
|
481
497
|
*
|
|
482
|
-
* // Inline alert (renders as
|
|
498
|
+
* // Inline alert (renders as React.Fragment with <strong> title and <span> description)
|
|
483
499
|
* <Alert variant="inline">
|
|
484
500
|
* <AlertTitle>Note:</AlertTitle>
|
|
485
501
|
* <AlertDescription>This is an inline message.</AlertDescription>
|
|
@@ -570,7 +586,21 @@ interface AvatarProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
570
586
|
*/
|
|
571
587
|
declare const Avatar: React$1.ForwardRefExoticComponent<AvatarProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
572
588
|
|
|
589
|
+
/**
|
|
590
|
+
* Badge variant type
|
|
591
|
+
* Defines the visual style, color palette, and shade intensity of the badge.
|
|
592
|
+
* Format: {style}-{color}-{shade}
|
|
593
|
+
* - style: 'solid' | 'outline' | 'soft'
|
|
594
|
+
* - color: 'main' | 'sec' | 'acc'
|
|
595
|
+
* - shade: 'muted' | 'normal' | 'strong'
|
|
596
|
+
*/
|
|
573
597
|
type BadgeVariant = 'solid-main-muted' | 'solid-main-normal' | 'solid-main-strong' | 'solid-sec-muted' | 'solid-sec-normal' | 'solid-sec-strong' | 'solid-acc-muted' | 'solid-acc-normal' | 'solid-acc-strong' | 'outline-main-muted' | 'outline-main-normal' | 'outline-main-strong' | 'outline-sec-muted' | 'outline-sec-normal' | 'outline-sec-strong' | 'outline-acc-muted' | 'outline-acc-normal' | 'outline-acc-strong' | 'soft-main-muted' | 'soft-main-normal' | 'soft-main-strong' | 'soft-sec-muted' | 'soft-sec-normal' | 'soft-sec-strong' | 'soft-acc-muted' | 'soft-acc-normal' | 'soft-acc-strong';
|
|
598
|
+
/**
|
|
599
|
+
* Badge component props
|
|
600
|
+
* Extends standard HTML span attributes with badge-specific styling options.
|
|
601
|
+
*
|
|
602
|
+
* @interface BadgeProps
|
|
603
|
+
*/
|
|
574
604
|
interface BadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
|
|
575
605
|
/** Visual variant of the badge (style-color-shade) */
|
|
576
606
|
variant?: BadgeVariant;
|
|
@@ -625,10 +655,10 @@ declare namespace Badge {
|
|
|
625
655
|
* <Checkbox />
|
|
626
656
|
*
|
|
627
657
|
* // With label
|
|
628
|
-
*
|
|
658
|
+
* <>
|
|
629
659
|
* <Checkbox id="terms" />
|
|
630
660
|
* <label htmlFor="terms">Accept terms and conditions</label>
|
|
631
|
-
*
|
|
661
|
+
* </>
|
|
632
662
|
*
|
|
633
663
|
* // Disabled state
|
|
634
664
|
* <Checkbox disabled />
|
|
@@ -677,7 +707,7 @@ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive
|
|
|
677
707
|
* const [checked, setChecked] = React.useState(false);
|
|
678
708
|
*
|
|
679
709
|
* return (
|
|
680
|
-
*
|
|
710
|
+
* <>
|
|
681
711
|
* <Switch
|
|
682
712
|
* checked={checked}
|
|
683
713
|
* onCheckedChange={setChecked}
|
|
@@ -686,7 +716,7 @@ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive
|
|
|
686
716
|
* <label htmlFor="notifications">
|
|
687
717
|
* Enable notifications
|
|
688
718
|
* </label>
|
|
689
|
-
*
|
|
719
|
+
* </>
|
|
690
720
|
* );
|
|
691
721
|
* }
|
|
692
722
|
* ```
|
|
@@ -697,12 +727,12 @@ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive
|
|
|
697
727
|
*
|
|
698
728
|
* function FormExample() {
|
|
699
729
|
* return (
|
|
700
|
-
*
|
|
730
|
+
* <>
|
|
701
731
|
* <Switch id="terms" />
|
|
702
732
|
* <Label htmlFor="terms">
|
|
703
733
|
* I agree to the terms and conditions
|
|
704
734
|
* </Label>
|
|
705
|
-
*
|
|
735
|
+
* </>
|
|
706
736
|
* );
|
|
707
737
|
* }
|
|
708
738
|
* ```
|
|
@@ -1038,19 +1068,13 @@ declare const DialogTitle: React$1.ForwardRefExoticComponent<DialogTitleProps &
|
|
|
1038
1068
|
declare const DialogDescription: React$1.ForwardRefExoticComponent<DialogDescriptionProps & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
1039
1069
|
|
|
1040
1070
|
/**
|
|
1041
|
-
*
|
|
1042
|
-
*
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
*
|
|
1047
|
-
* - Single Responsibility: Each component has one clear purpose
|
|
1048
|
-
* - Open/Closed: Easy to extend without modification
|
|
1049
|
-
* - Liskov Substitution: Components can be substituted
|
|
1050
|
-
* - Interface Segregation: Small, focused interfaces
|
|
1051
|
-
* - Dependency Inversion: Depends on abstractions, not concretions
|
|
1071
|
+
* Direction for Select dropdown opening.
|
|
1072
|
+
* Controls whether the dropdown opens upward or downward.
|
|
1073
|
+
*/
|
|
1074
|
+
type SelectDirection = "up" | "down";
|
|
1075
|
+
/**
|
|
1076
|
+
* Props for the useSelectState hook.
|
|
1052
1077
|
*/
|
|
1053
|
-
|
|
1054
1078
|
interface UseSelectStateProps {
|
|
1055
1079
|
value?: string;
|
|
1056
1080
|
defaultValue?: string;
|
|
@@ -1061,19 +1085,31 @@ interface UseSelectStateProps {
|
|
|
1061
1085
|
onValueChange?: (value: string) => void;
|
|
1062
1086
|
onOpenChange?: (open: boolean) => void;
|
|
1063
1087
|
}
|
|
1064
|
-
|
|
1088
|
+
/**
|
|
1089
|
+
* Props for the Select root component.
|
|
1090
|
+
*/
|
|
1091
|
+
interface SelectProps extends Omit<React$1.HTMLAttributes<HTMLFormElement>, "onChange" | "onKeyDown" | "onFocus" | "onBlur"> {
|
|
1065
1092
|
children: React$1.ReactNode;
|
|
1066
1093
|
className?: string;
|
|
1067
|
-
direction?:
|
|
1094
|
+
direction?: SelectDirection;
|
|
1068
1095
|
}
|
|
1069
|
-
|
|
1096
|
+
/**
|
|
1097
|
+
* Props for the SelectTrigger component.
|
|
1098
|
+
*/
|
|
1099
|
+
interface SelectTriggerProps extends Omit<ButtonProps, "onClick" | "onKeyDown"> {
|
|
1070
1100
|
children: React$1.ReactNode;
|
|
1071
1101
|
asChild?: boolean;
|
|
1072
1102
|
}
|
|
1103
|
+
/**
|
|
1104
|
+
* Props for the SelectValue component.
|
|
1105
|
+
*/
|
|
1073
1106
|
interface SelectValueProps {
|
|
1074
1107
|
placeholder?: string;
|
|
1075
1108
|
children?: React$1.ReactNode;
|
|
1076
1109
|
}
|
|
1110
|
+
/**
|
|
1111
|
+
* Props for the SelectContent component.
|
|
1112
|
+
*/
|
|
1077
1113
|
interface SelectContentProps {
|
|
1078
1114
|
children: React$1.ReactNode;
|
|
1079
1115
|
className?: string;
|
|
@@ -1082,6 +1118,9 @@ interface SelectContentProps {
|
|
|
1082
1118
|
maxHeight?: string;
|
|
1083
1119
|
style?: React$1.CSSProperties;
|
|
1084
1120
|
}
|
|
1121
|
+
/**
|
|
1122
|
+
* Props for the SelectItem component.
|
|
1123
|
+
*/
|
|
1085
1124
|
interface SelectItemProps {
|
|
1086
1125
|
value: string;
|
|
1087
1126
|
children: React$1.ReactNode;
|
|
@@ -1089,19 +1128,98 @@ interface SelectItemProps {
|
|
|
1089
1128
|
className?: string;
|
|
1090
1129
|
onClick?: (e: React$1.MouseEvent) => void;
|
|
1091
1130
|
}
|
|
1131
|
+
|
|
1132
|
+
/**
|
|
1133
|
+
* @file Select Component - Refactored SOLID Implementation
|
|
1134
|
+
* @package @jmruthers/pace-core
|
|
1135
|
+
* @module Components/Select
|
|
1136
|
+
* @since 0.4.0
|
|
1137
|
+
*
|
|
1138
|
+
* Refactored Select component following SOLID principles:
|
|
1139
|
+
* - Single Responsibility: Each component has one clear purpose
|
|
1140
|
+
* - Open/Closed: Easy to extend without modification
|
|
1141
|
+
* - Liskov Substitution: Components can be substituted
|
|
1142
|
+
* - Interface Segregation: Small, focused interfaces
|
|
1143
|
+
* - Dependency Inversion: Depends on abstractions, not concretions
|
|
1144
|
+
*/
|
|
1145
|
+
|
|
1146
|
+
/**
|
|
1147
|
+
* Select component root.
|
|
1148
|
+
* Provides select dropdown functionality with search, keyboard navigation, and accessibility.
|
|
1149
|
+
*
|
|
1150
|
+
* @param props - Select configuration
|
|
1151
|
+
* @param ref - Forwarded ref to the form element
|
|
1152
|
+
* @returns The rendered select component
|
|
1153
|
+
*/
|
|
1092
1154
|
declare const Select: React$1.ForwardRefExoticComponent<SelectProps & UseSelectStateProps & React$1.RefAttributes<HTMLFormElement>>;
|
|
1155
|
+
/**
|
|
1156
|
+
* Select trigger button component.
|
|
1157
|
+
* Opens/closes the select dropdown and displays the selected value.
|
|
1158
|
+
*
|
|
1159
|
+
* @param props - Select trigger configuration
|
|
1160
|
+
* @param ref - Forwarded ref to the button element
|
|
1161
|
+
* @returns The rendered select trigger
|
|
1162
|
+
*/
|
|
1093
1163
|
declare const SelectTrigger: React$1.ForwardRefExoticComponent<SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
1164
|
+
/**
|
|
1165
|
+
* Select value display component.
|
|
1166
|
+
* Shows the selected value or placeholder text.
|
|
1167
|
+
*
|
|
1168
|
+
* @param props - Select value configuration
|
|
1169
|
+
* @param ref - Forwarded ref to the span element
|
|
1170
|
+
* @returns The rendered select value display
|
|
1171
|
+
*/
|
|
1094
1172
|
declare const SelectValue: React$1.ForwardRefExoticComponent<SelectValueProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
1173
|
+
/**
|
|
1174
|
+
* Select content/dropdown component.
|
|
1175
|
+
* Contains the list of selectable options.
|
|
1176
|
+
*
|
|
1177
|
+
* @param props - Select content configuration
|
|
1178
|
+
* @param ref - Forwarded ref to the list element
|
|
1179
|
+
* @returns The rendered select content
|
|
1180
|
+
*/
|
|
1095
1181
|
declare const SelectContent: React$1.ForwardRefExoticComponent<SelectContentProps & React$1.RefAttributes<HTMLUListElement>>;
|
|
1182
|
+
/**
|
|
1183
|
+
* Select item component.
|
|
1184
|
+
* Represents a single selectable option in the dropdown.
|
|
1185
|
+
*
|
|
1186
|
+
* @param props - Select item configuration
|
|
1187
|
+
* @param ref - Forwarded ref to the list item element
|
|
1188
|
+
* @returns The rendered select item
|
|
1189
|
+
*/
|
|
1096
1190
|
declare const SelectItem: React$1.ForwardRefExoticComponent<SelectItemProps & React$1.RefAttributes<HTMLLIElement>>;
|
|
1191
|
+
/**
|
|
1192
|
+
* Select group component.
|
|
1193
|
+
* Groups related select items together.
|
|
1194
|
+
*
|
|
1195
|
+
* @param props - Select group configuration
|
|
1196
|
+
* @param ref - Forwarded ref to the div element
|
|
1197
|
+
* @returns The rendered select group
|
|
1198
|
+
*/
|
|
1097
1199
|
declare const SelectGroup: React$1.ForwardRefExoticComponent<{
|
|
1098
1200
|
children: React$1.ReactNode;
|
|
1099
1201
|
className?: string;
|
|
1100
1202
|
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
1203
|
+
/**
|
|
1204
|
+
* Select label component.
|
|
1205
|
+
* Provides a label for a group of select items.
|
|
1206
|
+
*
|
|
1207
|
+
* @param props - Select label configuration
|
|
1208
|
+
* @param ref - Forwarded ref to the div element
|
|
1209
|
+
* @returns The rendered select label
|
|
1210
|
+
*/
|
|
1101
1211
|
declare const SelectLabel: React$1.ForwardRefExoticComponent<{
|
|
1102
1212
|
children: React$1.ReactNode;
|
|
1103
1213
|
className?: string;
|
|
1104
1214
|
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
1215
|
+
/**
|
|
1216
|
+
* Select separator component.
|
|
1217
|
+
* Provides visual separation between groups of select items.
|
|
1218
|
+
*
|
|
1219
|
+
* @param props - Select separator configuration
|
|
1220
|
+
* @param ref - Forwarded ref to the div element
|
|
1221
|
+
* @returns The rendered select separator
|
|
1222
|
+
*/
|
|
1105
1223
|
declare const SelectSeparator: React$1.ForwardRefExoticComponent<{
|
|
1106
1224
|
className?: string;
|
|
1107
1225
|
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
@@ -1229,7 +1347,7 @@ interface TabsContentProps extends React$1.ComponentPropsWithoutRef<typeof TabsP
|
|
|
1229
1347
|
* @example
|
|
1230
1348
|
* ```tsx
|
|
1231
1349
|
* <TabsContent value="tab1">
|
|
1232
|
-
* <
|
|
1350
|
+
* <section>Content for tab 1</section>
|
|
1233
1351
|
* </TabsContent>
|
|
1234
1352
|
* ```
|
|
1235
1353
|
*/
|
|
@@ -1292,6 +1410,10 @@ declare const TabsContent: React$1.ForwardRefExoticComponent<TabsContentProps &
|
|
|
1292
1410
|
* - Date announcements
|
|
1293
1411
|
*/
|
|
1294
1412
|
|
|
1413
|
+
/**
|
|
1414
|
+
* Props for the Calendar component.
|
|
1415
|
+
* Extends DayPickerProps with pace-core specific customizations.
|
|
1416
|
+
*/
|
|
1295
1417
|
interface CalendarProps extends Omit<DayPickerProps, 'className' | 'classNames' | 'styles' | 'onSelect'> {
|
|
1296
1418
|
/**
|
|
1297
1419
|
* Additional CSS classes to apply to the calendar table
|
|
@@ -1460,6 +1582,10 @@ declare const ToastTitle: React$1.ForwardRefExoticComponent<Omit<ToastPrimitives
|
|
|
1460
1582
|
declare const ToastDescription: React$1.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastDescriptionProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
1461
1583
|
interface ToastProps extends React$1.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> {
|
|
1462
1584
|
}
|
|
1585
|
+
/**
|
|
1586
|
+
* Type for toast action elements.
|
|
1587
|
+
* Represents a React element that can be used as a toast action button.
|
|
1588
|
+
*/
|
|
1463
1589
|
interface ToastActionElement extends React$1.ReactElement<typeof ToastAction> {
|
|
1464
1590
|
}
|
|
1465
1591
|
/**
|
|
@@ -1521,10 +1647,10 @@ declare function Toaster(): react_jsx_runtime.JSX.Element;
|
|
|
1521
1647
|
* <Button>Advanced Tooltip</Button>
|
|
1522
1648
|
* </TooltipTrigger>
|
|
1523
1649
|
* <TooltipContent side="top" className="bg-main-500 text-main-50">
|
|
1524
|
-
* <
|
|
1650
|
+
* <section className="space-y-1">
|
|
1525
1651
|
* <p className="font-semibold">Advanced Tooltip</p>
|
|
1526
1652
|
* <p className="text-xs">With custom styling</p>
|
|
1527
|
-
* </
|
|
1653
|
+
* </section>
|
|
1528
1654
|
* </TooltipContent>
|
|
1529
1655
|
* </TooltipRoot>
|
|
1530
1656
|
* </TooltipProvider>
|
|
@@ -1887,6 +2013,10 @@ declare function FormField<TFieldValues extends FieldValues = FieldValues, TName
|
|
|
1887
2013
|
* - Tailwind CSS - Styling
|
|
1888
2014
|
*/
|
|
1889
2015
|
|
|
2016
|
+
/**
|
|
2017
|
+
* Props for the LoginForm component.
|
|
2018
|
+
* Configures login form behavior, validation, and callbacks.
|
|
2019
|
+
*/
|
|
1890
2020
|
interface LoginFormProps {
|
|
1891
2021
|
/** Callback invoked when the form is submitted */
|
|
1892
2022
|
onSignIn: (data: {
|
|
@@ -1932,6 +2062,57 @@ interface LoginFormProps {
|
|
|
1932
2062
|
*/
|
|
1933
2063
|
declare const LoginForm: React__default.NamedExoticComponent<LoginFormProps>;
|
|
1934
2064
|
|
|
2065
|
+
/**
|
|
2066
|
+
* Navigation mode type
|
|
2067
|
+
*/
|
|
2068
|
+
type NavigationMode = "dropdown" | "hierarchical";
|
|
2069
|
+
/**
|
|
2070
|
+
* Navigation item metadata
|
|
2071
|
+
*/
|
|
2072
|
+
interface NavigationItemMeta {
|
|
2073
|
+
hidden?: boolean;
|
|
2074
|
+
[key: string]: unknown;
|
|
2075
|
+
}
|
|
2076
|
+
/**
|
|
2077
|
+
* Navigation item interface
|
|
2078
|
+
*/
|
|
2079
|
+
interface NavigationItem {
|
|
2080
|
+
id: string;
|
|
2081
|
+
label: string;
|
|
2082
|
+
href?: string;
|
|
2083
|
+
icon?: string;
|
|
2084
|
+
children?: NavigationItem[];
|
|
2085
|
+
permissions?: (Permission | string)[];
|
|
2086
|
+
roles?: string[];
|
|
2087
|
+
accessLevel?: AccessLevel | string;
|
|
2088
|
+
meta?: NavigationItemMeta;
|
|
2089
|
+
pageId?: string;
|
|
2090
|
+
}
|
|
2091
|
+
/**
|
|
2092
|
+
* Navigation menu component props
|
|
2093
|
+
*/
|
|
2094
|
+
interface NavigationMenuProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
2095
|
+
items: NavigationItem[];
|
|
2096
|
+
mode?: NavigationMode;
|
|
2097
|
+
currentPath?: string;
|
|
2098
|
+
onNavigate?: (item: NavigationItem) => void;
|
|
2099
|
+
className?: string;
|
|
2100
|
+
disabled?: boolean;
|
|
2101
|
+
buttonText?: string;
|
|
2102
|
+
showIcons?: boolean;
|
|
2103
|
+
navigationLabel?: string;
|
|
2104
|
+
strictMode?: boolean;
|
|
2105
|
+
auditLog?: boolean;
|
|
2106
|
+
onNavigationAccessDenied?: (item: NavigationItem) => void;
|
|
2107
|
+
onStrictModeViolation?: (item: NavigationItem, reason: string) => void;
|
|
2108
|
+
/**
|
|
2109
|
+
* If true, indicates that items have already been filtered by the parent component (e.g., PaceAppLayout).
|
|
2110
|
+
* When true, NavigationMenu will skip expensive permission checks and trust the provided items.
|
|
2111
|
+
* This significantly improves performance when items are pre-filtered.
|
|
2112
|
+
*/
|
|
2113
|
+
itemsPreFiltered?: boolean;
|
|
2114
|
+
}
|
|
2115
|
+
|
|
1935
2116
|
/**
|
|
1936
2117
|
* @file Unified Navigation Menu Component
|
|
1937
2118
|
* @package @jmruthers/pace-core
|
|
@@ -2125,56 +2306,6 @@ declare const LoginForm: React__default.NamedExoticComponent<LoginFormProps>;
|
|
|
2125
2306
|
* - Tailwind CSS - Styling system
|
|
2126
2307
|
*/
|
|
2127
2308
|
|
|
2128
|
-
/**
|
|
2129
|
-
* Navigation mode type
|
|
2130
|
-
*/
|
|
2131
|
-
type NavigationMode = 'dropdown' | 'hierarchical';
|
|
2132
|
-
/**
|
|
2133
|
-
* Navigation item metadata
|
|
2134
|
-
*/
|
|
2135
|
-
interface NavigationItemMeta {
|
|
2136
|
-
hidden?: boolean;
|
|
2137
|
-
[key: string]: unknown;
|
|
2138
|
-
}
|
|
2139
|
-
/**
|
|
2140
|
-
* Navigation item interface
|
|
2141
|
-
*/
|
|
2142
|
-
interface NavigationItem {
|
|
2143
|
-
id: string;
|
|
2144
|
-
label: string;
|
|
2145
|
-
href?: string;
|
|
2146
|
-
icon?: string;
|
|
2147
|
-
children?: NavigationItem[];
|
|
2148
|
-
permissions?: (Permission | string)[];
|
|
2149
|
-
roles?: string[];
|
|
2150
|
-
accessLevel?: AccessLevel | string;
|
|
2151
|
-
meta?: NavigationItemMeta;
|
|
2152
|
-
pageId?: string;
|
|
2153
|
-
}
|
|
2154
|
-
/**
|
|
2155
|
-
* Navigation menu component props
|
|
2156
|
-
*/
|
|
2157
|
-
interface NavigationMenuProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
2158
|
-
items: NavigationItem[];
|
|
2159
|
-
mode?: NavigationMode;
|
|
2160
|
-
currentPath?: string;
|
|
2161
|
-
onNavigate?: (item: NavigationItem) => void;
|
|
2162
|
-
className?: string;
|
|
2163
|
-
disabled?: boolean;
|
|
2164
|
-
buttonText?: string;
|
|
2165
|
-
showIcons?: boolean;
|
|
2166
|
-
navigationLabel?: string;
|
|
2167
|
-
strictMode?: boolean;
|
|
2168
|
-
auditLog?: boolean;
|
|
2169
|
-
onNavigationAccessDenied?: (item: NavigationItem) => void;
|
|
2170
|
-
onStrictModeViolation?: (item: NavigationItem, reason: string) => void;
|
|
2171
|
-
/**
|
|
2172
|
-
* If true, indicates that items have already been filtered by the parent component (e.g., PaceAppLayout).
|
|
2173
|
-
* When true, NavigationMenu will skip expensive permission checks and trust the provided items.
|
|
2174
|
-
* This significantly improves performance when items are pre-filtered.
|
|
2175
|
-
*/
|
|
2176
|
-
itemsPreFiltered?: boolean;
|
|
2177
|
-
}
|
|
2178
2309
|
/**
|
|
2179
2310
|
* Unified NavigationMenu component that supports both dropdown and hierarchical navigation modes.
|
|
2180
2311
|
*
|
|
@@ -2466,14 +2597,23 @@ declare const NavigationMenu: React$1.ForwardRefExoticComponent<NavigationMenuPr
|
|
|
2466
2597
|
* - Label component
|
|
2467
2598
|
* - Tailwind CSS - Styling
|
|
2468
2599
|
*/
|
|
2600
|
+
/**
|
|
2601
|
+
* Form values for password change.
|
|
2602
|
+
*/
|
|
2469
2603
|
interface PasswordChangeFormValues {
|
|
2470
2604
|
newPassword: string;
|
|
2471
2605
|
confirmPassword: string;
|
|
2472
2606
|
}
|
|
2607
|
+
/**
|
|
2608
|
+
* Error structure for password change form.
|
|
2609
|
+
*/
|
|
2473
2610
|
interface PasswordChangeFormError {
|
|
2474
2611
|
message?: string;
|
|
2475
2612
|
code?: string;
|
|
2476
2613
|
}
|
|
2614
|
+
/**
|
|
2615
|
+
* Props for the PasswordChangeForm component.
|
|
2616
|
+
*/
|
|
2477
2617
|
interface PasswordChangeFormProps {
|
|
2478
2618
|
onSubmit: (values: PasswordChangeFormValues) => Promise<{
|
|
2479
2619
|
error?: PasswordChangeFormError;
|
|
@@ -2508,10 +2648,12 @@ interface HeaderProps {
|
|
|
2508
2648
|
userMenu?: React__default.ReactNode;
|
|
2509
2649
|
/** Custom className */
|
|
2510
2650
|
className?: string;
|
|
2511
|
-
/** Show/hide event selector */
|
|
2512
|
-
|
|
2513
|
-
/** Show
|
|
2514
|
-
|
|
2651
|
+
/** Show/hide context selector (unified org/event selector) - default: true */
|
|
2652
|
+
showContextSelector?: boolean;
|
|
2653
|
+
/** Show organisations in context selector - default: true */
|
|
2654
|
+
showOrganisations?: boolean;
|
|
2655
|
+
/** Show events in context selector - default: true */
|
|
2656
|
+
showEvents?: boolean;
|
|
2515
2657
|
/** Show/hide user menu */
|
|
2516
2658
|
showUserMenu?: boolean;
|
|
2517
2659
|
/** Current path for navigation highlighting */
|
|
@@ -2583,10 +2725,10 @@ interface HeaderProps {
|
|
|
2583
2725
|
*
|
|
2584
2726
|
* function HeaderWithActions() {
|
|
2585
2727
|
* const customActions = (
|
|
2586
|
-
*
|
|
2728
|
+
* <>
|
|
2587
2729
|
* <Button variant="outline" size="sm">Export</Button>
|
|
2588
2730
|
* <Button size="sm">New Item</Button>
|
|
2589
|
-
*
|
|
2731
|
+
* </>
|
|
2590
2732
|
* );
|
|
2591
2733
|
*
|
|
2592
2734
|
* return (
|
|
@@ -2609,7 +2751,7 @@ interface HeaderProps {
|
|
|
2609
2751
|
* <Header
|
|
2610
2752
|
* logoUrl="/simple-logo.svg"
|
|
2611
2753
|
* logoAlt="Simple App"
|
|
2612
|
-
*
|
|
2754
|
+
* showContextSelector={false}
|
|
2613
2755
|
* user={currentUser}
|
|
2614
2756
|
* onSignOut={handleSignOut}
|
|
2615
2757
|
* />
|
|
@@ -2622,7 +2764,14 @@ interface HeaderProps {
|
|
|
2622
2764
|
*
|
|
2623
2765
|
* @since 0.1.0
|
|
2624
2766
|
*/
|
|
2625
|
-
|
|
2767
|
+
/**
|
|
2768
|
+
* Header component for application layouts.
|
|
2769
|
+
* Provides navigation, user menu, organisation/event selectors, and customizable branding.
|
|
2770
|
+
*
|
|
2771
|
+
* @param props - Header configuration
|
|
2772
|
+
* @returns The rendered header
|
|
2773
|
+
*/
|
|
2774
|
+
declare function Header({ logoUrl, logoAlt, logo, navItems, user, onSignOut, onChangePassword, actions, userMenu, className, showContextSelector, showOrganisations, showEvents, showUserMenu, currentPath, onNavigate, logoHref }: HeaderProps): react_jsx_runtime.JSX.Element;
|
|
2626
2775
|
|
|
2627
2776
|
/**
|
|
2628
2777
|
* @file Footer Component
|
|
@@ -2673,28 +2822,28 @@ declare function Header({ logoUrl, logoAlt, logo, navItems, user, onSignOut, onC
|
|
|
2673
2822
|
*
|
|
2674
2823
|
* // Footer with custom content
|
|
2675
2824
|
* <Footer companyName="My Company">
|
|
2676
|
-
* <
|
|
2677
|
-
* <
|
|
2825
|
+
* <section className="grid grid-cols-1 md:grid-cols-3 gap-8 mb-8">
|
|
2826
|
+
* <section>
|
|
2678
2827
|
* <h3 className="font-semibold mb-2">About Us</h3>
|
|
2679
2828
|
* <p className="text-sm text-muted-foreground">
|
|
2680
2829
|
* We provide innovative solutions for modern businesses.
|
|
2681
2830
|
* </p>
|
|
2682
|
-
* </
|
|
2683
|
-
* <
|
|
2831
|
+
* </section>
|
|
2832
|
+
* <section>
|
|
2684
2833
|
* <h3 className="font-semibold mb-2">Contact</h3>
|
|
2685
2834
|
* <p className="text-sm text-muted-foreground">
|
|
2686
2835
|
* Email: info@mycompany.com<br />
|
|
2687
2836
|
* Phone: (555) 123-4567
|
|
2688
2837
|
* </p>
|
|
2689
|
-
* </
|
|
2690
|
-
* <
|
|
2838
|
+
* </section>
|
|
2839
|
+
* <section>
|
|
2691
2840
|
* <h3 className="font-semibold mb-2">Follow Us</h3>
|
|
2692
|
-
* <
|
|
2841
|
+
* <nav className="flex gap-2">
|
|
2693
2842
|
* <a href="#" className="text-muted-foreground hover:text-foreground">Twitter</a>
|
|
2694
2843
|
* <a href="#" className="text-muted-foreground hover:text-foreground">LinkedIn</a>
|
|
2695
|
-
* </
|
|
2696
|
-
* </
|
|
2697
|
-
* </
|
|
2844
|
+
* </nav>
|
|
2845
|
+
* </section>
|
|
2846
|
+
* </section>
|
|
2698
2847
|
* </Footer>
|
|
2699
2848
|
* ```
|
|
2700
2849
|
*
|
|
@@ -2711,6 +2860,9 @@ declare function Header({ logoUrl, logoAlt, logo, navItems, user, onSignOut, onC
|
|
|
2711
2860
|
* - Tailwind CSS - Styling
|
|
2712
2861
|
*/
|
|
2713
2862
|
|
|
2863
|
+
/**
|
|
2864
|
+
* Props for the Footer component.
|
|
2865
|
+
*/
|
|
2714
2866
|
interface FooterProps {
|
|
2715
2867
|
/**
|
|
2716
2868
|
* Company or organization name
|
|
@@ -2809,7 +2961,7 @@ declare const Footer: React__default.NamedExoticComponent<FooterProps>;
|
|
|
2809
2961
|
*
|
|
2810
2962
|
* // User menu in header
|
|
2811
2963
|
* <Header>
|
|
2812
|
-
* <
|
|
2964
|
+
* <nav className="flex items-center gap-4">
|
|
2813
2965
|
* <Navigation />
|
|
2814
2966
|
* <UserMenu
|
|
2815
2967
|
* user={user}
|
|
@@ -2817,7 +2969,7 @@ declare const Footer: React__default.NamedExoticComponent<FooterProps>;
|
|
|
2817
2969
|
* onChangePassword={handlePasswordChange}
|
|
2818
2970
|
* className="ml-auto"
|
|
2819
2971
|
* />
|
|
2820
|
-
* </
|
|
2972
|
+
* </nav>
|
|
2821
2973
|
* </Header>
|
|
2822
2974
|
* ```
|
|
2823
2975
|
*
|
|
@@ -2850,6 +3002,9 @@ declare const Footer: React__default.NamedExoticComponent<FooterProps>;
|
|
|
2850
3002
|
* - Tailwind CSS - Styling
|
|
2851
3003
|
*/
|
|
2852
3004
|
|
|
3005
|
+
/**
|
|
3006
|
+
* Props for the UserMenu component.
|
|
3007
|
+
*/
|
|
2853
3008
|
interface UserMenuProps {
|
|
2854
3009
|
user: User | null;
|
|
2855
3010
|
onSignOut?: () => Promise<void>;
|
|
@@ -2862,15 +3017,21 @@ interface UserMenuProps {
|
|
|
2862
3017
|
declare const UserMenu: React__default.NamedExoticComponent<UserMenuProps>;
|
|
2863
3018
|
|
|
2864
3019
|
type Operation = 'read' | 'create' | 'update' | 'delete' | 'manage';
|
|
3020
|
+
/**
|
|
3021
|
+
* Props for the PaceAppLayout component.
|
|
3022
|
+
* Configures the application layout including navigation, header, and footer.
|
|
3023
|
+
*/
|
|
2865
3024
|
interface PaceAppLayoutProps {
|
|
2866
3025
|
/** The name of the application to be displayed in the header. */
|
|
2867
3026
|
appName: string;
|
|
2868
3027
|
/** Optional navigation items for the header menu. If not provided, uses default navigation. */
|
|
2869
3028
|
navItems?: NavigationItem[];
|
|
2870
|
-
/** Show/hide
|
|
2871
|
-
|
|
2872
|
-
/** Show
|
|
2873
|
-
|
|
3029
|
+
/** Show/hide unified context selector (shows all accessible orgs and events) - default: true */
|
|
3030
|
+
showContextSelector?: boolean;
|
|
3031
|
+
/** Show organisations in context selector - default: true */
|
|
3032
|
+
showOrganisations?: boolean;
|
|
3033
|
+
/** Show events in context selector - default: true */
|
|
3034
|
+
showEvents?: boolean;
|
|
2874
3035
|
/** Custom actions to display in the header (between event selector and user menu) */
|
|
2875
3036
|
headerActions?: React__default.ReactNode;
|
|
2876
3037
|
/** Custom logo component (overrides default logo) */
|
|
@@ -3078,7 +3239,7 @@ interface PaceAppLayoutProps {
|
|
|
3078
3239
|
*
|
|
3079
3240
|
* @since 0.1.0
|
|
3080
3241
|
*/
|
|
3081
|
-
declare function PaceAppLayout({ appName, navItems,
|
|
3242
|
+
declare function PaceAppLayout({ appName, navItems, showContextSelector, showOrganisations, showEvents, headerActions, customLogo, logoHref, customUserMenu, headerClassName, showUserMenu, enforcePermissions, defaultPermission, routePermissions, permissionFallback, pageIdMapping, strictMode, enforcePagePermissions, pagePermissionFallback, auditLog, onPageAccessDenied, onStrictModeViolation, roleBasedRouting, routeConfig, fallbackRoute, onRouteAccessDenied, onRouteStrictModeViolation }: PaceAppLayoutProps): react_jsx_runtime.JSX.Element;
|
|
3082
3243
|
|
|
3083
3244
|
/**
|
|
3084
3245
|
* @file PACE Login Page Component
|
|
@@ -3203,6 +3364,9 @@ declare function PaceAppLayout({ appName, navItems, showEventSelector, showOrgSe
|
|
|
3203
3364
|
* - Tailwind CSS - Styling
|
|
3204
3365
|
*/
|
|
3205
3366
|
|
|
3367
|
+
/**
|
|
3368
|
+
* Props for the PaceLoginPage component.
|
|
3369
|
+
*/
|
|
3206
3370
|
interface PaceLoginPageProps {
|
|
3207
3371
|
/** The name of the application to be displayed on the login form. */
|
|
3208
3372
|
appName: string;
|
|
@@ -3237,6 +3401,9 @@ interface PaceLoginPageProps {
|
|
|
3237
3401
|
*/
|
|
3238
3402
|
declare const PaceLoginPage: React__default.FC<PaceLoginPageProps>;
|
|
3239
3403
|
|
|
3404
|
+
/**
|
|
3405
|
+
* Props for the ProtectedRoute component.
|
|
3406
|
+
*/
|
|
3240
3407
|
interface ProtectedRouteProps {
|
|
3241
3408
|
/**
|
|
3242
3409
|
* Whether an event is required for routes inside this component.
|
|
@@ -3245,13 +3412,6 @@ interface ProtectedRouteProps {
|
|
|
3245
3412
|
* @default true
|
|
3246
3413
|
*/
|
|
3247
3414
|
requireEvent?: boolean;
|
|
3248
|
-
/**
|
|
3249
|
-
* Whether super admins can bypass event requirement.
|
|
3250
|
-
* Note: This feature requires additional RBAC setup. For simple bypass, set requireEvent={false} instead.
|
|
3251
|
-
* @default false
|
|
3252
|
-
* @deprecated Use requireEvent={false} for routes that don't need events
|
|
3253
|
-
*/
|
|
3254
|
-
allowSuperAdminBypass?: boolean;
|
|
3255
3415
|
/**
|
|
3256
3416
|
* Custom component to render when no events are available.
|
|
3257
3417
|
* If not provided, a default message is shown.
|
|
@@ -3284,7 +3444,7 @@ interface ProtectedRouteProps {
|
|
|
3284
3444
|
* @param props - Configuration for route protection
|
|
3285
3445
|
* @returns React element with route protection logic
|
|
3286
3446
|
*/
|
|
3287
|
-
declare function ProtectedRoute({ requireEvent,
|
|
3447
|
+
declare function ProtectedRoute({ requireEvent, noEventsFallback, loadingFallback, loginPath }: ProtectedRouteProps): string | number | bigint | true | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element;
|
|
3288
3448
|
|
|
3289
3449
|
/**
|
|
3290
3450
|
* State interface for the ErrorBoundary component
|
|
@@ -3321,6 +3481,8 @@ interface ErrorBoundaryProps {
|
|
|
3321
3481
|
enableRetry?: boolean;
|
|
3322
3482
|
/** Whether to enable error reporting */
|
|
3323
3483
|
enableReporting?: boolean;
|
|
3484
|
+
/** Internal: Global error handler from context (not part of public API) */
|
|
3485
|
+
_globalErrorHandler?: (error: Error, errorInfo: React__default.ErrorInfo, errorId: string, componentName: string) => void;
|
|
3324
3486
|
}
|
|
3325
3487
|
/**
|
|
3326
3488
|
* ErrorBoundary component
|
|
@@ -3339,7 +3501,7 @@ interface ErrorBoundaryProps {
|
|
|
3339
3501
|
* </ErrorBoundary>
|
|
3340
3502
|
* ```
|
|
3341
3503
|
*/
|
|
3342
|
-
declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
3504
|
+
declare class ErrorBoundary$1 extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
3343
3505
|
private retryTimeoutId;
|
|
3344
3506
|
constructor(props: ErrorBoundaryProps);
|
|
3345
3507
|
static getDerivedStateFromError(error: Error): Partial<ErrorBoundaryState>;
|
|
@@ -3350,6 +3512,65 @@ declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryS
|
|
|
3350
3512
|
render(): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
|
|
3351
3513
|
}
|
|
3352
3514
|
|
|
3515
|
+
/**
|
|
3516
|
+
* Type definition for the global error handler function
|
|
3517
|
+
* @public
|
|
3518
|
+
*/
|
|
3519
|
+
type GlobalErrorHandler = (error: Error, errorInfo: React__default.ErrorInfo, errorId: string, componentName: string) => void;
|
|
3520
|
+
/**
|
|
3521
|
+
* Props for ErrorBoundaryProvider component
|
|
3522
|
+
* @public
|
|
3523
|
+
*/
|
|
3524
|
+
interface ErrorBoundaryProviderProps {
|
|
3525
|
+
/** Children to wrap with the provider */
|
|
3526
|
+
children: ReactNode;
|
|
3527
|
+
/** Global error handler that will be used by all ErrorBoundary instances unless overridden */
|
|
3528
|
+
defaultErrorHandler?: GlobalErrorHandler;
|
|
3529
|
+
}
|
|
3530
|
+
/**
|
|
3531
|
+
* Provider component for ErrorBoundary global error handler configuration
|
|
3532
|
+
*
|
|
3533
|
+
* Wrap your application with this provider to set a default error handler that will
|
|
3534
|
+
* be used by all ErrorBoundary instances unless they provide their own onError prop.
|
|
3535
|
+
*
|
|
3536
|
+
* @example
|
|
3537
|
+
* ```tsx
|
|
3538
|
+
* <ErrorBoundaryProvider
|
|
3539
|
+
* defaultErrorHandler={(error, errorInfo, errorId, componentName) => {
|
|
3540
|
+
* errorTracking.captureException(error, {
|
|
3541
|
+
* componentStack: errorInfo.componentStack,
|
|
3542
|
+
* errorBoundary: true,
|
|
3543
|
+
* errorId,
|
|
3544
|
+
* componentName,
|
|
3545
|
+
* });
|
|
3546
|
+
* }}
|
|
3547
|
+
* >
|
|
3548
|
+
* <App />
|
|
3549
|
+
* </ErrorBoundaryProvider>
|
|
3550
|
+
* ```
|
|
3551
|
+
*
|
|
3552
|
+
* @public
|
|
3553
|
+
*/
|
|
3554
|
+
/**
|
|
3555
|
+
* Error boundary provider component.
|
|
3556
|
+
* Provides global error handling configuration to child ErrorBoundary components.
|
|
3557
|
+
*
|
|
3558
|
+
* @param props - Error boundary provider configuration
|
|
3559
|
+
* @returns The error boundary provider
|
|
3560
|
+
*/
|
|
3561
|
+
declare function ErrorBoundaryProvider({ children, defaultErrorHandler, }: ErrorBoundaryProviderProps): react_jsx_runtime.JSX.Element;
|
|
3562
|
+
|
|
3563
|
+
/**
|
|
3564
|
+
* @file Error Boundary exports
|
|
3565
|
+
*/
|
|
3566
|
+
|
|
3567
|
+
/**
|
|
3568
|
+
* ErrorBoundary component with automatic context support
|
|
3569
|
+
* This wrapper automatically uses the global error handler from ErrorBoundaryProvider
|
|
3570
|
+
* if no onError prop is provided.
|
|
3571
|
+
*/
|
|
3572
|
+
declare const ErrorBoundary: React__default.ForwardRefExoticComponent<Omit<ErrorBoundaryProps, "_globalErrorHandler"> & React__default.RefAttributes<ErrorBoundary$1>>;
|
|
3573
|
+
|
|
3353
3574
|
/**
|
|
3354
3575
|
* @file LoadingSpinner Component
|
|
3355
3576
|
* @package @jmruthers/pace-core
|
|
@@ -3476,72 +3697,56 @@ interface SessionRestorationLoaderProps {
|
|
|
3476
3697
|
}
|
|
3477
3698
|
declare const SessionRestorationLoader: React__default.FC<SessionRestorationLoaderProps>;
|
|
3478
3699
|
|
|
3479
|
-
interface EventSelectorProps {
|
|
3480
|
-
/** Placeholder text for the dropdown */
|
|
3481
|
-
placeholder?: string;
|
|
3482
|
-
/** Additional CSS classes */
|
|
3483
|
-
className?: string;
|
|
3484
|
-
/** Callback fired when an event changes, providing full event object */
|
|
3485
|
-
onEventChange?: (event: Event | null) => void;
|
|
3486
|
-
/** Show friendly message when no events available */
|
|
3487
|
-
showNoEventsMessage?: boolean;
|
|
3488
|
-
/** Show retry button on errors */
|
|
3489
|
-
showRetryButton?: boolean;
|
|
3490
|
-
/** Show event details in dropdown */
|
|
3491
|
-
showEventDetails?: boolean;
|
|
3492
|
-
/** Show indicator for next/upcoming events */
|
|
3493
|
-
showNextEventIndicator?: boolean;
|
|
3494
|
-
}
|
|
3495
3700
|
/**
|
|
3496
|
-
*
|
|
3497
|
-
*
|
|
3498
|
-
* This component provides secure event selection with:
|
|
3499
|
-
* - Database integration via rbac_event_app_roles table
|
|
3500
|
-
* - Auto-selection of next upcoming event by date
|
|
3501
|
-
* - Cross-device sync via Supabase user session metadata
|
|
3502
|
-
* - localStorage fallback for offline scenarios
|
|
3503
|
-
* - Comprehensive error handling and user feedback
|
|
3504
|
-
*
|
|
3505
|
-
* @component
|
|
3506
|
-
* @example
|
|
3507
|
-
* <UnifiedAuthProvider supabaseClient={supabase} appName="PACE">
|
|
3508
|
-
* <EventSelector onEventChange={(event) => console.log(event)} />
|
|
3509
|
-
* </UnifiedAuthProvider>
|
|
3701
|
+
* Props for the ContextSelector component.
|
|
3510
3702
|
*/
|
|
3511
|
-
|
|
3512
|
-
|
|
3513
|
-
interface OrganisationSelectorProps {
|
|
3703
|
+
interface ContextSelectorProps {
|
|
3514
3704
|
/** Placeholder text for the dropdown */
|
|
3515
3705
|
placeholder?: string;
|
|
3516
3706
|
/** Additional CSS classes */
|
|
3517
3707
|
className?: string;
|
|
3518
|
-
/** Callback fired when organisation
|
|
3519
|
-
|
|
3520
|
-
/**
|
|
3521
|
-
|
|
3708
|
+
/** Callback fired when an organisation is selected */
|
|
3709
|
+
onOrganisationSelect?: (org: Organisation) => void;
|
|
3710
|
+
/** Callback fired when an event is selected */
|
|
3711
|
+
onEventSelect?: (event: Event) => void;
|
|
3712
|
+
/** Show friendly message when no items available */
|
|
3713
|
+
showNoItemsMessage?: boolean;
|
|
3522
3714
|
/** Show retry button on errors */
|
|
3523
3715
|
showRetryButton?: boolean;
|
|
3524
|
-
/** Show user's role in each organisation */
|
|
3525
|
-
showRole?: boolean;
|
|
3526
3716
|
/** Compact display mode */
|
|
3527
3717
|
compact?: boolean;
|
|
3528
3718
|
/** Disabled state */
|
|
3529
3719
|
disabled?: boolean;
|
|
3720
|
+
/** Show organisations section (default: true) */
|
|
3721
|
+
showOrganisations?: boolean;
|
|
3722
|
+
/** Show events section (default: true) */
|
|
3723
|
+
showEvents?: boolean;
|
|
3530
3724
|
}
|
|
3531
3725
|
/**
|
|
3532
|
-
*
|
|
3726
|
+
* ContextSelector component for selecting organisations or events
|
|
3533
3727
|
*
|
|
3534
|
-
* This
|
|
3535
|
-
*
|
|
3536
|
-
*
|
|
3537
|
-
* - Security error handling
|
|
3538
|
-
* - Real-time organisation switching
|
|
3539
|
-
* - Accessible interface design
|
|
3728
|
+
* This is the unified intelligent selector that shows all organisations and events
|
|
3729
|
+
* a user can access. It automatically determines what to show based on the user's
|
|
3730
|
+
* roles and permissions - no need to configure separate org/event selectors.
|
|
3540
3731
|
*
|
|
3541
|
-
*
|
|
3732
|
+
* The selector intelligently shows:
|
|
3733
|
+
* - All organisations the user has access to (via organisation roles)
|
|
3734
|
+
* - All events the user has access to (via event-app roles or organisation membership)
|
|
3735
|
+
* - Everything for super admins
|
|
3736
|
+
*
|
|
3737
|
+
* @component
|
|
3738
|
+
* @example
|
|
3739
|
+
* <ContextSelector
|
|
3740
|
+
* onOrganisationSelect={(org) => switchOrganisation(org)}
|
|
3741
|
+
* onEventSelect={(event) => setSelectedEvent(event)}
|
|
3742
|
+
* />
|
|
3542
3743
|
*/
|
|
3543
|
-
declare function
|
|
3744
|
+
declare function ContextSelector({ placeholder, className, onOrganisationSelect, onEventSelect, showNoItemsMessage, showRetryButton, compact, disabled, showOrganisations, showEvents }: ContextSelectorProps): react_jsx_runtime.JSX.Element | null;
|
|
3544
3745
|
|
|
3746
|
+
/**
|
|
3747
|
+
* Props for the FileUpload component.
|
|
3748
|
+
* Configures file upload behavior including storage location, validation, and callbacks.
|
|
3749
|
+
*/
|
|
3545
3750
|
interface FileUploadProps {
|
|
3546
3751
|
supabase: SupabaseClient;
|
|
3547
3752
|
table_name: string;
|
|
@@ -3631,8 +3836,22 @@ interface FileDisplayProps {
|
|
|
3631
3836
|
* @param props.category - Optional category filter. When specified, only displays files matching this category and uses single file display variant.
|
|
3632
3837
|
* @returns React element with file display
|
|
3633
3838
|
*/
|
|
3839
|
+
/**
|
|
3840
|
+
* File display component.
|
|
3841
|
+
* Renders files from the file reference system with support for previews, downloads, and public/private access.
|
|
3842
|
+
*
|
|
3843
|
+
* @param props - File display configuration
|
|
3844
|
+
* @returns The rendered file display
|
|
3845
|
+
*/
|
|
3634
3846
|
declare function FileDisplay({ table_name, record_id, organisation_id, category, displayOnly, showDelete, className, imgClassName, children, loadingComponent, errorComponent, showFallback, generateFallbackText, fallbackText, fallbackSourceText, fallbackSize, enableChildren, showMetadata }: FileDisplayProps): react_jsx_runtime.JSX.Element;
|
|
3635
3847
|
|
|
3848
|
+
/**
|
|
3849
|
+
* Hook for managing file references.
|
|
3850
|
+
* Provides file upload, retrieval, and URL generation functionality.
|
|
3851
|
+
*
|
|
3852
|
+
* @param supabase - Supabase client instance
|
|
3853
|
+
* @returns File reference service with upload, get, and URL methods
|
|
3854
|
+
*/
|
|
3636
3855
|
declare function useFileReference(supabase: SupabaseClient): {
|
|
3637
3856
|
isLoading: boolean;
|
|
3638
3857
|
error: string | null;
|
|
@@ -3699,6 +3918,9 @@ type UseFileReferenceOptions = {
|
|
|
3699
3918
|
record_id: string;
|
|
3700
3919
|
organisation_id: string;
|
|
3701
3920
|
};
|
|
3921
|
+
/**
|
|
3922
|
+
* Return value of the useFileReference hook.
|
|
3923
|
+
*/
|
|
3702
3924
|
type UseFileReferenceReturn = {
|
|
3703
3925
|
isLoading: boolean;
|
|
3704
3926
|
error: string | null;
|
|
@@ -3712,6 +3934,9 @@ type UseFileReferenceReturn = {
|
|
|
3712
3934
|
getFileCount: (table_name: string, record_id: string, organisation_id: string) => Promise<number>;
|
|
3713
3935
|
clearError: () => void;
|
|
3714
3936
|
};
|
|
3937
|
+
/**
|
|
3938
|
+
* Return value of the useFileReferenceForRecord hook.
|
|
3939
|
+
*/
|
|
3715
3940
|
type UseFileReferenceForRecordReturn = {
|
|
3716
3941
|
isLoading: boolean;
|
|
3717
3942
|
error: string | null;
|
|
@@ -3859,8 +4084,6 @@ interface PublicPageLayoutProps {
|
|
|
3859
4084
|
refetch?: () => Promise<void> | void;
|
|
3860
4085
|
/** Whether to show the footer (default: true) */
|
|
3861
4086
|
showFooter?: boolean;
|
|
3862
|
-
/** @deprecated Custom CSS classes for the layout - no longer used as wrapper div was removed */
|
|
3863
|
-
className?: string;
|
|
3864
4087
|
/** Custom error fallback component */
|
|
3865
4088
|
errorFallback?: React__default.ComponentType<{
|
|
3866
4089
|
error: Error;
|
|
@@ -3932,7 +4155,7 @@ declare function PublicPageFooter({ event, companyName, year, links, className,
|
|
|
3932
4155
|
* @param props - Layout configuration and content
|
|
3933
4156
|
* @returns React element with complete public page layout
|
|
3934
4157
|
*/
|
|
3935
|
-
declare function PublicPageLayout({ eventCode, children, event, isLoading, error, refetch, showFooter,
|
|
4158
|
+
declare function PublicPageLayout({ eventCode, children, event, isLoading, error, refetch, showFooter, errorFallback: ErrorFallback, loadingFallback: LoadingFallback, customHeader, customFooter, showValidationErrors, loadingMessage }: PublicPageLayoutProps): react_jsx_runtime.JSX.Element;
|
|
3936
4159
|
|
|
3937
4160
|
interface PublicPageContextType {
|
|
3938
4161
|
isPublicPage: true;
|
|
@@ -3972,4 +4195,4 @@ declare function usePublicPageContext(): PublicPageContextType;
|
|
|
3972
4195
|
*/
|
|
3973
4196
|
declare function useIsPublicPage(): boolean;
|
|
3974
4197
|
|
|
3975
|
-
export { type DialogTriggerProps as $, AddressField as A, Button as B, Card as C, TableHeader as D, TableBody as E, TableCaption as F, TableCell as G, TableFooter as H, Input as I, TableHead as J, TableRow as K, Label as L, Dialog as M, DialogPortal as N, DialogOverlay as O, Progress as P, DialogTrigger as Q, DialogClose as R, Switch as S, Textarea as T, DialogContent as U, DialogHeader as V, DialogBody as W, DialogFooter as X, DialogTitle as Y, DialogDescription as Z, type DialogProps as _, type ButtonProps as a,
|
|
4198
|
+
export { type DialogTriggerProps as $, AddressField as A, Button as B, Card as C, TableHeader as D, TableBody as E, TableCaption as F, TableCell as G, TableFooter as H, Input as I, TableHead as J, TableRow as K, Label as L, Dialog as M, DialogPortal as N, DialogOverlay as O, Progress as P, DialogTrigger as Q, DialogClose as R, Switch as S, Textarea as T, DialogContent as U, DialogHeader as V, DialogBody as W, DialogFooter as X, DialogTitle as Y, DialogDescription as Z, type DialogProps as _, type ButtonProps as a, LoadingSpinner as a$, type DialogContentProps as a0, type DialogOverlayProps as a1, type DialogHeaderProps as a2, type DialogFooterProps as a3, type DialogTitleProps as a4, type DialogDescriptionProps as a5, type DialogSize as a6, Select as a7, SelectGroup as a8, SelectValue as a9, TooltipTrigger as aA, TooltipContent as aB, TooltipProvider as aC, TooltipRoot as aD, Form as aE, FormField as aF, type FormProps as aG, type FormFieldProps as aH, LoginForm as aI, type LoginFormProps as aJ, Header as aK, Footer as aL, type FooterProps as aM, ProtectedRoute as aN, type ProtectedRouteProps as aO, NavigationMenu as aP, type NavigationMenuProps as aQ, type NavigationItem as aR, ContextSelector as aS, type ContextSelectorProps as aT, UserMenu as aU, ErrorBoundary as aV, ErrorBoundaryProvider as aW, type ErrorBoundaryProps as aX, type ErrorBoundaryState as aY, type ErrorBoundaryProviderProps as aZ, type GlobalErrorHandler as a_, SelectTrigger as aa, SelectContent as ab, SelectLabel as ac, SelectItem as ad, SelectSeparator as ae, Tabs as af, TabsList as ag, TabsTrigger as ah, TabsContent as ai, type TabsProps as aj, type TabsListProps as ak, type TabsTriggerProps as al, type TabsContentProps as am, Calendar as an, type CalendarProps as ao, Toast as ap, Toaster as aq, ToastAction as ar, ToastProvider as as, ToastViewport as at, ToastTitle as au, ToastDescription as av, ToastClose as aw, type ToastActionElement as ax, type ToastProps as ay, Tooltip as az, CardHeader as b, SessionRestorationLoader as b0, type SessionRestorationLoaderProps as b1, FileUpload as b2, type FileUploadProps as b3, FileDisplay as b4, type FileDisplayProps as b5, useFileReference as b6, useFileReferenceForRecord as b7, useFileReferenceById as b8, useFilesByCategory as b9, type UseFileReferenceOptions as ba, type UseFileReferenceReturn as bb, type UseFileReferenceForRecordReturn as bc, PublicPageLayout as bd, PublicPageHeader as be, PublicPageFooter as bf, PublicPageProvider as bg, usePublicPageContext as bh, useIsPublicPage as bi, type PublicPageLayoutProps as bj, type PublicPageHeaderProps as bk, type PublicPageFooterProps as bl, type PaceAppLayoutProps as bm, PaceAppLayout as bn, type PaceLoginPageProps as bo, PaceLoginPage as bp, type NavigationMode as bq, type UserMenuProps as br, PasswordChangeForm as bs, CardFooter as c, CardTitle as d, CardDescription as e, CardContent as f, CardActions as g, type CardProps as h, type CardActionsProps as i, type InputProps as j, type AddressFieldProps as k, type AddressFieldRef as l, type LabelProps as m, type TextareaProps as n, Alert as o, AlertTitle as p, AlertDescription as q, Avatar as r, type AvatarProps as s, Badge as t, type BadgeProps as u, type BadgeVariant as v, Checkbox as w, type SwitchProps as x, type ProgressProps as y, Table as z };
|