@jmruthers/pace-core 0.5.181 → 0.5.182
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -1
- package/README.md +16 -2
- package/dist/{AuthService-DYuQPJj6.d.ts → AuthService-B-cd2MA4.d.ts} +9 -11
- package/dist/{DataTable-CWAZZcXC.d.ts → DataTable-Bz8ffqyA.d.ts} +1 -1
- package/dist/{DataTable-UA6CL4JI.js → DataTable-QAB34V6K.js} +14 -15
- package/dist/UnifiedAuthProvider-7F6T4B6K.js +13 -0
- package/dist/{UnifiedAuthProvider-DJxGTftH.d.ts → UnifiedAuthProvider-F86d7dSi.d.ts} +5 -6
- package/dist/{api-45XYYO2A.js → api-ROMBCNKU.js} +5 -5
- package/dist/{audit-64X3VJXB.js → audit-WRS3KJKI.js} +4 -4
- package/dist/auth-BZOJqrdd.d.ts +49 -0
- package/dist/{chunk-CX5M4ZAG.js → chunk-5DRSZLL2.js} +1 -1
- package/dist/chunk-5DRSZLL2.js.map +1 -0
- package/dist/{chunk-BESYRHQM.js → chunk-6C4YBBJM.js} +10 -7
- package/dist/chunk-6C4YBBJM.js.map +1 -0
- package/dist/{chunk-PLDDJCW6.js → chunk-7D4SUZUM.js} +2 -13
- package/dist/{chunk-HRO5HWN2.js → chunk-CSOFYHAG.js} +55 -162
- package/dist/chunk-CSOFYHAG.js.map +1 -0
- package/dist/{chunk-ANBQRTPX.js → chunk-E66EQZE6.js} +3 -5
- package/dist/{chunk-ANBQRTPX.js.map → chunk-E66EQZE6.js.map} +1 -1
- package/dist/{chunk-Q5QRDWKI.js → chunk-F2IMUDXZ.js} +4 -6
- package/dist/chunk-F2IMUDXZ.js.map +1 -0
- package/dist/{chunk-SBVILCCA.js → chunk-FSFQFJCU.js} +28 -6
- package/dist/chunk-FSFQFJCU.js.map +1 -0
- package/dist/chunk-FUEYYMX5.js +2296 -0
- package/dist/chunk-FUEYYMX5.js.map +1 -0
- package/dist/{chunk-FFKNH6U5.js → chunk-HKIT6O7W.js} +3 -5
- package/dist/{chunk-FFKNH6U5.js.map → chunk-HKIT6O7W.js.map} +1 -1
- package/dist/chunk-KQCRWDSA.js +1 -0
- package/dist/{chunk-S5OFRT4M.js → chunk-KUEN3HFB.js} +6 -6
- package/dist/chunk-KUEN3HFB.js.map +1 -0
- package/dist/chunk-LMC26NLJ.js +84 -0
- package/dist/chunk-LMC26NLJ.js.map +1 -0
- package/dist/{chunk-BVYWGZVV.js → chunk-M7W4CP3M.js} +52 -19
- package/dist/chunk-M7W4CP3M.js.map +1 -0
- package/dist/{chunk-HZLDFOE4.js → chunk-MI7HBHN3.js} +164 -243
- package/dist/chunk-MI7HBHN3.js.map +1 -0
- package/dist/{chunk-PPMP5J6T.js → chunk-PWAHJW4G.js} +180 -29
- package/dist/chunk-PWAHJW4G.js.map +1 -0
- package/dist/chunk-PWLANIRT.js +127 -0
- package/dist/{chunk-XDNLUEXI.js.map → chunk-PWLANIRT.js.map} +1 -1
- package/dist/chunk-QCDXODCA.js +75 -0
- package/dist/chunk-QCDXODCA.js.map +1 -0
- package/dist/{chunk-D7LCGMVS.js → chunk-QETLRQI6.js} +526 -887
- package/dist/chunk-QETLRQI6.js.map +1 -0
- package/dist/{chunk-5MT24GKJ.js → chunk-QUVSNGIP.js} +264 -262
- package/dist/chunk-QUVSNGIP.js.map +1 -0
- package/dist/chunk-QXHPKYJV.js +113 -0
- package/dist/chunk-QXHPKYJV.js.map +1 -0
- package/dist/{chunk-OWAG3GSU.js → chunk-R77UEZ4E.js} +11 -1
- package/dist/chunk-R77UEZ4E.js.map +1 -0
- package/dist/{chunk-ZYTYSTO5.js → chunk-RA3JUFMW.js} +314 -161
- package/dist/chunk-RA3JUFMW.js.map +1 -0
- package/dist/{chunk-ERISIBYU.js → chunk-SQGMNID3.js} +3 -8
- package/dist/chunk-SQGMNID3.js.map +1 -0
- package/dist/{chunk-XJ2HZOBU.js → chunk-UHNYIBXL.js} +1 -1
- package/dist/chunk-UHNYIBXL.js.map +1 -0
- package/{src/utils/secureStorage.ts → dist/chunk-VBXEHIUJ.js} +113 -88
- package/dist/{chunk-7QCC6MCP.js.map → chunk-VBXEHIUJ.js.map} +1 -1
- package/dist/{chunk-VZ4VDGTB.js → chunk-W22JP75J.js} +5 -13
- package/dist/{chunk-VZ4VDGTB.js.map → chunk-W22JP75J.js.map} +1 -1
- package/dist/components.d.ts +12 -93
- package/dist/components.js +23 -106
- package/dist/components.js.map +1 -1
- package/dist/core-CUElvH_C.d.ts +164 -0
- package/dist/database.generated-CBmg2950.d.ts +8284 -0
- package/dist/event-CW5YB_2p.d.ts +239 -0
- package/dist/{file-reference-C6Gkn77H.d.ts → file-reference-D06mEEWW.d.ts} +7 -5
- package/dist/functions-D_kgHktt.d.ts +208 -0
- package/dist/hooks.d.ts +54 -7
- package/dist/hooks.js +204 -17
- package/dist/hooks.js.map +1 -1
- package/dist/{EventLogo-B3V3otev.d.ts → index-Bl--n7-T.d.ts} +387 -397
- package/dist/index.d.ts +94 -261
- package/dist/index.js +314 -126
- package/dist/index.js.map +1 -1
- package/dist/providers.d.ts +7 -8
- package/dist/providers.js +6 -13
- package/dist/rbac/index.d.ts +171 -101
- package/dist/rbac/index.js +23 -17
- package/dist/styles/index.d.ts +1 -3
- package/dist/styles/index.js +2 -17
- package/dist/theming/runtime.js +3 -3
- package/dist/types-UU913iLA.d.ts +102 -0
- package/dist/{types-Dfz9dmVH.d.ts → types-_x1f4QBF.d.ts} +6 -6
- package/dist/types.d.ts +88 -227
- package/dist/types.js +64 -112
- package/dist/types.js.map +1 -1
- package/dist/{usePublicRouteParams-B7PabvuH.d.ts → usePublicRouteParams-JJczomYq.d.ts} +203 -6
- package/dist/utils.d.ts +299 -13
- package/dist/utils.js +481 -55
- package/dist/utils.js.map +1 -1
- package/dist/validation-643vUDZW.d.ts +177 -0
- package/docs/DOCUMENTATION_REVIEW_TRACKER.md +511 -0
- package/docs/README.md +9 -8
- package/docs/api/README.md +16 -2
- package/docs/api/classes/ColumnFactory.md +1 -1
- 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 +4 -4
- package/docs/api/classes/RBACAuditManager.md +14 -14
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +2 -2
- package/docs/api/classes/RBACError.md +4 -4
- package/docs/api/classes/RBACNotInitializedError.md +4 -4
- package/docs/api/classes/SecureSupabaseClient.md +29 -9
- package/docs/api/classes/StorageUtils.md +1 -1
- package/docs/api/enums/FileCategory.md +17 -17
- package/docs/api/enums/RBACErrorCode.md +228 -0
- package/docs/api/enums/RPCFunction.md +118 -0
- package/docs/api/interfaces/AggregateConfig.md +1 -1
- package/docs/api/interfaces/BadgeProps.md +1 -1
- package/docs/api/interfaces/ButtonProps.md +2 -2
- package/docs/api/interfaces/CalendarProps.md +1 -1
- package/docs/api/interfaces/CardProps.md +29 -3
- 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 +1 -1
- package/docs/api/interfaces/DataTableAction.md +2 -2
- package/docs/api/interfaces/DataTableColumn.md +6 -6
- package/docs/api/interfaces/DataTableProps.md +1 -1
- package/docs/api/interfaces/DataTableToolbarButton.md +2 -2
- package/docs/api/interfaces/EmptyStateConfig.md +1 -1
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/EventAppRoleData.md +1 -1
- package/docs/api/interfaces/ExportColumn.md +5 -5
- package/docs/api/interfaces/ExportOptions.md +4 -4
- package/docs/api/interfaces/FileDisplayProps.md +1 -1
- package/docs/api/interfaces/FileMetadata.md +13 -13
- package/docs/api/interfaces/FileReference.md +12 -12
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadOptions.md +10 -10
- package/docs/api/interfaces/FileUploadProps.md +19 -19
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/FormFieldProps.md +166 -0
- package/docs/api/interfaces/FormProps.md +113 -0
- package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +8 -8
- package/docs/api/interfaces/InputProps.md +2 -2
- package/docs/api/interfaces/LabelProps.md +8 -8
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- 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 +17 -73
- package/docs/api/interfaces/NavigationMenuProps.md +38 -53
- package/docs/api/interfaces/NavigationProviderProps.md +1 -1
- package/docs/api/interfaces/Organisation.md +13 -13
- package/docs/api/interfaces/OrganisationContextType.md +21 -21
- package/docs/api/interfaces/OrganisationMembership.md +15 -15
- package/docs/api/interfaces/OrganisationProviderProps.md +59 -2
- package/docs/api/interfaces/OrganisationSecurityError.md +5 -5
- package/docs/api/interfaces/PaceAppLayoutProps.md +26 -39
- package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
- 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/PermissionEnforcerProps.md +1 -1
- package/docs/api/interfaces/ProgressProps.md +50 -0
- package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
- package/docs/api/interfaces/PublicPageFooterProps.md +9 -9
- package/docs/api/interfaces/PublicPageHeaderProps.md +10 -10
- package/docs/api/interfaces/PublicPageLayoutProps.md +15 -15
- package/docs/api/interfaces/RBACAccessValidateParams.md +52 -0
- package/docs/api/interfaces/RBACAccessValidateResult.md +41 -0
- package/docs/api/interfaces/RBACAuditLogParams.md +85 -0
- package/docs/api/interfaces/RBACAuditLogResult.md +52 -0
- package/docs/api/interfaces/RBACConfig.md +2 -2
- package/docs/api/interfaces/RBACContext.md +52 -0
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/RBACPageAccessCheckParams.md +74 -0
- package/docs/api/interfaces/RBACPermissionCheckParams.md +74 -0
- package/docs/api/interfaces/RBACPermissionCheckResult.md +52 -0
- package/docs/api/interfaces/RBACPermissionsGetParams.md +63 -0
- package/docs/api/interfaces/RBACPermissionsGetResult.md +63 -0
- package/docs/api/interfaces/RBACResult.md +58 -0
- package/docs/api/interfaces/RBACRoleGrantParams.md +63 -0
- package/docs/api/interfaces/RBACRoleGrantResult.md +52 -0
- package/docs/api/interfaces/RBACRoleRevokeParams.md +63 -0
- package/docs/api/interfaces/RBACRoleRevokeResult.md +52 -0
- package/docs/api/interfaces/RBACRoleValidateParams.md +52 -0
- package/docs/api/interfaces/RBACRoleValidateResult.md +63 -0
- package/docs/api/interfaces/RBACRolesListParams.md +52 -0
- package/docs/api/interfaces/RBACRolesListResult.md +74 -0
- package/docs/api/interfaces/RBACSessionTrackParams.md +74 -0
- package/docs/api/interfaces/RBACSessionTrackResult.md +52 -0
- 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/SecureDataContextType.md +1 -1
- package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
- package/docs/api/interfaces/SessionRestorationLoaderProps.md +15 -2
- 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 +43 -2
- package/docs/api/interfaces/TextareaProps.md +2 -2
- package/docs/api/interfaces/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +61 -61
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +13 -13
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventLogoOptions.md +87 -0
- package/docs/api/interfaces/UsePublicEventLogoReturn.md +81 -0
- package/docs/api/interfaces/UsePublicEventOptions.md +3 -3
- package/docs/api/interfaces/UsePublicEventReturn.md +5 -5
- package/docs/api/interfaces/UsePublicFileDisplayOptions.md +2 -2
- package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeOptions.md +2 -2
- package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
- package/docs/api/interfaces/UseResourcePermissionsOptions.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +1 -1
- package/docs/api/interfaces/UserMenuProps.md +4 -4
- package/docs/api/interfaces/UserProfile.md +7 -7
- package/docs/api/modules.md +484 -462
- package/docs/api-reference/components.md +186 -15
- package/docs/api-reference/deprecated.md +376 -0
- package/docs/api-reference/hooks.md +149 -19
- package/docs/api-reference/providers.md +61 -6
- package/docs/api-reference/rpc-functions.md +397 -0
- package/docs/api-reference/types.md +135 -78
- package/docs/api-reference/utilities.md +51 -380
- package/docs/architecture/README.md +49 -3
- package/docs/architecture/database-schema-requirements.md +40 -3
- package/docs/architecture/rbac-security-architecture.md +41 -4
- package/docs/architecture/services.md +127 -42
- package/docs/best-practices/README.md +51 -5
- package/docs/best-practices/accessibility.md +32 -3
- package/docs/best-practices/common-patterns.md +50 -3
- package/docs/best-practices/deployment.md +50 -4
- package/docs/best-practices/performance.md +50 -3
- package/docs/best-practices/security.md +94 -41
- package/docs/best-practices/testing.md +33 -4
- package/docs/core-concepts/authentication.md +5 -5
- package/docs/core-concepts/events.md +3 -3
- package/docs/core-concepts/organisations.md +3 -3
- package/docs/core-concepts/permissions.md +3 -3
- package/docs/core-concepts/rbac-system.md +5 -5
- package/docs/documentation-index.md +30 -8
- package/docs/getting-started/documentation-index.md +1 -1
- package/docs/getting-started/examples/README.md +7 -5
- package/docs/getting-started/examples/basic-auth-app.md +3 -0
- package/docs/getting-started/examples/full-featured-app.md +5 -3
- package/docs/getting-started/faq.md +6 -6
- package/docs/getting-started/installation-guide.md +192 -13
- package/docs/getting-started/local-development.md +303 -0
- package/docs/getting-started/quick-reference.md +3 -3
- package/docs/getting-started/quick-start.md +517 -0
- package/docs/implementation-guides/app-layout.md +45 -3
- package/docs/implementation-guides/authentication.md +66 -7
- package/docs/implementation-guides/component-styling.md +53 -3
- package/docs/implementation-guides/data-tables.md +76 -7
- package/docs/implementation-guides/datatable-filtering.md +1 -2
- package/docs/implementation-guides/datatable-rbac-usage.md +0 -1
- package/docs/implementation-guides/dynamic-colors.md +155 -4
- package/docs/implementation-guides/file-reference-system.md +72 -3
- package/docs/implementation-guides/file-upload-storage.md +72 -3
- package/docs/implementation-guides/forms.md +53 -3
- package/docs/implementation-guides/inactivity-tracking.md +53 -3
- package/docs/implementation-guides/large-datasets.md +1 -1
- package/docs/implementation-guides/navigation.md +55 -5
- package/docs/implementation-guides/organisation-security.md +72 -3
- package/docs/implementation-guides/performance.md +57 -1
- package/docs/implementation-guides/permission-enforcement.md +81 -8
- package/docs/implementation-guides/public-pages.md +560 -14
- package/docs/migration/MIGRATION_GUIDE.md +409 -50
- package/docs/migration/README.md +37 -3
- package/docs/migration/organisation-context-timing-fix.md +39 -4
- package/docs/migration/quick-migration-guide.md +41 -5
- package/docs/migration/rbac-migration.md +59 -3
- package/docs/migration/service-architecture.md +77 -14
- package/docs/rbac/README.md +79 -3
- package/docs/rbac/advanced-patterns.md +47 -3
- package/docs/rbac/api-reference.md +77 -8
- package/docs/rbac/event-based-apps.md +50 -5
- package/docs/rbac/examples/rbac-rls-integration-example.md +3 -3
- package/docs/rbac/examples.md +39 -3
- package/docs/rbac/getting-started.md +63 -4
- package/docs/rbac/quick-start.md +57 -5
- package/docs/rbac/rbac-rls-integration.md +68 -6
- package/docs/rbac/super-admin-guide.md +47 -3
- package/docs/rbac/troubleshooting.md +3 -3
- package/docs/security/README.md +68 -3
- package/docs/security/checklist.md +50 -3
- package/docs/standards/01-architecture-standard.md +39 -0
- package/docs/standards/02-api-and-rpc-standard.md +39 -0
- package/docs/standards/03-component-standard.md +32 -0
- package/docs/standards/04-code-style-standard.md +32 -0
- package/docs/standards/05-security-standard.md +30 -0
- package/docs/standards/06-testing-and-docs-standard.md +29 -0
- package/docs/standards/README.md +35 -0
- package/docs/styles/README.md +89 -8
- package/docs/testing/README.md +175 -24
- package/docs/troubleshooting/README.md +50 -3
- package/docs/troubleshooting/common-issues.md +271 -5
- package/docs/troubleshooting/debugging.md +54 -1
- package/docs/troubleshooting/migration.md +54 -1
- package/docs/troubleshooting/organisation-context-setup.md +29 -3
- package/docs/troubleshooting/styling-issues.md +246 -4
- package/{src/components/DataTable/examples → examples/DataTable}/GroupingAggregationExample.tsx +1 -1
- package/examples/{components 2/DataTable/HierarchicalActionsExample.tsx → DataTable/HierarchicalActionsExample.tsx} +7 -6
- package/{src/components/DataTable/examples → examples/DataTable}/HierarchicalExample.tsx +8 -6
- package/examples/{components 2/DataTable/PerformanceExample.tsx → DataTable/PerformanceExample.tsx} +2 -2
- package/examples/{components 2/DataTable/index.ts → DataTable/index.ts} +1 -0
- package/{src/components/Dialog/examples → examples/Dialog}/HtmlDialogExample.tsx +3 -3
- package/examples/{components 2/Dialog/ScrollableDialogExample.tsx → Dialog/ScrollableDialogExample.tsx} +1 -1
- package/{src/components/Dialog/examples → examples/Dialog}/SmartDialogExample.tsx +1 -1
- package/examples/{components 2/Dialog/index.ts → Dialog/index.ts} +0 -3
- package/examples/{features/public-pages → PublicPages}/CorrectPublicPageImplementation.tsx +52 -17
- package/examples/{features/public-pages → PublicPages}/PublicEventPage.tsx +65 -35
- package/examples/{features/public-pages → PublicPages}/PublicPageApp.tsx +52 -18
- package/examples/{features/public-pages → PublicPages}/PublicPageUsageExample.tsx +28 -15
- package/examples/README.md +81 -33
- package/examples/index.ts +14 -12
- package/examples/{RBAC → rbac}/CompleteRBACExample.tsx +1 -1
- package/examples/{features/rbac → rbac}/EventBasedApp.tsx +4 -4
- package/examples/{features/rbac → rbac}/PermissionExample.tsx +5 -3
- package/package.json +21 -27
- package/src/__tests__/helpers/test-utils.tsx +29 -3
- package/src/__tests__/rbac/PagePermissionGuard.test.tsx +7 -5
- package/src/components/Alert/Alert.test.tsx +2 -2
- package/src/components/Alert/Alert.tsx +4 -4
- package/src/components/Avatar/Avatar.test.tsx +17 -6
- package/src/components/Badge/Badge.test.tsx +1 -1
- package/src/components/Badge/Badge.tsx +2 -2
- package/src/components/Button/Button.test.tsx +2 -2
- package/src/components/Button/Button.tsx +11 -7
- package/src/components/Calendar/Calendar.test.tsx +41 -8
- package/src/components/Calendar/Calendar.tsx +39 -36
- package/src/components/Card/Card.tsx +51 -13
- package/src/components/Checkbox/Checkbox.test.tsx +36 -12
- package/src/components/DataTable/DataTable.test.tsx +1 -1
- package/src/components/DataTable/__tests__/DataTable.comprehensive.test.tsx +13 -7
- package/src/components/DataTable/__tests__/DataTable.default-state.test.tsx +14 -42
- package/src/components/DataTable/__tests__/DataTable.export.test.tsx +13 -10
- package/src/components/DataTable/__tests__/DataTable.grouping-aggregation.test.tsx +14 -11
- package/src/components/DataTable/__tests__/DataTable.hooks.test.tsx +4 -2
- package/src/components/DataTable/__tests__/DataTable.test.tsx +13 -7
- package/src/components/DataTable/__tests__/DataTableCore.test-setup.ts +13 -10
- package/src/components/DataTable/__tests__/DataTableCore.test.tsx +15 -11
- package/src/components/DataTable/__tests__/a11y.basic.test.tsx +12 -6
- package/src/components/DataTable/__tests__/keyboard.test.tsx +12 -6
- package/src/components/DataTable/__tests__/pagination.modes.test.tsx +10 -6
- package/src/components/DataTable/__tests__/test-utils/sharedTestUtils.tsx +1 -1
- package/src/components/DataTable/components/DataTableBody.tsx +10 -25
- package/src/components/DataTable/components/DataTableCore.tsx +1 -1
- package/src/components/DataTable/components/FilterRow.tsx +3 -1
- package/src/components/DataTable/components/ImportModal.tsx +1 -1
- package/src/components/DataTable/components/VirtualizedDataTable.tsx +9 -9
- package/src/components/DataTable/core/ColumnFactory.ts +6 -6
- package/src/components/DataTable/core/DataTableContext.tsx +14 -10
- package/src/components/DataTable/core/LocalDataAdapter.ts +2 -1
- package/src/components/DataTable/core/PluginRegistry.ts +3 -3
- package/src/components/DataTable/core/StateManager.ts +12 -11
- package/src/components/DataTable/core/__tests__/ActionManager.test.ts +104 -0
- package/src/components/DataTable/core/__tests__/DataManager.test.ts +101 -0
- package/src/components/DataTable/core/__tests__/LocalDataAdapter.test.ts +84 -0
- package/src/components/DataTable/core/__tests__/PluginRegistry.test.ts +102 -0
- package/src/components/DataTable/core/__tests__/StateManager.test.ts +104 -0
- package/src/components/DataTable/core/interfaces.ts +17 -17
- package/src/components/DataTable/hooks/__tests__/useDataTableConfiguration.test.ts +124 -0
- package/src/components/DataTable/hooks/__tests__/useDataTableDataPipeline.test.ts +117 -0
- package/src/components/DataTable/hooks/__tests__/useDataTablePermissions.test.ts +102 -0
- package/src/components/DataTable/hooks/__tests__/useEffectiveColumnOrder.test.ts +53 -0
- package/src/components/DataTable/hooks/useColumnOrderPersistence.ts +0 -2
- package/src/components/DataTable/hooks/useDataTablePermissions.ts +9 -8
- package/src/components/DataTable/types.ts +5 -5
- package/src/components/DataTable/utils/aggregationUtils.ts +4 -4
- package/src/components/DataTable/utils/columnUtils.ts +3 -2
- package/src/components/DataTable/utils/debugTools.ts +1 -1
- package/src/components/DataTable/utils/exportUtils.ts +6 -6
- package/src/components/DataTable/utils/hierarchicalSorting.ts +6 -6
- package/src/components/DataTable/utils/hierarchicalUtils.ts +0 -8
- package/src/components/DataTable/utils/index.ts +0 -1
- package/src/components/DataTable/utils/performanceUtils.ts +9 -4
- package/src/components/Dialog/Dialog.test.tsx +49 -27
- package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +13 -8
- package/src/components/EventSelector/EventSelector.test.tsx +60 -12
- package/src/components/EventSelector/EventSelector.tsx +38 -15
- package/src/components/EventSelector/index.ts +2 -2
- package/src/components/FileDisplay/FileDisplay.test.tsx +143 -85
- package/src/components/FileDisplay/FileDisplay.tsx +1 -0
- package/src/components/FileUpload/FileUpload.test.tsx +532 -152
- package/src/components/FileUpload/FileUpload.tsx +43 -8
- package/src/components/Footer/Footer.test.tsx +19 -14
- package/src/components/Form/Form.test.tsx +96 -14
- package/src/components/Form/Form.tsx +210 -1
- package/src/components/Form/index.ts +3 -7
- package/src/components/Header/Header.test.tsx +24 -17
- package/src/components/Header/Header.tsx +3 -1
- package/src/components/InactivityWarningModal/InactivityWarningModal.tsx +2 -4
- package/src/components/Input/Input.test.tsx +61 -36
- package/src/components/Label/{__tests__/Label.test.tsx → Label.test.tsx} +2 -2
- package/src/components/Label/Label.tsx +2 -3
- package/src/components/LoadingSpinner/LoadingSpinner.test.tsx +6 -5
- package/src/components/LoadingSpinner/LoadingSpinner.tsx +6 -2
- package/src/components/LoginForm/LoginForm.test.tsx +14 -13
- package/src/components/LoginForm/LoginForm.tsx +1 -1
- package/src/components/LoginForm/index.ts +7 -0
- package/src/components/NavigationMenu/NavigationMenu.test.tsx +233 -20
- package/src/components/NavigationMenu/NavigationMenu.tsx +191 -55
- package/src/components/NavigationMenu/index.ts +1 -1
- package/src/components/OrganisationSelector/OrganisationSelector.test.tsx +20 -11
- package/src/components/OrganisationSelector/OrganisationSelector.tsx +1 -1
- package/src/components/PaceAppLayout/{__tests__/PaceAppLayout.integration.test.tsx → PaceAppLayout.integration.test.tsx} +272 -79
- package/src/components/PaceAppLayout/{__tests__/PaceAppLayout.performance.test.tsx → PaceAppLayout.performance.test.tsx} +155 -32
- package/src/components/PaceAppLayout/{__tests__/PaceAppLayout.security.test.tsx → PaceAppLayout.security.test.tsx} +211 -65
- package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +498 -210
- package/src/components/PaceAppLayout/PaceAppLayout.tsx +63 -64
- package/src/components/PaceAppLayout/test-setup.tsx +192 -0
- package/src/components/PaceLoginPage/PaceLoginPage.test.tsx +193 -39
- package/src/components/{PasswordReset → PasswordChange}/PasswordChangeForm.test.tsx +2 -2
- package/src/components/{PasswordReset → PasswordChange}/PasswordChangeForm.tsx +10 -4
- package/src/components/PasswordChange/index.ts +2 -0
- package/src/components/Progress/Progress.test.tsx +11 -0
- package/src/components/Progress/Progress.tsx +1 -1
- package/src/components/Progress/index.ts +10 -0
- package/src/components/ProtectedRoute/ProtectedRoute.test.tsx +2 -1
- package/src/components/PublicLayout/PublicLayout.test.tsx +1210 -0
- package/src/components/PublicLayout/PublicPageLayout.tsx +190 -36
- package/src/components/PublicLayout/PublicPageProvider.tsx +8 -7
- package/src/components/PublicLayout/index.ts +10 -28
- package/src/components/Select/Select.test.tsx +7 -7
- package/src/components/Select/Select.tsx +277 -11
- package/src/components/Select/index.ts +1 -2
- package/src/components/SessionRestorationLoader/SessionRestorationLoader.test.tsx +232 -0
- package/src/components/SessionRestorationLoader/SessionRestorationLoader.tsx +40 -19
- package/src/components/Table/{__tests__/Table.test.tsx → Table.test.tsx} +94 -41
- package/src/components/Tabs/Tabs.test.tsx +10 -9
- package/src/components/Tabs/Tabs.tsx +61 -33
- package/src/components/Textarea/Textarea.test.tsx +31 -18
- package/src/components/Toast/Toast.tsx +2 -2
- package/src/components/Tooltip/Tooltip.test.tsx +1 -1
- package/src/components/UserMenu/UserMenu.test.tsx +7 -6
- package/src/components/UserMenu/UserMenu.tsx +2 -2
- package/src/components/index.ts +5 -4
- package/src/constants/performance.ts +19 -8
- package/src/hooks/__tests__/useAppConfig.unit.test.ts +21 -22
- package/src/hooks/__tests__/useEvents.unit.test.ts +5 -4
- package/src/hooks/__tests__/useOrganisationPermissions.unit.test.tsx +2 -2
- package/src/hooks/__tests__/usePermissionCache.simple.test.ts +17 -0
- package/src/hooks/__tests__/usePermissionCache.unit.test.ts +16 -11
- package/src/hooks/__tests__/usePublicEvent.simple.test.ts +1 -3
- package/src/hooks/__tests__/usePublicEvent.unit.test.ts +1 -3
- package/src/hooks/__tests__/useRBAC.unit.test.ts +24 -2
- package/src/hooks/index.ts +4 -0
- package/src/hooks/public/index.ts +2 -0
- package/src/hooks/public/usePublicEvent.ts +4 -6
- package/src/hooks/public/usePublicRouteParams.ts +1 -1
- package/src/hooks/services/useAuth.ts +2 -4
- package/src/hooks/services/useCurrentEvent.ts +1 -1
- package/src/hooks/useAppConfig.ts +1 -1
- package/src/hooks/useDataTablePerformance.ts +2 -2
- package/src/hooks/useEventTheme.ts +1 -1
- package/src/hooks/useEvents.ts +51 -10
- package/src/hooks/useOrganisationPermissions.test.ts +3 -3
- package/src/hooks/useOrganisationPermissions.ts +1 -1
- package/src/hooks/useOrganisationSecurity.ts +2 -2
- package/src/hooks/usePermissionCache.test.ts +9 -9
- package/src/hooks/usePermissionCache.ts +2 -2
- package/src/index.ts +19 -12
- package/src/providers/OrganisationProvider.tsx +73 -9
- package/src/providers/UnifiedAuthProvider.smoke.test.tsx +113 -13
- package/src/providers/__tests__/AuthProvider.test.tsx +2 -1
- package/src/providers/__tests__/EventProvider.test.tsx +24 -15
- package/src/providers/__tests__/OrganisationProvider.test.tsx +87 -36
- package/src/providers/__tests__/UnifiedAuthProvider.test.tsx +80 -24
- package/src/providers/index.ts +0 -3
- package/src/providers/services/AuthServiceProvider.tsx +2 -17
- package/src/providers/services/EventServiceProvider.tsx +11 -16
- package/src/providers/services/InactivityServiceProvider.tsx +9 -12
- package/src/providers/services/OrganisationServiceProvider.tsx +9 -12
- package/src/providers/services/UnifiedAuthProvider.tsx +85 -18
- package/src/providers/services/__tests__/AuthServiceProvider.integration.test.tsx +11 -4
- package/src/rbac/__tests__/scenarios.user-role.test.tsx +105 -21
- package/src/rbac/adapters.tsx +1 -1
- package/src/rbac/api.ts +20 -4
- package/src/rbac/audit-enhanced.ts +47 -2
- package/src/rbac/audit.ts +47 -2
- package/src/rbac/components/NavigationGuard.tsx +1 -1
- package/src/rbac/components/NavigationProvider.test.tsx +7 -6
- package/src/rbac/components/NavigationProvider.tsx +1 -1
- package/src/rbac/components/PagePermissionGuard.tsx +1 -1
- package/src/rbac/components/PagePermissionProvider.test.tsx +7 -6
- package/src/rbac/components/PagePermissionProvider.tsx +1 -1
- package/src/rbac/components/PermissionEnforcer.tsx +1 -1
- package/src/rbac/components/RoleBasedRouter.tsx +1 -1
- package/src/rbac/components/SecureDataProvider.test.tsx +7 -6
- package/src/rbac/components/SecureDataProvider.tsx +1 -1
- package/src/rbac/components/__tests__/EnhancedNavigationMenu.test.tsx +6 -6
- package/src/rbac/components/__tests__/NavigationGuard.test.tsx +11 -10
- package/src/rbac/components/__tests__/NavigationProvider.test.tsx +10 -11
- package/src/rbac/components/__tests__/PagePermissionGuard.race-condition.test.tsx +19 -15
- package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +13 -12
- package/src/rbac/components/__tests__/PagePermissionGuard.verification.test.tsx +19 -15
- package/src/rbac/components/__tests__/PagePermissionProvider.test.tsx +18 -18
- package/src/rbac/components/__tests__/PermissionEnforcer.test.tsx +11 -10
- package/src/rbac/components/__tests__/RoleBasedRouter.test.tsx +8 -7
- package/src/rbac/components/__tests__/SecureDataProvider.fixed.test.tsx +10 -11
- package/src/rbac/components/__tests__/SecureDataProvider.test.tsx +48 -19
- package/src/rbac/hooks/__tests__/useSecureSupabase.test.ts +476 -0
- package/src/rbac/hooks/index.ts +3 -0
- package/src/rbac/hooks/usePermissions.ts +31 -85
- package/src/rbac/hooks/useRBAC.test.ts +13 -1
- package/src/rbac/hooks/useRBAC.ts +13 -67
- package/src/rbac/hooks/useResolvedScope.ts +11 -0
- package/src/rbac/hooks/useSecureSupabase.ts +308 -0
- package/src/rbac/index.ts +3 -0
- package/src/rbac/secureClient.ts +53 -6
- package/src/rbac/security.ts +37 -1
- package/src/{types/rbac-functions.ts → rbac/types/functions.ts} +30 -30
- package/src/rbac/types.ts +3 -2
- package/src/services/AuthService.ts +33 -25
- package/src/services/EventService.ts +56 -44
- package/src/services/InactivityService.ts +33 -53
- package/src/services/OrganisationService.ts +36 -40
- package/src/services/__tests__/AuthService.restoreSession.test.ts +6 -2
- package/src/services/__tests__/EventService.test.ts +67 -33
- package/src/services/interfaces/IEventService.ts +1 -1
- package/src/styles/core.css +2 -2
- package/src/styles/index.ts +1 -5
- package/src/types/__tests__/guards.test.ts +1 -1
- package/src/types/__tests__/type-validation.test.ts +0 -1
- package/src/types/auth.ts +42 -2
- package/src/types/core.ts +251 -0
- package/src/types/database.ts +11 -496
- package/src/types/event.ts +102 -0
- package/src/types/file-reference.ts +6 -4
- package/src/types/guards.ts +2 -1
- package/src/types/index.ts +48 -14
- package/src/types/lodash.debounce.d.ts +15 -0
- package/src/types/organisation.ts +14 -10
- package/src/types/supabase.ts +15 -17
- package/src/utils/__tests__/secureErrors.unit.test.ts +1 -1
- package/src/utils/__tests__/validationUtils.unit.test.ts +0 -29
- package/src/utils/app/appNameResolver.ts +1 -1
- package/src/utils/dynamic/dynamicUtils.ts +3 -2
- package/src/utils/file-reference/index.ts +25 -6
- package/src/utils/security/secureErrors.ts +1 -1
- package/src/utils/validation/index.ts +6 -12
- package/src/utils/validation/validationUtils.ts +0 -13
- package/dist/UnifiedAuthProvider-B37ATQHE.js +0 -16
- package/dist/auth-DReDSLq9.d.ts +0 -16
- package/dist/chunk-3JI76CYK.js +0 -2444
- package/dist/chunk-3JI76CYK.js.map +0 -1
- package/dist/chunk-56XJ3TU6.js +0 -11
- package/dist/chunk-56XJ3TU6.js.map +0 -1
- package/dist/chunk-5MT24GKJ.js.map +0 -1
- package/dist/chunk-7QCC6MCP.js +0 -288
- package/dist/chunk-BESYRHQM.js.map +0 -1
- package/dist/chunk-BJPBT3CU.js +0 -21
- package/dist/chunk-BJPBT3CU.js.map +0 -1
- package/dist/chunk-BVYWGZVV.js.map +0 -1
- package/dist/chunk-CX5M4ZAG.js.map +0 -1
- package/dist/chunk-D7LCGMVS.js.map +0 -1
- package/dist/chunk-EGI6MUL6.js +0 -27
- package/dist/chunk-EGI6MUL6.js.map +0 -1
- package/dist/chunk-ERISIBYU.js.map +0 -1
- package/dist/chunk-HRO5HWN2.js.map +0 -1
- package/dist/chunk-HZLDFOE4.js.map +0 -1
- package/dist/chunk-JISYG63F.js +0 -70
- package/dist/chunk-JISYG63F.js.map +0 -1
- package/dist/chunk-LIMSTKYD.js +0 -61
- package/dist/chunk-LIMSTKYD.js.map +0 -1
- package/dist/chunk-OWAG3GSU.js.map +0 -1
- package/dist/chunk-PPMP5J6T.js.map +0 -1
- package/dist/chunk-Q5QRDWKI.js.map +0 -1
- package/dist/chunk-S5OFRT4M.js.map +0 -1
- package/dist/chunk-SBVILCCA.js.map +0 -1
- package/dist/chunk-TUMEWN34.js +0 -15
- package/dist/chunk-TUMEWN34.js.map +0 -1
- package/dist/chunk-XDNLUEXI.js +0 -138
- package/dist/chunk-XJ2HZOBU.js.map +0 -1
- package/dist/chunk-ZYTYSTO5.js.map +0 -1
- package/dist/chunk-ZZ2SS7NI.js +0 -237
- package/dist/chunk-ZZ2SS7NI.js.map +0 -1
- package/dist/database-C6jy7EOu.d.ts +0 -500
- package/dist/organisation-D6qRDtbF.d.ts +0 -93
- package/dist/schema-DTDZQe2u.d.ts +0 -28
- package/dist/unified-DQ4VcT7H.d.ts +0 -198
- package/dist/useInactivityTracker-TO6ZOF35.js +0 -11
- package/dist/validation.d.ts +0 -47
- package/dist/validation.js +0 -24
- package/dist/validation.js.map +0 -1
- package/docs/DOCUMENTATION_AUDIT.md +0 -172
- package/docs/DOCUMENTATION_STANDARD.md +0 -137
- package/docs/api/classes/PublicErrorBoundary.md +0 -132
- package/docs/api/interfaces/EventLogoProps.md +0 -152
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +0 -94
- package/docs/api/interfaces/PublicErrorBoundaryState.md +0 -68
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +0 -86
- package/docs/architecture/rpc-function-standards.md +0 -1106
- package/docs/getting-started/consuming-app-vite-config.md +0 -239
- package/docs/implementation-guides/event-theming-summary.md +0 -226
- package/docs/implementation-guides/public-pages-advanced.md +0 -1038
- package/docs/migration/v0.4.15-tailwind-scanning.md +0 -278
- package/docs/migration/v0.4.16-css-first-approach.md +0 -312
- package/docs/migration/v0.4.17-source-path-fix.md +0 -235
- package/docs/rbac/RBAC_EVENT_CONTEXT_LOADING.md +0 -222
- package/docs/rbac/RBAC_LOGIN_SAFETY_FIX.md +0 -95
- package/docs/rbac/RBAC_V0.5.147_FIX.md +0 -117
- package/docs/rbac/README-rbac-rls-integration.md +0 -374
- package/docs/styles/usage.md +0 -227
- package/docs/testing/visual-testing.md +0 -120
- package/docs/troubleshooting/DEBUG_NETWORK_ERROR.md +0 -152
- package/docs/troubleshooting/FIX_SUPABASE_CORS.md +0 -184
- package/docs/troubleshooting/cake-page-permission-guard-issue-summary.md +0 -193
- package/docs/troubleshooting/database-view-compatibility.md +0 -125
- package/docs/troubleshooting/react-hooks-issue-analysis.md +0 -172
- package/docs/troubleshooting/tailwind-content-scanning.md +0 -219
- package/examples/RBAC/EventBasedApp.tsx +0 -239
- package/examples/RBAC/PermissionExample.tsx +0 -151
- package/examples/STRUCTURE.md +0 -125
- package/examples/components 2/DataTable/HierarchicalExample.tsx +0 -475
- package/examples/components 2/Dialog/BasicHtmlTest.tsx +0 -55
- package/examples/components 2/Dialog/DebugHtmlExample.tsx +0 -68
- package/examples/components 2/Dialog/HtmlDialogExample.tsx +0 -202
- package/examples/components 2/Dialog/SimpleHtmlTest.tsx +0 -61
- package/examples/components 2/Dialog/SmartDialogExample.tsx +0 -322
- package/examples/components 2/index.ts +0 -11
- package/examples/features/index.ts +0 -12
- package/examples/features/rbac/CompleteRBACExample.tsx +0 -324
- package/examples/features/rbac/index.ts +0 -13
- package/examples/public-pages/CorrectPublicPageImplementation.tsx +0 -301
- package/examples/public-pages/PublicEventPage.tsx +0 -274
- package/examples/public-pages/PublicPageApp.tsx +0 -308
- package/examples/public-pages/PublicPageUsageExample.tsx +0 -216
- package/examples/public-pages/index.ts +0 -14
- package/src/__tests__/TEST_STANDARD.md +0 -1008
- package/src/components/Checkbox/__mocks__/Checkbox.tsx +0 -2
- package/src/components/DataTable/examples/HierarchicalActionsExample.tsx +0 -421
- package/src/components/DataTable/examples/InitialPageSizeExample.tsx +0 -177
- package/src/components/DataTable/examples/PerformanceExample.tsx +0 -506
- package/src/components/DataTable/examples/__tests__/HierarchicalActionsExample.test.tsx +0 -316
- package/src/components/DataTable/examples/__tests__/HierarchicalExample.test.tsx +0 -45
- package/src/components/DataTable/examples/__tests__/InitialPageSizeExample.test.tsx +0 -211
- package/src/components/DataTable/examples/__tests__/PerformanceExample.test.tsx +0 -126
- package/src/components/Dialog/README.md +0 -804
- package/src/components/Dialog/examples/BasicHtmlTest.tsx +0 -55
- package/src/components/Dialog/examples/DebugHtmlExample.tsx +0 -68
- package/src/components/Dialog/examples/ScrollableDialogExample.tsx +0 -290
- package/src/components/Dialog/examples/SimpleHtmlTest.tsx +0 -61
- package/src/components/Dialog/examples/__tests__/HtmlDialogExample.test.tsx +0 -71
- package/src/components/Dialog/examples/__tests__/SimpleHtmlTest.test.tsx +0 -122
- package/src/components/Dialog/examples/__tests__/SmartDialogExample.unit.test.tsx +0 -147
- package/src/components/Dialog/utils/__tests__/safeHtml.unit.test.ts +0 -611
- package/src/components/Dialog/utils/safeHtml.ts +0 -185
- package/src/components/EventSelector/types.ts +0 -79
- package/src/components/Form/FormErrorSummary.tsx +0 -113
- package/src/components/Form/FormField.tsx +0 -249
- package/src/components/Form/FormFieldset.tsx +0 -127
- package/src/components/Form/FormLiveRegion.tsx +0 -198
- package/src/components/Input/__mocks__/Input.tsx +0 -2
- package/src/components/NavigationMenu/types.ts +0 -85
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.accessibility.test.tsx +0 -326
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.unit.test.tsx +0 -1078
- package/src/components/PasswordReset/PasswordResetForm.test.tsx +0 -597
- package/src/components/PasswordReset/PasswordResetForm.tsx +0 -201
- package/src/components/PasswordReset/index.ts +0 -2
- package/src/components/ProtectedRoute/README.md +0 -164
- package/src/components/PublicLayout/EventLogo.tsx +0 -175
- package/src/components/PublicLayout/PublicErrorBoundary.tsx +0 -282
- package/src/components/PublicLayout/PublicLoadingSpinner.tsx +0 -216
- package/src/components/PublicLayout/PublicPageContextChecker.tsx +0 -131
- package/src/components/PublicLayout/PublicPageDebugger.tsx +0 -104
- package/src/components/PublicLayout/PublicPageDiagnostic.tsx +0 -162
- package/src/components/PublicLayout/PublicPageFooter.tsx +0 -124
- package/src/components/PublicLayout/PublicPageHeader.tsx +0 -209
- package/src/components/PublicLayout/__tests__/PublicErrorBoundary.test.tsx +0 -449
- package/src/components/PublicLayout/__tests__/PublicLoadingSpinner.test.tsx +0 -393
- package/src/components/PublicLayout/__tests__/PublicPageContextChecker.test.tsx +0 -192
- package/src/components/PublicLayout/__tests__/PublicPageFooter.test.tsx +0 -351
- package/src/components/PublicLayout/__tests__/PublicPageHeader.test.tsx +0 -402
- package/src/components/PublicLayout/__tests__/PublicPageLayout.test.tsx +0 -460
- package/src/components/PublicLayout/__tests__/PublicPageProvider.test.tsx +0 -313
- package/src/components/Select/hooks.ts +0 -289
- package/src/hooks/useCounter.test.ts +0 -131
- package/src/hooks/useDebounce.test.ts +0 -375
- package/src/providers/AuthProvider.tsx +0 -15
- package/src/providers/EventProvider.tsx +0 -16
- package/src/providers/InactivityProvider.tsx +0 -15
- package/src/providers/OrganisationProvider.context.test.tsx +0 -169
- package/src/providers/UnifiedAuthProvider.tsx +0 -15
- package/src/types/theme.ts +0 -6
- package/src/types/unified.ts +0 -265
- package/src/utils/appConfig.ts +0 -47
- package/src/utils/appIdResolver.test.ts +0 -499
- package/src/utils/appIdResolver.ts +0 -130
- package/src/utils/appNameResolver.simple.test.ts +0 -212
- package/src/utils/appNameResolver.test.ts +0 -121
- package/src/utils/appNameResolver.ts +0 -191
- package/src/utils/audit.ts +0 -127
- package/src/utils/auth-utils.ts +0 -96
- package/src/utils/bundleAnalysis.ts +0 -129
- package/src/utils/debugLogger.ts +0 -67
- package/src/utils/deviceFingerprint.ts +0 -215
- package/src/utils/dynamicUtils.ts +0 -105
- package/src/utils/file-reference.test.ts +0 -788
- package/src/utils/file-reference.ts +0 -519
- package/src/utils/formatDate.test.ts +0 -237
- package/src/utils/formatting.ts +0 -170
- package/src/utils/lazyLoad.tsx +0 -44
- package/src/utils/logger.ts +0 -179
- package/src/utils/organisationContext.test.ts +0 -322
- package/src/utils/organisationContext.ts +0 -153
- package/src/utils/performanceBenchmark.ts +0 -64
- package/src/utils/performanceBudgets.ts +0 -110
- package/src/utils/permissionTypes.ts +0 -37
- package/src/utils/permissionUtils.test.ts +0 -393
- package/src/utils/permissionUtils.ts +0 -34
- package/src/utils/sanitization.ts +0 -264
- package/src/utils/schemaUtils.ts +0 -37
- package/src/utils/secureDataAccess.test.ts +0 -711
- package/src/utils/secureDataAccess.ts +0 -377
- package/src/utils/secureErrors.ts +0 -79
- package/src/utils/security.ts +0 -156
- package/src/utils/securityMonitor.ts +0 -45
- package/src/utils/sessionTracking.ts +0 -126
- package/src/utils/validation.ts +0 -111
- package/src/utils/validationUtils.ts +0 -120
- package/src/validation/index.ts +0 -12
- /package/dist/{DataTable-UA6CL4JI.js.map → DataTable-QAB34V6K.js.map} +0 -0
- /package/dist/{UnifiedAuthProvider-B37ATQHE.js.map → UnifiedAuthProvider-7F6T4B6K.js.map} +0 -0
- /package/dist/{api-45XYYO2A.js.map → api-ROMBCNKU.js.map} +0 -0
- /package/dist/{audit-64X3VJXB.js.map → audit-WRS3KJKI.js.map} +0 -0
- /package/dist/{chunk-PLDDJCW6.js.map → chunk-7D4SUZUM.js.map} +0 -0
- /package/dist/{useInactivityTracker-TO6ZOF35.js.map → chunk-KQCRWDSA.js.map} +0 -0
- /package/examples/{components 2/DataTable → DataTable}/InitialPageSizeExample.tsx +0 -0
- /package/examples/{features/public-pages → PublicPages}/index.ts +0 -0
- /package/examples/{RBAC → rbac}/index.ts +0 -0
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Unified types for PACE Core
|
|
3
|
-
* @package @jmruthers/pace-core
|
|
4
|
-
* @module unified
|
|
5
|
-
* @since 0.1.0
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* @file Unified Types for DataTable
|
|
9
|
-
* @package @jmruthers/pace-core
|
|
10
|
-
* @module Types
|
|
11
|
-
* @since 0.3.0
|
|
12
|
-
*/
|
|
13
|
-
declare enum AuthErrorCode {
|
|
14
|
-
UNKNOWN_ERROR = "UNKNOWN_ERROR",
|
|
15
|
-
INVALID_CREDENTIALS = "INVALID_CREDENTIALS",
|
|
16
|
-
USER_NOT_FOUND = "USER_NOT_FOUND",
|
|
17
|
-
EMAIL_NOT_CONFIRMED = "EMAIL_NOT_CONFIRMED",
|
|
18
|
-
PASSWORD_TOO_WEAK = "PASSWORD_TOO_WEAK",
|
|
19
|
-
WEAK_PASSWORD = "WEAK_PASSWORD",
|
|
20
|
-
RATE_LIMITED = "RATE_LIMITED",
|
|
21
|
-
RATE_LIMIT_EXCEEDED = "RATE_LIMIT_EXCEEDED",
|
|
22
|
-
SESSION_EXPIRED = "SESSION_EXPIRED",
|
|
23
|
-
PERMISSION_DENIED = "PERMISSION_DENIED",
|
|
24
|
-
NETWORK_ERROR = "NETWORK_ERROR"
|
|
25
|
-
}
|
|
26
|
-
declare enum PermissionErrorCode {
|
|
27
|
-
INSUFFICIENT_PERMISSIONS = "INSUFFICIENT_PERMISSIONS",
|
|
28
|
-
INVALID_PERMISSION = "INVALID_PERMISSION",
|
|
29
|
-
PERMISSION_CHECK_FAILED = "PERMISSION_CHECK_FAILED",
|
|
30
|
-
ACCESS_DENIED = "ACCESS_DENIED"
|
|
31
|
-
}
|
|
32
|
-
declare enum AccessLevel {
|
|
33
|
-
NONE = "none",
|
|
34
|
-
VIEWER = "viewer",
|
|
35
|
-
PARTICIPANT = "participant",
|
|
36
|
-
EDITOR = "editor",
|
|
37
|
-
PLANNER = "planner",
|
|
38
|
-
ADMIN = "admin",
|
|
39
|
-
SUPER_ADMIN = "super_admin",
|
|
40
|
-
SUPER = "super"
|
|
41
|
-
}
|
|
42
|
-
type UserId = string & {
|
|
43
|
-
__brand: 'UserId';
|
|
44
|
-
};
|
|
45
|
-
type SessionToken = string & {
|
|
46
|
-
__brand: 'SessionToken';
|
|
47
|
-
};
|
|
48
|
-
type PermissionString = string & {
|
|
49
|
-
__brand: 'PermissionString';
|
|
50
|
-
};
|
|
51
|
-
type RequestId = string & {
|
|
52
|
-
__brand: 'RequestId';
|
|
53
|
-
};
|
|
54
|
-
declare function createUserId(id: string): UserId;
|
|
55
|
-
declare function createSessionToken(token: string): SessionToken;
|
|
56
|
-
declare function createPermissionString(permission: string): PermissionString;
|
|
57
|
-
declare function createRequestId(id: string): RequestId;
|
|
58
|
-
declare function isUserId(value: unknown): value is UserId;
|
|
59
|
-
declare function isSessionToken(value: unknown): value is SessionToken;
|
|
60
|
-
declare function isPermissionString(value: unknown): value is PermissionString;
|
|
61
|
-
declare function isRequestId(value: unknown): value is RequestId;
|
|
62
|
-
type PermissionMap = Record<string, boolean>;
|
|
63
|
-
interface PermissionContext {
|
|
64
|
-
eventId?: string;
|
|
65
|
-
appName?: string;
|
|
66
|
-
userId?: string;
|
|
67
|
-
}
|
|
68
|
-
interface AuthError extends Error {
|
|
69
|
-
__isAuthError: true;
|
|
70
|
-
name: 'AuthError';
|
|
71
|
-
message: string;
|
|
72
|
-
code: AuthErrorCode;
|
|
73
|
-
user_message: string;
|
|
74
|
-
timestamp: number;
|
|
75
|
-
}
|
|
76
|
-
interface PermissionError extends Error {
|
|
77
|
-
__isPermissionError: true;
|
|
78
|
-
name: 'PermissionError';
|
|
79
|
-
message: string;
|
|
80
|
-
code: PermissionErrorCode;
|
|
81
|
-
timestamp: number;
|
|
82
|
-
}
|
|
83
|
-
interface ThemeColors {
|
|
84
|
-
primary: string;
|
|
85
|
-
secondary: string;
|
|
86
|
-
hover?: string;
|
|
87
|
-
active?: string;
|
|
88
|
-
bgSoft?: string;
|
|
89
|
-
}
|
|
90
|
-
interface EventTheme {
|
|
91
|
-
mid: ThemeColors;
|
|
92
|
-
light: ThemeColors;
|
|
93
|
-
}
|
|
94
|
-
interface Event {
|
|
95
|
-
id: string;
|
|
96
|
-
event_id: string;
|
|
97
|
-
event_name: string;
|
|
98
|
-
event_code?: string;
|
|
99
|
-
organisation_id: string;
|
|
100
|
-
event_date?: string;
|
|
101
|
-
event_days?: number;
|
|
102
|
-
event_venue?: string;
|
|
103
|
-
event_participants?: number;
|
|
104
|
-
is_visible?: boolean;
|
|
105
|
-
event_logo?: string;
|
|
106
|
-
event_colours?: Record<string, unknown> | null;
|
|
107
|
-
event_col_d1?: string;
|
|
108
|
-
event_col_d2?: string;
|
|
109
|
-
event_col_m1?: string;
|
|
110
|
-
event_col_m2?: string;
|
|
111
|
-
event_col_l1?: string;
|
|
112
|
-
event_col_l2?: string;
|
|
113
|
-
event_news?: string;
|
|
114
|
-
event_billing?: string;
|
|
115
|
-
event_catering_email?: string;
|
|
116
|
-
event_email?: string;
|
|
117
|
-
event_footer?: string;
|
|
118
|
-
event_rounddown?: number;
|
|
119
|
-
event_youthmultiplier?: number;
|
|
120
|
-
event_typicalunit?: number;
|
|
121
|
-
created_at: string;
|
|
122
|
-
updated_at: string;
|
|
123
|
-
created_by?: string;
|
|
124
|
-
updated_by?: string;
|
|
125
|
-
name?: string;
|
|
126
|
-
description?: string;
|
|
127
|
-
start_date?: string;
|
|
128
|
-
end_date?: string;
|
|
129
|
-
theme_colors?: EventTheme;
|
|
130
|
-
}
|
|
131
|
-
interface EventContextType {
|
|
132
|
-
selectedEvent: Event | null;
|
|
133
|
-
currentEvent: Event | null;
|
|
134
|
-
events: Event[];
|
|
135
|
-
isLoading: boolean;
|
|
136
|
-
error: string | null;
|
|
137
|
-
selectEvent: (event: Event) => void;
|
|
138
|
-
setCurrentEvent: (event: Event | null) => void;
|
|
139
|
-
clearSelection: () => void;
|
|
140
|
-
refreshEvents: () => Promise<void>;
|
|
141
|
-
createEvent: (event: Partial<Event>) => Promise<Event>;
|
|
142
|
-
updateEvent: (id: string, updates: Partial<Event>) => Promise<Event>;
|
|
143
|
-
deleteEvent: (id: string) => Promise<void>;
|
|
144
|
-
}
|
|
145
|
-
interface UserPermissions {
|
|
146
|
-
user_id: UserId;
|
|
147
|
-
accessLevel: AccessLevel;
|
|
148
|
-
permissions: PermissionMap;
|
|
149
|
-
roles: string[];
|
|
150
|
-
}
|
|
151
|
-
interface User {
|
|
152
|
-
id: string;
|
|
153
|
-
email?: string;
|
|
154
|
-
created_at: string;
|
|
155
|
-
updated_at: string;
|
|
156
|
-
email_confirmed_at?: string;
|
|
157
|
-
last_sign_in_at?: string;
|
|
158
|
-
user_metadata?: Record<string, unknown>;
|
|
159
|
-
app_metadata?: Record<string, unknown>;
|
|
160
|
-
}
|
|
161
|
-
interface Session {
|
|
162
|
-
access_token: string;
|
|
163
|
-
refresh_token?: string;
|
|
164
|
-
expires_in: number;
|
|
165
|
-
expires_at: number;
|
|
166
|
-
token_type: string;
|
|
167
|
-
user: User;
|
|
168
|
-
provider_token?: string;
|
|
169
|
-
provider_refresh_token?: string;
|
|
170
|
-
}
|
|
171
|
-
interface DataRecord {
|
|
172
|
-
id: string | number;
|
|
173
|
-
[key: string]: unknown;
|
|
174
|
-
}
|
|
175
|
-
interface DataTableAction<T = unknown> {
|
|
176
|
-
label: string;
|
|
177
|
-
onClick: (row: T) => void;
|
|
178
|
-
testId?: string;
|
|
179
|
-
disabled?: boolean | ((row: T) => boolean);
|
|
180
|
-
variant?: 'primary' | 'secondary' | 'destructive';
|
|
181
|
-
}
|
|
182
|
-
interface DataTableColumn<T = unknown> {
|
|
183
|
-
id?: string;
|
|
184
|
-
key: string;
|
|
185
|
-
label: string;
|
|
186
|
-
sortable?: boolean;
|
|
187
|
-
filterable?: boolean;
|
|
188
|
-
accessorKey?: keyof T;
|
|
189
|
-
accessorFn?: (row: T) => unknown;
|
|
190
|
-
cell?: (value: unknown, row: T) => React.ReactNode;
|
|
191
|
-
header?: React.ReactNode;
|
|
192
|
-
enableSorting?: boolean;
|
|
193
|
-
enableColumnFilter?: boolean;
|
|
194
|
-
enableGrouping?: boolean;
|
|
195
|
-
enableHiding?: boolean;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
export { type AuthError as A, type DataRecord as D, type Event as E, type PermissionError as P, type RequestId as R, type Session as S, type ThemeColors as T, type User as U, type UserPermissions as a, type PermissionString as b, AccessLevel as c, AuthErrorCode as d, PermissionErrorCode as e, type UserId as f, type SessionToken as g, createUserId as h, createSessionToken as i, createPermissionString as j, createRequestId as k, isUserId as l, isSessionToken as m, isPermissionString as n, isRequestId as o, type PermissionMap as p, type PermissionContext as q, type EventTheme as r, type EventContextType as s, type DataTableAction as t, type DataTableColumn as u };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
init_useInactivityTracker,
|
|
3
|
-
useInactivityTracker
|
|
4
|
-
} from "./chunk-ZZ2SS7NI.js";
|
|
5
|
-
import "./chunk-XDNLUEXI.js";
|
|
6
|
-
import "./chunk-PLDDJCW6.js";
|
|
7
|
-
init_useInactivityTracker();
|
|
8
|
-
export {
|
|
9
|
-
useInactivityTracker
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=useInactivityTracker-TO6ZOF35.js.map
|
package/dist/validation.d.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Internal utilities for validation module
|
|
3
|
-
* @internal This file contains implementation details that should not be used directly
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Utility functions for validating data in the application
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Check if a string is a valid email
|
|
10
|
-
*/
|
|
11
|
-
declare function isValidEmail(email: string): boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Check if a string is empty (either null, undefined, or just whitespace)
|
|
14
|
-
*/
|
|
15
|
-
declare function isEmpty(value: string | null | undefined): boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Check if a password meets minimum requirements
|
|
18
|
-
*/
|
|
19
|
-
declare function isStrongPassword(password: string): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Check if a URL is valid
|
|
22
|
-
*/
|
|
23
|
-
declare function isValidUrl(url: string): boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Check if a date string is valid
|
|
26
|
-
*/
|
|
27
|
-
declare function isValidDate(dateStr: string): boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Check if a value is within a range
|
|
30
|
-
*/
|
|
31
|
-
declare function isWithinRange(value: number, min: number, max: number): boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Check if a value matches a specific pattern
|
|
34
|
-
*/
|
|
35
|
-
declare function matchesPattern(value: string, pattern: RegExp): boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Utility function to deep merge objects for schema combination
|
|
38
|
-
* @internal
|
|
39
|
-
*/
|
|
40
|
-
declare function deepMerge<T extends Record<string, unknown>>(target: T, source: Record<string, unknown>): T;
|
|
41
|
-
/**
|
|
42
|
-
* Type guard to check if a value is a plain object
|
|
43
|
-
* @internal
|
|
44
|
-
*/
|
|
45
|
-
declare function isObject(item: unknown): item is Record<string, unknown>;
|
|
46
|
-
|
|
47
|
-
export { deepMerge, isEmpty, isObject, isStrongPassword, isValidDate, isValidEmail, isValidUrl, isWithinRange, matchesPattern };
|
package/dist/validation.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
deepMerge,
|
|
3
|
-
isEmpty,
|
|
4
|
-
isObject,
|
|
5
|
-
isStrongPassword,
|
|
6
|
-
isValidDate,
|
|
7
|
-
isValidEmail,
|
|
8
|
-
isValidUrl,
|
|
9
|
-
isWithinRange,
|
|
10
|
-
matchesPattern
|
|
11
|
-
} from "./chunk-JISYG63F.js";
|
|
12
|
-
import "./chunk-PLDDJCW6.js";
|
|
13
|
-
export {
|
|
14
|
-
deepMerge,
|
|
15
|
-
isEmpty,
|
|
16
|
-
isObject,
|
|
17
|
-
isStrongPassword,
|
|
18
|
-
isValidDate,
|
|
19
|
-
isValidEmail,
|
|
20
|
-
isValidUrl,
|
|
21
|
-
isWithinRange,
|
|
22
|
-
matchesPattern
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=validation.js.map
|
package/dist/validation.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
lastUpdated: 2025-10-29T22:43:00+11:00
|
|
3
|
-
version: 0.5.76
|
|
4
|
-
reviewedBy: content-audit
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# 📘 PACE Core Documentation Audit Tracker
|
|
8
|
-
|
|
9
|
-
> Progressively aligning all docs with the [PACE Core Documentation Standard](./DOCUMENTATION_STANDARD.md)
|
|
10
|
-
|
|
11
|
-
This file tracks compliance with the PACE Core Documentation Standard across all documentation files.
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## 🧭 Scope
|
|
16
|
-
All Markdown (`.md`) files within:
|
|
17
|
-
- `/packages/core/docs/` (95 files total)
|
|
18
|
-
- Core documentation files
|
|
19
|
-
- Implementation guides, API references, and troubleshooting docs
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## ✅ Progress Tracker
|
|
24
|
-
|
|
25
|
-
### Core Documentation Files
|
|
26
|
-
| File | Status | Writing Principles | Structure | Formatting | Accessibility | Notes |
|
|
27
|
-
|------|---------|-------------------|-----------|------------|---------------|--------|
|
|
28
|
-
| README.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper H2/H3 hierarchy | ✅ Good formatting | ✅ Descriptive links | Main entry point |
|
|
29
|
-
| DOCUMENTATION_STANDARD.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Consistent formatting | ✅ Good accessibility | Official standard |
|
|
30
|
-
| DOCUMENTATION_AUDIT.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Good formatting | ✅ Descriptive links | This file |
|
|
31
|
-
|
|
32
|
-
### Getting Started Guides
|
|
33
|
-
| File | Status | Writing Principles | Structure | Formatting | Accessibility | Notes |
|
|
34
|
-
|------|---------|-------------------|-----------|------------|---------------|--------|
|
|
35
|
-
| getting-started/quick-start.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper H2/H3 hierarchy | ✅ Complete examples | ✅ Descriptive links | Excellent structure |
|
|
36
|
-
| getting-started/installation-guide.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Runnable examples | ✅ Good accessibility | Well organized |
|
|
37
|
-
| getting-started/faq.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Good formatting | ✅ Descriptive links | Comprehensive FAQ |
|
|
38
|
-
| getting-started/quick-reference.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Good formatting | ✅ Good accessibility | Quick reference |
|
|
39
|
-
|
|
40
|
-
### API Reference
|
|
41
|
-
| File | Status | Writing Principles | Structure | Formatting | Accessibility | Notes |
|
|
42
|
-
|------|---------|-------------------|-----------|------------|---------------|--------|
|
|
43
|
-
| api-reference/components.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Complete examples | ✅ Descriptive links | Comprehensive API docs |
|
|
44
|
-
| api-reference/hooks.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Runnable examples | ✅ Good accessibility | Well documented |
|
|
45
|
-
| api-reference/providers.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Good formatting | ✅ Descriptive links | Clear provider docs |
|
|
46
|
-
|
|
47
|
-
### Implementation Guides
|
|
48
|
-
| File | Status | Writing Principles | Structure | Formatting | Accessibility | Notes |
|
|
49
|
-
|------|---------|-------------------|-----------|------------|---------------|--------|
|
|
50
|
-
| implementation-guides/data-tables.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Complete examples | ✅ Descriptive links | Excellent guide |
|
|
51
|
-
| implementation-guides/app-layout.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Runnable examples | ✅ Good accessibility | Well structured |
|
|
52
|
-
| implementation-guides/forms.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Good formatting | ✅ Descriptive links | Comprehensive forms guide |
|
|
53
|
-
|
|
54
|
-
### Troubleshooting
|
|
55
|
-
| File | Status | Writing Principles | Structure | Formatting | Accessibility | Notes |
|
|
56
|
-
|------|---------|-------------------|-----------|------------|---------------|--------|
|
|
57
|
-
| troubleshooting/common-issues.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Complete examples | ✅ Descriptive links | Excellent troubleshooting |
|
|
58
|
-
| troubleshooting/README.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Good formatting | ✅ Good accessibility | Good overview |
|
|
59
|
-
|
|
60
|
-
### Migration Guides
|
|
61
|
-
| File | Status | Writing Principles | Structure | Formatting | Accessibility | Notes |
|
|
62
|
-
|------|---------|-------------------|-----------|------------|---------------|--------|
|
|
63
|
-
| migration/breaking-changes.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Complete examples | ✅ Descriptive links | Clear breaking changes |
|
|
64
|
-
| migration/MIGRATION_GUIDE.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Runnable examples | ✅ Good accessibility | Comprehensive migration |
|
|
65
|
-
|
|
66
|
-
### RBAC Documentation
|
|
67
|
-
| File | Status | Writing Principles | Structure | Formatting | Accessibility | Notes |
|
|
68
|
-
|------|---------|-------------------|-----------|------------|---------------|--------|
|
|
69
|
-
| rbac/README.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Complete examples | ✅ Descriptive links | Excellent RBAC docs |
|
|
70
|
-
| rbac/quick-start.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Runnable examples | ✅ Good accessibility | Good quick start |
|
|
71
|
-
|
|
72
|
-
### Best Practices
|
|
73
|
-
| File | Status | Writing Principles | Structure | Formatting | Accessibility | Notes |
|
|
74
|
-
|------|---------|-------------------|-----------|------------|---------------|--------|
|
|
75
|
-
| best-practices/common-patterns.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Complete examples | ✅ Descriptive links | Excellent patterns |
|
|
76
|
-
| best-practices/README.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Good formatting | ✅ Good accessibility | Good overview |
|
|
77
|
-
|
|
78
|
-
### Core Concepts
|
|
79
|
-
| File | Status | Writing Principles | Structure | Formatting | Accessibility | Notes |
|
|
80
|
-
|------|---------|-------------------|-----------|------------|---------------|--------|
|
|
81
|
-
| core-concepts/authentication.md | ✅ Compliant | ✅ Clear, active voice | ✅ Proper hierarchy | ✅ Complete examples | ✅ Descriptive links | Clear auth concepts |
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## 📊 Overall Compliance Summary
|
|
86
|
-
|
|
87
|
-
| Category | Total Files | Compliant | Non-Compliant | Compliance Rate |
|
|
88
|
-
|----------|-------------|-----------|---------------|-----------------|
|
|
89
|
-
| **Core Files** | 3 | 3 | 0 | 100% |
|
|
90
|
-
| **Getting Started** | 4 | 4 | 0 | 100% |
|
|
91
|
-
| **API Reference** | 3 | 3 | 0 | 100% |
|
|
92
|
-
| **Implementation** | 3 | 3 | 0 | 100% |
|
|
93
|
-
| **Troubleshooting** | 2 | 2 | 0 | 100% |
|
|
94
|
-
| **Migration** | 2 | 2 | 0 | 100% |
|
|
95
|
-
| **RBAC** | 2 | 2 | 0 | 100% |
|
|
96
|
-
| **Best Practices** | 2 | 2 | 0 | 100% |
|
|
97
|
-
| **Core Concepts** | 1 | 1 | 0 | 100% |
|
|
98
|
-
| **TOTAL** | **22** | **22** | **0** | **100%** |
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
## 🧩 Audit Checklist Results
|
|
103
|
-
|
|
104
|
-
### ✅ Writing Principles Compliance
|
|
105
|
-
- ✅ **Clarity first**: All files use plain English, avoid jargon
|
|
106
|
-
- ✅ **Explain "why"**: Files explain reasoning behind decisions
|
|
107
|
-
- ✅ **Active voice**: Consistent use of active voice throughout
|
|
108
|
-
- ✅ **Context-aware**: Written for developers integrating PACE Core
|
|
109
|
-
|
|
110
|
-
### ✅ Structure & File Organization Compliance
|
|
111
|
-
- ✅ **Proper naming**: Core files use UPPER_CASE.md, guides use kebab-case.md
|
|
112
|
-
- ✅ **Logical organization**: Files organized in appropriate directories
|
|
113
|
-
- ✅ **Consistent structure**: All files follow standard documentation sections
|
|
114
|
-
|
|
115
|
-
### ✅ Formatting Standards Compliance
|
|
116
|
-
- ✅ **Heading hierarchy**: Proper H2 for sections, H3 for subsections
|
|
117
|
-
- ✅ **Code blocks**: Use `tsx` for React examples, include imports
|
|
118
|
-
- ✅ **Lists**: Use `-` for unordered lists, keep grammar parallel
|
|
119
|
-
- ✅ **Complete examples**: All code examples are runnable and complete
|
|
120
|
-
|
|
121
|
-
### ✅ Accessibility Compliance
|
|
122
|
-
- ✅ **Semantic headings**: No skipped heading levels
|
|
123
|
-
- ✅ **Descriptive links**: All links use descriptive text
|
|
124
|
-
- ✅ **Screen reader friendly**: Proper heading and list structure
|
|
125
|
-
|
|
126
|
-
### ✅ Maintenance & QA Compliance
|
|
127
|
-
- ✅ **Code examples compile**: All examples are syntactically correct
|
|
128
|
-
- ✅ **Links verified**: All internal links work correctly
|
|
129
|
-
- ✅ **Consistent formatting**: Uniform formatting across all files
|
|
130
|
-
- ✅ **Accessibility checked**: All files meet accessibility standards
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## 🎯 Key Findings
|
|
135
|
-
|
|
136
|
-
### ✅ **Strengths**
|
|
137
|
-
1. **Excellent Structure**: All files follow the documentation standard structure perfectly
|
|
138
|
-
2. **Complete Examples**: All code examples are runnable and include proper imports
|
|
139
|
-
3. **Clear Navigation**: Consistent breadcrumb navigation across all files
|
|
140
|
-
4. **Active Voice**: Consistent use of active voice throughout
|
|
141
|
-
5. **Proper Hierarchy**: Correct heading hierarchy in all files
|
|
142
|
-
6. **Descriptive Links**: All links use descriptive text, not generic "this guide"
|
|
143
|
-
|
|
144
|
-
### ✅ **Compliance Highlights**
|
|
145
|
-
- **100% compliance** with writing principles
|
|
146
|
-
- **100% compliance** with structure and file organization
|
|
147
|
-
- **100% compliance** with formatting standards
|
|
148
|
-
- **100% compliance** with accessibility requirements
|
|
149
|
-
- **100% compliance** with maintenance and QA standards
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
## 🚀 Recommendations
|
|
154
|
-
|
|
155
|
-
### ✅ **Maintain Current Standards**
|
|
156
|
-
1. **Continue quarterly reviews** as specified in documentation standard
|
|
157
|
-
2. **Verify links monthly** to prevent broken references
|
|
158
|
-
3. **Update examples** when new features are released
|
|
159
|
-
4. **Peer review** all new documentation before publishing
|
|
160
|
-
|
|
161
|
-
### ✅ **Quality Metrics Achieved**
|
|
162
|
-
- ✅ **Exported features documented**: 100%
|
|
163
|
-
- ✅ **Runnable examples**: 100%
|
|
164
|
-
- ✅ **Broken links**: 0
|
|
165
|
-
- ✅ **Terminology consistency**: 100%
|
|
166
|
-
- ✅ **Documentation standard compliance**: 100%
|
|
167
|
-
|
|
168
|
-
---
|
|
169
|
-
|
|
170
|
-
**Last Updated**: January 2025
|
|
171
|
-
**Audit Status**: ✅ **COMPLETE - 100% COMPLIANT**
|
|
172
|
-
**Next Review**: April 2025
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
# Documentation Standard
|
|
2
|
-
|
|
3
|
-
Use this guide to ensure consistent, high-quality documentation across the pace-core project. Every documentation contribution should follow these standards.
|
|
4
|
-
|
|
5
|
-
## Voice & Tone
|
|
6
|
-
|
|
7
|
-
- [ ] **Write clearly and directly**: Use active voice and present tense where possible
|
|
8
|
-
- [ ] **Know your audience**: Assume readers are React developers comfortable with TypeScript
|
|
9
|
-
- [ ] **Lead with purpose**: Explain *why* a step matters before diving into *how* to do it
|
|
10
|
-
- [ ] **Be inclusive**: Use "you" instead of "we" when addressing the reader
|
|
11
|
-
- [ ] **Stay professional but approachable**: Avoid jargon without explanation, but don't oversimplify
|
|
12
|
-
|
|
13
|
-
## Content Structure
|
|
14
|
-
|
|
15
|
-
### Page Organization
|
|
16
|
-
- [ ] **Single H1**: Use `#` for the page title once per file, then start sections at `##`
|
|
17
|
-
- [ ] **Logical hierarchy**: Don't skip heading levels (no jumping from `##` to `####`)
|
|
18
|
-
- [ ] **Consistent sections**: Include these sections where relevant:
|
|
19
|
-
- Overview/Introduction
|
|
20
|
-
- Prerequisites
|
|
21
|
-
- Quick Start/Getting Started
|
|
22
|
-
- Detailed Usage
|
|
23
|
-
- Examples
|
|
24
|
-
- API Reference
|
|
25
|
-
- Troubleshooting
|
|
26
|
-
- Next Steps/Related Links
|
|
27
|
-
|
|
28
|
-
### Content Flow
|
|
29
|
-
- [ ] **Context first**: Open with goal, prerequisites, or summary before diving into implementation
|
|
30
|
-
- [ ] **Progressive disclosure**: Start simple, then add complexity
|
|
31
|
-
- [ ] **Clear endings**: End with next steps, validation checks, or related links
|
|
32
|
-
- [ ] **Logical grouping**: Place new pages in directories that match their topic (e.g., RBAC docs in `docs/rbac/`)
|
|
33
|
-
|
|
34
|
-
## Code & Examples
|
|
35
|
-
|
|
36
|
-
### Code Blocks
|
|
37
|
-
- [ ] **Use fenced code blocks** with appropriate language tags (`ts`, `tsx`, `bash`, `json`, `sql`)
|
|
38
|
-
- [ ] **Include complete examples**: Add all necessary imports so code can be copied directly
|
|
39
|
-
- [ ] **Show realistic usage**: Use meaningful variable names and realistic data
|
|
40
|
-
- [ ] **Highlight key parts**: Use comments to explain important sections
|
|
41
|
-
|
|
42
|
-
### Code Quality
|
|
43
|
-
- [ ] **Follow project conventions**: Match the codebase's TypeScript and React patterns
|
|
44
|
-
- [ ] **Test your examples**: Ensure all code samples actually work
|
|
45
|
-
- [ ] **Keep examples focused**: Show one concept at a time unless demonstrating integration
|
|
46
|
-
|
|
47
|
-
## Formatting Standards
|
|
48
|
-
|
|
49
|
-
### Lists & Tables
|
|
50
|
-
- [ ] **Parallel structure**: Keep bullet points grammatically consistent
|
|
51
|
-
- [ ] **Reasonable length**: Limit lists to 7 items; use tables for structured data
|
|
52
|
-
- [ ] **Proper nesting**: Use consistent indentation for nested lists
|
|
53
|
-
- [ ] **Table headers**: Always include headers for tables with meaningful column names
|
|
54
|
-
|
|
55
|
-
### Links & References
|
|
56
|
-
- [ ] **Relative paths**: Link to other docs using relative paths (e.g., `../rbac/quick-start.md`)
|
|
57
|
-
- [ ] **Descriptive text**: Use meaningful link text, not "click here" or raw URLs
|
|
58
|
-
- [ ] **External links**: Open external links in new tabs when appropriate
|
|
59
|
-
- [ ] **API references**: Link to relevant API documentation and source code
|
|
60
|
-
|
|
61
|
-
### Visual Elements
|
|
62
|
-
- [ ] **Screenshots**: Include when they add value, especially for UI components
|
|
63
|
-
- [ ] **Alt text**: Provide descriptive alt text for all images
|
|
64
|
-
- [ ] **Consistent styling**: Use the same formatting for similar elements across docs
|
|
65
|
-
|
|
66
|
-
## Terminology & Language
|
|
67
|
-
|
|
68
|
-
### Project-Specific Terms
|
|
69
|
-
- [ ] **Use "organisation"** (Australian spelling) consistently throughout
|
|
70
|
-
- [ ] **Capitalize properly**: "pace-core" (lowercase), "Supabase" (proper case)
|
|
71
|
-
- [ ] **Define acronyms**: Spell out abbreviations on first use (e.g., "Role-Based Access Control (RBAC)")
|
|
72
|
-
|
|
73
|
-
### Technical Writing
|
|
74
|
-
- [ ] **Be specific**: Use precise technical terms rather than vague language
|
|
75
|
-
- [ ] **Explain assumptions**: Don't assume knowledge of internal implementation details
|
|
76
|
-
- [ ] **Use consistent naming**: Stick to the same terms for the same concepts throughout
|
|
77
|
-
|
|
78
|
-
## Quality Assurance
|
|
79
|
-
|
|
80
|
-
### Pre-Publication Checks
|
|
81
|
-
- [ ] **Spell check**: Run automated spell check and manual review
|
|
82
|
-
- [ ] **Grammar check**: Read aloud or use grammar tools to catch awkward phrasing
|
|
83
|
-
- [ ] **Link validation**: Verify all internal and external links work
|
|
84
|
-
- [ ] **Code testing**: Run and test all code examples
|
|
85
|
-
|
|
86
|
-
### Technical Accuracy
|
|
87
|
-
- [ ] **API alignment**: Check referenced APIs against current implementation in `packages/core/src/`
|
|
88
|
-
- [ ] **Command verification**: Test all CLI commands and scripts in a clean environment
|
|
89
|
-
- [ ] **Version compatibility**: Ensure examples work with current dependency versions
|
|
90
|
-
|
|
91
|
-
### Maintenance
|
|
92
|
-
- [ ] **Index updates**: Update [documentation-index.md](./documentation-index.md) for new, moved, or removed pages
|
|
93
|
-
- [ ] **Gap tracking**: Note follow-up work in the "Known gaps" section of [README.md](./README.md)
|
|
94
|
-
- [ ] **Regular review**: Schedule periodic reviews to keep content current
|
|
95
|
-
|
|
96
|
-
## Accessibility & Inclusion
|
|
97
|
-
|
|
98
|
-
- [ ] **Screen reader friendly**: Use proper heading hierarchy and alt text
|
|
99
|
-
- [ ] **Color independence**: Don't rely solely on color to convey information
|
|
100
|
-
- [ ] **Clear language**: Write for non-native English speakers when possible
|
|
101
|
-
- [ ] **Multiple learning styles**: Include both conceptual explanations and practical examples
|
|
102
|
-
|
|
103
|
-
## Review Process
|
|
104
|
-
|
|
105
|
-
### Self-Review Checklist
|
|
106
|
-
- [ ] **Content accuracy**: Verify all technical details are correct
|
|
107
|
-
- [ ] **Completeness**: Ensure the document achieves its stated purpose
|
|
108
|
-
- [ ] **Clarity**: Check that a new team member could follow the instructions
|
|
109
|
-
- [ ] **Consistency**: Confirm formatting and terminology align with other docs
|
|
110
|
-
|
|
111
|
-
### Peer Review
|
|
112
|
-
- [ ] **Fresh eyes**: Have someone unfamiliar with the topic review for clarity
|
|
113
|
-
- [ ] **Technical review**: Get approval from subject matter experts
|
|
114
|
-
- [ ] **Editorial review**: Check for grammar, style, and formatting consistency
|
|
115
|
-
|
|
116
|
-
## Documentation Types
|
|
117
|
-
|
|
118
|
-
### Quick Reference
|
|
119
|
-
For API docs, component props, and CLI commands:
|
|
120
|
-
- [ ] **Tabular format**: Use tables for parameter lists and return values
|
|
121
|
-
- [ ] **Required vs optional**: Clearly mark required parameters
|
|
122
|
-
- [ ] **Default values**: Include default values where applicable
|
|
123
|
-
- [ ] **Type information**: Show TypeScript types for all parameters
|
|
124
|
-
|
|
125
|
-
### Tutorials
|
|
126
|
-
For step-by-step guides:
|
|
127
|
-
- [ ] **Clear objectives**: State what the reader will accomplish
|
|
128
|
-
- [ ] **Prerequisites**: List required knowledge and setup
|
|
129
|
-
- [ ] **Numbered steps**: Use ordered lists for sequential processes
|
|
130
|
-
- [ ] **Validation points**: Include checkpoints to verify progress
|
|
131
|
-
|
|
132
|
-
### Conceptual Guides
|
|
133
|
-
For explaining how things work:
|
|
134
|
-
- [ ] **Big picture first**: Start with high-level concepts
|
|
135
|
-
- [ ] **Visual aids**: Use diagrams or flowcharts where helpful
|
|
136
|
-
- [ ] **Real-world context**: Explain when and why to use features
|
|
137
|
-
- [ ] **Common patterns**: Show typical usage scenarios
|