@jmruthers/pace-core 0.5.135 → 0.5.136

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 (522) hide show
  1. package/dist/{DataTable-C7GaRZye.d.ts → DataTable-CWAZZcXC.d.ts} +1 -1
  2. package/dist/{DataTable-A36PJG6N.js → DataTable-CYOHOX3O.js} +25 -13
  3. package/dist/{PublicLoadingSpinner-CUAnTvcg.d.ts → EventLogo-801uofbR.d.ts} +51 -135
  4. package/dist/UnifiedAuthProvider-5E5TUNMS.js +17 -0
  5. package/dist/{UnifiedAuthProvider-BVKmQd9u.d.ts → UnifiedAuthProvider-DJxGTftH.d.ts} +1 -1
  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-CTJRBUX2.js → chunk-2TWNJ46Y.js} +2 -2
  9. package/dist/{chunk-UJI6WSMD.js → chunk-444EZN6N.js} +3 -3
  10. package/dist/chunk-444EZN6N.js.map +1 -0
  11. package/dist/{chunk-3CG5L6RN.js → chunk-4MT5BGGL.js} +90 -73
  12. package/dist/chunk-4MT5BGGL.js.map +1 -0
  13. package/dist/{chunk-PYUXFQJ3.js → chunk-56XJ3TU6.js} +2 -2
  14. package/dist/chunk-56XJ3TU6.js.map +1 -0
  15. package/dist/chunk-5DPZ5EAT.js +60 -0
  16. package/dist/chunk-5DPZ5EAT.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-APIBCTL2.js +670 -0
  20. package/dist/chunk-APIBCTL2.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-WP5I5GLN.js → chunk-BVYWGZVV.js} +112 -97
  24. package/dist/chunk-BVYWGZVV.js.map +1 -0
  25. package/dist/{chunk-GEVIB2UB.js → chunk-ERISIBYU.js} +14 -5
  26. package/dist/chunk-ERISIBYU.js.map +1 -0
  27. package/dist/{chunk-CQZU6TFE.js → chunk-FHWWBIHA.js} +100 -62
  28. package/dist/chunk-FHWWBIHA.js.map +1 -0
  29. package/dist/{chunk-O3NWNXDY.js → chunk-FMUCXFII.js} +2 -2
  30. package/dist/chunk-FMUCXFII.js.map +1 -0
  31. package/dist/{chunk-GVDR7WNV.js → chunk-HJGGOMQ6.js} +194 -518
  32. package/dist/chunk-HJGGOMQ6.js.map +1 -0
  33. package/dist/{chunk-BDZUMRBD.js → chunk-K2WWTH7O.js} +13 -6
  34. package/dist/chunk-K2WWTH7O.js.map +1 -0
  35. package/dist/{chunk-BYXRHAIF.js → chunk-L6PGMCMD.js} +23 -14
  36. package/dist/chunk-L6PGMCMD.js.map +1 -0
  37. package/dist/chunk-LMC26NLJ.js +84 -0
  38. package/dist/chunk-LMC26NLJ.js.map +1 -0
  39. package/dist/{chunk-M6DDYFUD.js → chunk-LS353YLY.js} +19 -16
  40. package/dist/chunk-LS353YLY.js.map +1 -0
  41. package/dist/{chunk-ZYZCRSBD.js → chunk-LTV3XIJJ.js} +16 -11
  42. package/dist/chunk-LTV3XIJJ.js.map +1 -0
  43. package/dist/{chunk-HMNOSGVA.js → chunk-NOHEVYVX.js} +377 -666
  44. package/dist/chunk-NOHEVYVX.js.map +1 -0
  45. package/dist/{chunk-JCQZ6LA7.js → chunk-Q5QRDWKI.js} +9 -3
  46. package/dist/chunk-Q5QRDWKI.js.map +1 -0
  47. package/dist/chunk-S5OFRT4M.js +94 -0
  48. package/dist/chunk-S5OFRT4M.js.map +1 -0
  49. package/dist/{chunk-3DBFLLLU.js → chunk-SBVILCCA.js} +14 -9
  50. package/dist/chunk-SBVILCCA.js.map +1 -0
  51. package/dist/{chunk-TGIY2AR2.js → chunk-SL2YQDR6.js} +4 -3
  52. package/dist/{chunk-TGIY2AR2.js.map → chunk-SL2YQDR6.js.map} +1 -1
  53. package/dist/{chunk-VZ5OR6HD.js → chunk-TVYPTYOY.js} +55 -179
  54. package/dist/chunk-TVYPTYOY.js.map +1 -0
  55. package/dist/{chunk-ZV77RZMU.js → chunk-XARJS7CD.js} +2 -2
  56. package/dist/chunk-XDNLUEXI.js +138 -0
  57. package/dist/chunk-XDNLUEXI.js.map +1 -0
  58. package/dist/{chunk-F64FFPOZ.js → chunk-YLKIDTUK.js} +26 -20
  59. package/dist/chunk-YLKIDTUK.js.map +1 -0
  60. package/dist/{chunk-5F3NDPJV.js → chunk-ZZ2SS7NI.js} +10 -5
  61. package/dist/chunk-ZZ2SS7NI.js.map +1 -0
  62. package/dist/components.d.ts +7 -287
  63. package/dist/components.js +26 -157
  64. package/dist/components.js.map +1 -1
  65. package/dist/{file-reference-C9isKNPn.d.ts → file-reference-C6Gkn77H.d.ts} +1 -1
  66. package/dist/{formatting-DFcCxUEk.d.ts → formatting-CvUXy2mF.d.ts} +1 -1
  67. package/dist/hooks.d.ts +3 -3
  68. package/dist/hooks.js +22 -16
  69. package/dist/hooks.js.map +1 -1
  70. package/dist/index.d.ts +101 -9
  71. package/dist/index.js +43 -31
  72. package/dist/index.js.map +1 -1
  73. package/dist/providers.d.ts +1 -1
  74. package/dist/providers.js +5 -4
  75. package/dist/rbac/index.js +13 -12
  76. package/dist/styles/index.js +2 -1
  77. package/dist/theming/runtime.d.ts +2 -19
  78. package/dist/theming/runtime.js +2 -1
  79. package/dist/{types-D5rqZQXk.d.ts → types-Dfz9dmVH.d.ts} +12 -1
  80. package/dist/types.d.ts +2 -2
  81. package/dist/types.js +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 +195 -232
  85. package/dist/utils.js +173 -331
  86. package/dist/utils.js.map +1 -1
  87. package/dist/{validation-DnhrNMju.d.ts → validation-8npbysjg.d.ts} +26 -8
  88. package/dist/validation.d.ts +261 -10
  89. package/dist/validation.js +82 -440
  90. package/dist/validation.js.map +1 -1
  91. package/docs/api/classes/ColumnFactory.md +1 -1
  92. package/docs/api/classes/ErrorBoundary.md +6 -6
  93. package/docs/api/classes/InvalidScopeError.md +1 -1
  94. package/docs/api/classes/MissingUserContextError.md +1 -1
  95. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  96. package/docs/api/classes/PermissionDeniedError.md +1 -1
  97. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  98. package/docs/api/classes/RBACAuditManager.md +6 -6
  99. package/docs/api/classes/RBACCache.md +1 -1
  100. package/docs/api/classes/RBACEngine.md +7 -7
  101. package/docs/api/classes/RBACError.md +1 -1
  102. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  103. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  104. package/docs/api/classes/StorageUtils.md +1 -1
  105. package/docs/api/enums/FileCategory.md +1 -1
  106. package/docs/api/interfaces/AggregateConfig.md +4 -4
  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 +514 -212
  199. package/docs/api-reference/components.md +106 -26
  200. package/docs/architecture/README.md +0 -2
  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/examples/README.md +30 -14
  205. package/examples/STRUCTURE.md +125 -0
  206. package/examples/components/DataTable/HierarchicalActionsExample.tsx +421 -0
  207. package/examples/components/DataTable/HierarchicalExample.tsx +475 -0
  208. package/examples/components/DataTable/InitialPageSizeExample.tsx +177 -0
  209. package/examples/components/DataTable/PerformanceExample.tsx +506 -0
  210. package/examples/components/DataTable/index.ts +13 -0
  211. package/examples/components/Dialog/BasicHtmlTest.tsx +55 -0
  212. package/examples/components/Dialog/DebugHtmlExample.tsx +68 -0
  213. package/examples/components/Dialog/HtmlDialogExample.tsx +202 -0
  214. package/examples/components/Dialog/ScrollableDialogExample.tsx +290 -0
  215. package/examples/components/Dialog/SimpleHtmlTest.tsx +61 -0
  216. package/examples/components/Dialog/SmartDialogExample.tsx +322 -0
  217. package/examples/components/Dialog/index.ts +15 -0
  218. package/examples/components/index.ts +11 -0
  219. package/examples/features/index.ts +12 -0
  220. package/examples/{public-pages → features/public-pages}/CorrectPublicPageImplementation.tsx +1 -1
  221. package/examples/{public-pages → features/public-pages}/PublicEventPage.tsx +1 -1
  222. package/examples/{public-pages → features/public-pages}/PublicPageApp.tsx +1 -1
  223. package/examples/{public-pages → features/public-pages}/PublicPageUsageExample.tsx +1 -1
  224. package/examples/index.ts +11 -3
  225. package/package.json +30 -10
  226. package/src/components/Alert/Alert.tsx +1 -1
  227. package/src/components/Avatar/Avatar.tsx +1 -1
  228. package/src/components/Button/Button.tsx +1 -1
  229. package/src/components/Card/Card.tsx +1 -1
  230. package/src/components/Checkbox/Checkbox.tsx +1 -1
  231. package/src/components/DataTable/DataTable.test.tsx +1 -1
  232. package/src/components/DataTable/DataTable.tsx +1 -30
  233. package/src/components/DataTable/__tests__/DataTable.grouping-aggregation.test.tsx +562 -0
  234. package/src/components/DataTable/__tests__/styles.test.ts +2 -2
  235. package/src/components/DataTable/components/ActionButtons.tsx +0 -15
  236. package/src/components/DataTable/components/DataTableCore.tsx +4 -185
  237. package/src/components/DataTable/components/DataTableErrorBoundary.tsx +1 -1
  238. package/src/components/DataTable/components/DataTableModals.tsx +1 -27
  239. package/src/components/DataTable/components/EditableRow.tsx +1 -1
  240. package/src/components/DataTable/components/ImportModal.tsx +2 -14
  241. package/src/components/DataTable/components/PaginationControls.tsx +1 -1
  242. package/src/components/DataTable/components/UnifiedTableBody.tsx +109 -82
  243. package/src/components/DataTable/components/__tests__/ActionButtons.test.tsx +1 -1
  244. package/src/components/DataTable/components/__tests__/DataTableErrorBoundary.test.tsx +1 -1
  245. package/src/components/DataTable/components/__tests__/DataTableModals.test.tsx +1 -1
  246. package/src/components/DataTable/components/__tests__/ImportModal.test.tsx +1 -1
  247. package/src/components/DataTable/examples/GroupingAggregationExample.tsx +273 -0
  248. package/src/components/DataTable/examples/HierarchicalActionsExample.tsx +1 -1
  249. package/src/components/DataTable/examples/__tests__/HierarchicalActionsExample.test.tsx +1 -1
  250. package/src/components/DataTable/hooks/useColumnOrderPersistence.ts +1 -1
  251. package/src/components/DataTable/hooks/useColumnVisibilityPersistence.ts +1 -1
  252. package/src/components/DataTable/hooks/useDataTablePermissions.ts +2 -23
  253. package/src/components/DataTable/index.ts +4 -0
  254. package/src/components/DataTable/styles.ts +1 -1
  255. package/src/components/DataTable/types.ts +13 -0
  256. package/src/components/DataTable/utils/__tests__/exportUtils.test.ts +1 -1
  257. package/src/components/DataTable/utils/aggregationUtils.ts +161 -0
  258. package/src/components/DataTable/utils/exportUtils.ts +1 -1
  259. package/src/components/DataTable/utils/flexibleImport.ts +1 -11
  260. package/src/components/DataTable/utils/index.ts +1 -0
  261. package/src/components/DataTable/utils/paginationUtils.ts +1 -1
  262. package/src/components/Dialog/Dialog.tsx +2 -2
  263. package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +35 -7
  264. package/src/components/ErrorBoundary/ErrorBoundary.tsx +5 -4
  265. package/src/components/EventSelector/EventSelector.tsx +3 -2
  266. package/src/components/FileDisplay/FileDisplay.tsx +2 -36
  267. package/src/components/FileUpload/FileUpload.test.tsx +2 -2
  268. package/src/components/FileUpload/FileUpload.tsx +2 -2
  269. package/src/components/Footer/Footer.tsx +1 -1
  270. package/src/components/Form/Form.test.tsx +4 -509
  271. package/src/components/Form/Form.tsx +1 -1
  272. package/src/components/Form/FormField.tsx +1 -1
  273. package/src/components/Form/index.ts +0 -12
  274. package/src/components/Header/Header.tsx +1 -1
  275. package/src/components/Input/Input.tsx +1 -1
  276. package/src/components/Label/Label.tsx +1 -1
  277. package/src/components/LoginForm/LoginForm.tsx +1 -1
  278. package/src/components/NavigationMenu/NavigationMenu.test.tsx +19 -3
  279. package/src/components/NavigationMenu/NavigationMenu.tsx +9 -8
  280. package/src/components/OrganisationSelector/OrganisationSelector.tsx +4 -3
  281. package/src/components/PaceAppLayout/PaceAppLayout.tsx +14 -12
  282. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.integration.test.tsx +0 -16
  283. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.security.test.tsx +0 -1
  284. package/src/components/PaceAppLayout/__tests__/PaceAppLayout.unit.test.tsx +0 -9
  285. package/src/components/PaceLoginPage/PaceLoginPage.test.tsx +35 -3
  286. package/src/components/PaceLoginPage/PaceLoginPage.tsx +13 -12
  287. package/src/components/PasswordReset/PasswordChangeForm.tsx +1 -1
  288. package/src/components/PasswordReset/index.ts +0 -2
  289. package/src/components/Progress/Progress.tsx +1 -1
  290. package/src/components/ProtectedRoute/ProtectedRoute.test.tsx +35 -8
  291. package/src/components/ProtectedRoute/ProtectedRoute.tsx +3 -2
  292. package/src/components/PublicLayout/PublicErrorBoundary.tsx +1 -1
  293. package/src/components/PublicLayout/PublicLoadingSpinner.tsx +1 -1
  294. package/src/components/PublicLayout/PublicPageContextChecker.tsx +44 -43
  295. package/src/components/PublicLayout/PublicPageFooter.tsx +1 -1
  296. package/src/components/PublicLayout/PublicPageHeader.tsx +1 -15
  297. package/src/components/PublicLayout/PublicPageProvider.tsx +3 -2
  298. package/src/components/PublicLayout/__tests__/PublicPageContextChecker.test.tsx +2 -0
  299. package/src/components/PublicLayout/index.ts +4 -2
  300. package/src/components/Select/Select.tsx +1 -1
  301. package/src/components/{SessionRestorationLoader.tsx → SessionRestorationLoader/SessionRestorationLoader.tsx} +3 -2
  302. package/src/components/SessionRestorationLoader/index.ts +3 -0
  303. package/src/components/Switch/Switch.tsx +1 -1
  304. package/src/components/Table/Table.tsx +1 -1
  305. package/src/components/Toast/Toast.tsx +1 -1
  306. package/src/components/Tooltip/Tooltip.tsx +1 -1
  307. package/src/components/index.ts +4 -10
  308. package/src/hooks/__tests__/hooks.integration.test.tsx +37 -22
  309. package/src/hooks/__tests__/useComponentPerformance.unit.test.tsx +33 -17
  310. package/src/hooks/__tests__/useDataTablePerformance.unit.test.ts +28 -3
  311. package/src/hooks/__tests__/useFileDisplay.unit.test.ts +36 -9
  312. package/src/hooks/__tests__/useInactivityTracker.unit.test.ts +26 -2
  313. package/src/hooks/__tests__/usePerformanceMonitor.unit.test.ts +19 -6
  314. package/src/hooks/__tests__/usePermissionCache.simple.test.ts +17 -4
  315. package/src/hooks/__tests__/usePermissionCache.unit.test.ts +17 -4
  316. package/src/hooks/__tests__/usePublicEvent.simple.test.ts +26 -6
  317. package/src/hooks/__tests__/usePublicFileDisplay.test.ts +16 -6
  318. package/src/hooks/__tests__/useSecureDataAccess.unit.test.tsx +3 -3
  319. package/src/hooks/__tests__/useSessionRestoration.unit.test.tsx +17 -3
  320. package/src/hooks/public/usePublicEvent.ts +7 -6
  321. package/src/hooks/public/usePublicEventLogo.ts +7 -4
  322. package/src/hooks/public/usePublicFileDisplay.ts +6 -150
  323. package/src/hooks/useComponentPerformance.ts +4 -1
  324. package/src/hooks/useDataTablePerformance.ts +4 -3
  325. package/src/hooks/useEventTheme.test.ts +18 -5
  326. package/src/hooks/useEventTheme.ts +4 -1
  327. package/src/hooks/useEvents.ts +2 -0
  328. package/src/hooks/useFileDisplay.ts +9 -8
  329. package/src/hooks/useFileReference.ts +4 -1
  330. package/src/hooks/useFileUrl.ts +4 -1
  331. package/src/hooks/useInactivityTracker.ts +5 -4
  332. package/src/hooks/useOrganisationSecurity.test.ts +33 -12
  333. package/src/hooks/useOrganisationSecurity.ts +8 -7
  334. package/src/hooks/usePerformanceMonitor.ts +6 -3
  335. package/src/hooks/usePermissionCache.ts +13 -6
  336. package/src/hooks/useSecureDataAccess.test.ts +2 -2
  337. package/src/hooks/useSecureDataAccess.ts +9 -8
  338. package/src/hooks/useSessionRestoration.ts +4 -1
  339. package/src/hooks/useStorage.ts +4 -1
  340. package/src/index.ts +16 -7
  341. package/src/providers/services/AuthServiceProvider.tsx +3 -2
  342. package/src/providers/services/EventServiceProvider.tsx +2 -1
  343. package/src/providers/services/InactivityServiceProvider.tsx +2 -1
  344. package/src/providers/services/OrganisationServiceProvider.tsx +2 -1
  345. package/src/providers/services/UnifiedAuthProvider.tsx +4 -3
  346. package/src/providers/services/__tests__/AuthServiceProvider.integration.test.tsx +22 -2
  347. package/src/providers/services/__tests__/UnifiedAuthProvider.integration.test.tsx +24 -2
  348. package/src/rbac/__tests__/cache-invalidation.test.ts +20 -6
  349. package/src/rbac/api.ts +5 -2
  350. package/src/rbac/audit-enhanced.ts +6 -6
  351. package/src/rbac/audit.test.ts +60 -38
  352. package/src/rbac/audit.ts +8 -8
  353. package/src/rbac/cache-invalidation.ts +7 -4
  354. package/src/rbac/components/EnhancedNavigationMenu.tsx +11 -5
  355. package/src/rbac/components/NavigationGuard.tsx +7 -3
  356. package/src/rbac/components/NavigationProvider.tsx +6 -3
  357. package/src/rbac/components/PagePermissionGuard.tsx +28 -16
  358. package/src/rbac/components/PagePermissionProvider.tsx +4 -1
  359. package/src/rbac/components/PermissionEnforcer.tsx +9 -3
  360. package/src/rbac/components/RoleBasedRouter.tsx +3 -1
  361. package/src/rbac/components/SecureDataProvider.tsx +7 -3
  362. package/src/rbac/components/__tests__/EnhancedNavigationMenu.test.tsx +87 -61
  363. package/src/rbac/components/__tests__/NavigationGuard.test.tsx +83 -33
  364. package/src/rbac/components/__tests__/NavigationProvider.test.tsx +36 -13
  365. package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +2 -2
  366. package/src/rbac/components/__tests__/PagePermissionProvider.test.tsx +22 -8
  367. package/src/rbac/components/__tests__/PermissionEnforcer.test.tsx +19 -6
  368. package/src/rbac/components/__tests__/SecureDataProvider.fixed.test.tsx +43 -17
  369. package/src/rbac/components/__tests__/SecureDataProvider.test.tsx +42 -17
  370. package/src/rbac/engine.ts +15 -7
  371. package/src/rbac/hooks/usePermissions.ts +7 -3
  372. package/src/rbac/hooks/useResolvedScope.test.ts +2 -2
  373. package/src/rbac/hooks/useResolvedScope.ts +10 -7
  374. package/src/rbac/permissions.ts +5 -2
  375. package/src/rbac/security.test.ts +27 -16
  376. package/src/rbac/security.ts +5 -4
  377. package/src/services/AuthService.ts +22 -21
  378. package/src/services/EventService.ts +12 -12
  379. package/src/services/InactivityService.ts +5 -4
  380. package/src/services/OrganisationService.ts +26 -25
  381. package/src/services/__tests__/AuthService.test.ts +51 -19
  382. package/src/services/__tests__/EventService.test.ts +37 -5
  383. package/src/services/__tests__/InactivityService.test.ts +38 -4
  384. package/src/services/__tests__/OrganisationService.test.ts +3 -8
  385. package/src/services/base/BaseService.ts +3 -1
  386. package/src/theming/__tests__/runtime.test.ts +21 -12
  387. package/src/theming/parseEventColours.ts +5 -19
  388. package/src/theming/runtime.ts +8 -4
  389. package/src/types/validation.ts +2 -29
  390. package/src/utils/__tests__/appConfig.unit.test.ts +1 -1
  391. package/src/utils/__tests__/audit.unit.test.ts +1 -1
  392. package/src/utils/__tests__/auth-utils.unit.test.ts +1 -1
  393. package/src/utils/__tests__/bundleAnalysis.unit.test.ts +19 -19
  394. package/src/utils/__tests__/cn.unit.test.ts +1 -1
  395. package/src/utils/__tests__/debugLogger.test.ts +1 -1
  396. package/src/utils/__tests__/deviceFingerprint.unit.test.ts +1 -1
  397. package/src/utils/__tests__/dynamicUtils.unit.test.ts +1 -1
  398. package/src/utils/__tests__/formatting.unit.test.ts +1 -1
  399. package/src/utils/__tests__/lazyLoad.unit.test.tsx +1 -1
  400. package/src/utils/__tests__/logger.unit.test.ts +1 -1
  401. package/src/utils/__tests__/organisationContext.unit.test.ts +1 -1
  402. package/src/utils/__tests__/performanceBenchmark.test.ts +1 -1
  403. package/src/utils/__tests__/performanceBudgets.unit.test.ts +1 -1
  404. package/src/utils/__tests__/permissionTypes.unit.test.ts +1 -1
  405. package/src/utils/__tests__/permissionUtils.unit.test.ts +1 -1
  406. package/src/utils/__tests__/sanitization.unit.test.ts +1 -1
  407. package/src/utils/__tests__/schemaUtils.unit.test.ts +1 -1
  408. package/src/utils/__tests__/secureDataAccess.unit.test.ts +1 -1
  409. package/src/utils/__tests__/secureErrors.unit.test.ts +33 -15
  410. package/src/utils/__tests__/secureStorage.unit.test.ts +1 -1
  411. package/src/utils/__tests__/security.unit.test.ts +40 -18
  412. package/src/utils/__tests__/securityMonitor.unit.test.ts +1 -1
  413. package/src/utils/__tests__/sessionTracking.unit.test.ts +40 -29
  414. package/src/utils/__tests__/validationUtils.unit.test.ts +19 -6
  415. package/src/utils/{appIdResolver.test.ts → app/appIdResolver.test.ts} +28 -30
  416. package/src/utils/{appIdResolver.ts → app/appIdResolver.ts} +8 -5
  417. package/src/utils/{appNameResolver.test.ts → app/appNameResolver.test.ts} +1 -1
  418. package/src/utils/{appNameResolver.ts → app/appNameResolver.ts} +5 -1
  419. package/src/utils/{organisationContext.ts → context/organisationContext.ts} +6 -3
  420. package/src/utils/{sessionTracking.ts → context/sessionTracking.ts} +11 -12
  421. package/src/utils/{logger.ts → core/logger.ts} +4 -2
  422. package/src/utils/{deviceFingerprint.ts → device/deviceFingerprint.ts} +1 -1
  423. package/src/utils/{lazyLoad.tsx → dynamic/lazyLoad.tsx} +2 -2
  424. package/src/utils/{file-reference.test.ts → file-reference/__tests__/file-reference.test.ts} +5 -5
  425. package/src/utils/{file-reference.ts → file-reference/index.ts} +20 -38
  426. package/src/utils/index.ts +32 -54
  427. package/src/utils/{secureErrors.ts → security/secureErrors.ts} +6 -3
  428. package/src/utils/{security.ts → security/security.ts} +5 -2
  429. package/src/utils/storage/__tests__/helpers.unit.test.ts +1 -4
  430. package/src/utils/storage/helpers.ts +15 -8
  431. package/src/{components/Dialog/utils/__tests__/safeHtml.unit.test.ts → utils/validation/__tests__/htmlSanitization.unit.test.ts} +9 -15
  432. package/src/{validation → utils/validation}/csrf.ts +1 -1
  433. package/src/{components/Dialog/utils/safeHtml.ts → utils/validation/htmlSanitization.ts} +9 -10
  434. package/src/utils/validation/index.ts +79 -0
  435. package/src/utils/{sanitization.ts → validation/sanitization.ts} +71 -2
  436. package/src/{validation/schemaUtils.ts → utils/validation/schema.ts} +11 -6
  437. package/src/{validation → utils/validation}/sqlInjectionProtection.ts +2 -0
  438. package/src/utils/{validationUtils.ts → validation/validationUtils.ts} +4 -1
  439. package/src/validation/index.ts +3 -34
  440. package/dist/UnifiedAuthProvider-CQDZRJIS.js +0 -16
  441. package/dist/chunk-24MKLB7U.js +0 -81
  442. package/dist/chunk-24MKLB7U.js.map +0 -1
  443. package/dist/chunk-3CG5L6RN.js.map +0 -1
  444. package/dist/chunk-3DBFLLLU.js.map +0 -1
  445. package/dist/chunk-5F3NDPJV.js.map +0 -1
  446. package/dist/chunk-66C4BSAY.js.map +0 -1
  447. package/dist/chunk-BDZUMRBD.js.map +0 -1
  448. package/dist/chunk-BYXRHAIF.js.map +0 -1
  449. package/dist/chunk-CDQ3PX7L.js +0 -18
  450. package/dist/chunk-CDQ3PX7L.js.map +0 -1
  451. package/dist/chunk-CQZU6TFE.js.map +0 -1
  452. package/dist/chunk-F64FFPOZ.js.map +0 -1
  453. package/dist/chunk-GEVIB2UB.js.map +0 -1
  454. package/dist/chunk-GKHF54DI.js.map +0 -1
  455. package/dist/chunk-GVDR7WNV.js.map +0 -1
  456. package/dist/chunk-HMNOSGVA.js.map +0 -1
  457. package/dist/chunk-JCQZ6LA7.js.map +0 -1
  458. package/dist/chunk-M6DDYFUD.js.map +0 -1
  459. package/dist/chunk-O3NWNXDY.js.map +0 -1
  460. package/dist/chunk-PYUXFQJ3.js.map +0 -1
  461. package/dist/chunk-UJI6WSMD.js.map +0 -1
  462. package/dist/chunk-VZ5OR6HD.js.map +0 -1
  463. package/dist/chunk-WP5I5GLN.js.map +0 -1
  464. package/dist/chunk-ZYZCRSBD.js.map +0 -1
  465. package/src/components/Dialog/README.md +0 -804
  466. package/src/components/Form/FormErrorSummary.tsx +0 -113
  467. package/src/components/Form/FormFieldset.tsx +0 -127
  468. package/src/components/Form/FormLiveRegion.tsx +0 -198
  469. package/src/components/PasswordReset/PasswordResetForm.test.tsx +0 -597
  470. package/src/components/PasswordReset/PasswordResetForm.tsx +0 -201
  471. package/src/components/PublicLayout/PublicPageDebugger.tsx +0 -104
  472. package/src/components/PublicLayout/PublicPageDiagnostic.tsx +0 -162
  473. package/src/components/PublicLayout/__tests__/PublicPageDebugger.test.tsx +0 -185
  474. package/src/examples/CorrectPublicPageImplementation.tsx +0 -304
  475. package/src/examples/PublicEventPage.tsx +0 -287
  476. package/src/examples/PublicPageApp.tsx +0 -321
  477. package/src/examples/PublicPageUsageExample.tsx +0 -218
  478. package/src/utils/schemaUtils.ts +0 -37
  479. package/src/validation/__tests__/common.unit.test.ts +0 -101
  480. package/src/validation/__tests__/csrf.unit.test.ts +0 -365
  481. package/src/validation/__tests__/passwordSchema.unit.test.ts +0 -203
  482. package/src/validation/__tests__/sanitization.unit.test.ts +0 -250
  483. package/src/validation/__tests__/schemaUtils.unit.test.ts +0 -451
  484. package/src/validation/__tests__/sqlInjectionProtection.unit.test.ts +0 -462
  485. package/src/validation/__tests__/user.unit.test.ts +0 -440
  486. package/src/validation/sanitization.ts +0 -96
  487. /package/dist/{DataTable-A36PJG6N.js.map → DataTable-CYOHOX3O.js.map} +0 -0
  488. /package/dist/{UnifiedAuthProvider-CQDZRJIS.js.map → UnifiedAuthProvider-5E5TUNMS.js.map} +0 -0
  489. /package/dist/{api-TNIBJWLM.js.map → api-45XYYO2A.js.map} +0 -0
  490. /package/dist/{audit-T36HM7IM.js.map → audit-64X3VJXB.js.map} +0 -0
  491. /package/dist/{chunk-CTJRBUX2.js.map → chunk-2TWNJ46Y.js.map} +0 -0
  492. /package/dist/{chunk-ZV77RZMU.js.map → chunk-XARJS7CD.js.map} +0 -0
  493. /package/dist/{useInactivityTracker-MRUU55XI.js.map → useInactivityTracker-TO6ZOF35.js.map} +0 -0
  494. /package/examples/{public-pages → features/public-pages}/index.ts +0 -0
  495. /package/examples/{RBAC → features/rbac}/CompleteRBACExample.tsx +0 -0
  496. /package/examples/{RBAC → features/rbac}/EventBasedApp.tsx +0 -0
  497. /package/examples/{RBAC → features/rbac}/PermissionExample.tsx +0 -0
  498. /package/examples/{RBAC → features/rbac}/index.ts +0 -0
  499. /package/src/utils/{appConfig.ts → app/appConfig.ts} +0 -0
  500. /package/src/utils/{appNameResolver.simple.test.ts → app/appNameResolver.simple.test.ts} +0 -0
  501. /package/src/utils/{audit.ts → audit/audit.ts} +0 -0
  502. /package/src/utils/{organisationContext.test.ts → context/organisationContext.test.ts} +0 -0
  503. /package/src/utils/{cn.ts → core/cn.ts} +0 -0
  504. /package/src/utils/{debugLogger.ts → core/debugLogger.ts} +0 -0
  505. /package/src/utils/{dynamicUtils.ts → dynamic/dynamicUtils.ts} +0 -0
  506. /package/src/utils/{formatDate.test.ts → formatting/formatDate.test.ts} +0 -0
  507. /package/src/utils/{formatting.ts → formatting/formatting.ts} +0 -0
  508. /package/src/utils/{bundleAnalysis.ts → performance/bundleAnalysis.ts} +0 -0
  509. /package/src/utils/{performanceBenchmark.ts → performance/performanceBenchmark.ts} +0 -0
  510. /package/src/utils/{performanceBudgets.ts → performance/performanceBudgets.ts} +0 -0
  511. /package/src/utils/{permissionTypes.ts → permissions/permissionTypes.ts} +0 -0
  512. /package/src/utils/{permissionUtils.test.ts → permissions/permissionUtils.test.ts} +0 -0
  513. /package/src/utils/{permissionUtils.ts → permissions/permissionUtils.ts} +0 -0
  514. /package/src/utils/{auth-utils.ts → security/auth-utils.ts} +0 -0
  515. /package/src/utils/{secureDataAccess.test.ts → security/secureDataAccess.test.ts} +0 -0
  516. /package/src/utils/{secureDataAccess.ts → security/secureDataAccess.ts} +0 -0
  517. /package/src/utils/{secureStorage.ts → security/secureStorage.ts} +0 -0
  518. /package/src/utils/{securityMonitor.ts → security/securityMonitor.ts} +0 -0
  519. /package/src/{validation → utils/validation}/common.ts +0 -0
  520. /package/src/{validation → utils/validation}/passwordSchema.ts +0 -0
  521. /package/src/{validation → utils/validation}/user.ts +0 -0
  522. /package/src/utils/{validation.ts → validation/validation.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, 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, b1 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, b5 as EventLogo, b6 as EventLogoCompact, b7 as EventLogoLarge, b8 as EventLogoProps, aH 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, bg as PaceAppLayout, bf as PaceAppLayoutProps, bi as PaceLoginPage, bh as PaceLoginPageProps, P as Progress, at as ProtectedRoute, au as ProtectedRouteProps, a$ as PublicErrorBoundary, bc as PublicErrorBoundaryProps, bd as PublicErrorBoundaryState, b4 as PublicLoadingSkeleton, b2 as PublicLoadingSpinner, b3 as PublicLoadingSpinnerFullPage, be as PublicLoadingSpinnerProps, a_ as PublicPageContextChecker, aZ as PublicPageFooter, bb as PublicPageFooterProps, aV as PublicPageHeader, ba as PublicPageHeaderProps, aT as PublicPageLayout, b9 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, aG as SessionRestorationLoaderProps, 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, b0 as useErrorBoundary, aM as useFileReference, aO as useFileReferenceById, aN as useFileReferenceForRecord, aP as useFilesByCategory, aY as useIsPublicPage, aU as usePublicPageContext, aX as usePublicPageProviderContext } from './EventLogo-801uofbR.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 };
