@jmruthers/pace-core 0.5.76 → 0.5.78
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 +8 -0
- package/dist/{RBACService-C4udt_Zp.d.ts → AuthService-Df3IozMG.d.ts} +10 -118
- package/dist/{DataTable-ntgmhO2W.d.ts → DataTable-BE0OXZKQ.d.ts} +9 -2
- package/dist/{DataTable-4GAVPIEG.js → DataTable-ETGVF4Y5.js} +50 -13
- package/dist/{PublicLoadingSpinner-BiNER8F5.d.ts → PublicLoadingSpinner-CnUaz0vG.d.ts} +5 -2
- package/dist/{UnifiedAuthProvider-Bj6YCf7c.d.ts → UnifiedAuthProvider-B391Aqum.d.ts} +42 -45
- package/dist/{UnifiedAuthProvider-3NKDOSOK.js → UnifiedAuthProvider-P5SOJAQ6.js} +4 -5
- package/dist/{api-DDMUKIUD.js → api-KG4A2X7P.js} +9 -3
- package/dist/{audit-6TOCAMKO.js → audit-65VNHEV2.js} +2 -2
- package/dist/{chunk-K34IM5CT.js → chunk-2OGV6IRV.js} +196 -626
- package/dist/chunk-2OGV6IRV.js.map +1 -0
- package/dist/{chunk-NTNILOBC.js → chunk-5BO3MI5Y.js} +4 -4
- package/dist/{chunk-XLZ7U46Z.js → chunk-CVMVPYAL.js} +9 -60
- package/dist/chunk-CVMVPYAL.js.map +1 -0
- package/dist/{chunk-URUTVZ7N.js → chunk-FL4ZCQLD.js} +2 -2
- package/dist/{chunk-LW7MMEAQ.js → chunk-FT2M4R4F.js} +2 -2
- package/dist/{chunk-5BSLGBYI.js → chunk-JCQZ6LA7.js} +2 -8
- package/dist/{chunk-5BSLGBYI.js.map → chunk-JCQZ6LA7.js.map} +1 -1
- package/dist/{chunk-KHJS6VIA.js → chunk-LRQ6RBJC.js} +157 -112
- package/dist/chunk-LRQ6RBJC.js.map +1 -0
- package/dist/{chunk-WN6XJWOS.js → chunk-MNJXXD6C.js} +274 -743
- package/dist/chunk-MNJXXD6C.js.map +1 -0
- package/dist/{chunk-KK73ZB4E.js → chunk-PTR5PMPE.js} +153 -132
- package/dist/chunk-PTR5PMPE.js.map +1 -0
- package/dist/{chunk-B2WTCLCV.js → chunk-Q7APDV6H.js} +18 -8
- package/dist/chunk-Q7APDV6H.js.map +1 -0
- package/dist/{chunk-A4FUBC7B.js → chunk-QGVSOUJ2.js} +2 -4
- package/dist/{chunk-A4FUBC7B.js.map → chunk-QGVSOUJ2.js.map} +1 -1
- package/dist/{chunk-FGMFQSHX.js → chunk-S63MFSY6.js} +500 -551
- package/dist/chunk-S63MFSY6.js.map +1 -0
- package/dist/{chunk-AFGTSUAD.js → chunk-VSOKOFRF.js} +4 -4
- package/dist/chunk-WUXCWRL6.js +20 -0
- package/dist/chunk-WUXCWRL6.js.map +1 -0
- package/dist/{chunk-Y6TXWPJO.js → chunk-YVVGHRGI.js} +105 -31
- package/dist/chunk-YVVGHRGI.js.map +1 -0
- package/dist/{chunk-M5IWZRBT.js → chunk-ZMNXIJP4.js} +2187 -981
- package/dist/chunk-ZMNXIJP4.js.map +1 -0
- package/dist/components.d.ts +6 -6
- package/dist/components.js +14 -18
- package/dist/components.js.map +1 -1
- package/dist/{database-C3Szpi5J.d.ts → database-BXAfr2Y_.d.ts} +18 -0
- package/dist/hooks.d.ts +5 -5
- package/dist/hooks.js +8 -9
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +19 -27
- package/dist/index.js +21 -29
- package/dist/index.js.map +1 -1
- package/dist/{organisation-BtshODVF.d.ts → organisation-D6qRDtbF.d.ts} +1 -1
- package/dist/providers.d.ts +7 -21
- package/dist/providers.js +3 -10
- package/dist/rbac/index.d.ts +71 -221
- package/dist/rbac/index.js +15 -16
- package/dist/{types-CGX9Vyf5.d.ts → types-BDg1mAGG.d.ts} +36 -6
- package/dist/types.d.ts +3 -3
- package/dist/types.js +61 -18
- package/dist/types.js.map +1 -1
- package/dist/{unified-CM7T0aTK.d.ts → unified-DQ4VcT7H.d.ts} +1 -1
- package/dist/{usePublicRouteParams-B-CumWRc.d.ts → usePublicRouteParams-BlgwXweB.d.ts} +3 -3
- package/dist/utils.d.ts +2 -2
- package/dist/utils.js +52 -9
- package/dist/utils.js.map +1 -1
- package/docs/CONTENT_AUDIT_REPORT.md +253 -0
- package/docs/DOCUMENTATION_AUDIT.md +172 -0
- package/docs/README.md +142 -147
- package/docs/STYLE_GUIDE.md +37 -0
- package/docs/api/classes/ColumnFactory.md +17 -17
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.md +4 -4
- package/docs/api/classes/MissingUserContextError.md +4 -4
- package/docs/api/classes/OrganisationContextRequiredError.md +4 -4
- package/docs/api/classes/PermissionDeniedError.md +5 -5
- package/docs/api/classes/PublicErrorBoundary.md +1 -1
- package/docs/api/classes/RBACAuditManager.md +8 -8
- package/docs/api/classes/RBACCache.md +35 -5
- package/docs/api/classes/RBACEngine.md +49 -20
- package/docs/api/classes/RBACError.md +4 -4
- package/docs/api/classes/RBACNotInitializedError.md +4 -4
- package/docs/api/classes/SecureSupabaseClient.md +1 -1
- package/docs/api/classes/StorageUtils.md +1 -1
- package/docs/api/enums/FileCategory.md +1 -1
- package/docs/api/interfaces/AggregateConfig.md +4 -4
- package/docs/api/interfaces/ButtonProps.md +1 -1
- package/docs/api/interfaces/CardProps.md +1 -1
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +1 -1
- package/docs/api/interfaces/DataRecord.md +11 -0
- package/docs/api/interfaces/DataTableAction.md +65 -29
- package/docs/api/interfaces/DataTableColumn.md +36 -23
- package/docs/api/interfaces/DataTableProps.md +80 -38
- package/docs/api/interfaces/DataTableToolbarButton.md +7 -7
- package/docs/api/interfaces/EmptyStateConfig.md +5 -5
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/EventLogoProps.md +1 -1
- 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 +1 -1
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
- package/docs/api/interfaces/InputProps.md +1 -1
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +11 -11
- package/docs/api/interfaces/NavigationContextType.md +9 -9
- package/docs/api/interfaces/NavigationGuardProps.md +1 -1
- package/docs/api/interfaces/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/NavigationProviderProps.md +7 -7
- 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 +1 -1
- package/docs/api/interfaces/PaceLoginPageProps.md +16 -3
- package/docs/api/interfaces/PageAccessRecord.md +1 -1
- package/docs/api/interfaces/PagePermissionContextType.md +1 -1
- package/docs/api/interfaces/PagePermissionGuardProps.md +2 -2
- package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +4 -4
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
- package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
- package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
- package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +2 -2
- package/docs/api/interfaces/RouteConfig.md +2 -2
- package/docs/api/interfaces/SecureDataContextType.md +1 -1
- package/docs/api/interfaces/SecureDataProviderProps.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/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +94 -521
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +16 -16
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +11 -11
- package/docs/api/interfaces/UserMenuProps.md +1 -1
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +251 -269
- package/docs/api-reference/components.md +193 -0
- package/docs/api-reference/hooks.md +265 -0
- package/docs/api-reference/providers.md +6 -0
- package/docs/api-reference/types.md +6 -0
- package/docs/api-reference/utilities.md +207 -0
- package/docs/architecture/README.md +6 -0
- package/docs/{database-schema-requirements.md → architecture/database-schema-requirements.md} +6 -0
- package/docs/architecture/rbac-security-architecture.md +258 -0
- package/docs/architecture/services.md +9 -1
- package/docs/best-practices/README.md +6 -0
- package/docs/best-practices/accessibility.md +6 -0
- package/docs/{common-patterns.md → best-practices/common-patterns.md} +6 -0
- package/docs/best-practices/deployment.md +6 -0
- package/docs/best-practices/performance.md +475 -2
- package/docs/best-practices/security.md +6 -0
- package/docs/best-practices/testing.md +6 -0
- package/docs/core-concepts/authentication.md +6 -0
- package/docs/core-concepts/events.md +6 -0
- package/docs/core-concepts/organisations.md +6 -0
- package/docs/core-concepts/permissions.md +6 -0
- package/docs/core-concepts/rbac-system.md +8 -0
- package/docs/documentation-index.md +121 -182
- package/docs/{consuming-app-vite-config.md → getting-started/consuming-app-vite-config.md} +6 -0
- package/docs/getting-started/documentation-index.md +40 -0
- package/docs/getting-started/examples/README.md +878 -35
- package/docs/{faq.md → getting-started/faq.md} +7 -1
- package/docs/getting-started/installation-guide.md +6 -0
- package/docs/{quick-reference.md → getting-started/quick-reference.md} +6 -0
- package/docs/implementation-guides/app-layout.md +6 -0
- package/docs/implementation-guides/authentication.md +1021 -0
- package/docs/implementation-guides/component-styling.md +6 -0
- package/docs/implementation-guides/data-tables.md +1264 -2076
- package/docs/implementation-guides/dynamic-colors.md +6 -0
- package/docs/implementation-guides/event-theming-summary.md +6 -0
- package/docs/{file-reference-system.md → implementation-guides/file-reference-system.md} +6 -0
- package/docs/implementation-guides/file-upload-storage.md +6 -0
- package/docs/implementation-guides/forms.md +6 -0
- package/docs/implementation-guides/inactivity-tracking.md +6 -0
- package/docs/implementation-guides/navigation.md +6 -0
- package/docs/implementation-guides/organisation-security.md +6 -0
- package/docs/implementation-guides/permission-enforcement.md +6 -0
- package/docs/implementation-guides/public-pages-advanced.md +6 -0
- package/docs/implementation-guides/public-pages.md +6 -0
- package/docs/migration/MIGRATION_GUIDE.md +827 -351
- package/docs/migration/README.md +7 -1
- package/docs/migration/organisation-context-timing-fix.md +6 -0
- package/docs/migration/rbac-migration.md +44 -1
- package/docs/migration/service-architecture.md +6 -0
- package/docs/migration/v0.4.15-tailwind-scanning.md +6 -0
- package/docs/migration/v0.4.16-css-first-approach.md +6 -0
- package/docs/migration/v0.4.17-source-path-fix.md +6 -0
- package/docs/rbac/README-rbac-rls-integration.md +6 -0
- package/docs/rbac/README.md +6 -0
- package/docs/rbac/advanced-patterns.md +6 -0
- package/docs/rbac/api-reference.md +7 -1
- package/docs/rbac/breaking-changes-v3.md +222 -0
- package/docs/rbac/examples/rbac-rls-integration-example.md +6 -0
- package/docs/rbac/examples.md +6 -0
- package/docs/rbac/getting-started.md +6 -0
- package/docs/rbac/migration-guide.md +260 -0
- package/docs/rbac/quick-start.md +70 -13
- package/docs/rbac/rbac-rls-integration.md +6 -0
- package/docs/rbac/super-admin-guide.md +6 -0
- package/docs/rbac/troubleshooting.md +6 -0
- package/docs/security/README.md +6 -0
- package/docs/security/checklist.md +6 -0
- package/docs/styles/README.md +7 -1
- package/docs/{usage.md → styles/usage.md} +6 -0
- package/docs/testing/README.md +6 -0
- package/docs/{visual-testing.md → testing/visual-testing.md} +6 -0
- package/docs/troubleshooting/README.md +387 -5
- package/docs/troubleshooting/cake-page-permission-guard-issue-summary.md +6 -0
- package/docs/troubleshooting/common-issues.md +6 -0
- package/docs/troubleshooting/database-view-compatibility.md +6 -0
- package/docs/troubleshooting/organisation-context-setup.md +6 -0
- package/docs/troubleshooting/react-hooks-issue-analysis.md +6 -0
- package/docs/troubleshooting/styling-issues.md +6 -0
- package/docs/troubleshooting/tailwind-content-scanning.md +6 -0
- package/package.json +1 -1
- package/src/__tests__/helpers/__tests__/test-providers.test.tsx +2 -1
- package/src/__tests__/helpers/test-providers.tsx +3 -53
- package/src/components/DataTable/DataTable.test.tsx +319 -0
- package/src/components/DataTable/DataTable.tsx +32 -11
- package/src/components/DataTable/__tests__/{DataTable.comprehensive.test.tsx → DataTable.comprehensive.test.tsx.skip} +6 -4
- package/src/components/DataTable/__tests__/{DataTable.test.tsx → DataTable.test.tsx.skip} +6 -4
- package/src/components/DataTable/__tests__/DataTableCore.test.tsx +31 -9
- package/src/components/DataTable/__tests__/a11y.basic.test.tsx +601 -0
- package/src/components/DataTable/__tests__/keyboard.test.tsx +615 -0
- package/src/components/DataTable/__tests__/pagination.modes.test.tsx +639 -0
- package/src/components/DataTable/__tests__/ssr.strict-mode.test.tsx.skip +330 -0
- package/src/components/DataTable/components/AccessDeniedPage.tsx +2 -2
- package/src/components/DataTable/components/ActionButtons.tsx +88 -104
- package/src/components/DataTable/components/DataTableCore.tsx +309 -337
- package/src/components/DataTable/components/DataTableErrorBoundary.tsx +4 -2
- package/src/components/DataTable/components/DataTableModals.tsx +22 -1
- package/src/components/DataTable/components/EditableRow.tsx +69 -84
- package/src/components/DataTable/components/EmptyState.tsx +5 -1
- package/src/components/DataTable/components/ImportModal.tsx +65 -36
- package/src/components/DataTable/components/PaginationControls.tsx +40 -100
- package/src/components/DataTable/components/UnifiedTableBody.tsx +125 -148
- package/src/components/DataTable/context/DataTableContext.tsx +1 -1
- package/src/components/DataTable/core/ColumnFactory.ts +5 -0
- package/src/components/DataTable/examples/HierarchicalActionsExample.tsx +12 -10
- package/src/components/DataTable/examples/HierarchicalExample.tsx +1 -1
- package/src/components/DataTable/examples/InitialPageSizeExample.tsx +1 -0
- package/src/components/DataTable/examples/PerformanceExample.tsx +1 -0
- package/src/components/DataTable/hooks/__tests__/useColumnOrderPersistence.test.ts +1 -5
- package/src/components/DataTable/hooks/__tests__/useColumnVisibilityPersistence.test.ts +167 -0
- package/src/components/DataTable/hooks/index.ts +7 -0
- package/src/components/DataTable/hooks/useColumnOrderPersistence.ts +32 -15
- package/src/components/DataTable/hooks/useColumnVisibilityPersistence.ts +102 -0
- package/src/components/DataTable/hooks/useDataTableConfiguration.ts +89 -0
- package/src/components/DataTable/hooks/useDataTableDataPipeline.ts +117 -0
- package/src/components/DataTable/hooks/useDataTablePermissions.ts +71 -27
- package/src/components/DataTable/hooks/useDataTableState.ts +39 -11
- package/src/components/DataTable/hooks/useEffectiveColumnOrder.ts +33 -0
- package/src/components/DataTable/hooks/useHierarchicalState.ts +15 -1
- package/src/components/DataTable/hooks/useKeyboardNavigation.ts +447 -0
- package/src/components/DataTable/hooks/useServerSideDataEffect.ts +94 -0
- package/src/components/DataTable/hooks/useTableColumns.ts +10 -7
- package/src/components/DataTable/hooks/useTableHandlers.ts +174 -0
- package/src/components/DataTable/index.ts +12 -3
- package/src/components/DataTable/types.ts +129 -9
- package/src/components/DataTable/utils/__tests__/exportUtils.test.ts +159 -22
- package/src/components/DataTable/utils/__tests__/flexibleImport.test.ts +111 -0
- package/src/components/DataTable/utils/__tests__/rowUtils.test.ts +15 -29
- package/src/components/DataTable/utils/a11yUtils.ts +244 -0
- package/src/components/DataTable/utils/debugTools.ts +609 -0
- package/src/components/DataTable/utils/exportUtils.ts +114 -16
- package/src/components/DataTable/utils/flexibleImport.ts +202 -32
- package/src/components/DataTable/utils/hierarchicalUtils.ts +1 -1
- package/src/components/DataTable/utils/index.ts +2 -0
- package/src/components/DataTable/utils/paginationUtils.ts +350 -0
- package/src/components/DataTable/utils/rowUtils.ts +6 -5
- package/src/components/NavigationMenu/NavigationMenu.test.tsx +19 -24
- package/src/components/NavigationMenu/NavigationMenu.tsx +19 -8
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.security.test.tsx +1 -23
- package/src/components/PaceLoginPage/PaceLoginPage.test.tsx +56 -6
- package/src/components/PaceLoginPage/PaceLoginPage.tsx +137 -13
- package/src/components/PublicLayout/__tests__/PublicPageHeader.test.tsx +1 -1
- package/src/components/Select/Select.tsx +1 -0
- package/src/components/examples/PermissionExample.tsx +173 -0
- package/src/examples/CorrectPublicPageImplementation.tsx +301 -0
- package/src/examples/PublicEventPage.tsx +274 -0
- package/src/examples/PublicPageApp.tsx +308 -0
- package/src/examples/PublicPageUsageExample.tsx +216 -0
- package/src/hooks/__tests__/useOrganisationPermissions.unit.test.tsx +12 -1
- package/src/hooks/__tests__/useOrganisationSecurity.unit.test.tsx +129 -17
- package/src/hooks/__tests__/useRBAC.unit.test.ts +151 -846
- package/src/hooks/useOrganisationPermissions.test.ts +42 -18
- package/src/hooks/useOrganisationPermissions.ts +12 -6
- package/src/hooks/useOrganisationSecurity.test.ts +138 -85
- package/src/hooks/useOrganisationSecurity.ts +41 -10
- package/src/index.ts +0 -1
- package/src/providers/AuthProvider.simplified.tsx +880 -0
- package/src/providers/UnifiedAuthProvider.test.simple.tsx +8 -8
- package/src/providers/__tests__/UnifiedAuthProvider.test.tsx +29 -19
- package/src/providers/index.ts +0 -1
- package/src/providers/services/EventServiceProvider.tsx +19 -15
- package/src/providers/services/InactivityServiceProvider.tsx +19 -15
- package/src/providers/services/OrganisationServiceProvider.tsx +19 -15
- package/src/providers/services/UnifiedAuthProvider.tsx +156 -127
- package/src/providers/services/__tests__/AuthServiceProvider.integration.test.tsx +1 -1
- package/src/providers/services/__tests__/UnifiedAuthProvider.integration.test.tsx +3 -3
- package/src/rbac/README.md +1 -1
- package/src/rbac/__tests__/adapters.comprehensive.test.tsx +25 -27
- package/src/rbac/__tests__/auth-rbac-security.integration.test.tsx +313 -0
- package/src/rbac/__tests__/engine.comprehensive.test.ts +114 -348
- package/src/rbac/__tests__/rbac-engine-core-logic.test.ts +28 -110
- package/src/rbac/__tests__/rbac-engine-simplified.test.ts +33 -85
- package/src/rbac/__tests__/scenarios.user-role.test.tsx +2 -2
- package/src/rbac/adapters.tsx +26 -69
- package/src/rbac/api.test.ts +90 -27
- package/src/rbac/api.ts +61 -10
- package/src/rbac/audit.test.ts +33 -38
- package/src/rbac/audit.ts +21 -6
- package/src/rbac/cache.ts +33 -1
- package/src/rbac/components/NavigationGuard.tsx +11 -11
- package/src/rbac/components/NavigationProvider.test.tsx +11 -5
- package/src/rbac/components/NavigationProvider.tsx +37 -13
- package/src/rbac/components/PagePermissionGuard.tsx +111 -50
- package/src/rbac/components/PagePermissionProvider.tsx +5 -5
- package/src/rbac/components/PermissionEnforcer.tsx +11 -11
- package/src/rbac/components/RoleBasedRouter.tsx +5 -5
- package/src/rbac/components/SecureDataProvider.tsx +5 -5
- package/src/rbac/components/__tests__/NavigationGuard.test.tsx +8 -8
- package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +14 -14
- package/src/rbac/components/__tests__/PermissionEnforcer.test.tsx +12 -12
- package/src/rbac/components/__tests__/RoleBasedRouter.test.tsx +6 -6
- package/src/rbac/engine.test.simple.ts +19 -13
- package/src/rbac/engine.test.ts +1 -0
- package/src/rbac/engine.ts +330 -766
- package/src/rbac/errors.ts +156 -0
- package/src/rbac/hooks/usePermissions.ts +32 -10
- package/src/rbac/hooks/useRBAC.test.ts +126 -512
- package/src/rbac/hooks/useRBAC.ts +147 -193
- package/src/rbac/hooks/useResolvedScope.ts +12 -0
- package/src/rbac/index.ts +7 -4
- package/src/rbac/security.ts +109 -18
- package/src/rbac/types.ts +12 -1
- package/src/services/AuthService.ts +2 -15
- package/src/services/EventService.ts +43 -46
- package/src/services/OrganisationService.ts +51 -31
- package/src/services/__tests__/AuthService.test.ts +1 -1
- package/src/services/__tests__/EventService.test.ts +1 -1
- package/src/services/__tests__/OrganisationService.test.ts +1 -1
- package/src/services/base/BaseService.ts +8 -0
- package/src/styles/base.css +208 -0
- package/src/styles/semantic.css +24 -0
- package/src/types/database.generated.ts +7347 -0
- package/src/types/database.ts +20 -0
- package/src/utils/logger.ts +179 -0
- package/src/utils/organisationContext.ts +11 -4
- package/src/utils/storage/__tests__/helpers.unit.test.ts +6 -2
- package/dist/appNameResolver-UURKN7NF.js +0 -22
- package/dist/audit-6TOCAMKO.js.map +0 -1
- package/dist/chunk-B2WTCLCV.js.map +0 -1
- package/dist/chunk-FGMFQSHX.js.map +0 -1
- package/dist/chunk-K34IM5CT.js.map +0 -1
- package/dist/chunk-KHJS6VIA.js.map +0 -1
- package/dist/chunk-KK73ZB4E.js.map +0 -1
- package/dist/chunk-M5IWZRBT.js.map +0 -1
- package/dist/chunk-ULBI5JGB.js +0 -109
- package/dist/chunk-ULBI5JGB.js.map +0 -1
- package/dist/chunk-WN6XJWOS.js.map +0 -1
- package/dist/chunk-XLZ7U46Z.js.map +0 -1
- package/dist/chunk-Y6TXWPJO.js.map +0 -1
- package/docs/DOCUMENTATION_CHECKLIST.md +0 -281
- package/docs/TERMINOLOGY.md +0 -231
- package/docs/api/interfaces/RBACContextType.md +0 -468
- package/docs/api/interfaces/RBACProviderProps.md +0 -107
- package/docs/best-practices/performance-expansion.md +0 -473
- package/docs/breaking-changes.md +0 -179
- package/docs/consuming-app-example.md +0 -290
- package/docs/documentation-templates.md +0 -539
- package/docs/examples/navigation-menu-auth-fix.md +0 -344
- package/docs/getting-started/examples/basic-auth-app.md +0 -520
- package/docs/getting-started/examples/full-featured-app.md +0 -616
- package/docs/getting-started/quick-start.md +0 -376
- package/docs/implementation-guides/datatable-filtering.md +0 -313
- package/docs/implementation-guides/datatable-rbac-usage.md +0 -317
- package/docs/implementation-guides/hierarchical-datatable.md +0 -850
- package/docs/implementation-guides/large-datasets.md +0 -281
- package/docs/implementation-guides/performance.md +0 -403
- package/docs/migration/quick-migration-guide.md +0 -320
- package/docs/migration-guide.md +0 -193
- package/docs/migration-guides/unified-auth-provider-mandatory-timeouts.md +0 -226
- package/docs/performance/README.md +0 -551
- package/docs/style-guide.md +0 -964
- package/docs/troubleshooting/authentication-issues.md +0 -334
- package/docs/troubleshooting/debugging.md +0 -1117
- package/docs/troubleshooting/migration.md +0 -918
- package/src/__tests__/hooks/usePermissions.test.ts +0 -261
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.rbac.test.tsx +0 -574
- package/src/hooks/__tests__/ServiceHooks.test.tsx +0 -613
- package/src/hooks/services/__tests__/useServiceHooks.test.tsx +0 -137
- package/src/hooks/services/usePermissions.ts +0 -70
- package/src/hooks/services/useRBACService.ts +0 -30
- package/src/hooks/usePermissionCheck.ts +0 -150
- package/src/providers/__tests__/ServiceProviders.test.tsx +0 -477
- package/src/providers/services/RBACServiceProvider.tsx +0 -79
- package/src/rbac/__tests__/integration.authflow.test.tsx +0 -119
- package/src/rbac/__tests__/integration.navigation.test.tsx +0 -69
- package/src/rbac/__tests__/integration.securedata.test.tsx +0 -92
- package/src/rbac/__tests__/integration.smoke.test.tsx +0 -73
- package/src/rbac/providers/RBACProvider.tsx +0 -645
- package/src/rbac/providers/__tests__/RBACProvider.integration.test.tsx +0 -688
- package/src/rbac/providers/__tests__/RBACProvider.test.tsx +0 -1186
- package/src/rbac/providers/index.ts +0 -11
- package/src/services/RBACService.ts +0 -522
- package/src/services/__tests__/RBACService.test.ts +0 -492
- package/src/services/interfaces/IRBACService.ts +0 -62
- package/src/utils/appNameResolver.test 2.ts +0 -494
- /package/dist/{DataTable-4GAVPIEG.js.map → DataTable-ETGVF4Y5.js.map} +0 -0
- /package/dist/{UnifiedAuthProvider-3NKDOSOK.js.map → UnifiedAuthProvider-P5SOJAQ6.js.map} +0 -0
- /package/dist/{api-DDMUKIUD.js.map → api-KG4A2X7P.js.map} +0 -0
- /package/dist/{appNameResolver-UURKN7NF.js.map → audit-65VNHEV2.js.map} +0 -0
- /package/dist/{chunk-NTNILOBC.js.map → chunk-5BO3MI5Y.js.map} +0 -0
- /package/dist/{chunk-URUTVZ7N.js.map → chunk-FL4ZCQLD.js.map} +0 -0
- /package/dist/{chunk-LW7MMEAQ.js.map → chunk-FT2M4R4F.js.map} +0 -0
- /package/dist/{chunk-AFGTSUAD.js.map → chunk-VSOKOFRF.js.map} +0 -0
- /package/docs/{app.css.example → styles/app.css.example} +0 -0
|
@@ -1,539 +0,0 @@
|
|
|
1
|
-
# PACE Core Documentation Templates
|
|
2
|
-
|
|
3
|
-
> **📝 For Contributors** | [← Documentation Home](./README.md) | [Style Guide](./style-guide.md)
|
|
4
|
-
|
|
5
|
-
Standard templates for creating consistent, high-quality PACE Core documentation.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Navigation Template
|
|
10
|
-
|
|
11
|
-
Use this pattern at the top of every documentation file:
|
|
12
|
-
|
|
13
|
-
```markdown
|
|
14
|
-
# [Page Title]
|
|
15
|
-
|
|
16
|
-
> **📚 Topic Category**: Description | [← Back](./README.md) | [Next: Related Topic →](./next-topic.md)
|
|
17
|
-
|
|
18
|
-
[Brief one-sentence description of what this page covers]
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
### Example
|
|
22
|
-
|
|
23
|
-
```markdown
|
|
24
|
-
# DataTable Component Guide
|
|
25
|
-
|
|
26
|
-
> **📚 Implementation Guide**: Interactive data management | [← Back to Docs](./README.md) | [Next: Forms →](./forms.md)
|
|
27
|
-
|
|
28
|
-
Complete guide to implementing interactive data tables with sorting, filtering, and pagination.
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Standard File Header Template
|
|
34
|
-
|
|
35
|
-
Every documentation file should start with this header:
|
|
36
|
-
|
|
37
|
-
```markdown
|
|
38
|
-
# [Feature Name]
|
|
39
|
-
|
|
40
|
-
> **📚 Topic**: [When to use this] | [← Back](./README.md) | [API Reference](./api-reference/components.md)
|
|
41
|
-
|
|
42
|
-
**[One-paragraph overview of the feature and its purpose]**
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
**Last Updated**: 2025-02-08 | **Version**: v0.5.65+
|
|
47
|
-
|
|
48
|
-
## Quick Summary
|
|
49
|
-
|
|
50
|
-
- **Purpose**: [What problem this solves]
|
|
51
|
-
- **Use Case**: [When to use this]
|
|
52
|
-
- **Prerequisites**: [What you need to know first]
|
|
53
|
-
- **Time Required**: [Estimated implementation time]
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## Code Example Template
|
|
59
|
-
|
|
60
|
-
Every code example must include these elements:
|
|
61
|
-
|
|
62
|
-
```tsx
|
|
63
|
-
// ✅ Complete Example Template
|
|
64
|
-
// 1. All imports at the top
|
|
65
|
-
import React, { useState, useEffect } from 'react';
|
|
66
|
-
import { Button, DataTable, Card } from '@jmruthers/pace-core';
|
|
67
|
-
|
|
68
|
-
// 2. TypeScript interfaces/types
|
|
69
|
-
interface User {
|
|
70
|
-
id: string;
|
|
71
|
-
name: string;
|
|
72
|
-
email: string;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// 3. Complete component with error handling
|
|
76
|
-
function UserList() {
|
|
77
|
-
const [users, setUsers] = useState<User[]>([]);
|
|
78
|
-
const [loading, setLoading] = useState(true);
|
|
79
|
-
const [error, setError] = useState<string | null>(null);
|
|
80
|
-
|
|
81
|
-
useEffect(() => {
|
|
82
|
-
// Data fetching logic with error handling
|
|
83
|
-
fetchUsers()
|
|
84
|
-
.then(setUsers)
|
|
85
|
-
.catch((err) => setError(err.message))
|
|
86
|
-
.finally(() => setLoading(false));
|
|
87
|
-
}, []);
|
|
88
|
-
|
|
89
|
-
// Error handling
|
|
90
|
-
if (error) return <div>Error: {error}</div>;
|
|
91
|
-
if (loading) return <div>Loading...</div>;
|
|
92
|
-
|
|
93
|
-
// Complete component implementation
|
|
94
|
-
return (
|
|
95
|
-
<div>
|
|
96
|
-
<h1>Users</h1>
|
|
97
|
-
<DataTable data={users} columns={[]} />
|
|
98
|
-
</div>
|
|
99
|
-
);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
export default UserList;
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### Required Elements Checklist
|
|
106
|
-
|
|
107
|
-
- [ ] **All imports included** - Every import statement shown
|
|
108
|
-
- [ ] **TypeScript types** - Proper interface/type definitions
|
|
109
|
-
- [ ] **Error handling** - Shows how to handle errors
|
|
110
|
-
- [ ] **Loading states** - Shows loading state handling
|
|
111
|
-
- [ ] **Complete implementation** - Runnable, working code
|
|
112
|
-
- [ ] **Comments** - Explains complex logic
|
|
113
|
-
- [ ] **Realistic data** - Uses meaningful example data
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
## Section Organization Template
|
|
118
|
-
|
|
119
|
-
Every guide should follow this structure:
|
|
120
|
-
|
|
121
|
-
```markdown
|
|
122
|
-
# [Feature Name]
|
|
123
|
-
|
|
124
|
-
[Header - see above]
|
|
125
|
-
|
|
126
|
-
## Overview
|
|
127
|
-
|
|
128
|
-
[What this feature does and why it exists]
|
|
129
|
-
|
|
130
|
-
## Quick Start
|
|
131
|
-
|
|
132
|
-
[Complete, runnable example that works immediately]
|
|
133
|
-
|
|
134
|
-
## Detailed Guide
|
|
135
|
-
|
|
136
|
-
### Prerequisites
|
|
137
|
-
|
|
138
|
-
- [Requirement 1]
|
|
139
|
-
- [Requirement 2]
|
|
140
|
-
|
|
141
|
-
### Step-by-Step Implementation
|
|
142
|
-
|
|
143
|
-
#### Step 1: [Action]
|
|
144
|
-
|
|
145
|
-
[Code example with explanations]
|
|
146
|
-
|
|
147
|
-
#### Step 2: [Action]
|
|
148
|
-
|
|
149
|
-
[Code example with explanations]
|
|
150
|
-
|
|
151
|
-
## Common Patterns
|
|
152
|
-
|
|
153
|
-
### Pattern 1: [Name]
|
|
154
|
-
|
|
155
|
-
[Explanation and example]
|
|
156
|
-
|
|
157
|
-
### Pattern 2: [Name]
|
|
158
|
-
|
|
159
|
-
[Explanation and example]
|
|
160
|
-
|
|
161
|
-
## Advanced Usage
|
|
162
|
-
|
|
163
|
-
[Advanced features and customization options]
|
|
164
|
-
|
|
165
|
-
## Troubleshooting
|
|
166
|
-
|
|
167
|
-
### Common Issue 1
|
|
168
|
-
|
|
169
|
-
**Problem**: [Description]
|
|
170
|
-
**Solution**: [Fix]
|
|
171
|
-
|
|
172
|
-
### Common Issue 2
|
|
173
|
-
|
|
174
|
-
**Problem**: [Description]
|
|
175
|
-
**Solution**: [Fix]
|
|
176
|
-
|
|
177
|
-
## Related Documentation
|
|
178
|
-
|
|
179
|
-
- [Related Guide 1](./related-guide-1.md)
|
|
180
|
-
- [Related Guide 2](./related-guide-2.md)
|
|
181
|
-
- [API Reference](./api-reference/components.md)
|
|
182
|
-
|
|
183
|
-
## Next Steps
|
|
184
|
-
|
|
185
|
-
- [Link to next learning topic]
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
---
|
|
189
|
-
|
|
190
|
-
## API Reference Template
|
|
191
|
-
|
|
192
|
-
For documenting components and hooks:
|
|
193
|
-
|
|
194
|
-
```markdown
|
|
195
|
-
# [Component/Hook Name]
|
|
196
|
-
|
|
197
|
-
> **📚 API Reference**: [Category] | [← Back](./README.md)
|
|
198
|
-
|
|
199
|
-
[One-paragraph description of what this component/hook does]
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
## Usage
|
|
204
|
-
|
|
205
|
-
```tsx
|
|
206
|
-
import { [ComponentName] } from '@jmruthers/pace-core';
|
|
207
|
-
|
|
208
|
-
function Example() {
|
|
209
|
-
return <[ComponentName] [key-prop="value"] />;
|
|
210
|
-
}
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
## Props / Parameters
|
|
214
|
-
|
|
215
|
-
### [Prop/Param Name] (required)
|
|
216
|
-
|
|
217
|
-
**Type**: `[Type]`
|
|
218
|
-
**Default**: `[DefaultValue]`
|
|
219
|
-
**Description**: [What this prop/param does]
|
|
220
|
-
|
|
221
|
-
**Example**:
|
|
222
|
-
```tsx
|
|
223
|
-
<[ComponentName] [prop-name]="value" />
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
---
|
|
227
|
-
|
|
228
|
-
## Examples
|
|
229
|
-
|
|
230
|
-
### Basic Usage
|
|
231
|
-
|
|
232
|
-
```tsx
|
|
233
|
-
// Complete example with imports
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
### Advanced Usage
|
|
237
|
-
|
|
238
|
-
```tsx
|
|
239
|
-
// Complete example with imports
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
## Notes
|
|
243
|
-
|
|
244
|
-
- [Important note 1]
|
|
245
|
-
- [Important note 2]
|
|
246
|
-
|
|
247
|
-
## Related
|
|
248
|
-
|
|
249
|
-
- [Related Component/Hook](./related.md)
|
|
250
|
-
- [Implementation Guide](./implementation-guides/feature.md)
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
---
|
|
254
|
-
|
|
255
|
-
## Migration Guide Template
|
|
256
|
-
|
|
257
|
-
For documenting version migrations:
|
|
258
|
-
|
|
259
|
-
```markdown
|
|
260
|
-
# Migration Guide: [Feature/Version]
|
|
261
|
-
|
|
262
|
-
> **📚 Migration Guide**: [Brief description] | [← Back](./README.md)
|
|
263
|
-
|
|
264
|
-
[Overview of what changed and why migration is needed]
|
|
265
|
-
|
|
266
|
-
---
|
|
267
|
-
|
|
268
|
-
## Breaking Changes
|
|
269
|
-
|
|
270
|
-
### [Change 1]
|
|
271
|
-
|
|
272
|
-
**Before**:
|
|
273
|
-
```tsx
|
|
274
|
-
// Old code
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
**After**:
|
|
278
|
-
```tsx
|
|
279
|
-
// New code
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
### [Change 2]
|
|
283
|
-
|
|
284
|
-
**Before**:
|
|
285
|
-
```tsx
|
|
286
|
-
// Old code
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
**After**:
|
|
290
|
-
```tsx
|
|
291
|
-
// New code
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
## Step-by-Step Migration
|
|
295
|
-
|
|
296
|
-
### Step 1: [Action]
|
|
297
|
-
|
|
298
|
-
[Instructions with code]
|
|
299
|
-
|
|
300
|
-
### Step 2: [Action]
|
|
301
|
-
|
|
302
|
-
[Instructions with code]
|
|
303
|
-
|
|
304
|
-
## Common Issues
|
|
305
|
-
|
|
306
|
-
### Issue 1
|
|
307
|
-
|
|
308
|
-
**Problem**: [Description]
|
|
309
|
-
**Solution**: [Fix]
|
|
310
|
-
|
|
311
|
-
## Rollback Plan
|
|
312
|
-
|
|
313
|
-
If you need to rollback:
|
|
314
|
-
|
|
315
|
-
```bash
|
|
316
|
-
# Rollback commands
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
## Related
|
|
320
|
-
|
|
321
|
-
- [Breaking Changes](../breaking-changes.md)
|
|
322
|
-
- [Release Notes](../CHANGELOG.md)
|
|
323
|
-
```
|
|
324
|
-
|
|
325
|
-
---
|
|
326
|
-
|
|
327
|
-
## Troubleshooting Guide Template
|
|
328
|
-
|
|
329
|
-
```markdown
|
|
330
|
-
# Troubleshooting: [Issue Name]
|
|
331
|
-
|
|
332
|
-
> **📚 Troubleshooting**: [Category] | [← Back](./README.md)
|
|
333
|
-
|
|
334
|
-
[Brief description of the issue and when it occurs]
|
|
335
|
-
|
|
336
|
-
---
|
|
337
|
-
|
|
338
|
-
## Symptoms
|
|
339
|
-
|
|
340
|
-
- [Symptom 1]
|
|
341
|
-
- [Symptom 2]
|
|
342
|
-
- [Symptom 3]
|
|
343
|
-
|
|
344
|
-
## Common Causes
|
|
345
|
-
|
|
346
|
-
1. **Cause 1**: [Explanation]
|
|
347
|
-
2. **Cause 2**: [Explanation]
|
|
348
|
-
3. **Cause 3**: [Explanation]
|
|
349
|
-
|
|
350
|
-
## Solutions
|
|
351
|
-
|
|
352
|
-
### Solution 1: [Fix Name]
|
|
353
|
-
|
|
354
|
-
**When to use**: [When this solution applies]
|
|
355
|
-
|
|
356
|
-
```bash
|
|
357
|
-
# Commands or code
|
|
358
|
-
```
|
|
359
|
-
|
|
360
|
-
**Verify it worked**:
|
|
361
|
-
```bash
|
|
362
|
-
# How to check
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
### Solution 2: [Fix Name]
|
|
366
|
-
|
|
367
|
-
**When to use**: [When this solution applies]
|
|
368
|
-
|
|
369
|
-
[Code or instructions]
|
|
370
|
-
|
|
371
|
-
## Prevention
|
|
372
|
-
|
|
373
|
-
- [Prevention tip 1]
|
|
374
|
-
- [Prevention tip 2]
|
|
375
|
-
|
|
376
|
-
## Related
|
|
377
|
-
|
|
378
|
-
- [Main Troubleshooting Guide](./README.md)
|
|
379
|
-
- [Common Issues](./common-issues.md)
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
---
|
|
383
|
-
|
|
384
|
-
## Best Practices Template
|
|
385
|
-
|
|
386
|
-
```markdown
|
|
387
|
-
# Best Practices: [Topic Name]
|
|
388
|
-
|
|
389
|
-
> **📚 Best Practices**: [Category] | [← Back](./README.md)
|
|
390
|
-
|
|
391
|
-
[Overview of best practices for this topic]
|
|
392
|
-
|
|
393
|
-
---
|
|
394
|
-
|
|
395
|
-
## Core Principles
|
|
396
|
-
|
|
397
|
-
### Principle 1: [Name]
|
|
398
|
-
|
|
399
|
-
**Why**: [Reason this principle exists]
|
|
400
|
-
|
|
401
|
-
**Implementation**:
|
|
402
|
-
```tsx
|
|
403
|
-
// Example code
|
|
404
|
-
```
|
|
405
|
-
|
|
406
|
-
**Avoid**:
|
|
407
|
-
```tsx
|
|
408
|
-
// ❌ Bad example
|
|
409
|
-
```
|
|
410
|
-
|
|
411
|
-
**Prefer**:
|
|
412
|
-
```tsx
|
|
413
|
-
// ✅ Good example
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
### Principle 2: [Name]
|
|
417
|
-
|
|
418
|
-
[Similar structure]
|
|
419
|
-
|
|
420
|
-
## Common Patterns
|
|
421
|
-
|
|
422
|
-
### Pattern 1: [Name]
|
|
423
|
-
|
|
424
|
-
**Use when**: [When to use this pattern]
|
|
425
|
-
|
|
426
|
-
**Example**:
|
|
427
|
-
```tsx
|
|
428
|
-
// Complete example
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
### Pattern 2: [Name]
|
|
432
|
-
|
|
433
|
-
[Similar structure]
|
|
434
|
-
|
|
435
|
-
## Anti-Patterns
|
|
436
|
-
|
|
437
|
-
### ❌ Anti-Pattern 1: [Name]
|
|
438
|
-
|
|
439
|
-
**Why it's bad**: [Reason]
|
|
440
|
-
|
|
441
|
-
**Better approach**: [Better solution with example]
|
|
442
|
-
|
|
443
|
-
## Performance Considerations
|
|
444
|
-
|
|
445
|
-
- [Tip 1]
|
|
446
|
-
- [Tip 2]
|
|
447
|
-
- [Tip 3]
|
|
448
|
-
|
|
449
|
-
## Security Considerations
|
|
450
|
-
|
|
451
|
-
- [Security tip 1]
|
|
452
|
-
- [Security tip 2]
|
|
453
|
-
|
|
454
|
-
## Accessibility
|
|
455
|
-
|
|
456
|
-
- [Accessibility tip 1]
|
|
457
|
-
- [Accessibility tip 2]
|
|
458
|
-
|
|
459
|
-
## Related
|
|
460
|
-
|
|
461
|
-
- [Implementation Guide](./implementation-guides/feature.md)
|
|
462
|
-
- [API Reference](./api-reference/components.md)
|
|
463
|
-
```
|
|
464
|
-
|
|
465
|
-
---
|
|
466
|
-
|
|
467
|
-
## Quick Reference Template
|
|
468
|
-
|
|
469
|
-
For quick lookups:
|
|
470
|
-
|
|
471
|
-
```markdown
|
|
472
|
-
# Quick Reference: [Topic]
|
|
473
|
-
|
|
474
|
-
> **📚 Quick Reference**: [Category] | [← Back](./README.md)
|
|
475
|
-
|
|
476
|
-
Quick reference card for [topic].
|
|
477
|
-
|
|
478
|
-
---
|
|
479
|
-
|
|
480
|
-
## Installation
|
|
481
|
-
|
|
482
|
-
```bash
|
|
483
|
-
npm install [package]
|
|
484
|
-
```
|
|
485
|
-
|
|
486
|
-
## Basic Usage
|
|
487
|
-
|
|
488
|
-
```tsx
|
|
489
|
-
import { [Component] } from '@jmruthers/pace-core';
|
|
490
|
-
|
|
491
|
-
function Example() {
|
|
492
|
-
return <[Component] />;
|
|
493
|
-
}
|
|
494
|
-
```
|
|
495
|
-
|
|
496
|
-
## Common Patterns
|
|
497
|
-
|
|
498
|
-
| Pattern | Code | Description |
|
|
499
|
-
|---------|------|-------------|
|
|
500
|
-
| [Pattern 1] | `code` | [Description] |
|
|
501
|
-
| [Pattern 2] | `code` | [Description] |
|
|
502
|
-
|
|
503
|
-
## Cheat Sheet
|
|
504
|
-
|
|
505
|
-
### [Category 1]
|
|
506
|
-
- **Thing 1**: `code`
|
|
507
|
-
- **Thing 2**: `code`
|
|
508
|
-
|
|
509
|
-
### [Category 2]
|
|
510
|
-
- **Thing 1**: `code`
|
|
511
|
-
- **Thing 2**: `code`
|
|
512
|
-
|
|
513
|
-
## See Also
|
|
514
|
-
|
|
515
|
-
- [Full Guide](./full-guide.md)
|
|
516
|
-
- [API Reference](./api-reference/components.md)
|
|
517
|
-
```
|
|
518
|
-
|
|
519
|
-
---
|
|
520
|
-
|
|
521
|
-
## Checklist for New Documentation
|
|
522
|
-
|
|
523
|
-
Before publishing any documentation, verify:
|
|
524
|
-
|
|
525
|
-
- [ ] Uses standard navigation template
|
|
526
|
-
- [ ] Includes complete file header
|
|
527
|
-
- [ ] All code examples follow template
|
|
528
|
-
- [ ] Sections follow standard organization
|
|
529
|
-
- [ ] Has "Related Documentation" section
|
|
530
|
-
- [ ] Has "Next Steps" section
|
|
531
|
-
- [ ] All links verified
|
|
532
|
-
- [ ] Version metadata included
|
|
533
|
-
- [ ] Reviewed for accuracy
|
|
534
|
-
- [ ] Follows style guide
|
|
535
|
-
- [ ] Typed checked (for code examples)
|
|
536
|
-
|
|
537
|
-
---
|
|
538
|
-
|
|
539
|
-
**Related**: [Style Guide](./style-guide.md) | [Documentation Checklist](./DOCUMENTATION_CHECKLIST.md)
|