@jmruthers/pace-core 0.5.119 → 0.5.121

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 (154) hide show
  1. package/dist/{DataTable-BQYGKVHR.js → DataTable-DGZDJUYM.js} +3 -3
  2. package/dist/chunk-BDZUMRBD.js 3.map +1 -0
  3. package/dist/chunk-CGURJ27Z.js 2.map +1 -0
  4. package/dist/{chunk-2GJ5GL77.js → chunk-GKHF54DI 2.js } +2 -2
  5. package/dist/chunk-GKHF54DI.js +619 -0
  6. package/dist/chunk-GKHF54DI.js 2.map +1 -0
  7. package/dist/chunk-GKHF54DI.js.map +1 -0
  8. package/dist/{chunk-NP5VABFV.js → chunk-HFBOFZ3Z.js} +2 -15
  9. package/dist/chunk-HFBOFZ3Z.js.map +1 -0
  10. package/dist/chunk-NZ32EONV.js 2.map +1 -0
  11. package/dist/chunk-O3NWNXDY 2.js +76 -0
  12. package/dist/{chunk-F7COHU5B.js → chunk-QPI2CCBA.js} +3 -3
  13. package/dist/chunk-QPI2CCBA.js.map +1 -0
  14. package/dist/chunk-TDNI6ZWL.js 2.map +1 -0
  15. package/dist/chunk-VKOCWWVY.js 3.map +1 -0
  16. package/dist/chunk-WP5I5GLN 2.js +1564 -0
  17. package/dist/components.d.ts +1 -1
  18. package/dist/components.js +3 -3
  19. package/dist/hooks.d.ts +1 -1
  20. package/dist/hooks.js +1 -1
  21. package/dist/index 3.js +856 -0
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.js +3 -3
  24. package/dist/providers 3.js +38 -0
  25. package/dist/providers.js 3.map +1 -0
  26. package/dist/types 3.js +128 -0
  27. package/dist/types.js 3.map +1 -0
  28. package/dist/useInactivityTracker-MRUU55XI.js 3.map +1 -0
  29. package/dist/{useToast-Cs_g32bg.d.ts → useToast-C8gR5ir4.d.ts} +2 -2
  30. package/dist/utils.js +1 -1
  31. package/dist/utils.js 3.map +1 -0
  32. package/dist/validation 3.js +479 -0
  33. package/docs/api/classes/ColumnFactory.md +1 -1
  34. package/docs/api/classes/ErrorBoundary.md +1 -1
  35. package/docs/api/classes/InvalidScopeError.md +1 -1
  36. package/docs/api/classes/MissingUserContextError.md +1 -1
  37. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  38. package/docs/api/classes/PermissionDeniedError.md +1 -1
  39. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  40. package/docs/api/classes/RBACAuditManager.md +1 -1
  41. package/docs/api/classes/RBACCache.md +1 -1
  42. package/docs/api/classes/RBACEngine.md +1 -1
  43. package/docs/api/classes/RBACError.md +1 -1
  44. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  45. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  46. package/docs/api/classes/StorageUtils.md +1 -1
  47. package/docs/api/enums/FileCategory.md +1 -1
  48. package/docs/api/interfaces/AggregateConfig.md +1 -1
  49. package/docs/api/interfaces/ButtonProps.md +1 -1
  50. package/docs/api/interfaces/CardProps.md +1 -1
  51. package/docs/api/interfaces/ColorPalette.md +1 -1
  52. package/docs/api/interfaces/ColorShade.md +1 -1
  53. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  54. package/docs/api/interfaces/DataRecord.md +1 -1
  55. package/docs/api/interfaces/DataTableAction.md +1 -1
  56. package/docs/api/interfaces/DataTableColumn.md +1 -1
  57. package/docs/api/interfaces/DataTableProps.md +1 -1
  58. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  59. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  60. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  61. package/docs/api/interfaces/EventAppRoleData.md +1 -1
  62. package/docs/api/interfaces/FileDisplayProps.md +1 -1
  63. package/docs/api/interfaces/FileMetadata.md +1 -1
  64. package/docs/api/interfaces/FileReference.md +1 -1
  65. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  66. package/docs/api/interfaces/FileUploadOptions.md +1 -1
  67. package/docs/api/interfaces/FileUploadProps.md +1 -1
  68. package/docs/api/interfaces/FooterProps.md +1 -1
  69. package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
  70. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  71. package/docs/api/interfaces/InputProps.md +1 -1
  72. package/docs/api/interfaces/LabelProps.md +1 -1
  73. package/docs/api/interfaces/LoginFormProps.md +1 -1
  74. package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
  75. package/docs/api/interfaces/NavigationContextType.md +1 -1
  76. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  77. package/docs/api/interfaces/NavigationItem.md +1 -1
  78. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  79. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  80. package/docs/api/interfaces/Organisation.md +1 -1
  81. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  82. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  83. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  84. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  85. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  86. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  87. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  88. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  89. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  90. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  91. package/docs/api/interfaces/PaletteData.md +1 -1
  92. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  93. package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
  94. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  95. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  96. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  97. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  98. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  99. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  100. package/docs/api/interfaces/RBACConfig.md +1 -1
  101. package/docs/api/interfaces/RBACLogger.md +1 -1
  102. package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
  103. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  104. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  105. package/docs/api/interfaces/RoleManagementResult.md +1 -1
  106. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  107. package/docs/api/interfaces/RouteConfig.md +1 -1
  108. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  109. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  110. package/docs/api/interfaces/StorageConfig.md +1 -1
  111. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  112. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  113. package/docs/api/interfaces/StorageListOptions.md +1 -1
  114. package/docs/api/interfaces/StorageListResult.md +1 -1
  115. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  116. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  117. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  118. package/docs/api/interfaces/StyleImport.md +1 -1
  119. package/docs/api/interfaces/SwitchProps.md +1 -1
  120. package/docs/api/interfaces/ToastActionElement.md +1 -1
  121. package/docs/api/interfaces/ToastProps.md +1 -1
  122. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  123. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  124. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  125. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  126. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  127. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  128. package/docs/api/interfaces/UsePublicFileDisplayOptions.md +1 -1
  129. package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
  130. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  131. package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
  132. package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
  133. package/docs/api/interfaces/UserEventAccess.md +1 -1
  134. package/docs/api/interfaces/UserMenuProps.md +1 -1
  135. package/docs/api/interfaces/UserProfile.md +1 -1
  136. package/docs/api/modules.md +2 -2
  137. package/package.json +1 -1
  138. package/src/components/DataTable/components/DataTableCore.tsx +5 -0
  139. package/src/components/DataTable/components/EditableRow.tsx +9 -18
  140. package/src/components/DataTable/components/__tests__/EditableRow.test.tsx +93 -21
  141. package/src/components/DataTable/utils/flexibleImport.ts +27 -6
  142. package/src/components/Toast/Toast.tsx +1 -1
  143. package/src/hooks/__tests__/useEvents.unit.test.ts +4 -2
  144. package/src/hooks/__tests__/useFocusManagement.unit.test.ts +19 -9
  145. package/src/hooks/__tests__/usePerformanceMonitor.unit.test.ts +218 -165
  146. package/src/hooks/__tests__/useSessionRestoration.unit.test.tsx +11 -12
  147. package/src/hooks/__tests__/useToast.unit.test.tsx +36 -18
  148. package/src/hooks/useToast.ts +4 -4
  149. package/src/styles/core.css +1 -0
  150. package/src/types/database.generated.ts +1515 -424
  151. package/dist/chunk-2GJ5GL77.js.map +0 -1
  152. package/dist/chunk-F7COHU5B.js.map +0 -1
  153. package/dist/chunk-NP5VABFV.js.map +0 -1
  154. /package/dist/{DataTable-BQYGKVHR.js.map → DataTable-DGZDJUYM.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/providers/index.ts"],"sourcesContent":["/**\n * @file Providers Export\n * @package @jmruthers/pace-core\n * @module Providers\n * @since 0.1.0\n * \n * Provider exports - All providers use service-based architecture for better testability\n */\n\nexport * from './services/UnifiedAuthProvider';\nexport * from './services/EventServiceProvider';\nexport * from './services/OrganisationServiceProvider';\nexport * from './services/InactivityServiceProvider';\nexport * from './services/AuthServiceProvider';\n\n// RBAC Provider - Use @jmruthers/pace-core/rbac instead\n// Note: RBAC functionality has been moved to the dedicated RBAC module\n"],"mappings":";;;;;;;;;AASA;AACA;AACA;AACA;AACA;","names":[]}
@@ -0,0 +1,76 @@
1
+ // src/utils/performanceBudgets.ts
2
+ var PERFORMANCE_BUDGETS = {
3
+ COMPONENT_RENDER: { threshold: 50 },
4
+ BUNDLE_SIZE: { threshold: 15e4 },
5
+ CHUNK_COUNT: { threshold: 10 },
6
+ TREESHAKING_SCORE: { threshold: 70 },
7
+ ERROR_BOUNDARY_TRIGGER: { threshold: 5 },
8
+ MEMORY_INCREASE: { threshold: 1e3 },
9
+ LARGE_LIST_RENDER: { threshold: 500 }
10
+ };
11
+ var PerformanceBudgetMonitor = class {
12
+ constructor() {
13
+ this.metrics = /* @__PURE__ */ new Map();
14
+ this.budgets = [];
15
+ }
16
+ measure(metric, value, metadata) {
17
+ this.metrics.set(metric, value);
18
+ if (import.meta.env.MODE === "development" || import.meta.env.MODE === "test" || false) {
19
+ console.log("\u{1F4CA} Performance Metric: " + metric + " = " + value, metadata);
20
+ }
21
+ const budgetConfig = PERFORMANCE_BUDGETS[metric];
22
+ const threshold = budgetConfig?.threshold || 100;
23
+ const passed = value <= threshold;
24
+ return {
25
+ passed,
26
+ value,
27
+ threshold
28
+ };
29
+ }
30
+ setBudget(metric, budget, threshold = "warning") {
31
+ this.budgets.push({ metric, budget, actual: 0, threshold });
32
+ }
33
+ checkBudgets() {
34
+ const violations = [];
35
+ for (const budget of this.budgets) {
36
+ const actual = this.metrics.get(budget.metric) || 0;
37
+ budget.actual = actual;
38
+ if (actual > budget.budget) {
39
+ violations.push(budget);
40
+ if (import.meta.env.MODE === "development" || import.meta.env.MODE === "test" || false) {
41
+ if (budget.threshold === "error") {
42
+ console.error("\u274C Performance budget exceeded: " + budget.metric + " (" + actual + " > " + budget.budget + ")");
43
+ } else if (budget.threshold === "warning") {
44
+ console.warn("\u26A0\uFE0F Performance budget exceeded: " + budget.metric + " (" + actual + " > " + budget.budget + ")");
45
+ } else {
46
+ console.info("\u2139\uFE0F Performance budget exceeded: " + budget.metric + " (" + actual + " > " + budget.budget + ")");
47
+ }
48
+ }
49
+ }
50
+ }
51
+ return violations;
52
+ }
53
+ getMetrics() {
54
+ return {
55
+ bundleSize: this.metrics.get("BUNDLE_SIZE") || 0,
56
+ chunkCount: this.metrics.get("CHUNK_COUNT") || 0,
57
+ treeshakingEffectiveness: this.metrics.get("TREESHAKING_SCORE") || 0,
58
+ dynamicImportUsage: this.metrics.get("DYNAMIC_IMPORTS") || 0
59
+ };
60
+ }
61
+ reset() {
62
+ this.metrics.clear();
63
+ this.budgets.length = 0;
64
+ }
65
+ };
66
+ var performanceBudgetMonitor = new PerformanceBudgetMonitor();
67
+ performanceBudgetMonitor.setBudget("BUNDLE_SIZE", 15e4, "error");
68
+ performanceBudgetMonitor.setBudget("CHUNK_COUNT", 10, "warning");
69
+ performanceBudgetMonitor.setBudget("TREESHAKING_SCORE", 70, "warning");
70
+ performanceBudgetMonitor.setBudget("ERROR_BOUNDARY_TRIGGER", 5, "error");
71
+
72
+ export {
73
+ PERFORMANCE_BUDGETS,
74
+ performanceBudgetMonitor
75
+ };
76
+ //# sourceMappingURL=chunk-O3NWNXDY.js.map
@@ -25,7 +25,7 @@ import {
25
25
  SelectSeparator,
26
26
  SelectTrigger,
27
27
  SelectValue
28
- } from "./chunk-NP5VABFV.js";
28
+ } from "./chunk-HFBOFZ3Z.js";
29
29
  import {
30
30
  useCan,
31
31
  usePermissions,
@@ -53,7 +53,7 @@ import {
53
53
  } from "./chunk-FKFHZUGF.js";
54
54
  import {
55
55
  useToast
56
- } from "./chunk-2GJ5GL77.js";
56
+ } from "./chunk-GKHF54DI.js";
57
57
  import {
58
58
  init_useOrganisations,
59
59
  useEvents,
@@ -4513,4 +4513,4 @@ export {
4513
4513
  PublicPageDiagnostic,
4514
4514
  PublicPageContextChecker
4515
4515
  };
4516
- //# sourceMappingURL=chunk-F7COHU5B.js.map
4516
+ //# sourceMappingURL=chunk-QPI2CCBA.js.map