@jmruthers/pace-core 0.5.123 → 0.5.124

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 (116) hide show
  1. package/dist/{DataTable-WTS4IRF2.js → DataTable-OKDYRW2S.js} +2 -2
  2. package/dist/{chunk-DHMFMXFV.js → chunk-GBGYYMC6.js} +64 -13
  3. package/dist/{chunk-DHMFMXFV.js.map → chunk-GBGYYMC6.js.map} +1 -1
  4. package/dist/{chunk-ZPJMYGEP.js → chunk-VPUCTHTY.js} +2 -2
  5. package/dist/components.js +2 -2
  6. package/dist/index.js +2 -2
  7. package/dist/utils.js +1 -1
  8. package/docs/api/classes/ColumnFactory.md +1 -1
  9. package/docs/api/classes/ErrorBoundary.md +1 -1
  10. package/docs/api/classes/InvalidScopeError.md +1 -1
  11. package/docs/api/classes/MissingUserContextError.md +1 -1
  12. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  13. package/docs/api/classes/PermissionDeniedError.md +1 -1
  14. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  15. package/docs/api/classes/RBACAuditManager.md +1 -1
  16. package/docs/api/classes/RBACCache.md +1 -1
  17. package/docs/api/classes/RBACEngine.md +1 -1
  18. package/docs/api/classes/RBACError.md +1 -1
  19. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  20. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  21. package/docs/api/classes/StorageUtils.md +1 -1
  22. package/docs/api/enums/FileCategory.md +1 -1
  23. package/docs/api/interfaces/AggregateConfig.md +1 -1
  24. package/docs/api/interfaces/ButtonProps.md +1 -1
  25. package/docs/api/interfaces/CardProps.md +1 -1
  26. package/docs/api/interfaces/ColorPalette.md +1 -1
  27. package/docs/api/interfaces/ColorShade.md +1 -1
  28. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  29. package/docs/api/interfaces/DataRecord.md +1 -1
  30. package/docs/api/interfaces/DataTableAction.md +1 -1
  31. package/docs/api/interfaces/DataTableColumn.md +1 -1
  32. package/docs/api/interfaces/DataTableProps.md +1 -1
  33. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  34. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  35. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  36. package/docs/api/interfaces/EventAppRoleData.md +1 -1
  37. package/docs/api/interfaces/FileDisplayProps.md +1 -1
  38. package/docs/api/interfaces/FileMetadata.md +1 -1
  39. package/docs/api/interfaces/FileReference.md +1 -1
  40. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  41. package/docs/api/interfaces/FileUploadOptions.md +1 -1
  42. package/docs/api/interfaces/FileUploadProps.md +1 -1
  43. package/docs/api/interfaces/FooterProps.md +1 -1
  44. package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
  45. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  46. package/docs/api/interfaces/InputProps.md +1 -1
  47. package/docs/api/interfaces/LabelProps.md +1 -1
  48. package/docs/api/interfaces/LoginFormProps.md +1 -1
  49. package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
  50. package/docs/api/interfaces/NavigationContextType.md +1 -1
  51. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  52. package/docs/api/interfaces/NavigationItem.md +1 -1
  53. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  54. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  55. package/docs/api/interfaces/Organisation.md +1 -1
  56. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  57. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  58. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  59. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  60. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  61. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  62. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  63. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  64. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  65. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  66. package/docs/api/interfaces/PaletteData.md +1 -1
  67. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  68. package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
  69. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  70. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  71. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  72. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  73. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  74. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  75. package/docs/api/interfaces/RBACConfig.md +1 -1
  76. package/docs/api/interfaces/RBACLogger.md +1 -1
  77. package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
  78. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  79. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  80. package/docs/api/interfaces/RoleManagementResult.md +1 -1
  81. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  82. package/docs/api/interfaces/RouteConfig.md +1 -1
  83. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  84. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  85. package/docs/api/interfaces/StorageConfig.md +1 -1
  86. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  87. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  88. package/docs/api/interfaces/StorageListOptions.md +1 -1
  89. package/docs/api/interfaces/StorageListResult.md +1 -1
  90. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  91. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  92. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  93. package/docs/api/interfaces/StyleImport.md +1 -1
  94. package/docs/api/interfaces/SwitchProps.md +1 -1
  95. package/docs/api/interfaces/ToastActionElement.md +1 -1
  96. package/docs/api/interfaces/ToastProps.md +1 -1
  97. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  98. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  99. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  100. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  101. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  102. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  103. package/docs/api/interfaces/UsePublicFileDisplayOptions.md +1 -1
  104. package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
  105. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  106. package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
  107. package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
  108. package/docs/api/interfaces/UserEventAccess.md +1 -1
  109. package/docs/api/interfaces/UserMenuProps.md +1 -1
  110. package/docs/api/interfaces/UserProfile.md +1 -1
  111. package/docs/api/modules.md +2 -2
  112. package/package.json +1 -1
  113. package/src/components/DataTable/components/DataTableCore.tsx +62 -11
  114. package/src/components/DataTable/components/DataTableToolbar.tsx +14 -1
  115. /package/dist/{DataTable-WTS4IRF2.js.map → DataTable-OKDYRW2S.js.map} +0 -0
  116. /package/dist/{chunk-ZPJMYGEP.js.map → chunk-VPUCTHTY.js.map} +0 -0
