@jmruthers/pace-core 0.5.193 → 0.6.2

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 (577) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +7 -1
  3. package/cursor-rules/00-pace-core-compliance.mdc +299 -0
  4. package/cursor-rules/01-standards-compliance.mdc +244 -0
  5. package/cursor-rules/02-project-structure.mdc +200 -0
  6. package/cursor-rules/03-solid-principles.mdc +222 -0
  7. package/cursor-rules/04-testing-standards.mdc +268 -0
  8. package/cursor-rules/05-bug-reports-and-features.mdc +246 -0
  9. package/cursor-rules/06-code-quality.mdc +309 -0
  10. package/cursor-rules/07-tech-stack-compliance.mdc +214 -0
  11. package/cursor-rules/08-markup-quality.mdc +452 -0
  12. package/cursor-rules/CHANGELOG.md +119 -0
  13. package/cursor-rules/README.md +192 -0
  14. package/dist/{AuthService-DjnJHDtC.d.ts → AuthService-BPvc3Ka0.d.ts} +54 -0
  15. package/dist/{DataTable-Be6dH_dR.d.ts → DataTable-BMRU8a1j.d.ts} +34 -2
  16. package/dist/{DataTable-5FU7IESH.js → DataTable-TPTKCX4D.js} +10 -9
  17. package/dist/{PublicPageProvider-C0Sm_e5k.d.ts → PublicPageProvider-DC6kCaqf.d.ts} +385 -261
  18. package/dist/{UnifiedAuthProvider-RGJTDE2C.js → UnifiedAuthProvider-CH6Z342H.js} +3 -3
  19. package/dist/{UnifiedAuthProvider-185Ih4dj.d.ts → UnifiedAuthProvider-CVcTjx-d.d.ts} +29 -0
  20. package/dist/{api-N774RPUA.js → api-MVVQZLJI.js} +2 -2
  21. package/dist/{chunk-KNC55RTG.js → chunk-24UVZUZG.js} +90 -54
  22. package/dist/chunk-24UVZUZG.js.map +1 -0
  23. package/dist/{chunk-HWIIPPNI.js → chunk-2UOI2FG5.js} +20 -20
  24. package/dist/chunk-2UOI2FG5.js.map +1 -0
  25. package/dist/{chunk-E3SPN4VZ 5.js → chunk-3XC4CPTD.js} +4345 -3986
  26. package/dist/chunk-3XC4CPTD.js.map +1 -0
  27. package/dist/{chunk-7EQTDTTJ.js → chunk-6J4GEEJR.js} +172 -45
  28. package/dist/chunk-6J4GEEJR.js.map +1 -0
  29. package/dist/{chunk-6C4YBBJM 5.js → chunk-6SOIHG6Z.js} +1 -1
  30. package/dist/chunk-6SOIHG6Z.js.map +1 -0
  31. package/dist/{chunk-7FLMSG37.js → chunk-EHMR7VYL.js} +25 -25
  32. package/dist/chunk-EHMR7VYL.js.map +1 -0
  33. package/dist/{chunk-I7PSE6JW.js → chunk-F2IMUDXZ.js} +2 -75
  34. package/dist/chunk-F2IMUDXZ.js.map +1 -0
  35. package/dist/{chunk-QWWZ5CAQ.js → chunk-FFQEQTNW.js} +7 -9
  36. package/dist/chunk-FFQEQTNW.js.map +1 -0
  37. package/dist/chunk-FMUCXFII.js +76 -0
  38. package/dist/chunk-FMUCXFII.js.map +1 -0
  39. package/dist/{chunk-HW3OVDUF.js → chunk-J36DSWQK.js} +1 -1
  40. package/dist/{chunk-HW3OVDUF.js.map → chunk-J36DSWQK.js.map} +1 -1
  41. package/dist/{chunk-SQGMNID3.js → chunk-L4OXEN46.js} +4 -5
  42. package/dist/chunk-L4OXEN46.js.map +1 -0
  43. package/dist/{chunk-R77UEZ4E 3.js → chunk-M43Y4SSO.js} +1 -1
  44. package/dist/chunk-M43Y4SSO.js.map +1 -0
  45. package/dist/{chunk-IIELH4DL.js → chunk-MMZ7JXPU.js} +60 -223
  46. package/dist/chunk-MMZ7JXPU.js.map +1 -0
  47. package/dist/{chunk-NOAYCWCX 5.js → chunk-NECFR5MM.js} +394 -312
  48. package/dist/chunk-NECFR5MM.js.map +1 -0
  49. package/dist/{chunk-BC4IJKSL.js → chunk-SFZUDBL5.js} +40 -4
  50. package/dist/chunk-SFZUDBL5.js.map +1 -0
  51. package/dist/{chunk-XNXXZ43G.js → chunk-XWQCNGTQ.js} +748 -364
  52. package/dist/chunk-XWQCNGTQ.js.map +1 -0
  53. package/dist/components.d.ts +6 -6
  54. package/dist/components.js +15 -12
  55. package/dist/components.js.map +1 -1
  56. package/dist/{functions-D_kgHktt.d.ts → functions-DHebl8-F.d.ts} +1 -1
  57. package/dist/hooks.d.ts +59 -126
  58. package/dist/hooks.js +19 -28
  59. package/dist/hooks.js.map +1 -1
  60. package/dist/index.d.ts +63 -16
  61. package/dist/index.js +23 -24
  62. package/dist/index.js.map +1 -1
  63. package/dist/providers.d.ts +21 -3
  64. package/dist/providers.js +2 -2
  65. package/dist/rbac/index.d.ts +146 -115
  66. package/dist/rbac/index.js +8 -11
  67. package/dist/theming/runtime.d.ts +1 -13
  68. package/dist/theming/runtime.js +1 -1
  69. package/dist/{timezone-_pgH8qrY.d.ts → timezone-CHhWg6b4.d.ts} +3 -10
  70. package/dist/{types-UU913iLA.d.ts → types-BeoeWV5I.d.ts} +8 -0
  71. package/dist/{types-CEpcvwwF.d.ts → types-CkbwOr4Y.d.ts} +6 -0
  72. package/dist/types.d.ts +2 -2
  73. package/dist/{usePublicRouteParams-TZe0gy-4.d.ts → usePublicRouteParams-1oMokgLF.d.ts} +34 -4
  74. package/dist/{useToast-C8gR5ir4.d.ts → useToast-AyaT-x7p.d.ts} +2 -2
  75. package/dist/utils.d.ts +4 -5
  76. package/dist/utils.js +15 -15
  77. package/dist/utils.js.map +1 -1
  78. package/docs/api/README.md +7 -1
  79. package/docs/api/classes/ColumnFactory.md +8 -8
  80. package/docs/api/classes/InvalidScopeError.md +4 -4
  81. package/docs/api/classes/Logger.md +1 -1
  82. package/docs/api/classes/MissingUserContextError.md +4 -4
  83. package/docs/api/classes/OrganisationContextRequiredError.md +4 -4
  84. package/docs/api/classes/PermissionDeniedError.md +4 -4
  85. package/docs/api/classes/RBACAuditManager.md +1 -1
  86. package/docs/api/classes/RBACCache.md +1 -1
  87. package/docs/api/classes/RBACEngine.md +1 -1
  88. package/docs/api/classes/RBACError.md +4 -4
  89. package/docs/api/classes/RBACNotInitializedError.md +4 -4
  90. package/docs/api/classes/SecureSupabaseClient.md +18 -15
  91. package/docs/api/classes/StorageUtils.md +1 -1
  92. package/docs/api/enums/FileCategory.md +1 -1
  93. package/docs/api/enums/LogLevel.md +1 -1
  94. package/docs/api/enums/RBACErrorCode.md +1 -1
  95. package/docs/api/enums/RPCFunction.md +1 -1
  96. package/docs/api/interfaces/AddressFieldProps.md +1 -1
  97. package/docs/api/interfaces/AddressFieldRef.md +1 -1
  98. package/docs/api/interfaces/AggregateConfig.md +4 -4
  99. package/docs/api/interfaces/AutocompleteOptions.md +1 -1
  100. package/docs/api/interfaces/AvatarProps.md +1 -1
  101. package/docs/api/interfaces/BadgeProps.md +9 -2
  102. package/docs/api/interfaces/ButtonProps.md +7 -4
  103. package/docs/api/interfaces/CalendarProps.md +8 -5
  104. package/docs/api/interfaces/CardProps.md +8 -5
  105. package/docs/api/interfaces/ColorPalette.md +1 -1
  106. package/docs/api/interfaces/ColorShade.md +1 -1
  107. package/docs/api/interfaces/ComplianceResult.md +1 -1
  108. package/docs/api/interfaces/DataAccessRecord.md +9 -9
  109. package/docs/api/interfaces/DataRecord.md +1 -1
  110. package/docs/api/interfaces/DataTableAction.md +24 -21
  111. package/docs/api/interfaces/DataTableColumn.md +31 -31
  112. package/docs/api/interfaces/DataTableProps.md +1 -1
  113. package/docs/api/interfaces/DataTableToolbarButton.md +7 -7
  114. package/docs/api/interfaces/DatabaseComplianceResult.md +1 -1
  115. package/docs/api/interfaces/DatabaseIssue.md +1 -1
  116. package/docs/api/interfaces/EmptyStateConfig.md +5 -5
  117. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  118. package/docs/api/interfaces/ErrorBoundaryProps.md +147 -0
  119. package/docs/api/interfaces/ErrorBoundaryProviderProps.md +36 -0
  120. package/docs/api/interfaces/ErrorBoundaryState.md +75 -0
  121. package/docs/api/interfaces/EventAppRoleData.md +1 -1
  122. package/docs/api/interfaces/ExportColumn.md +1 -1
  123. package/docs/api/interfaces/ExportOptions.md +8 -8
  124. package/docs/api/interfaces/FileDisplayProps.md +1 -1
  125. package/docs/api/interfaces/FileMetadata.md +1 -1
  126. package/docs/api/interfaces/FileReference.md +1 -1
  127. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  128. package/docs/api/interfaces/FileUploadOptions.md +1 -1
  129. package/docs/api/interfaces/FileUploadProps.md +26 -23
  130. package/docs/api/interfaces/FooterProps.md +10 -8
  131. package/docs/api/interfaces/FormFieldProps.md +10 -10
  132. package/docs/api/interfaces/FormProps.md +1 -1
  133. package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
  134. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  135. package/docs/api/interfaces/InputProps.md +7 -4
  136. package/docs/api/interfaces/LabelProps.md +1 -1
  137. package/docs/api/interfaces/LoggerConfig.md +1 -1
  138. package/docs/api/interfaces/LoginFormProps.md +14 -11
  139. package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
  140. package/docs/api/interfaces/NavigationContextType.md +1 -1
  141. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  142. package/docs/api/interfaces/NavigationItem.md +11 -11
  143. package/docs/api/interfaces/NavigationMenuProps.md +15 -15
  144. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  145. package/docs/api/interfaces/Organisation.md +1 -1
  146. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  147. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  148. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  149. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  150. package/docs/api/interfaces/PaceAppLayoutProps.md +30 -27
  151. package/docs/api/interfaces/PaceLoginPageProps.md +6 -4
  152. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  153. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  154. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  155. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  156. package/docs/api/interfaces/PaletteData.md +1 -1
  157. package/docs/api/interfaces/ParsedAddress.md +1 -1
  158. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  159. package/docs/api/interfaces/ProgressProps.md +1 -1
  160. package/docs/api/interfaces/ProtectedRouteProps.md +7 -26
  161. package/docs/api/interfaces/PublicPageFooterProps.md +9 -9
  162. package/docs/api/interfaces/PublicPageHeaderProps.md +10 -10
  163. package/docs/api/interfaces/PublicPageLayoutProps.md +7 -20
  164. package/docs/api/interfaces/QuickFix.md +1 -1
  165. package/docs/api/interfaces/RBACAccessValidateParams.md +1 -1
  166. package/docs/api/interfaces/RBACAccessValidateResult.md +1 -1
  167. package/docs/api/interfaces/RBACAuditLogParams.md +1 -1
  168. package/docs/api/interfaces/RBACAuditLogResult.md +1 -1
  169. package/docs/api/interfaces/RBACConfig.md +1 -1
  170. package/docs/api/interfaces/RBACContext.md +1 -1
  171. package/docs/api/interfaces/RBACLogger.md +1 -1
  172. package/docs/api/interfaces/RBACPageAccessCheckParams.md +1 -1
  173. package/docs/api/interfaces/RBACPerformanceMetrics.md +1 -1
  174. package/docs/api/interfaces/RBACPermissionCheckParams.md +1 -1
  175. package/docs/api/interfaces/RBACPermissionCheckResult.md +1 -1
  176. package/docs/api/interfaces/RBACPermissionsGetParams.md +1 -1
  177. package/docs/api/interfaces/RBACPermissionsGetResult.md +1 -1
  178. package/docs/api/interfaces/RBACResult.md +1 -1
  179. package/docs/api/interfaces/RBACRoleGrantParams.md +1 -1
  180. package/docs/api/interfaces/RBACRoleGrantResult.md +1 -1
  181. package/docs/api/interfaces/RBACRoleRevokeParams.md +1 -1
  182. package/docs/api/interfaces/RBACRoleRevokeResult.md +1 -1
  183. package/docs/api/interfaces/RBACRoleValidateParams.md +1 -1
  184. package/docs/api/interfaces/RBACRoleValidateResult.md +1 -1
  185. package/docs/api/interfaces/RBACRolesListParams.md +1 -1
  186. package/docs/api/interfaces/RBACRolesListResult.md +1 -1
  187. package/docs/api/interfaces/RBACSessionTrackParams.md +1 -1
  188. package/docs/api/interfaces/RBACSessionTrackResult.md +1 -1
  189. package/docs/api/interfaces/ResourcePermissions.md +1 -1
  190. package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
  191. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  192. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  193. package/docs/api/interfaces/RoleManagementResult.md +1 -1
  194. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  195. package/docs/api/interfaces/RouteConfig.md +1 -1
  196. package/docs/api/interfaces/RuntimeComplianceResult.md +1 -1
  197. package/docs/api/interfaces/SecureDataContextType.md +9 -9
  198. package/docs/api/interfaces/SecureDataProviderProps.md +8 -8
  199. package/docs/api/interfaces/SessionRestorationLoaderProps.md +3 -3
  200. package/docs/api/interfaces/SetupIssue.md +1 -1
  201. package/docs/api/interfaces/StorageConfig.md +1 -1
  202. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  203. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  204. package/docs/api/interfaces/StorageListOptions.md +1 -1
  205. package/docs/api/interfaces/StorageListResult.md +1 -1
  206. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  207. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  208. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  209. package/docs/api/interfaces/StyleImport.md +1 -1
  210. package/docs/api/interfaces/SwitchProps.md +1 -1
  211. package/docs/api/interfaces/TabsContentProps.md +1 -1
  212. package/docs/api/interfaces/TabsListProps.md +1 -1
  213. package/docs/api/interfaces/TabsProps.md +1 -1
  214. package/docs/api/interfaces/TabsTriggerProps.md +3 -3
  215. package/docs/api/interfaces/TextareaProps.md +1 -1
  216. package/docs/api/interfaces/ToastActionElement.md +4 -1
  217. package/docs/api/interfaces/ToastProps.md +1 -1
  218. package/docs/api/interfaces/UnifiedAuthContextType.md +58 -55
  219. package/docs/api/interfaces/UnifiedAuthProviderProps.md +15 -13
  220. package/docs/api/interfaces/UseFormDialogOptions.md +1 -1
  221. package/docs/api/interfaces/UseFormDialogReturn.md +1 -1
  222. package/docs/api/interfaces/UseInactivityTrackerOptions.md +11 -9
  223. package/docs/api/interfaces/UseInactivityTrackerReturn.md +8 -8
  224. package/docs/api/interfaces/UsePublicEventLogoOptions.md +6 -6
  225. package/docs/api/interfaces/UsePublicEventLogoReturn.md +9 -6
  226. package/docs/api/interfaces/UsePublicEventOptions.md +3 -3
  227. package/docs/api/interfaces/UsePublicEventReturn.md +8 -5
  228. package/docs/api/interfaces/UsePublicFileDisplayOptions.md +4 -4
  229. package/docs/api/interfaces/UsePublicFileDisplayReturn.md +12 -9
  230. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +10 -7
  231. package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
  232. package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
  233. package/docs/api/interfaces/UseResourcePermissionsOptions.md +1 -1
  234. package/docs/api/interfaces/UserEventAccess.md +14 -11
  235. package/docs/api/interfaces/UserMenuProps.md +8 -6
  236. package/docs/api/interfaces/UserProfile.md +1 -1
  237. package/docs/api/modules.md +575 -634
  238. package/docs/architecture/database-schema-requirements.md +161 -0
  239. package/docs/core-concepts/rbac-system.md +3 -3
  240. package/docs/documentation-index.md +2 -4
  241. package/docs/getting-started/cursor-rules.md +263 -0
  242. package/docs/getting-started/installation-guide.md +6 -1
  243. package/docs/getting-started/quick-start.md +6 -1
  244. package/docs/migration/DOCUMENTATION_STRUCTURE.md +441 -0
  245. package/docs/migration/MIGRATION_GUIDE.md +6 -28
  246. package/docs/migration/README.md +52 -6
  247. package/docs/migration/V0.5.190_TO_V0.6.1_MIGRATION.md +1153 -0
  248. package/docs/migration/V0.6.0_REACT_19_MIGRATION.md +227 -0
  249. package/docs/migration/database-changes-december-2025.md +3 -3
  250. package/docs/rbac/event-based-apps.md +1 -1
  251. package/docs/rbac/getting-started.md +1 -1
  252. package/docs/rbac/quick-start.md +1 -1
  253. package/docs/standards/README.md +40 -0
  254. package/docs/troubleshooting/migration.md +4 -4
  255. package/examples/PublicPages/PublicEventPage.tsx +1 -1
  256. package/package.json +12 -6
  257. package/scripts/audit/core/checks/accessibility.cjs +197 -0
  258. package/scripts/audit/core/checks/api-usage.cjs +191 -0
  259. package/scripts/audit/core/checks/bundle.cjs +142 -0
  260. package/scripts/{check-pace-core-compliance.cjs → audit/core/checks/compliance.cjs} +737 -691
  261. package/scripts/audit/core/checks/config.cjs +54 -0
  262. package/scripts/audit/core/checks/coverage.cjs +84 -0
  263. package/scripts/audit/core/checks/dependencies.cjs +454 -0
  264. package/scripts/audit/core/checks/documentation.cjs +203 -0
  265. package/scripts/audit/core/checks/environment.cjs +128 -0
  266. package/scripts/audit/core/checks/error-handling.cjs +299 -0
  267. package/scripts/audit/core/checks/forms.cjs +172 -0
  268. package/scripts/audit/core/checks/heuristics.cjs +68 -0
  269. package/scripts/audit/core/checks/hooks.cjs +334 -0
  270. package/scripts/audit/core/checks/imports.cjs +244 -0
  271. package/scripts/audit/core/checks/performance.cjs +325 -0
  272. package/scripts/audit/core/checks/routes.cjs +117 -0
  273. package/scripts/audit/core/checks/state.cjs +130 -0
  274. package/scripts/audit/core/checks/structure.cjs +65 -0
  275. package/scripts/audit/core/checks/style.cjs +584 -0
  276. package/scripts/audit/core/checks/testing.cjs +122 -0
  277. package/scripts/audit/core/checks/typescript.cjs +61 -0
  278. package/scripts/audit/core/scanner.cjs +199 -0
  279. package/scripts/audit/core/utils.cjs +137 -0
  280. package/scripts/audit/index.cjs +223 -0
  281. package/scripts/audit/reporters/console.cjs +151 -0
  282. package/scripts/audit/reporters/json.cjs +54 -0
  283. package/scripts/audit/reporters/markdown.cjs +124 -0
  284. package/scripts/audit-consuming-app.cjs +86 -0
  285. package/scripts/build-docs/build-decision.js +240 -0
  286. package/scripts/build-docs/cache-utils.js +105 -0
  287. package/scripts/build-docs/content-normalization.js +150 -0
  288. package/scripts/build-docs/file-utils.js +105 -0
  289. package/scripts/build-docs/git-utils.js +86 -0
  290. package/scripts/build-docs/hash-utils.js +116 -0
  291. package/scripts/build-docs/typedoc-runner.js +220 -0
  292. package/scripts/build-docs-incremental.js +77 -913
  293. package/scripts/install-cursor-rules.cjs +236 -0
  294. package/scripts/utils/command-runner.js +16 -11
  295. package/scripts/validate-formats.js +61 -56
  296. package/scripts/validate-master.js +74 -69
  297. package/scripts/validate-pre-publish.js +70 -65
  298. package/src/__tests__/helpers/test-providers.tsx +1 -1
  299. package/src/__tests__/helpers/test-utils.tsx +1 -1
  300. package/src/__tests__/hooks/usePermissions.test.ts +2 -2
  301. package/src/components/Alert/Alert.test.tsx +12 -18
  302. package/src/components/Alert/Alert.tsx +5 -7
  303. package/src/components/Avatar/Avatar.test.tsx +4 -4
  304. package/src/components/Badge/Badge.tsx +16 -4
  305. package/src/components/Button/Button.tsx +27 -4
  306. package/src/components/Calendar/Calendar.tsx +9 -3
  307. package/src/components/Card/Card.tsx +4 -0
  308. package/src/components/Checkbox/Checkbox.test.tsx +12 -12
  309. package/src/components/Checkbox/Checkbox.tsx +2 -2
  310. package/src/components/DataTable/DataTable.test.tsx +57 -93
  311. package/src/components/DataTable/DataTable.tsx +40 -6
  312. package/src/components/DataTable/__tests__/DataTableCore.test-setup.ts +5 -6
  313. package/src/components/DataTable/__tests__/pagination.modes.test.tsx +29 -7
  314. package/src/components/DataTable/__tests__/ssr.strict-mode.test.tsx +12 -12
  315. package/src/components/DataTable/__tests__/test-utils/sharedTestUtils.tsx +2 -3
  316. package/src/components/DataTable/components/AccessDeniedPage.tsx +17 -26
  317. package/src/components/DataTable/components/ActionButtons.tsx +10 -7
  318. package/src/components/DataTable/components/BulkOperationsDropdown.tsx +2 -2
  319. package/src/components/DataTable/components/ColumnFilter.tsx +10 -0
  320. package/src/components/DataTable/components/ColumnVisibilityDropdown.tsx +12 -0
  321. package/src/components/DataTable/components/DataTableBody.tsx +8 -0
  322. package/src/components/DataTable/components/DataTableCore.tsx +200 -561
  323. package/src/components/DataTable/components/DataTableErrorBoundary.tsx +11 -0
  324. package/src/components/DataTable/components/DataTableLayout.tsx +559 -0
  325. package/src/components/DataTable/components/DataTableModals.tsx +9 -1
  326. package/src/components/DataTable/components/DataTableToolbar.tsx +8 -0
  327. package/src/components/DataTable/components/DraggableColumnHeader.tsx +12 -0
  328. package/src/components/DataTable/components/EditFields.tsx +307 -0
  329. package/src/components/DataTable/components/EditableRow.tsx +9 -1
  330. package/src/components/DataTable/components/EmptyState.tsx +10 -0
  331. package/src/components/DataTable/components/FilterRow.tsx +12 -0
  332. package/src/components/DataTable/components/GroupHeader.tsx +12 -0
  333. package/src/components/DataTable/components/GroupingDropdown.tsx +12 -0
  334. package/src/components/DataTable/components/ImportModal.tsx +7 -0
  335. package/src/components/DataTable/components/LoadingState.tsx +6 -0
  336. package/src/components/DataTable/components/PaginationControls.tsx +16 -1
  337. package/src/components/DataTable/components/RowComponent.tsx +391 -0
  338. package/src/components/DataTable/components/UnifiedTableBody.tsx +62 -852
  339. package/src/components/DataTable/components/VirtualizedDataTable.tsx +16 -4
  340. package/src/components/DataTable/components/__tests__/AccessDeniedPage.test.tsx +4 -2
  341. package/src/components/DataTable/components/__tests__/DataTableModals.test.tsx +23 -23
  342. package/src/components/DataTable/components/__tests__/EditableRow.test.tsx +11 -11
  343. package/src/components/DataTable/components/__tests__/ExpandButton.test.tsx +36 -36
  344. package/src/components/DataTable/components/__tests__/GroupHeader.test.tsx +27 -27
  345. package/src/components/DataTable/components/__tests__/ImportModal.test.tsx +39 -39
  346. package/src/components/DataTable/components/__tests__/UnifiedTableBody.test.tsx +33 -33
  347. package/src/components/DataTable/components/__tests__/ViewRowModal.test.tsx +29 -29
  348. package/src/components/DataTable/components/cellValueUtils.ts +40 -0
  349. package/src/components/DataTable/components/hooks/useImportModalFocus.ts +53 -0
  350. package/src/components/DataTable/components/hooks/usePermissionTracking.ts +126 -0
  351. package/src/components/DataTable/context/DataTableContext.tsx +50 -0
  352. package/src/components/DataTable/core/ColumnFactory.ts +31 -0
  353. package/src/components/DataTable/core/DataTableContext.tsx +32 -1
  354. package/src/components/DataTable/hooks/useColumnOrderPersistence.ts +10 -0
  355. package/src/components/DataTable/hooks/useColumnReordering.ts +14 -2
  356. package/src/components/DataTable/hooks/useColumnVisibilityPersistence.ts +10 -0
  357. package/src/components/DataTable/hooks/useDataTableDataPipeline.ts +16 -0
  358. package/src/components/DataTable/hooks/useDataTablePermissions.ts +124 -32
  359. package/src/components/DataTable/hooks/useDataTableState.ts +35 -1
  360. package/src/components/DataTable/hooks/useEffectiveColumnOrder.ts +12 -0
  361. package/src/components/DataTable/hooks/useKeyboardNavigation.ts +2 -2
  362. package/src/components/DataTable/hooks/useServerSideDataEffect.ts +11 -0
  363. package/src/components/DataTable/hooks/useTableColumns.ts +8 -0
  364. package/src/components/DataTable/hooks/useTableHandlers.ts +14 -0
  365. package/src/components/DataTable/styles.ts +6 -6
  366. package/src/components/DataTable/types.ts +6 -10
  367. package/src/components/DataTable/utils/a11yUtils.ts +7 -0
  368. package/src/components/DataTable/utils/debugTools.ts +18 -113
  369. package/src/components/DataTable/utils/errorHandling.ts +12 -0
  370. package/src/components/DataTable/utils/exportUtils.ts +9 -0
  371. package/src/components/DataTable/utils/flexibleImport.ts +12 -48
  372. package/src/components/DataTable/utils/paginationUtils.ts +8 -0
  373. package/src/components/DataTable/utils/performanceUtils.ts +5 -1
  374. package/src/components/DatePickerWithTimezone/DatePickerWithTimezone.test.tsx +8 -14
  375. package/src/components/Dialog/Dialog.tsx +8 -7
  376. package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +180 -1
  377. package/src/components/ErrorBoundary/ErrorBoundary.tsx +46 -6
  378. package/src/components/ErrorBoundary/ErrorBoundaryContext.tsx +129 -0
  379. package/src/components/ErrorBoundary/index.ts +27 -2
  380. package/src/components/EventSelector/EventSelector.tsx +4 -1
  381. package/src/components/FileDisplay/FileDisplay.test.tsx +2 -2
  382. package/src/components/FileDisplay/FileDisplay.tsx +32 -18
  383. package/src/components/FileUpload/FileUpload.tsx +22 -2
  384. package/src/components/Footer/Footer.test.tsx +16 -16
  385. package/src/components/Footer/Footer.tsx +15 -12
  386. package/src/components/Form/Form.test.tsx +36 -15
  387. package/src/components/Form/Form.tsx +31 -26
  388. package/src/components/Header/Header.tsx +22 -11
  389. package/src/components/InactivityWarningModal/InactivityWarningModal.test.tsx +40 -40
  390. package/src/components/InactivityWarningModal/InactivityWarningModal.tsx +1 -1
  391. package/src/components/Input/Input.test.tsx +2 -2
  392. package/src/components/Input/Input.tsx +36 -34
  393. package/src/components/Label/Label.tsx +1 -1
  394. package/src/components/LoadingSpinner/LoadingSpinner.test.tsx +4 -4
  395. package/src/components/LoadingSpinner/LoadingSpinner.tsx +1 -1
  396. package/src/components/LoginForm/LoginForm.test.tsx +42 -42
  397. package/src/components/LoginForm/LoginForm.tsx +12 -8
  398. package/src/components/NavigationMenu/NavigationMenu.tsx +15 -514
  399. package/src/components/NavigationMenu/types.ts +56 -0
  400. package/src/components/NavigationMenu/useNavigationFiltering.ts +390 -0
  401. package/src/components/OrganisationSelector/OrganisationSelector.tsx +3 -0
  402. package/src/components/PaceAppLayout/PaceAppLayout.performance.test.tsx +1 -1
  403. package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +54 -52
  404. package/src/components/PaceAppLayout/PaceAppLayout.tsx +33 -12
  405. package/src/components/PaceAppLayout/README.md +1 -1
  406. package/src/components/PaceAppLayout/test-setup.tsx +1 -2
  407. package/src/components/PaceLoginPage/PaceLoginPage.tsx +4 -1
  408. package/src/components/PasswordChange/PasswordChangeForm.test.tsx +33 -33
  409. package/src/components/PasswordChange/PasswordChangeForm.tsx +10 -1
  410. package/src/components/Progress/Progress.tsx +1 -1
  411. package/src/components/ProtectedRoute/ProtectedRoute.tsx +3 -9
  412. package/src/components/PublicLayout/PublicPageLayout.tsx +3 -6
  413. package/src/components/PublicLayout/PublicPageProvider.tsx +4 -0
  414. package/src/components/Select/Select.tsx +95 -438
  415. package/src/components/Select/context.ts +23 -0
  416. package/src/components/Select/hooks/useSelectEvents.ts +87 -0
  417. package/src/components/Select/hooks/useSelectSearch.ts +91 -0
  418. package/src/components/Select/hooks/useSelectState.ts +104 -0
  419. package/src/components/Select/index.ts +9 -1
  420. package/src/components/Select/types.ts +123 -0
  421. package/src/components/Select/utils/text.ts +26 -0
  422. package/src/components/SessionRestorationLoader/SessionRestorationLoader.tsx +5 -6
  423. package/src/components/Switch/Switch.tsx +4 -4
  424. package/src/components/Table/Table.tsx +1 -1
  425. package/src/components/Tabs/Tabs.tsx +1 -1
  426. package/src/components/Textarea/Textarea.tsx +27 -29
  427. package/src/components/Toast/Toast.tsx +5 -1
  428. package/src/components/Tooltip/Tooltip.tsx +3 -3
  429. package/src/components/UserMenu/UserMenu.test.tsx +24 -11
  430. package/src/components/UserMenu/UserMenu.tsx +22 -19
  431. package/src/components/index.ts +2 -2
  432. package/src/hooks/__tests__/hooks.integration.test.tsx +80 -55
  433. package/src/hooks/__tests__/index.unit.test.ts +2 -5
  434. package/src/hooks/__tests__/useStorage.unit.test.ts +36 -36
  435. package/src/hooks/index.ts +1 -2
  436. package/src/hooks/public/usePublicEvent.ts +5 -1
  437. package/src/hooks/public/usePublicEventLogo.ts +5 -1
  438. package/src/hooks/public/usePublicFileDisplay.ts +4 -0
  439. package/src/hooks/public/usePublicRouteParams.ts +5 -1
  440. package/src/hooks/services/useAuth.ts +32 -0
  441. package/src/hooks/services/useCurrentEvent.ts +6 -0
  442. package/src/hooks/services/useCurrentOrganisation.ts +6 -0
  443. package/src/hooks/useDataTableState.ts +8 -18
  444. package/src/hooks/useDebounce.ts +9 -0
  445. package/src/hooks/useEventTheme.ts +6 -0
  446. package/src/hooks/useFileDisplay.ts +4 -0
  447. package/src/hooks/useFileReference.ts +25 -7
  448. package/src/hooks/useFileUrl.ts +11 -1
  449. package/src/hooks/useFocusManagement.ts +16 -2
  450. package/src/hooks/useFocusTrap.ts +7 -4
  451. package/src/hooks/useFormDialog.ts +8 -7
  452. package/src/hooks/useInactivityTracker.ts +4 -1
  453. package/src/hooks/useKeyboardShortcuts.ts +4 -0
  454. package/src/hooks/useOrganisationPermissions.ts +4 -0
  455. package/src/hooks/useOrganisationSecurity.ts +4 -0
  456. package/src/hooks/usePerformanceMonitor.ts +4 -0
  457. package/src/hooks/usePermissionCache.ts +8 -1
  458. package/src/hooks/useQueryCache.ts +12 -1
  459. package/src/hooks/useSessionRestoration.ts +4 -0
  460. package/src/hooks/useStorage.ts +4 -0
  461. package/src/hooks/useToast.ts +3 -3
  462. package/src/index.ts +2 -1
  463. package/src/providers/__tests__/OrganisationProvider.test.tsx +115 -49
  464. package/src/providers/__tests__/ProviderLifecycle.test.tsx +21 -6
  465. package/src/providers/__tests__/UnifiedAuthProvider.test.tsx +10 -10
  466. package/src/providers/services/AuthServiceProvider.tsx +18 -0
  467. package/src/providers/services/EventServiceProvider.tsx +18 -0
  468. package/src/providers/services/InactivityServiceProvider.tsx +18 -0
  469. package/src/providers/services/OrganisationServiceProvider.tsx +18 -0
  470. package/src/providers/services/UnifiedAuthProvider.tsx +58 -22
  471. package/src/providers/services/__tests__/AuthServiceProvider.integration.test.tsx +33 -7
  472. package/src/rbac/README.md +1 -1
  473. package/src/rbac/__tests__/adapters.comprehensive.test.tsx +26 -26
  474. package/src/rbac/__tests__/scenarios.user-role.test.tsx +4 -5
  475. package/src/rbac/adapters.tsx +14 -5
  476. package/src/rbac/api.ts +100 -67
  477. package/src/rbac/components/EnhancedNavigationMenu.tsx +1 -1
  478. package/src/rbac/components/NavigationGuard.tsx +1 -1
  479. package/src/rbac/components/NavigationProvider.tsx +5 -2
  480. package/src/rbac/components/PagePermissionGuard.tsx +158 -18
  481. package/src/rbac/components/PagePermissionProvider.tsx +1 -1
  482. package/src/rbac/components/PermissionEnforcer.tsx +1 -1
  483. package/src/rbac/components/RoleBasedRouter.tsx +6 -2
  484. package/src/rbac/components/SecureDataProvider.test.tsx +84 -49
  485. package/src/rbac/components/SecureDataProvider.tsx +21 -6
  486. package/src/rbac/components/__tests__/PagePermissionGuard.race-condition.test.tsx +24 -14
  487. package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +7 -0
  488. package/src/rbac/components/__tests__/PagePermissionGuard.verification.test.tsx +14 -6
  489. package/src/rbac/components/__tests__/RoleBasedRouter.test.tsx +15 -4
  490. package/src/rbac/components/__tests__/SecureDataProvider.fixed.test.tsx +148 -24
  491. package/src/rbac/components/__tests__/SecureDataProvider.test.tsx +81 -15
  492. package/src/rbac/engine.ts +38 -14
  493. package/src/rbac/hooks/permissions/index.ts +7 -0
  494. package/src/rbac/hooks/permissions/useAccessLevel.ts +105 -0
  495. package/src/rbac/hooks/permissions/useCachedPermissions.ts +79 -0
  496. package/src/rbac/hooks/permissions/useCan.ts +347 -0
  497. package/src/rbac/hooks/permissions/useHasAllPermissions.ts +90 -0
  498. package/src/rbac/hooks/permissions/useHasAnyPermission.ts +90 -0
  499. package/src/rbac/hooks/permissions/useMultiplePermissions.ts +93 -0
  500. package/src/rbac/hooks/permissions/usePermissions.ts +253 -0
  501. package/src/rbac/hooks/useCan.test.ts +71 -64
  502. package/src/rbac/hooks/usePermissions.ts +14 -995
  503. package/src/rbac/hooks/useResourcePermissions.test.ts +54 -18
  504. package/src/rbac/hooks/useResourcePermissions.ts +14 -4
  505. package/src/rbac/hooks/useSecureSupabase.ts +33 -13
  506. package/src/rbac/permissions.ts +0 -30
  507. package/src/rbac/secureClient.ts +212 -61
  508. package/src/rbac/types.ts +8 -0
  509. package/src/theming/__tests__/parseEventColours.test.ts +6 -9
  510. package/src/theming/parseEventColours.ts +5 -19
  511. package/src/types/vitest-globals.d.ts +51 -26
  512. package/src/utils/__mocks__/supabaseMock.ts +1 -3
  513. package/src/utils/__tests__/formatting.unit.test.ts +4 -4
  514. package/src/utils/__tests__/index.unit.test.ts +2 -2
  515. package/src/utils/audit/audit.ts +0 -3
  516. package/src/utils/core/cn.ts +1 -1
  517. package/src/utils/file-reference/index.ts +53 -1
  518. package/src/utils/formatting/formatting.ts +8 -18
  519. package/src/utils/index.ts +0 -1
  520. package/src/utils/security/secureDataAccess.test.ts +31 -20
  521. package/src/utils/security/secureDataAccess.ts +4 -3
  522. package/dist/chunk-6C4YBBJM.js +0 -628
  523. package/dist/chunk-6C4YBBJM.js.map +0 -1
  524. package/dist/chunk-7D4SUZUM.js 2.map +0 -1
  525. package/dist/chunk-7EQTDTTJ.js 2.map +0 -1
  526. package/dist/chunk-7EQTDTTJ.js.map +0 -1
  527. package/dist/chunk-7FLMSG37.js 2.map +0 -1
  528. package/dist/chunk-7FLMSG37.js.map +0 -1
  529. package/dist/chunk-BC4IJKSL.js.map +0 -1
  530. package/dist/chunk-E3SPN4VZ.js +0 -12917
  531. package/dist/chunk-E3SPN4VZ.js.map +0 -1
  532. package/dist/chunk-E66EQZE6 5.js +0 -37
  533. package/dist/chunk-E66EQZE6.js 2.map +0 -1
  534. package/dist/chunk-HWIIPPNI.js.map +0 -1
  535. package/dist/chunk-I7PSE6JW 5.js +0 -191
  536. package/dist/chunk-I7PSE6JW.js 2.map +0 -1
  537. package/dist/chunk-I7PSE6JW.js.map +0 -1
  538. package/dist/chunk-IIELH4DL.js.map +0 -1
  539. package/dist/chunk-KNC55RTG.js 5.map +0 -1
  540. package/dist/chunk-KNC55RTG.js.map +0 -1
  541. package/dist/chunk-KQCRWDSA.js 5.map +0 -1
  542. package/dist/chunk-LFNCN2SP.js +0 -412
  543. package/dist/chunk-LFNCN2SP.js 2.map +0 -1
  544. package/dist/chunk-LFNCN2SP.js.map +0 -1
  545. package/dist/chunk-LMC26NLJ 2.js +0 -84
  546. package/dist/chunk-NOAYCWCX.js +0 -4993
  547. package/dist/chunk-NOAYCWCX.js.map +0 -1
  548. package/dist/chunk-QWWZ5CAQ.js 3.map +0 -1
  549. package/dist/chunk-QWWZ5CAQ.js.map +0 -1
  550. package/dist/chunk-QXHPKYJV 3.js +0 -113
  551. package/dist/chunk-R77UEZ4E.js +0 -68
  552. package/dist/chunk-R77UEZ4E.js.map +0 -1
  553. package/dist/chunk-SQGMNID3.js.map +0 -1
  554. package/dist/chunk-VBXEHIUJ.js 6.map +0 -1
  555. package/dist/chunk-XNXXZ43G.js.map +0 -1
  556. package/dist/chunk-ZSAAAMVR 6.js +0 -25
  557. package/dist/components.js 5.map +0 -1
  558. package/dist/styles/index 2.js +0 -12
  559. package/dist/styles/index.js 5.map +0 -1
  560. package/dist/theming/runtime 5.js +0 -19
  561. package/dist/theming/runtime.js 5.map +0 -1
  562. package/docs/api/classes/ErrorBoundary.md +0 -144
  563. package/docs/migration/quick-migration-guide.md +0 -356
  564. package/docs/migration/service-architecture.md +0 -281
  565. package/src/hooks/__tests__/useSecureDataAccess.unit.test.tsx +0 -680
  566. package/src/hooks/useSecureDataAccess.test.ts +0 -559
  567. package/src/hooks/useSecureDataAccess.ts +0 -666
  568. /package/dist/{DataTable-5FU7IESH.js.map → DataTable-TPTKCX4D.js.map} +0 -0
  569. /package/dist/{UnifiedAuthProvider-RGJTDE2C.js.map → UnifiedAuthProvider-CH6Z342H.js.map} +0 -0
  570. /package/dist/{api-N774RPUA.js.map → api-MVVQZLJI.js.map} +0 -0
  571. /package/docs/migration/{organisation-context-timing-fix.md → V0.3.44_organisation-context-timing-fix.md} +0 -0
  572. /package/docs/migration/{rbac-migration.md → V0.4.0_rbac-migration.md} +0 -0
  573. /package/docs/migration/{person-scoped-profiles-migration-guide.md → V0.5.190_person-scoped-profiles-migration-guide.md} +0 -0
  574. /package/examples/{rbac → RBAC}/CompleteRBACExample.tsx +0 -0
  575. /package/examples/{rbac → RBAC}/EventBasedApp.tsx +0 -0
  576. /package/examples/{rbac → RBAC}/PermissionExample.tsx +0 -0
  577. /package/examples/{rbac → RBAC}/index.ts +0 -0
