@jmruthers/pace-core 0.5.135 → 0.5.137

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 (544) hide show
  1. package/dist/{DataTable-A36PJG6N.js → DataTable-6M4L6BI2.js} +26 -13
  2. package/dist/{DataTable-C7GaRZye.d.ts → DataTable-CWAZZcXC.d.ts} +1 -1
  3. package/dist/{PublicLoadingSpinner-CUAnTvcg.d.ts → EventLogo-rFL_kRjk.d.ts} +123 -135
  4. package/dist/{UnifiedAuthProvider-BVKmQd9u.d.ts → UnifiedAuthProvider-DJxGTftH.d.ts} +1 -1
  5. package/dist/{UnifiedAuthProvider-CQDZRJIS.js → UnifiedAuthProvider-XIQQ7LVU.js} +5 -5
  6. package/dist/{api-TNIBJWLM.js → api-45XYYO2A.js} +4 -3
  7. package/dist/{audit-T36HM7IM.js → audit-64X3VJXB.js} +3 -2
  8. package/dist/{chunk-F64FFPOZ.js → chunk-22WKWKRX.js} +26 -20
  9. package/dist/chunk-22WKWKRX.js.map +1 -0
  10. package/dist/{chunk-VZ5OR6HD.js → chunk-4C7EXCAR.js} +62 -150
  11. package/dist/chunk-4C7EXCAR.js.map +1 -0
  12. package/dist/{chunk-PYUXFQJ3.js → chunk-56XJ3TU6.js} +2 -2
  13. package/dist/chunk-56XJ3TU6.js.map +1 -0
  14. package/dist/{chunk-CTJRBUX2.js → chunk-6LAAY47Q.js} +2 -2
  15. package/dist/{chunk-UJI6WSMD.js → chunk-7QCC6MCP.js} +90 -3
  16. package/dist/chunk-7QCC6MCP.js.map +1 -0
  17. package/dist/{chunk-66C4BSAY.js → chunk-ANBQRTPX.js} +9 -2
  18. package/dist/chunk-ANBQRTPX.js.map +1 -0
  19. package/dist/{chunk-CQZU6TFE.js → chunk-BCIBECNB.js} +100 -62
  20. package/dist/chunk-BCIBECNB.js.map +1 -0
  21. package/dist/{chunk-GKHF54DI.js → chunk-BESYRHQM.js} +10 -4
  22. package/dist/chunk-BESYRHQM.js.map +1 -0
  23. package/dist/chunk-BJPBT3CU.js +21 -0
  24. package/dist/chunk-BJPBT3CU.js.map +1 -0
  25. package/dist/{chunk-BYXRHAIF.js → chunk-BLCXZEYF.js} +23 -14
  26. package/dist/chunk-BLCXZEYF.js.map +1 -0
  27. package/dist/{chunk-WP5I5GLN.js → chunk-BVYWGZVV.js} +112 -97
  28. package/dist/chunk-BVYWGZVV.js.map +1 -0
  29. package/dist/{chunk-GEVIB2UB.js → chunk-ERISIBYU.js} +14 -5
  30. package/dist/chunk-ERISIBYU.js.map +1 -0
  31. package/dist/{chunk-O3NWNXDY.js → chunk-FMUCXFII.js} +2 -2
  32. package/dist/chunk-FMUCXFII.js.map +1 -0
  33. package/dist/{chunk-GVDR7WNV.js → chunk-HAWZXGR2.js} +334 -614
  34. package/dist/chunk-HAWZXGR2.js.map +1 -0
  35. package/dist/{chunk-ZV77RZMU.js → chunk-INQLMHPF.js} +2 -2
  36. package/dist/chunk-JISYG63F.js +70 -0
  37. package/dist/chunk-JISYG63F.js.map +1 -0
  38. package/dist/{chunk-HMNOSGVA.js → chunk-KYRHUBIU.js} +576 -767
  39. package/dist/chunk-KYRHUBIU.js.map +1 -0
  40. package/dist/{chunk-M6DDYFUD.js → chunk-LS353YLY.js} +19 -16
  41. package/dist/chunk-LS353YLY.js.map +1 -0
  42. package/dist/{chunk-TGIY2AR2.js → chunk-MA6EPSGZ.js} +4 -3
  43. package/dist/{chunk-TGIY2AR2.js.map → chunk-MA6EPSGZ.js.map} +1 -1
  44. package/dist/chunk-OWAG3GSU.js +58 -0
  45. package/dist/chunk-OWAG3GSU.js.map +1 -0
  46. package/dist/{chunk-JCQZ6LA7.js → chunk-Q5QRDWKI.js} +9 -3
  47. package/dist/chunk-Q5QRDWKI.js.map +1 -0
  48. package/dist/chunk-S5OFRT4M.js +94 -0
  49. package/dist/chunk-S5OFRT4M.js.map +1 -0
  50. package/dist/{chunk-3DBFLLLU.js → chunk-SBVILCCA.js} +14 -9
  51. package/dist/chunk-SBVILCCA.js.map +1 -0
  52. package/dist/{chunk-ZYZCRSBD.js → chunk-T6JN6LH6.js} +16 -11
  53. package/dist/chunk-T6JN6LH6.js.map +1 -0
  54. package/dist/chunk-XDNLUEXI.js +138 -0
  55. package/dist/chunk-XDNLUEXI.js.map +1 -0
  56. package/dist/{chunk-3CG5L6RN.js → chunk-YCWDTTUK.js} +90 -75
  57. package/dist/chunk-YCWDTTUK.js.map +1 -0
  58. package/dist/{chunk-5F3NDPJV.js → chunk-ZZ2SS7NI.js} +10 -5
  59. package/dist/chunk-ZZ2SS7NI.js.map +1 -0
  60. package/dist/components.d.ts +7 -287
  61. package/dist/components.js +27 -157
  62. package/dist/components.js.map +1 -1
  63. package/dist/{file-reference-C9isKNPn.d.ts → file-reference-C6Gkn77H.d.ts} +1 -1
  64. package/dist/{formatting-DFcCxUEk.d.ts → formatting-CvUXy2mF.d.ts} +1 -1
  65. package/dist/hooks.d.ts +3 -3
  66. package/dist/hooks.js +21 -16
  67. package/dist/hooks.js.map +1 -1
  68. package/dist/index.d.ts +101 -9
  69. package/dist/index.js +44 -31
  70. package/dist/index.js.map +1 -1
  71. package/dist/providers.d.ts +1 -1
  72. package/dist/providers.js +4 -4
  73. package/dist/rbac/index.js +12 -12
  74. package/dist/schema-DTDZQe2u.d.ts +28 -0
  75. package/dist/styles/index.js +2 -1
  76. package/dist/theming/runtime.d.ts +2 -19
  77. package/dist/theming/runtime.js +2 -1
  78. package/dist/{types-D5rqZQXk.d.ts → types-Dfz9dmVH.d.ts} +12 -1
  79. package/dist/types.d.ts +153 -4
  80. package/dist/types.js +51 -16
  81. package/dist/types.js.map +1 -1
  82. package/dist/{useInactivityTracker-MRUU55XI.js → useInactivityTracker-TO6ZOF35.js} +3 -2
  83. package/dist/{usePublicRouteParams-Dyt1tzI9.d.ts → usePublicRouteParams-B7PabvuH.d.ts} +1 -1
  84. package/dist/utils.d.ts +221 -173
  85. package/dist/utils.js +185 -225
  86. package/dist/utils.js.map +1 -1
  87. package/dist/validation.d.ts +24 -115
  88. package/dist/validation.js +19 -474
  89. package/dist/validation.js.map +1 -1
  90. package/docs/api/classes/ColumnFactory.md +1 -1
  91. package/docs/api/classes/ErrorBoundary.md +6 -6
  92. package/docs/api/classes/InvalidScopeError.md +1 -1
  93. package/docs/api/classes/MissingUserContextError.md +1 -1
  94. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  95. package/docs/api/classes/PermissionDeniedError.md +1 -1
  96. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  97. package/docs/api/classes/RBACAuditManager.md +6 -6
  98. package/docs/api/classes/RBACCache.md +1 -1
  99. package/docs/api/classes/RBACEngine.md +7 -7
  100. package/docs/api/classes/RBACError.md +1 -1
  101. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  102. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  103. package/docs/api/classes/StorageUtils.md +1 -1
  104. package/docs/api/enums/FileCategory.md +1 -1
  105. package/docs/api/interfaces/AggregateConfig.md +4 -4
  106. package/docs/api/interfaces/BadgeProps.md +27 -0
  107. package/docs/api/interfaces/ButtonProps.md +1 -1
  108. package/docs/api/interfaces/CardProps.md +1 -1
  109. package/docs/api/interfaces/ColorPalette.md +1 -1
  110. package/docs/api/interfaces/ColorShade.md +29 -4
  111. package/docs/api/interfaces/DataAccessRecord.md +9 -9
  112. package/docs/api/interfaces/DataRecord.md +1 -1
  113. package/docs/api/interfaces/DataTableAction.md +18 -18
  114. package/docs/api/interfaces/DataTableColumn.md +61 -1
  115. package/docs/api/interfaces/DataTableProps.md +1 -1
  116. package/docs/api/interfaces/DataTableToolbarButton.md +7 -7
  117. package/docs/api/interfaces/EmptyStateConfig.md +5 -5
  118. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +14 -14
  119. package/docs/api/interfaces/EventAppRoleData.md +1 -1
  120. package/docs/api/interfaces/EventLogoProps.md +152 -0
  121. package/docs/api/interfaces/ExportColumn.md +1 -1
  122. package/docs/api/interfaces/ExportOptions.md +8 -8
  123. package/docs/api/interfaces/FileDisplayProps.md +15 -15
  124. package/docs/api/interfaces/FileMetadata.md +1 -1
  125. package/docs/api/interfaces/FileReference.md +1 -1
  126. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  127. package/docs/api/interfaces/FileUploadOptions.md +1 -1
  128. package/docs/api/interfaces/FileUploadProps.md +1 -1
  129. package/docs/api/interfaces/FooterProps.md +1 -1
  130. package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
  131. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  132. package/docs/api/interfaces/InputProps.md +1 -1
  133. package/docs/api/interfaces/LabelProps.md +1 -1
  134. package/docs/api/interfaces/LoginFormProps.md +1 -1
  135. package/docs/api/interfaces/NavigationAccessRecord.md +10 -10
  136. package/docs/api/interfaces/NavigationContextType.md +9 -9
  137. package/docs/api/interfaces/NavigationGuardProps.md +10 -10
  138. package/docs/api/interfaces/NavigationItem.md +1 -1
  139. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  140. package/docs/api/interfaces/NavigationProviderProps.md +7 -7
  141. package/docs/api/interfaces/Organisation.md +1 -1
  142. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  143. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  144. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  145. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  146. package/docs/api/interfaces/PaceAppLayoutProps.md +27 -27
  147. package/docs/api/interfaces/PaceLoginPageProps.md +4 -4
  148. package/docs/api/interfaces/PageAccessRecord.md +8 -8
  149. package/docs/api/interfaces/PagePermissionContextType.md +8 -8
  150. package/docs/api/interfaces/PagePermissionGuardProps.md +11 -11
  151. package/docs/api/interfaces/PagePermissionProviderProps.md +7 -7
  152. package/docs/api/interfaces/PaletteData.md +4 -4
  153. package/docs/api/interfaces/PermissionEnforcerProps.md +11 -11
  154. package/docs/api/interfaces/ProtectedRouteProps.md +6 -6
  155. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  156. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  157. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  158. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  159. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  160. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  161. package/docs/api/interfaces/RBACConfig.md +1 -1
  162. package/docs/api/interfaces/RBACLogger.md +1 -1
  163. package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
  164. package/docs/api/interfaces/RoleBasedRouterContextType.md +8 -8
  165. package/docs/api/interfaces/RoleBasedRouterProps.md +10 -10
  166. package/docs/api/interfaces/RoleManagementResult.md +1 -1
  167. package/docs/api/interfaces/RouteAccessRecord.md +10 -10
  168. package/docs/api/interfaces/RouteConfig.md +10 -10
  169. package/docs/api/interfaces/SecureDataContextType.md +9 -9
  170. package/docs/api/interfaces/SecureDataProviderProps.md +8 -8
  171. package/docs/api/interfaces/SessionRestorationLoaderProps.md +21 -0
  172. package/docs/api/interfaces/StorageConfig.md +1 -1
  173. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  174. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  175. package/docs/api/interfaces/StorageListOptions.md +1 -1
  176. package/docs/api/interfaces/StorageListResult.md +1 -1
  177. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  178. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  179. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  180. package/docs/api/interfaces/StyleImport.md +1 -1
  181. package/docs/api/interfaces/SwitchProps.md +1 -1
  182. package/docs/api/interfaces/ToastActionElement.md +1 -1
  183. package/docs/api/interfaces/ToastProps.md +1 -1
  184. package/docs/api/interfaces/UnifiedAuthContextType.md +53 -53
  185. package/docs/api/interfaces/UnifiedAuthProviderProps.md +13 -13
  186. package/docs/api/interfaces/UseInactivityTrackerOptions.md +9 -9
  187. package/docs/api/interfaces/UseInactivityTrackerReturn.md +8 -8
  188. package/docs/api/interfaces/UsePublicEventOptions.md +3 -3
  189. package/docs/api/interfaces/UsePublicEventReturn.md +5 -5
  190. package/docs/api/interfaces/UsePublicFileDisplayOptions.md +4 -4
  191. package/docs/api/interfaces/UsePublicFileDisplayReturn.md +9 -9
  192. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  193. package/docs/api/interfaces/UseResolvedScopeOptions.md +4 -4
  194. package/docs/api/interfaces/UseResolvedScopeReturn.md +4 -4
  195. package/docs/api/interfaces/UserEventAccess.md +11 -11
  196. package/docs/api/interfaces/UserMenuProps.md +1 -1
  197. package/docs/api/interfaces/UserProfile.md +1 -1
  198. package/docs/api/modules.md +591 -220
  199. package/docs/api-reference/components.md +106 -26
  200. package/docs/architecture/README.md +0 -3
  201. package/docs/implementation-guides/data-tables.md +277 -13
  202. package/docs/implementation-guides/forms.md +1 -16
  203. package/docs/implementation-guides/permission-enforcement.md +8 -2
  204. package/docs/styles/README.md +0 -2
  205. package/examples/README.md +30 -14
  206. package/examples/STRUCTURE.md +125 -0
  207. package/examples/components 2/DataTable/HierarchicalActionsExample.tsx +421 -0
  208. package/examples/components 2/DataTable/HierarchicalExample.tsx +475 -0
  209. package/examples/components 2/DataTable/InitialPageSizeExample.tsx +177 -0
  210. package/examples/components 2/DataTable/PerformanceExample.tsx +506 -0
  211. package/examples/components 2/DataTable/index.ts +13 -0
  212. package/examples/components 2/Dialog/BasicHtmlTest.tsx +55 -0
  213. package/examples/components 2/Dialog/DebugHtmlExample.tsx +68 -0
  214. package/examples/components 2/Dialog/HtmlDialogExample.tsx +202 -0
  215. package/examples/components 2/Dialog/ScrollableDialogExample.tsx +290 -0
  216. package/examples/components 2/Dialog/SimpleHtmlTest.tsx +61 -0
  217. package/examples/components 2/Dialog/SmartDialogExample.tsx +322 -0
  218. package/examples/components 2/Dialog/index.ts +15 -0
  219. package/examples/components 2/index.ts +11 -0
  220. package/examples/features/index.ts +12 -0
  221. package/{src/examples → examples/features/public-pages}/CorrectPublicPageImplementation.tsx +14 -17
  222. package/{src/examples → examples/features/public-pages}/PublicEventPage.tsx +14 -27
  223. package/{src/examples → examples/features/public-pages}/PublicPageApp.tsx +15 -28
  224. package/{src/examples → examples/features/public-pages}/PublicPageUsageExample.tsx +8 -10
  225. package/examples/features/public-pages/index.ts +14 -0
  226. package/examples/features/rbac/CompleteRBACExample.tsx +324 -0
  227. package/examples/features/rbac/EventBasedApp.tsx +239 -0
  228. package/examples/features/rbac/PermissionExample.tsx +151 -0
  229. package/examples/features/rbac/index.ts +13 -0
  230. package/examples/index.ts +11 -3
  231. package/package.json +30 -19
  232. package/src/__tests__/TEST_STANDARD.md +92 -0
  233. package/src/components/Alert/Alert.tsx +1 -1
  234. package/src/components/Avatar/Avatar.tsx +1 -1
  235. package/src/components/Badge/Badge.test.tsx +314 -0
  236. package/src/components/Badge/Badge.tsx +304 -0
  237. package/src/components/Badge/index.ts +3 -0
  238. package/src/components/Button/Button.tsx +1 -1
  239. package/src/components/Card/Card.tsx +1 -1
  240. package/src/components/Checkbox/Checkbox.tsx +1 -1
  241. package/src/components/DataTable/DataTable.test.tsx +1 -1
  242. package/src/components/DataTable/DataTable.tsx +1 -30
  243. package/src/components/DataTable/__tests__/DataTable.grouping-aggregation.test.tsx +562 -0
  244. package/src/components/DataTable/__tests__/DataTableCore.test-setup.ts +217 -0
  245. package/src/components/DataTable/__tests__/styles.test.ts +3 -3
  246. package/src/components/DataTable/components/ActionButtons.tsx +0 -15
  247. package/src/components/DataTable/components/ColumnFilter.tsx +8 -4
  248. package/src/components/DataTable/components/DataTableBody.tsx +461 -0
  249. package/src/components/DataTable/components/DataTableCore.tsx +4 -185
  250. package/src/components/DataTable/components/DataTableErrorBoundary.tsx +1 -1
  251. package/src/components/DataTable/components/DataTableModals.tsx +1 -27
  252. package/src/components/DataTable/components/DraggableColumnHeader.tsx +144 -0
  253. package/src/components/DataTable/components/EditableRow.tsx +1 -1
  254. package/src/components/DataTable/components/FilterRow.tsx +9 -3
  255. package/src/components/DataTable/components/ImportModal.tsx +2 -14
  256. package/src/components/DataTable/components/PaginationControls.tsx +2 -1
  257. package/src/components/DataTable/components/UnifiedTableBody.tsx +109 -82
  258. package/src/components/DataTable/components/VirtualizedDataTable.tsx +513 -0
  259. package/src/components/DataTable/components/__tests__/AccessDeniedPage.test.tsx +14 -68
  260. package/src/components/DataTable/components/__tests__/ActionButtons.test.tsx +1 -1
  261. package/src/components/DataTable/components/__tests__/ColumnFilter.test.tsx +62 -0
  262. package/src/components/DataTable/components/__tests__/DataTableErrorBoundary.test.tsx +1 -1
  263. package/src/components/DataTable/components/__tests__/DataTableModals.test.tsx +1 -1
  264. package/src/components/DataTable/components/__tests__/FilterRow.test.tsx +43 -0
  265. package/src/components/DataTable/components/__tests__/ImportModal.test.tsx +1 -1
  266. package/src/components/DataTable/core/ActionManager.ts +235 -0
  267. package/src/components/DataTable/core/ColumnManager.ts +205 -0
  268. package/src/components/DataTable/core/DataManager.ts +188 -0
  269. package/src/components/DataTable/core/DataTableContext.tsx +181 -0
  270. package/src/components/DataTable/core/LocalDataAdapter.ts +273 -0
  271. package/src/components/DataTable/core/PluginRegistry.ts +229 -0
  272. package/src/components/DataTable/core/StateManager.ts +311 -0
  273. package/src/components/DataTable/core/interfaces.ts +338 -0
  274. package/src/components/DataTable/examples/GroupingAggregationExample.tsx +273 -0
  275. package/src/components/DataTable/examples/HierarchicalActionsExample.tsx +1 -1
  276. package/src/components/DataTable/examples/__tests__/HierarchicalActionsExample.test.tsx +1 -1
  277. package/src/components/DataTable/hooks/useColumnOrderPersistence.ts +1 -1
  278. package/src/components/DataTable/hooks/useColumnVisibilityPersistence.ts +1 -1
  279. package/src/components/DataTable/hooks/useDataTablePermissions.ts +2 -23
  280. package/src/components/DataTable/index.ts +4 -0
  281. package/src/components/DataTable/styles.ts +28 -7
  282. package/src/components/DataTable/types.ts +13 -0
  283. package/src/components/DataTable/utils/__tests__/columnUtils.test.ts +94 -0
  284. package/src/components/DataTable/utils/__tests__/exportUtils.test.ts +1 -1
  285. package/src/components/DataTable/utils/aggregationUtils.ts +161 -0
  286. package/src/components/DataTable/utils/columnUtils.ts +40 -0
  287. package/src/components/DataTable/utils/debugTools.ts +609 -0
  288. package/src/components/DataTable/utils/exportUtils.ts +1 -1
  289. package/src/components/DataTable/utils/flexibleImport.ts +1 -11
  290. package/src/components/DataTable/utils/index.ts +2 -0
  291. package/src/components/DataTable/utils/paginationUtils.ts +1 -1
  292. package/src/components/Dialog/Dialog.tsx +2 -2
  293. package/src/components/Dialog/utils/__tests__/safeHtml.unit.test.ts +8 -1
  294. package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +35 -7
  295. package/src/components/ErrorBoundary/ErrorBoundary.tsx +5 -4
  296. package/src/components/EventSelector/EventSelector.tsx +3 -2
  297. package/src/components/FileDisplay/FileDisplay.tsx +2 -36
  298. package/src/components/FileUpload/FileUpload.test.tsx +2 -2
  299. package/src/components/FileUpload/FileUpload.tsx +2 -2
  300. package/src/components/Footer/Footer.test.tsx +1 -1
  301. package/src/components/Footer/Footer.tsx +1 -1
  302. package/src/components/Form/Form.test.tsx +5 -510
  303. package/src/components/Form/Form.tsx +1 -1
  304. package/src/components/Form/FormField.tsx +1 -1
  305. package/src/components/Form/index.ts +0 -12
  306. package/src/components/Header/Header.tsx +1 -1
  307. package/src/components/Input/Input.tsx +1 -1
  308. package/src/components/Label/Label.tsx +1 -1
  309. package/src/components/LoginForm/LoginForm.test.tsx +1 -1
  310. package/src/components/LoginForm/LoginForm.tsx +1 -1
  311. package/src/components/NavigationMenu/NavigationMenu.test.tsx +19 -3
  312. package/src/components/NavigationMenu/NavigationMenu.tsx +9 -8
  313. package/src/components/OrganisationSelector/OrganisationSelector.tsx +4 -3
  314. package/src/components/PaceAppLayout/PaceAppLayout.tsx +14 -12
  315. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.integration.test.tsx +0 -16
  316. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.performance.test.tsx +76 -10
  317. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.security.test.tsx +0 -1
  318. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.unit.test.tsx +0 -9
  319. package/src/components/PaceLoginPage/PaceLoginPage.test.tsx +35 -3
  320. package/src/components/PaceLoginPage/PaceLoginPage.tsx +14 -13
  321. package/src/components/PasswordReset/PasswordChangeForm.tsx +1 -1
  322. package/src/components/PasswordReset/index.ts +0 -2
  323. package/src/components/Progress/Progress.tsx +1 -1
  324. package/src/components/ProtectedRoute/ProtectedRoute.test.tsx +35 -8
  325. package/src/components/ProtectedRoute/ProtectedRoute.tsx +3 -2
  326. package/src/components/PublicLayout/PublicErrorBoundary.tsx +1 -1
  327. package/src/components/PublicLayout/PublicLoadingSpinner.tsx +1 -1
  328. package/src/components/PublicLayout/PublicPageContextChecker.tsx +44 -43
  329. package/src/components/PublicLayout/PublicPageFooter.tsx +1 -1
  330. package/src/components/PublicLayout/PublicPageHeader.tsx +1 -15
  331. package/src/components/PublicLayout/PublicPageProvider.tsx +3 -2
  332. package/src/components/PublicLayout/__tests__/PublicPageContextChecker.test.tsx +2 -0
  333. package/src/components/PublicLayout/__tests__/PublicPageFooter.test.tsx +1 -1
  334. package/src/components/PublicLayout/index.ts +4 -2
  335. package/src/components/Select/Select.test.tsx +1 -1
  336. package/src/components/Select/Select.tsx +21 -9
  337. package/src/components/{SessionRestorationLoader.tsx → SessionRestorationLoader/SessionRestorationLoader.tsx} +3 -2
  338. package/src/components/SessionRestorationLoader/index.ts +3 -0
  339. package/src/components/Switch/Switch.tsx +1 -1
  340. package/src/components/Table/Table.tsx +1 -1
  341. package/src/components/Table/__tests__/Table.test.tsx +1 -1
  342. package/src/components/Toast/Toast.tsx +1 -1
  343. package/src/components/Tooltip/Tooltip.tsx +1 -1
  344. package/src/components/index.ts +7 -10
  345. package/src/hooks/__tests__/hooks.integration.test.tsx +37 -22
  346. package/src/hooks/__tests__/useComponentPerformance.unit.test.tsx +33 -17
  347. package/src/hooks/__tests__/useDataTablePerformance.unit.test.ts +28 -3
  348. package/src/hooks/__tests__/useFileDisplay.unit.test.ts +36 -9
  349. package/src/hooks/__tests__/useFileUrl.unit.test.ts +83 -85
  350. package/src/hooks/__tests__/useInactivityTracker.unit.test.ts +26 -2
  351. package/src/hooks/__tests__/usePerformanceMonitor.unit.test.ts +19 -6
  352. package/src/hooks/__tests__/usePermissionCache.simple.test.ts +17 -4
  353. package/src/hooks/__tests__/usePermissionCache.unit.test.ts +17 -4
  354. package/src/hooks/__tests__/usePublicEvent.simple.test.ts +26 -6
  355. package/src/hooks/__tests__/usePublicFileDisplay.test.ts +16 -6
  356. package/src/hooks/__tests__/useSecureDataAccess.unit.test.tsx +3 -3
  357. package/src/hooks/__tests__/useSessionRestoration.unit.test.tsx +17 -3
  358. package/src/hooks/public/usePublicEvent.ts +7 -6
  359. package/src/hooks/public/usePublicEventLogo.ts +7 -4
  360. package/src/hooks/public/usePublicFileDisplay.ts +6 -150
  361. package/src/hooks/useComponentPerformance.ts +4 -1
  362. package/src/hooks/useDataTablePerformance.ts +4 -3
  363. package/src/hooks/useEventTheme.test.ts +18 -5
  364. package/src/hooks/useEventTheme.ts +4 -1
  365. package/src/hooks/useEvents.ts +2 -0
  366. package/src/hooks/useFileDisplay.ts +9 -8
  367. package/src/hooks/useFileReference.ts +4 -1
  368. package/src/hooks/useFileUrl.ts +4 -1
  369. package/src/hooks/useInactivityTracker.ts +5 -4
  370. package/src/hooks/useOrganisationSecurity.test.ts +33 -12
  371. package/src/hooks/useOrganisationSecurity.ts +8 -7
  372. package/src/hooks/usePerformanceMonitor.ts +6 -3
  373. package/src/hooks/usePermissionCache.ts +13 -6
  374. package/src/hooks/useSecureDataAccess.test.ts +2 -2
  375. package/src/hooks/useSecureDataAccess.ts +9 -8
  376. package/src/hooks/useSessionRestoration.ts +4 -1
  377. package/src/hooks/useStorage.ts +4 -1
  378. package/src/index.ts +20 -7
  379. package/src/providers/services/AuthServiceProvider.tsx +3 -2
  380. package/src/providers/services/EventServiceProvider.tsx +2 -1
  381. package/src/providers/services/InactivityServiceProvider.tsx +2 -1
  382. package/src/providers/services/OrganisationServiceProvider.tsx +2 -1
  383. package/src/providers/services/UnifiedAuthProvider.tsx +4 -3
  384. package/src/providers/services/__tests__/AuthServiceProvider.integration.test.tsx +22 -2
  385. package/src/providers/services/__tests__/UnifiedAuthProvider.integration.test.tsx +24 -2
  386. package/src/rbac/__tests__/cache-invalidation.test.ts +20 -6
  387. package/src/rbac/api.ts +5 -2
  388. package/src/rbac/audit-enhanced.ts +6 -6
  389. package/src/rbac/audit.test.ts +60 -38
  390. package/src/rbac/audit.ts +8 -8
  391. package/src/rbac/cache-invalidation.ts +7 -4
  392. package/src/rbac/components/EnhancedNavigationMenu.tsx +11 -5
  393. package/src/rbac/components/NavigationGuard.tsx +7 -3
  394. package/src/rbac/components/NavigationProvider.tsx +6 -3
  395. package/src/rbac/components/PagePermissionGuard.tsx +28 -16
  396. package/src/rbac/components/PagePermissionProvider.tsx +4 -1
  397. package/src/rbac/components/PermissionEnforcer.tsx +9 -3
  398. package/src/rbac/components/RoleBasedRouter.tsx +3 -1
  399. package/src/rbac/components/SecureDataProvider.tsx +7 -3
  400. package/src/rbac/components/__tests__/EnhancedNavigationMenu.test.tsx +87 -61
  401. package/src/rbac/components/__tests__/NavigationGuard.test.tsx +83 -33
  402. package/src/rbac/components/__tests__/NavigationProvider.test.tsx +36 -13
  403. package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +2 -2
  404. package/src/rbac/components/__tests__/PagePermissionProvider.test.tsx +22 -8
  405. package/src/rbac/components/__tests__/PermissionEnforcer.test.tsx +19 -6
  406. package/src/rbac/components/__tests__/SecureDataProvider.fixed.test.tsx +43 -17
  407. package/src/rbac/components/__tests__/SecureDataProvider.test.tsx +42 -17
  408. package/src/rbac/engine.ts +15 -7
  409. package/src/rbac/hooks/usePermissions.ts +7 -3
  410. package/src/rbac/hooks/useResolvedScope.test.ts +2 -2
  411. package/src/rbac/hooks/useResolvedScope.ts +10 -7
  412. package/src/rbac/permissions.ts +5 -2
  413. package/src/rbac/security.test.ts +27 -16
  414. package/src/rbac/security.ts +5 -4
  415. package/src/services/AuthService.ts +22 -21
  416. package/src/services/EventService.ts +12 -12
  417. package/src/services/InactivityService.ts +5 -4
  418. package/src/services/OrganisationService.ts +26 -25
  419. package/src/services/__tests__/AuthService.test.ts +51 -19
  420. package/src/services/__tests__/EventService.test.ts +37 -5
  421. package/src/services/__tests__/InactivityService.test.ts +38 -4
  422. package/src/services/__tests__/OrganisationService.test.ts +3 -8
  423. package/src/services/base/BaseService.ts +3 -1
  424. package/src/styles/core.css +3 -0
  425. package/src/theming/__tests__/runtime.test.ts +21 -12
  426. package/src/theming/parseEventColours.ts +5 -19
  427. package/src/theming/runtime.ts +8 -4
  428. package/src/types/validation.ts +2 -29
  429. package/src/utils/__tests__/appConfig.unit.test.ts +1 -1
  430. package/src/utils/__tests__/audit.unit.test.ts +1 -1
  431. package/src/utils/__tests__/auth-utils.unit.test.ts +1 -1
  432. package/src/utils/__tests__/bundleAnalysis.unit.test.ts +19 -19
  433. package/src/utils/__tests__/cn.unit.test.ts +1 -1
  434. package/src/utils/__tests__/debugLogger.test.ts +1 -1
  435. package/src/utils/__tests__/deviceFingerprint.unit.test.ts +1 -1
  436. package/src/utils/__tests__/dynamicUtils.unit.test.ts +1 -1
  437. package/src/utils/__tests__/formatting.unit.test.ts +1 -1
  438. package/src/utils/__tests__/lazyLoad.unit.test.tsx +1 -1
  439. package/src/utils/__tests__/logger.unit.test.ts +1 -1
  440. package/src/utils/__tests__/organisationContext.unit.test.ts +1 -1
  441. package/src/utils/__tests__/performanceBenchmark.test.ts +1 -1
  442. package/src/utils/__tests__/performanceBudgets.unit.test.ts +1 -1
  443. package/src/utils/__tests__/permissionTypes.unit.test.ts +1 -1
  444. package/src/utils/__tests__/permissionUtils.unit.test.ts +1 -1
  445. package/src/utils/__tests__/sanitization.unit.test.ts +1 -1
  446. package/src/utils/__tests__/schemaUtils.unit.test.ts +1 -1
  447. package/src/utils/__tests__/secureDataAccess.unit.test.ts +1 -1
  448. package/src/utils/__tests__/secureErrors.unit.test.ts +33 -15
  449. package/src/utils/__tests__/secureStorage.unit.test.ts +1 -1
  450. package/src/utils/__tests__/security.unit.test.ts +40 -18
  451. package/src/utils/__tests__/securityMonitor.unit.test.ts +1 -1
  452. package/src/utils/__tests__/sessionTracking.unit.test.ts +40 -29
  453. package/src/utils/__tests__/validationUtils.unit.test.ts +19 -6
  454. package/src/utils/app/appConfig.ts +47 -0
  455. package/src/utils/app/appIdResolver.test.ts +497 -0
  456. package/src/utils/app/appIdResolver.ts +133 -0
  457. package/src/utils/app/appNameResolver.simple.test.ts +212 -0
  458. package/src/utils/app/appNameResolver.test.ts +121 -0
  459. package/src/utils/app/appNameResolver.ts +195 -0
  460. package/src/utils/audit/audit.ts +127 -0
  461. package/src/utils/context/organisationContext.test.ts +322 -0
  462. package/src/utils/context/organisationContext.ts +156 -0
  463. package/src/utils/context/sessionTracking.ts +125 -0
  464. package/src/utils/core/cn.ts +7 -0
  465. package/src/utils/core/debugLogger.ts +67 -0
  466. package/src/utils/core/logger.ts +181 -0
  467. package/src/utils/device/deviceFingerprint.ts +215 -0
  468. package/src/utils/dynamic/dynamicUtils.ts +105 -0
  469. package/src/utils/dynamic/lazyLoad.tsx +44 -0
  470. package/src/utils/file-reference/__tests__/file-reference.test.ts +788 -0
  471. package/src/utils/file-reference/index.ts +501 -0
  472. package/src/utils/formatting/formatDate.test.ts +237 -0
  473. package/src/utils/formatting/formatting.ts +133 -0
  474. package/src/utils/index.ts +39 -54
  475. package/src/utils/performance/bundleAnalysis.ts +129 -0
  476. package/src/utils/performance/performanceBenchmark.ts +64 -0
  477. package/src/utils/performance/performanceBudgets.ts +110 -0
  478. package/src/utils/permissions/permissionTypes.ts +37 -0
  479. package/src/utils/permissions/permissionUtils.test.ts +393 -0
  480. package/src/utils/permissions/permissionUtils.ts +34 -0
  481. package/src/utils/security/auth-utils.ts +96 -0
  482. package/src/utils/security/secureDataAccess.test.ts +711 -0
  483. package/src/utils/security/secureDataAccess.ts +377 -0
  484. package/src/utils/security/secureErrors.ts +82 -0
  485. package/src/utils/security/secureStorage.ts +244 -0
  486. package/src/utils/security/security.ts +159 -0
  487. package/src/utils/security/securityMonitor.ts +45 -0
  488. package/src/utils/storage/__tests__/helpers.unit.test.ts +1 -4
  489. package/src/utils/storage/helpers.ts +15 -8
  490. package/src/utils/validation/__tests__/htmlSanitization.unit.test.ts +598 -0
  491. package/src/{validation → utils/validation}/csrf.ts +1 -1
  492. package/src/utils/validation/htmlSanitization.ts +184 -0
  493. package/src/utils/validation/index.ts +79 -0
  494. package/src/utils/validation/sanitization.ts +333 -0
  495. package/src/{validation/schemaUtils.ts → utils/validation/schema.ts} +11 -6
  496. package/src/{validation → utils/validation}/sqlInjectionProtection.ts +2 -0
  497. package/src/utils/validation/validation.ts +111 -0
  498. package/src/utils/validation/validationUtils.ts +123 -0
  499. package/src/validation/index.ts +3 -34
  500. package/dist/chunk-24MKLB7U.js +0 -81
  501. package/dist/chunk-24MKLB7U.js.map +0 -1
  502. package/dist/chunk-3CG5L6RN.js.map +0 -1
  503. package/dist/chunk-3DBFLLLU.js.map +0 -1
  504. package/dist/chunk-5F3NDPJV.js.map +0 -1
  505. package/dist/chunk-66C4BSAY.js.map +0 -1
  506. package/dist/chunk-BDZUMRBD.js +0 -87
  507. package/dist/chunk-BDZUMRBD.js.map +0 -1
  508. package/dist/chunk-BYXRHAIF.js.map +0 -1
  509. package/dist/chunk-CDQ3PX7L.js +0 -18
  510. package/dist/chunk-CDQ3PX7L.js.map +0 -1
  511. package/dist/chunk-CQZU6TFE.js.map +0 -1
  512. package/dist/chunk-F64FFPOZ.js.map +0 -1
  513. package/dist/chunk-GEVIB2UB.js.map +0 -1
  514. package/dist/chunk-GKHF54DI.js.map +0 -1
  515. package/dist/chunk-GVDR7WNV.js.map +0 -1
  516. package/dist/chunk-HMNOSGVA.js.map +0 -1
  517. package/dist/chunk-JCQZ6LA7.js.map +0 -1
  518. package/dist/chunk-M6DDYFUD.js.map +0 -1
  519. package/dist/chunk-O3NWNXDY.js.map +0 -1
  520. package/dist/chunk-PYUXFQJ3.js.map +0 -1
  521. package/dist/chunk-UJI6WSMD.js.map +0 -1
  522. package/dist/chunk-VZ5OR6HD.js.map +0 -1
  523. package/dist/chunk-WP5I5GLN.js.map +0 -1
  524. package/dist/chunk-ZYZCRSBD.js.map +0 -1
  525. package/dist/validation-DnhrNMju.d.ts +0 -159
  526. package/src/components/PublicLayout/__tests__/PublicPageDebugger.test.tsx +0 -185
  527. package/src/validation/__tests__/common.unit.test.ts +0 -101
  528. package/src/validation/__tests__/csrf.unit.test.ts +0 -365
  529. package/src/validation/__tests__/passwordSchema.unit.test.ts +0 -203
  530. package/src/validation/__tests__/sanitization.unit.test.ts +0 -250
  531. package/src/validation/__tests__/schemaUtils.unit.test.ts +0 -451
  532. package/src/validation/__tests__/sqlInjectionProtection.unit.test.ts +0 -462
  533. package/src/validation/__tests__/user.unit.test.ts +0 -440
  534. package/src/validation/sanitization.ts +0 -96
  535. /package/dist/{DataTable-A36PJG6N.js.map → DataTable-6M4L6BI2.js.map} +0 -0
  536. /package/dist/{UnifiedAuthProvider-CQDZRJIS.js.map → UnifiedAuthProvider-XIQQ7LVU.js.map} +0 -0
  537. /package/dist/{api-TNIBJWLM.js.map → api-45XYYO2A.js.map} +0 -0
  538. /package/dist/{audit-T36HM7IM.js.map → audit-64X3VJXB.js.map} +0 -0
  539. /package/dist/{chunk-CTJRBUX2.js.map → chunk-6LAAY47Q.js.map} +0 -0
  540. /package/dist/{chunk-ZV77RZMU.js.map → chunk-INQLMHPF.js.map} +0 -0
  541. /package/dist/{useInactivityTracker-MRUU55XI.js.map → useInactivityTracker-TO6ZOF35.js.map} +0 -0
  542. /package/src/{validation → utils/validation}/common.ts +0 -0
  543. /package/src/{validation → utils/validation}/passwordSchema.ts +0 -0
  544. /package/src/{validation → utils/validation}/user.ts +0 -0