@@ -3,6 +3,9 @@ import {
3
3
  AvatarFallback,
4
4
  AvatarImage,
5
5
  ErrorBoundary,
6
+ EventLogo,
7
+ EventLogoCompact,
8
+ EventLogoLarge,
6
9
  EventSelector,
7
10
  FileDisplay,
8
11
  FileUpload,
@@ -15,14 +18,11 @@ import {
15
18
  OrganisationSelector,
16
19
  PaceAppLayout,
17
20
  PaceLoginPage,
18
- PasswordResetForm,
19
21
  ProtectedRoute,
20
22
  PublicLoadingSkeleton,
21
23
  PublicLoadingSpinner,
22
24
  PublicLoadingSpinnerFullPage,
23
25
  PublicPageContextChecker,
24
- PublicPageDebugger,
25
- PublicPageDiagnostic,
26
26
  PublicPageFooter,
27
27
  PublicPageHeader,
28
28
  PublicPageLayout,
@@ -50,7 +50,7 @@ import {
50
50
  useFileReferenceForRecord,
51
51
  useFilesByCategory,
52
52
  usePublicPageContext as usePublicPageContext2
53
- } from "./chunk-HMNOSGVA.js";
53
+ } from "./chunk-NOHEVYVX.js";
54
54
  import {
55
55
  Alert,
56
56
  AlertDescription,
@@ -91,10 +91,10 @@ import {
91
91
  TooltipProvider,
92
92
  TooltipRoot,
93
93
  TooltipTrigger
94
- } from "./chunk-GVDR7WNV.js";
95
- import "./chunk-BYXRHAIF.js";
96
- import "./chunk-WP5I5GLN.js";
97
- import "./chunk-3DBFLLLU.js";
94
+ } from "./chunk-HJGGOMQ6.js";
95
+ import "./chunk-L6PGMCMD.js";
96
+ import "./chunk-BVYWGZVV.js";
97
+ import "./chunk-SBVILCCA.js";
98
98
  import {
99
99
  DefaultPublicErrorFallback,
100
100
  PublicErrorBoundary,
@@ -102,33 +102,35 @@ import {
102
102
  useErrorBoundary,
103
103
  useIsPublicPage,
104
104
  usePublicPageContext
105
- } from "./chunk-VZ5OR6HD.js";
105
+ } from "./chunk-TVYPTYOY.js";
106
106
  import {
107
107
  useToast
108
- } from "./chunk-GKHF54DI.js";
109
- import "./chunk-TGIY2AR2.js";
108
+ } from "./chunk-BESYRHQM.js";
109
+ import "./chunk-SL2YQDR6.js";
110
110
  import {
111
111
  init_UnifiedAuthProvider
112
- } from "./chunk-CTJRBUX2.js";
113
- import "./chunk-ZV77RZMU.js";
112
+ } from "./chunk-2TWNJ46Y.js";
113
+ import "./chunk-XARJS7CD.js";
114
114
  import {
115
115
  UnifiedAuthProvider,
116
116
  useUnifiedAuth
117
- } from "./chunk-3CG5L6RN.js";
117
+ } from "./chunk-4MT5BGGL.js";
118
118
  import {
119
119
  FileCategory
120
120
  } from "./chunk-XJ2HZOBU.js";