@@ -1,11 +1,11 @@
1
1
  import * as React$1 from 'react';
2
- import React__default, { Component, ReactNode } from 'react';
3
- import { P as ParsedAddress, A as AutocompleteOptions } from './types-CEpcvwwF.js';
2
+ import React__default, { ReactNode, Component } from 'react';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import { P as ParsedAddress, A as AutocompleteOptions } from './types-CkbwOr4Y.js';
4
5
  import * as LabelPrimitive from '@radix-ui/react-label';
5
6
  import { F as FileCategory, e as FileUploadResult, U as UploadProgress, c as FileUploadOptions, a as FileReference } from './file-reference-BavO2eQj.js';
6
7
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
7
8
  import * as SwitchPrimitive from '@radix-ui/react-switch';
8
- import * as react_jsx_runtime from 'react/jsx-runtime';
9
9
  import * as DialogPrimitive from '@radix-ui/react-dialog';
10
10
  import * as TabsPrimitive from '@radix-ui/react-tabs';
11
11
  import { DayPickerProps, DateRange } from 'react-day-picker';
@@ -14,9 +14,19 @@ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
14
14
  import { FieldValues, DefaultValues, SubmitHandler, SubmitErrorHandler, UseFormReturn, FieldPath, ControllerRenderProps, ControllerFieldState, UseFormStateReturn } from 'react-hook-form';
