@jmruthers/pace-core 0.5.53 → 0.5.55

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.
Files changed (398) hide show
  1. package/README.md +0 -4
  2. package/dist/{DataTable-7FMFXA7A.js → DataTable-4T627QFJ.js} +11 -11
  3. package/dist/{PublicLoadingSpinner-Bq_-BeK-.d.ts → PublicLoadingSpinner-SL8WaQN7.d.ts} +2 -21
  4. package/dist/{api-H5A3H4IR.js → api-LUNF5O6M.js} +3 -3
  5. package/dist/{appConfig-BVGyuvI7.d.ts → appConfig-DjpeG6P-.d.ts} +9 -1
  6. package/dist/{appNameResolver-7GHF5ED2.js → appNameResolver-UURKN7NF.js} +2 -2
  7. package/dist/{audit-BUW3LMJB.js → audit-6TOCAMKO.js} +2 -2
  8. package/dist/{chunk-MZBUOP4P.js → chunk-5BSLGBYI.js} +4 -3
  9. package/dist/chunk-5BSLGBYI.js.map +1 -0
  10. package/dist/{chunk-I5Z3QH5X.js → chunk-66C4BSAY.js} +2 -2
  11. package/dist/{chunk-I5Z3QH5X.js.map → chunk-66C4BSAY.js.map} +1 -1
  12. package/dist/{chunk-MYP2EGHX.js → chunk-AJ2KMES7.js} +21 -14
  13. package/dist/chunk-AJ2KMES7.js.map +1 -0
  14. package/dist/{chunk-EL2O4IUX.js → chunk-AQFRLC7K.js} +16 -24
  15. package/dist/{chunk-EL2O4IUX.js.map → chunk-AQFRLC7K.js.map} +1 -1
  16. package/dist/{chunk-7BNPOCLL.js → chunk-B2WTCLCV.js} +6 -2
  17. package/dist/chunk-B2WTCLCV.js.map +1 -0
  18. package/dist/{chunk-WJARTBCT.js → chunk-D7ARGIA3.js} +16 -7
  19. package/dist/chunk-D7ARGIA3.js.map +1 -0
  20. package/dist/{chunk-NRK4AIHQ.js → chunk-KBRACSJI.js} +3 -3
  21. package/dist/{chunk-NYUJ4FJR.js → chunk-KJDPSM64.js} +7 -7
  22. package/dist/chunk-KJDPSM64.js.map +1 -0
  23. package/dist/{chunk-GWSBHC4J.js → chunk-KLPVOPRI.js} +261 -38
  24. package/dist/chunk-KLPVOPRI.js.map +1 -0
  25. package/dist/{chunk-TRIZ7IB7.js → chunk-MPQDF75X.js} +148 -288
  26. package/dist/chunk-MPQDF75X.js.map +1 -0
  27. package/dist/{chunk-MSFACPQQ.js → chunk-PAEM3OWN.js} +11 -11
  28. package/dist/{chunk-MSFACPQQ.js.map → chunk-PAEM3OWN.js.map} +1 -1
  29. package/dist/{chunk-GIO7BFE7.js → chunk-RQD3D2CO.js} +66 -169
  30. package/dist/{chunk-GIO7BFE7.js.map → chunk-RQD3D2CO.js.map} +1 -1
  31. package/dist/{chunk-YDJW5XTN.js → chunk-STT7INZR.js} +25 -1
  32. package/dist/chunk-STT7INZR.js.map +1 -0
  33. package/dist/{chunk-6MTY77WU.js → chunk-TNMXZLDR.js} +3 -3
  34. package/dist/{chunk-BC3S53OZ.js → chunk-UQE2Y64H.js} +30 -14
  35. package/dist/chunk-UQE2Y64H.js.map +1 -0
  36. package/dist/{chunk-22KLBHPS.js → chunk-W66AZIOH.js} +2 -2
  37. package/dist/chunk-W66AZIOH.js.map +1 -0
  38. package/dist/{chunk-SS3E6QLB.js → chunk-YNUBMSMV.js} +2 -2
  39. package/dist/chunk-YNUBMSMV.js.map +1 -0
  40. package/dist/{chunk-NZ655MWE.js → chunk-ZOD2ZY6X.js} +5 -4
  41. package/dist/chunk-ZOD2ZY6X.js.map +1 -0
  42. package/dist/{chunk-74C6SNEC.js → chunk-ZPK5656W.js} +3 -3
  43. package/dist/{chunk-74C6SNEC.js.map → chunk-ZPK5656W.js.map} +1 -1
  44. package/dist/components.d.ts +22 -899
  45. package/dist/components.js +436 -3118
  46. package/dist/components.js.map +1 -1
  47. package/dist/file-reference-9xUOnwyt.d.ts +70 -0
  48. package/dist/hooks.d.ts +2 -2
  49. package/dist/hooks.js +10 -10
  50. package/dist/hooks.js.map +1 -1
  51. package/dist/index.d.ts +49 -9
  52. package/dist/index.js +190 -25
  53. package/dist/index.js.map +1 -1
  54. package/dist/{organisation-CO3Sh3_D.d.ts → organisation-t-vvQC3g.d.ts} +1 -8
  55. package/dist/providers.d.ts +2 -2
  56. package/dist/providers.js +5 -5
  57. package/dist/rbac/index.d.ts +65 -46
  58. package/dist/rbac/index.js +10 -12
  59. package/dist/styles/core.css +0 -125
  60. package/dist/types.d.ts +2 -1
  61. package/dist/types.js +3 -1
  62. package/dist/types.js.map +1 -1
  63. package/dist/{usePublicRouteParams-B2OcAsur.d.ts → usePublicRouteParams-CdoFxnJK.d.ts} +1 -1
  64. package/dist/utils.d.ts +3 -4
  65. package/dist/utils.js +44 -13
  66. package/dist/utils.js.map +1 -1
  67. package/docs/FILE_REFERENCE_SYSTEM.md +440 -0
  68. package/docs/INDEX.md +7 -5
  69. package/docs/README.md +0 -1
  70. package/docs/api/README.md +0 -4
  71. package/docs/api/classes/ErrorBoundary.md +1 -1
  72. package/docs/api/classes/InvalidScopeError.md +1 -1
  73. package/docs/api/classes/MissingUserContextError.md +1 -1
  74. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  75. package/docs/api/classes/PermissionDeniedError.md +2 -2
  76. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  77. package/docs/api/classes/RBACAuditManager.md +12 -12
  78. package/docs/api/classes/RBACCache.md +1 -1
  79. package/docs/api/classes/RBACEngine.md +6 -6
  80. package/docs/api/classes/RBACError.md +1 -1
  81. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  82. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  83. package/docs/api/classes/StorageUtils.md +281 -0
  84. package/docs/api/interfaces/AggregateConfig.md +1 -1
  85. package/docs/api/interfaces/ButtonProps.md +1 -1
  86. package/docs/api/interfaces/CardProps.md +1 -1
  87. package/docs/api/interfaces/ColorPalette.md +1 -1
  88. package/docs/api/interfaces/ColorShade.md +1 -1
  89. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  90. package/docs/api/interfaces/DataTableAction.md +1 -1
  91. package/docs/api/interfaces/DataTableColumn.md +1 -1
  92. package/docs/api/interfaces/DataTableProps.md +1 -1
  93. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  94. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  95. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  96. package/docs/api/interfaces/EventContextType.md +1 -1
  97. package/docs/api/interfaces/EventLogoProps.md +1 -1
  98. package/docs/api/interfaces/EventProviderProps.md +1 -1
  99. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  100. package/docs/api/interfaces/FileUploadProps.md +1 -1
  101. package/docs/api/interfaces/FooterProps.md +1 -1
  102. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  103. package/docs/api/interfaces/InputProps.md +1 -1
  104. package/docs/api/interfaces/LabelProps.md +1 -1
  105. package/docs/api/interfaces/LoginFormProps.md +1 -1
  106. package/docs/api/interfaces/NavigationAccessRecord.md +2 -2
  107. package/docs/api/interfaces/NavigationContextType.md +1 -1
  108. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  109. package/docs/api/interfaces/NavigationItem.md +1 -1
  110. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  111. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  112. package/docs/api/interfaces/Organisation.md +1 -1
  113. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  114. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  115. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  116. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  117. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  118. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  119. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  120. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  121. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  122. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  123. package/docs/api/interfaces/PaletteData.md +1 -1
  124. package/docs/api/interfaces/PermissionEnforcerProps.md +4 -4
  125. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  126. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  127. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  128. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  129. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  130. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  131. package/docs/api/interfaces/RBACConfig.md +1 -1
  132. package/docs/api/interfaces/RBACContextType.md +1 -1
  133. package/docs/api/interfaces/RBACLogger.md +1 -1
  134. package/docs/api/interfaces/RBACProviderProps.md +1 -1
  135. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  136. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  137. package/docs/api/interfaces/RouteAccessRecord.md +2 -2
  138. package/docs/api/interfaces/RouteConfig.md +2 -2
  139. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  140. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  141. package/docs/api/interfaces/StorageConfig.md +1 -1
  142. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  143. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  144. package/docs/api/interfaces/StorageListOptions.md +1 -1
  145. package/docs/api/interfaces/StorageListResult.md +1 -1
  146. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  147. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  148. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  149. package/docs/api/interfaces/StyleImport.md +1 -1
  150. package/docs/api/interfaces/ToastActionElement.md +1 -1
  151. package/docs/api/interfaces/ToastProps.md +1 -1
  152. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  153. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  154. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  155. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  156. package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
  157. package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
  158. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  159. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  160. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  161. package/docs/api/interfaces/UserEventAccess.md +1 -1
  162. package/docs/api/interfaces/UserMenuProps.md +1 -1
  163. package/docs/api/interfaces/UserProfile.md +1 -1
  164. package/docs/api/modules.md +204 -200
  165. package/docs/api-reference/components.md +141 -163
  166. package/docs/api-reference/hooks.md +347 -0
  167. package/docs/core-concepts/rbac-system.md +69 -16
  168. package/docs/getting-started/examples/basic-auth-app.md +0 -1
  169. package/docs/implementation-guides/datatable-rbac-usage.md +12 -11
  170. package/docs/implementation-guides/file-upload-storage.md +733 -0
  171. package/docs/implementation-guides/inactivity-tracking.md +779 -0
  172. package/docs/implementation-guides/organisation-security.md +748 -0
  173. package/docs/implementation-guides/public-pages-advanced.md +1022 -0
  174. package/docs/migration/MIGRATION_GUIDE.md +684 -0
  175. package/docs/migration/README.md +13 -2
  176. package/docs/migration/rbac-migration.md +73 -0
  177. package/docs/rbac/examples/rbac-rls-integration-example.md +11 -13
  178. package/docs/style-guide.md +269 -1
  179. package/package.json +1 -1
  180. package/src/__tests__/TESTING_GUIDELINES.md +331 -18
  181. package/src/__tests__/helpers/supabaseMock.ts +99 -0
  182. package/src/__tests__/rbac/PagePermissionGuard.test.tsx +10 -7
  183. package/src/__tests__/shared.ts +6 -0
  184. package/src/components/DataTable/components/ActionButtons.tsx +2 -2
  185. package/src/components/DataTable/components/DataTableCore.tsx +2 -2
  186. package/src/components/DataTable/components/UnifiedTableBody.tsx +1 -1
  187. package/src/components/DataTable/utils/debugTools.ts +2 -2
  188. package/src/components/Dialog/Dialog.test.tsx +12 -2
  189. package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +6 -6
  190. package/src/components/ErrorBoundary/ErrorBoundary.tsx +2 -2
  191. package/src/components/FileDisplay.tsx +233 -0
  192. package/src/components/FileUpload.tsx +176 -0
  193. package/src/components/Footer/Footer.test.tsx +7 -7
  194. package/src/components/NavigationMenu/NavigationMenu.test.tsx +13 -6
  195. package/src/components/OrganisationSelector/OrganisationSelector.test.tsx +30 -3
  196. package/src/components/OrganisationSelector/OrganisationSelector.tsx +1 -1
  197. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.rbac.test.tsx +558 -0
  198. package/src/components/PublicLayout/PublicErrorBoundary.tsx +1 -1
  199. package/src/components/PublicLayout/PublicPageDebugger.tsx +2 -2
  200. package/src/components/PublicLayout/PublicPageDiagnostic.tsx +2 -2
  201. package/src/components/PublicLayout/PublicPageProvider.tsx +2 -2
  202. package/src/components/Select/Select.test.tsx +50 -15
  203. package/src/components/SuperAdminGuard.tsx +2 -2
  204. package/src/components/__tests__/SuperAdminGuard.test.tsx +559 -0
  205. package/src/components/index.ts +0 -183
  206. package/src/hooks/__tests__/useOrganisationPermissions.unit.test.tsx +2 -2
  207. package/src/hooks/__tests__/usePermissionCache.unit.test.ts +1 -1
  208. package/src/hooks/__tests__/useRBAC.unit.test.ts +191 -138
  209. package/src/hooks/public/usePublicEvent.ts +2 -2
  210. package/src/hooks/useAppConfig.ts +3 -3
  211. package/src/hooks/useComponentPerformance.ts +1 -1
  212. package/src/hooks/useDataTablePerformance.ts +1 -1
  213. package/src/hooks/useFileReference.ts +232 -0
  214. package/src/hooks/useOrganisationPermissions.test.ts +254 -344
  215. package/src/hooks/useOrganisationPermissions.ts +15 -7
  216. package/src/hooks/useOrganisationSecurity.test.ts +390 -402
  217. package/src/hooks/usePerformanceMonitor.ts +1 -1
  218. package/src/hooks/usePermissionCache.test.ts +264 -395
  219. package/src/hooks/usePermissionCache.ts +34 -4
  220. package/src/hooks/useSecureDataAccess.test.ts +486 -0
  221. package/src/hooks/useSecureDataAccess.ts +4 -1
  222. package/src/providers/InactivityProvider.tsx +2 -2
  223. package/src/providers/OrganisationProvider.test.simple.tsx +168 -0
  224. package/src/providers/OrganisationProvider.test.tsx +168 -0
  225. package/src/providers/OrganisationProvider.tsx +18 -31
  226. package/src/providers/UnifiedAuthProvider.test.simple.tsx +205 -0
  227. package/src/providers/UnifiedAuthProvider.test.tsx +128 -0
  228. package/src/providers/__tests__/InactivityProvider.test.tsx +3 -4
  229. package/src/providers/__tests__/OrganisationProvider.test.tsx +19 -14
  230. package/src/rbac/__tests__/integration.authflow.test.tsx +123 -0
  231. package/src/rbac/__tests__/integration.navigation.test.tsx +72 -0
  232. package/src/rbac/__tests__/integration.securedata.test.tsx +92 -0
  233. package/src/rbac/__tests__/integration.smoke.test.tsx +73 -0
  234. package/src/rbac/__tests__/rbac-core.test.tsx +26 -22
  235. package/src/rbac/__tests__/rbac-engine-core-logic.test.ts +411 -0
  236. package/src/rbac/__tests__/rbac-engine-simplified.test.ts +285 -0
  237. package/src/rbac/__tests__/rbac-functions.test.ts +655 -0
  238. package/src/rbac/__tests__/rbac-integration.test.ts +532 -0
  239. package/src/rbac/__tests__/scenarios.user-role.test.tsx +196 -0
  240. package/src/rbac/api.test.ts +6 -6
  241. package/src/rbac/api.ts +2 -2
  242. package/src/rbac/audit.test.ts +485 -0
  243. package/src/rbac/audit.ts +7 -1
  244. package/src/rbac/cache-invalidation.ts +318 -0
  245. package/src/rbac/cache.test.ts +286 -0
  246. package/src/rbac/components/EnhancedNavigationMenu.test.tsx +559 -0
  247. package/src/rbac/components/EnhancedNavigationMenu.tsx +29 -23
  248. package/src/rbac/components/NavigationProvider.test.tsx +449 -0
  249. package/src/rbac/components/PagePermissionGuard.tsx +4 -4
  250. package/src/rbac/components/PagePermissionProvider.test.tsx +479 -0
  251. package/src/rbac/components/SecureDataProvider.test.tsx +511 -0
  252. package/src/rbac/components/__tests__/PagePermissionGuard.race-condition.test.tsx +159 -430
  253. package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +4 -5
  254. package/src/rbac/components/__tests__/PagePermissionGuard.verification.test.tsx +112 -118
  255. package/src/rbac/config.test.ts +410 -0
  256. package/src/rbac/engine.test.simple.ts +237 -0
  257. package/src/rbac/engine.test.ts +233 -0
  258. package/src/rbac/engine.ts +37 -41
  259. package/src/rbac/examples/CompleteRBACExample.tsx +3 -3
  260. package/src/rbac/examples/EventBasedApp.tsx +4 -4
  261. package/src/rbac/hooks/useRBAC.simple.test.ts +16 -0
  262. package/src/rbac/hooks/useRBAC.test.ts +207 -455
  263. package/src/rbac/hooks/useRBAC.ts +30 -22
  264. package/src/rbac/permissions.test.ts +128 -0
  265. package/src/rbac/permissions.ts +56 -141
  266. package/src/rbac/providers/RBACProvider.tsx +1 -1
  267. package/src/rbac/secureClient.test.ts +444 -0
  268. package/src/rbac/security.test.ts +390 -0
  269. package/src/rbac/security.ts +1 -1
  270. package/src/rbac/types.test.ts +382 -0
  271. package/src/rbac/types.ts +2 -2
  272. package/src/styles/base.css +208 -0
  273. package/src/styles/core.css +0 -125
  274. package/src/styles/semantic.css +24 -0
  275. package/src/types/file-reference.ts +77 -0
  276. package/src/types/rbac-functions.ts +290 -0
  277. package/src/types/supabase.ts +10 -28
  278. package/src/types/unified.ts +4 -1
  279. package/src/utils/__tests__/bundleAnalysis.unit.test.ts +81 -55
  280. package/src/utils/__tests__/lazyLoad.unit.test.tsx +21 -12
  281. package/src/utils/__tests__/organisationContext.unit.test.ts +13 -7
  282. package/src/utils/__tests__/performanceBudgets.unit.test.ts +3 -3
  283. package/src/utils/__tests__/sessionTracking.unit.test.ts +32 -12
  284. package/src/utils/appConfig.ts +1 -1
  285. package/src/utils/appIdResolver.test.ts +503 -0
  286. package/src/utils/appIdResolver.ts +1 -1
  287. package/src/utils/appNameResolver.test.ts +494 -0
  288. package/src/utils/appNameResolver.ts +3 -2
  289. package/src/utils/bundleAnalysis.ts +3 -3
  290. package/src/utils/debugLogger.ts +1 -1
  291. package/src/utils/file-reference.ts +263 -0
  292. package/src/utils/formatDate.test.ts +2 -2
  293. package/src/utils/organisationContext.test.ts +340 -0
  294. package/src/utils/organisationContext.ts +19 -6
  295. package/src/utils/performanceBudgets.ts +2 -2
  296. package/src/utils/permissionUtils.test.ts +393 -0
  297. package/src/utils/permissionUtils.ts +5 -2
  298. package/src/utils/secureDataAccess.test.ts +715 -0
  299. package/src/utils/secureDataAccess.ts +21 -5
  300. package/src/utils/sessionTracking.ts +34 -4
  301. package/src/utils/storage/__tests__/helpers.unit.test.ts +328 -0
  302. package/src/utils/storage/__tests__/index.unit.test.ts +16 -0
  303. package/src/utils/storage/helpers.ts +20 -25
  304. package/src/utils/storage/index.ts +29 -1
  305. package/src/vite-env.d.ts +17 -0
  306. package/dist/chunk-22KLBHPS.js.map +0 -1
  307. package/dist/chunk-7BNPOCLL.js.map +0 -1
  308. package/dist/chunk-BC3S53OZ.js.map +0 -1
  309. package/dist/chunk-GWSBHC4J.js.map +0 -1
  310. package/dist/chunk-MYP2EGHX.js.map +0 -1
  311. package/dist/chunk-MZBUOP4P.js.map +0 -1
  312. package/dist/chunk-NYUJ4FJR.js.map +0 -1
  313. package/dist/chunk-NZ655MWE.js.map +0 -1
  314. package/dist/chunk-SS3E6QLB.js.map +0 -1
  315. package/dist/chunk-TRIZ7IB7.js.map +0 -1
  316. package/dist/chunk-WJARTBCT.js.map +0 -1
  317. package/dist/chunk-YDJW5XTN.js.map +0 -1
  318. package/docs/print-components/README.md +0 -258
  319. package/docs/print-components/api-reference.md +0 -636
  320. package/docs/print-components/examples/README.md +0 -204
  321. package/docs/print-components/examples/basic-report.tsx +0 -92
  322. package/docs/print-components/examples/card-catalog.tsx +0 -149
  323. package/docs/print-components/examples/cover-page-report.tsx +0 -163
  324. package/docs/print-components/quick-start.md +0 -363
  325. package/src/components/PrintButton/PrintButton.tsx +0 -321
  326. package/src/components/PrintButton/PrintButtonGroup.tsx +0 -84
  327. package/src/components/PrintButton/PrintToolbar.tsx +0 -94
  328. package/src/components/PrintButton/__tests__/PrintButton.test.tsx +0 -271
  329. package/src/components/PrintButton/examples/PrintButtonShowcase.tsx +0 -438
  330. package/src/components/PrintButton/index.ts +0 -33
  331. package/src/components/PrintButton/types.ts +0 -173
  332. package/src/components/PrintCard/PrintCard.tsx +0 -154
  333. package/src/components/PrintCard/PrintCardContent.tsx +0 -57
  334. package/src/components/PrintCard/PrintCardFooter.tsx +0 -60
  335. package/src/components/PrintCard/PrintCardGrid.tsx +0 -91
  336. package/src/components/PrintCard/PrintCardHeader.tsx +0 -78
  337. package/src/components/PrintCard/PrintCardImage.tsx +0 -81
  338. package/src/components/PrintCard/examples/PrintCardShowcase.tsx +0 -239
  339. package/src/components/PrintCard/index.ts +0 -34
  340. package/src/components/PrintCard/types.ts +0 -171
  341. package/src/components/PrintDataTable/PrintDataTable.tsx +0 -215
  342. package/src/components/PrintDataTable/PrintTableGroup.tsx +0 -90
  343. package/src/components/PrintDataTable/PrintTableRow.tsx +0 -76
  344. package/src/components/PrintDataTable/index.ts +0 -25
  345. package/src/components/PrintDataTable/types.ts +0 -67
  346. package/src/components/PrintFooter/PrintFooter.tsx +0 -183
  347. package/src/components/PrintFooter/PrintFooterContent.tsx +0 -71
  348. package/src/components/PrintFooter/PrintFooterInfo.tsx +0 -86
  349. package/src/components/PrintFooter/PrintPageNumber.tsx +0 -90
  350. package/src/components/PrintFooter/examples/PrintFooterShowcase.tsx +0 -390
  351. package/src/components/PrintFooter/index.ts +0 -30
  352. package/src/components/PrintFooter/types.ts +0 -149
  353. package/src/components/PrintGrid/PrintGrid.tsx +0 -180
  354. package/src/components/PrintGrid/PrintGridBreakpoint.tsx +0 -109
  355. package/src/components/PrintGrid/PrintGridContainer.tsx +0 -128
  356. package/src/components/PrintGrid/PrintGridItem.tsx +0 -220
  357. package/src/components/PrintGrid/examples/PrintGridShowcase.tsx +0 -359
  358. package/src/components/PrintGrid/index.ts +0 -31
  359. package/src/components/PrintGrid/types.ts +0 -159
  360. package/src/components/PrintHeader/PrintCoverHeader.tsx +0 -230
  361. package/src/components/PrintHeader/PrintHeader.tsx +0 -150
  362. package/src/components/PrintHeader/index.ts +0 -17
  363. package/src/components/PrintHeader/types.ts +0 -42
  364. package/src/components/PrintLayout/PrintLayout.tsx +0 -122
  365. package/src/components/PrintLayout/PrintLayoutContext.tsx +0 -66
  366. package/src/components/PrintLayout/PrintPageBreak.tsx +0 -52
  367. package/src/components/PrintLayout/examples/PrintShowcase.tsx +0 -230
  368. package/src/components/PrintLayout/index.ts +0 -19
  369. package/src/components/PrintLayout/types.ts +0 -37
  370. package/src/components/PrintPageBreak/PrintPageBreak.tsx +0 -120
  371. package/src/components/PrintPageBreak/PrintPageBreakGroup.tsx +0 -90
  372. package/src/components/PrintPageBreak/PrintPageBreakIndicator.tsx +0 -112
  373. package/src/components/PrintPageBreak/examples/PrintPageBreakShowcase.tsx +0 -279
  374. package/src/components/PrintPageBreak/index.ts +0 -23
  375. package/src/components/PrintPageBreak/types.ts +0 -94
  376. package/src/components/PrintSection/PrintColumn.tsx +0 -104
  377. package/src/components/PrintSection/PrintDivider.tsx +0 -101
  378. package/src/components/PrintSection/PrintSection.tsx +0 -129
  379. package/src/components/PrintSection/PrintSectionContent.tsx +0 -75
  380. package/src/components/PrintSection/PrintSectionHeader.tsx +0 -97
  381. package/src/components/PrintSection/examples/PrintSectionShowcase.tsx +0 -258
  382. package/src/components/PrintSection/index.ts +0 -33
  383. package/src/components/PrintSection/types.ts +0 -155
  384. package/src/components/PrintText/PrintText.tsx +0 -116
  385. package/src/components/PrintText/index.ts +0 -16
  386. package/src/components/PrintText/types.ts +0 -24
  387. package/src/rbac/__tests__/integration.test.tsx +0 -218
  388. package/src/utils/print/PrintDataProcessor.ts +0 -390
  389. package/src/utils/print/examples/PrintUtilitiesShowcase.tsx +0 -397
  390. package/src/utils/print/index.ts +0 -29
  391. package/src/utils/print/types.ts +0 -196
  392. package/src/utils/print/usePrintOptimization.ts +0 -272
  393. /package/dist/{DataTable-7FMFXA7A.js.map → DataTable-4T627QFJ.js.map} +0 -0
  394. /package/dist/{api-H5A3H4IR.js.map → api-LUNF5O6M.js.map} +0 -0
  395. /package/dist/{appNameResolver-7GHF5ED2.js.map → appNameResolver-UURKN7NF.js.map} +0 -0
  396. /package/dist/{audit-BUW3LMJB.js.map → audit-6TOCAMKO.js.map} +0 -0
  397. /package/dist/{chunk-NRK4AIHQ.js.map → chunk-KBRACSJI.js.map} +0 -0
  398. /package/dist/{chunk-6MTY77WU.js.map → chunk-TNMXZLDR.js.map} +0 -0