@@ -1,12 +1,12 @@
1
- export { a as UnifiedAuthContextType, c as UnifiedAuthProvider, b as UnifiedAuthProviderProps, u as useUnifiedAuth } from './UnifiedAuthProvider-BVKmQd9u.js';
2
- export { A as Alert, m as AlertDescription, l as AlertTitle, n as Avatar, p as AvatarFallback, o as AvatarImage, B as Button, a as ButtonProps, C as Card, g as CardActions, i as CardActionsProps, f as CardContent, e as CardDescription, c as CardFooter, b as CardHeader, h as CardProps, d as CardTitle, q as Checkbox, b3 as DefaultPublicErrorFallback, D as Dialog, K as DialogBody, G as DialogClose, H as DialogContent, U as DialogContentProps, O as DialogDescription, Z as DialogDescriptionProps, M as DialogFooter, X as DialogFooterProps, J as DialogHeader, W as DialogHeaderProps, E as DialogOverlay, V as DialogOverlayProps, z as DialogPortal, Q as DialogProps, _ as DialogSize, N as DialogTitle, Y as DialogTitleProps, F as DialogTrigger, R as DialogTriggerProps, aB as ErrorBoundary, aC as ErrorBoundaryProps, aD as ErrorBoundaryState, aG as EventSelector, aK as FileDisplay, aL as FileDisplayProps, aI as FileUpload, aJ as FileUploadProps, ar as Footer, as as FooterProps, am as Form, an as FormProps, aq as Header, I as Input, j as InputProps, L as Label, k as LabelProps, aE as LoadingSpinner, ao as LoginForm, ap as LoginFormProps, ax as NavigationItem, av as NavigationMenu, aw as NavigationMenuProps, ay as OrganisationSelector, az as OrganisationSelectorProps, be as PaceAppLayout, bd as PaceAppLayoutProps, bg as PaceLoginPage, bf as PaceLoginPageProps, aH as PasswordResetForm, P as Progress, at as ProtectedRoute, au as ProtectedRouteProps, b1 as PublicErrorBoundary, ba as PublicErrorBoundaryProps, bb as PublicErrorBoundaryState, b6 as PublicLoadingSkeleton, b4 as PublicLoadingSpinner, b5 as PublicLoadingSpinnerFullPage, bc as PublicLoadingSpinnerProps, b0 as PublicPageContextChecker, a_ as PublicPageDebugger, a$ as PublicPageDiagnostic, aZ as PublicPageFooter, b9 as PublicPageFooterProps, aV as PublicPageHeader, b8 as PublicPageHeaderProps, aT as PublicPageLayout, b7 as PublicPageLayoutProps, aW as PublicPageProvider, $ as Select, a3 as SelectContent, a0 as SelectGroup, a5 as SelectItem, a4 as SelectLabel, a6 as SelectSeparator, a2 as SelectTrigger, a1 as SelectValue, aF as SessionRestorationLoader, S as Switch, r as SwitchProps, T as Table, t as TableBody, u as TableCaption, v as TableCell, w as TableFooter, x as TableHead, s as TableHeader, y as TableRow, a7 as Toast, a9 as ToastAction, af as ToastActionElement, ae as ToastClose, ad as ToastDescription, ag as ToastProps, aa as ToastProvider, ac as ToastTitle, ab as ToastViewport, a8 as Toaster, ah as Tooltip, aj as TooltipContent, ak as TooltipProvider, al as TooltipRoot, ai as TooltipTrigger, aS as UseFileReferenceForRecordReturn, aQ as UseFileReferenceOptions, aR as UseFileReferenceReturn, aA as UserMenu, b2 as useErrorBoundary, aM as useFileReference, aO as useFileReferenceById, aN as useFileReferenceForRecord, aP as useFilesByCategory, aY as useIsPublicPage, aU as usePublicPageContext, aX as usePublicPageProviderContext } from './PublicLoadingSpinner-CUAnTvcg.js';
1
+ export { b as UnifiedAuthContextType, U as UnifiedAuthProvider, a as UnifiedAuthProviderProps, u as useUnifiedAuth } from './UnifiedAuthProvider-DJxGTftH.js';
2
+ export { A as Alert, m as AlertDescription, l as AlertTitle, n as Avatar, p as AvatarFallback, o as AvatarImage, q as Badge, r as BadgeProps, s as BadgeVariant, B as Button, a as ButtonProps, C as Card, g as CardActions, i as CardActionsProps, f as CardContent, e as CardDescription, c as CardFooter, b as CardHeader, h as CardProps, d as CardTitle, t as Checkbox, b4 as DefaultPublicErrorFallback, F as Dialog, O as DialogBody, K as DialogClose, M as DialogContent, X as DialogContentProps, U as DialogDescription, a0 as DialogDescriptionProps, Q as DialogFooter, _ as DialogFooterProps, N as DialogHeader, Z as DialogHeaderProps, H as DialogOverlay, Y as DialogOverlayProps, G as DialogPortal, V as DialogProps, a1 as DialogSize, R as DialogTitle, $ as DialogTitleProps, J as DialogTrigger, W as DialogTriggerProps, aE as ErrorBoundary, aF as ErrorBoundaryProps, aG as ErrorBoundaryState, b8 as EventLogo, b9 as EventLogoCompact, ba as EventLogoLarge, bb as EventLogoProps, aK as EventSelector, aN as FileDisplay, aO as FileDisplayProps, aL as FileUpload, aM as FileUploadProps, au as Footer, av as FooterProps, ap as Form, aq as FormProps, at as Header, I as Input, j as InputProps, L as Label, k as LabelProps, aH as LoadingSpinner, ar as LoginForm, as as LoginFormProps, aA as NavigationItem, ay as NavigationMenu, az as NavigationMenuProps, aB as OrganisationSelector, aC as OrganisationSelectorProps, bj as PaceAppLayout, bi as PaceAppLayoutProps, bl as PaceLoginPage, bk as PaceLoginPageProps, P as Progress, aw as ProtectedRoute, ax as ProtectedRouteProps, b2 as PublicErrorBoundary, bf as PublicErrorBoundaryProps, bg as PublicErrorBoundaryState, b7 as PublicLoadingSkeleton, b5 as PublicLoadingSpinner, b6 as PublicLoadingSpinnerFullPage, bh as PublicLoadingSpinnerProps, b1 as PublicPageContextChecker, b0 as PublicPageFooter, be as PublicPageFooterProps, aY as PublicPageHeader, bd as PublicPageHeaderProps, aW as PublicPageLayout, bc as PublicPageLayoutProps, aZ as PublicPageProvider, a2 as Select, a6 as SelectContent, a3 as SelectGroup, a8 as SelectItem, a7 as SelectLabel, a9 as SelectSeparator, a5 as SelectTrigger, a4 as SelectValue, aI as SessionRestorationLoader, aJ as SessionRestorationLoaderProps, S as Switch, u as SwitchProps, T as Table, w as TableBody, x as TableCaption, y as TableCell, z as TableFooter, D as TableHead, v as TableHeader, E as TableRow, aa as Toast, ac as ToastAction, ai as ToastActionElement, ah as ToastClose, ag as ToastDescription, aj as ToastProps, ad as ToastProvider, af as ToastTitle, ae as ToastViewport, ab as Toaster, ak as Tooltip, am as TooltipContent, an as TooltipProvider, ao as TooltipRoot, al as TooltipTrigger, aV as UseFileReferenceForRecordReturn, aT as UseFileReferenceOptions, aU as UseFileReferenceReturn, aD as UserMenu, b3 as useErrorBoundary, aP as useFileReference, aR as useFileReferenceById, aQ as useFileReferenceForRecord, aS as useFilesByCategory, a$ as useIsPublicPage, aX as usePublicPageContext, a_ as usePublicPageProviderContext } from './EventLogo-rFL_kRjk.js';
3
3
  export { u as useToast } from './useToast-C8gR5ir4.js';
