@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.
Files changed (396) hide show
  1. package/README.md +0 -4
  2. package/dist/{DataTable-7FMFXA7A.js → DataTable-DJQTKX33.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-NRK4AIHQ.js → chunk-2DFCT6D3.js} +3 -3
  9. package/dist/{chunk-GIO7BFE7.js → chunk-3JKVVLD3.js} +66 -169
  10. package/dist/{chunk-GIO7BFE7.js.map → chunk-3JKVVLD3.js.map} +1 -1
  11. package/dist/{chunk-MZBUOP4P.js → chunk-5BSLGBYI.js} +4 -3
  12. package/dist/chunk-5BSLGBYI.js.map +1 -0
  13. package/dist/{chunk-I5Z3QH5X.js → chunk-66C4BSAY.js} +2 -2
  14. package/dist/{chunk-I5Z3QH5X.js.map → chunk-66C4BSAY.js.map} +1 -1
  15. package/dist/{chunk-EL2O4IUX.js → chunk-ASXSJGPW.js} +20 -24
  16. package/dist/{chunk-EL2O4IUX.js.map → chunk-ASXSJGPW.js.map} +1 -1
  17. package/dist/{chunk-7BNPOCLL.js → chunk-B2WTCLCV.js} +6 -2
  18. package/dist/chunk-B2WTCLCV.js.map +1 -0
  19. package/dist/{chunk-WJARTBCT.js → chunk-D7ARGIA3.js} +16 -7
  20. package/dist/chunk-D7ARGIA3.js.map +1 -0
  21. package/dist/{chunk-MYP2EGHX.js → chunk-GIDCWCHF.js} +21 -14
  22. package/dist/chunk-GIDCWCHF.js.map +1 -0
  23. package/dist/{chunk-MSFACPQQ.js → chunk-HYNGIE5T.js} +11 -11
  24. package/dist/{chunk-MSFACPQQ.js.map → chunk-HYNGIE5T.js.map} +1 -1
  25. package/dist/{chunk-TRIZ7IB7.js → chunk-I5GID3EX.js} +148 -288
  26. package/dist/chunk-I5GID3EX.js.map +1 -0
  27. package/dist/{chunk-GWSBHC4J.js → chunk-KLPVOPRI.js} +261 -38
  28. package/dist/chunk-KLPVOPRI.js.map +1 -0
  29. package/dist/{chunk-BC3S53OZ.js → chunk-N6XMGSGD.js} +30 -14
  30. package/dist/chunk-N6XMGSGD.js.map +1 -0
  31. package/dist/{chunk-6MTY77WU.js → chunk-QB4GXDUM.js} +3 -3
  32. package/dist/{chunk-YDJW5XTN.js → chunk-STT7INZR.js} +25 -1
  33. package/dist/chunk-STT7INZR.js.map +1 -0
  34. package/dist/{chunk-NYUJ4FJR.js → chunk-UETTVYKU.js} +7 -7
  35. package/dist/chunk-UETTVYKU.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-NZ655MWE.js → chunk-YEHO6FDW.js} +5 -4
  39. package/dist/chunk-YEHO6FDW.js.map +1 -0
  40. package/dist/{chunk-SS3E6QLB.js → chunk-YNUBMSMV.js} +2 -2
  41. package/dist/chunk-YNUBMSMV.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 +25 -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/core.css +0 -125
  273. package/src/types/file-reference.ts +77 -0
  274. package/src/types/rbac-functions.ts +290 -0
  275. package/src/types/supabase.ts +10 -28
  276. package/src/types/unified.ts +4 -1
  277. package/src/utils/__tests__/bundleAnalysis.unit.test.ts +81 -55
  278. package/src/utils/__tests__/lazyLoad.unit.test.tsx +21 -12
  279. package/src/utils/__tests__/organisationContext.unit.test.ts +13 -7
  280. package/src/utils/__tests__/performanceBudgets.unit.test.ts +3 -3
  281. package/src/utils/__tests__/sessionTracking.unit.test.ts +32 -12
  282. package/src/utils/appConfig.ts +1 -1
  283. package/src/utils/appIdResolver.test.ts +503 -0
  284. package/src/utils/appIdResolver.ts +1 -1
  285. package/src/utils/appNameResolver.test.ts +494 -0
  286. package/src/utils/appNameResolver.ts +3 -2
  287. package/src/utils/bundleAnalysis.ts +3 -3
  288. package/src/utils/debugLogger.ts +1 -1
  289. package/src/utils/file-reference.ts +263 -0
  290. package/src/utils/formatDate.test.ts +2 -2
  291. package/src/utils/organisationContext.test.ts +340 -0
  292. package/src/utils/organisationContext.ts +19 -6
  293. package/src/utils/performanceBudgets.ts +2 -2
  294. package/src/utils/permissionUtils.test.ts +393 -0
  295. package/src/utils/permissionUtils.ts +5 -2
  296. package/src/utils/secureDataAccess.test.ts +715 -0
  297. package/src/utils/secureDataAccess.ts +21 -5
  298. package/src/utils/sessionTracking.ts +34 -4
  299. package/src/utils/storage/__tests__/helpers.unit.test.ts +328 -0
  300. package/src/utils/storage/__tests__/index.unit.test.ts +16 -0
  301. package/src/utils/storage/helpers.ts +20 -25
  302. package/src/utils/storage/index.ts +29 -1
  303. package/src/vite-env.d.ts +17 -0
  304. package/dist/chunk-22KLBHPS.js.map +0 -1
  305. package/dist/chunk-7BNPOCLL.js.map +0 -1
  306. package/dist/chunk-BC3S53OZ.js.map +0 -1
  307. package/dist/chunk-GWSBHC4J.js.map +0 -1
  308. package/dist/chunk-MYP2EGHX.js.map +0 -1
  309. package/dist/chunk-MZBUOP4P.js.map +0 -1
  310. package/dist/chunk-NYUJ4FJR.js.map +0 -1
  311. package/dist/chunk-NZ655MWE.js.map +0 -1
  312. package/dist/chunk-SS3E6QLB.js.map +0 -1
  313. package/dist/chunk-TRIZ7IB7.js.map +0 -1
  314. package/dist/chunk-WJARTBCT.js.map +0 -1
  315. package/dist/chunk-YDJW5XTN.js.map +0 -1
  316. package/docs/print-components/README.md +0 -258
  317. package/docs/print-components/api-reference.md +0 -636
  318. package/docs/print-components/examples/README.md +0 -204
  319. package/docs/print-components/examples/basic-report.tsx +0 -92
  320. package/docs/print-components/examples/card-catalog.tsx +0 -149
  321. package/docs/print-components/examples/cover-page-report.tsx +0 -163
  322. package/docs/print-components/quick-start.md +0 -363
  323. package/src/components/PrintButton/PrintButton.tsx +0 -321
  324. package/src/components/PrintButton/PrintButtonGroup.tsx +0 -84
  325. package/src/components/PrintButton/PrintToolbar.tsx +0 -94
  326. package/src/components/PrintButton/__tests__/PrintButton.test.tsx +0 -271
  327. package/src/components/PrintButton/examples/PrintButtonShowcase.tsx +0 -438
  328. package/src/components/PrintButton/index.ts +0 -33
  329. package/src/components/PrintButton/types.ts +0 -173
  330. package/src/components/PrintCard/PrintCard.tsx +0 -154
  331. package/src/components/PrintCard/PrintCardContent.tsx +0 -57
  332. package/src/components/PrintCard/PrintCardFooter.tsx +0 -60
  333. package/src/components/PrintCard/PrintCardGrid.tsx +0 -91
  334. package/src/components/PrintCard/PrintCardHeader.tsx +0 -78
  335. package/src/components/PrintCard/PrintCardImage.tsx +0 -81
  336. package/src/components/PrintCard/examples/PrintCardShowcase.tsx +0 -239
  337. package/src/components/PrintCard/index.ts +0 -34
  338. package/src/components/PrintCard/types.ts +0 -171
  339. package/src/components/PrintDataTable/PrintDataTable.tsx +0 -215
  340. package/src/components/PrintDataTable/PrintTableGroup.tsx +0 -90
  341. package/src/components/PrintDataTable/PrintTableRow.tsx +0 -76
  342. package/src/components/PrintDataTable/index.ts +0 -25
  343. package/src/components/PrintDataTable/types.ts +0 -67
  344. package/src/components/PrintFooter/PrintFooter.tsx +0 -183
  345. package/src/components/PrintFooter/PrintFooterContent.tsx +0 -71
  346. package/src/components/PrintFooter/PrintFooterInfo.tsx +0 -86
  347. package/src/components/PrintFooter/PrintPageNumber.tsx +0 -90
  348. package/src/components/PrintFooter/examples/PrintFooterShowcase.tsx +0 -390
  349. package/src/components/PrintFooter/index.ts +0 -30
  350. package/src/components/PrintFooter/types.ts +0 -149
  351. package/src/components/PrintGrid/PrintGrid.tsx +0 -180
  352. package/src/components/PrintGrid/PrintGridBreakpoint.tsx +0 -109
  353. package/src/components/PrintGrid/PrintGridContainer.tsx +0 -128
  354. package/src/components/PrintGrid/PrintGridItem.tsx +0 -220
  355. package/src/components/PrintGrid/examples/PrintGridShowcase.tsx +0 -359
  356. package/src/components/PrintGrid/index.ts +0 -31
  357. package/src/components/PrintGrid/types.ts +0 -159
  358. package/src/components/PrintHeader/PrintCoverHeader.tsx +0 -230
  359. package/src/components/PrintHeader/PrintHeader.tsx +0 -150
  360. package/src/components/PrintHeader/index.ts +0 -17
  361. package/src/components/PrintHeader/types.ts +0 -42
  362. package/src/components/PrintLayout/PrintLayout.tsx +0 -122
  363. package/src/components/PrintLayout/PrintLayoutContext.tsx +0 -66
  364. package/src/components/PrintLayout/PrintPageBreak.tsx +0 -52
  365. package/src/components/PrintLayout/examples/PrintShowcase.tsx +0 -230
  366. package/src/components/PrintLayout/index.ts +0 -19
  367. package/src/components/PrintLayout/types.ts +0 -37
  368. package/src/components/PrintPageBreak/PrintPageBreak.tsx +0 -120
  369. package/src/components/PrintPageBreak/PrintPageBreakGroup.tsx +0 -90
  370. package/src/components/PrintPageBreak/PrintPageBreakIndicator.tsx +0 -112
  371. package/src/components/PrintPageBreak/examples/PrintPageBreakShowcase.tsx +0 -279
  372. package/src/components/PrintPageBreak/index.ts +0 -23
  373. package/src/components/PrintPageBreak/types.ts +0 -94
  374. package/src/components/PrintSection/PrintColumn.tsx +0 -104
  375. package/src/components/PrintSection/PrintDivider.tsx +0 -101
  376. package/src/components/PrintSection/PrintSection.tsx +0 -129
  377. package/src/components/PrintSection/PrintSectionContent.tsx +0 -75
  378. package/src/components/PrintSection/PrintSectionHeader.tsx +0 -97
  379. package/src/components/PrintSection/examples/PrintSectionShowcase.tsx +0 -258
  380. package/src/components/PrintSection/index.ts +0 -33
  381. package/src/components/PrintSection/types.ts +0 -155
  382. package/src/components/PrintText/PrintText.tsx +0 -116
  383. package/src/components/PrintText/index.ts +0 -16
  384. package/src/components/PrintText/types.ts +0 -24
  385. package/src/rbac/__tests__/integration.test.tsx +0 -218
  386. package/src/utils/print/PrintDataProcessor.ts +0 -390
  387. package/src/utils/print/examples/PrintUtilitiesShowcase.tsx +0 -397
  388. package/src/utils/print/index.ts +0 -29
  389. package/src/utils/print/types.ts +0 -196
  390. package/src/utils/print/usePrintOptimization.ts +0 -272
  391. /package/dist/{DataTable-7FMFXA7A.js.map → DataTable-DJQTKX33.js.map} +0 -0
  392. /package/dist/{api-H5A3H4IR.js.map → api-LUNF5O6M.js.map} +0 -0
  393. /package/dist/{appNameResolver-7GHF5ED2.js.map → appNameResolver-UURKN7NF.js.map} +0 -0
  394. /package/dist/{audit-BUW3LMJB.js.map → audit-6TOCAMKO.js.map} +0 -0
  395. /package/dist/{chunk-NRK4AIHQ.js.map → chunk-2DFCT6D3.js.map} +0 -0
  396. /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';