@@ -54,7 +54,7 @@ import {
54
54
  sortHierarchicalDataWithSorting,
55
55
  validateHierarchicalData,
56
56
  validatePaginationConfig
57
- } from "./chunk-DHMFMXFV.js";
57
+ } from "./chunk-GBGYYMC6.js";
58
58
  import "./chunk-35ZDPMBM.js";
59
59
  import "./chunk-WP5I5GLN.js";
60
60
  import "./chunk-3DBFLLLU.js";
@@ -157,4 +157,4 @@ export {
157
157
  validateHierarchicalData,
158
158
  validatePaginationConfig
159
159
  };
160
- //# sourceMappingURL=DataTable-WTS4IRF2.js.map
160
+ //# sourceMappingURL=DataTable-OKDYRW2S.js.map
@@ -6606,7 +6606,18 @@ function DataTableToolbar({
6606
6606
  ]
6607
6607
  }
6608
6608
  ),
6609
- features.creation && permissions.canCreate.can && onCreateRow && /* @__PURE__ */ jsxs5(
6609
+ (() => {
6610
+ if (import.meta.env.MODE === "development") {
6611
+ const logger = console;
6612
+ logger.debug("[DataTableToolbar] Creation button check:", {
6613
+ "features.creation": features.creation,
6614
+ "permissions.canCreate.can": permissions.canCreate.can,
6615
+ "onCreateRow provided": !!onCreateRow,
6616
+ "will show button": features.creation && permissions.canCreate.can && onCreateRow
6617
+ });
6618
+ }
6619
+ return features.creation && permissions.canCreate.can && onCreateRow;
6620
+ })() && /* @__PURE__ */ jsxs5(
6610
6621
  Button,
6611
6622
  {
6612
6623
  variant: "outline",
@@ -11714,6 +11725,15 @@ function DataTableInternal({
11714
11725
  [incomingFeatures]
11715
11726
  );
11716
11727
  const { permissions, secureFeatures, effectivePageId } = useDataTablePermissions(rbac, requestedFeatures);
11728
+ if (import.meta.env.MODE === "development") {
11729
+ logger.debug("[DataTableCore] Creation feature check:", {
11730
+ "incomingFeatures.creation": incomingFeatures.creation,
11731
+ "requestedFeatures.creation": requestedFeatures.creation,
11732
+ "secureFeatures.creation": secureFeatures.creation,
11733
+ "permissions.canCreate.can": permissions.canCreate.can,
11734
+ "onCreateRow prop provided": !!onCreateRow
11735
+ });
11736
+ }
11717
11737
  const effectiveColumnOrder = useEffectiveColumnOrder({
11718
11738
  columns,
11719
11739
  externalColumnOrder,
@@ -11968,29 +11988,60 @@ function DataTableInternal({
11968
11988
  fetchServerData,
11969
11989
  cleanup
11970
11990
  });
11971
- const secureHandlers = useMemo14(() => ({
11972
- onEditRow: permissions.canUpdate.can ? onEditRow : void 0,
11973
- onDeleteRow: permissions.canDelete.can ? onDeleteRow : void 0,
11974
- onCreateRow: permissions.canCreate.can ? onCreateRow : void 0,
11975
- onImport: permissions.canImport.can ? onImport : void 0,
11976
- onExport: permissions.canExport.can ? onExport : void 0,
11977
- onDeleteSelected: permissions.canDelete.can ? onDeleteSelected : void 0
11978
- }), [permissions.canUpdate.can, permissions.canDelete.can, permissions.canCreate.can, permissions.canImport.can, permissions.canExport.can, onEditRow, onDeleteRow, onCreateRow, onImport, onExport, onDeleteSelected]);
11991
+ const secureHandlers = useMemo14(() => {
11992
+ const handlers = {
11993
+ onEditRow: permissions.canUpdate.can ? onEditRow : void 0,
11994
+ onDeleteRow: permissions.canDelete.can ? onDeleteRow : void 0,
11995
+ onCreateRow: permissions.canCreate.can ? onCreateRow : void 0,
11996
+ onImport: permissions.canImport.can ? onImport : void 0,
11997
+ onExport: permissions.canExport.can ? onExport : void 0,
11998
+ onDeleteSelected: permissions.canDelete.can ? onDeleteSelected : void 0
11999
+ };
12000
+ if (import.meta.env.MODE === "development") {
12001
+ logger.debug("[DataTableCore] Creation handler check:", {
12002
+ "permissions.canCreate.can": permissions.canCreate.can,
12003
+ "onCreateRow prop provided": !!onCreateRow,
12004
+ "secureHandlers.onCreateRow": !!handlers.onCreateRow,
12005
+ "secureFeatures.creation": secureFeatures.creation,
12006
+ "will pass onCreateRow to toolbar": secureFeatures.creation && !!handlers.onCreateRow
12007
+ });
12008
+ }
12009
+ return handlers;
12010
+ }, [permissions.canUpdate.can, permissions.canDelete.can, permissions.canCreate.can, permissions.canImport.can, permissions.canExport.can, onEditRow, onDeleteRow, onCreateRow, onImport, onExport, onDeleteSelected, secureFeatures.creation, logger]);
12011
+ if (import.meta.env.MODE === "development") {
12012
+ logger.debug("[DataTableCore] \u26A0\uFE0F CREATION BUTTON DIAGNOSIS:", {
12013
+ "\u2705 permissions.canCreate.can": permissions.canCreate.can,
12014
+ "\u2753 features.creation enabled": secureFeatures.creation,
12015
+ "\u2753 onCreateRow handler provided": !!onCreateRow,
12016
+ "\u2753 secureHandlers.onCreateRow": !!secureHandlers.onCreateRow,
12017
+ "\u{1F50D} WILL SHOW BUTTON": secureFeatures.creation && permissions.canCreate.can && !!onCreateRow,
12018
+ "\u{1F4A1} SOLUTION": !secureFeatures.creation ? "Enable features={{ creation: true }} in DataTable props" : !onCreateRow ? "Provide onCreateRow handler in DataTable props" : "All conditions met - button should be visible"
12019
+ });
12020
+ }
11979
12021
  const effectiveActions = useMemo14(() => {
11980
12022
  const result = [...actions];
11981
12023
  logger.debug("Action Configuration Debug:", {
11982
12024
  originalActions: actions.length,
11983
12025
  secureFeatures: {
11984
12026
  editing: secureFeatures.editing,
11985
- deletion: secureFeatures.deletion
12027
+ deletion: secureFeatures.deletion,
12028
+ creation: secureFeatures.creation,
12029
+ import: secureFeatures.import,
12030
+ export: secureFeatures.export
11986
12031
  },
11987
12032
  secureHandlers: {
11988
12033
  onEditRow: !!secureHandlers.onEditRow,
11989
- onDeleteRow: !!secureHandlers.onDeleteRow
12034
+ onDeleteRow: !!secureHandlers.onDeleteRow,
12035
+ onCreateRow: !!secureHandlers.onCreateRow,
12036
+ onImport: !!secureHandlers.onImport,
12037
+ onExport: !!secureHandlers.onExport
11990
12038
  },
11991
12039
  permissions: {
11992
12040
  canUpdate: permissions.canUpdate.can,
11993
- canDelete: permissions.canDelete.can
12041
+ canDelete: permissions.canDelete.can,
12042
+ canCreate: permissions.canCreate.can,
12043
+ canImport: permissions.canImport.can,
12044
+ canExport: permissions.canExport.can
11994
12045
  }
11995
12046
  });
11996
12047
  if (secureFeatures.editing && secureHandlers.onEditRow && !result.some((a) => a.label === "Edit")) {
@@ -12756,4 +12807,4 @@ lodash/lodash.js:
12756
12807
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
12757
12808
  *)
12758
12809
  */
12759
- //# sourceMappingURL=chunk-DHMFMXFV.js.map
12810
+ //# sourceMappingURL=chunk-GBGYYMC6.js.map