@jmruthers/pace-core 0.5.193 → 0.6.2
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 +62 -0
- package/README.md +7 -1
- package/cursor-rules/00-pace-core-compliance.mdc +299 -0
- package/cursor-rules/01-standards-compliance.mdc +244 -0
- package/cursor-rules/02-project-structure.mdc +200 -0
- package/cursor-rules/03-solid-principles.mdc +222 -0
- package/cursor-rules/04-testing-standards.mdc +268 -0
- package/cursor-rules/05-bug-reports-and-features.mdc +246 -0
- package/cursor-rules/06-code-quality.mdc +309 -0
- package/cursor-rules/07-tech-stack-compliance.mdc +214 -0
- package/cursor-rules/08-markup-quality.mdc +452 -0
- package/cursor-rules/CHANGELOG.md +119 -0
- package/cursor-rules/README.md +192 -0
- package/dist/{AuthService-DjnJHDtC.d.ts → AuthService-BPvc3Ka0.d.ts} +54 -0
- package/dist/{DataTable-Be6dH_dR.d.ts → DataTable-BMRU8a1j.d.ts} +34 -2
- package/dist/{DataTable-5FU7IESH.js → DataTable-TPTKCX4D.js} +10 -9
- package/dist/{PublicPageProvider-C0Sm_e5k.d.ts → PublicPageProvider-DC6kCaqf.d.ts} +385 -261
- package/dist/{UnifiedAuthProvider-RGJTDE2C.js → UnifiedAuthProvider-CH6Z342H.js} +3 -3
- package/dist/{UnifiedAuthProvider-185Ih4dj.d.ts → UnifiedAuthProvider-CVcTjx-d.d.ts} +29 -0
- package/dist/{api-N774RPUA.js → api-MVVQZLJI.js} +2 -2
- package/dist/{chunk-KNC55RTG.js → chunk-24UVZUZG.js} +90 -54
- package/dist/chunk-24UVZUZG.js.map +1 -0
- package/dist/{chunk-HWIIPPNI.js → chunk-2UOI2FG5.js} +20 -20
- package/dist/chunk-2UOI2FG5.js.map +1 -0
- package/dist/{chunk-E3SPN4VZ 5.js → chunk-3XC4CPTD.js} +4345 -3986
- package/dist/chunk-3XC4CPTD.js.map +1 -0
- package/dist/{chunk-7EQTDTTJ.js → chunk-6J4GEEJR.js} +172 -45
- package/dist/chunk-6J4GEEJR.js.map +1 -0
- package/dist/{chunk-6C4YBBJM 5.js → chunk-6SOIHG6Z.js} +1 -1
- package/dist/chunk-6SOIHG6Z.js.map +1 -0
- package/dist/{chunk-7FLMSG37.js → chunk-EHMR7VYL.js} +25 -25
- package/dist/chunk-EHMR7VYL.js.map +1 -0
- package/dist/{chunk-I7PSE6JW.js → chunk-F2IMUDXZ.js} +2 -75
- package/dist/chunk-F2IMUDXZ.js.map +1 -0
- package/dist/{chunk-QWWZ5CAQ.js → chunk-FFQEQTNW.js} +7 -9
- 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-HW3OVDUF.js → chunk-J36DSWQK.js} +1 -1
- package/dist/{chunk-HW3OVDUF.js.map → chunk-J36DSWQK.js.map} +1 -1
- package/dist/{chunk-SQGMNID3.js → chunk-L4OXEN46.js} +4 -5
- package/dist/chunk-L4OXEN46.js.map +1 -0
- package/dist/{chunk-R77UEZ4E 3.js → chunk-M43Y4SSO.js} +1 -1
- package/dist/chunk-M43Y4SSO.js.map +1 -0
- package/dist/{chunk-IIELH4DL.js → chunk-MMZ7JXPU.js} +60 -223
- package/dist/chunk-MMZ7JXPU.js.map +1 -0
- package/dist/{chunk-NOAYCWCX 5.js → chunk-NECFR5MM.js} +394 -312
- package/dist/chunk-NECFR5MM.js.map +1 -0
- package/dist/{chunk-BC4IJKSL.js → chunk-SFZUDBL5.js} +40 -4
- package/dist/chunk-SFZUDBL5.js.map +1 -0
- package/dist/{chunk-XNXXZ43G.js → chunk-XWQCNGTQ.js} +748 -364
- package/dist/chunk-XWQCNGTQ.js.map +1 -0
- package/dist/components.d.ts +6 -6
- package/dist/components.js +15 -12
- package/dist/components.js.map +1 -1
- package/dist/{functions-D_kgHktt.d.ts → functions-DHebl8-F.d.ts} +1 -1
- package/dist/hooks.d.ts +59 -126
- package/dist/hooks.js +19 -28
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +63 -16
- package/dist/index.js +23 -24
- package/dist/index.js.map +1 -1
- package/dist/providers.d.ts +21 -3
- package/dist/providers.js +2 -2
- package/dist/rbac/index.d.ts +146 -115
- package/dist/rbac/index.js +8 -11
- package/dist/theming/runtime.d.ts +1 -13
- package/dist/theming/runtime.js +1 -1
- 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/{usePublicRouteParams-TZe0gy-4.d.ts → usePublicRouteParams-1oMokgLF.d.ts} +34 -4
- package/dist/{useToast-C8gR5ir4.d.ts → useToast-AyaT-x7p.d.ts} +2 -2
- package/dist/utils.d.ts +4 -5
- package/dist/utils.js +15 -15
- package/dist/utils.js.map +1 -1
- package/docs/api/README.md +7 -1
- package/docs/api/classes/ColumnFactory.md +8 -8
- package/docs/api/classes/InvalidScopeError.md +4 -4
- package/docs/api/classes/Logger.md +1 -1
- package/docs/api/classes/MissingUserContextError.md +4 -4
- package/docs/api/classes/OrganisationContextRequiredError.md +4 -4
- package/docs/api/classes/PermissionDeniedError.md +4 -4
- package/docs/api/classes/RBACAuditManager.md +1 -1
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +1 -1
- package/docs/api/classes/RBACError.md +4 -4
- package/docs/api/classes/RBACNotInitializedError.md +4 -4
- package/docs/api/classes/SecureSupabaseClient.md +18 -15
- package/docs/api/classes/StorageUtils.md +1 -1
- package/docs/api/enums/FileCategory.md +1 -1
- package/docs/api/enums/LogLevel.md +1 -1
- package/docs/api/enums/RBACErrorCode.md +1 -1
- package/docs/api/enums/RPCFunction.md +1 -1
- package/docs/api/interfaces/AddressFieldProps.md +1 -1
- package/docs/api/interfaces/AddressFieldRef.md +1 -1
- package/docs/api/interfaces/AggregateConfig.md +4 -4
- package/docs/api/interfaces/AutocompleteOptions.md +1 -1
- package/docs/api/interfaces/AvatarProps.md +1 -1
- package/docs/api/interfaces/BadgeProps.md +9 -2
- package/docs/api/interfaces/ButtonProps.md +7 -4
- package/docs/api/interfaces/CalendarProps.md +8 -5
- package/docs/api/interfaces/CardProps.md +8 -5
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/ComplianceResult.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +9 -9
- package/docs/api/interfaces/DataRecord.md +1 -1
- package/docs/api/interfaces/DataTableAction.md +24 -21
- package/docs/api/interfaces/DataTableColumn.md +31 -31
- package/docs/api/interfaces/DataTableProps.md +1 -1
- package/docs/api/interfaces/DataTableToolbarButton.md +7 -7
- package/docs/api/interfaces/DatabaseComplianceResult.md +1 -1
- package/docs/api/interfaces/DatabaseIssue.md +1 -1
- package/docs/api/interfaces/EmptyStateConfig.md +5 -5
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/ErrorBoundaryProps.md +147 -0
- package/docs/api/interfaces/ErrorBoundaryProviderProps.md +36 -0
- package/docs/api/interfaces/ErrorBoundaryState.md +75 -0
- package/docs/api/interfaces/EventAppRoleData.md +1 -1
- package/docs/api/interfaces/ExportColumn.md +1 -1
- package/docs/api/interfaces/ExportOptions.md +8 -8
- package/docs/api/interfaces/FileDisplayProps.md +1 -1
- package/docs/api/interfaces/FileMetadata.md +1 -1
- package/docs/api/interfaces/FileReference.md +1 -1
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadOptions.md +1 -1
- package/docs/api/interfaces/FileUploadProps.md +26 -23
- package/docs/api/interfaces/FooterProps.md +10 -8
- package/docs/api/interfaces/FormFieldProps.md +10 -10
- package/docs/api/interfaces/FormProps.md +1 -1
- package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
- package/docs/api/interfaces/InputProps.md +7 -4
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoggerConfig.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +14 -11
- package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
- package/docs/api/interfaces/NavigationContextType.md +1 -1
- package/docs/api/interfaces/NavigationGuardProps.md +1 -1
- package/docs/api/interfaces/NavigationItem.md +11 -11
- package/docs/api/interfaces/NavigationMenuProps.md +15 -15
- package/docs/api/interfaces/NavigationProviderProps.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 +30 -27
- package/docs/api/interfaces/PaceLoginPageProps.md +6 -4
- package/docs/api/interfaces/PageAccessRecord.md +1 -1
- package/docs/api/interfaces/PagePermissionContextType.md +1 -1
- package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
- package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/ParsedAddress.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
- package/docs/api/interfaces/ProgressProps.md +1 -1
- package/docs/api/interfaces/ProtectedRouteProps.md +7 -26
- package/docs/api/interfaces/PublicPageFooterProps.md +9 -9
- package/docs/api/interfaces/PublicPageHeaderProps.md +10 -10
- package/docs/api/interfaces/PublicPageLayoutProps.md +7 -20
- package/docs/api/interfaces/QuickFix.md +1 -1
- package/docs/api/interfaces/RBACAccessValidateParams.md +1 -1
- package/docs/api/interfaces/RBACAccessValidateResult.md +1 -1
- package/docs/api/interfaces/RBACAuditLogParams.md +1 -1
- package/docs/api/interfaces/RBACAuditLogResult.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +1 -1
- package/docs/api/interfaces/RBACContext.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/RBACPageAccessCheckParams.md +1 -1
- package/docs/api/interfaces/RBACPerformanceMetrics.md +1 -1
- package/docs/api/interfaces/RBACPermissionCheckParams.md +1 -1
- package/docs/api/interfaces/RBACPermissionCheckResult.md +1 -1
- package/docs/api/interfaces/RBACPermissionsGetParams.md +1 -1
- package/docs/api/interfaces/RBACPermissionsGetResult.md +1 -1
- package/docs/api/interfaces/RBACResult.md +1 -1
- package/docs/api/interfaces/RBACRoleGrantParams.md +1 -1
- package/docs/api/interfaces/RBACRoleGrantResult.md +1 -1
- package/docs/api/interfaces/RBACRoleRevokeParams.md +1 -1
- package/docs/api/interfaces/RBACRoleRevokeResult.md +1 -1
- package/docs/api/interfaces/RBACRoleValidateParams.md +1 -1
- package/docs/api/interfaces/RBACRoleValidateResult.md +1 -1
- package/docs/api/interfaces/RBACRolesListParams.md +1 -1
- package/docs/api/interfaces/RBACRolesListResult.md +1 -1
- package/docs/api/interfaces/RBACSessionTrackParams.md +1 -1
- package/docs/api/interfaces/RBACSessionTrackResult.md +1 -1
- package/docs/api/interfaces/ResourcePermissions.md +1 -1
- package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RoleManagementResult.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +1 -1
- package/docs/api/interfaces/RouteConfig.md +1 -1
- package/docs/api/interfaces/RuntimeComplianceResult.md +1 -1
- package/docs/api/interfaces/SecureDataContextType.md +9 -9
- package/docs/api/interfaces/SecureDataProviderProps.md +8 -8
- package/docs/api/interfaces/SessionRestorationLoaderProps.md +3 -3
- package/docs/api/interfaces/SetupIssue.md +1 -1
- package/docs/api/interfaces/StorageConfig.md +1 -1
- package/docs/api/interfaces/StorageFileInfo.md +1 -1
- package/docs/api/interfaces/StorageFileMetadata.md +1 -1
- package/docs/api/interfaces/StorageListOptions.md +1 -1
- package/docs/api/interfaces/StorageListResult.md +1 -1
- package/docs/api/interfaces/StorageUploadOptions.md +1 -1
- package/docs/api/interfaces/StorageUploadResult.md +1 -1
- package/docs/api/interfaces/StorageUrlOptions.md +1 -1
- package/docs/api/interfaces/StyleImport.md +1 -1
- package/docs/api/interfaces/SwitchProps.md +1 -1
- package/docs/api/interfaces/TabsContentProps.md +1 -1
- package/docs/api/interfaces/TabsListProps.md +1 -1
- package/docs/api/interfaces/TabsProps.md +1 -1
- package/docs/api/interfaces/TabsTriggerProps.md +3 -3
- package/docs/api/interfaces/TextareaProps.md +1 -1
- package/docs/api/interfaces/ToastActionElement.md +4 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +58 -55
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +15 -13
- package/docs/api/interfaces/UseFormDialogOptions.md +1 -1
- package/docs/api/interfaces/UseFormDialogReturn.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +11 -9
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +8 -8
- package/docs/api/interfaces/UsePublicEventLogoOptions.md +6 -6
- package/docs/api/interfaces/UsePublicEventLogoReturn.md +9 -6
- package/docs/api/interfaces/UsePublicEventOptions.md +3 -3
- package/docs/api/interfaces/UsePublicEventReturn.md +8 -5
- package/docs/api/interfaces/UsePublicFileDisplayOptions.md +4 -4
- package/docs/api/interfaces/UsePublicFileDisplayReturn.md +12 -9
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +10 -7
- package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
- package/docs/api/interfaces/UseResourcePermissionsOptions.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +14 -11
- package/docs/api/interfaces/UserMenuProps.md +8 -6
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +575 -634
- package/docs/architecture/database-schema-requirements.md +161 -0
- package/docs/core-concepts/rbac-system.md +3 -3
- package/docs/documentation-index.md +2 -4
- package/docs/getting-started/cursor-rules.md +263 -0
- package/docs/getting-started/installation-guide.md +6 -1
- package/docs/getting-started/quick-start.md +6 -1
- package/docs/migration/DOCUMENTATION_STRUCTURE.md +441 -0
- package/docs/migration/MIGRATION_GUIDE.md +6 -28
- package/docs/migration/README.md +52 -6
- package/docs/migration/V0.5.190_TO_V0.6.1_MIGRATION.md +1153 -0
- package/docs/migration/V0.6.0_REACT_19_MIGRATION.md +227 -0
- package/docs/migration/database-changes-december-2025.md +3 -3
- 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/standards/README.md +40 -0
- package/docs/troubleshooting/migration.md +4 -4
- package/examples/PublicPages/PublicEventPage.tsx +1 -1
- package/package.json +12 -6
- 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} +737 -691
- 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 +454 -0
- package/scripts/audit/core/checks/documentation.cjs +203 -0
- package/scripts/audit/core/checks/environment.cjs +128 -0
- package/scripts/audit/core/checks/error-handling.cjs +299 -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 +86 -0
- 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/install-cursor-rules.cjs +236 -0
- 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__/helpers/test-providers.tsx +1 -1
- package/src/__tests__/helpers/test-utils.tsx +1 -1
- 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 +16 -4
- package/src/components/Button/Button.tsx +27 -4
- package/src/components/Calendar/Calendar.tsx +9 -3
- 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/DataTable/DataTable.test.tsx +57 -93
- package/src/components/DataTable/DataTable.tsx +40 -6
- package/src/components/DataTable/__tests__/DataTableCore.test-setup.ts +5 -6
- package/src/components/DataTable/__tests__/pagination.modes.test.tsx +29 -7
- package/src/components/DataTable/__tests__/ssr.strict-mode.test.tsx +12 -12
- package/src/components/DataTable/__tests__/test-utils/sharedTestUtils.tsx +2 -3
- package/src/components/DataTable/components/AccessDeniedPage.tsx +17 -26
- package/src/components/DataTable/components/ActionButtons.tsx +10 -7
- package/src/components/DataTable/components/BulkOperationsDropdown.tsx +2 -2
- 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 +200 -561
- 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 +9 -1
- 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 +9 -1
- 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 +62 -852
- 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/__tests__/DataTableModals.test.tsx +23 -23
- package/src/components/DataTable/components/__tests__/EditableRow.test.tsx +11 -11
- package/src/components/DataTable/components/__tests__/ExpandButton.test.tsx +36 -36
- package/src/components/DataTable/components/__tests__/GroupHeader.test.tsx +27 -27
- package/src/components/DataTable/components/__tests__/ImportModal.test.tsx +39 -39
- package/src/components/DataTable/components/__tests__/UnifiedTableBody.test.tsx +33 -33
- package/src/components/DataTable/components/__tests__/ViewRowModal.test.tsx +29 -29
- 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 +14 -2
- 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 +124 -32
- package/src/components/DataTable/hooks/useDataTableState.ts +35 -1
- package/src/components/DataTable/hooks/useEffectiveColumnOrder.ts +12 -0
- package/src/components/DataTable/hooks/useKeyboardNavigation.ts +2 -2
- 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/DatePickerWithTimezone/DatePickerWithTimezone.test.tsx +8 -14
- package/src/components/Dialog/Dialog.tsx +8 -7
- package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +180 -1
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +46 -6
- package/src/components/ErrorBoundary/ErrorBoundaryContext.tsx +129 -0
- package/src/components/ErrorBoundary/index.ts +27 -2
- package/src/components/EventSelector/EventSelector.tsx +4 -1
- package/src/components/FileDisplay/FileDisplay.test.tsx +2 -2
- package/src/components/FileDisplay/FileDisplay.tsx +32 -18
- package/src/components/FileUpload/FileUpload.tsx +22 -2
- package/src/components/Footer/Footer.test.tsx +16 -16
- package/src/components/Footer/Footer.tsx +15 -12
- package/src/components/Form/Form.test.tsx +36 -15
- package/src/components/Form/Form.tsx +31 -26
- package/src/components/Header/Header.tsx +22 -11
- package/src/components/InactivityWarningModal/InactivityWarningModal.test.tsx +40 -40
- package/src/components/InactivityWarningModal/InactivityWarningModal.tsx +1 -1
- package/src/components/Input/Input.test.tsx +2 -2
- package/src/components/Input/Input.tsx +36 -34
- package/src/components/Label/Label.tsx +1 -1
- package/src/components/LoadingSpinner/LoadingSpinner.test.tsx +4 -4
- package/src/components/LoadingSpinner/LoadingSpinner.tsx +1 -1
- package/src/components/LoginForm/LoginForm.test.tsx +42 -42
- package/src/components/LoginForm/LoginForm.tsx +12 -8
- package/src/components/NavigationMenu/NavigationMenu.tsx +15 -514
- package/src/components/NavigationMenu/types.ts +56 -0
- package/src/components/NavigationMenu/useNavigationFiltering.ts +390 -0
- package/src/components/OrganisationSelector/OrganisationSelector.tsx +3 -0
- package/src/components/PaceAppLayout/PaceAppLayout.performance.test.tsx +1 -1
- package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +54 -52
- package/src/components/PaceAppLayout/PaceAppLayout.tsx +33 -12
- package/src/components/PaceAppLayout/README.md +1 -1
- package/src/components/PaceAppLayout/test-setup.tsx +1 -2
- package/src/components/PaceLoginPage/PaceLoginPage.tsx +4 -1
- package/src/components/PasswordChange/PasswordChangeForm.test.tsx +33 -33
- package/src/components/PasswordChange/PasswordChangeForm.tsx +10 -1
- package/src/components/Progress/Progress.tsx +1 -1
- package/src/components/ProtectedRoute/ProtectedRoute.tsx +3 -9
- package/src/components/PublicLayout/PublicPageLayout.tsx +3 -6
- package/src/components/PublicLayout/PublicPageProvider.tsx +4 -0
- package/src/components/Select/Select.tsx +95 -438
- 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 +5 -6
- package/src/components/Switch/Switch.tsx +4 -4
- package/src/components/Table/Table.tsx +1 -1
- package/src/components/Tabs/Tabs.tsx +1 -1
- package/src/components/Textarea/Textarea.tsx +27 -29
- package/src/components/Toast/Toast.tsx +5 -1
- package/src/components/Tooltip/Tooltip.tsx +3 -3
- package/src/components/UserMenu/UserMenu.test.tsx +24 -11
- package/src/components/UserMenu/UserMenu.tsx +22 -19
- package/src/components/index.ts +2 -2
- package/src/hooks/__tests__/hooks.integration.test.tsx +80 -55
- package/src/hooks/__tests__/index.unit.test.ts +2 -5
- package/src/hooks/__tests__/useStorage.unit.test.ts +36 -36
- package/src/hooks/index.ts +1 -2
- package/src/hooks/public/usePublicEvent.ts +5 -1
- package/src/hooks/public/usePublicEventLogo.ts +5 -1
- package/src/hooks/public/usePublicFileDisplay.ts +4 -0
- package/src/hooks/public/usePublicRouteParams.ts +5 -1
- 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/useDataTableState.ts +8 -18
- package/src/hooks/useDebounce.ts +9 -0
- package/src/hooks/useEventTheme.ts +6 -0
- package/src/hooks/useFileDisplay.ts +4 -0
- package/src/hooks/useFileReference.ts +25 -7
- package/src/hooks/useFileUrl.ts +11 -1
- package/src/hooks/useFocusManagement.ts +16 -2
- package/src/hooks/useFocusTrap.ts +7 -4
- package/src/hooks/useFormDialog.ts +8 -7
- package/src/hooks/useInactivityTracker.ts +4 -1
- 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 +8 -1
- 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 +3 -3
- package/src/index.ts +2 -1
- package/src/providers/__tests__/OrganisationProvider.test.tsx +115 -49
- package/src/providers/__tests__/ProviderLifecycle.test.tsx +21 -6
- package/src/providers/__tests__/UnifiedAuthProvider.test.tsx +10 -10
- package/src/providers/services/AuthServiceProvider.tsx +18 -0
- package/src/providers/services/EventServiceProvider.tsx +18 -0
- package/src/providers/services/InactivityServiceProvider.tsx +18 -0
- package/src/providers/services/OrganisationServiceProvider.tsx +18 -0
- package/src/providers/services/UnifiedAuthProvider.tsx +58 -22
- package/src/providers/services/__tests__/AuthServiceProvider.integration.test.tsx +33 -7
- package/src/rbac/README.md +1 -1
- package/src/rbac/__tests__/adapters.comprehensive.test.tsx +26 -26
- package/src/rbac/__tests__/scenarios.user-role.test.tsx +4 -5
- package/src/rbac/adapters.tsx +14 -5
- package/src/rbac/api.ts +100 -67
- package/src/rbac/components/EnhancedNavigationMenu.tsx +1 -1
- package/src/rbac/components/NavigationGuard.tsx +1 -1
- package/src/rbac/components/NavigationProvider.tsx +5 -2
- package/src/rbac/components/PagePermissionGuard.tsx +158 -18
- package/src/rbac/components/PagePermissionProvider.tsx +1 -1
- package/src/rbac/components/PermissionEnforcer.tsx +1 -1
- package/src/rbac/components/RoleBasedRouter.tsx +6 -2
- package/src/rbac/components/SecureDataProvider.test.tsx +84 -49
- package/src/rbac/components/SecureDataProvider.tsx +21 -6
- 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/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 +347 -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 +71 -64
- package/src/rbac/hooks/usePermissions.ts +14 -995
- package/src/rbac/hooks/useResourcePermissions.test.ts +54 -18
- package/src/rbac/hooks/useResourcePermissions.ts +14 -4
- package/src/rbac/hooks/useSecureSupabase.ts +33 -13
- package/src/rbac/permissions.ts +0 -30
- package/src/rbac/secureClient.ts +212 -61
- package/src/rbac/types.ts +8 -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/file-reference/index.ts +53 -1
- package/src/utils/formatting/formatting.ts +8 -18
- package/src/utils/index.ts +0 -1
- package/src/utils/security/secureDataAccess.test.ts +31 -20
- package/src/utils/security/secureDataAccess.ts +4 -3
- package/dist/chunk-6C4YBBJM.js +0 -628
- package/dist/chunk-6C4YBBJM.js.map +0 -1
- package/dist/chunk-7D4SUZUM.js 2.map +0 -1
- package/dist/chunk-7EQTDTTJ.js 2.map +0 -1
- package/dist/chunk-7EQTDTTJ.js.map +0 -1
- package/dist/chunk-7FLMSG37.js 2.map +0 -1
- package/dist/chunk-7FLMSG37.js.map +0 -1
- package/dist/chunk-BC4IJKSL.js.map +0 -1
- package/dist/chunk-E3SPN4VZ.js +0 -12917
- package/dist/chunk-E3SPN4VZ.js.map +0 -1
- package/dist/chunk-E66EQZE6 5.js +0 -37
- package/dist/chunk-E66EQZE6.js 2.map +0 -1
- package/dist/chunk-HWIIPPNI.js.map +0 -1
- package/dist/chunk-I7PSE6JW 5.js +0 -191
- package/dist/chunk-I7PSE6JW.js 2.map +0 -1
- package/dist/chunk-I7PSE6JW.js.map +0 -1
- package/dist/chunk-IIELH4DL.js.map +0 -1
- package/dist/chunk-KNC55RTG.js 5.map +0 -1
- package/dist/chunk-KNC55RTG.js.map +0 -1
- package/dist/chunk-KQCRWDSA.js 5.map +0 -1
- package/dist/chunk-LFNCN2SP.js +0 -412
- package/dist/chunk-LFNCN2SP.js 2.map +0 -1
- package/dist/chunk-LFNCN2SP.js.map +0 -1
- package/dist/chunk-LMC26NLJ 2.js +0 -84
- package/dist/chunk-NOAYCWCX.js +0 -4993
- package/dist/chunk-NOAYCWCX.js.map +0 -1
- package/dist/chunk-QWWZ5CAQ.js 3.map +0 -1
- package/dist/chunk-QWWZ5CAQ.js.map +0 -1
- package/dist/chunk-QXHPKYJV 3.js +0 -113
- package/dist/chunk-R77UEZ4E.js +0 -68
- package/dist/chunk-R77UEZ4E.js.map +0 -1
- package/dist/chunk-SQGMNID3.js.map +0 -1
- package/dist/chunk-VBXEHIUJ.js 6.map +0 -1
- package/dist/chunk-XNXXZ43G.js.map +0 -1
- package/dist/chunk-ZSAAAMVR 6.js +0 -25
- package/dist/components.js 5.map +0 -1
- package/dist/styles/index 2.js +0 -12
- package/dist/styles/index.js 5.map +0 -1
- package/dist/theming/runtime 5.js +0 -19
- package/dist/theming/runtime.js 5.map +0 -1
- package/docs/api/classes/ErrorBoundary.md +0 -144
- package/docs/migration/quick-migration-guide.md +0 -356
- package/docs/migration/service-architecture.md +0 -281
- package/src/hooks/__tests__/useSecureDataAccess.unit.test.tsx +0 -680
- package/src/hooks/useSecureDataAccess.test.ts +0 -559
- package/src/hooks/useSecureDataAccess.ts +0 -666
- /package/dist/{DataTable-5FU7IESH.js.map → DataTable-TPTKCX4D.js.map} +0 -0
- /package/dist/{UnifiedAuthProvider-RGJTDE2C.js.map → UnifiedAuthProvider-CH6Z342H.js.map} +0 -0
- /package/dist/{api-N774RPUA.js.map → api-MVVQZLJI.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/examples/{rbac → RBAC}/CompleteRBACExample.tsx +0 -0
- /package/examples/{rbac → RBAC}/EventBasedApp.tsx +0 -0
- /package/examples/{rbac → RBAC}/PermissionExample.tsx +0 -0
- /package/examples/{rbac → RBAC}/index.ts +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as React$1 from 'react';
|
|
2
|
-
import React__default, {
|
|
3
|
-
import
|
|
2
|
+
import React__default, { ReactNode, Component } from 'react';
|
|
3
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
+
import { P as ParsedAddress, A as AutocompleteOptions } from './types-CkbwOr4Y.js';
|
|
4
5
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
5
6
|
import { F as FileCategory, e as FileUploadResult, U as UploadProgress, c as FileUploadOptions, a as FileReference } from './file-reference-BavO2eQj.js';
|
|
6
7
|
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
7
8
|
import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
8
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
9
9
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
10
10
|
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
11
11
|
import { DayPickerProps, DateRange } from 'react-day-picker';
|
|
@@ -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-
|
|
17
|
+
import { P as Permission, A as AccessLevel } from './types-BeoeWV5I.js';
|
|
18
18
|
import { E as Event, O as Organisation } 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';
|
|
@@ -129,55 +143,9 @@ declare const CardActions: React$1.ForwardRefExoticComponent<React$1.HTMLAttribu
|
|
|
129
143
|
type CardActionsProps = React$1.HTMLAttributes<HTMLElement>;
|
|
130
144
|
|
|
131
145
|
/**
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
* @module Input
|
|
135
|
-
* @since 0.1.0
|
|
136
|
-
*
|
|
137
|
-
* A comprehensive input component suite including Input and InputGroup.
|
|
138
|
-
* Provides flexible, accessible input components with consistent styling and behavior.
|
|
139
|
-
*
|
|
140
|
-
* Features:
|
|
141
|
-
* - Multiple input variants (default, destructive)
|
|
142
|
-
* - Multiple input sizes (sm, md, lg)
|
|
143
|
-
* - Error state styling
|
|
144
|
-
* - Input grouping with consistent spacing
|
|
145
|
-
* - Horizontal and vertical orientation support
|
|
146
|
-
* - Forwarded ref support
|
|
147
|
-
* - Composition support
|
|
148
|
-
*
|
|
149
|
-
* @example
|
|
150
|
-
* ```tsx
|
|
151
|
-
* // Basic input
|
|
152
|
-
* <Input placeholder="Enter text" />
|
|
153
|
-
*
|
|
154
|
-
* // Input with variants and sizes
|
|
155
|
-
* <Input
|
|
156
|
-
* variant="destructive"
|
|
157
|
-
* size="lg"
|
|
158
|
-
* placeholder="Error input"
|
|
159
|
-
* />
|
|
160
|
-
*
|
|
161
|
-
* // Input group
|
|
162
|
-
* <InputGroup orientation="horizontal" spacing="md">
|
|
163
|
-
* <Input placeholder="First name" />
|
|
164
|
-
* <Input placeholder="Last name" />
|
|
165
|
-
* </InputGroup>
|
|
166
|
-
*
|
|
167
|
-
* // Vertical input group
|
|
168
|
-
* <InputGroup orientation="vertical" spacing="lg">
|
|
169
|
-
* <Input placeholder="Email" type="email" />
|
|
170
|
-
* <Input placeholder="Password" type="password" />
|
|
171
|
-
* </InputGroup>
|
|
172
|
-
* ```
|
|
173
|
-
*
|
|
174
|
-
* @accessibility
|
|
175
|
-
* - Proper ARIA attributes and roles
|
|
176
|
-
* - Keyboard navigation support
|
|
177
|
-
* - Screen reader friendly
|
|
178
|
-
* - Focus management
|
|
146
|
+
* Props for the Input component.
|
|
147
|
+
* Extends standard input HTML attributes.
|
|
179
148
|
*/
|
|
180
|
-
|
|
181
149
|
interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
182
150
|
/**
|
|
183
151
|
* Input variant style
|
|
@@ -220,7 +188,12 @@ interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>,
|
|
|
220
188
|
* />
|
|
221
189
|
* ```
|
|
222
190
|
*/
|
|
223
|
-
declare
|
|
191
|
+
declare function Input({ className, variant, size, error, type, ref, ...props }: InputProps & {
|
|
192
|
+
ref?: React$1.Ref<HTMLInputElement>;
|
|
193
|
+
}): react_jsx_runtime.JSX.Element;
|
|
194
|
+
declare namespace Input {
|
|
195
|
+
var displayName: string;
|
|
196
|
+
}
|
|
224
197
|
|
|
225
198
|
/**
|
|
226
199
|
* @file AddressField Component Types
|
|
@@ -400,7 +373,7 @@ declare const AddressField: React$1.ForwardRefExoticComponent<AddressFieldProps
|
|
|
400
373
|
*
|
|
401
374
|
* @dependencies
|
|
402
375
|
* - @radix-ui/react-label - Core label functionality
|
|
403
|
-
* - React
|
|
376
|
+
* - React 19+ - Hooks and refs
|
|
404
377
|
* - Tailwind CSS - Styling
|
|
405
378
|
*/
|
|
406
379
|
|
|
@@ -440,48 +413,6 @@ interface LabelProps extends React$1.ComponentPropsWithoutRef<typeof LabelPrimit
|
|
|
440
413
|
*/
|
|
441
414
|
declare const Label: React$1.ForwardRefExoticComponent<LabelProps & React$1.RefAttributes<HTMLLabelElement>>;
|
|
442
415
|
|
|
443
|
-
/**
|
|
444
|
-
* @file Textarea Component
|
|
445
|
-
* @package @jmruthers/pace-core
|
|
446
|
-
* @module Textarea
|
|
447
|
-
* @since 0.5.141
|
|
448
|
-
*
|
|
449
|
-
* A multi-line text input component with consistent styling matching the Input component.
|
|
450
|
-
* Provides flexible, accessible textarea component with consistent styling and behavior.
|
|
451
|
-
*
|
|
452
|
-
* Features:
|
|
453
|
-
* - Multiple textarea variants (default, destructive)
|
|
454
|
-
* - Multiple textarea sizes (sm, md, lg)
|
|
455
|
-
* - Error state styling
|
|
456
|
-
* - Forwarded ref support
|
|
457
|
-
* - Consistent styling with Input component
|
|
458
|
-
*
|
|
459
|
-
* @example
|
|
460
|
-
* ```tsx
|
|
461
|
-
* // Basic textarea
|
|
462
|
-
* <Textarea placeholder="Enter your message..." />
|
|
463
|
-
*
|
|
464
|
-
* // Textarea with variants and sizes
|
|
465
|
-
* <Textarea
|
|
466
|
-
* variant="destructive"
|
|
467
|
-
* size="lg"
|
|
468
|
-
* placeholder="Error textarea"
|
|
469
|
-
* />
|
|
470
|
-
*
|
|
471
|
-
* // Textarea with error state
|
|
472
|
-
* <Textarea
|
|
473
|
-
* placeholder="Comments"
|
|
474
|
-
* error={true}
|
|
475
|
-
* />
|
|
476
|
-
* ```
|
|
477
|
-
*
|
|
478
|
-
* @accessibility
|
|
479
|
-
* - Proper ARIA attributes and roles
|
|
480
|
-
* - Keyboard navigation support
|
|
481
|
-
* - Screen reader friendly
|
|
482
|
-
* - Focus management
|
|
483
|
-
*/
|
|
484
|
-
|
|
485
416
|
interface TextareaProps extends React$1.TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
486
417
|
/**
|
|
487
418
|
* Textarea variant style
|
|
@@ -524,7 +455,12 @@ interface TextareaProps extends React$1.TextareaHTMLAttributes<HTMLTextAreaEleme
|
|
|
524
455
|
* />
|
|
525
456
|
* ```
|
|
526
457
|
*/
|
|
527
|
-
declare
|
|
458
|
+
declare function Textarea({ className, variant, size, error, ref, ...props }: TextareaProps & {
|
|
459
|
+
ref?: React$1.Ref<HTMLTextAreaElement>;
|
|
460
|
+
}): react_jsx_runtime.JSX.Element;
|
|
461
|
+
declare namespace Textarea {
|
|
462
|
+
var displayName: string;
|
|
463
|
+
}
|
|
528
464
|
|
|
529
465
|
/**
|
|
530
466
|
* @file Alert Component Suite
|
|
@@ -546,22 +482,20 @@ declare const Textarea: React$1.ForwardRefExoticComponent<TextareaProps & React$
|
|
|
546
482
|
*
|
|
547
483
|
* @example
|
|
548
484
|
* ```tsx
|
|
549
|
-
* // Basic alert
|
|
485
|
+
* // Basic alert (renders as <aside> with <h5> title and <p> description)
|
|
550
486
|
* <Alert>
|
|
551
487
|
* <AlertTitle>Success</AlertTitle>
|
|
552
488
|
* <AlertDescription>Your changes have been saved.</AlertDescription>
|
|
553
489
|
* </Alert>
|
|
554
490
|
*
|
|
555
|
-
* // Destructive alert with icon
|
|
491
|
+
* // Destructive alert with icon (renders as <aside> with <h5> title and <p> description)
|
|
556
492
|
* <Alert variant="destructive">
|
|
557
493
|
* <ErrorIcon />
|
|
558
|
-
* <
|
|
559
|
-
*
|
|
560
|
-
* <AlertDescription>Something went wrong.</AlertDescription>
|
|
561
|
-
* </div>
|
|
494
|
+
* <AlertTitle>Error</AlertTitle>
|
|
495
|
+
* <AlertDescription>Something went wrong.</AlertDescription>
|
|
562
496
|
* </Alert>
|
|
563
497
|
*
|
|
564
|
-
* // Inline alert (renders as
|
|
498
|
+
* // Inline alert (renders as React.Fragment with <strong> title and <span> description)
|
|
565
499
|
* <Alert variant="inline">
|
|
566
500
|
* <AlertTitle>Note:</AlertTitle>
|
|
567
501
|
* <AlertDescription>This is an inline message.</AlertDescription>
|
|
@@ -653,50 +587,20 @@ interface AvatarProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
653
587
|
declare const Avatar: React$1.ForwardRefExoticComponent<AvatarProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
654
588
|
|
|
655
589
|
/**
|
|
656
|
-
*
|
|
657
|
-
*
|
|
658
|
-
*
|
|
659
|
-
*
|
|
660
|
-
*
|
|
661
|
-
*
|
|
662
|
-
* such as status indicators, tags, or labels. Acts as a visual alternative to buttons
|
|
663
|
-
* for non-interactive content.
|
|
664
|
-
*
|
|
665
|
-
* Features:
|
|
666
|
-
* - 27 combined variants (3 styles × 3 colors × 3 shades)
|
|
667
|
-
* - Non-interactive by default (renders as <span>)
|
|
668
|
-
* - Supports all pace-core color palettes (main, sec, acc)
|
|
669
|
-
* - Customizable styling via className prop
|
|
670
|
-
* - Accessible and screen reader friendly
|
|
671
|
-
*
|
|
672
|
-
* @example
|
|
673
|
-
* ```tsx
|
|
674
|
-
* // Basic badge with default variant
|
|
675
|
-
* <Badge>New</Badge>
|
|
676
|
-
*
|
|
677
|
-
* // Badge with specific variant
|
|
678
|
-
* <Badge variant="solid-main-normal">Active</Badge>
|
|
679
|
-
*
|
|
680
|
-
* // Outline variant
|
|
681
|
-
* <Badge variant="outline-sec-muted">Pending</Badge>
|
|
682
|
-
*
|
|
683
|
-
* // Soft variant with accent color
|
|
684
|
-
* <Badge variant="soft-acc-strong">Featured</Badge>
|
|
685
|
-
*
|
|
686
|
-
* // Custom styling
|
|
687
|
-
* <Badge variant="solid-main-normal" className="px-4">
|
|
688
|
-
* Custom Badge
|
|
689
|
-
* </Badge>
|
|
690
|
-
* ```
|
|
691
|
-
*
|
|
692
|
-
* @accessibility
|
|
693
|
-
* - Renders as semantic <span> element
|
|
694
|
-
* - No focus styles (non-interactive by default)
|
|
695
|
-
* - Screen reader friendly through semantic HTML
|
|
696
|
-
* - Can be wrapped in interactive elements if needed
|
|
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'
|
|
697
596
|
*/
|
|
698
|
-
|
|
699
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
|
+
*/
|
|
700
604
|
interface BadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
|
|
701
605
|
/** Visual variant of the badge (style-color-shade) */
|
|
702
606
|
variant?: BadgeVariant;
|
|
@@ -721,7 +625,12 @@ interface BadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
|
|
|
721
625
|
* <Badge variant="soft-acc-strong">Featured</Badge>
|
|
722
626
|
* ```
|
|
723
627
|
*/
|
|
724
|
-
declare
|
|
628
|
+
declare function Badge({ className, variant, ref, ...props }: BadgeProps & {
|
|
629
|
+
ref?: React$1.Ref<HTMLSpanElement>;
|
|
630
|
+
}): react_jsx_runtime.JSX.Element;
|
|
631
|
+
declare namespace Badge {
|
|
632
|
+
var displayName: string;
|
|
633
|
+
}
|
|
725
634
|
|
|
726
635
|
/**
|
|
727
636
|
* @file Checkbox Component
|
|
@@ -746,10 +655,10 @@ declare const Badge: React$1.ForwardRefExoticComponent<BadgeProps & React$1.RefA
|
|
|
746
655
|
* <Checkbox />
|
|
747
656
|
*
|
|
748
657
|
* // With label
|
|
749
|
-
*
|
|
658
|
+
* <>
|
|
750
659
|
* <Checkbox id="terms" />
|
|
751
660
|
* <label htmlFor="terms">Accept terms and conditions</label>
|
|
752
|
-
*
|
|
661
|
+
* </>
|
|
753
662
|
*
|
|
754
663
|
* // Disabled state
|
|
755
664
|
* <Checkbox disabled />
|
|
@@ -798,7 +707,7 @@ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive
|
|
|
798
707
|
* const [checked, setChecked] = React.useState(false);
|
|
799
708
|
*
|
|
800
709
|
* return (
|
|
801
|
-
*
|
|
710
|
+
* <>
|
|
802
711
|
* <Switch
|
|
803
712
|
* checked={checked}
|
|
804
713
|
* onCheckedChange={setChecked}
|
|
@@ -807,7 +716,7 @@ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive
|
|
|
807
716
|
* <label htmlFor="notifications">
|
|
808
717
|
* Enable notifications
|
|
809
718
|
* </label>
|
|
810
|
-
*
|
|
719
|
+
* </>
|
|
811
720
|
* );
|
|
812
721
|
* }
|
|
813
722
|
* ```
|
|
@@ -818,12 +727,12 @@ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive
|
|
|
818
727
|
*
|
|
819
728
|
* function FormExample() {
|
|
820
729
|
* return (
|
|
821
|
-
*
|
|
730
|
+
* <>
|
|
822
731
|
* <Switch id="terms" />
|
|
823
732
|
* <Label htmlFor="terms">
|
|
824
733
|
* I agree to the terms and conditions
|
|
825
734
|
* </Label>
|
|
826
|
-
*
|
|
735
|
+
* </>
|
|
827
736
|
* );
|
|
828
737
|
* }
|
|
829
738
|
* ```
|
|
@@ -923,7 +832,7 @@ declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.Re
|
|
|
923
832
|
* - Minimal DOM structure (native HTML element)
|
|
924
833
|
*
|
|
925
834
|
* @dependencies
|
|
926
|
-
* - React
|
|
835
|
+
* - React 19+ - Hooks and refs
|
|
927
836
|
* - Tailwind CSS - Styling
|
|
928
837
|
*/
|
|
929
838
|
|
|
@@ -1159,19 +1068,13 @@ declare const DialogTitle: React$1.ForwardRefExoticComponent<DialogTitleProps &
|
|
|
1159
1068
|
declare const DialogDescription: React$1.ForwardRefExoticComponent<DialogDescriptionProps & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
1160
1069
|
|
|
1161
1070
|
/**
|
|
1162
|
-
*
|
|
1163
|
-
*
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
*
|
|
1168
|
-
* - Single Responsibility: Each component has one clear purpose
|
|
1169
|
-
* - Open/Closed: Easy to extend without modification
|
|
1170
|
-
* - Liskov Substitution: Components can be substituted
|
|
1171
|
-
* - Interface Segregation: Small, focused interfaces
|
|
1172
|
-
* - 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.
|
|
1173
1077
|
*/
|
|
1174
|
-
|
|
1175
1078
|
interface UseSelectStateProps {
|
|
1176
1079
|
value?: string;
|
|
1177
1080
|
defaultValue?: string;
|
|
@@ -1182,19 +1085,31 @@ interface UseSelectStateProps {
|
|
|
1182
1085
|
onValueChange?: (value: string) => void;
|
|
1183
1086
|
onOpenChange?: (open: boolean) => void;
|
|
1184
1087
|
}
|
|
1185
|
-
|
|
1088
|
+
/**
|
|
1089
|
+
* Props for the Select root component.
|
|
1090
|
+
*/
|
|
1091
|
+
interface SelectProps extends Omit<React$1.HTMLAttributes<HTMLFormElement>, "onChange" | "onKeyDown" | "onFocus" | "onBlur"> {
|
|
1186
1092
|
children: React$1.ReactNode;
|
|
1187
1093
|
className?: string;
|
|
1188
|
-
direction?:
|
|
1094
|
+
direction?: SelectDirection;
|
|
1189
1095
|
}
|
|
1190
|
-
|
|
1096
|
+
/**
|
|
1097
|
+
* Props for the SelectTrigger component.
|
|
1098
|
+
*/
|
|
1099
|
+
interface SelectTriggerProps extends Omit<ButtonProps, "onClick" | "onKeyDown"> {
|
|
1191
1100
|
children: React$1.ReactNode;
|
|
1192
1101
|
asChild?: boolean;
|
|
1193
1102
|
}
|
|
1103
|
+
/**
|
|
1104
|
+
* Props for the SelectValue component.
|
|
1105
|
+
*/
|
|
1194
1106
|
interface SelectValueProps {
|
|
1195
1107
|
placeholder?: string;
|
|
1196
1108
|
children?: React$1.ReactNode;
|
|
1197
1109
|
}
|
|
1110
|
+
/**
|
|
1111
|
+
* Props for the SelectContent component.
|
|
1112
|
+
*/
|
|
1198
1113
|
interface SelectContentProps {
|
|
1199
1114
|
children: React$1.ReactNode;
|
|
1200
1115
|
className?: string;
|
|
@@ -1203,6 +1118,9 @@ interface SelectContentProps {
|
|
|
1203
1118
|
maxHeight?: string;
|
|
1204
1119
|
style?: React$1.CSSProperties;
|
|
1205
1120
|
}
|
|
1121
|
+
/**
|
|
1122
|
+
* Props for the SelectItem component.
|
|
1123
|
+
*/
|
|
1206
1124
|
interface SelectItemProps {
|
|
1207
1125
|
value: string;
|
|
1208
1126
|
children: React$1.ReactNode;
|
|
@@ -1210,19 +1128,98 @@ interface SelectItemProps {
|
|
|
1210
1128
|
className?: string;
|
|
1211
1129
|
onClick?: (e: React$1.MouseEvent) => void;
|
|
1212
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
|
+
*/
|
|
1213
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
|
+
*/
|
|
1214
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
|
+
*/
|
|
1215
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
|
+
*/
|
|
1216
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
|
+
*/
|
|
1217
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
|
+
*/
|
|
1218
1199
|
declare const SelectGroup: React$1.ForwardRefExoticComponent<{
|
|
1219
1200
|
children: React$1.ReactNode;
|
|
1220
1201
|
className?: string;
|
|
1221
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
|
+
*/
|
|
1222
1211
|
declare const SelectLabel: React$1.ForwardRefExoticComponent<{
|
|
1223
1212
|
children: React$1.ReactNode;
|
|
1224
1213
|
className?: string;
|
|
1225
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
|
+
*/
|
|
1226
1223
|
declare const SelectSeparator: React$1.ForwardRefExoticComponent<{
|
|
1227
1224
|
className?: string;
|
|
1228
1225
|
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
@@ -1350,7 +1347,7 @@ interface TabsContentProps extends React$1.ComponentPropsWithoutRef<typeof TabsP
|
|
|
1350
1347
|
* @example
|
|
1351
1348
|
* ```tsx
|
|
1352
1349
|
* <TabsContent value="tab1">
|
|
1353
|
-
* <
|
|
1350
|
+
* <section>Content for tab 1</section>
|
|
1354
1351
|
* </TabsContent>
|
|
1355
1352
|
* ```
|
|
1356
1353
|
*/
|
|
@@ -1413,6 +1410,10 @@ declare const TabsContent: React$1.ForwardRefExoticComponent<TabsContentProps &
|
|
|
1413
1410
|
* - Date announcements
|
|
1414
1411
|
*/
|
|
1415
1412
|
|
|
1413
|
+
/**
|
|
1414
|
+
* Props for the Calendar component.
|
|
1415
|
+
* Extends DayPickerProps with pace-core specific customizations.
|
|
1416
|
+
*/
|
|
1416
1417
|
interface CalendarProps extends Omit<DayPickerProps, 'className' | 'classNames' | 'styles' | 'onSelect'> {
|
|
1417
1418
|
/**
|
|
1418
1419
|
* Additional CSS classes to apply to the calendar table
|
|
@@ -1581,6 +1582,10 @@ declare const ToastTitle: React$1.ForwardRefExoticComponent<Omit<ToastPrimitives
|
|
|
1581
1582
|
declare const ToastDescription: React$1.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastDescriptionProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
1582
1583
|
interface ToastProps extends React$1.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> {
|
|
1583
1584
|
}
|
|
1585
|
+
/**
|
|
1586
|
+
* Type for toast action elements.
|
|
1587
|
+
* Represents a React element that can be used as a toast action button.
|
|
1588
|
+
*/
|
|
1584
1589
|
interface ToastActionElement extends React$1.ReactElement<typeof ToastAction> {
|
|
1585
1590
|
}
|
|
1586
1591
|
/**
|
|
@@ -1642,10 +1647,10 @@ declare function Toaster(): react_jsx_runtime.JSX.Element;
|
|
|
1642
1647
|
* <Button>Advanced Tooltip</Button>
|
|
1643
1648
|
* </TooltipTrigger>
|
|
1644
1649
|
* <TooltipContent side="top" className="bg-main-500 text-main-50">
|
|
1645
|
-
* <
|
|
1650
|
+
* <section className="space-y-1">
|
|
1646
1651
|
* <p className="font-semibold">Advanced Tooltip</p>
|
|
1647
1652
|
* <p className="text-xs">With custom styling</p>
|
|
1648
|
-
* </
|
|
1653
|
+
* </section>
|
|
1649
1654
|
* </TooltipContent>
|
|
1650
1655
|
* </TooltipRoot>
|
|
1651
1656
|
* </TooltipProvider>
|
|
@@ -1673,7 +1678,7 @@ declare function Toaster(): react_jsx_runtime.JSX.Element;
|
|
|
1673
1678
|
*
|
|
1674
1679
|
* @dependencies
|
|
1675
1680
|
* - @radix-ui/react-tooltip - Core tooltip functionality
|
|
1676
|
-
* - React
|
|
1681
|
+
* - React 19+ - Hooks and refs
|
|
1677
1682
|
* - Tailwind CSS - Styling and animations
|
|
1678
1683
|
*/
|
|
1679
1684
|
|
|
@@ -1829,7 +1834,7 @@ interface FormFieldProps<TFieldValues extends FieldValues = FieldValues, TName e
|
|
|
1829
1834
|
field: ControllerRenderProps<TFieldValues, TName>;
|
|
1830
1835
|
fieldState: ControllerFieldState;
|
|
1831
1836
|
formState: UseFormStateReturn<TFieldValues>;
|
|
1832
|
-
}) => React__default.ReactElement
|
|
1837
|
+
}) => React__default.ReactElement<any>;
|
|
1833
1838
|
/**
|
|
1834
1839
|
* Test ID
|
|
1835
1840
|
*/
|
|
@@ -1999,7 +2004,7 @@ declare function FormField<TFieldValues extends FieldValues = FieldValues, TName
|
|
|
1999
2004
|
* - Minimal re-renders
|
|
2000
2005
|
*
|
|
2001
2006
|
* @dependencies
|
|
2002
|
-
* - React
|
|
2007
|
+
* - React 19+ - Hooks and memo
|
|
2003
2008
|
* - Button component
|
|
2004
2009
|
* - Input component
|
|
2005
2010
|
* - Label component
|
|
@@ -2008,6 +2013,10 @@ declare function FormField<TFieldValues extends FieldValues = FieldValues, TName
|
|
|
2008
2013
|
* - Tailwind CSS - Styling
|
|
2009
2014
|
*/
|
|
2010
2015
|
|
|
2016
|
+
/**
|
|
2017
|
+
* Props for the LoginForm component.
|
|
2018
|
+
* Configures login form behavior, validation, and callbacks.
|
|
2019
|
+
*/
|
|
2011
2020
|
interface LoginFormProps {
|
|
2012
2021
|
/** Callback invoked when the form is submitted */
|
|
2013
2022
|
onSignIn: (data: {
|
|
@@ -2053,6 +2062,57 @@ interface LoginFormProps {
|
|
|
2053
2062
|
*/
|
|
2054
2063
|
declare const LoginForm: React__default.NamedExoticComponent<LoginFormProps>;
|
|
2055
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
|
+
|
|
2056
2116
|
/**
|
|
2057
2117
|
* @file Unified Navigation Menu Component
|
|
2058
2118
|
* @package @jmruthers/pace-core
|
|
@@ -2239,63 +2299,13 @@ declare const LoginForm: React__default.NamedExoticComponent<LoginFormProps>;
|
|
|
2239
2299
|
* - Responsive design considerations
|
|
2240
2300
|
*
|
|
2241
2301
|
* @dependencies
|
|
2242
|
-
* - React
|
|
2302
|
+
* - React 19+ - Component framework and hooks
|
|
2243
2303
|
* - Lucide React - Icon components
|
|
2244
2304
|
* - Radix UI - Dropdown menu primitives
|
|
2245
2305
|
* - React Router (optional) - For navigation handling
|
|
2246
2306
|
* - Tailwind CSS - Styling system
|
|
2247
2307
|
*/
|
|
2248
2308
|
|
|
2249
|
-
/**
|
|
2250
|
-
* Navigation mode type
|
|
2251
|
-
*/
|
|
2252
|
-
type NavigationMode = 'dropdown' | 'hierarchical';
|
|
2253
|
-
/**
|
|
2254
|
-
* Navigation item metadata
|
|
2255
|
-
*/
|
|
2256
|
-
interface NavigationItemMeta {
|
|
2257
|
-
hidden?: boolean;
|
|
2258
|
-
[key: string]: unknown;
|
|
2259
|
-
}
|
|
2260
|
-
/**
|
|
2261
|
-
* Navigation item interface
|
|
2262
|
-
*/
|
|
2263
|
-
interface NavigationItem {
|
|
2264
|
-
id: string;
|
|
2265
|
-
label: string;
|
|
2266
|
-
href?: string;
|
|
2267
|
-
icon?: string;
|
|
2268
|
-
children?: NavigationItem[];
|
|
2269
|
-
permissions?: (Permission | string)[];
|
|
2270
|
-
roles?: string[];
|
|
2271
|
-
accessLevel?: AccessLevel | string;
|
|
2272
|
-
meta?: NavigationItemMeta;
|
|
2273
|
-
pageId?: string;
|
|
2274
|
-
}
|
|
2275
|
-
/**
|
|
2276
|
-
* Navigation menu component props
|
|
2277
|
-
*/
|
|
2278
|
-
interface NavigationMenuProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
2279
|
-
items: NavigationItem[];
|
|
2280
|
-
mode?: NavigationMode;
|
|
2281
|
-
currentPath?: string;
|
|
2282
|
-
onNavigate?: (item: NavigationItem) => void;
|
|
2283
|
-
className?: string;
|
|
2284
|
-
disabled?: boolean;
|
|
2285
|
-
buttonText?: string;
|
|
2286
|
-
showIcons?: boolean;
|
|
2287
|
-
navigationLabel?: string;
|
|
2288
|
-
strictMode?: boolean;
|
|
2289
|
-
auditLog?: boolean;
|
|
2290
|
-
onNavigationAccessDenied?: (item: NavigationItem) => void;
|
|
2291
|
-
onStrictModeViolation?: (item: NavigationItem, reason: string) => void;
|
|
2292
|
-
/**
|
|
2293
|
-
* If true, indicates that items have already been filtered by the parent component (e.g., PaceAppLayout).
|
|
2294
|
-
* When true, NavigationMenu will skip expensive permission checks and trust the provided items.
|
|
2295
|
-
* This significantly improves performance when items are pre-filtered.
|
|
2296
|
-
*/
|
|
2297
|
-
itemsPreFiltered?: boolean;
|
|
2298
|
-
}
|
|
2299
2309
|
/**
|
|
2300
2310
|
* Unified NavigationMenu component that supports both dropdown and hierarchical navigation modes.
|
|
2301
2311
|
*
|
|
@@ -2581,20 +2591,29 @@ declare const NavigationMenu: React$1.ForwardRefExoticComponent<NavigationMenuPr
|
|
|
2581
2591
|
* - Proper error handling
|
|
2582
2592
|
*
|
|
2583
2593
|
* @dependencies
|
|
2584
|
-
* - React
|
|
2594
|
+
* - React 19+ - Hooks and state
|
|
2585
2595
|
* - Button component
|
|
2586
2596
|
* - Input component
|
|
2587
2597
|
* - Label component
|
|
2588
2598
|
* - Tailwind CSS - Styling
|
|
2589
2599
|
*/
|
|
2600
|
+
/**
|
|
2601
|
+
* Form values for password change.
|
|
2602
|
+
*/
|
|
2590
2603
|
interface PasswordChangeFormValues {
|
|
2591
2604
|
newPassword: string;
|
|
2592
2605
|
confirmPassword: string;
|
|
2593
2606
|
}
|
|
2607
|
+
/**
|
|
2608
|
+
* Error structure for password change form.
|
|
2609
|
+
*/
|
|
2594
2610
|
interface PasswordChangeFormError {
|
|
2595
2611
|
message?: string;
|
|
2596
2612
|
code?: string;
|
|
2597
2613
|
}
|
|
2614
|
+
/**
|
|
2615
|
+
* Props for the PasswordChangeForm component.
|
|
2616
|
+
*/
|
|
2598
2617
|
interface PasswordChangeFormProps {
|
|
2599
2618
|
onSubmit: (values: PasswordChangeFormValues) => Promise<{
|
|
2600
2619
|
error?: PasswordChangeFormError;
|
|
@@ -2704,10 +2723,10 @@ interface HeaderProps {
|
|
|
2704
2723
|
*
|
|
2705
2724
|
* function HeaderWithActions() {
|
|
2706
2725
|
* const customActions = (
|
|
2707
|
-
*
|
|
2726
|
+
* <>
|
|
2708
2727
|
* <Button variant="outline" size="sm">Export</Button>
|
|
2709
2728
|
* <Button size="sm">New Item</Button>
|
|
2710
|
-
*
|
|
2729
|
+
* </>
|
|
2711
2730
|
* );
|
|
2712
2731
|
*
|
|
2713
2732
|
* return (
|
|
@@ -2743,6 +2762,13 @@ interface HeaderProps {
|
|
|
2743
2762
|
*
|
|
2744
2763
|
* @since 0.1.0
|
|
2745
2764
|
*/
|
|
2765
|
+
/**
|
|
2766
|
+
* Header component for application layouts.
|
|
2767
|
+
* Provides navigation, user menu, organisation/event selectors, and customizable branding.
|
|
2768
|
+
*
|
|
2769
|
+
* @param props - Header configuration
|
|
2770
|
+
* @returns The rendered header
|
|
2771
|
+
*/
|
|
2746
2772
|
declare function Header({ logoUrl, logoAlt, logo, navItems, user, onSignOut, onChangePassword, actions, userMenu, className, showEventSelector, showOrgSelector, showUserMenu, currentPath, onNavigate, logoHref }: HeaderProps): react_jsx_runtime.JSX.Element;
|
|
2747
2773
|
|
|
2748
2774
|
/**
|
|
@@ -2794,28 +2820,28 @@ declare function Header({ logoUrl, logoAlt, logo, navItems, user, onSignOut, onC
|
|
|
2794
2820
|
*
|
|
2795
2821
|
* // Footer with custom content
|
|
2796
2822
|
* <Footer companyName="My Company">
|
|
2797
|
-
* <
|
|
2798
|
-
* <
|
|
2823
|
+
* <section className="grid grid-cols-1 md:grid-cols-3 gap-8 mb-8">
|
|
2824
|
+
* <section>
|
|
2799
2825
|
* <h3 className="font-semibold mb-2">About Us</h3>
|
|
2800
2826
|
* <p className="text-sm text-muted-foreground">
|
|
2801
2827
|
* We provide innovative solutions for modern businesses.
|
|
2802
2828
|
* </p>
|
|
2803
|
-
* </
|
|
2804
|
-
* <
|
|
2829
|
+
* </section>
|
|
2830
|
+
* <section>
|
|
2805
2831
|
* <h3 className="font-semibold mb-2">Contact</h3>
|
|
2806
2832
|
* <p className="text-sm text-muted-foreground">
|
|
2807
2833
|
* Email: info@mycompany.com<br />
|
|
2808
2834
|
* Phone: (555) 123-4567
|
|
2809
2835
|
* </p>
|
|
2810
|
-
* </
|
|
2811
|
-
* <
|
|
2836
|
+
* </section>
|
|
2837
|
+
* <section>
|
|
2812
2838
|
* <h3 className="font-semibold mb-2">Follow Us</h3>
|
|
2813
|
-
* <
|
|
2839
|
+
* <nav className="flex gap-2">
|
|
2814
2840
|
* <a href="#" className="text-muted-foreground hover:text-foreground">Twitter</a>
|
|
2815
2841
|
* <a href="#" className="text-muted-foreground hover:text-foreground">LinkedIn</a>
|
|
2816
|
-
* </
|
|
2817
|
-
* </
|
|
2818
|
-
* </
|
|
2842
|
+
* </nav>
|
|
2843
|
+
* </section>
|
|
2844
|
+
* </section>
|
|
2819
2845
|
* </Footer>
|
|
2820
2846
|
* ```
|
|
2821
2847
|
*
|
|
@@ -2828,10 +2854,13 @@ declare function Header({ logoUrl, logoAlt, logo, navItems, user, onSignOut, onC
|
|
|
2828
2854
|
* - Clear link identification
|
|
2829
2855
|
*
|
|
2830
2856
|
* @dependencies
|
|
2831
|
-
* - React
|
|
2857
|
+
* - React 19+ - Component framework
|
|
2832
2858
|
* - Tailwind CSS - Styling
|
|
2833
2859
|
*/
|
|
2834
2860
|
|
|
2861
|
+
/**
|
|
2862
|
+
* Props for the Footer component.
|
|
2863
|
+
*/
|
|
2835
2864
|
interface FooterProps {
|
|
2836
2865
|
/**
|
|
2837
2866
|
* Company or organization name
|
|
@@ -2930,7 +2959,7 @@ declare const Footer: React__default.NamedExoticComponent<FooterProps>;
|
|
|
2930
2959
|
*
|
|
2931
2960
|
* // User menu in header
|
|
2932
2961
|
* <Header>
|
|
2933
|
-
* <
|
|
2962
|
+
* <nav className="flex items-center gap-4">
|
|
2934
2963
|
* <Navigation />
|
|
2935
2964
|
* <UserMenu
|
|
2936
2965
|
* user={user}
|
|
@@ -2938,7 +2967,7 @@ declare const Footer: React__default.NamedExoticComponent<FooterProps>;
|
|
|
2938
2967
|
* onChangePassword={handlePasswordChange}
|
|
2939
2968
|
* className="ml-auto"
|
|
2940
2969
|
* />
|
|
2941
|
-
* </
|
|
2970
|
+
* </nav>
|
|
2942
2971
|
* </Header>
|
|
2943
2972
|
* ```
|
|
2944
2973
|
*
|
|
@@ -2960,7 +2989,7 @@ declare const Footer: React__default.NamedExoticComponent<FooterProps>;
|
|
|
2960
2989
|
* - Optimized avatar rendering
|
|
2961
2990
|
*
|
|
2962
2991
|
* @dependencies
|
|
2963
|
-
* - React
|
|
2992
|
+
* - React 19+ - Hooks and memo
|
|
2964
2993
|
* - @supabase/supabase-js - User type
|
|
2965
2994
|
* - lucide-react - Icons
|
|
2966
2995
|
* - DropdownMenu components
|
|
@@ -2971,6 +3000,9 @@ declare const Footer: React__default.NamedExoticComponent<FooterProps>;
|
|
|
2971
3000
|
* - Tailwind CSS - Styling
|
|
2972
3001
|
*/
|
|
2973
3002
|
|
|
3003
|
+
/**
|
|
3004
|
+
* Props for the UserMenu component.
|
|
3005
|
+
*/
|
|
2974
3006
|
interface UserMenuProps {
|
|
2975
3007
|
user: User | null;
|
|
2976
3008
|
onSignOut?: () => Promise<void>;
|
|
@@ -2983,6 +3015,10 @@ interface UserMenuProps {
|
|
|
2983
3015
|
declare const UserMenu: React__default.NamedExoticComponent<UserMenuProps>;
|
|
2984
3016
|
|
|
2985
3017
|
type Operation = 'read' | 'create' | 'update' | 'delete' | 'manage';
|
|
3018
|
+
/**
|
|
3019
|
+
* Props for the PaceAppLayout component.
|
|
3020
|
+
* Configures the application layout including navigation, header, and footer.
|
|
3021
|
+
*/
|
|
2986
3022
|
interface PaceAppLayoutProps {
|
|
2987
3023
|
/** The name of the application to be displayed in the header. */
|
|
2988
3024
|
appName: string;
|
|
@@ -3314,7 +3350,7 @@ declare function PaceAppLayout({ appName, navItems, showEventSelector, showOrgSe
|
|
|
3314
3350
|
* - Automatic redirect prevention loops
|
|
3315
3351
|
*
|
|
3316
3352
|
* @dependencies
|
|
3317
|
-
* - React
|
|
3353
|
+
* - React 19+ - Hooks and effects
|
|
3318
3354
|
* - React Router v6 - Navigation
|
|
3319
3355
|
* - UnifiedAuthProvider - Authentication
|
|
3320
3356
|
* - LoginForm component
|
|
@@ -3324,6 +3360,9 @@ declare function PaceAppLayout({ appName, navItems, showEventSelector, showOrgSe
|
|
|
3324
3360
|
* - Tailwind CSS - Styling
|
|
3325
3361
|
*/
|
|
3326
3362
|
|
|
3363
|
+
/**
|
|
3364
|
+
* Props for the PaceLoginPage component.
|
|
3365
|
+
*/
|
|
3327
3366
|
interface PaceLoginPageProps {
|
|
3328
3367
|
/** The name of the application to be displayed on the login form. */
|
|
3329
3368
|
appName: string;
|
|
@@ -3358,6 +3397,9 @@ interface PaceLoginPageProps {
|
|
|
3358
3397
|
*/
|
|
3359
3398
|
declare const PaceLoginPage: React__default.FC<PaceLoginPageProps>;
|
|
3360
3399
|
|
|
3400
|
+
/**
|
|
3401
|
+
* Props for the ProtectedRoute component.
|
|
3402
|
+
*/
|
|
3361
3403
|
interface ProtectedRouteProps {
|
|
3362
3404
|
/**
|
|
3363
3405
|
* Whether an event is required for routes inside this component.
|
|
@@ -3366,13 +3408,6 @@ interface ProtectedRouteProps {
|
|
|
3366
3408
|
* @default true
|
|
3367
3409
|
*/
|
|
3368
3410
|
requireEvent?: boolean;
|
|
3369
|
-
/**
|
|
3370
|
-
* Whether super admins can bypass event requirement.
|
|
3371
|
-
* Note: This feature requires additional RBAC setup. For simple bypass, set requireEvent={false} instead.
|
|
3372
|
-
* @default false
|
|
3373
|
-
* @deprecated Use requireEvent={false} for routes that don't need events
|
|
3374
|
-
*/
|
|
3375
|
-
allowSuperAdminBypass?: boolean;
|
|
3376
3411
|
/**
|
|
3377
3412
|
* Custom component to render when no events are available.
|
|
3378
3413
|
* If not provided, a default message is shown.
|
|
@@ -3405,7 +3440,7 @@ interface ProtectedRouteProps {
|
|
|
3405
3440
|
* @param props - Configuration for route protection
|
|
3406
3441
|
* @returns React element with route protection logic
|
|
3407
3442
|
*/
|
|
3408
|
-
declare function ProtectedRoute({ requireEvent,
|
|
3443
|
+
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;
|
|
3409
3444
|
|
|
3410
3445
|
/**
|
|
3411
3446
|
* State interface for the ErrorBoundary component
|
|
@@ -3442,6 +3477,8 @@ interface ErrorBoundaryProps {
|
|
|
3442
3477
|
enableRetry?: boolean;
|
|
3443
3478
|
/** Whether to enable error reporting */
|
|
3444
3479
|
enableReporting?: boolean;
|
|
3480
|
+
/** Internal: Global error handler from context (not part of public API) */
|
|
3481
|
+
_globalErrorHandler?: (error: Error, errorInfo: React__default.ErrorInfo, errorId: string, componentName: string) => void;
|
|
3445
3482
|
}
|
|
3446
3483
|
/**
|
|
3447
3484
|
* ErrorBoundary component
|
|
@@ -3460,7 +3497,7 @@ interface ErrorBoundaryProps {
|
|
|
3460
3497
|
* </ErrorBoundary>
|
|
3461
3498
|
* ```
|
|
3462
3499
|
*/
|
|
3463
|
-
declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
3500
|
+
declare class ErrorBoundary$1 extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
3464
3501
|
private retryTimeoutId;
|
|
3465
3502
|
constructor(props: ErrorBoundaryProps);
|
|
3466
3503
|
static getDerivedStateFromError(error: Error): Partial<ErrorBoundaryState>;
|
|
@@ -3468,8 +3505,67 @@ declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryS
|
|
|
3468
3505
|
private reportError;
|
|
3469
3506
|
private handleRetry;
|
|
3470
3507
|
componentWillUnmount(): void;
|
|
3471
|
-
render(): string | number | boolean | Iterable<React__default.ReactNode> | react_jsx_runtime.JSX.Element | null | undefined;
|
|
3508
|
+
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;
|
|
3509
|
+
}
|
|
3510
|
+
|
|
3511
|
+
/**
|
|
3512
|
+
* Type definition for the global error handler function
|
|
3513
|
+
* @public
|
|
3514
|
+
*/
|
|
3515
|
+
type GlobalErrorHandler = (error: Error, errorInfo: React__default.ErrorInfo, errorId: string, componentName: string) => void;
|
|
3516
|
+
/**
|
|
3517
|
+
* Props for ErrorBoundaryProvider component
|
|
3518
|
+
* @public
|
|
3519
|
+
*/
|
|
3520
|
+
interface ErrorBoundaryProviderProps {
|
|
3521
|
+
/** Children to wrap with the provider */
|
|
3522
|
+
children: ReactNode;
|
|
3523
|
+
/** Global error handler that will be used by all ErrorBoundary instances unless overridden */
|
|
3524
|
+
defaultErrorHandler?: GlobalErrorHandler;
|
|
3472
3525
|
}
|
|
3526
|
+
/**
|
|
3527
|
+
* Provider component for ErrorBoundary global error handler configuration
|
|
3528
|
+
*
|
|
3529
|
+
* Wrap your application with this provider to set a default error handler that will
|
|
3530
|
+
* be used by all ErrorBoundary instances unless they provide their own onError prop.
|
|
3531
|
+
*
|
|
3532
|
+
* @example
|
|
3533
|
+
* ```tsx
|
|
3534
|
+
* <ErrorBoundaryProvider
|
|
3535
|
+
* defaultErrorHandler={(error, errorInfo, errorId, componentName) => {
|
|
3536
|
+
* errorTracking.captureException(error, {
|
|
3537
|
+
* componentStack: errorInfo.componentStack,
|
|
3538
|
+
* errorBoundary: true,
|
|
3539
|
+
* errorId,
|
|
3540
|
+
* componentName,
|
|
3541
|
+
* });
|
|
3542
|
+
* }}
|
|
3543
|
+
* >
|
|
3544
|
+
* <App />
|
|
3545
|
+
* </ErrorBoundaryProvider>
|
|
3546
|
+
* ```
|
|
3547
|
+
*
|
|
3548
|
+
* @public
|
|
3549
|
+
*/
|
|
3550
|
+
/**
|
|
3551
|
+
* Error boundary provider component.
|
|
3552
|
+
* Provides global error handling configuration to child ErrorBoundary components.
|
|
3553
|
+
*
|
|
3554
|
+
* @param props - Error boundary provider configuration
|
|
3555
|
+
* @returns The error boundary provider
|
|
3556
|
+
*/
|
|
3557
|
+
declare function ErrorBoundaryProvider({ children, defaultErrorHandler, }: ErrorBoundaryProviderProps): react_jsx_runtime.JSX.Element;
|
|
3558
|
+
|
|
3559
|
+
/**
|
|
3560
|
+
* @file Error Boundary exports
|
|
3561
|
+
*/
|
|
3562
|
+
|
|
3563
|
+
/**
|
|
3564
|
+
* ErrorBoundary component with automatic context support
|
|
3565
|
+
* This wrapper automatically uses the global error handler from ErrorBoundaryProvider
|
|
3566
|
+
* if no onError prop is provided.
|
|
3567
|
+
*/
|
|
3568
|
+
declare const ErrorBoundary: React__default.ForwardRefExoticComponent<Omit<ErrorBoundaryProps, "_globalErrorHandler"> & React__default.RefAttributes<ErrorBoundary$1>>;
|
|
3473
3569
|
|
|
3474
3570
|
/**
|
|
3475
3571
|
* @file LoadingSpinner Component
|
|
@@ -3525,7 +3621,7 @@ declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryS
|
|
|
3525
3621
|
* - Efficient rendering
|
|
3526
3622
|
*
|
|
3527
3623
|
* @dependencies
|
|
3528
|
-
* - React
|
|
3624
|
+
* - React 19+ - Component framework
|
|
3529
3625
|
* - Tailwind CSS - Styling and animations
|
|
3530
3626
|
*/
|
|
3531
3627
|
|
|
@@ -3584,7 +3680,7 @@ declare const LoadingSpinner: React__default.FC<LoadingSpinnerProps>;
|
|
|
3584
3680
|
* - High contrast support
|
|
3585
3681
|
*
|
|
3586
3682
|
* @dependencies
|
|
3587
|
-
* - React
|
|
3683
|
+
* - React 19+ - Component framework
|
|
3588
3684
|
* - LoadingSpinner - Spinner component
|
|
3589
3685
|
* - Tailwind CSS - Styling
|
|
3590
3686
|
*/
|
|
@@ -3597,6 +3693,9 @@ interface SessionRestorationLoaderProps {
|
|
|
3597
3693
|
}
|
|
3598
3694
|
declare const SessionRestorationLoader: React__default.FC<SessionRestorationLoaderProps>;
|
|
3599
3695
|
|
|
3696
|
+
/**
|
|
3697
|
+
* Props for the EventSelector component.
|
|
3698
|
+
*/
|
|
3600
3699
|
interface EventSelectorProps {
|
|
3601
3700
|
/** Placeholder text for the dropdown */
|
|
3602
3701
|
placeholder?: string;
|
|
@@ -3631,6 +3730,9 @@ interface EventSelectorProps {
|
|
|
3631
3730
|
*/
|
|
3632
3731
|
declare function EventSelector({ placeholder, className, onEventChange, showNoEventsMessage, showRetryButton, showEventDetails, showNextEventIndicator }: EventSelectorProps): react_jsx_runtime.JSX.Element | null;
|
|
3633
3732
|
|
|
3733
|
+
/**
|
|
3734
|
+
* Props for the OrganisationSelector component.
|
|
3735
|
+
*/
|
|
3634
3736
|
interface OrganisationSelectorProps {
|
|
3635
3737
|
/** Placeholder text for the dropdown */
|
|
3636
3738
|
placeholder?: string;
|
|
@@ -3663,6 +3765,10 @@ interface OrganisationSelectorProps {
|
|
|
3663
3765
|
*/
|
|
3664
3766
|
declare function OrganisationSelector({ placeholder, className, onOrganisationChange, showNoOrganisationsMessage, showRetryButton, showRole, compact, disabled }: OrganisationSelectorProps): react_jsx_runtime.JSX.Element | null;
|
|
3665
3767
|
|
|
3768
|
+
/**
|
|
3769
|
+
* Props for the FileUpload component.
|
|
3770
|
+
* Configures file upload behavior including storage location, validation, and callbacks.
|
|
3771
|
+
*/
|
|
3666
3772
|
interface FileUploadProps {
|
|
3667
3773
|
supabase: SupabaseClient;
|
|
3668
3774
|
table_name: string;
|
|
@@ -3752,8 +3858,22 @@ interface FileDisplayProps {
|
|
|
3752
3858
|
* @param props.category - Optional category filter. When specified, only displays files matching this category and uses single file display variant.
|
|
3753
3859
|
* @returns React element with file display
|
|
3754
3860
|
*/
|
|
3861
|
+
/**
|
|
3862
|
+
* File display component.
|
|
3863
|
+
* Renders files from the file reference system with support for previews, downloads, and public/private access.
|
|
3864
|
+
*
|
|
3865
|
+
* @param props - File display configuration
|
|
3866
|
+
* @returns The rendered file display
|
|
3867
|
+
*/
|
|
3755
3868
|
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;
|
|
3756
3869
|
|
|
3870
|
+
/**
|
|
3871
|
+
* Hook for managing file references.
|
|
3872
|
+
* Provides file upload, retrieval, and URL generation functionality.
|
|
3873
|
+
*
|
|
3874
|
+
* @param supabase - Supabase client instance
|
|
3875
|
+
* @returns File reference service with upload, get, and URL methods
|
|
3876
|
+
*/
|
|
3757
3877
|
declare function useFileReference(supabase: SupabaseClient): {
|
|
3758
3878
|
isLoading: boolean;
|
|
3759
3879
|
error: string | null;
|
|
@@ -3820,6 +3940,9 @@ type UseFileReferenceOptions = {
|
|
|
3820
3940
|
record_id: string;
|
|
3821
3941
|
organisation_id: string;
|
|
3822
3942
|
};
|
|
3943
|
+
/**
|
|
3944
|
+
* Return value of the useFileReference hook.
|
|
3945
|
+
*/
|
|
3823
3946
|
type UseFileReferenceReturn = {
|
|
3824
3947
|
isLoading: boolean;
|
|
3825
3948
|
error: string | null;
|
|
@@ -3833,6 +3956,9 @@ type UseFileReferenceReturn = {
|
|
|
3833
3956
|
getFileCount: (table_name: string, record_id: string, organisation_id: string) => Promise<number>;
|
|
3834
3957
|
clearError: () => void;
|
|
3835
3958
|
};
|
|
3959
|
+
/**
|
|
3960
|
+
* Return value of the useFileReferenceForRecord hook.
|
|
3961
|
+
*/
|
|
3836
3962
|
type UseFileReferenceForRecordReturn = {
|
|
3837
3963
|
isLoading: boolean;
|
|
3838
3964
|
error: string | null;
|
|
@@ -3936,7 +4062,7 @@ type UseFileReferenceForRecordReturn = {
|
|
|
3936
4062
|
* - Caption for table description
|
|
3937
4063
|
*
|
|
3938
4064
|
* @dependencies
|
|
3939
|
-
* - React
|
|
4065
|
+
* - React 19+ - Hooks and refs
|
|
3940
4066
|
* - Tailwind CSS - Styling
|
|
3941
4067
|
*/
|
|
3942
4068
|
|
|
@@ -3980,8 +4106,6 @@ interface PublicPageLayoutProps {
|
|
|
3980
4106
|
refetch?: () => Promise<void> | void;
|
|
3981
4107
|
/** Whether to show the footer (default: true) */
|
|
3982
4108
|
showFooter?: boolean;
|
|
3983
|
-
/** @deprecated Custom CSS classes for the layout - no longer used as wrapper div was removed */
|
|
3984
|
-
className?: string;
|
|
3985
4109
|
/** Custom error fallback component */
|
|
3986
4110
|
errorFallback?: React__default.ComponentType<{
|
|
3987
4111
|
error: Error;
|
|
@@ -4053,7 +4177,7 @@ declare function PublicPageFooter({ event, companyName, year, links, className,
|
|
|
4053
4177
|
* @param props - Layout configuration and content
|
|
4054
4178
|
* @returns React element with complete public page layout
|
|
4055
4179
|
*/
|
|
4056
|
-
declare function PublicPageLayout({ eventCode, children, event, isLoading, error, refetch, showFooter,
|
|
4180
|
+
declare function PublicPageLayout({ eventCode, children, event, isLoading, error, refetch, showFooter, errorFallback: ErrorFallback, loadingFallback: LoadingFallback, customHeader, customFooter, showValidationErrors, loadingMessage }: PublicPageLayoutProps): react_jsx_runtime.JSX.Element;
|
|
4057
4181
|
|
|
4058
4182
|
interface PublicPageContextType {
|
|
4059
4183
|
isPublicPage: true;
|
|
@@ -4093,4 +4217,4 @@ declare function usePublicPageContext(): PublicPageContextType;
|
|
|
4093
4217
|
*/
|
|
4094
4218
|
declare function useIsPublicPage(): boolean;
|
|
4095
4219
|
|
|
4096
|
-
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,
|
|
4220
|
+
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, OrganisationSelector as aS, type OrganisationSelectorProps 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, EventSelector as b2, FileUpload as b3, type FileUploadProps as b4, FileDisplay as b5, type FileDisplayProps as b6, useFileReference as b7, useFileReferenceForRecord as b8, useFileReferenceById as b9, useFilesByCategory as ba, type UseFileReferenceOptions as bb, type UseFileReferenceReturn as bc, type UseFileReferenceForRecordReturn as bd, PublicPageLayout as be, PublicPageHeader as bf, PublicPageFooter as bg, PublicPageProvider as bh, usePublicPageContext as bi, useIsPublicPage as bj, type PublicPageLayoutProps as bk, type PublicPageHeaderProps as bl, type PublicPageFooterProps as bm, type PaceAppLayoutProps as bn, PaceAppLayout as bo, type PaceLoginPageProps as bp, PaceLoginPage as bq, type NavigationMode as br, type UserMenuProps as bs, PasswordChangeForm as bt, 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 };
|