15
15
  import { z } from 'zod';
16
16
  import { User, SupabaseClient, createClient } from '@supabase/supabase-js';
17
- import { P as Permission, A as AccessLevel } from './types-UU913iLA.js';
17
+ import { P as Permission, A as AccessLevel } from './types-BeoeWV5I.js';
18
18
  import { E as Event, O as Organisation } from './event-CW5YB_2p.js';
19
19
 
20
+ /**
21
+ * Button component props
22
+ * Extends standard HTML button attributes with button-specific styling and behavior options.
23
+ *
24
+ * @interface ButtonProps
25
+ */
26
+ /**
27
+ * Props for the Button component.
28
+ * Extends standard button HTML attributes.
29
+ */
20
30
  interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
21
31
  /** Visual variant of the button */
22
32
  variant?: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link';
@@ -109,6 +119,10 @@ declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.Re
109
119
  * - Screen reader friendly with semantic landmarks
110
120
  */
111
121
 
122
+ /**
123
+ * Props for the Card component.
124
+ * Extends standard HTML attributes for semantic HTML elements.
125
+ */
112
126
  interface CardProps extends React$1.HTMLAttributes<HTMLElement> {
113
127
  /** Visual variant of the card */
114
128
  variant?: 'default' | 'outline' | 'ghost';
@@ -129,55 +143,9 @@ declare const CardActions: React$1.ForwardRefExoticComponent<React$1.HTMLAttribu
129
143
  type CardActionsProps = React$1.HTMLAttributes<HTMLElement>;
130
144
 
131
145
  /**
132
- * @file Input Component Suite
133
- * @package @jmruthers/pace-core
134
- * @module Input
135
- * @since 0.1.0
136
- *
137
- * A comprehensive input component suite including Input and InputGroup.
138
- * Provides flexible, accessible input components with consistent styling and behavior.
139
- *
140
- * Features:
141
- * - Multiple input variants (default, destructive)
142
- * - Multiple input sizes (sm, md, lg)
143
- * - Error state styling
144
- * - Input grouping with consistent spacing
145
- * - Horizontal and vertical orientation support
146
- * - Forwarded ref support
147
- * - Composition support
148
- *
149
- * @example
150
- * ```tsx
151
- * // Basic input
152
- * <Input placeholder="Enter text" />
153
- *
154
- * // Input with variants and sizes
155
- * <Input
156
- * variant="destructive"
157
- * size="lg"
158
- * placeholder="Error input"
159
- * />
160
- *
161
- * // Input group
162
- * <InputGroup orientation="horizontal" spacing="md">
163
- * <Input placeholder="First name" />
164
- * <Input placeholder="Last name" />
165
- * </InputGroup>
166
- *
167
- * // Vertical input group
168
- * <InputGroup orientation="vertical" spacing="lg">
169
- * <Input placeholder="Email" type="email" />
170
- * <Input placeholder="Password" type="password" />
171
- * </InputGroup>
172
- * ```
173
- *
174
- * @accessibility
175
- * - Proper ARIA attributes and roles
176
- * - Keyboard navigation support
177
- * - Screen reader friendly
178
- * - Focus management
146
+ * Props for the Input component.
147
+ * Extends standard input HTML attributes.
179
148
  */
180
-
181
149
  interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'size'> {
182
150
  /**
183
151
  * Input variant style
@@ -220,7 +188,12 @@ interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>,
220
188
  * />
221
189
  * ```
222
190
  */
223
- declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
191
+ declare function Input({ className, variant, size, error, type, ref, ...props }: InputProps & {
192
+ ref?: React$1.Ref<HTMLInputElement>;
193
+ }): react_jsx_runtime.JSX.Element;
194
+ declare namespace Input {
195
+ var displayName: string;
196
+ }
224
197
 
225
198
  /**
226
199
  * @file AddressField Component Types
@@ -400,7 +373,7 @@ declare const AddressField: React$1.ForwardRefExoticComponent<AddressFieldProps
400
373
  *
401
374
  * @dependencies
402
375
  * - @radix-ui/react-label - Core label functionality
403
- * - React 18+ - Hooks and refs
376
+ * - React 19+ - Hooks and refs
404
377
  * - Tailwind CSS - Styling
405
378
  */
406
379
 
@@ -440,48 +413,6 @@ interface LabelProps extends React$1.ComponentPropsWithoutRef<typeof LabelPrimit
440
413
  */
441
414
  declare const Label: React$1.ForwardRefExoticComponent<LabelProps & React$1.RefAttributes<HTMLLabelElement>>;
442
415
 
443
- /**
444
- * @file Textarea Component
445
- * @package @jmruthers/pace-core
446
- * @module Textarea
447
- * @since 0.5.141
448
- *
449
- * A multi-line text input component with consistent styling matching the Input component.
450
- * Provides flexible, accessible textarea component with consistent styling and behavior.
451
- *
452
- * Features:
453
- * - Multiple textarea variants (default, destructive)
454
- * - Multiple textarea sizes (sm, md, lg)
455
- * - Error state styling
456
- * - Forwarded ref support
457
- * - Consistent styling with Input component
458
- *
459
- * @example
460
- * ```tsx
461
- * // Basic textarea
462
- * <Textarea placeholder="Enter your message..." />
463
- *
464
- * // Textarea with variants and sizes
465
- * <Textarea
466
- * variant="destructive"
467
- * size="lg"
468
- * placeholder="Error textarea"
469
- * />
470
- *
471
- * // Textarea with error state
472
- * <Textarea
473
- * placeholder="Comments"
474
- * error={true}
475
- * />
476
- * ```
477
- *
478
- * @accessibility
479
- * - Proper ARIA attributes and roles
480
- * - Keyboard navigation support
481
- * - Screen reader friendly
482
- * - Focus management
483
- */
484
-
485
416
  interface TextareaProps extends React$1.TextareaHTMLAttributes<HTMLTextAreaElement> {
486
417
  /**
487
418
  * Textarea variant style
@@ -524,7 +455,12 @@ interface TextareaProps extends React$1.TextareaHTMLAttributes<HTMLTextAreaEleme
524
455
  * />
525
456
  * ```
526
457
  */
527
- declare const Textarea: React$1.ForwardRefExoticComponent<TextareaProps & React$1.RefAttributes<HTMLTextAreaElement>>;
458
+ declare function Textarea({ className, variant, size, error, ref, ...props }: TextareaProps & {
459
+ ref?: React$1.Ref<HTMLTextAreaElement>;
460
+ }): react_jsx_runtime.JSX.Element;
461
+ declare namespace Textarea {
462
+ var displayName: string;
463
+ }
528
464
 
529
465
  /**
530
466
  * @file Alert Component Suite
@@ -546,22 +482,20 @@ declare const Textarea: React$1.ForwardRefExoticComponent<TextareaProps & React$
546
482
  *
547
483
  * @example
548
484
  * ```tsx
549
- * // Basic alert
485
+ * // Basic alert (renders as <aside> with <h5> title and <p> description)
550
486
  * <Alert>
551
487
  * <AlertTitle>Success</AlertTitle>
552
488
  * <AlertDescription>Your changes have been saved.</AlertDescription>
553
489
  * </Alert>
554
490
  *
555
- * // Destructive alert with icon
491
+ * // Destructive alert with icon (renders as <aside> with <h5> title and <p> description)
556
492
  * <Alert variant="destructive">
557
493
  * <ErrorIcon />
558
- * <div>
559
- * <AlertTitle>Error</AlertTitle>
560
- * <AlertDescription>Something went wrong.</AlertDescription>
561
- * </div>
494
+ * <AlertTitle>Error</AlertTitle>
495
+ * <AlertDescription>Something went wrong.</AlertDescription>
562
496
  * </Alert>
563
497
  *
564
- * // Inline alert (renders as fragment with strong/span)
498
+ * // Inline alert (renders as React.Fragment with <strong> title and <span> description)
565
499
  * <Alert variant="inline">
566
500
  * <AlertTitle>Note:</AlertTitle>
567
501
  * <AlertDescription>This is an inline message.</AlertDescription>
@@ -653,50 +587,20 @@ interface AvatarProps extends React$1.HTMLAttributes<HTMLDivElement> {
653
587
  declare const Avatar: React$1.ForwardRefExoticComponent<AvatarProps & React$1.RefAttributes<HTMLDivElement>>;
654
588
 
655
589
  /**
656
- * @file Badge Component
657
- * @package @jmruthers/pace-core
658
- * @module Components
659
- * @since 0.1.0
660
- *
661
- * A small, non-interactive visual label component for displaying concise information
662
- * such as status indicators, tags, or labels. Acts as a visual alternative to buttons
663
- * for non-interactive content.
664
- *
665
- * Features:
666
- * - 27 combined variants (3 styles × 3 colors × 3 shades)
667
- * - Non-interactive by default (renders as <span>)
668
- * - Supports all pace-core color palettes (main, sec, acc)
669
- * - Customizable styling via className prop
670
- * - Accessible and screen reader friendly
671
- *
672
- * @example
673
- * ```tsx
674
- * // Basic badge with default variant
675
- * <Badge>New</Badge>
676
- *
677
- * // Badge with specific variant
678
- * <Badge variant="solid-main-normal">Active</Badge>
679
- *
680
- * // Outline variant
681
- * <Badge variant="outline-sec-muted">Pending</Badge>
682
- *
683
- * // Soft variant with accent color
684
- * <Badge variant="soft-acc-strong">Featured</Badge>
685
- *
686
- * // Custom styling
687
- * <Badge variant="solid-main-normal" className="px-4">
688
- * Custom Badge
689
- * </Badge>
690
- * ```
691
- *
692
- * @accessibility
693
- * - Renders as semantic <span> element
694
- * - No focus styles (non-interactive by default)
695
- * - Screen reader friendly through semantic HTML
696
- * - Can be wrapped in interactive elements if needed
590
+ * Badge variant type
591
+ * Defines the visual style, color palette, and shade intensity of the badge.
592
+ * Format: {style}-{color}-{shade}
593
+ * - style: 'solid' | 'outline' | 'soft'
594
+ * - color: 'main' | 'sec' | 'acc'
595
+ * - shade: 'muted' | 'normal' | 'strong'
697
596
  */
698
-
699
597
  type BadgeVariant = 'solid-main-muted' | 'solid-main-normal' | 'solid-main-strong' | 'solid-sec-muted' | 'solid-sec-normal' | 'solid-sec-strong' | 'solid-acc-muted' | 'solid-acc-normal' | 'solid-acc-strong' | 'outline-main-muted' | 'outline-main-normal' | 'outline-main-strong' | 'outline-sec-muted' | 'outline-sec-normal' | 'outline-sec-strong' | 'outline-acc-muted' | 'outline-acc-normal' | 'outline-acc-strong' | 'soft-main-muted' | 'soft-main-normal' | 'soft-main-strong' | 'soft-sec-muted' | 'soft-sec-normal' | 'soft-sec-strong' | 'soft-acc-muted' | 'soft-acc-normal' | 'soft-acc-strong';
598
+ /**
599
+ * Badge component props
600
+ * Extends standard HTML span attributes with badge-specific styling options.
601
+ *
602
+ * @interface BadgeProps
603
+ */
700
604
  interface BadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
701
605
  /** Visual variant of the badge (style-color-shade) */
702
606
  variant?: BadgeVariant;
@@ -721,7 +625,12 @@ interface BadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
721
625
  * <Badge variant="soft-acc-strong">Featured</Badge>
722
626
  * ```
723
627
  */
724
- declare const Badge: React$1.ForwardRefExoticComponent<BadgeProps & React$1.RefAttributes<HTMLSpanElement>>;
628
+ declare function Badge({ className, variant, ref, ...props }: BadgeProps & {
629
+ ref?: React$1.Ref<HTMLSpanElement>;
630
+ }): react_jsx_runtime.JSX.Element;
631
+ declare namespace Badge {
632
+ var displayName: string;
633
+ }
725
634
 
726
635
  /**
727
636
  * @file Checkbox Component
@@ -746,10 +655,10 @@ declare const Badge: React$1.ForwardRefExoticComponent<BadgeProps & React$1.RefA
746
655
  * <Checkbox />
747
656
  *
748
657
  * // With label
749
- * <div className="flex items-center space-x-2">
658
+ * <>
750
659
  * <Checkbox id="terms" />
751
660
  * <label htmlFor="terms">Accept terms and conditions</label>
752
- * </div>
661
+ * </>
753
662
  *
754
663
  * // Disabled state
755
664
  * <Checkbox disabled />
@@ -798,7 +707,7 @@ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive
798
707
  * const [checked, setChecked] = React.useState(false);
799
708
  *
800
709
  * return (
801
- * <div className="flex items-center gap-2">
710
+ * <>
802
711
  * <Switch
803
712
  * checked={checked}
804
713
  * onCheckedChange={setChecked}
@@ -807,7 +716,7 @@ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive
807
716
  * <label htmlFor="notifications">
808
717
  * Enable notifications
809
718
  * </label>
810
- * </div>
719
+ * </>
811
720
  * );
812
721
  * }
813
722
  * ```
@@ -818,12 +727,12 @@ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive
818
727
  *
819
728
  * function FormExample() {
820
729
  * return (
821
- * <div className="flex items-center gap-2">
730
+ * <>
822
731
  * <Switch id="terms" />
823
732
  * <Label htmlFor="terms">
824
733
  * I agree to the terms and conditions
825
734
  * </Label>
826
- * </div>
735
+ * </>
827
736
  * );
828
737
  * }
829
738
  * ```
@@ -923,7 +832,7 @@ declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.Re
923
832
  * - Minimal DOM structure (native HTML element)
924
833
  *
925
834
  * @dependencies
926
- * - React 18+ - Hooks and refs
835
+ * - React 19+ - Hooks and refs
927
836
  * - Tailwind CSS - Styling
928
837
  */
929
838
 
@@ -1159,19 +1068,13 @@ declare const DialogTitle: React$1.ForwardRefExoticComponent<DialogTitleProps &
1159
1068
  declare const DialogDescription: React$1.ForwardRefExoticComponent<DialogDescriptionProps & React$1.RefAttributes<HTMLHeadingElement>>;
1160
1069
 
1161
1070
  /**
1162
- * @file Select Component - Refactored SOLID Implementation
1163
- * @package @jmruthers/pace-core
1164
- * @module Components/Select
1165
- * @since 0.4.0
1166
- *
1167
- * Refactored Select component following SOLID principles:
1168
- * - Single Responsibility: Each component has one clear purpose
1169
- * - Open/Closed: Easy to extend without modification
1170
- * - Liskov Substitution: Components can be substituted
1171
- * - Interface Segregation: Small, focused interfaces
1172
- * - Dependency Inversion: Depends on abstractions, not concretions
1071
+ * Direction for Select dropdown opening.
1072
+ * Controls whether the dropdown opens upward or downward.
1073
+ */
1074
+ type SelectDirection = "up" | "down";
1075
+ /**
1076
+ * Props for the useSelectState hook.
1173
1077
  */
1174
-
1175
1078
  interface UseSelectStateProps {
1176
1079
  value?: string;
1177
1080
  defaultValue?: string;
@@ -1182,19 +1085,31 @@ interface UseSelectStateProps {
1182
1085
  onValueChange?: (value: string) => void;
1183
1086
  onOpenChange?: (open: boolean) => void;
1184
1087
  }
1185
- interface SelectProps extends Omit<React$1.HTMLAttributes<HTMLFormElement>, 'onChange' | 'onKeyDown' | 'onFocus' | 'onBlur'> {
1088
+ /**
1089
+ * Props for the Select root component.
1090
+ */
1091
+ interface SelectProps extends Omit<React$1.HTMLAttributes<HTMLFormElement>, "onChange" | "onKeyDown" | "onFocus" | "onBlur"> {
1186
1092
  children: React$1.ReactNode;
1187
1093
  className?: string;
1188
- direction?: 'up' | 'down';
1094
+ direction?: SelectDirection;
1189
1095
  }
1190
- interface SelectTriggerProps extends Omit<ButtonProps, 'onClick' | 'onKeyDown'> {
1096
+ /**
1097
+ * Props for the SelectTrigger component.
1098
+ */
1099
+ interface SelectTriggerProps extends Omit<ButtonProps, "onClick" | "onKeyDown"> {
1191
1100
  children: React$1.ReactNode;
1192
1101
  asChild?: boolean;
1193
1102
  }
1103
+ /**
1104
+ * Props for the SelectValue component.
1105
+ */
1194
1106
  interface SelectValueProps {
1195
1107
  placeholder?: string;
1196
1108
  children?: React$1.ReactNode;
1197
1109
  }
1110
+ /**
1111
+ * Props for the SelectContent component.
1112
+ */
1198
1113
  interface SelectContentProps {
1199
1114
  children: React$1.ReactNode;
1200
1115
  className?: string;
@@ -1203,6 +1118,9 @@ interface SelectContentProps {
1203
1118
  maxHeight?: string;
1204
1119
  style?: React$1.CSSProperties;
1205
1120
  }
1121
+ /**
1122
+ * Props for the SelectItem component.
1123
+ */
1206
1124
  interface SelectItemProps {
1207
1125
  value: string;
1208
1126
  children: React$1.ReactNode;
@@ -1210,19 +1128,98 @@ interface SelectItemProps {
1210
1128
  className?: string;
1211
1129
  onClick?: (e: React$1.MouseEvent) => void;
1212
1130
  }
1131
+
1132
+ /**
1133
+ * @file Select Component - Refactored SOLID Implementation
1134
+ * @package @jmruthers/pace-core
1135
+ * @module Components/Select
1136
+ * @since 0.4.0
1137
+ *
1138
+ * Refactored Select component following SOLID principles:
1139
+ * - Single Responsibility: Each component has one clear purpose
1140
+ * - Open/Closed: Easy to extend without modification
1141
+ * - Liskov Substitution: Components can be substituted
1142
+ * - Interface Segregation: Small, focused interfaces
1143
+ * - Dependency Inversion: Depends on abstractions, not concretions
1144
+ */
1145
+
1146
+ /**
1147
+ * Select component root.
1148
+ * Provides select dropdown functionality with search, keyboard navigation, and accessibility.
1149
+ *
1150
+ * @param props - Select configuration
1151
+ * @param ref - Forwarded ref to the form element
1152
+ * @returns The rendered select component
1153
+ */
1213
1154
  declare const Select: React$1.ForwardRefExoticComponent<SelectProps & UseSelectStateProps & React$1.RefAttributes<HTMLFormElement>>;
1155
+ /**
1156
+ * Select trigger button component.
1157
+ * Opens/closes the select dropdown and displays the selected value.
1158
+ *
1159
+ * @param props - Select trigger configuration
1160
+ * @param ref - Forwarded ref to the button element
1161
+ * @returns The rendered select trigger
1162
+ */
1214
1163
  declare const SelectTrigger: React$1.ForwardRefExoticComponent<SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
1164
+ /**
1165
+ * Select value display component.
1166
+ * Shows the selected value or placeholder text.
1167
+ *
1168
+ * @param props - Select value configuration
1169
+ * @param ref - Forwarded ref to the span element
1170
+ * @returns The rendered select value display
1171
+ */
1215
1172
  declare const SelectValue: React$1.ForwardRefExoticComponent<SelectValueProps & React$1.RefAttributes<HTMLSpanElement>>;
1173
+ /**
1174
+ * Select content/dropdown component.
1175
+ * Contains the list of selectable options.
1176
+ *
1177
+ * @param props - Select content configuration
1178
+ * @param ref - Forwarded ref to the list element
1179
+ * @returns The rendered select content
1180
+ */
1216
1181
  declare const SelectContent: React$1.ForwardRefExoticComponent<SelectContentProps & React$1.RefAttributes<HTMLUListElement>>;
1182
+ /**
1183
+ * Select item component.
1184
+ * Represents a single selectable option in the dropdown.
1185
+ *
1186
+ * @param props - Select item configuration
1187
+ * @param ref - Forwarded ref to the list item element
1188
+ * @returns The rendered select item
1189
+ */
1217
1190
  declare const SelectItem: React$1.ForwardRefExoticComponent<SelectItemProps & React$1.RefAttributes<HTMLLIElement>>;
1191
+ /**
1192
+ * Select group component.
1193
+ * Groups related select items together.
1194
+ *
1195
+ * @param props - Select group configuration
1196
+ * @param ref - Forwarded ref to the div element
1197
+ * @returns The rendered select group
1198
+ */
1218
1199
  declare const SelectGroup: React$1.ForwardRefExoticComponent<{
1219
1200
  children: React$1.ReactNode;
1220
1201
  className?: string;
1221
1202
  } & React$1.RefAttributes<HTMLDivElement>>;
1203
+ /**
1204
+ * Select label component.
1205
+ * Provides a label for a group of select items.
1206
+ *
1207
+ * @param props - Select label configuration
1208
+ * @param ref - Forwarded ref to the div element
1209
+ * @returns The rendered select label
1210
+ */
1222
1211
  declare const SelectLabel: React$1.ForwardRefExoticComponent<{
1223
1212
  children: React$1.ReactNode;
1224
1213
  className?: string;
1225
1214
  } & React$1.RefAttributes<HTMLDivElement>>;
1215
+ /**
1216
+ * Select separator component.
1217
+ * Provides visual separation between groups of select items.
1218
+ *
1219
+ * @param props - Select separator configuration
1220
+ * @param ref - Forwarded ref to the div element
1221
+ * @returns The rendered select separator
1222
+ */
1226
1223
  declare const SelectSeparator: React$1.ForwardRefExoticComponent<{
1227
1224
  className?: string;
1228
1225
  } & React$1.RefAttributes<HTMLDivElement>>;
@@ -1350,7 +1347,7 @@ interface TabsContentProps extends React$1.ComponentPropsWithoutRef<typeof TabsP
1350
1347
  * @example
1351
1348
  * ```tsx
1352
1349
  * <TabsContent value="tab1">
1353
- * <div>Content for tab 1</div>
1350
+ * <section>Content for tab 1</section>
1354
1351
  * </TabsContent>
1355
1352
  * ```
1356
1353
  */
@@ -1413,6 +1410,10 @@ declare const TabsContent: React$1.ForwardRefExoticComponent<TabsContentProps &
1413
1410
  * - Date announcements
1414
1411
  */
1415
1412
 
1413
+ /**
1414
+ * Props for the Calendar component.
1415
+ * Extends DayPickerProps with pace-core specific customizations.
1416
+ */
1416
1417
  interface CalendarProps extends Omit<DayPickerProps, 'className' | 'classNames' | 'styles' | 'onSelect'> {
1417
1418
  /**
1418
1419
  * Additional CSS classes to apply to the calendar table
@@ -1581,6 +1582,10 @@ declare const ToastTitle: React$1.ForwardRefExoticComponent<Omit<ToastPrimitives
1581
1582
  declare const ToastDescription: React$1.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastDescriptionProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
1582
1583
  interface ToastProps extends React$1.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> {
1583
1584
  }
1585
+ /**
1586
+ * Type for toast action elements.
1587
+ * Represents a React element that can be used as a toast action button.
1588
+ */
1584
1589
  interface ToastActionElement extends React$1.ReactElement<typeof ToastAction> {
1585
1590
  }
1586
1591
  /**
@@ -1642,10 +1647,10 @@ declare function Toaster(): react_jsx_runtime.JSX.Element;
1642
1647
  * <Button>Advanced Tooltip</Button>
1643
1648
  * </TooltipTrigger>
1644
1649
  * <TooltipContent side="top" className="bg-main-500 text-main-50">
1645
- * <div className="space-y-1">
1650
+ * <section className="space-y-1">
1646
1651
  * <p className="font-semibold">Advanced Tooltip</p>
1647
1652
  * <p className="text-xs">With custom styling</p>
1648
- * </div>
1653
+ * </section>
1649
1654
  * </TooltipContent>
1650
1655
  * </TooltipRoot>
1651
1656
  * </TooltipProvider>
@@ -1673,7 +1678,7 @@ declare function Toaster(): react_jsx_runtime.JSX.Element;
1673
1678
  *
1674
1679
  * @dependencies
1675
1680
  * - @radix-ui/react-tooltip - Core tooltip functionality
1676
- * - React 18+ - Hooks and refs
1681
+ * - React 19+ - Hooks and refs
1677
1682
  * - Tailwind CSS - Styling and animations
1678
1683
  */
1679
1684
 
@@ -1829,7 +1834,7 @@ interface FormFieldProps<TFieldValues extends FieldValues = FieldValues, TName e
1829
1834
  field: ControllerRenderProps<TFieldValues, TName>;
1830
1835
  fieldState: ControllerFieldState;
1831
1836
  formState: UseFormStateReturn<TFieldValues>;
1832
- }) => React__default.ReactElement;
1837
+ }) => React__default.ReactElement<any>;
1833
1838
  /**
1834
1839
  * Test ID
1835
1840
  */
@@ -1999,7 +2004,7 @@ declare function FormField<TFieldValues extends FieldValues = FieldValues, TName
1999
2004
  * - Minimal re-renders
2000
2005
  *
2001
2006
  * @dependencies
2002
- * - React 18+ - Hooks and memo
2007
+ * - React 19+ - Hooks and memo
2003
2008
  * - Button component
2004
2009
  * - Input component
2005
2010
  * - Label component
@@ -2008,6 +2013,10 @@ declare function FormField<TFieldValues extends FieldValues = FieldValues, TName
2008
2013
  * - Tailwind CSS - Styling
2009
2014
  */
2010
2015
 
2016
+ /**
2017
+ * Props for the LoginForm component.
2018
+ * Configures login form behavior, validation, and callbacks.
2019
+ */
2011
2020
  interface LoginFormProps {
2012
2021
  /** Callback invoked when the form is submitted */
2013
2022
  onSignIn: (data: {
@@ -2053,6 +2062,57 @@ interface LoginFormProps {
2053
2062
  */
2054
2063
  declare const LoginForm: React__default.NamedExoticComponent<LoginFormProps>;
2055
2064
 
2065
+ /**
2066
+ * Navigation mode type
2067
+ */
2068
+ type NavigationMode = "dropdown" | "hierarchical";
2069
+ /**
2070
+ * Navigation item metadata
2071
+ */
2072
+ interface NavigationItemMeta {
2073
+ hidden?: boolean;
2074
+ [key: string]: unknown;
2075
+ }
2076
+ /**
2077
+ * Navigation item interface
2078
+ */
2079
+ interface NavigationItem {
2080
+ id: string;
2081
+ label: string;
2082
+ href?: string;
2083
+ icon?: string;
2084
+ children?: NavigationItem[];
2085
+ permissions?: (Permission | string)[];
2086
+ roles?: string[];
2087
+ accessLevel?: AccessLevel | string;
2088
+ meta?: NavigationItemMeta;
2089
+ pageId?: string;
2090
+ }
2091
+ /**
2092
+ * Navigation menu component props
2093
+ */
2094
+ interface NavigationMenuProps extends React$1.HTMLAttributes<HTMLDivElement> {
2095
+ items: NavigationItem[];
2096
+ mode?: NavigationMode;
2097
+ currentPath?: string;
2098
+ onNavigate?: (item: NavigationItem) => void;
2099
+ className?: string;
2100
+ disabled?: boolean;
2101
+ buttonText?: string;
2102
+ showIcons?: boolean;
2103
+ navigationLabel?: string;
2104
+ strictMode?: boolean;
2105
+ auditLog?: boolean;
2106
+ onNavigationAccessDenied?: (item: NavigationItem) => void;
2107
+ onStrictModeViolation?: (item: NavigationItem, reason: string) => void;
2108
+ /**
2109
+ * If true, indicates that items have already been filtered by the parent component (e.g., PaceAppLayout).
2110
+ * When true, NavigationMenu will skip expensive permission checks and trust the provided items.
2111
+ * This significantly improves performance when items are pre-filtered.
2112
+ */
2113
+ itemsPreFiltered?: boolean;
2114
+ }
2115
+
2056
2116
  /**
2057
2117
  * @file Unified Navigation Menu Component
2058
2118
  * @package @jmruthers/pace-core
@@ -2239,63 +2299,13 @@ declare const LoginForm: React__default.NamedExoticComponent<LoginFormProps>;
2239
2299
  * - Responsive design considerations
2240
2300
  *
2241
2301
  * @dependencies
2242
- * - React 18+ - Component framework and hooks
2302
+ * - React 19+ - Component framework and hooks
2243
2303
  * - Lucide React - Icon components
2244
2304
  * - Radix UI - Dropdown menu primitives
2245
2305
  * - React Router (optional) - For navigation handling
2246
2306
  * - Tailwind CSS - Styling system
2247
2307
  */
2248
2308
 
2249
- /**
2250
- * Navigation mode type
2251
- */
2252
- type NavigationMode = 'dropdown' | 'hierarchical';
2253
- /**
2254
- * Navigation item metadata
2255
- */
2256
- interface NavigationItemMeta {
2257
- hidden?: boolean;
2258
- [key: string]: unknown;
2259
- }
2260
- /**
2261
- * Navigation item interface
2262
- */
2263
- interface NavigationItem {
2264
- id: string;
2265
- label: string;
2266
- href?: string;
2267
- icon?: string;
2268
- children?: NavigationItem[];
2269
- permissions?: (Permission | string)[];
2270
- roles?: string[];
2271
- accessLevel?: AccessLevel | string;
2272
- meta?: NavigationItemMeta;
2273
- pageId?: string;
2274
- }
2275
- /**
2276
- * Navigation menu component props
2277
- */
2278
- interface NavigationMenuProps extends React$1.HTMLAttributes<HTMLDivElement> {
2279
- items: NavigationItem[];
2280
- mode?: NavigationMode;
2281
- currentPath?: string;
2282
- onNavigate?: (item: NavigationItem) => void;
2283
- className?: string;
2284
- disabled?: boolean;
2285
- buttonText?: string;
2286
- showIcons?: boolean;
2287
- navigationLabel?: string;
2288
- strictMode?: boolean;
2289
- auditLog?: boolean;
2290
- onNavigationAccessDenied?: (item: NavigationItem) => void;
2291
- onStrictModeViolation?: (item: NavigationItem, reason: string) => void;
2292
- /**
2293
- * If true, indicates that items have already been filtered by the parent component (e.g., PaceAppLayout).
2294
- * When true, NavigationMenu will skip expensive permission checks and trust the provided items.
2295
- * This significantly improves performance when items are pre-filtered.
2296
- */
2297
- itemsPreFiltered?: boolean;
2298
- }
2299
2309
  /**
2300
2310
  * Unified NavigationMenu component that supports both dropdown and hierarchical navigation modes.
2301
2311
  *
@@ -2581,20 +2591,29 @@ declare const NavigationMenu: React$1.ForwardRefExoticComponent<NavigationMenuPr
2581
2591
  * - Proper error handling
2582
2592
  *
2583
2593
  * @dependencies
2584
- * - React 18+ - Hooks and state
2594
+ * - React 19+ - Hooks and state
2585
2595
  * - Button component
2586
2596
  * - Input component
2587
2597
  * - Label component
2588
2598
  * - Tailwind CSS - Styling
2589
2599
  */
2600
+ /**
2601
+ * Form values for password change.
2602
+ */
2590
2603
  interface PasswordChangeFormValues {
2591
2604
  newPassword: string;
2592
2605
  confirmPassword: string;
2593
2606
  }
2607
+ /**
2608
+ * Error structure for password change form.
2609
+ */
2594
2610
  interface PasswordChangeFormError {
2595
2611
  message?: string;
2596
2612
  code?: string;
2597
2613
  }
2614
+ /**
2615
+ * Props for the PasswordChangeForm component.
2616
+ */
2598
2617
  interface PasswordChangeFormProps {
2599
2618
  onSubmit: (values: PasswordChangeFormValues) => Promise<{
2600
2619
  error?: PasswordChangeFormError;
@@ -2704,10 +2723,10 @@ interface HeaderProps {
2704
2723
  *
2705
2724
  * function HeaderWithActions() {
2706
2725
  * const customActions = (
2707
- * <div className="flex items-center gap-2">
2726
+ * <>
2708
2727
  * <Button variant="outline" size="sm">Export</Button>
2709
2728
  * <Button size="sm">New Item</Button>
2710
- * </div>
2729
+ * </>
2711
2730
  * );
2712
2731
  *
2713
2732
  * return (
@@ -2743,6 +2762,13 @@ interface HeaderProps {
2743
2762
  *
2744
2763
  * @since 0.1.0
2745
2764
  */
2765
+ /**
2766
+ * Header component for application layouts.
2767
+ * Provides navigation, user menu, organisation/event selectors, and customizable branding.
2768
+ *
2769
+ * @param props - Header configuration
2770
+ * @returns The rendered header
2771
+ */
2746
2772
  declare function Header({ logoUrl, logoAlt, logo, navItems, user, onSignOut, onChangePassword, actions, userMenu, className, showEventSelector, showOrgSelector, showUserMenu, currentPath, onNavigate, logoHref }: HeaderProps): react_jsx_runtime.JSX.Element;
2747
2773
 
2748
2774
  /**
@@ -2794,28 +2820,28 @@ declare function Header({ logoUrl, logoAlt, logo, navItems, user, onSignOut, onC
2794
2820
  *
2795
2821
  * // Footer with custom content
2796
2822
  * <Footer companyName="My Company">
2797
- * <div className="grid grid-cols-1 md:grid-cols-3 gap-8 mb-8">
2798
- * <div>
2823
+ * <section className="grid grid-cols-1 md:grid-cols-3 gap-8 mb-8">
2824
+ * <section>
2799
2825
  * <h3 className="font-semibold mb-2">About Us</h3>
2800
2826
  * <p className="text-sm text-muted-foreground">
2801
2827
  * We provide innovative solutions for modern businesses.
2802
2828
  * </p>
2803
- * </div>
2804
- * <div>
2829
+ * </section>
2830
+ * <section>
2805
2831
  * <h3 className="font-semibold mb-2">Contact</h3>
2806
2832
  * <p className="text-sm text-muted-foreground">
2807
2833
  * Email: info@mycompany.com<br />
2808
2834
  * Phone: (555) 123-4567
2809
2835
  * </p>
2810
- * </div>
2811
- * <div>
2836
+ * </section>
2837
+ * <section>
2812
2838
  * <h3 className="font-semibold mb-2">Follow Us</h3>
2813
- * <div className="flex gap-2">
2839
+ * <nav className="flex gap-2">
2814
2840
  * <a href="#" className="text-muted-foreground hover:text-foreground">Twitter</a>
2815
2841
  * <a href="#" className="text-muted-foreground hover:text-foreground">LinkedIn</a>
2816
- * </div>
2817
- * </div>
2818
- * </div>
2842
+ * </nav>
2843
+ * </section>
2844
+ * </section>
2819
2845
  * </Footer>
2820
2846
  * ```
2821
2847
  *
@@ -2828,10 +2854,13 @@ declare function Header({ logoUrl, logoAlt, logo, navItems, user, onSignOut, onC
2828
2854
  * - Clear link identification
2829
2855
  *
2830
2856
  * @dependencies
2831
- * - React 18+ - Component framework
2857
+ * - React 19+ - Component framework
2832
2858
  * - Tailwind CSS - Styling
2833
2859
  */
2834
2860
 
2861
+ /**
2862
+ * Props for the Footer component.
2863
+ */
2835
2864
  interface FooterProps {
2836
2865
  /**
2837
2866
  * Company or organization name
@@ -2930,7 +2959,7 @@ declare const Footer: React__default.NamedExoticComponent<FooterProps>;
2930
2959
  *
2931
2960
  * // User menu in header
2932
2961
  * <Header>
2933
- * <div className="flex items-center gap-4">
2962
+ * <nav className="flex items-center gap-4">
2934
2963
  * <Navigation />
2935
2964
  * <UserMenu
2936
2965
  * user={user}
@@ -2938,7 +2967,7 @@ declare const Footer: React__default.NamedExoticComponent<FooterProps>;
2938
2967
  * onChangePassword={handlePasswordChange}
2939
2968
  * className="ml-auto"
2940
2969
  * />
2941
- * </div>
2970
+ * </nav>
2942
2971
  * </Header>
2943
2972
  * ```
2944
2973
  *
@@ -2960,7 +2989,7 @@ declare const Footer: React__default.NamedExoticComponent<FooterProps>;
2960
2989
  * - Optimized avatar rendering
2961
2990
  *
2962
2991
  * @dependencies
2963
- * - React 18+ - Hooks and memo
2992
+ * - React 19+ - Hooks and memo
2964
2993
  * - @supabase/supabase-js - User type
2965
2994
  * - lucide-react - Icons
2966
2995
  * - DropdownMenu components
@@ -2971,6 +3000,9 @@ declare const Footer: React__default.NamedExoticComponent<FooterProps>;
2971
3000
  * - Tailwind CSS - Styling
2972
3001
  */
2973
3002
 
3003
+ /**
3004
+ * Props for the UserMenu component.
3005
+ */
2974
3006
  interface UserMenuProps {
2975
3007
  user: User | null;
2976
3008
  onSignOut?: () => Promise<void>;
@@ -2983,6 +3015,10 @@ interface UserMenuProps {
2983
3015
  declare const UserMenu: React__default.NamedExoticComponent<UserMenuProps>;
2984
3016
 
2985
3017
  type Operation = 'read' | 'create' | 'update' | 'delete' | 'manage';
3018
+ /**
3019
+ * Props for the PaceAppLayout component.
3020
+ * Configures the application layout including navigation, header, and footer.
3021
+ */
2986
3022
  interface PaceAppLayoutProps {
2987
3023
  /** The name of the application to be displayed in the header. */
2988
3024
  appName: string;
@@ -3314,7 +3350,7 @@ declare function PaceAppLayout({ appName, navItems, showEventSelector, showOrgSe
3314
3350
  * - Automatic redirect prevention loops
3315
3351
  *
3316
3352
  * @dependencies
3317
- * - React 18+ - Hooks and effects
3353
+ * - React 19+ - Hooks and effects
3318
3354
  * - React Router v6 - Navigation
3319
3355
  * - UnifiedAuthProvider - Authentication
3320
3356
  * - LoginForm component
@@ -3324,6 +3360,9 @@ declare function PaceAppLayout({ appName, navItems, showEventSelector, showOrgSe
3324
3360
  * - Tailwind CSS - Styling
3325
3361
  */
3326
3362
 
3363
+ /**
3364
+ * Props for the PaceLoginPage component.
3365
+ */
3327
3366
  interface PaceLoginPageProps {
3328
3367
  /** The name of the application to be displayed on the login form. */
3329
3368
  appName: string;
@@ -3358,6 +3397,9 @@ interface PaceLoginPageProps {
3358
3397
  */
3359
3398
  declare const PaceLoginPage: React__default.FC<PaceLoginPageProps>;
3360
3399
 
3400
+ /**
3401
+ * Props for the ProtectedRoute component.
3402
+ */
3361
3403
  interface ProtectedRouteProps {
3362
3404
  /**
3363
3405
  * Whether an event is required for routes inside this component.
@@ -3366,13 +3408,6 @@ interface ProtectedRouteProps {
3366
3408
  * @default true
3367
3409
  */
3368
3410
  requireEvent?: boolean;
3369
- /**
3370
- * Whether super admins can bypass event requirement.
3371
- * Note: This feature requires additional RBAC setup. For simple bypass, set requireEvent={false} instead.
3372
- * @default false
3373
- * @deprecated Use requireEvent={false} for routes that don't need events
3374
- */
3375
- allowSuperAdminBypass?: boolean;
3376
3411
  /**
3377
3412
  * Custom component to render when no events are available.
3378
3413
  * If not provided, a default message is shown.
@@ -3405,7 +3440,7 @@ interface ProtectedRouteProps {
3405
3440
  * @param props - Configuration for route protection
3406
3441
  * @returns React element with route protection logic
3407
3442
  */
3408
- declare function ProtectedRoute({ requireEvent, allowSuperAdminBypass, noEventsFallback, loadingFallback, loginPath }: ProtectedRouteProps): string | number | true | Iterable<React__default.ReactNode> | react_jsx_runtime.JSX.Element;
3443
+ declare function ProtectedRoute({ requireEvent, noEventsFallback, loadingFallback, loginPath }: ProtectedRouteProps): string | number | bigint | true | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element;
3409
3444
 
3410
3445
  /**
3411
3446
  * State interface for the ErrorBoundary component
@@ -3442,6 +3477,8 @@ interface ErrorBoundaryProps {
3442
3477
  enableRetry?: boolean;
3443
3478
  /** Whether to enable error reporting */
3444
3479
  enableReporting?: boolean;
3480
+ /** Internal: Global error handler from context (not part of public API) */
3481
+ _globalErrorHandler?: (error: Error, errorInfo: React__default.ErrorInfo, errorId: string, componentName: string) => void;
3445
3482
  }
3446
3483
  /**
3447
3484
  * ErrorBoundary component
@@ -3460,7 +3497,7 @@ interface ErrorBoundaryProps {
3460
3497
  * </ErrorBoundary>
3461
3498
  * ```
3462
3499
  */
3463
- declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
3500
+ declare class ErrorBoundary$1 extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
3464
3501
  private retryTimeoutId;
3465
3502
  constructor(props: ErrorBoundaryProps);
3466
3503
  static getDerivedStateFromError(error: Error): Partial<ErrorBoundaryState>;
@@ -3468,8 +3505,67 @@ declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryS
3468
3505
  private reportError;
3469
3506
  private handleRetry;
3470
3507
  componentWillUnmount(): void;
3471
- render(): string | number | boolean | Iterable<React__default.ReactNode> | react_jsx_runtime.JSX.Element | null | undefined;
3508
+ render(): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
3509
+ }
3510
+
3511
+ /**
3512
+ * Type definition for the global error handler function
3513
+ * @public
3514
+ */
3515
+ type GlobalErrorHandler = (error: Error, errorInfo: React__default.ErrorInfo, errorId: string, componentName: string) => void;
3516
+ /**
3517
+ * Props for ErrorBoundaryProvider component
3518
+ * @public
3519
+ */
3520
+ interface ErrorBoundaryProviderProps {
3521
+ /** Children to wrap with the provider */
3522
+ children: ReactNode;
3523
+ /** Global error handler that will be used by all ErrorBoundary instances unless overridden */
3524
+ defaultErrorHandler?: GlobalErrorHandler;
3472
3525
  }
3526
+ /**
3527
+ * Provider component for ErrorBoundary global error handler configuration
3528
+ *
3529
+ * Wrap your application with this provider to set a default error handler that will
3530
+ * be used by all ErrorBoundary instances unless they provide their own onError prop.
3531
+ *
3532
+ * @example
3533
+ * ```tsx
3534
+ * <ErrorBoundaryProvider
3535
+ * defaultErrorHandler={(error, errorInfo, errorId, componentName) => {
3536
+ * errorTracking.captureException(error, {
3537
+ * componentStack: errorInfo.componentStack,
3538
+ * errorBoundary: true,
3539
+ * errorId,
3540
+ * componentName,
3541
+ * });
3542
+ * }}
3543
+ * >
3544
+ * <App />
3545
+ * </ErrorBoundaryProvider>
3546
+ * ```
3547
+ *
3548
+ * @public
3549
+ */
3550
+ /**
3551
+ * Error boundary provider component.
3552
+ * Provides global error handling configuration to child ErrorBoundary components.
3553
+ *
3554
+ * @param props - Error boundary provider configuration
3555
+ * @returns The error boundary provider
3556
+ */
3557
+ declare function ErrorBoundaryProvider({ children, defaultErrorHandler, }: ErrorBoundaryProviderProps): react_jsx_runtime.JSX.Element;
3558
+
3559
+ /**
3560
+ * @file Error Boundary exports
3561
+ */
3562
+
3563
+ /**
3564
+ * ErrorBoundary component with automatic context support
3565
+ * This wrapper automatically uses the global error handler from ErrorBoundaryProvider
3566
+ * if no onError prop is provided.
3567
+ */
3568
+ declare const ErrorBoundary: React__default.ForwardRefExoticComponent<Omit<ErrorBoundaryProps, "_globalErrorHandler"> & React__default.RefAttributes<ErrorBoundary$1>>;
3473
3569
 
3474
3570
  /**
3475
3571
  * @file LoadingSpinner Component
@@ -3525,7 +3621,7 @@ declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryS
3525
3621
  * - Efficient rendering
3526
3622
  *
3527
3623
  * @dependencies
3528
- * - React 18+ - Component framework
3624
+ * - React 19+ - Component framework
3529
3625
  * - Tailwind CSS - Styling and animations
3530
3626
  */
3531
3627
 
@@ -3584,7 +3680,7 @@ declare const LoadingSpinner: React__default.FC<LoadingSpinnerProps>;
3584
3680
  * - High contrast support
3585
3681
  *
3586
3682
  * @dependencies
3587
- * - React 18+ - Component framework
3683
+ * - React 19+ - Component framework
3588
3684
  * - LoadingSpinner - Spinner component
3589
3685
  * - Tailwind CSS - Styling
3590
3686
  */
@@ -3597,6 +3693,9 @@ interface SessionRestorationLoaderProps {
3597
3693
  }
3598
3694
  declare const SessionRestorationLoader: React__default.FC<SessionRestorationLoaderProps>;
3599
3695
 
3696
+ /**
3697
+ * Props for the EventSelector component.
3698
+ */
3600
3699
  interface EventSelectorProps {
3601
3700
  /** Placeholder text for the dropdown */
3602
3701
  placeholder?: string;
@@ -3631,6 +3730,9 @@ interface EventSelectorProps {
3631
3730
  */
3632
3731
  declare function EventSelector({ placeholder, className, onEventChange, showNoEventsMessage, showRetryButton, showEventDetails, showNextEventIndicator }: EventSelectorProps): react_jsx_runtime.JSX.Element | null;
3633
3732
 
3733
+ /**
3734
+ * Props for the OrganisationSelector component.
3735
+ */
3634
3736
  interface OrganisationSelectorProps {
3635
3737
  /** Placeholder text for the dropdown */
3636
3738
  placeholder?: string;
@@ -3663,6 +3765,10 @@ interface OrganisationSelectorProps {
3663
3765
  */
3664
3766
  declare function OrganisationSelector({ placeholder, className, onOrganisationChange, showNoOrganisationsMessage, showRetryButton, showRole, compact, disabled }: OrganisationSelectorProps): react_jsx_runtime.JSX.Element | null;
3665
3767
 
3768
+ /**
3769
+ * Props for the FileUpload component.
3770
+ * Configures file upload behavior including storage location, validation, and callbacks.
3771
+ */
3666
3772
  interface FileUploadProps {
3667
3773
  supabase: SupabaseClient;
3668
3774
  table_name: string;
@@ -3752,8 +3858,22 @@ interface FileDisplayProps {
3752
3858
  * @param props.category - Optional category filter. When specified, only displays files matching this category and uses single file display variant.
3753
3859
  * @returns React element with file display
3754
3860
  */
3861
+ /**
3862
+ * File display component.
3863
+ * Renders files from the file reference system with support for previews, downloads, and public/private access.
3864
+ *
3865
+ * @param props - File display configuration
3866
+ * @returns The rendered file display
3867
+ */
3755
3868
  declare function FileDisplay({ table_name, record_id, organisation_id, category, displayOnly, showDelete, className, imgClassName, children, loadingComponent, errorComponent, showFallback, generateFallbackText, fallbackText, fallbackSourceText, fallbackSize, enableChildren, showMetadata }: FileDisplayProps): react_jsx_runtime.JSX.Element;
3756
3869
 
3870
+ /**
3871
+ * Hook for managing file references.
3872
+ * Provides file upload, retrieval, and URL generation functionality.
3873
+ *
3874
+ * @param supabase - Supabase client instance
3875
+ * @returns File reference service with upload, get, and URL methods
3876
+ */
3757
3877
  declare function useFileReference(supabase: SupabaseClient): {
3758
3878
  isLoading: boolean;
3759
3879
  error: string | null;
@@ -3820,6 +3940,9 @@ type UseFileReferenceOptions = {
3820
3940
  record_id: string;
3821
3941
  organisation_id: string;
3822
3942
  };
3943
+ /**
3944
+ * Return value of the useFileReference hook.
3945
+ */
3823
3946
  type UseFileReferenceReturn = {
3824
3947
  isLoading: boolean;
3825
3948
  error: string | null;
@@ -3833,6 +3956,9 @@ type UseFileReferenceReturn = {
3833
3956
  getFileCount: (table_name: string, record_id: string, organisation_id: string) => Promise<number>;
3834
3957
  clearError: () => void;
3835
3958
  };
3959
+ /**
3960
+ * Return value of the useFileReferenceForRecord hook.
3961
+ */
3836
3962
  type UseFileReferenceForRecordReturn = {
3837
3963
  isLoading: boolean;
3838
3964
  error: string | null;
@@ -3936,7 +4062,7 @@ type UseFileReferenceForRecordReturn = {
3936
4062
  * - Caption for table description
3937
4063
  *
3938
4064
  * @dependencies
3939
- * - React 18+ - Hooks and refs
4065
+ * - React 19+ - Hooks and refs
3940
4066
  * - Tailwind CSS - Styling
3941
4067
  */
3942
4068
 
@@ -3980,8 +4106,6 @@ interface PublicPageLayoutProps {
3980
4106
  refetch?: () => Promise<void> | void;
3981
4107
  /** Whether to show the footer (default: true) */
3982
4108
  showFooter?: boolean;
3983
- /** @deprecated Custom CSS classes for the layout - no longer used as wrapper div was removed */
3984
- className?: string;
3985
4109
  /** Custom error fallback component */
3986
4110
  errorFallback?: React__default.ComponentType<{
3987
4111
  error: Error;
@@ -4053,7 +4177,7 @@ declare function PublicPageFooter({ event, companyName, year, links, className,
4053
4177
  * @param props - Layout configuration and content
4054
4178
  * @returns React element with complete public page layout
4055
4179
  */
4056
- declare function PublicPageLayout({ eventCode, children, event, isLoading, error, refetch, showFooter, className, errorFallback: ErrorFallback, loadingFallback: LoadingFallback, customHeader, customFooter, showValidationErrors, loadingMessage }: PublicPageLayoutProps): react_jsx_runtime.JSX.Element;
4180
+ declare function PublicPageLayout({ eventCode, children, event, isLoading, error, refetch, showFooter, errorFallback: ErrorFallback, loadingFallback: LoadingFallback, customHeader, customFooter, showValidationErrors, loadingMessage }: PublicPageLayoutProps): react_jsx_runtime.JSX.Element;
4057
4181
 
4058
4182
  interface PublicPageContextType {
4059
4183
  isPublicPage: true;
@@ -4093,4 +4217,4 @@ declare function usePublicPageContext(): PublicPageContextType;
4093
4217
  */
4094
4218
  declare function useIsPublicPage(): boolean;
4095
4219
 
4096
- export { type DialogTriggerProps as $, AddressField as A, Button as B, Card as C, TableHeader as D, TableBody as E, TableCaption as F, TableCell as G, TableFooter as H, Input as I, TableHead as J, TableRow as K, Label as L, Dialog as M, DialogPortal as N, DialogOverlay as O, Progress as P, DialogTrigger as Q, DialogClose as R, Switch as S, Textarea as T, DialogContent as U, DialogHeader as V, DialogBody as W, DialogFooter as X, DialogTitle as Y, DialogDescription as Z, type DialogProps as _, type ButtonProps as a, EventSelector as a$, type DialogContentProps as a0, type DialogOverlayProps as a1, type DialogHeaderProps as a2, type DialogFooterProps as a3, type DialogTitleProps as a4, type DialogDescriptionProps as a5, type DialogSize as a6, Select as a7, SelectGroup as a8, SelectValue as a9, TooltipTrigger as aA, TooltipContent as aB, TooltipProvider as aC, TooltipRoot as aD, Form as aE, FormField as aF, type FormProps as aG, type FormFieldProps as aH, LoginForm as aI, type LoginFormProps as aJ, Header as aK, Footer as aL, type FooterProps as aM, ProtectedRoute as aN, type ProtectedRouteProps as aO, NavigationMenu as aP, type NavigationMenuProps as aQ, type NavigationItem as aR, OrganisationSelector as aS, type OrganisationSelectorProps as aT, UserMenu as aU, ErrorBoundary as aV, type ErrorBoundaryProps as aW, type ErrorBoundaryState as aX, LoadingSpinner as aY, SessionRestorationLoader as aZ, type SessionRestorationLoaderProps as a_, SelectTrigger as aa, SelectContent as ab, SelectLabel as ac, SelectItem as ad, SelectSeparator as ae, Tabs as af, TabsList as ag, TabsTrigger as ah, TabsContent as ai, type TabsProps as aj, type TabsListProps as ak, type TabsTriggerProps as al, type TabsContentProps as am, Calendar as an, type CalendarProps as ao, Toast as ap, Toaster as aq, ToastAction as ar, ToastProvider as as, ToastViewport as at, ToastTitle as au, ToastDescription as av, ToastClose as aw, type ToastActionElement as ax, type ToastProps as ay, Tooltip as az, CardHeader as b, FileUpload as b0, type FileUploadProps as b1, FileDisplay as b2, type FileDisplayProps as b3, useFileReference as b4, useFileReferenceForRecord as b5, useFileReferenceById as b6, useFilesByCategory as b7, type UseFileReferenceOptions as b8, type UseFileReferenceReturn as b9, type UseFileReferenceForRecordReturn as ba, PublicPageLayout as bb, PublicPageHeader as bc, PublicPageFooter as bd, PublicPageProvider as be, usePublicPageContext as bf, useIsPublicPage as bg, type PublicPageLayoutProps as bh, type PublicPageHeaderProps as bi, type PublicPageFooterProps as bj, type PaceAppLayoutProps as bk, PaceAppLayout as bl, type PaceLoginPageProps as bm, PaceLoginPage as bn, type NavigationMode as bo, type UserMenuProps as bp, PasswordChangeForm as bq, CardFooter as c, CardTitle as d, CardDescription as e, CardContent as f, CardActions as g, type CardProps as h, type CardActionsProps as i, type InputProps as j, type AddressFieldProps as k, type AddressFieldRef as l, type LabelProps as m, type TextareaProps as n, Alert as o, AlertTitle as p, AlertDescription as q, Avatar as r, type AvatarProps as s, Badge as t, type BadgeProps as u, type BadgeVariant as v, Checkbox as w, type SwitchProps as x, type ProgressProps as y, Table as z };
4220
+ export { type DialogTriggerProps as $, AddressField as A, Button as B, Card as C, TableHeader as D, TableBody as E, TableCaption as F, TableCell as G, TableFooter as H, Input as I, TableHead as J, TableRow as K, Label as L, Dialog as M, DialogPortal as N, DialogOverlay as O, Progress as P, DialogTrigger as Q, DialogClose as R, Switch as S, Textarea as T, DialogContent as U, DialogHeader as V, DialogBody as W, DialogFooter as X, DialogTitle as Y, DialogDescription as Z, type DialogProps as _, type ButtonProps as a, LoadingSpinner as a$, type DialogContentProps as a0, type DialogOverlayProps as a1, type DialogHeaderProps as a2, type DialogFooterProps as a3, type DialogTitleProps as a4, type DialogDescriptionProps as a5, type DialogSize as a6, Select as a7, SelectGroup as a8, SelectValue as a9, TooltipTrigger as aA, TooltipContent as aB, TooltipProvider as aC, TooltipRoot as aD, Form as aE, FormField as aF, type FormProps as aG, type FormFieldProps as aH, LoginForm as aI, type LoginFormProps as aJ, Header as aK, Footer as aL, type FooterProps as aM, ProtectedRoute as aN, type ProtectedRouteProps as aO, NavigationMenu as aP, type NavigationMenuProps as aQ, type NavigationItem as aR, OrganisationSelector as aS, type OrganisationSelectorProps as aT, UserMenu as aU, ErrorBoundary as aV, ErrorBoundaryProvider as aW, type ErrorBoundaryProps as aX, type ErrorBoundaryState as aY, type ErrorBoundaryProviderProps as aZ, type GlobalErrorHandler as a_, SelectTrigger as aa, SelectContent as ab, SelectLabel as ac, SelectItem as ad, SelectSeparator as ae, Tabs as af, TabsList as ag, TabsTrigger as ah, TabsContent as ai, type TabsProps as aj, type TabsListProps as ak, type TabsTriggerProps as al, type TabsContentProps as am, Calendar as an, type CalendarProps as ao, Toast as ap, Toaster as aq, ToastAction as ar, ToastProvider as as, ToastViewport as at, ToastTitle as au, ToastDescription as av, ToastClose as aw, type ToastActionElement as ax, type ToastProps as ay, Tooltip as az, CardHeader as b, SessionRestorationLoader as b0, type SessionRestorationLoaderProps as b1, EventSelector as b2, FileUpload as b3, type FileUploadProps as b4, FileDisplay as b5, type FileDisplayProps as b6, useFileReference as b7, useFileReferenceForRecord as b8, useFileReferenceById as b9, useFilesByCategory as ba, type UseFileReferenceOptions as bb, type UseFileReferenceReturn as bc, type UseFileReferenceForRecordReturn as bd, PublicPageLayout as be, PublicPageHeader as bf, PublicPageFooter as bg, PublicPageProvider as bh, usePublicPageContext as bi, useIsPublicPage as bj, type PublicPageLayoutProps as bk, type PublicPageHeaderProps as bl, type PublicPageFooterProps as bm, type PaceAppLayoutProps as bn, PaceAppLayout as bo, type PaceLoginPageProps as bp, PaceLoginPage as bq, type NavigationMode as br, type UserMenuProps as bs, PasswordChangeForm as bt, CardFooter as c, CardTitle as d, CardDescription as e, CardContent as f, CardActions as g, type CardProps as h, type CardActionsProps as i, type InputProps as j, type AddressFieldProps as k, type AddressFieldRef as l, type LabelProps as m, type TextareaProps as n, Alert as o, AlertTitle as p, AlertDescription as q, Avatar as r, type AvatarProps as s, Badge as t, type BadgeProps as u, type BadgeVariant as v, Checkbox as w, type SwitchProps as x, type ProgressProps as y, Table as z };