121
121
  import {
122
122
  LoadingSpinner
123
- } from "./chunk-CDQ3PX7L.js";
124
- import "./chunk-JCQZ6LA7.js";
125
- import "./chunk-O3NWNXDY.js";
123
+ } from "./chunk-S5OFRT4M.js";
124
+ import "./chunk-Q5QRDWKI.js";
125
+ import "./chunk-5DPZ5EAT.js";
126
+ import "./chunk-FMUCXFII.js";
126
127
  import {
127
128
  cn
128
- } from "./chunk-PYUXFQJ3.js";
129
- import "./chunk-BDZUMRBD.js";
130
- import "./chunk-UJI6WSMD.js";
131
- import "./chunk-GEVIB2UB.js";
129
+ } from "./chunk-56XJ3TU6.js";
130
+ import "./chunk-K2WWTH7O.js";
131
+ import "./chunk-444EZN6N.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,
@@ -347,16 +219,16 @@ export {
347
219
  DialogTitle,
348
220
  DialogTrigger,
349
221
  ErrorBoundary,
222
+ EventLogo,
223
+ EventLogoCompact,
224
+ EventLogoLarge,
350
225
  EventSelector,
351
226
  FileCategory,
352
227
  FileDisplay,
353
228
  FileUpload,
354
229
  Footer,
355
230
  Form,
356
- FormErrorSummary,
357
231
  FormField,
358
- FormFieldset,
359
- FormLiveRegion,
360
232
  Header,
361
233
  Input,
362
234
  Label,
@@ -366,7 +238,6 @@ export {
366
238
  OrganisationSelector,
367
239
  PaceAppLayout,
368
240
  PaceLoginPage,
369
- PasswordResetForm,
370
241
  Progress,
371
242
  ProtectedRoute,
372
243
  PublicErrorBoundary,
@@ -374,8 +245,6 @@ export {
374
245
  PublicLoadingSpinner,
375
246
  PublicLoadingSpinnerFullPage,
376
247
  PublicPageContextChecker,
377
- PublicPageDebugger,
378
- PublicPageDiagnostic,
379
248
  PublicPageFooter,
380
249
  PublicPageHeader,
381
250
  PublicPageLayout,