4
- export { D as DataTable, a as DataTableProps } from './DataTable-C7GaRZye.js';
5
- export { A as AggregateConfig, D as DataRecord, g as DataTableAction, a as DataTableColumn, h as DataTableToolbarButton, f as EmptyStateConfig, G as GetRowId } from './types-D5rqZQXk.js';
4
+ export { D as DataTable, a as DataTableProps } from './DataTable-CWAZZcXC.js';
5
+ export { A as AggregateConfig, c as DataRecord, a as DataTableAction, D as DataTableColumn, b as DataTableToolbarButton, E as EmptyStateConfig, G as GetRowId } from './types-Dfz9dmVH.js';
6
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
7
7
  import React__default from 'react';
8
- import { FieldValues, FieldPath, UseFormReturn } from 'react-hook-form';
9
- export { b as FileCategory, a as FileMetadata, F as FileReference, c as FileUploadOptions } from './file-reference-C9isKNPn.js';
8
+ import { FieldValues, FieldPath } from 'react-hook-form';
9
+ export { F as FileCategory, b as FileMetadata, a as FileReference, c as FileUploadOptions } from './file-reference-C6Gkn77H.js';
10
10
  import '@supabase/supabase-js';
11
11
  import './organisation-D6qRDtbF.js';
12
12
  import './unified-DQ4VcT7H.js';