@@ -1,390 +0,0 @@
1
- /**
2
- * @file PrintFooter Showcase Example
3
- * @package @jmruthers/pace-core
4
- * @module PrintFooterShowcase
5
- * @since 0.4.38
6
- *
7
- * Example showcasing PrintFooter components usage.
8
- */
9
-
10
- import React from 'react';
11
- import {
12
- PrintLayout,
13
- PrintHeader,
14
- PrintText,
15
- PrintSection,
16
- PrintFooter,
17
- PrintPageNumber,
18
- PrintFooterContent,
19
- PrintFooterInfo
20
- } from '../../index';
21
-
22
- export function PrintFooterShowcase() {
23
- return (
24
- <PrintLayout
25
- orientation="portrait"
26
- pageSize="A4"
27
- firstPageHeader={
28
- <PrintHeader
29
- title="Print Footer Components Showcase"
30
- subtitle="Demonstrating page footers and numbering"
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
- {/* Basic Footer */}
44
- <PrintSection title="Basic Footer" background="white" showBorder>
45
- <PrintSection>
46
- <PrintText>
47
- A basic footer with text content and page numbers.
48
- </PrintText>
49
-
50
- <PrintFooter
51
- text="© 2024 Pace Core. All rights reserved."
52
- showPageNumbers={true}
53
- pageNumberFormat="Page 1 of 5"
54
- showTotalPages={true}
55
- background="gray"
56
- showBorder={true}
57
- className="mt-4"
58
- />
59
- </PrintSection>
60
- </PrintSection>
61
-
62
- {/* Footer Positions */}
63
- <PrintSection title="Footer Positions" background="gray">
64
- <PrintSection>
65
- <PrintText>
66
- Different footer positions for various layout needs.
67
- </PrintText>
68
-
69
- <div className="space-y-4 mt-4">
70
- <div className="relative h-20 border border-dashed border-gray-300 rounded">
71
- <PrintText variant="small" className="p-2">Relative Position</PrintText>
72
- <PrintFooter
73
- position="relative"
74
- text="Relative footer"
75
- background="white"
76
- showBorder={true}
77
- className="absolute bottom-0 left-0 right-0"
78
- />
79
- </div>
80
-
81
- <div className="relative h-20 border border-dashed border-gray-300 rounded">
82
- <PrintText variant="small" className="p-2">Absolute Position</PrintText>
83
- <PrintFooter
84
- position="absolute"
85
- text="Absolute footer"
86
- background="primary"
87
- showBorder={true}
88
- />
89
- </div>
90
-
91
- <div className="relative h-20 border border-dashed border-gray-300 rounded">
92
- <PrintText variant="small" className="p-2">Sticky Position</PrintText>
93
- <PrintFooter
94
- position="sticky"
95
- text="Sticky footer"
96
- background="secondary"
97
- showBorder={true}
98
- />
99
- </div>
100
- </div>
101
- </PrintSection>
102
- </PrintSection>
103
-
104
- {/* Footer Alignments */}
105
- <PrintSection title="Footer Alignments" background="white" showBorder>
106
- <PrintSection>
107
- <PrintText>
108
- Different footer alignments for content organization.
109
- </PrintText>
110
-
111
- <div className="space-y-4 mt-4">
112
- <PrintFooter
113
- align="left"
114
- text="Left aligned footer"
115
- background="gray"
116
- showBorder={true}
117
- />
118
-
119
- <PrintFooter
120
- align="center"
121
- text="Center aligned footer"
122
- background="gray"
123
- showBorder={true}
124
- />
125
-
126
- <PrintFooter
127
- align="right"
128
- text="Right aligned footer"
129
- background="gray"
130
- showBorder={true}
131
- />
132
-
133
- <PrintFooter
134
- align="between"
135
- text="Between aligned footer"
136
- background="gray"
137
- showBorder={true}
138
- showPageNumbers={true}
139
- pageNumberFormat="1"
140
- />
141
- </div>
142
- </PrintSection>
143
- </PrintSection>
144
-
145
- {/* Page Number Formats */}
146
- <PrintSection title="Page Number Formats" background="gray">
147
- <PrintSection>
148
- <PrintText>
149
- Different page number formats for various documentation needs.
150
- </PrintText>
151
-
152
- <div className="space-y-4 mt-4">
153
- <PrintFooter
154
- text="Simple page number"
155
- showPageNumbers={true}
156
- pageNumberFormat="1"
157
- background="white"
158
- showBorder={true}
159
- />
160
-
161
- <PrintFooter
162
- text="Page X format"
163
- showPageNumbers={true}
164
- pageNumberFormat="Page 1"
165
- background="white"
166
- showBorder={true}
167
- />
168
-
169
- <PrintFooter
170
- text="X of Y format"
171
- showPageNumbers={true}
172
- pageNumberFormat="1 of 5"
173
- showTotalPages={true}
174
- background="white"
175
- showBorder={true}
176
- />
177
-
178
- <PrintFooter
179
- text="Page X of Y format"
180
- showPageNumbers={true}
181
- pageNumberFormat="Page 1 of 5"
182
- showTotalPages={true}
183
- background="white"
184
- showBorder={true}
185
- />
186
-
187
- <PrintFooter
188
- text="X/Y format"
189
- showPageNumbers={true}
190
- pageNumberFormat="1/5"
191
- showTotalPages={true}
192
- background="white"
193
- showBorder={true}
194
- />
195
-
196
- <PrintFooter
197
- text="Custom template"
198
- showPageNumbers={true}
199
- pageNumberTemplate="Document Page {current} of {total}"
200
- showTotalPages={true}
201
- background="white"
202
- showBorder={true}
203
- />
204
- </div>
205
- </PrintSection>
206
- </PrintSection>
207
-
208
- {/* Footer Backgrounds */}
209
- <PrintSection title="Footer Backgrounds" background="white" showBorder>
210
- <PrintSection>
211
- <PrintText>
212
- Different footer backgrounds for visual hierarchy.
213
- </PrintText>
214
-
215
- <div className="space-y-4 mt-4">
216
- <PrintFooter
217
- text="Transparent background"
218
- background="transparent"
219
- showBorder={true}
220
- />
221
-
222
- <PrintFooter
223
- text="White background"
224
- background="white"
225
- showBorder={true}
226
- />
227
-
228
- <PrintFooter
229
- text="Gray background"
230
- background="gray"
231
- showBorder={true}
232
- />
233
-
234
- <PrintFooter
235
- text="Primary background"
236
- background="primary"
237
- showBorder={true}
238
- />
239
-
240
- <PrintFooter
241
- text="Secondary background"
242
- background="secondary"
243
- showBorder={true}
244
- />
245
- </div>
246
- </PrintSection>
247
- </PrintSection>
248
-
249
- {/* Footer Sizes */}
250
- <PrintSection title="Footer Sizes" background="gray">
251
- <PrintSection>
252
- <PrintText>
253
- Different footer sizes for various content needs.
254
- </PrintText>
255
-
256
- <div className="space-y-4 mt-4">
257
- <PrintFooter
258
- text="Small height footer"
259
- height="sm"
260
- background="white"
261
- showBorder={true}
262
- />
263
-
264
- <PrintFooter
265
- text="Medium height footer"
266
- height="md"
267
- background="white"
268
- showBorder={true}
269
- />
270
-
271
- <PrintFooter
272
- text="Large height footer"
273
- height="lg"
274
- background="white"
275
- showBorder={true}
276
- />
277
-
278
- <PrintFooter
279
- text="Extra large height footer"
280
- height="xl"
281
- background="white"
282
- showBorder={true}
283
- />
284
- </div>
285
- </PrintSection>
286
- </PrintSection>
287
-
288
- {/* Footer Content Components */}
289
- <PrintSection title="Footer Content Components" background="white" showBorder>
290
- <PrintSection>
291
- <PrintText>
292
- Using footer content components for complex layouts.
293
- </PrintText>
294
-
295
- <PrintFooter
296
- align="between"
297
- background="gray"
298
- showBorder={true}
299
- className="mt-4"
300
- >
301
- <PrintFooterContent align="left">
302
- <PrintText variant="small">Left content</PrintText>
303
- </PrintFooterContent>
304
-
305
- <PrintFooterContent align="center">
306
- <PrintText variant="small">Center content</PrintText>
307
- </PrintFooterContent>
308
-
309
- <PrintFooterContent align="right">
310
- <PrintText variant="small">Right content</PrintText>
311
- </PrintFooterContent>
312
- </PrintFooter>
313
- </PrintSection>
314
- </PrintSection>
315
-
316
- {/* Footer Info Components */}
317
- <PrintSection title="Footer Info Components" background="gray">
318
- <PrintSection>
319
- <PrintText>
320
- Using footer info components for additional information.
321
- </PrintText>
322
-
323
- <div className="space-y-4 mt-4">
324
- <PrintFooterInfo
325
- background="white"
326
- showBorder={true}
327
- align="left"
328
- >
329
- Contact: info@pacecore.com | Phone: +1 (555) 123-4567
330
- </PrintFooterInfo>
331
-
332
- <PrintFooterInfo
333
- background="primary"
334
- showBorder={true}
335
- align="center"
336
- >
337
- Confidential Document - Internal Use Only
338
- </PrintFooterInfo>
339
-
340
- <PrintFooterInfo
341
- background="secondary"
342
- showBorder={true}
343
- align="right"
344
- >
345
- Generated on {new Date().toLocaleDateString()}
346
- </PrintFooterInfo>
347
- </div>
348
- </PrintSection>
349
- </PrintSection>
350
-
351
- {/* Complex Footer Layout */}
352
- <PrintSection title="Complex Footer Layout" background="white" showBorder>
353
- <PrintSection>
354
- <PrintText>
355
- A complex footer layout with multiple components and page numbering.
356
- </PrintText>
357
-
358
- <PrintFooter
359
- align="between"
360
- background="gray"
361
- showBorder={true}
362
- showPageNumbers={true}
363
- pageNumberFormat="Page 1 of 5"
364
- showTotalPages={true}
365
- className="mt-4"
366
- >
367
- <PrintFooterContent align="left">
368
- <PrintFooterInfo background="white" showBorder={true}>
369
- Document ID: DOC-2024-001
370
- </PrintFooterInfo>
371
- </PrintFooterContent>
372
-
373
- <PrintFooterContent align="center">
374
- <PrintText variant="small" weight="semibold">
375
- Pace Core Documentation
376
- </PrintText>
377
- </PrintFooterContent>
378
-
379
- <PrintFooterContent align="right">
380
- <PrintFooterInfo background="white" showBorder={true}>
381
- Version 1.0
382
- </PrintFooterInfo>
383
- </PrintFooterContent>
384
- </PrintFooter>
385
- </PrintSection>
386
- </PrintSection>
387
- </div>
388
- </PrintLayout>
389
- );
390
- }
@@ -1,30 +0,0 @@
1
- /**
2
- * @file PrintFooter Exports
3
- * @package @jmruthers/pace-core
4
- * @module PrintFooter
5
- * @since 0.4.38
6
- *
7
- * Exports for PrintFooter components.
8
- */
9
-
10
- export { PrintFooter } from './PrintFooter';
11
- export { PrintPageNumber } from './PrintPageNumber';
12
- export { PrintFooterContent } from './PrintFooterContent';
13
- export { PrintFooterInfo } from './PrintFooterInfo';
14
-
15
- export type {
16
- PrintFooterProps,
17
- PrintPageNumberProps,
18
- PrintFooterContentProps,
19
- PrintFooterInfoProps,
20
- PrintFooterPosition,
21
- PrintFooterAlign,
22
- PrintPageNumberFormat,
23
- PrintPageNumberPosition,
24
- PrintFooterBackground,
25
- PrintFooterPadding,
26
- PrintFooterMargin,
27
- PrintFooterHeight,
28
- PrintFooterContentAlign,
29
- PrintFooterInfoAlign,
30
- } from './types';
@@ -1,149 +0,0 @@
1
- /**
2
- * @file PrintFooter Types
3
- * @package @jmruthers/pace-core
4
- * @module PrintFooter
5
- * @since 0.4.38
6
- *
7
- * Type definitions for PrintFooter component.
8
- */
9
-
10
- import { ReactNode } from 'react';
11
-
12
- export interface PrintFooterProps {
13
- /** Footer content */
14
- children?: ReactNode;
15
-
16
- /** Footer text */
17
- text?: string;
18
-
19
- /** Footer position */
20
- position?: 'fixed' | 'absolute' | 'relative' | 'sticky';
21
-
22
- /** Footer alignment */
23
- align?: 'left' | 'center' | 'right' | 'between' | 'around' | 'evenly';
24
-
25
- /** Show page numbers */
26
- showPageNumbers?: boolean;
27
-
28
- /** Page number format */
29
- pageNumberFormat?: '1' | '1 of 5' | 'Page 1' | 'Page 1 of 5' | '1/5' | 'custom';
30
-
31
- /** Custom page number template */
32
- pageNumberTemplate?: string;
33
-
34
- /** Page number position */
35
- pageNumberPosition?: 'left' | 'center' | 'right';
36
-
37
- /** Show total pages */
38
- showTotalPages?: boolean;
39
-
40
- /** Footer background */
41
- background?: 'transparent' | 'white' | 'gray' | 'primary' | 'secondary';
42
-
43
- /** Footer border */
44
- showBorder?: boolean;
45
-
46
- /** Footer padding */
47
- padding?: 'none' | 'sm' | 'md' | 'lg' | 'xl';
48
-
49
- /** Footer margin */
50
- margin?: 'none' | 'sm' | 'md' | 'lg' | 'xl';
51
-
52
- /** Footer height */
53
- height?: 'auto' | 'sm' | 'md' | 'lg' | 'xl';
54
-
55
- /** Print optimization */
56
- printOptimized?: boolean;
57
-
58
- /** Custom CSS classes */
59
- className?: string;
60
-
61
- /** Additional props */
62
- [key: string]: any;
63
- }
64
-
65
- export interface PrintPageNumberProps {
66
- /** Page number content */
67
- children?: ReactNode;
68
-
69
- /** Page number format */
70
- format?: '1' | '1 of 5' | 'Page 1' | 'Page 1 of 5' | '1/5' | 'custom';
71
-
72
- /** Custom page number template */
73
- template?: string;
74
-
75
- /** Page number position */
76
- position?: 'left' | 'center' | 'right';
77
-
78
- /** Show total pages */
79
- showTotal?: boolean;
80
-
81
- /** Current page */
82
- currentPage?: number;
83
-
84
- /** Total pages */
85
- totalPages?: number;
86
-
87
- /** Print optimization */
88
- printOptimized?: boolean;
89
-
90
- /** Custom CSS classes */
91
- className?: string;
92
-
93
- /** Additional props */
94
- [key: string]: any;
95
- }
96
-
97
- export interface PrintFooterContentProps {
98
- /** Footer content */
99
- children: ReactNode;
100
-
101
- /** Content alignment */
102
- align?: 'left' | 'center' | 'right';
103
-
104
- /** Content padding */
105
- padding?: 'none' | 'sm' | 'md' | 'lg' | 'xl';
106
-
107
- /** Print optimization */
108
- printOptimized?: boolean;
109
-
110
- /** Custom CSS classes */
111
- className?: string;
112
-
113
- /** Additional props */
114
- [key: string]: any;
115
- }
116
-
117
- export interface PrintFooterInfoProps {
118
- /** Footer info content */
119
- children: ReactNode;
120
-
121
- /** Info alignment */
122
- align?: 'left' | 'center' | 'right';
123
-
124
- /** Info background */
125
- background?: 'transparent' | 'white' | 'gray' | 'primary' | 'secondary';
126
-
127
- /** Info border */
128
- showBorder?: boolean;
129
-
130
- /** Print optimization */
131
- printOptimized?: boolean;
132
-
133
- /** Custom CSS classes */
134
- className?: string;
135
-
136
- /** Additional props */
137
- [key: string]: any;
138
- }
139
-
140
- export type PrintFooterPosition = 'fixed' | 'absolute' | 'relative' | 'sticky';
141
- export type PrintFooterAlign = 'left' | 'center' | 'right' | 'between' | 'around' | 'evenly';
142
- export type PrintPageNumberFormat = '1' | '1 of 5' | 'Page 1' | 'Page 1 of 5' | '1/5' | 'custom';
143
- export type PrintPageNumberPosition = 'left' | 'center' | 'right';
144
- export type PrintFooterBackground = 'transparent' | 'white' | 'gray' | 'primary' | 'secondary';
145
- export type PrintFooterPadding = 'none' | 'sm' | 'md' | 'lg' | 'xl';
146
- export type PrintFooterMargin = 'none' | 'sm' | 'md' | 'lg' | 'xl';
147
- export type PrintFooterHeight = 'auto' | 'sm' | 'md' | 'lg' | 'xl';
148
- export type PrintFooterContentAlign = 'left' | 'center' | 'right';
149
- export type PrintFooterInfoAlign = 'left' | 'center' | 'right';