@jmruthers/pace-core 0.5.54 → 0.5.56
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/README.md +0 -4
- package/dist/{DataTable-7FMFXA7A.js → DataTable-DJQTKX33.js} +11 -11
- package/dist/{PublicLoadingSpinner-Bq_-BeK-.d.ts → PublicLoadingSpinner-SL8WaQN7.d.ts} +2 -21
- package/dist/{api-H5A3H4IR.js → api-LUNF5O6M.js} +3 -3
- package/dist/{appConfig-BVGyuvI7.d.ts → appConfig-DjpeG6P-.d.ts} +9 -1
- package/dist/{appNameResolver-7GHF5ED2.js → appNameResolver-UURKN7NF.js} +2 -2
- package/dist/{audit-BUW3LMJB.js → audit-6TOCAMKO.js} +2 -2
- package/dist/{chunk-NRK4AIHQ.js → chunk-2DFCT6D3.js} +3 -3
- package/dist/{chunk-GIO7BFE7.js → chunk-3JKVVLD3.js} +66 -169
- package/dist/{chunk-GIO7BFE7.js.map → chunk-3JKVVLD3.js.map} +1 -1
- package/dist/{chunk-MZBUOP4P.js → chunk-5BSLGBYI.js} +4 -3
- package/dist/chunk-5BSLGBYI.js.map +1 -0
- package/dist/{chunk-I5Z3QH5X.js → chunk-66C4BSAY.js} +2 -2
- package/dist/{chunk-I5Z3QH5X.js.map → chunk-66C4BSAY.js.map} +1 -1
- package/dist/{chunk-EL2O4IUX.js → chunk-ASXSJGPW.js} +20 -24
- package/dist/{chunk-EL2O4IUX.js.map → chunk-ASXSJGPW.js.map} +1 -1
- package/dist/{chunk-7BNPOCLL.js → chunk-B2WTCLCV.js} +6 -2
- package/dist/chunk-B2WTCLCV.js.map +1 -0
- package/dist/{chunk-WJARTBCT.js → chunk-D7ARGIA3.js} +16 -7
- package/dist/chunk-D7ARGIA3.js.map +1 -0
- package/dist/{chunk-MYP2EGHX.js → chunk-GIDCWCHF.js} +21 -14
- package/dist/chunk-GIDCWCHF.js.map +1 -0
- package/dist/{chunk-MSFACPQQ.js → chunk-HYNGIE5T.js} +11 -11
- package/dist/{chunk-MSFACPQQ.js.map → chunk-HYNGIE5T.js.map} +1 -1
- package/dist/{chunk-TRIZ7IB7.js → chunk-I5GID3EX.js} +148 -288
- package/dist/chunk-I5GID3EX.js.map +1 -0
- package/dist/{chunk-GWSBHC4J.js → chunk-KLPVOPRI.js} +261 -38
- package/dist/chunk-KLPVOPRI.js.map +1 -0
- package/dist/{chunk-BC3S53OZ.js → chunk-N6XMGSGD.js} +30 -14
- package/dist/chunk-N6XMGSGD.js.map +1 -0
- package/dist/{chunk-6MTY77WU.js → chunk-QB4GXDUM.js} +3 -3
- package/dist/{chunk-YDJW5XTN.js → chunk-STT7INZR.js} +25 -1
- package/dist/chunk-STT7INZR.js.map +1 -0
- package/dist/{chunk-NYUJ4FJR.js → chunk-UETTVYKU.js} +7 -7
- package/dist/chunk-UETTVYKU.js.map +1 -0
- package/dist/{chunk-22KLBHPS.js → chunk-W66AZIOH.js} +2 -2
- package/dist/chunk-W66AZIOH.js.map +1 -0
- package/dist/{chunk-NZ655MWE.js → chunk-YEHO6FDW.js} +5 -4
- package/dist/chunk-YEHO6FDW.js.map +1 -0
- package/dist/{chunk-SS3E6QLB.js → chunk-YNUBMSMV.js} +2 -2
- package/dist/chunk-YNUBMSMV.js.map +1 -0
- package/dist/{chunk-74C6SNEC.js → chunk-ZPK5656W.js} +3 -3
- package/dist/{chunk-74C6SNEC.js.map → chunk-ZPK5656W.js.map} +1 -1
- package/dist/components.d.ts +22 -899
- package/dist/components.js +436 -3118
- package/dist/components.js.map +1 -1
- package/dist/file-reference-9xUOnwyt.d.ts +70 -0
- package/dist/hooks.d.ts +2 -2
- package/dist/hooks.js +10 -10
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +49 -9
- package/dist/index.js +190 -25
- package/dist/index.js.map +1 -1
- package/dist/{organisation-CO3Sh3_D.d.ts → organisation-t-vvQC3g.d.ts} +1 -8
- package/dist/providers.d.ts +2 -2
- package/dist/providers.js +5 -5
- package/dist/rbac/index.d.ts +65 -46
- package/dist/rbac/index.js +10 -12
- package/dist/styles/core.css +0 -125
- package/dist/types.d.ts +2 -1
- package/dist/types.js +3 -1
- package/dist/types.js.map +1 -1
- package/dist/{usePublicRouteParams-B2OcAsur.d.ts → usePublicRouteParams-CdoFxnJK.d.ts} +1 -1
- package/dist/utils.d.ts +3 -4
- package/dist/utils.js +44 -13
- package/dist/utils.js.map +1 -1
- package/docs/FILE_REFERENCE_SYSTEM.md +440 -0
- package/docs/INDEX.md +7 -5
- package/docs/README.md +0 -1
- package/docs/api/README.md +0 -4
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.md +1 -1
- package/docs/api/classes/MissingUserContextError.md +1 -1
- package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
- package/docs/api/classes/PermissionDeniedError.md +2 -2
- package/docs/api/classes/PublicErrorBoundary.md +1 -1
- package/docs/api/classes/RBACAuditManager.md +12 -12
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +6 -6
- package/docs/api/classes/RBACError.md +1 -1
- package/docs/api/classes/RBACNotInitializedError.md +1 -1
- package/docs/api/classes/SecureSupabaseClient.md +1 -1
- package/docs/api/classes/StorageUtils.md +281 -0
- package/docs/api/interfaces/AggregateConfig.md +1 -1
- package/docs/api/interfaces/ButtonProps.md +1 -1
- package/docs/api/interfaces/CardProps.md +1 -1
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +1 -1
- package/docs/api/interfaces/DataTableAction.md +1 -1
- package/docs/api/interfaces/DataTableColumn.md +1 -1
- package/docs/api/interfaces/DataTableProps.md +1 -1
- package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
- package/docs/api/interfaces/EmptyStateConfig.md +1 -1
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/EventContextType.md +1 -1
- package/docs/api/interfaces/EventLogoProps.md +1 -1
- package/docs/api/interfaces/EventProviderProps.md +1 -1
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadProps.md +1 -1
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
- package/docs/api/interfaces/InputProps.md +1 -1
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +2 -2
- package/docs/api/interfaces/NavigationContextType.md +1 -1
- package/docs/api/interfaces/NavigationGuardProps.md +1 -1
- package/docs/api/interfaces/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/NavigationProviderProps.md +1 -1
- package/docs/api/interfaces/Organisation.md +1 -1
- package/docs/api/interfaces/OrganisationContextType.md +1 -1
- package/docs/api/interfaces/OrganisationMembership.md +1 -1
- package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
- package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
- package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
- 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 +4 -4
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
- package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
- package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
- package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +1 -1
- package/docs/api/interfaces/RBACContextType.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/RBACProviderProps.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +2 -2
- package/docs/api/interfaces/RouteConfig.md +2 -2
- package/docs/api/interfaces/SecureDataContextType.md +1 -1
- package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
- package/docs/api/interfaces/StorageConfig.md +1 -1
- package/docs/api/interfaces/StorageFileInfo.md +1 -1
- package/docs/api/interfaces/StorageFileMetadata.md +1 -1
- package/docs/api/interfaces/StorageListOptions.md +1 -1
- package/docs/api/interfaces/StorageListResult.md +1 -1
- package/docs/api/interfaces/StorageUploadOptions.md +1 -1
- package/docs/api/interfaces/StorageUploadResult.md +1 -1
- package/docs/api/interfaces/StorageUrlOptions.md +1 -1
- package/docs/api/interfaces/StyleImport.md +1 -1
- package/docs/api/interfaces/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +1 -1
- package/docs/api/interfaces/UserMenuProps.md +1 -1
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +204 -200
- package/docs/api-reference/components.md +141 -163
- package/docs/api-reference/hooks.md +347 -0
- package/docs/core-concepts/rbac-system.md +69 -16
- package/docs/getting-started/examples/basic-auth-app.md +0 -1
- package/docs/implementation-guides/datatable-rbac-usage.md +12 -11
- package/docs/implementation-guides/file-upload-storage.md +733 -0
- package/docs/implementation-guides/inactivity-tracking.md +779 -0
- package/docs/implementation-guides/organisation-security.md +748 -0
- package/docs/implementation-guides/public-pages-advanced.md +1022 -0
- package/docs/migration/MIGRATION_GUIDE.md +684 -0
- package/docs/migration/README.md +13 -2
- package/docs/migration/rbac-migration.md +73 -0
- package/docs/rbac/examples/rbac-rls-integration-example.md +11 -13
- package/docs/style-guide.md +269 -1
- package/package.json +1 -1
- package/src/__tests__/TESTING_GUIDELINES.md +331 -18
- package/src/__tests__/helpers/supabaseMock.ts +99 -0
- package/src/__tests__/rbac/PagePermissionGuard.test.tsx +10 -7
- package/src/__tests__/shared.ts +6 -0
- package/src/components/DataTable/components/ActionButtons.tsx +2 -2
- package/src/components/DataTable/components/DataTableCore.tsx +2 -2
- package/src/components/DataTable/components/UnifiedTableBody.tsx +1 -1
- package/src/components/DataTable/utils/debugTools.ts +2 -2
- package/src/components/Dialog/Dialog.test.tsx +12 -2
- package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +6 -6
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +2 -2
- package/src/components/FileDisplay.tsx +233 -0
- package/src/components/FileUpload.tsx +176 -0
- package/src/components/Footer/Footer.test.tsx +7 -7
- package/src/components/NavigationMenu/NavigationMenu.test.tsx +13 -6
- package/src/components/OrganisationSelector/OrganisationSelector.test.tsx +30 -3
- package/src/components/OrganisationSelector/OrganisationSelector.tsx +1 -1
- package/src/components/PaceAppLayout/__tests__/PaceAppLayout.rbac.test.tsx +558 -0
- package/src/components/PublicLayout/PublicErrorBoundary.tsx +1 -1
- package/src/components/PublicLayout/PublicPageDebugger.tsx +2 -2
- package/src/components/PublicLayout/PublicPageDiagnostic.tsx +2 -2
- package/src/components/PublicLayout/PublicPageProvider.tsx +2 -2
- package/src/components/Select/Select.test.tsx +50 -15
- package/src/components/SuperAdminGuard.tsx +2 -2
- package/src/components/__tests__/SuperAdminGuard.test.tsx +559 -0
- package/src/components/index.ts +0 -183
- package/src/hooks/__tests__/useOrganisationPermissions.unit.test.tsx +2 -2
- package/src/hooks/__tests__/usePermissionCache.unit.test.ts +1 -1
- package/src/hooks/__tests__/useRBAC.unit.test.ts +191 -138
- package/src/hooks/public/usePublicEvent.ts +2 -2
- package/src/hooks/useAppConfig.ts +3 -3
- package/src/hooks/useComponentPerformance.ts +1 -1
- package/src/hooks/useDataTablePerformance.ts +1 -1
- package/src/hooks/useFileReference.ts +232 -0
- package/src/hooks/useOrganisationPermissions.test.ts +254 -344
- package/src/hooks/useOrganisationPermissions.ts +15 -7
- package/src/hooks/useOrganisationSecurity.test.ts +390 -402
- package/src/hooks/usePerformanceMonitor.ts +1 -1
- package/src/hooks/usePermissionCache.test.ts +264 -395
- package/src/hooks/usePermissionCache.ts +34 -4
- package/src/hooks/useSecureDataAccess.test.ts +486 -0
- package/src/hooks/useSecureDataAccess.ts +4 -1
- package/src/providers/InactivityProvider.tsx +2 -2
- package/src/providers/OrganisationProvider.test.simple.tsx +168 -0
- package/src/providers/OrganisationProvider.test.tsx +168 -0
- package/src/providers/OrganisationProvider.tsx +25 -31
- package/src/providers/UnifiedAuthProvider.test.simple.tsx +205 -0
- package/src/providers/UnifiedAuthProvider.test.tsx +128 -0
- package/src/providers/__tests__/InactivityProvider.test.tsx +3 -4
- package/src/providers/__tests__/OrganisationProvider.test.tsx +19 -14
- package/src/rbac/__tests__/integration.authflow.test.tsx +123 -0
- package/src/rbac/__tests__/integration.navigation.test.tsx +72 -0
- package/src/rbac/__tests__/integration.securedata.test.tsx +92 -0
- package/src/rbac/__tests__/integration.smoke.test.tsx +73 -0
- package/src/rbac/__tests__/rbac-core.test.tsx +26 -22
- package/src/rbac/__tests__/rbac-engine-core-logic.test.ts +411 -0
- package/src/rbac/__tests__/rbac-engine-simplified.test.ts +285 -0
- package/src/rbac/__tests__/rbac-functions.test.ts +655 -0
- package/src/rbac/__tests__/rbac-integration.test.ts +532 -0
- package/src/rbac/__tests__/scenarios.user-role.test.tsx +196 -0
- package/src/rbac/api.test.ts +6 -6
- package/src/rbac/api.ts +2 -2
- package/src/rbac/audit.test.ts +485 -0
- package/src/rbac/audit.ts +7 -1
- package/src/rbac/cache-invalidation.ts +318 -0
- package/src/rbac/cache.test.ts +286 -0
- package/src/rbac/components/EnhancedNavigationMenu.test.tsx +559 -0
- package/src/rbac/components/EnhancedNavigationMenu.tsx +29 -23
- package/src/rbac/components/NavigationProvider.test.tsx +449 -0
- package/src/rbac/components/PagePermissionGuard.tsx +4 -4
- package/src/rbac/components/PagePermissionProvider.test.tsx +479 -0
- package/src/rbac/components/SecureDataProvider.test.tsx +511 -0
- package/src/rbac/components/__tests__/PagePermissionGuard.race-condition.test.tsx +159 -430
- package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +4 -5
- package/src/rbac/components/__tests__/PagePermissionGuard.verification.test.tsx +112 -118
- package/src/rbac/config.test.ts +410 -0
- package/src/rbac/engine.test.simple.ts +237 -0
- package/src/rbac/engine.test.ts +233 -0
- package/src/rbac/engine.ts +37 -41
- package/src/rbac/examples/CompleteRBACExample.tsx +3 -3
- package/src/rbac/examples/EventBasedApp.tsx +4 -4
- package/src/rbac/hooks/useRBAC.simple.test.ts +16 -0
- package/src/rbac/hooks/useRBAC.test.ts +207 -455
- package/src/rbac/hooks/useRBAC.ts +30 -22
- package/src/rbac/permissions.test.ts +128 -0
- package/src/rbac/permissions.ts +56 -141
- package/src/rbac/providers/RBACProvider.tsx +1 -1
- package/src/rbac/secureClient.test.ts +444 -0
- package/src/rbac/security.test.ts +390 -0
- package/src/rbac/security.ts +1 -1
- package/src/rbac/types.test.ts +382 -0
- package/src/rbac/types.ts +2 -2
- package/src/styles/core.css +0 -125
- package/src/types/file-reference.ts +77 -0
- package/src/types/rbac-functions.ts +290 -0
- package/src/types/supabase.ts +10 -28
- package/src/types/unified.ts +4 -1
- package/src/utils/__tests__/bundleAnalysis.unit.test.ts +81 -55
- package/src/utils/__tests__/lazyLoad.unit.test.tsx +21 -12
- package/src/utils/__tests__/organisationContext.unit.test.ts +13 -7
- package/src/utils/__tests__/performanceBudgets.unit.test.ts +3 -3
- package/src/utils/__tests__/sessionTracking.unit.test.ts +32 -12
- package/src/utils/appConfig.ts +1 -1
- package/src/utils/appIdResolver.test.ts +503 -0
- package/src/utils/appIdResolver.ts +1 -1
- package/src/utils/appNameResolver.test.ts +494 -0
- package/src/utils/appNameResolver.ts +3 -2
- package/src/utils/bundleAnalysis.ts +3 -3
- package/src/utils/debugLogger.ts +1 -1
- package/src/utils/file-reference.ts +263 -0
- package/src/utils/formatDate.test.ts +2 -2
- package/src/utils/organisationContext.test.ts +340 -0
- package/src/utils/organisationContext.ts +19 -6
- package/src/utils/performanceBudgets.ts +2 -2
- package/src/utils/permissionUtils.test.ts +393 -0
- package/src/utils/permissionUtils.ts +5 -2
- package/src/utils/secureDataAccess.test.ts +715 -0
- package/src/utils/secureDataAccess.ts +21 -5
- package/src/utils/sessionTracking.ts +34 -4
- package/src/utils/storage/__tests__/helpers.unit.test.ts +328 -0
- package/src/utils/storage/__tests__/index.unit.test.ts +16 -0
- package/src/utils/storage/helpers.ts +20 -25
- package/src/utils/storage/index.ts +29 -1
- package/src/vite-env.d.ts +17 -0
- package/dist/chunk-22KLBHPS.js.map +0 -1
- package/dist/chunk-7BNPOCLL.js.map +0 -1
- package/dist/chunk-BC3S53OZ.js.map +0 -1
- package/dist/chunk-GWSBHC4J.js.map +0 -1
- package/dist/chunk-MYP2EGHX.js.map +0 -1
- package/dist/chunk-MZBUOP4P.js.map +0 -1
- package/dist/chunk-NYUJ4FJR.js.map +0 -1
- package/dist/chunk-NZ655MWE.js.map +0 -1
- package/dist/chunk-SS3E6QLB.js.map +0 -1
- package/dist/chunk-TRIZ7IB7.js.map +0 -1
- package/dist/chunk-WJARTBCT.js.map +0 -1
- package/dist/chunk-YDJW5XTN.js.map +0 -1
- package/docs/print-components/README.md +0 -258
- package/docs/print-components/api-reference.md +0 -636
- package/docs/print-components/examples/README.md +0 -204
- package/docs/print-components/examples/basic-report.tsx +0 -92
- package/docs/print-components/examples/card-catalog.tsx +0 -149
- package/docs/print-components/examples/cover-page-report.tsx +0 -163
- package/docs/print-components/quick-start.md +0 -363
- package/src/components/PrintButton/PrintButton.tsx +0 -321
- package/src/components/PrintButton/PrintButtonGroup.tsx +0 -84
- package/src/components/PrintButton/PrintToolbar.tsx +0 -94
- package/src/components/PrintButton/__tests__/PrintButton.test.tsx +0 -271
- package/src/components/PrintButton/examples/PrintButtonShowcase.tsx +0 -438
- package/src/components/PrintButton/index.ts +0 -33
- package/src/components/PrintButton/types.ts +0 -173
- package/src/components/PrintCard/PrintCard.tsx +0 -154
- package/src/components/PrintCard/PrintCardContent.tsx +0 -57
- package/src/components/PrintCard/PrintCardFooter.tsx +0 -60
- package/src/components/PrintCard/PrintCardGrid.tsx +0 -91
- package/src/components/PrintCard/PrintCardHeader.tsx +0 -78
- package/src/components/PrintCard/PrintCardImage.tsx +0 -81
- package/src/components/PrintCard/examples/PrintCardShowcase.tsx +0 -239
- package/src/components/PrintCard/index.ts +0 -34
- package/src/components/PrintCard/types.ts +0 -171
- package/src/components/PrintDataTable/PrintDataTable.tsx +0 -215
- package/src/components/PrintDataTable/PrintTableGroup.tsx +0 -90
- package/src/components/PrintDataTable/PrintTableRow.tsx +0 -76
- package/src/components/PrintDataTable/index.ts +0 -25
- package/src/components/PrintDataTable/types.ts +0 -67
- package/src/components/PrintFooter/PrintFooter.tsx +0 -183
- package/src/components/PrintFooter/PrintFooterContent.tsx +0 -71
- package/src/components/PrintFooter/PrintFooterInfo.tsx +0 -86
- package/src/components/PrintFooter/PrintPageNumber.tsx +0 -90
- package/src/components/PrintFooter/examples/PrintFooterShowcase.tsx +0 -390
- package/src/components/PrintFooter/index.ts +0 -30
- package/src/components/PrintFooter/types.ts +0 -149
- package/src/components/PrintGrid/PrintGrid.tsx +0 -180
- package/src/components/PrintGrid/PrintGridBreakpoint.tsx +0 -109
- package/src/components/PrintGrid/PrintGridContainer.tsx +0 -128
- package/src/components/PrintGrid/PrintGridItem.tsx +0 -220
- package/src/components/PrintGrid/examples/PrintGridShowcase.tsx +0 -359
- package/src/components/PrintGrid/index.ts +0 -31
- package/src/components/PrintGrid/types.ts +0 -159
- package/src/components/PrintHeader/PrintCoverHeader.tsx +0 -230
- package/src/components/PrintHeader/PrintHeader.tsx +0 -150
- package/src/components/PrintHeader/index.ts +0 -17
- package/src/components/PrintHeader/types.ts +0 -42
- package/src/components/PrintLayout/PrintLayout.tsx +0 -122
- package/src/components/PrintLayout/PrintLayoutContext.tsx +0 -66
- package/src/components/PrintLayout/PrintPageBreak.tsx +0 -52
- package/src/components/PrintLayout/examples/PrintShowcase.tsx +0 -230
- package/src/components/PrintLayout/index.ts +0 -19
- package/src/components/PrintLayout/types.ts +0 -37
- package/src/components/PrintPageBreak/PrintPageBreak.tsx +0 -120
- package/src/components/PrintPageBreak/PrintPageBreakGroup.tsx +0 -90
- package/src/components/PrintPageBreak/PrintPageBreakIndicator.tsx +0 -112
- package/src/components/PrintPageBreak/examples/PrintPageBreakShowcase.tsx +0 -279
- package/src/components/PrintPageBreak/index.ts +0 -23
- package/src/components/PrintPageBreak/types.ts +0 -94
- package/src/components/PrintSection/PrintColumn.tsx +0 -104
- package/src/components/PrintSection/PrintDivider.tsx +0 -101
- package/src/components/PrintSection/PrintSection.tsx +0 -129
- package/src/components/PrintSection/PrintSectionContent.tsx +0 -75
- package/src/components/PrintSection/PrintSectionHeader.tsx +0 -97
- package/src/components/PrintSection/examples/PrintSectionShowcase.tsx +0 -258
- package/src/components/PrintSection/index.ts +0 -33
- package/src/components/PrintSection/types.ts +0 -155
- package/src/components/PrintText/PrintText.tsx +0 -116
- package/src/components/PrintText/index.ts +0 -16
- package/src/components/PrintText/types.ts +0 -24
- package/src/rbac/__tests__/integration.test.tsx +0 -218
- package/src/utils/print/PrintDataProcessor.ts +0 -390
- package/src/utils/print/examples/PrintUtilitiesShowcase.tsx +0 -397
- package/src/utils/print/index.ts +0 -29
- package/src/utils/print/types.ts +0 -196
- package/src/utils/print/usePrintOptimization.ts +0 -272
- /package/dist/{DataTable-7FMFXA7A.js.map → DataTable-DJQTKX33.js.map} +0 -0
- /package/dist/{api-H5A3H4IR.js.map → api-LUNF5O6M.js.map} +0 -0
- /package/dist/{appNameResolver-7GHF5ED2.js.map → appNameResolver-UURKN7NF.js.map} +0 -0
- /package/dist/{audit-BUW3LMJB.js.map → audit-6TOCAMKO.js.map} +0 -0
- /package/dist/{chunk-NRK4AIHQ.js.map → chunk-2DFCT6D3.js.map} +0 -0
- /package/dist/{chunk-6MTY77WU.js.map → chunk-QB4GXDUM.js.map} +0 -0
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file PrintSection Component
|
|
3
|
-
* @package @jmruthers/pace-core
|
|
4
|
-
* @module PrintSection
|
|
5
|
-
* @since 0.4.38
|
|
6
|
-
*
|
|
7
|
-
* Print-optimized section component for content organization with column layouts.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import React from 'react';
|
|
11
|
-
import { cn } from '../../utils/cn';
|
|
12
|
-
import { PrintText } from '../PrintText';
|
|
13
|
-
import { PrintSectionProps } from './types';
|
|
14
|
-
|
|
15
|
-
export function PrintSection({
|
|
16
|
-
children,
|
|
17
|
-
title,
|
|
18
|
-
subtitle,
|
|
19
|
-
layout = 'single',
|
|
20
|
-
gap = 'md',
|
|
21
|
-
spacing = 'md',
|
|
22
|
-
showBorder = false,
|
|
23
|
-
background = 'transparent',
|
|
24
|
-
printOptimized = true,
|
|
25
|
-
className,
|
|
26
|
-
...props
|
|
27
|
-
}: PrintSectionProps) {
|
|
28
|
-
const getLayoutClasses = (layout: string): string => {
|
|
29
|
-
switch (layout) {
|
|
30
|
-
case 'two-column':
|
|
31
|
-
return 'grid grid-cols-2';
|
|
32
|
-
case 'three-column':
|
|
33
|
-
return 'grid grid-cols-3';
|
|
34
|
-
case 'four-column':
|
|
35
|
-
return 'grid grid-cols-4';
|
|
36
|
-
default:
|
|
37
|
-
return 'block';
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
const getGapClasses = (gap: string): string => {
|
|
42
|
-
switch (gap) {
|
|
43
|
-
case 'sm':
|
|
44
|
-
return 'gap-2';
|
|
45
|
-
case 'lg':
|
|
46
|
-
return 'gap-6';
|
|
47
|
-
case 'xl':
|
|
48
|
-
return 'gap-8';
|
|
49
|
-
default:
|
|
50
|
-
return 'gap-4';
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
const getSpacingClasses = (spacing: string): string => {
|
|
55
|
-
switch (spacing) {
|
|
56
|
-
case 'none':
|
|
57
|
-
return 'py-0';
|
|
58
|
-
case 'sm':
|
|
59
|
-
return 'py-2';
|
|
60
|
-
case 'lg':
|
|
61
|
-
return 'py-6';
|
|
62
|
-
case 'xl':
|
|
63
|
-
return 'py-8';
|
|
64
|
-
default:
|
|
65
|
-
return 'py-4';
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
const getBackgroundClasses = (background: string): string => {
|
|
70
|
-
switch (background) {
|
|
71
|
-
case 'white':
|
|
72
|
-
return 'bg-background';
|
|
73
|
-
case 'gray':
|
|
74
|
-
return 'bg-muted';
|
|
75
|
-
case 'primary':
|
|
76
|
-
return 'bg-primary text-primary-foreground';
|
|
77
|
-
case 'secondary':
|
|
78
|
-
return 'bg-secondary text-secondary-foreground';
|
|
79
|
-
default:
|
|
80
|
-
return 'bg-transparent';
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
const getBorderClasses = (): string => {
|
|
85
|
-
if (!showBorder) return '';
|
|
86
|
-
return 'border border-border rounded-lg p-4';
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
const getPrintOptimizedClasses = (): string => {
|
|
90
|
-
if (!printOptimized) return '';
|
|
91
|
-
return cn(
|
|
92
|
-
'print:break-inside-avoid',
|
|
93
|
-
'print:mb-4',
|
|
94
|
-
'print:border-black',
|
|
95
|
-
'print:bg-white',
|
|
96
|
-
'print:text-black'
|
|
97
|
-
);
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
return (
|
|
101
|
-
<section
|
|
102
|
-
className={cn(
|
|
103
|
-
'print-section',
|
|
104
|
-
getLayoutClasses(layout),
|
|
105
|
-
getGapClasses(gap),
|
|
106
|
-
getSpacingClasses(spacing),
|
|
107
|
-
getBackgroundClasses(background),
|
|
108
|
-
getBorderClasses(),
|
|
109
|
-
getPrintOptimizedClasses(),
|
|
110
|
-
className
|
|
111
|
-
)}
|
|
112
|
-
{...props}
|
|
113
|
-
>
|
|
114
|
-
{title && (
|
|
115
|
-
<div className="mb-4">
|
|
116
|
-
<PrintText variant="heading" weight="semibold">
|
|
117
|
-
{title}
|
|
118
|
-
</PrintText>
|
|
119
|
-
{subtitle && (
|
|
120
|
-
<PrintText variant="caption" color="muted" className="mt-1">
|
|
121
|
-
{subtitle}
|
|
122
|
-
</PrintText>
|
|
123
|
-
)}
|
|
124
|
-
</div>
|
|
125
|
-
)}
|
|
126
|
-
{children}
|
|
127
|
-
</section>
|
|
128
|
-
);
|
|
129
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file PrintSectionContent Component
|
|
3
|
-
* @package @jmruthers/pace-core
|
|
4
|
-
* @module PrintSectionContent
|
|
5
|
-
* @since 0.4.38
|
|
6
|
-
*
|
|
7
|
-
* Print-optimized section content component.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import React from 'react';
|
|
11
|
-
import { cn } from '../../utils/cn';
|
|
12
|
-
import { PrintSectionContentProps } from './types';
|
|
13
|
-
|
|
14
|
-
export function PrintSectionContent({
|
|
15
|
-
children,
|
|
16
|
-
padding = 'md',
|
|
17
|
-
background = 'transparent',
|
|
18
|
-
printOptimized = true,
|
|
19
|
-
className,
|
|
20
|
-
...props
|
|
21
|
-
}: PrintSectionContentProps) {
|
|
22
|
-
const getPaddingClasses = (padding: string): string => {
|
|
23
|
-
switch (padding) {
|
|
24
|
-
case 'none':
|
|
25
|
-
return 'p-0';
|
|
26
|
-
case 'sm':
|
|
27
|
-
return 'p-2';
|
|
28
|
-
case 'lg':
|
|
29
|
-
return 'p-6';
|
|
30
|
-
default:
|
|
31
|
-
return 'p-4';
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
const getBackgroundClasses = (background: string): string => {
|
|
36
|
-
switch (background) {
|
|
37
|
-
case 'white':
|
|
38
|
-
return 'bg-background';
|
|
39
|
-
case 'gray':
|
|
40
|
-
return 'bg-muted';
|
|
41
|
-
case 'primary':
|
|
42
|
-
return 'bg-primary text-primary-foreground';
|
|
43
|
-
case 'secondary':
|
|
44
|
-
return 'bg-secondary text-secondary-foreground';
|
|
45
|
-
default:
|
|
46
|
-
return 'bg-transparent';
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
const getPrintOptimizedClasses = (): string => {
|
|
51
|
-
if (!printOptimized) return '';
|
|
52
|
-
return cn(
|
|
53
|
-
'print:break-inside-avoid',
|
|
54
|
-
'print:text-sm',
|
|
55
|
-
'print:leading-tight',
|
|
56
|
-
'print:bg-white',
|
|
57
|
-
'print:text-black'
|
|
58
|
-
);
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
return (
|
|
62
|
-
<div
|
|
63
|
-
className={cn(
|
|
64
|
-
'print-section-content',
|
|
65
|
-
getPaddingClasses(padding),
|
|
66
|
-
getBackgroundClasses(background),
|
|
67
|
-
getPrintOptimizedClasses(),
|
|
68
|
-
className
|
|
69
|
-
)}
|
|
70
|
-
{...props}
|
|
71
|
-
>
|
|
72
|
-
{children}
|
|
73
|
-
</div>
|
|
74
|
-
);
|
|
75
|
-
}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file PrintSectionHeader Component
|
|
3
|
-
* @package @jmruthers/pace-core
|
|
4
|
-
* @module PrintSectionHeader
|
|
5
|
-
* @since 0.4.38
|
|
6
|
-
*
|
|
7
|
-
* Print-optimized section header component.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import React from 'react';
|
|
11
|
-
import { cn } from '../../utils/cn';
|
|
12
|
-
import { PrintText } from '../PrintText';
|
|
13
|
-
import { PrintSectionHeaderProps } from './types';
|
|
14
|
-
|
|
15
|
-
export function PrintSectionHeader({
|
|
16
|
-
children,
|
|
17
|
-
title,
|
|
18
|
-
subtitle,
|
|
19
|
-
level = 2,
|
|
20
|
-
align = 'left',
|
|
21
|
-
showDivider = false,
|
|
22
|
-
printOptimized = true,
|
|
23
|
-
className,
|
|
24
|
-
...props
|
|
25
|
-
}: PrintSectionHeaderProps) {
|
|
26
|
-
const getAlignmentClasses = (align: string): string => {
|
|
27
|
-
switch (align) {
|
|
28
|
-
case 'center':
|
|
29
|
-
return 'text-center';
|
|
30
|
-
case 'right':
|
|
31
|
-
return 'text-right';
|
|
32
|
-
default:
|
|
33
|
-
return 'text-left';
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
const getDividerClasses = (): string => {
|
|
38
|
-
if (!showDivider) return '';
|
|
39
|
-
return 'border-b border-border pb-2 mb-4';
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
const getPrintOptimizedClasses = (): string => {
|
|
43
|
-
if (!printOptimized) return '';
|
|
44
|
-
return cn(
|
|
45
|
-
'print:break-after-avoid',
|
|
46
|
-
'print:mb-2',
|
|
47
|
-
'print:border-black'
|
|
48
|
-
);
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
const getHeadingVariant = (level: number) => {
|
|
52
|
-
switch (level) {
|
|
53
|
-
case 1:
|
|
54
|
-
return 'heading' as const;
|
|
55
|
-
case 2:
|
|
56
|
-
return 'heading' as const;
|
|
57
|
-
case 3:
|
|
58
|
-
return 'subheading' as const;
|
|
59
|
-
case 4:
|
|
60
|
-
return 'subheading' as const;
|
|
61
|
-
case 5:
|
|
62
|
-
return 'body' as const;
|
|
63
|
-
case 6:
|
|
64
|
-
return 'body' as const;
|
|
65
|
-
default:
|
|
66
|
-
return 'heading' as const;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
const HeadingTag = `h${level}` as keyof JSX.IntrinsicElements;
|
|
71
|
-
|
|
72
|
-
return (
|
|
73
|
-
<HeadingTag
|
|
74
|
-
className={cn(
|
|
75
|
-
'print-section-header',
|
|
76
|
-
'mb-4',
|
|
77
|
-
getAlignmentClasses(align),
|
|
78
|
-
getDividerClasses(),
|
|
79
|
-
getPrintOptimizedClasses(),
|
|
80
|
-
className
|
|
81
|
-
)}
|
|
82
|
-
{...props}
|
|
83
|
-
>
|
|
84
|
-
{title && (
|
|
85
|
-
<PrintText variant={getHeadingVariant(level)} weight="semibold">
|
|
86
|
-
{title}
|
|
87
|
-
</PrintText>
|
|
88
|
-
)}
|
|
89
|
-
{subtitle && (
|
|
90
|
-
<PrintText variant="caption" color="muted" className="mt-1">
|
|
91
|
-
{subtitle}
|
|
92
|
-
</PrintText>
|
|
93
|
-
)}
|
|
94
|
-
{children}
|
|
95
|
-
</HeadingTag>
|
|
96
|
-
);
|
|
97
|
-
}
|
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file PrintSection Showcase Example
|
|
3
|
-
* @package @jmruthers/pace-core
|
|
4
|
-
* @module PrintSectionShowcase
|
|
5
|
-
* @since 0.4.38
|
|
6
|
-
*
|
|
7
|
-
* Example showcasing PrintSection components usage.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import React from 'react';
|
|
11
|
-
import {
|
|
12
|
-
PrintLayout,
|
|
13
|
-
PrintHeader,
|
|
14
|
-
PrintText,
|
|
15
|
-
PrintSection,
|
|
16
|
-
PrintSectionHeader,
|
|
17
|
-
PrintSectionContent,
|
|
18
|
-
PrintColumn,
|
|
19
|
-
PrintDivider
|
|
20
|
-
} from '../../index';
|
|
21
|
-
|
|
22
|
-
export function PrintSectionShowcase() {
|
|
23
|
-
return (
|
|
24
|
-
<PrintLayout
|
|
25
|
-
orientation="portrait"
|
|
26
|
-
pageSize="A4"
|
|
27
|
-
firstPageHeader={
|
|
28
|
-
<PrintHeader
|
|
29
|
-
title="Print Section Components Showcase"
|
|
30
|
-
subtitle="Demonstrating content organization and column layouts"
|
|
31
|
-
branding={{
|
|
32
|
-
logo: "/pace_logo_square.svg",
|
|
33
|
-
companyName: "Pace Core"
|
|
34
|
-
}}
|
|
35
|
-
metadata={[
|
|
36
|
-
{ label: 'Date', value: new Date().toLocaleDateString() },
|
|
37
|
-
{ label: 'Page', value: "1" }
|
|
38
|
-
]}
|
|
39
|
-
/>
|
|
40
|
-
}
|
|
41
|
-
>
|
|
42
|
-
<div className="space-y-8">
|
|
43
|
-
{/* Single Column Section */}
|
|
44
|
-
<PrintSection title="Single Column Layout" background="white" showBorder>
|
|
45
|
-
<PrintSectionContent>
|
|
46
|
-
<PrintText>
|
|
47
|
-
This is a single column section with a white background and border.
|
|
48
|
-
It's perfect for main content areas that need to stand out.
|
|
49
|
-
</PrintText>
|
|
50
|
-
<PrintText className="mt-2">
|
|
51
|
-
The content is organized in a clean, readable format that works well for both screen and print.
|
|
52
|
-
</PrintText>
|
|
53
|
-
</PrintSectionContent>
|
|
54
|
-
</PrintSection>
|
|
55
|
-
|
|
56
|
-
{/* Two Column Section */}
|
|
57
|
-
<PrintSection
|
|
58
|
-
title="Two Column Layout"
|
|
59
|
-
layout="two-column"
|
|
60
|
-
background="gray"
|
|
61
|
-
gap="lg"
|
|
62
|
-
>
|
|
63
|
-
<PrintColumn width="1/2">
|
|
64
|
-
<PrintSectionHeader title="Left Column" level={3} showDivider>
|
|
65
|
-
<PrintText variant="heading">Left Column</PrintText>
|
|
66
|
-
</PrintSectionHeader>
|
|
67
|
-
<PrintSectionContent>
|
|
68
|
-
<PrintText>
|
|
69
|
-
This is the left column content. It can contain any type of content
|
|
70
|
-
including text, images, or other components.
|
|
71
|
-
</PrintText>
|
|
72
|
-
<PrintText className="mt-2">
|
|
73
|
-
The column system automatically handles responsive behavior and print optimization.
|
|
74
|
-
</PrintText>
|
|
75
|
-
</PrintSectionContent>
|
|
76
|
-
</PrintColumn>
|
|
77
|
-
|
|
78
|
-
<PrintColumn width="1/2">
|
|
79
|
-
<PrintSectionHeader title="Right Column" level={3} showDivider>
|
|
80
|
-
<PrintText variant="heading">Right Column</PrintText>
|
|
81
|
-
</PrintSectionHeader>
|
|
82
|
-
<PrintSectionContent>
|
|
83
|
-
<PrintText>
|
|
84
|
-
This is the right column content. Both columns will have equal width
|
|
85
|
-
and proper spacing between them.
|
|
86
|
-
</PrintText>
|
|
87
|
-
<PrintText className="mt-2">
|
|
88
|
-
The layout adapts to different screen sizes and print formats.
|
|
89
|
-
</PrintText>
|
|
90
|
-
</PrintSectionContent>
|
|
91
|
-
</PrintColumn>
|
|
92
|
-
</PrintSection>
|
|
93
|
-
|
|
94
|
-
{/* Three Column Section */}
|
|
95
|
-
<PrintSection
|
|
96
|
-
title="Three Column Layout"
|
|
97
|
-
layout="three-column"
|
|
98
|
-
background="transparent"
|
|
99
|
-
spacing="lg"
|
|
100
|
-
>
|
|
101
|
-
<PrintColumn width="1/3" align="center" verticalAlign="top">
|
|
102
|
-
<PrintSectionContent background="white" padding="sm">
|
|
103
|
-
<PrintText variant="subheading" weight="semibold">
|
|
104
|
-
Column 1
|
|
105
|
-
</PrintText>
|
|
106
|
-
<PrintText variant="small">
|
|
107
|
-
Centered content with white background
|
|
108
|
-
</PrintText>
|
|
109
|
-
</PrintSectionContent>
|
|
110
|
-
</PrintColumn>
|
|
111
|
-
|
|
112
|
-
<PrintColumn width="1/3" align="center" verticalAlign="top">
|
|
113
|
-
<PrintSectionContent background="primary" padding="sm">
|
|
114
|
-
<PrintText variant="subheading" weight="semibold">
|
|
115
|
-
Column 2
|
|
116
|
-
</PrintText>
|
|
117
|
-
<PrintText variant="small">
|
|
118
|
-
Primary background with centered text
|
|
119
|
-
</PrintText>
|
|
120
|
-
</PrintSectionContent>
|
|
121
|
-
</PrintColumn>
|
|
122
|
-
|
|
123
|
-
<PrintColumn width="1/3" align="center" verticalAlign="top">
|
|
124
|
-
<PrintSectionContent background="secondary" padding="sm">
|
|
125
|
-
<PrintText variant="subheading" weight="semibold">
|
|
126
|
-
Column 3
|
|
127
|
-
</PrintText>
|
|
128
|
-
<PrintText variant="small">
|
|
129
|
-
Secondary background styling
|
|
130
|
-
</PrintText>
|
|
131
|
-
</PrintSectionContent>
|
|
132
|
-
</PrintColumn>
|
|
133
|
-
</PrintSection>
|
|
134
|
-
|
|
135
|
-
{/* Divider Examples */}
|
|
136
|
-
<PrintSection title="Divider Examples" background="white" showBorder>
|
|
137
|
-
<PrintSectionContent>
|
|
138
|
-
<PrintText>
|
|
139
|
-
Here are different types of dividers that can be used to separate content sections.
|
|
140
|
-
</PrintText>
|
|
141
|
-
|
|
142
|
-
<PrintDivider style="solid" color="default" thickness="thin" spacing="md" />
|
|
143
|
-
|
|
144
|
-
<PrintText variant="small" color="muted">
|
|
145
|
-
Solid thin divider (default)
|
|
146
|
-
</PrintText>
|
|
147
|
-
|
|
148
|
-
<PrintDivider style="dashed" color="primary" thickness="medium" spacing="md" />
|
|
149
|
-
|
|
150
|
-
<PrintText variant="small" color="muted">
|
|
151
|
-
Dashed medium divider (primary color)
|
|
152
|
-
</PrintText>
|
|
153
|
-
|
|
154
|
-
<PrintDivider style="dotted" color="accent" thickness="thick" spacing="md" />
|
|
155
|
-
|
|
156
|
-
<PrintText variant="small" color="muted">
|
|
157
|
-
Dotted thick divider (accent color)
|
|
158
|
-
</PrintText>
|
|
159
|
-
</PrintSectionContent>
|
|
160
|
-
</PrintSection>
|
|
161
|
-
|
|
162
|
-
{/* Mixed Layout Section */}
|
|
163
|
-
<PrintSection
|
|
164
|
-
title="Mixed Layout Example"
|
|
165
|
-
layout="two-column"
|
|
166
|
-
background="transparent"
|
|
167
|
-
gap="xl"
|
|
168
|
-
>
|
|
169
|
-
<PrintColumn width="2/3">
|
|
170
|
-
<PrintSectionHeader title="Main Content" level={3} showDivider>
|
|
171
|
-
<PrintText variant="heading">Main Content</PrintText>
|
|
172
|
-
</PrintSectionHeader>
|
|
173
|
-
<PrintSectionContent>
|
|
174
|
-
<PrintText>
|
|
175
|
-
This is the main content area that takes up two-thirds of the width.
|
|
176
|
-
It's perfect for detailed information, articles, or primary content.
|
|
177
|
-
</PrintText>
|
|
178
|
-
<PrintText className="mt-2">
|
|
179
|
-
The content can include multiple paragraphs, lists, tables, or any other
|
|
180
|
-
components that need more space to be properly displayed.
|
|
181
|
-
</PrintText>
|
|
182
|
-
</PrintSectionContent>
|
|
183
|
-
</PrintColumn>
|
|
184
|
-
|
|
185
|
-
<PrintColumn width="1/3">
|
|
186
|
-
<PrintSectionHeader title="Sidebar" level={3} showDivider>
|
|
187
|
-
<PrintText variant="heading">Sidebar</PrintText>
|
|
188
|
-
</PrintSectionHeader>
|
|
189
|
-
<PrintSectionContent background="gray" padding="sm">
|
|
190
|
-
<PrintText variant="small" weight="semibold">
|
|
191
|
-
Quick Info
|
|
192
|
-
</PrintText>
|
|
193
|
-
<PrintText variant="small" className="mt-1">
|
|
194
|
-
This sidebar contains supplementary information, links, or quick reference material.
|
|
195
|
-
</PrintText>
|
|
196
|
-
<PrintText variant="small" className="mt-2">
|
|
197
|
-
It's perfect for navigation, contact information, or related content.
|
|
198
|
-
</PrintText>
|
|
199
|
-
</PrintSectionContent>
|
|
200
|
-
</PrintColumn>
|
|
201
|
-
</PrintSection>
|
|
202
|
-
|
|
203
|
-
{/* Four Column Section */}
|
|
204
|
-
<PrintSection
|
|
205
|
-
title="Four Column Layout"
|
|
206
|
-
layout="four-column"
|
|
207
|
-
background="white"
|
|
208
|
-
showBorder
|
|
209
|
-
spacing="sm"
|
|
210
|
-
>
|
|
211
|
-
<PrintColumn width="1/4" align="center">
|
|
212
|
-
<PrintSectionContent padding="sm" background="transparent">
|
|
213
|
-
<PrintText variant="small" weight="semibold">
|
|
214
|
-
Item 1
|
|
215
|
-
</PrintText>
|
|
216
|
-
<PrintText variant="small">
|
|
217
|
-
Brief description
|
|
218
|
-
</PrintText>
|
|
219
|
-
</PrintSectionContent>
|
|
220
|
-
</PrintColumn>
|
|
221
|
-
|
|
222
|
-
<PrintColumn width="1/4" align="center">
|
|
223
|
-
<PrintSectionContent padding="sm" background="transparent">
|
|
224
|
-
<PrintText variant="small" weight="semibold">
|
|
225
|
-
Item 2
|
|
226
|
-
</PrintText>
|
|
227
|
-
<PrintText variant="small">
|
|
228
|
-
Brief description
|
|
229
|
-
</PrintText>
|
|
230
|
-
</PrintSectionContent>
|
|
231
|
-
</PrintColumn>
|
|
232
|
-
|
|
233
|
-
<PrintColumn width="1/4" align="center">
|
|
234
|
-
<PrintSectionContent padding="sm" background="transparent">
|
|
235
|
-
<PrintText variant="small" weight="semibold">
|
|
236
|
-
Item 3
|
|
237
|
-
</PrintText>
|
|
238
|
-
<PrintText variant="small">
|
|
239
|
-
Brief description
|
|
240
|
-
</PrintText>
|
|
241
|
-
</PrintSectionContent>
|
|
242
|
-
</PrintColumn>
|
|
243
|
-
|
|
244
|
-
<PrintColumn width="1/4" align="center">
|
|
245
|
-
<PrintSectionContent padding="sm" background="transparent">
|
|
246
|
-
<PrintText variant="small" weight="semibold">
|
|
247
|
-
Item 4
|
|
248
|
-
</PrintText>
|
|
249
|
-
<PrintText variant="small">
|
|
250
|
-
Brief description
|
|
251
|
-
</PrintText>
|
|
252
|
-
</PrintSectionContent>
|
|
253
|
-
</PrintColumn>
|
|
254
|
-
</PrintSection>
|
|
255
|
-
</div>
|
|
256
|
-
</PrintLayout>
|
|
257
|
-
);
|
|
258
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file PrintSection Exports
|
|
3
|
-
* @package @jmruthers/pace-core
|
|
4
|
-
* @module PrintSection
|
|
5
|
-
* @since 0.4.38
|
|
6
|
-
*
|
|
7
|
-
* Exports for PrintSection components.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
export { PrintSection } from './PrintSection';
|
|
11
|
-
export { PrintSectionHeader } from './PrintSectionHeader';
|
|
12
|
-
export { PrintSectionContent } from './PrintSectionContent';
|
|
13
|
-
export { PrintColumn } from './PrintColumn';
|
|
14
|
-
export { PrintDivider } from './PrintDivider';
|
|
15
|
-
|
|
16
|
-
export type {
|
|
17
|
-
PrintSectionProps,
|
|
18
|
-
PrintSectionHeaderProps,
|
|
19
|
-
PrintSectionContentProps,
|
|
20
|
-
PrintColumnProps,
|
|
21
|
-
PrintDividerProps,
|
|
22
|
-
PrintSectionLayout,
|
|
23
|
-
PrintSectionGap,
|
|
24
|
-
PrintSectionSpacing,
|
|
25
|
-
PrintSectionBackground,
|
|
26
|
-
PrintSectionAlignment,
|
|
27
|
-
PrintSectionPadding,
|
|
28
|
-
PrintColumnWidth,
|
|
29
|
-
PrintVerticalAlignment,
|
|
30
|
-
PrintDividerStyle,
|
|
31
|
-
PrintDividerColor,
|
|
32
|
-
PrintDividerThickness,
|
|
33
|
-
} from './types';
|