@@ -102,284 +102,4 @@ interface FormFieldProps<TFieldValues extends FieldValues = FieldValues, TName e
102
102
  */
103
103
  declare function FormField<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ name, label, type, placeholder, inputProps, validation, render, 'data-testid': testId, className, }: FormFieldProps<TFieldValues, TName>): react_jsx_runtime.JSX.Element;
104
104
 
105
- /**
106
- * @file FormErrorSummary Component
107
- * @package @jmruthers/pace-core
108
- * @module Components/Form
109
- * @since 0.1.0
110
- *
111
- * A form error summary component that displays validation errors in a user-friendly format.
112
- * Provides a centralized location for users to see all form errors at once.
113
- *
114
- * Features:
115
- * - Displays all form errors in one place
116
- * - Configurable error display format
117
- * - Optional field name display
118
- * - Accessible error presentation
119
- * - Consistent styling with Alert component
120
- * - Automatic error filtering
121
- * - Responsive design
122
- *
123
- * @example
124
- * ```tsx
125
- * // Basic error summary
126
- * <FormErrorSummary errors={formErrors} />
127
- *
128
- * // With custom title
129
- * <FormErrorSummary
130
- * errors={formErrors}
131
- * title="Please correct the following issues:"
132
- * />
133
- *
134
- * // Show field names with errors
135
- * <FormErrorSummary
136
- * errors={formErrors}
137
- * showFieldNames={true}
138
- * />
139
- *
140
- * // In a form with React Hook Form
141
- * const { formState: { errors } } = useForm();
142
- *
143
- * <Form onSubmit={handleSubmit}>
144
- * <FormField name="email" label="Email" />
145
- * <FormField name="password" label="Password" />
146
- * <FormErrorSummary errors={errors} />
147
- * <Button type="submit">Submit</Button>
148
- * </Form>
149
- * ```
150
- *
151
- * @accessibility
152
- * - Uses Alert component for consistent accessibility
153
- * - Proper heading hierarchy with h3
154
- * - List structure for error items
155
- * - Screen reader friendly error announcements
156
- * - High contrast support via Alert component
157
- *
158
- * @dependencies
159
- * - Alert component for consistent styling
160
- * - React 18+ - Component framework
161
- * - Tailwind CSS - Styling
162
- */
163
- interface FormErrorSummaryProps {
164
- /** Form validation errors object */
165
- errors?: Record<string, any>;
166
- /** Title displayed above the error list */
167
- title?: string;
168
- /** Whether to show field names alongside error messages */
169
- showFieldNames?: boolean;
170
- }
171
- /**
172
- * FormErrorSummary component for displaying form validation errors
173
- *
174
- * This component provides a user-friendly way to display all form errors
175
- * in one centralized location, improving the user experience by making
176
- * it clear what needs to be fixed.
177
- *
178
- * @param props - Component configuration
179
- * @param props.errors - Form validation errors object
180
- * @param props.title - Title displayed above the error list
181
- * @param props.showFieldNames - Whether to show field names with errors
182
- * @returns JSX.Element - The rendered error summary or null if no errors
183
- */
184
- declare function FormErrorSummary({ errors, title, showFieldNames }: FormErrorSummaryProps): react_jsx_runtime.JSX.Element | null;
185
-
186
- /**
187
- * @file FormLiveRegion Component
188
- * @package @jmruthers/pace-core
189
- * @module Components/Form
190
- * @since 0.1.0
191
- *
192
- * An accessible live region component for form validation announcements.
193
- * Provides real-time feedback to screen readers about form validation states
194
- * and error messages, improving accessibility for users with assistive technologies.
195
- *
196
- * Features:
197
- * - Real-time form validation announcements
198
- * - Configurable politeness levels (polite/assertive)
199
- * - Customizable delay timing
200
- * - Field-level and form-level announcements
201
- * - Success message customization
202
- * - Automatic error counting and field identification
203
- * - Accessibility compliant with ARIA live regions
204
- * - Integration with React Hook Form
205
- *
206
- * @example
207
- * ```tsx
208
- * // Basic live region
209
- * const { control, formState } = useForm();
210
- *
211
- * <Form onSubmit={handleSubmit}>
212
- * <FormField name="email" label="Email" />
213
- * <FormField name="password" label="Password" />
214
- * <FormLiveRegion form={{ control, formState }} />
215
- * <Button type="submit">Submit</Button>
216
- * </Form>
217
- *
218
- * // With custom configuration
219
- * <FormLiveRegion
220
- * form={{ control, formState }}
221
- * politeness="assertive"
222
- * delay={1000}
223
- * successMessage="Your form was submitted successfully!"
224
- * enableFieldAnnouncements={true}
225
- * />
226
- *
227
- * // In a complex form
228
- * function ComplexForm() {
229
- * const methods = useForm({
230
- * defaultValues: { name: '', email: '', message: '' }
231
- * });
232
- *
233
- * return (
234
- * <FormProvider {...methods}>
235
- * <form onSubmit={methods.handleSubmit(onSubmit)}>
236
- * <FormField name="name" label="Name" />
237
- * <FormField name="email" label="Email" />
238
- * <FormField name="message" label="Message" />
239
- * <FormLiveRegion
240
- * form={methods}
241
- * politeness="polite"
242
- * delay={300}
243
- * />
244
- * <Button type="submit">Send Message</Button>
245
- * </form>
246
- * </FormProvider>
247
- * );
248
- * }
249
- * ```
250
- *
251
- * @accessibility
252
- * - ARIA live region for screen reader announcements
253
- * - Configurable politeness levels for different message types
254
- * - Automatic error counting and field identification
255
- * - Non-intrusive validation feedback
256
- * - WCAG 2.1 AA compliant
257
- * - Screen reader friendly error announcements
258
- *
259
- * @dependencies
260
- * - react-hook-form - Form state management
261
- * - React 18+ - Hooks and effects
262
- * - Tailwind CSS - Styling
263
- */
264
-
265
- /**
266
- * Props for the FormLiveRegion component
267
- */
268
- interface FormLiveRegionProps<T extends FieldValues> {
269
- /** React Hook Form instance */
270
- form: UseFormReturn<T>;
271
- /** ARIA live region politeness level */
272
- politeness?: 'polite' | 'assertive';
273
- /** Delay before announcing messages (in ms) */
274
- delay?: number;
275
- /** Custom success message */
276
- successMessage?: string;
277
- /** Custom class name */
278
- className?: string;
279
- /** Enable field-level validation announcements */
280
- enableFieldAnnouncements?: boolean;
281
- }
282
- /**
283
- * FormLiveRegion component for accessible form validation announcements
284
- */
285
- declare function FormLiveRegion<T extends FieldValues>({ form, politeness, delay, successMessage, className, enableFieldAnnouncements }: FormLiveRegionProps<T>): React__default.ReactElement;
286
-
287
- /**
288
- * @file FormFieldset Component
289
- * @package @jmruthers/pace-core
290
- * @module Components/Form
291
- * @since 0.1.0
292
- *
293
- * A form fieldset component that groups related form fields together with a legend
294
- * and optional description. Provides semantic structure and accessibility for form sections.
295
- *
296
- * Features:
297
- * - Semantic fieldset grouping for related form fields
298
- * - Accessible legend with required indicator
299
- * - Optional description text with proper ARIA association
300
- * - Consistent styling with design system
301
- * - Forwarded ref support
302
- * - Customizable styling via className
303
- * - Required field indication
304
- * - Responsive design
305
- *
306
- * @example
307
- * ```tsx
308
- * // Basic fieldset
309
- * <FormFieldset legend="Personal Information">
310
- * <FormField name="firstName" label="First Name" />
311
- * <FormField name="lastName" label="Last Name" />
312
- * <FormField name="email" label="Email" />
313
- * </FormFieldset>
314
- *
315
- * // Fieldset with description
316
- * <FormFieldset
317
- * legend="Contact Details"
318
- * description="We'll use this information to contact you about your order"
319
- * >
320
- * <FormField name="phone" label="Phone Number" />
321
- * <FormField name="address" label="Address" />
322
- * </FormFieldset>
323
- *
324
- * // Required fieldset
325
- * <FormFieldset
326
- * legend="Account Settings"
327
- * required={true}
328
- * description="These settings are required for account creation"
329
- * >
330
- * <FormField name="username" label="Username" required />
331
- * <FormField name="password" label="Password" type="password" required />
332
- * </FormFieldset>
333
- *
334
- * // With custom styling
335
- * <FormFieldset
336
- * legend="Preferences"
337
- * className="bg-sec-50 border-sec-200"
338
- * >
339
- * <FormField name="newsletter" label="Subscribe to newsletter" type="checkbox" />
340
- * <FormField name="notifications" label="Enable notifications" type="checkbox" />
341
- * </FormFieldset>
342
- * ```
343
- *
344
- * @accessibility
345
- * - Proper semantic HTML with fieldset and legend
346
- * - ARIA describedby association for descriptions
347
- * - Required field indication with asterisk
348
- * - Screen reader friendly structure
349
- * - Keyboard navigation support
350
- * - WCAG 2.1 AA compliant
351
- *
352
- * @dependencies
353
- * - React 18+ - Component framework and hooks
354
- * - Tailwind CSS - Styling
355
- * - cn utility - Class name merging
356
- */
357
-
358
- interface FormFieldsetProps extends React__default.FieldsetHTMLAttributes<HTMLFieldSetElement> {
359
- /** The legend text for the fieldset */
360
- legend: string;
361
- /** Optional description text below the legend */
362
- description?: string;
363
- /** Whether the fieldset contains required fields */
364
- required?: boolean;
365
- /** Form fields to group within the fieldset */
366
- children: React__default.ReactNode;
367
- }
368
- /**
369
- * FormFieldset component for grouping related form fields
370
- *
371
- * This component provides semantic grouping for form fields with proper
372
- * accessibility support and consistent styling. Use it to organize
373
- * related form inputs into logical sections.
374
- *
375
- * @param props - Component configuration
376
- * @param props.legend - The legend text for the fieldset
377
- * @param props.description - Optional description text
378
- * @param props.required - Whether the fieldset contains required fields
379
- * @param props.children - Form fields to group
380
- * @param ref - Forwarded ref to the fieldset element
381
- * @returns JSX.Element - The rendered fieldset with legend and fields
382
- */
383
- declare const FormFieldset: React__default.ForwardRefExoticComponent<FormFieldsetProps & React__default.RefAttributes<HTMLFieldSetElement>>;
384
-
385
- export { FormErrorSummary, type FormErrorSummaryProps, FormField, type FormFieldProps, FormFieldset, type FormFieldsetProps, FormLiveRegion, type FormLiveRegionProps };
105
+ export { FormField, type FormFieldProps };
@@ -2,7 +2,11 @@ import {
2
2
  Avatar,
3
3
  AvatarFallback,
4
4
  AvatarImage,
5
+ Badge,
5
6
  ErrorBoundary,
7
+ EventLogo,
8
+ EventLogoCompact,
9
+ EventLogoLarge,
6
10
  EventSelector,
7
11
  FileDisplay,
8
12
  FileUpload,
@@ -15,14 +19,11 @@ import {
15
19
  OrganisationSelector,
16
20
  PaceAppLayout,
17
21
  PaceLoginPage,
18
- PasswordResetForm,
19
22
  ProtectedRoute,
20
23
  PublicLoadingSkeleton,
21
24
  PublicLoadingSpinner,
22
25
  PublicLoadingSpinnerFullPage,
23
26
  PublicPageContextChecker,
24
- PublicPageDebugger,
25
- PublicPageDiagnostic,
26
27
  PublicPageFooter,
27
28
  PublicPageHeader,
28
29
  PublicPageLayout,
@@ -50,7 +51,7 @@ import {
50
51
  useFileReferenceForRecord,
51
52
  useFilesByCategory,
52
53
  usePublicPageContext as usePublicPageContext2
53
- } from "./chunk-HMNOSGVA.js";
54
+ } from "./chunk-KYRHUBIU.js";
54
55
  import {
55
56
  Alert,
56
57
  AlertDescription,
@@ -91,10 +92,10 @@ import {
91
92
  TooltipProvider,
92
93
  TooltipRoot,
93
94
  TooltipTrigger
94
- } from "./chunk-GVDR7WNV.js";
95
- import "./chunk-BYXRHAIF.js";
96
- import "./chunk-WP5I5GLN.js";
97
- import "./chunk-3DBFLLLU.js";
95
+ } from "./chunk-HAWZXGR2.js";
96
+ import "./chunk-BLCXZEYF.js";
97
+ import "./chunk-BVYWGZVV.js";
98
+ import "./chunk-SBVILCCA.js";
98
99
  import {
99
100
  DefaultPublicErrorFallback,
100
101
  PublicErrorBoundary,
@@ -102,33 +103,34 @@ import {
102
103
  useErrorBoundary,
103
104
  useIsPublicPage,
104
105
  usePublicPageContext
105
- } from "./chunk-VZ5OR6HD.js";
106
+ } from "./chunk-4C7EXCAR.js";
106
107
  import {
107
108
  useToast
108
- } from "./chunk-GKHF54DI.js";
109
- import "./chunk-TGIY2AR2.js";
109
+ } from "./chunk-BESYRHQM.js";
110
+ import "./chunk-MA6EPSGZ.js";
110
111
  import {
111
112
  init_UnifiedAuthProvider
112
- } from "./chunk-CTJRBUX2.js";
113
- import "./chunk-ZV77RZMU.js";
113
+ } from "./chunk-6LAAY47Q.js";
114
+ import "./chunk-INQLMHPF.js";
114
115
  import {
115
116
  UnifiedAuthProvider,
116
117
  useUnifiedAuth
117
- } from "./chunk-3CG5L6RN.js";
118
+ } from "./chunk-YCWDTTUK.js";
118
119
  import {
119
120
  FileCategory
120
121
  } from "./chunk-XJ2HZOBU.js";
