@jmruthers/pace-core 0.5.181 → 0.5.183
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/usePublicEventLogo.test.ts +147 -0
- 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.test.ts +21 -0
- package/src/styles/index.ts +1 -5
- package/src/types/__tests__/guards.test.ts +1 -1
- package/src/types/__tests__/organisation.roles.test.ts +55 -0
- 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/audit/audit.test.ts +65 -0
- package/src/utils/device/deviceFingerprint.test.ts +171 -0
- 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/__tests__/validationUtils.test.ts +72 -0
- 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,278 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
lastUpdated: 2025-10-29T22:43:00+11:00
|
|
3
|
-
version: 0.5.76
|
|
4
|
-
reviewedBy: content-audit
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Migration Guide: v0.4.15 Tailwind Content Scanning
|
|
8
|
-
|
|
9
|
-
This guide helps you migrate to pace-core v0.4.15+ which includes source files for proper Tailwind v4 content scanning.
|
|
10
|
-
|
|
11
|
-
## 🎯 What's New in v0.4.15
|
|
12
|
-
|
|
13
|
-
- ✅ **Source files included** in published package
|
|
14
|
-
- ✅ **New source exports** for Tailwind scanning
|
|
15
|
-
- ✅ **Improved content scanning** with 800+ CSS rules
|
|
16
|
-
- ✅ **Better component styling** with complete design system
|
|
17
|
-
|
|
18
|
-
## 🚀 Migration Steps
|
|
19
|
-
|
|
20
|
-
### 1. Update pace-core
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
npm install @jmruthers/pace-core@latest
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
### 2. Update Vite Configuration
|
|
27
|
-
|
|
28
|
-
**Before (v0.4.14 and below):**
|
|
29
|
-
```typescript
|
|
30
|
-
// vite.config.ts
|
|
31
|
-
export default defineConfig({
|
|
32
|
-
plugins: [
|
|
33
|
-
react(),
|
|
34
|
-
tailwindcss({
|
|
35
|
-
content: [
|
|
36
|
-
'./src/**/*.{js,ts,jsx,tsx}',
|
|
37
|
-
'./node_modules/@jmruthers/pace-core/**/*.{js,ts,jsx,tsx}'
|
|
38
|
-
]
|
|
39
|
-
})
|
|
40
|
-
],
|
|
41
|
-
})
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**After (v0.4.15+):**
|
|
45
|
-
```typescript
|
|
46
|
-
// vite.config.ts
|
|
47
|
-
export default defineConfig({
|
|
48
|
-
plugins: [
|
|
49
|
-
react(),
|
|
50
|
-
tailwindcss({
|
|
51
|
-
content: [
|
|
52
|
-
'./src/**/*.{js,ts,jsx,tsx}',
|
|
53
|
-
'./node_modules/@jmruthers/pace-core/src/**/*.{js,ts,jsx,tsx}'
|
|
54
|
-
]
|
|
55
|
-
})
|
|
56
|
-
],
|
|
57
|
-
})
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### 3. Alternative: PostCSS Configuration
|
|
61
|
-
|
|
62
|
-
If you're using PostCSS instead of Vite plugin:
|
|
63
|
-
|
|
64
|
-
```javascript
|
|
65
|
-
// tailwind.config.js
|
|
66
|
-
/** @type {import('tailwindcss').Config} */
|
|
67
|
-
module.exports = {
|
|
68
|
-
content: [
|
|
69
|
-
'./src/**/*.{js,ts,jsx,tsx}',
|
|
70
|
-
'./node_modules/@jmruthers/pace-core/src/**/*.{js,ts,jsx,tsx}'
|
|
71
|
-
],
|
|
72
|
-
theme: {
|
|
73
|
-
extend: {},
|
|
74
|
-
},
|
|
75
|
-
plugins: [],
|
|
76
|
-
}
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### 4. Clear Build Cache
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
# Clear all caches
|
|
83
|
-
rm -rf dist .vite node_modules package-lock.json
|
|
84
|
-
|
|
85
|
-
# Reinstall dependencies
|
|
86
|
-
npm install
|
|
87
|
-
|
|
88
|
-
# Rebuild
|
|
89
|
-
npm run build
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## 🔍 Verification Steps
|
|
93
|
-
|
|
94
|
-
### 1. Check CSS Output Size
|
|
95
|
-
|
|
96
|
-
After building, verify your CSS file size:
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
# Check CSS file size
|
|
100
|
-
ls -la dist/assets/*.css
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
**Expected Results:**
|
|
104
|
-
- ✅ **50-100+ kB** (with all utility classes)
|
|
105
|
-
- ❌ **20-30 kB** (missing classes - indicates scanning issue)
|
|
106
|
-
|
|
107
|
-
### 2. Test Component Styling
|
|
108
|
-
|
|
109
|
-
Create a test component to verify styling:
|
|
110
|
-
|
|
111
|
-
```tsx
|
|
112
|
-
// src/TestComponent.tsx
|
|
113
|
-
import { Button, Card } from '@jmruthers/pace-core';
|
|
114
|
-
|
|
115
|
-
export function TestComponent() {
|
|
116
|
-
return (
|
|
117
|
-
<div className="p-8 space-y-4">
|
|
118
|
-
<h1 className="text-2xl font-bold text-main-900">Migration Test</h1>
|
|
119
|
-
|
|
120
|
-
<Card className="p-4 border border-main-300">
|
|
121
|
-
<h2 className="text-lg font-semibold text-sec-800 mb-2">
|
|
122
|
-
Component Styling Test
|
|
123
|
-
</h2>
|
|
124
|
-
<div className="space-y-2">
|
|
125
|
-
<Button
|
|
126
|
-
variant="primary"
|
|
127
|
-
className="bg-main-600 text-main-50 hover:bg-main-700"
|
|
128
|
-
>
|
|
129
|
-
Primary Button
|
|
130
|
-
</Button>
|
|
131
|
-
<Button
|
|
132
|
-
variant="secondary"
|
|
133
|
-
className="bg-sec-500 text-main-50 hover:bg-sec-600"
|
|
134
|
-
>
|
|
135
|
-
Secondary Button
|
|
136
|
-
</Button>
|
|
137
|
-
<div className="p-2 bg-acc-100 text-acc-800 rounded">
|
|
138
|
-
Accent colored div
|
|
139
|
-
</div>
|
|
140
|
-
</div>
|
|
141
|
-
</Card>
|
|
142
|
-
</div>
|
|
143
|
-
);
|
|
144
|
-
}
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
**Expected Result:**
|
|
148
|
-
- ✅ Proper PACE Core colors (main, sec, acc palettes)
|
|
149
|
-
- ✅ Correct spacing and typography
|
|
150
|
-
- ✅ Hover effects working
|
|
151
|
-
- ✅ Component styling complete
|
|
152
|
-
|
|
153
|
-
### 3. Check Browser Dev Tools
|
|
154
|
-
|
|
155
|
-
Inspect elements to verify:
|
|
156
|
-
|
|
157
|
-
1. **Open browser dev tools**
|
|
158
|
-
2. **Inspect the test component**
|
|
159
|
-
3. **Check computed styles** for:
|
|
160
|
-
- `background-color` values (should show PACE Core colors)
|
|
161
|
-
- `color` values (should show proper text colors)
|
|
162
|
-
- `padding`, `margin` values (should show proper spacing)
|
|
163
|
-
|
|
164
|
-
### 4. Verify CSS Rules Count
|
|
165
|
-
|
|
166
|
-
Check the generated CSS for utility classes:
|
|
167
|
-
|
|
168
|
-
```bash
|
|
169
|
-
# Count CSS rules (approximate)
|
|
170
|
-
grep -c "\.bg-\|\.text-\|\.p-\|\.m-\|\.w-\|\.h-\|\.flex\|\.grid" dist/assets/*.css
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
**Expected Results:**
|
|
174
|
-
- ✅ **800+ rules** (complete utility set)
|
|
175
|
-
- ❌ **<300 rules** (incomplete - scanning issue)
|
|
176
|
-
|
|
177
|
-
## 🛠️ Troubleshooting
|
|
178
|
-
|
|
179
|
-
### Issue: Still only 292 CSS rules
|
|
180
|
-
|
|
181
|
-
**Possible Causes:**
|
|
182
|
-
1. Using old package version
|
|
183
|
-
2. Incorrect content paths
|
|
184
|
-
3. Cached build files
|
|
185
|
-
|
|
186
|
-
**Solutions:**
|
|
187
|
-
1. **Verify package version:**
|
|
188
|
-
```bash
|
|
189
|
-
npm list @jmruthers/pace-core
|
|
190
|
-
# Should show v0.4.15+
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
2. **Check content paths:**
|
|
194
|
-
```typescript
|
|
195
|
-
// Ensure you're using source paths
|
|
196
|
-
content: [
|
|
197
|
-
'./src/**/*.{js,ts,jsx,tsx}',
|
|
198
|
-
'./node_modules/@jmruthers/pace-core/src/**/*.{js,ts,jsx,tsx}'
|
|
199
|
-
]
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
3. **Clear all caches:**
|
|
203
|
-
```bash
|
|
204
|
-
rm -rf dist .vite node_modules package-lock.json
|
|
205
|
-
npm install
|
|
206
|
-
npm run build
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
### Issue: Source files not found
|
|
210
|
-
|
|
211
|
-
**Error:** `Cannot resolve './node_modules/@jmruthers/pace-core/src/**/*.{js,ts,jsx,tsx}'`
|
|
212
|
-
|
|
213
|
-
**Solution:**
|
|
214
|
-
1. Ensure you're using pace-core v0.4.15+
|
|
215
|
-
2. Check if source files exist:
|
|
216
|
-
```bash
|
|
217
|
-
ls -la node_modules/@jmruthers/pace-core/src/
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
### Issue: Build errors with source files
|
|
221
|
-
|
|
222
|
-
**Error:** TypeScript errors when scanning source files
|
|
223
|
-
|
|
224
|
-
**Solution:** Add TypeScript configuration:
|
|
225
|
-
|
|
226
|
-
```json
|
|
227
|
-
// tsconfig.json
|
|
228
|
-
{
|
|
229
|
-
"compilerOptions": {
|
|
230
|
-
"skipLibCheck": true
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
### Issue: Components still unstyled
|
|
236
|
-
|
|
237
|
-
**Solution:**
|
|
238
|
-
1. Verify CSS import: `import '@jmruthers/pace-core/src/styles/core.css'`
|
|
239
|
-
2. Check Vite configuration includes source files
|
|
240
|
-
3. Restart dev server after changes
|
|
241
|
-
|
|
242
|
-
## 📊 Before vs After
|
|
243
|
-
|
|
244
|
-
| Aspect | v0.4.14 and below | v0.4.15+ |
|
|
245
|
-
|--------|-------------------|-----------|
|
|
246
|
-
| **CSS Rules** | ~292 rules | 800+ rules |
|
|
247
|
-
| **File Size** | 20-30 kB | 50-100+ kB |
|
|
248
|
-
| **Component Styling** | Incomplete | Complete |
|
|
249
|
-
| **Colors** | Missing | Full palette |
|
|
250
|
-
| **Spacing** | Limited | Complete |
|
|
251
|
-
| **Content Scanning** | Compiled JS only | Source files |
|
|
252
|
-
|
|
253
|
-
## 🎉 Success Indicators
|
|
254
|
-
|
|
255
|
-
You'll know the migration was successful when:
|
|
256
|
-
|
|
257
|
-
- ✅ **CSS file is 50-100+ kB**
|
|
258
|
-
- ✅ **Components render with proper styling**
|
|
259
|
-
- ✅ **PACE Core colors work** (`bg-main-600`, `text-sec-700`, etc.)
|
|
260
|
-
- ✅ **Spacing and typography are correct**
|
|
261
|
-
- ✅ **Hover effects and transitions work**
|
|
262
|
-
- ✅ **No console errors about missing classes**
|
|
263
|
-
|
|
264
|
-
## 📚 Additional Resources
|
|
265
|
-
|
|
266
|
-
- [Tailwind Content Scanning Guide](../troubleshooting/tailwind-content-scanning.md)
|
|
267
|
-
- [Vite Configuration Guide](../consuming-app-vite-config.md)
|
|
268
|
-
- [Troubleshooting Guide](../troubleshooting/styling-issues.md)
|
|
269
|
-
- [Installation Guide](../getting-started/installation.md)
|
|
270
|
-
|
|
271
|
-
## 🆘 Need Help?
|
|
272
|
-
|
|
273
|
-
If you're still experiencing issues after following this guide:
|
|
274
|
-
|
|
275
|
-
1. **Check the troubleshooting guides** above
|
|
276
|
-
2. **Verify your configuration** matches the examples
|
|
277
|
-
3. **Test with a minimal example** to isolate the issue
|
|
278
|
-
4. **Contact support** with specific error messages and configuration details
|
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
lastUpdated: 2025-10-29T22:43:00+11:00
|
|
3
|
-
version: 0.5.76
|
|
4
|
-
reviewedBy: content-audit
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Migration Guide: v0.4.16 CSS-First Approach
|
|
8
|
-
|
|
9
|
-
This guide helps you migrate to pace-core v0.4.16+ which uses Tailwind v4's CSS-first approach with `@source` directives for automatic content scanning.
|
|
10
|
-
|
|
11
|
-
## 🎯 What's New in v0.4.16
|
|
12
|
-
|
|
13
|
-
- ✅ **CSS-first approach** with `@source` directives in `core.css`
|
|
14
|
-
- ✅ **Automatic content scanning** of published source files
|
|
15
|
-
- ✅ **Simplified Vite configuration** - no complex content paths needed
|
|
16
|
-
- ✅ **Better reliability** - follows Tailwind v4 best practices
|
|
17
|
-
- ✅ **Same styling results** with less configuration
|
|
18
|
-
|
|
19
|
-
## 🚀 Migration Steps
|
|
20
|
-
|
|
21
|
-
### 1. Update pace-core
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
npm install @jmruthers/pace-core@latest
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### 2. Simplify Vite Configuration
|
|
28
|
-
|
|
29
|
-
**Before (v0.4.15 and below):**
|
|
30
|
-
```typescript
|
|
31
|
-
// vite.config.ts
|
|
32
|
-
export default defineConfig({
|
|
33
|
-
plugins: [
|
|
34
|
-
react(),
|
|
35
|
-
tailwindcss({
|
|
36
|
-
content: [
|
|
37
|
-
'./src/**/*.{js,ts,jsx,tsx}',
|
|
38
|
-
'./node_modules/@jmruthers/pace-core/src/**/*.{js,ts,jsx,tsx}'
|
|
39
|
-
]
|
|
40
|
-
})
|
|
41
|
-
],
|
|
42
|
-
})
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**After (v0.4.16+):**
|
|
46
|
-
```typescript
|
|
47
|
-
// vite.config.ts
|
|
48
|
-
export default defineConfig({
|
|
49
|
-
plugins: [
|
|
50
|
-
react(),
|
|
51
|
-
tailwindcss({
|
|
52
|
-
// Only need to scan your app's source files
|
|
53
|
-
// pace-core source files are automatically scanned via @source directives
|
|
54
|
-
content: [
|
|
55
|
-
'./src/**/*.{js,ts,jsx,tsx}'
|
|
56
|
-
]
|
|
57
|
-
})
|
|
58
|
-
],
|
|
59
|
-
})
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### 3. Alternative: PostCSS Configuration
|
|
63
|
-
|
|
64
|
-
If you're using PostCSS instead of Vite plugin:
|
|
65
|
-
|
|
66
|
-
```javascript
|
|
67
|
-
// tailwind.config.js
|
|
68
|
-
/** @type {import('tailwindcss').Config} */
|
|
69
|
-
module.exports = {
|
|
70
|
-
content: [
|
|
71
|
-
'./src/**/*.{js,ts,jsx,tsx}'
|
|
72
|
-
// pace-core source files are automatically scanned via @source directives
|
|
73
|
-
],
|
|
74
|
-
theme: {
|
|
75
|
-
extend: {},
|
|
76
|
-
},
|
|
77
|
-
plugins: [],
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### 4. Clear Build Cache
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
# Clear all caches
|
|
85
|
-
rm -rf dist .vite node_modules package-lock.json
|
|
86
|
-
|
|
87
|
-
# Reinstall dependencies
|
|
88
|
-
npm install
|
|
89
|
-
|
|
90
|
-
# Rebuild
|
|
91
|
-
npm run build
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
## 🔍 How It Works
|
|
95
|
-
|
|
96
|
-
### CSS-First Approach
|
|
97
|
-
|
|
98
|
-
Pace-core v0.4.16+ includes `@source` directives in `core.css`:
|
|
99
|
-
|
|
100
|
-
```css
|
|
101
|
-
@import "tailwindcss";
|
|
102
|
-
|
|
103
|
-
/* @source directives for Tailwind v4 content scanning */
|
|
104
|
-
@source "./src/**/*.{js,ts,jsx,tsx}";
|
|
105
|
-
@source "./src/components/**/*.{js,ts,jsx,tsx}";
|
|
106
|
-
@source "./src/providers/**/*.{js,ts,jsx,tsx}";
|
|
107
|
-
@source "./src/hooks/**/*.{js,ts,jsx,tsx}";
|
|
108
|
-
@source "./src/utils/**/*.{js,ts,jsx,tsx}";
|
|
109
|
-
@source "./src/types/**/*.{js,ts,jsx,tsx}";
|
|
110
|
-
@source "./src/validation/**/*.{js,ts,jsx,tsx}";
|
|
111
|
-
@source "./src/rbac/**/*.{js,ts,jsx,tsx}";
|
|
112
|
-
|
|
113
|
-
@theme {
|
|
114
|
-
/* ... theme configuration ... */
|
|
115
|
-
}
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
These directives tell Tailwind v4 to automatically scan the pace-core source files for utility classes, eliminating the need for complex Vite configuration.
|
|
119
|
-
|
|
120
|
-
## 🔍 Verification Steps
|
|
121
|
-
|
|
122
|
-
### 1. Check CSS Output Size
|
|
123
|
-
|
|
124
|
-
After building, verify your CSS file size:
|
|
125
|
-
|
|
126
|
-
```bash
|
|
127
|
-
# Check CSS file size
|
|
128
|
-
ls -la dist/assets/*.css
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
**Expected Results:**
|
|
132
|
-
- ✅ **50-100+ kB** (with all utility classes)
|
|
133
|
-
- ❌ **20-30 kB** (missing classes - indicates scanning issue)
|
|
134
|
-
|
|
135
|
-
### 2. Test Component Styling
|
|
136
|
-
|
|
137
|
-
Create a test component to verify styling:
|
|
138
|
-
|
|
139
|
-
```tsx
|
|
140
|
-
// src/TestComponent.tsx
|
|
141
|
-
import { Button, Card } from '@jmruthers/pace-core';
|
|
142
|
-
|
|
143
|
-
export function TestComponent() {
|
|
144
|
-
return (
|
|
145
|
-
<div className="p-8 space-y-4">
|
|
146
|
-
<h1 className="text-2xl font-bold text-main-900">CSS-First Test</h1>
|
|
147
|
-
|
|
148
|
-
<Card className="p-4 border border-main-300">
|
|
149
|
-
<h2 className="text-lg font-semibold text-sec-800 mb-2">
|
|
150
|
-
Component Styling Test
|
|
151
|
-
</h2>
|
|
152
|
-
<div className="space-y-2">
|
|
153
|
-
<Button
|
|
154
|
-
variant="primary"
|
|
155
|
-
className="bg-main-600 text-main-50 hover:bg-main-700"
|
|
156
|
-
>
|
|
157
|
-
Primary Button
|
|
158
|
-
</Button>
|
|
159
|
-
<Button
|
|
160
|
-
variant="secondary"
|
|
161
|
-
className="bg-sec-500 text-main-50 hover:bg-sec-600"
|
|
162
|
-
>
|
|
163
|
-
Secondary Button
|
|
164
|
-
</Button>
|
|
165
|
-
<div className="p-2 bg-acc-100 text-acc-800 rounded">
|
|
166
|
-
Accent colored div
|
|
167
|
-
</div>
|
|
168
|
-
</div>
|
|
169
|
-
</Card>
|
|
170
|
-
</div>
|
|
171
|
-
);
|
|
172
|
-
}
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
**Expected Result:**
|
|
176
|
-
- ✅ Proper PACE Core colors (main, sec, acc palettes)
|
|
177
|
-
- ✅ Correct spacing and typography
|
|
178
|
-
- ✅ Hover effects working
|
|
179
|
-
- ✅ Component styling complete
|
|
180
|
-
|
|
181
|
-
### 3. Check Browser Dev Tools
|
|
182
|
-
|
|
183
|
-
Inspect elements to verify:
|
|
184
|
-
|
|
185
|
-
1. **Open browser dev tools**
|
|
186
|
-
2. **Inspect the test component**
|
|
187
|
-
3. **Check computed styles** for:
|
|
188
|
-
- `background-color` values (should show PACE Core colors)
|
|
189
|
-
- `color` values (should show proper text colors)
|
|
190
|
-
- `padding`, `margin` values (should show proper spacing)
|
|
191
|
-
|
|
192
|
-
### 4. Verify CSS Rules Count
|
|
193
|
-
|
|
194
|
-
Check the generated CSS for utility classes:
|
|
195
|
-
|
|
196
|
-
```bash
|
|
197
|
-
# Count CSS rules (approximate)
|
|
198
|
-
grep -c "\.bg-\|\.text-\|\.p-\|\.m-\|\.w-\|\.h-\|\.flex\|\.grid" dist/assets/*.css
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
**Expected Results:**
|
|
202
|
-
- ✅ **800+ rules** (complete utility set)
|
|
203
|
-
- ❌ **<300 rules** (incomplete - scanning issue)
|
|
204
|
-
|
|
205
|
-
## 🛠️ Troubleshooting
|
|
206
|
-
|
|
207
|
-
### Issue: Still only 292 CSS rules
|
|
208
|
-
|
|
209
|
-
**Possible Causes:**
|
|
210
|
-
1. Using old package version
|
|
211
|
-
2. CSS-first approach not working
|
|
212
|
-
3. Cached build files
|
|
213
|
-
|
|
214
|
-
**Solutions:**
|
|
215
|
-
1. **Verify package version:**
|
|
216
|
-
```bash
|
|
217
|
-
npm list @jmruthers/pace-core
|
|
218
|
-
# Should show v0.4.16+
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
2. **Check @source directives:**
|
|
222
|
-
```bash
|
|
223
|
-
# Check if core.css contains @source directives
|
|
224
|
-
grep -n "@source" node_modules/@jmruthers/pace-core/src/styles/core.css
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
3. **Fallback to explicit content scanning:**
|
|
228
|
-
```typescript
|
|
229
|
-
// vite.config.ts - Fallback configuration
|
|
230
|
-
export default defineConfig({
|
|
231
|
-
plugins: [
|
|
232
|
-
react(),
|
|
233
|
-
tailwindcss({
|
|
234
|
-
content: [
|
|
235
|
-
'./src/**/*.{js,ts,jsx,tsx}',
|
|
236
|
-
'./node_modules/@jmruthers/pace-core/src/**/*.{js,ts,jsx,tsx}'
|
|
237
|
-
]
|
|
238
|
-
})
|
|
239
|
-
],
|
|
240
|
-
})
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
4. **Clear all caches:**
|
|
244
|
-
```bash
|
|
245
|
-
rm -rf dist .vite node_modules package-lock.json
|
|
246
|
-
npm install
|
|
247
|
-
npm run build
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
### Issue: @source directives not working
|
|
251
|
-
|
|
252
|
-
**Error:** CSS-first approach not scanning pace-core files
|
|
253
|
-
|
|
254
|
-
**Solution:** Use the fallback configuration with explicit content paths (see above).
|
|
255
|
-
|
|
256
|
-
### Issue: Build errors with @source directives
|
|
257
|
-
|
|
258
|
-
**Error:** Tailwind v4 doesn't recognize @source directives
|
|
259
|
-
|
|
260
|
-
**Solution:**
|
|
261
|
-
1. Ensure you're using Tailwind v4
|
|
262
|
-
2. Use the fallback configuration with explicit content paths
|
|
263
|
-
3. Check Tailwind v4 documentation for @source directive support
|
|
264
|
-
|
|
265
|
-
### Issue: Components still unstyled
|
|
266
|
-
|
|
267
|
-
**Solution:**
|
|
268
|
-
1. Verify CSS import: `import '@jmruthers/pace-core/src/styles/core.css'`
|
|
269
|
-
2. Check Vite configuration includes source files
|
|
270
|
-
3. Restart dev server after changes
|
|
271
|
-
4. Use fallback configuration if CSS-first approach fails
|
|
272
|
-
|
|
273
|
-
## 📊 Before vs After
|
|
274
|
-
|
|
275
|
-
| Aspect | v0.4.15 and below | v0.4.16+ |
|
|
276
|
-
|--------|-------------------|-----------|
|
|
277
|
-
| **Configuration** | Complex content paths | Simple content paths |
|
|
278
|
-
| **Content Scanning** | Explicit source file paths | Automatic via @source directives |
|
|
279
|
-
| **CSS Rules** | 800+ rules | 800+ rules |
|
|
280
|
-
| **File Size** | 50-100+ kB | 50-100+ kB |
|
|
281
|
-
| **Component Styling** | Complete | Complete |
|
|
282
|
-
| **Reliability** | Good | Better |
|
|
283
|
-
| **Maintenance** | Manual path updates | Automatic |
|
|
284
|
-
|
|
285
|
-
## 🎉 Success Indicators
|
|
286
|
-
|
|
287
|
-
You'll know the migration was successful when:
|
|
288
|
-
|
|
289
|
-
- ✅ **CSS file is 50-100+ kB**
|
|
290
|
-
- ✅ **Components render with proper styling**
|
|
291
|
-
- ✅ **PACE Core colors work** (`bg-main-600`, `text-sec-700`, etc.)
|
|
292
|
-
- ✅ **Spacing and typography are correct**
|
|
293
|
-
- ✅ **Hover effects and transitions work**
|
|
294
|
-
- ✅ **No console errors about missing classes**
|
|
295
|
-
- ✅ **Simplified Vite configuration works**
|
|
296
|
-
|
|
297
|
-
## 📚 Additional Resources
|
|
298
|
-
|
|
299
|
-
- [CSS-First Approach Guide](../troubleshooting/tailwind-content-scanning.md)
|
|
300
|
-
- [Vite Configuration Guide](../consuming-app-vite-config.md)
|
|
301
|
-
- [Troubleshooting Guide](../troubleshooting/styling-issues.md)
|
|
302
|
-
- [Installation Guide](../getting-started/installation.md)
|
|
303
|
-
|
|
304
|
-
## 🆘 Need Help?
|
|
305
|
-
|
|
306
|
-
If you're still experiencing issues after following this guide:
|
|
307
|
-
|
|
308
|
-
1. **Check the troubleshooting guides** above
|
|
309
|
-
2. **Verify your configuration** matches the examples
|
|
310
|
-
3. **Test with a minimal example** to isolate the issue
|
|
311
|
-
4. **Use the fallback configuration** if CSS-first approach fails
|
|
312
|
-
5. **Contact support** with specific error messages and configuration details
|