@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,230 +0,0 @@
1
- /**
2
- * @file Print Components Showcase
3
- * @package @jmruthers/pace-core
4
- * @module PrintLayout
5
- * @since 0.4.38
6
- *
7
- * Comprehensive showcase of print components with various use cases.
8
- */
9
-
10
- import React from 'react';
11
- import {
12
- PrintLayout,
13
- PrintHeader,
14
- PrintCoverHeader,
15
- PrintText,
16
- PrintPageBreak
17
- } from '../../index';
18
- import { Calendar, CheckCircle, User, Building } from 'lucide-react';
19
-
20
- // Sample data for demonstration
21
- const sampleData = [
22
- { id: 1, name: 'John Doe', department: 'Engineering', salary: 75000, status: 'Active' },
23
- { id: 2, name: 'Jane Smith', department: 'Marketing', salary: 65000, status: 'Active' },
24
- { id: 3, name: 'Bob Johnson', department: 'Sales', salary: 70000, status: 'Inactive' },
25
- { id: 4, name: 'Alice Brown', department: 'Engineering', salary: 80000, status: 'Active' },
26
- ];
27
-
28
- export function PrintShowcase() {
29
- return (
30
- <div className="space-y-8">
31
- <div className="mb-8">
32
- <h1 className="text-3xl font-bold mb-4">Print Components Showcase</h1>
33
- <p className="text-muted-foreground">
34
- This page demonstrates the print-optimized layout components available in pace-core.
35
- Use your browser's print function (Ctrl+P / Cmd+P) to see the print-optimized layouts.
36
- </p>
37
- </div>
38
-
39
- {/* Basic Print Layout Example */}
40
- <PrintLayout orientation="portrait" pageSize="A4">
41
- <PrintHeader
42
- title="Basic Print Layout"
43
- subtitle="Simple report with standard header"
44
- branding={{
45
- companyName: "PACE Core",
46
- projectName: "Print Components Demo",
47
- version: "v0.4.38"
48
- }}
49
- metadata={[
50
- { label: "Status", value: "Complete", icon: CheckCircle },
51
- { label: "Generated", value: "2024-01-15", icon: Calendar },
52
- { label: "Author", value: "Development Team", icon: User }
53
- ]}
54
- />
55
-
56
- <div className="space-y-4">
57
- <PrintText variant="heading">Executive Summary</PrintText>
58
- <PrintText variant="body">
59
- This is a demonstration of the basic print layout with a standard header.
60
- The layout is optimized for A4 portrait printing with proper margins and typography.
61
- </PrintText>
62
-
63
- <PrintText variant="subheading">Key Features</PrintText>
64
- <PrintText variant="body">
65
- • Print-optimized typography and spacing
66
- • Responsive header with branding
67
- • Metadata display with icons
68
- • Automatic print date generation
69
- </PrintText>
70
- </div>
71
- </PrintLayout>
72
-
73
- <PrintPageBreak type="before" />
74
-
75
- {/* Cover Page Example */}
76
- <PrintLayout
77
- orientation="portrait"
78
- pageSize="A4"
79
- firstPageHeader={
80
- <PrintCoverHeader
81
- title="Annual Report 2024"
82
- subtitle="Financial Performance & Strategic Overview"
83
- branding={{
84
- logo: "/pace_logo_square.svg",
85
- companyName: "PACE Corporation",
86
- projectName: "Annual Report",
87
- version: "v2024.1",
88
- tagline: "Innovation Through Excellence"
89
- }}
90
- logoSize="large"
91
- titleSize="xl"
92
- showDivider={true}
93
- backgroundColor="#f8f9fa"
94
- metadata={[
95
- { label: "Period", value: "Jan 1 - Dec 31, 2024", icon: Calendar },
96
- { label: "Prepared by", value: "Finance Team", icon: User },
97
- { label: "Company", value: "PACE Corporation", icon: Building }
98
- ]}
99
- />
100
- }
101
- subsequentPageHeader={
102
- <PrintHeader
103
- title="Annual Report 2024"
104
- branding={{
105
- logo: "/pace_logo_square.svg",
106
- companyName: "PACE Corp"
107
- }}
108
- />
109
- }
110
- >
111
- <div className="space-y-6">
112
- <PrintText variant="heading">Financial Highlights</PrintText>
113
-
114
- <PrintText variant="body">
115
- This report demonstrates the cover page header style with enhanced branding,
116
- large logo, and professional appearance suitable for formal documents.
117
- </PrintText>
118
-
119
- <PrintText variant="subheading">Revenue Growth</PrintText>
120
- <PrintText variant="body">
121
- Our company has experienced significant growth in 2024, with revenue increasing
122
- by 25% compared to the previous year. This growth has been driven by strategic
123
- investments in technology and expansion into new markets.
124
- </PrintText>
125
-
126
- <PrintText variant="subheading">Strategic Initiatives</PrintText>
127
- <PrintText variant="body">
128
- Key strategic initiatives implemented in 2024 include:
129
- </PrintText>
130
-
131
- <ul className="list-disc list-inside space-y-2 ml-4">
132
- <li><PrintText variant="body">Digital transformation across all departments</PrintText></li>
133
- <li><PrintText variant="body">Expansion into international markets</PrintText></li>
134
- <li><PrintText variant="body">Investment in sustainable technologies</PrintText></li>
135
- <li><PrintText variant="body">Enhanced customer experience programs</PrintText></li>
136
- </ul>
137
- </div>
138
- </PrintLayout>
139
-
140
- <PrintPageBreak type="before" />
141
-
142
- {/* Landscape Layout Example */}
143
- <PrintLayout orientation="landscape" pageSize="A4">
144
- <PrintHeader
145
- title="Data Analysis Report"
146
- subtitle="Q4 Performance Metrics"
147
- branding={{
148
- companyName: "PACE Analytics",
149
- projectName: "Q4 Report"
150
- }}
151
- metadata={[
152
- { label: "Period", value: "Q4 2024", icon: Calendar },
153
- { label: "Status", value: "Final", icon: CheckCircle }
154
- ]}
155
- />
156
-
157
- <div className="space-y-4">
158
- <PrintText variant="heading">Performance Summary</PrintText>
159
-
160
- <div className="grid grid-cols-2 gap-8">
161
- <div>
162
- <PrintText variant="subheading">Revenue Metrics</PrintText>
163
- <PrintText variant="body">
164
- • Total Revenue: $2.5M (+15% YoY)
165
- • Gross Margin: 68%
166
- • Net Profit: $450K
167
- </PrintText>
168
- </div>
169
-
170
- <div>
171
- <PrintText variant="subheading">Operational Metrics</PrintText>
172
- <PrintText variant="body">
173
- • Customer Acquisition: 1,250 (+22% YoY)
174
- • Customer Retention: 94%
175
- • Average Deal Size: $2,000
176
- </PrintText>
177
- </div>
178
- </div>
179
-
180
- <PrintText variant="subheading">Key Insights</PrintText>
181
- <PrintText variant="body">
182
- The landscape layout is ideal for data-heavy reports and tables.
183
- It provides more horizontal space for presenting information in columns
184
- and makes better use of the available print area.
185
- </PrintText>
186
- </div>
187
- </PrintLayout>
188
-
189
- <PrintPageBreak type="before" />
190
-
191
- {/* Typography Showcase */}
192
- <PrintLayout orientation="portrait" pageSize="A4">
193
- <PrintHeader
194
- title="Typography Showcase"
195
- subtitle="Print-optimized text styles and formatting"
196
- />
197
-
198
- <div className="space-y-6">
199
- <PrintText variant="heading">Heading Styles</PrintText>
200
-
201
- <div className="space-y-4">
202
- <PrintText variant="heading" weight="bold">Main Heading (Bold)</PrintText>
203
- <PrintText variant="subheading" weight="semibold">Subheading (Semibold)</PrintText>
204
- <PrintText variant="body" weight="medium">Body Text (Medium)</PrintText>
205
- <PrintText variant="caption" color="muted">Caption Text (Muted)</PrintText>
206
- <PrintText variant="small" color="muted">Small Text (Muted)</PrintText>
207
- </div>
208
-
209
- <PrintText variant="subheading">Color Variations</PrintText>
210
-
211
- <div className="space-y-2">
212
- <PrintText variant="body" color="primary">Primary Color Text</PrintText>
213
- <PrintText variant="body" color="secondary">Secondary Color Text</PrintText>
214
- <PrintText variant="body" color="muted">Muted Color Text</PrintText>
215
- <PrintText variant="body" color="accent">Accent Color Text</PrintText>
216
- </div>
217
-
218
- <PrintText variant="subheading">Weight Variations</PrintText>
219
-
220
- <div className="space-y-2">
221
- <PrintText variant="body" weight="normal">Normal Weight</PrintText>
222
- <PrintText variant="body" weight="medium">Medium Weight</PrintText>
223
- <PrintText variant="body" weight="semibold">Semibold Weight</PrintText>
224
- <PrintText variant="body" weight="bold">Bold Weight</PrintText>
225
- </div>
226
- </div>
227
- </PrintLayout>
228
- </div>
229
- );
230
- }
@@ -1,19 +0,0 @@
1
- /**
2
- * @file PrintLayout Component Exports
3
- * @package @jmruthers/pace-core
4
- * @module PrintLayout
5
- * @since 0.4.38
6
- *
7
- * Exports for PrintLayout component and related utilities.
8
- */
9
-
10
- export { PrintLayout } from './PrintLayout';
11
- export { PrintPageBreak } from './PrintPageBreak';
12
- export { PrintLayoutProvider, usePrintLayout } from './PrintLayoutContext';
13
- export type {
14
- PrintLayoutProps,
15
- PrintLayoutContextType,
16
- PrintPageBreakProps,
17
- PageSize,
18
- Orientation
19
- } from './types';
@@ -1,37 +0,0 @@
1
- /**
2
- * @file PrintLayout Types
3
- * @package @jmruthers/pace-core
4
- * @module PrintLayout
5
- * @since 0.4.38
6
- *
7
- * Type definitions for PrintLayout component and related utilities.
8
- */
9
-
10
- import { ReactNode } from 'react';
11
-
12
- export type PageSize = 'A4' | 'A3' | 'A5';
13
- export type Orientation = 'portrait' | 'landscape';
14
-
15
- export interface PrintLayoutProps {
16
- children: ReactNode;
17
- orientation?: Orientation;
18
- pageSize?: PageSize;
19
- showHeader?: boolean;
20
- showFooter?: boolean;
21
- firstPageHeader?: ReactNode;
22
- subsequentPageHeader?: ReactNode;
23
- className?: string;
24
- }
25
-
26
- export interface PrintLayoutContextType {
27
- isFirstPage: boolean;
28
- pageSize: PageSize;
29
- orientation: Orientation;
30
- hasFirstPageHeader: boolean;
31
- hasSubsequentPageHeader: boolean;
32
- }
33
-
34
- export interface PrintPageBreakProps {
35
- type?: 'before' | 'after' | 'avoid';
36
- className?: string;
37
- }
@@ -1,120 +0,0 @@
1
- /**
2
- * @file PrintPageBreak Component
3
- * @package @jmruthers/pace-core
4
- * @module PrintPageBreak
5
- * @since 0.4.38
6
- *
7
- * Enhanced print page break component with visual indicators and controls.
8
- */
9
-
10
- import React, { ReactNode } from 'react';
11
- import { cn } from '../../utils/cn';
12
- import { PrintText } from '../PrintText';
13
- import { PrintPageBreakIndicator } from './PrintPageBreakIndicator';
14
- import { PrintPageBreakProps } from './types';
15
-
16
- export function PrintPageBreak({
17
- type = 'auto',
18
- strength = 'normal',
19
- showIndicator = false,
20
- indicator,
21
- label,
22
- description,
23
- printOptimized = true,
24
- className,
25
- ...props
26
- }: PrintPageBreakProps) {
27
- const getBreakClass = (): string => {
28
- const baseClass = 'print-page-break';
29
-
30
- switch (type) {
31
- case 'before':
32
- return cn(baseClass, 'print-break-before');
33
- case 'after':
34
- return cn(baseClass, 'print-break-after');
35
- case 'avoid':
36
- return cn(baseClass, 'print-break-avoid');
37
- case 'always':
38
- return cn(baseClass, 'print-break-before print-break-after');
39
- case 'left':
40
- return cn(baseClass, 'print-break-before', 'print:page-break-before:left');
41
- case 'right':
42
- return cn(baseClass, 'print-break-before', 'print:page-break-before:right');
43
- default:
44
- return baseClass;
45
- }
46
- };
47
-
48
- const getStrengthClass = (): string => {
49
- switch (strength) {
50
- case 'weak':
51
- return 'print:page-break-inside:avoid';
52
- case 'strong':
53
- return 'print:page-break-inside:avoid print:break-inside-avoid';
54
- default:
55
- return '';
56
- }
57
- };
58
-
59
- const getPrintOptimizedClasses = (): string => {
60
- if (!printOptimized) return '';
61
- return cn(
62
- 'print:break-inside-avoid',
63
- 'print:mb-4'
64
- );
65
- };
66
-
67
- const renderIndicator = (): ReactNode => {
68
- if (!showIndicator) return null;
69
-
70
- if (indicator) {
71
- return indicator;
72
- }
73
-
74
- return (
75
- <PrintPageBreakIndicator
76
- type="line"
77
- color="muted"
78
- size="md"
79
- printOptimized={printOptimized}
80
- />
81
- );
82
- };
83
-
84
- const renderLabel = (): ReactNode => {
85
- if (!label) return null;
86
-
87
- return (
88
- <PrintText variant="small" color="muted" className="text-center">
89
- {label}
90
- </PrintText>
91
- );
92
- };
93
-
94
- const renderDescription = (): ReactNode => {
95
- if (!description) return null;
96
-
97
- return (
98
- <PrintText variant="small" color="muted" className="text-center mt-1">
99
- {description}
100
- </PrintText>
101
- );
102
- };
103
-
104
- return (
105
- <div
106
- className={cn(
107
- getBreakClass(),
108
- getStrengthClass(),
109
- getPrintOptimizedClasses(),
110
- className
111
- )}
112
- aria-hidden="true"
113
- {...props}
114
- >
115
- {renderIndicator()}
116
- {renderLabel()}
117
- {renderDescription()}
118
- </div>
119
- );
120
- }
@@ -1,90 +0,0 @@
1
- /**
2
- * @file PrintPageBreakGroup Component
3
- * @package @jmruthers/pace-core
4
- * @module PrintPageBreakGroup
5
- * @since 0.4.38
6
- *
7
- * Group component for managing page breaks across multiple elements.
8
- */
9
-
10
- import React from 'react';
11
- import { cn } from '../../utils/cn';
12
- import { PrintText } from '../PrintText';
13
- import { PrintPageBreakGroupProps } from './types';
14
-
15
- export function PrintPageBreakGroup({
16
- children,
17
- type = 'auto',
18
- strength = 'normal',
19
- label,
20
- description,
21
- printOptimized = true,
22
- className,
23
- ...props
24
- }: PrintPageBreakGroupProps) {
25
- const getBreakClass = (): string => {
26
- const baseClass = 'print-page-break-group';
27
-
28
- switch (type) {
29
- case 'before':
30
- return cn(baseClass, 'print-break-before');
31
- case 'after':
32
- return cn(baseClass, 'print-break-after');
33
- case 'avoid':
34
- return cn(baseClass, 'print-break-avoid');
35
- case 'always':
36
- return cn(baseClass, 'print-break-before print-break-after');
37
- case 'left':
38
- return cn(baseClass, 'print-break-before', 'print:page-break-before:left');
39
- case 'right':
40
- return cn(baseClass, 'print-break-before', 'print:page-break-before:right');
41
- default:
42
- return baseClass;
43
- }
44
- };
45
-
46
- const getStrengthClass = (): string => {
47
- switch (strength) {
48
- case 'weak':
49
- return 'print:page-break-inside:avoid';
50
- case 'strong':
51
- return 'print:page-break-inside:avoid print:break-inside-avoid';
52
- default:
53
- return '';
54
- }
55
- };
56
-
57
- const getPrintOptimizedClasses = (): string => {
58
- if (!printOptimized) return '';
59
- return cn(
60
- 'print:break-inside-avoid',
61
- 'print:mb-4'
62
- );
63
- };
64
-
65
- return (
66
- <div
67
- className={cn(
68
- getBreakClass(),
69
- getStrengthClass(),
70
- getPrintOptimizedClasses(),
71
- className
72
- )}
73
- {...props}
74
- >
75
- {label && (
76
- <PrintText variant="small" color="muted" className="mb-2">
77
- {label}
78
- </PrintText>
79
- )}
80
-
81
- {children}
82
-
83
- {description && (
84
- <PrintText variant="small" color="muted" className="mt-2">
85
- {description}
86
- </PrintText>
87
- )}
88
- </div>
89
- );
90
- }
@@ -1,112 +0,0 @@
1
- /**
2
- * @file PrintPageBreakIndicator Component
3
- * @package @jmruthers/pace-core
4
- * @module PrintPageBreakIndicator
5
- * @since 0.4.38
6
- *
7
- * Visual indicator component for page breaks.
8
- */
9
-
10
- import React, { ReactNode } from 'react';
11
- import { cn } from '../../utils/cn';
12
- import { PrintText } from '../PrintText';
13
- import { PrintPageBreakIndicatorProps } from './types';
14
-
15
- export function PrintPageBreakIndicator({
16
- children,
17
- type = 'line',
18
- color = 'default',
19
- size = 'md',
20
- printOptimized = true,
21
- className,
22
- ...props
23
- }: PrintPageBreakIndicatorProps) {
24
- const getTypeClasses = (): string => {
25
- switch (type) {
26
- case 'dotted':
27
- return 'border-dotted';
28
- case 'dashed':
29
- return 'border-dashed';
30
- case 'text':
31
- return 'text-center';
32
- case 'icon':
33
- return 'text-center';
34
- default:
35
- return 'border-solid';
36
- }
37
- };
38
-
39
- const getColorClasses = (): string => {
40
- switch (color) {
41
- case 'primary':
42
- return 'border-primary text-primary';
43
- case 'secondary':
44
- return 'border-secondary text-secondary';
45
- case 'muted':
46
- return 'border-muted-foreground text-muted-foreground';
47
- case 'accent':
48
- return 'border-accent text-accent';
49
- default:
50
- return 'border-border text-foreground';
51
- }
52
- };
53
-
54
- const getSizeClasses = (): string => {
55
- switch (size) {
56
- case 'sm':
57
- return 'h-1 text-xs';
58
- case 'lg':
59
- return 'h-3 text-lg';
60
- default:
61
- return 'h-2 text-sm';
62
- }
63
- };
64
-
65
- const getPrintOptimizedClasses = (): string => {
66
- if (!printOptimized) return '';
67
- return cn(
68
- 'print:border-black',
69
- 'print:text-black'
70
- );
71
- };
72
-
73
- const renderContent = (): ReactNode => {
74
- if (children) {
75
- return children;
76
- }
77
-
78
- switch (type) {
79
- case 'text':
80
- return '--- Page Break ---';
81
- case 'icon':
82
- return '📄';
83
- case 'line':
84
- return '--- Page Break ---';
85
- default:
86
- return '--- Page Break ---';
87
- }
88
- };
89
-
90
- const isLineType = type === 'line' || type === 'dotted' || type === 'dashed';
91
-
92
- return (
93
- <div
94
- className={cn(
95
- 'print-page-break-indicator',
96
- 'flex',
97
- 'items-center',
98
- 'justify-center',
99
- 'w-full',
100
- getTypeClasses(),
101
- getColorClasses(),
102
- getSizeClasses(),
103
- isLineType && 'border-t',
104
- getPrintOptimizedClasses(),
105
- className
106
- )}
107
- {...props}
108
- >
109
- {renderContent()}
110
- </div>
111
- );
112
- }