121
122
  import {
122
123
  LoadingSpinner
123
- } from "./chunk-CDQ3PX7L.js";
124
- import "./chunk-JCQZ6LA7.js";
125
- import "./chunk-O3NWNXDY.js";
124
+ } from "./chunk-S5OFRT4M.js";
125
+ import "./chunk-OWAG3GSU.js";
126
+ import "./chunk-Q5QRDWKI.js";
127
+ import "./chunk-FMUCXFII.js";
126
128
  import {
127
129
  cn
128
- } from "./chunk-PYUXFQJ3.js";
129
- import "./chunk-BDZUMRBD.js";
130
- import "./chunk-UJI6WSMD.js";
131
- import "./chunk-GEVIB2UB.js";
130
+ } from "./chunk-56XJ3TU6.js";
131
+ import "./chunk-7QCC6MCP.js";
132
+ import "./chunk-ERISIBYU.js";
133
+ import "./chunk-XDNLUEXI.js";
132
134
  import "./chunk-PLDDJCW6.js";
133
135
 
134
136
  // src/components/index.ts
@@ -187,136 +189,6 @@ function FormField({
187
189
  errorMessage && /* @__PURE__ */ jsx("p", { className: "text-destructive", role: "alert", children: errorMessage })
188
190
  ] });
189
191
  }
190
-
191
- // src/components/Form/FormErrorSummary.tsx
192
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
193
- function FormErrorSummary({
194
- errors = {},
195
- title = "Please fix the following errors:",
196
- showFieldNames = false
197
- }) {
198
- const errorEntries = Object.entries(errors).filter(([, value]) => Boolean(value));
199
- if (errorEntries.length === 0) {
200
- return null;
201
- }
202
- return /* @__PURE__ */ jsx2(Alert, { variant: "destructive", className: "mb-4", children: /* @__PURE__ */ jsxs2("div", { children: [
203
- /* @__PURE__ */ jsx2("h3", { children: title }),
204
- /* @__PURE__ */ jsx2("ul", { className: "list-disc list-inside space-y-1", children: errorEntries.map(([field, error], index) => {
205
- const message = typeof error === "object" && error.message ? error.message : String(error);
206
- return /* @__PURE__ */ jsx2("li", { className: "text-sm", children: showFieldNames ? `${field}: ${message}` : message }, index);
207
- }) })
208
- ] }) });
209
- }
210
-
211
- // src/components/Form/FormLiveRegion.tsx
212
- import { useEffect, useState } from "react";
213
- import { Fragment, jsx as jsx3 } from "react/jsx-runtime";
214
- function FormLiveRegion({
215
- form,
216
- politeness = "polite",
217
- delay = 500,
218
- successMessage = "Form submitted successfully",
219
- className,
220
- enableFieldAnnouncements = true
221
- }) {
222
- const [message, setMessage] = useState("");
223
- const { formState } = form;
224
- useEffect(() => {
225
- let timeoutId;
226
- if (formState.isSubmitting) {
227
- setMessage("Submitting form...");
228
- } else if (formState.isSubmitSuccessful) {
229
- timeoutId = setTimeout(() => {
230
- setMessage(successMessage);
231
- }, delay);
232
- } else if (formState.errors && Object.keys(formState.errors).length > 0) {
233
- const errorCount = Object.keys(formState.errors).length;
234
- const errorFields = Object.keys(formState.errors).join(", ");
235
- setMessage(`Form has ${errorCount} error${errorCount === 1 ? "" : "s"} in: ${errorFields}`);
236
- } else if (formState.isValid && formState.isDirty) {
237
- setMessage("Form is valid");
238
- } else {
239
- setMessage("");
240
- }
241
- return () => {
242
- if (timeoutId) {
243
- clearTimeout(timeoutId);
244
- }
245
- };
246
- }, [formState, delay, successMessage]);
247
- useEffect(() => {
248
- if (!enableFieldAnnouncements) return;
249
- let timeoutId;
250
- const fieldErrors = formState.errors;
251
- const touchedFields = formState.touchedFields;
252
- const newErrors = Object.keys(fieldErrors).filter((field) => {
253
- const touchedField = touchedFields;
254
- return touchedField[field] && fieldErrors[field];
255
- });
256
- if (newErrors.length > 0) {
257
- timeoutId = setTimeout(() => {
258
- const errorField = newErrors[0];
259
- const errorData = fieldErrors[errorField];
260
- const errorMessage = errorData?.message;
261
- if (errorMessage) {
262
- setMessage(`${errorField}: ${errorMessage}`);
263
- }
264
- }, delay);
265
- }
266
- return () => {
267
- if (timeoutId) {
268
- clearTimeout(timeoutId);
269
- }
270
- };
271
- }, [formState.errors, formState.touchedFields, enableFieldAnnouncements, delay]);
272
- if (!message) {
273
- return /* @__PURE__ */ jsx3(Fragment, {});
274
- }
275
- return /* @__PURE__ */ jsx3(
276
- "div",
277
- {
278
- role: "status",
279
- "aria-live": politeness,
280
- "aria-atomic": "true",
281
- className: cn("sr-only", className),
282
- style: {
283
- position: "absolute",
284
- left: "-10000px",
285
- width: "1px",
286
- height: "1px",
287
- overflow: "hidden"
288
- },
289
- children: message
290
- }
291
- );
292
- }
293
-
294
- // src/components/Form/FormFieldset.tsx
295
- import React2 from "react";
296
- import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
297
- var FormFieldset = React2.forwardRef(
298
- ({ legend, description, required, className, children, ...props }, ref) => {
299
- const descriptionId = React2.useId();
300
- return /* @__PURE__ */ jsxs3(
301
- "fieldset",
302
- {
303
- ref,
304
- className: cn("space-y-4 border border-input rounded-lg p-4", className),
305
- "aria-describedby": description ? descriptionId : void 0,
306
- ...props,
307
- children: [
308
- /* @__PURE__ */ jsxs3("legend", { className: "px-2", children: [
309
- legend,
310
- required && /* @__PURE__ */ jsx4("span", { className: "text-destructive ml-1", children: "*" })
311
- ] }),
312
- description && /* @__PURE__ */ jsx4("p", { id: descriptionId, className: "text-muted-foreground", children: description }),
313
- children
314
- ]
315
- }
316
- );
317
- }
318
- );
319
- FormFieldset.displayName = "FormFieldset";
320
192
  export {
321
193
  Alert,
322
194
  AlertDescription,
@@ -324,6 +196,7 @@ export {
324
196
  Avatar,
325
197
  AvatarFallback,
326
198
  AvatarImage,
199
+ Badge,
327
200
  Button,
328
201
  Card,
329
202
  CardActions,
@@ -347,16 +220,16 @@ export {
347
220
  DialogTitle,
348
221
  DialogTrigger,
349
222
  ErrorBoundary,
223
+ EventLogo,
224
+ EventLogoCompact,
225
+ EventLogoLarge,
350
226
  EventSelector,
351
227
  FileCategory,
352
228
  FileDisplay,
353
229
  FileUpload,
354
230
  Footer,
355
231
  Form,
356
- FormErrorSummary,
357
232
  FormField,
358
- FormFieldset,
359
- FormLiveRegion,
360
233
  Header,
361
234
  Input,
362
235
  Label,
@@ -366,7 +239,6 @@ export {
366
239
  OrganisationSelector,
367
240
  PaceAppLayout,
368
241
  PaceLoginPage,
369
- PasswordResetForm,
370
242
  Progress,
371
243
  ProtectedRoute,
372
244
  PublicErrorBoundary,
@@ -374,8 +246,6 @@ export {
374
246
  PublicLoadingSpinner,
375
247
  PublicLoadingSpinnerFullPage,
376
248
  PublicPageContextChecker,
377
- PublicPageDebugger,
378
- PublicPageDiagnostic,
379
249
  PublicPageFooter,
380
250
  PublicPageHeader,
381
251
  PublicPageLayout,