@jmruthers/pace-core 0.5.79 → 0.5.80
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.
- package/dist/{DataTable-BCBW5SCL.js → DataTable-OOZS7YTJ.js} +6 -6
- package/dist/{UnifiedAuthProvider-TSHK77PL.js → UnifiedAuthProvider-K2IZAY5F.js} +3 -3
- package/dist/{chunk-WYKXRCXB.js → chunk-5BN3YGNK.js} +157 -53
- package/dist/{chunk-WYKXRCXB.js.map → chunk-5BN3YGNK.js.map} +1 -1
- package/dist/{chunk-GXWREXH7.js → chunk-CBSD3BZ3.js} +2 -2
- package/dist/{chunk-CALYF6HH.js → chunk-I2VVV5PQ.js} +2 -2
- package/dist/{chunk-3WFKFBVQ.js → chunk-KUYWZVR2.js} +4 -4
- package/dist/{chunk-TI67X46U.js → chunk-MJWN5JKI.js} +7 -7
- package/dist/{chunk-RMK6FOHF.js → chunk-MVFZYTIZ.js} +142 -75
- package/dist/{chunk-RMK6FOHF.js.map → chunk-MVFZYTIZ.js.map} +1 -1
- package/dist/{chunk-LVV6J6ZF.js → chunk-NTW3KGS4.js} +5 -5
- package/dist/{chunk-HQ7KTKC3.js → chunk-RIXPZJUB.js} +2 -2
- package/dist/{chunk-JYCP4L55.js → chunk-S3JKDMD5.js} +3 -3
- package/dist/{chunk-OBXLAL3J.js → chunk-V5SWX6KL.js} +4 -4
- package/dist/{chunk-IQFITAE3.js → chunk-YVUZWLQG.js} +3 -3
- package/dist/components.js +8 -8
- package/dist/hooks.js +7 -7
- package/dist/index.js +11 -11
- package/dist/providers.js +2 -2
- package/dist/rbac/index.js +7 -7
- package/dist/utils.js +1 -1
- package/docs/api/classes/ColumnFactory.md +1 -1
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.md +1 -1
- package/docs/api/classes/MissingUserContextError.md +1 -1
- package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
- package/docs/api/classes/PermissionDeniedError.md +1 -1
- package/docs/api/classes/PublicErrorBoundary.md +1 -1
- package/docs/api/classes/RBACAuditManager.md +1 -1
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +1 -1
- package/docs/api/classes/RBACError.md +1 -1
- package/docs/api/classes/RBACNotInitializedError.md +1 -1
- package/docs/api/classes/SecureSupabaseClient.md +1 -1
- package/docs/api/classes/StorageUtils.md +1 -1
- package/docs/api/enums/FileCategory.md +1 -1
- package/docs/api/interfaces/AggregateConfig.md +1 -1
- package/docs/api/interfaces/ButtonProps.md +1 -1
- package/docs/api/interfaces/CardProps.md +1 -1
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +1 -1
- package/docs/api/interfaces/DataRecord.md +1 -1
- package/docs/api/interfaces/DataTableAction.md +1 -1
- package/docs/api/interfaces/DataTableColumn.md +1 -1
- package/docs/api/interfaces/DataTableProps.md +1 -1
- package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
- package/docs/api/interfaces/EmptyStateConfig.md +1 -1
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/EventLogoProps.md +1 -1
- package/docs/api/interfaces/FileDisplayProps.md +1 -1
- package/docs/api/interfaces/FileMetadata.md +1 -1
- package/docs/api/interfaces/FileReference.md +1 -1
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadOptions.md +1 -1
- package/docs/api/interfaces/FileUploadProps.md +1 -1
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
- package/docs/api/interfaces/InputProps.md +1 -1
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
- package/docs/api/interfaces/NavigationContextType.md +1 -1
- package/docs/api/interfaces/NavigationGuardProps.md +1 -1
- package/docs/api/interfaces/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/NavigationProviderProps.md +1 -1
- package/docs/api/interfaces/Organisation.md +1 -1
- package/docs/api/interfaces/OrganisationContextType.md +1 -1
- package/docs/api/interfaces/OrganisationMembership.md +1 -1
- package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
- package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
- package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
- package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
- package/docs/api/interfaces/PageAccessRecord.md +1 -1
- package/docs/api/interfaces/PagePermissionContextType.md +1 -1
- package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
- package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
- package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
- package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
- package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +1 -1
- package/docs/api/interfaces/RouteConfig.md +1 -1
- package/docs/api/interfaces/SecureDataContextType.md +1 -1
- package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
- package/docs/api/interfaces/StorageConfig.md +1 -1
- package/docs/api/interfaces/StorageFileInfo.md +1 -1
- package/docs/api/interfaces/StorageFileMetadata.md +1 -1
- package/docs/api/interfaces/StorageListOptions.md +1 -1
- package/docs/api/interfaces/StorageListResult.md +1 -1
- package/docs/api/interfaces/StorageUploadOptions.md +1 -1
- package/docs/api/interfaces/StorageUploadResult.md +1 -1
- package/docs/api/interfaces/StorageUrlOptions.md +1 -1
- package/docs/api/interfaces/StyleImport.md +1 -1
- package/docs/api/interfaces/SwitchProps.md +1 -1
- package/docs/api/interfaces/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +1 -1
- package/docs/api/interfaces/UserMenuProps.md +1 -1
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +3 -3
- package/docs/architecture/rpc-function-standards.md +757 -0
- package/package.json +1 -1
- package/src/components/DataTable/components/DataTableCore.tsx +105 -18
- package/src/components/DataTable/components/PaginationControls.tsx +78 -77
- package/src/components/DataTable/hooks/useDataTableConfiguration.ts +29 -16
- package/src/components/DataTable/hooks/useEffectiveColumnOrder.ts +6 -4
- package/src/components/DataTable/hooks/useTableColumns.ts +20 -19
- package/src/components/DataTable/hooks/useTableHandlers.ts +8 -3
- package/src/providers/services/UnifiedAuthProvider.tsx +175 -54
- package/src/styles/core.css +1 -2
- package/src/styles/base.css +0 -208
- /package/dist/{DataTable-BCBW5SCL.js.map → DataTable-OOZS7YTJ.js.map} +0 -0
- /package/dist/{UnifiedAuthProvider-TSHK77PL.js.map → UnifiedAuthProvider-K2IZAY5F.js.map} +0 -0
- /package/dist/{chunk-GXWREXH7.js.map → chunk-CBSD3BZ3.js.map} +0 -0
- /package/dist/{chunk-CALYF6HH.js.map → chunk-I2VVV5PQ.js.map} +0 -0
- /package/dist/{chunk-3WFKFBVQ.js.map → chunk-KUYWZVR2.js.map} +0 -0
- /package/dist/{chunk-TI67X46U.js.map → chunk-MJWN5JKI.js.map} +0 -0
- /package/dist/{chunk-LVV6J6ZF.js.map → chunk-NTW3KGS4.js.map} +0 -0
- /package/dist/{chunk-HQ7KTKC3.js.map → chunk-RIXPZJUB.js.map} +0 -0
- /package/dist/{chunk-JYCP4L55.js.map → chunk-S3JKDMD5.js.map} +0 -0
- /package/dist/{chunk-OBXLAL3J.js.map → chunk-V5SWX6KL.js.map} +0 -0
- /package/dist/{chunk-IQFITAE3.js.map → chunk-YVUZWLQG.js.map} +0 -0
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
init_useOrganisationService,
|
|
4
4
|
useEventService2 as useEventService,
|
|
5
5
|
useOrganisationService2 as useOrganisationService
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-5BN3YGNK.js";
|
|
7
7
|
import {
|
|
8
8
|
__esm
|
|
9
9
|
} from "./chunk-PLDDJCW6.js";
|
|
@@ -61,4 +61,4 @@ export {
|
|
|
61
61
|
init_useOrganisations,
|
|
62
62
|
useEvents
|
|
63
63
|
};
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
64
|
+
//# sourceMappingURL=chunk-CBSD3BZ3.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
init_InactivityServiceProvider,
|
|
5
5
|
init_OrganisationServiceProvider,
|
|
6
6
|
init_UnifiedAuthProvider
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-5BN3YGNK.js";
|
|
8
8
|
|
|
9
9
|
// src/providers/index.ts
|
|
10
10
|
init_UnifiedAuthProvider();
|
|
@@ -12,4 +12,4 @@ init_EventServiceProvider();
|
|
|
12
12
|
init_OrganisationServiceProvider();
|
|
13
13
|
init_InactivityServiceProvider();
|
|
14
14
|
init_AuthServiceProvider();
|
|
15
|
-
//# sourceMappingURL=chunk-
|
|
15
|
+
//# sourceMappingURL=chunk-I2VVV5PQ.js.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_useOrganisations,
|
|
3
3
|
useOrganisations
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-CBSD3BZ3.js";
|
|
5
5
|
import {
|
|
6
6
|
init_UnifiedAuthProvider
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-RIXPZJUB.js";
|
|
8
8
|
import {
|
|
9
9
|
OrganisationServiceContext,
|
|
10
10
|
OrganisationServiceProvider,
|
|
11
11
|
init_OrganisationServiceProvider,
|
|
12
12
|
useOrganisationService,
|
|
13
13
|
useUnifiedAuth
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-5BN3YGNK.js";
|
|
15
15
|
import {
|
|
16
16
|
__esm,
|
|
17
17
|
__export
|
|
@@ -417,4 +417,4 @@ export {
|
|
|
417
417
|
clearPublicLogoCache,
|
|
418
418
|
getPublicLogoCacheStats
|
|
419
419
|
};
|
|
420
|
-
//# sourceMappingURL=chunk-
|
|
420
|
+
//# sourceMappingURL=chunk-KUYWZVR2.js.map
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
SelectSeparator,
|
|
23
23
|
SelectTrigger,
|
|
24
24
|
SelectValue
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-MVFZYTIZ.js";
|
|
26
26
|
import {
|
|
27
27
|
isPermitted,
|
|
28
28
|
isSuperAdmin
|
|
@@ -34,25 +34,25 @@ import {
|
|
|
34
34
|
useAppConfig,
|
|
35
35
|
usePublicEventLogo,
|
|
36
36
|
usePublicPageContext
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-KUYWZVR2.js";
|
|
38
38
|
import {
|
|
39
39
|
useToast
|
|
40
40
|
} from "./chunk-YCKPEMJA.js";
|
|
41
41
|
import {
|
|
42
42
|
useEvents,
|
|
43
43
|
useOrganisations
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-CBSD3BZ3.js";
|
|
45
45
|
import {
|
|
46
46
|
UnifiedAuthProvider_exports,
|
|
47
47
|
init_UnifiedAuthProvider
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-RIXPZJUB.js";
|
|
49
49
|
import {
|
|
50
50
|
EventServiceContext,
|
|
51
51
|
EventServiceProvider,
|
|
52
52
|
init_EventServiceProvider,
|
|
53
53
|
useEventService,
|
|
54
54
|
useUnifiedAuth
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-5BN3YGNK.js";
|
|
56
56
|
import {
|
|
57
57
|
LoadingSpinner
|
|
58
58
|
} from "./chunk-CDQ3PX7L.js";
|
|
@@ -1398,7 +1398,7 @@ function PaceAppLayout({
|
|
|
1398
1398
|
}
|
|
1399
1399
|
}
|
|
1400
1400
|
if (hasAccess && currentRoute.roles && currentRoute.roles.length > 0 && user?.id) {
|
|
1401
|
-
const { useUnifiedAuth: useUnifiedAuth2 } = await import("./UnifiedAuthProvider-
|
|
1401
|
+
const { useUnifiedAuth: useUnifiedAuth2 } = await import("./UnifiedAuthProvider-K2IZAY5F.js");
|
|
1402
1402
|
hasAccess = true;
|
|
1403
1403
|
}
|
|
1404
1404
|
if (!isMounted) return;
|
|
@@ -3883,4 +3883,4 @@ export {
|
|
|
3883
3883
|
PublicPageDiagnostic,
|
|
3884
3884
|
PublicPageContextChecker
|
|
3885
3885
|
};
|
|
3886
|
-
//# sourceMappingURL=chunk-
|
|
3886
|
+
//# sourceMappingURL=chunk-MJWN5JKI.js.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useCan,
|
|
3
3
|
useResolvedScope
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YVUZWLQG.js";
|
|
5
5
|
import {
|
|
6
6
|
toast,
|
|
7
7
|
useDataTablePerformance
|
|
8
8
|
} from "./chunk-YCKPEMJA.js";
|
|
9
9
|
import {
|
|
10
10
|
init_UnifiedAuthProvider
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-RIXPZJUB.js";
|
|
12
12
|
import {
|
|
13
13
|
useUnifiedAuth
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-5BN3YGNK.js";
|
|
15
15
|
import {
|
|
16
16
|
cn
|
|
17
17
|
} from "./chunk-PYUXFQJ3.js";
|
|
@@ -8043,9 +8043,9 @@ function PaginationControls({
|
|
|
8043
8043
|
"footer",
|
|
8044
8044
|
{
|
|
8045
8045
|
"aria-label": "pagination",
|
|
8046
|
-
className: "mx-auto grid grid-cols-[auto_auto_1fr_auto_auto_auto_auto] gap-4",
|
|
8046
|
+
className: "mx-auto grid grid-cols-[auto_auto_1fr_auto_auto_auto_auto] gap-4 items-center my-2",
|
|
8047
8047
|
children: [
|
|
8048
|
-
/* @__PURE__ */ jsx15("
|
|
8048
|
+
/* @__PURE__ */ jsx15("label", { className: "text-sec-600", children: "Rows per page" }),
|
|
8049
8049
|
/* @__PURE__ */ jsxs11(
|
|
8050
8050
|
Select,
|
|
8051
8051
|
{
|
|
@@ -8073,7 +8073,7 @@ function PaginationControls({
|
|
|
8073
8073
|
getModeIcon(),
|
|
8074
8074
|
/* @__PURE__ */ jsx15("span", { children: getModeLabel() })
|
|
8075
8075
|
] }),
|
|
8076
|
-
/* @__PURE__ */ jsxs11("p", { className: "justify-self-center text-sm text-sec-600", children: [
|
|
8076
|
+
/* @__PURE__ */ jsxs11("p", { className: "justify-self-center text-sm text-sec-600 my-0 py-0", children: [
|
|
8077
8077
|
"Page ",
|
|
8078
8078
|
currentPageIndex + 1,
|
|
8079
8079
|
" of ",
|
|
@@ -9662,10 +9662,11 @@ function useEffectiveColumnOrder({
|
|
|
9662
9662
|
return columns.map((column) => column.id || column.accessorKey || "").filter((identifier) => Boolean(identifier));
|
|
9663
9663
|
}, [columns, externalColumnOrder]);
|
|
9664
9664
|
return useMemo9(() => {
|
|
9665
|
-
if (selectionEnabled
|
|
9666
|
-
return
|
|
9665
|
+
if (!selectionEnabled) {
|
|
9666
|
+
return baseOrder;
|
|
9667
9667
|
}
|
|
9668
|
-
|
|
9668
|
+
const orderWithoutSelect = baseOrder.filter((id) => id !== "select");
|
|
9669
|
+
return ["select", ...orderWithoutSelect];
|
|
9669
9670
|
}, [baseOrder, selectionEnabled]);
|
|
9670
9671
|
}
|
|
9671
9672
|
|
|
@@ -9726,12 +9727,13 @@ function useTableHandlers({
|
|
|
9726
9727
|
}, [actions, stateSnapshot.pagination]);
|
|
9727
9728
|
const handleColumnOrderChange = useCallback8((updaterOrValue) => {
|
|
9728
9729
|
const nextValue = typeof updaterOrValue === "function" ? updaterOrValue(stateSnapshot.columnOrder) : updaterOrValue;
|
|
9729
|
-
|
|
9730
|
+
const normalizedOrder = nextValue.includes("select") ? ["select", ...nextValue.filter((id) => id !== "select")] : nextValue;
|
|
9731
|
+
actions.setColumnOrder(normalizedOrder);
|
|
9730
9732
|
if (canPersistOrder) {
|
|
9731
|
-
updateColumnOrder(
|
|
9733
|
+
updateColumnOrder(normalizedOrder);
|
|
9732
9734
|
}
|
|
9733
9735
|
onLayoutChange?.({
|
|
9734
|
-
columnOrder:
|
|
9736
|
+
columnOrder: normalizedOrder,
|
|
9735
9737
|
columnVisibility: stateSnapshot.columnVisibility
|
|
9736
9738
|
});
|
|
9737
9739
|
}, [actions, stateSnapshot.columnOrder, stateSnapshot.columnVisibility, canPersistOrder, updateColumnOrder, onLayoutChange]);
|
|
@@ -9777,38 +9779,45 @@ function useDataTableConfiguration({
|
|
|
9777
9779
|
finalDataCount,
|
|
9778
9780
|
pageSize
|
|
9779
9781
|
}) {
|
|
9780
|
-
return useMemo11(() =>
|
|
9781
|
-
|
|
9782
|
-
|
|
9783
|
-
|
|
9784
|
-
|
|
9785
|
-
|
|
9786
|
-
|
|
9787
|
-
|
|
9788
|
-
|
|
9789
|
-
|
|
9790
|
-
|
|
9791
|
-
|
|
9792
|
-
|
|
9793
|
-
|
|
9794
|
-
|
|
9795
|
-
|
|
9796
|
-
|
|
9797
|
-
|
|
9798
|
-
|
|
9799
|
-
|
|
9800
|
-
|
|
9801
|
-
|
|
9802
|
-
|
|
9803
|
-
|
|
9804
|
-
|
|
9805
|
-
|
|
9806
|
-
|
|
9807
|
-
|
|
9808
|
-
|
|
9809
|
-
|
|
9810
|
-
|
|
9811
|
-
|
|
9782
|
+
return useMemo11(() => {
|
|
9783
|
+
let normalizedColumnOrder = [...stateSnapshot.columnOrder];
|
|
9784
|
+
if (features.selection) {
|
|
9785
|
+
normalizedColumnOrder = normalizedColumnOrder.filter((id) => id !== "select");
|
|
9786
|
+
normalizedColumnOrder = ["select", ...normalizedColumnOrder];
|
|
9787
|
+
}
|
|
9788
|
+
return {
|
|
9789
|
+
data,
|
|
9790
|
+
columns,
|
|
9791
|
+
state: {
|
|
9792
|
+
sorting: stateSnapshot.sorting,
|
|
9793
|
+
columnFilters: stateSnapshot.columnFilters,
|
|
9794
|
+
columnVisibility: stateSnapshot.columnVisibility,
|
|
9795
|
+
rowSelection: stateSnapshot.rowSelection,
|
|
9796
|
+
grouping: stateSnapshot.grouping,
|
|
9797
|
+
expanded: stateSnapshot.expanded,
|
|
9798
|
+
pagination: stateSnapshot.pagination,
|
|
9799
|
+
globalFilter: stateSnapshot.globalFilter,
|
|
9800
|
+
columnOrder: normalizedColumnOrder
|
|
9801
|
+
},
|
|
9802
|
+
initialState: {
|
|
9803
|
+
expanded: features.grouping ? {} : void 0
|
|
9804
|
+
},
|
|
9805
|
+
enableRowSelection: features.selection,
|
|
9806
|
+
enableGrouping: features.grouping,
|
|
9807
|
+
getRowId,
|
|
9808
|
+
...handlers,
|
|
9809
|
+
getCoreRowModel: getCoreRowModel(),
|
|
9810
|
+
getFilteredRowModel: finalPaginationMode === "client" ? getFilteredRowModel() : void 0,
|
|
9811
|
+
getSortedRowModel: finalPaginationMode === "client" ? getSortedRowModel() : void 0,
|
|
9812
|
+
getPaginationRowModel: features.pagination ? getPaginationRowModel() : void 0,
|
|
9813
|
+
getGroupedRowModel: features.grouping ? getGroupedRowModel() : void 0,
|
|
9814
|
+
getExpandedRowModel: features.grouping ? getExpandedRowModel() : void 0,
|
|
9815
|
+
manualSorting: finalPaginationMode === "server",
|
|
9816
|
+
manualFiltering: finalPaginationMode === "server",
|
|
9817
|
+
manualPagination: finalPaginationMode === "server",
|
|
9818
|
+
pageCount: finalPaginationMode === "server" ? Math.ceil(finalDataCount / pageSize) : void 0
|
|
9819
|
+
};
|
|
9820
|
+
}, [
|
|
9812
9821
|
data,
|
|
9813
9822
|
columns,
|
|
9814
9823
|
stateSnapshot,
|
|
@@ -10472,16 +10481,18 @@ function useTableColumns({
|
|
|
10472
10481
|
meta: { align: "right" }
|
|
10473
10482
|
}) : null;
|
|
10474
10483
|
const finalColumns = [];
|
|
10484
|
+
if (selectionColumn) {
|
|
10485
|
+
finalColumns.push(selectionColumn);
|
|
10486
|
+
}
|
|
10475
10487
|
if (columnOrder && columnOrder.length > 0) {
|
|
10476
|
-
const usedColumnIds = new Set(
|
|
10477
|
-
|
|
10478
|
-
|
|
10479
|
-
}
|
|
10488
|
+
const usedColumnIds = new Set(
|
|
10489
|
+
columnOrder.filter((id) => id !== "select" && id !== "actions")
|
|
10490
|
+
);
|
|
10480
10491
|
for (const columnId of columnOrder) {
|
|
10481
|
-
if (columnId === "select"
|
|
10482
|
-
|
|
10492
|
+
if (columnId === "select") {
|
|
10493
|
+
continue;
|
|
10483
10494
|
} else if (columnId === "actions" && actionsColumn) {
|
|
10484
|
-
|
|
10495
|
+
continue;
|
|
10485
10496
|
} else {
|
|
10486
10497
|
const dataColumn = baseColumns.find(
|
|
10487
10498
|
(col) => col.id === columnId || "accessorKey" in col && String(col.accessorKey) === columnId
|
|
@@ -10496,13 +10507,10 @@ function useTableColumns({
|
|
|
10496
10507
|
return !usedColumnIds.has(colId);
|
|
10497
10508
|
});
|
|
10498
10509
|
finalColumns.push(...remainingDataColumns);
|
|
10499
|
-
if (actionsColumn
|
|
10510
|
+
if (actionsColumn) {
|
|
10500
10511
|
finalColumns.push(actionsColumn);
|
|
10501
10512
|
}
|
|
10502
10513
|
} else {
|
|
10503
|
-
if (selectionColumn) {
|
|
10504
|
-
finalColumns.push(selectionColumn);
|
|
10505
|
-
}
|
|
10506
10514
|
finalColumns.push(...baseColumns);
|
|
10507
10515
|
if (actionsColumn) {
|
|
10508
10516
|
finalColumns.push(actionsColumn);
|
|
@@ -11138,9 +11146,25 @@ function DataTableInternal({
|
|
|
11138
11146
|
});
|
|
11139
11147
|
useEffect12(() => {
|
|
11140
11148
|
if (secureFeatures.columnReordering && isColumnOrderLoaded && savedColumnOrder && savedColumnOrder.length > 0) {
|
|
11141
|
-
|
|
11149
|
+
const normalizedOrder = secureFeatures.selection && savedColumnOrder.includes("select") ? ["select", ...savedColumnOrder.filter((id) => id !== "select")] : savedColumnOrder;
|
|
11150
|
+
stateActions.setColumnOrder(normalizedOrder);
|
|
11151
|
+
}
|
|
11152
|
+
}, [secureFeatures.columnReordering, secureFeatures.selection, isColumnOrderLoaded, savedColumnOrder, stateActions]);
|
|
11153
|
+
useEffect12(() => {
|
|
11154
|
+
if (secureFeatures.selection && state.columnOrder.includes("select") && state.columnOrder[0] !== "select") {
|
|
11155
|
+
const normalizedOrder = ["select", ...state.columnOrder.filter((id) => id !== "select")];
|
|
11156
|
+
if (import.meta.env?.MODE === "development") {
|
|
11157
|
+
console.warn("[DataTable] Correcting column order state - moving select to first position:", {
|
|
11158
|
+
before: state.columnOrder,
|
|
11159
|
+
after: normalizedOrder
|
|
11160
|
+
});
|
|
11161
|
+
}
|
|
11162
|
+
stateActions.setColumnOrder(normalizedOrder);
|
|
11163
|
+
if (secureFeatures.columnReordering) {
|
|
11164
|
+
updateColumnOrder(normalizedOrder);
|
|
11165
|
+
}
|
|
11142
11166
|
}
|
|
11143
|
-
}, [secureFeatures.columnReordering,
|
|
11167
|
+
}, [secureFeatures.selection, secureFeatures.columnReordering, state.columnOrder, stateActions, updateColumnOrder]);
|
|
11144
11168
|
const finalPageSizeOptions = optimizedPageSizeOptions;
|
|
11145
11169
|
const validatedInitialPageSize = useMemo14(() => {
|
|
11146
11170
|
if (!secureFeatures.pagination || !finalPageSizeOptions.length) {
|
|
@@ -11160,6 +11184,24 @@ function DataTableInternal({
|
|
|
11160
11184
|
}
|
|
11161
11185
|
return closestOption;
|
|
11162
11186
|
}, [initialPageSize, finalPageSizeOptions, secureFeatures.pagination]);
|
|
11187
|
+
useEffect12(() => {
|
|
11188
|
+
if (secureFeatures.pagination && validatedInitialPageSize !== state.pagination.pageSize && finalPageSizeOptions.includes(validatedInitialPageSize)) {
|
|
11189
|
+
stateActions.setPagination({
|
|
11190
|
+
...state.pagination,
|
|
11191
|
+
pageSize: validatedInitialPageSize,
|
|
11192
|
+
pageIndex: 0
|
|
11193
|
+
});
|
|
11194
|
+
}
|
|
11195
|
+
}, [validatedInitialPageSize, secureFeatures.pagination, finalPageSizeOptions, stateActions, state.pagination.pageSize]);
|
|
11196
|
+
const effectivePageSize = useMemo14(() => {
|
|
11197
|
+
if (!secureFeatures.pagination || !finalPageSizeOptions.length) {
|
|
11198
|
+
return state.pagination.pageSize;
|
|
11199
|
+
}
|
|
11200
|
+
if (!finalPageSizeOptions.includes(state.pagination.pageSize)) {
|
|
11201
|
+
return validatedInitialPageSize;
|
|
11202
|
+
}
|
|
11203
|
+
return state.pagination.pageSize;
|
|
11204
|
+
}, [state.pagination.pageSize, validatedInitialPageSize, secureFeatures.pagination, finalPageSizeOptions]);
|
|
11163
11205
|
const isLoading = externalIsLoading || performanceLoading;
|
|
11164
11206
|
const handleSearch = useCallback10((value) => {
|
|
11165
11207
|
stateActions.setSearchQuery(value);
|
|
@@ -11246,32 +11288,56 @@ function DataTableInternal({
|
|
|
11246
11288
|
}
|
|
11247
11289
|
return result;
|
|
11248
11290
|
}, [actions, secureFeatures, permissions, secureHandlers, resolvedGetRowId, stateActions, data]);
|
|
11291
|
+
const normalizedColumnOrderForColumns = useMemo14(() => {
|
|
11292
|
+
if (secureFeatures.selection && state.columnOrder.includes("select")) {
|
|
11293
|
+
return ["select", ...state.columnOrder.filter((id) => id !== "select")];
|
|
11294
|
+
}
|
|
11295
|
+
return state.columnOrder;
|
|
11296
|
+
}, [state.columnOrder, secureFeatures.selection]);
|
|
11249
11297
|
const { enhancedColumns } = useTableColumns({
|
|
11250
11298
|
columns,
|
|
11251
11299
|
features: secureFeatures,
|
|
11252
11300
|
effectiveActions,
|
|
11253
|
-
columnOrder:
|
|
11301
|
+
columnOrder: normalizedColumnOrderForColumns
|
|
11254
11302
|
});
|
|
11255
|
-
const
|
|
11256
|
-
|
|
11257
|
-
|
|
11258
|
-
|
|
11259
|
-
|
|
11260
|
-
|
|
11261
|
-
|
|
11262
|
-
|
|
11263
|
-
|
|
11264
|
-
|
|
11265
|
-
|
|
11303
|
+
const paginationStateWithValidatedSize = useMemo14(() => ({
|
|
11304
|
+
...state.pagination,
|
|
11305
|
+
pageSize: effectivePageSize
|
|
11306
|
+
}), [state.pagination, effectivePageSize]);
|
|
11307
|
+
const tableStateSnapshot = useMemo14(() => {
|
|
11308
|
+
const normalizedColumnOrder = secureFeatures.selection && state.columnOrder.includes("select") ? ["select", ...state.columnOrder.filter((id) => id !== "select")] : state.columnOrder;
|
|
11309
|
+
if (import.meta.env?.MODE === "development" && secureFeatures.selection) {
|
|
11310
|
+
if (state.columnOrder[0] !== "select") {
|
|
11311
|
+
console.warn("[DataTable] Column order normalized:", {
|
|
11312
|
+
original: state.columnOrder,
|
|
11313
|
+
normalized: normalizedColumnOrder,
|
|
11314
|
+
firstColumnOriginal: state.columnOrder[0],
|
|
11315
|
+
firstColumnNormalized: normalizedColumnOrder[0]
|
|
11316
|
+
});
|
|
11317
|
+
}
|
|
11318
|
+
}
|
|
11319
|
+
return {
|
|
11320
|
+
sorting: state.sorting,
|
|
11321
|
+
columnFilters: state.columnFilters,
|
|
11322
|
+
columnVisibility: state.columnVisibility,
|
|
11323
|
+
rowSelection,
|
|
11324
|
+
grouping: state.grouping,
|
|
11325
|
+
expanded: state.expanded,
|
|
11326
|
+
pagination: paginationStateWithValidatedSize,
|
|
11327
|
+
globalFilter: searchQuery,
|
|
11328
|
+
columnOrder: normalizedColumnOrder
|
|
11329
|
+
};
|
|
11330
|
+
}, [
|
|
11266
11331
|
state.sorting,
|
|
11267
11332
|
state.columnFilters,
|
|
11268
11333
|
state.columnVisibility,
|
|
11269
11334
|
rowSelection,
|
|
11270
11335
|
state.grouping,
|
|
11271
11336
|
state.expanded,
|
|
11272
|
-
|
|
11337
|
+
paginationStateWithValidatedSize,
|
|
11273
11338
|
searchQuery,
|
|
11274
|
-
state.columnOrder
|
|
11339
|
+
state.columnOrder,
|
|
11340
|
+
secureFeatures.selection
|
|
11275
11341
|
]);
|
|
11276
11342
|
const tableHandlers = useTableHandlers({
|
|
11277
11343
|
state,
|
|
@@ -11295,7 +11361,7 @@ function DataTableInternal({
|
|
|
11295
11361
|
getRowId: resolvedGetRowId,
|
|
11296
11362
|
finalPaginationMode,
|
|
11297
11363
|
finalDataCount,
|
|
11298
|
-
pageSize:
|
|
11364
|
+
pageSize: effectivePageSize
|
|
11299
11365
|
});
|
|
11300
11366
|
const table = useReactTable(tableConfig);
|
|
11301
11367
|
if (!user) {
|
|
@@ -11319,7 +11385,8 @@ function DataTableInternal({
|
|
|
11319
11385
|
"table",
|
|
11320
11386
|
{
|
|
11321
11387
|
className: getTableClasses({
|
|
11322
|
-
isFixed:
|
|
11388
|
+
isFixed: false,
|
|
11389
|
+
// Use auto table-layout so columns size based on content
|
|
11323
11390
|
variant,
|
|
11324
11391
|
className: cn("border-collapse relative w-full", className)
|
|
11325
11392
|
}),
|
|
@@ -11393,7 +11460,7 @@ function DataTableInternal({
|
|
|
11393
11460
|
) })
|
|
11394
11461
|
] }),
|
|
11395
11462
|
/* @__PURE__ */ jsxs17("colgroup", { children: [
|
|
11396
|
-
hasSelectColumn && /* @__PURE__ */ jsx24("col", { span: 1, "data-col-type": "select"
|
|
11463
|
+
hasSelectColumn && /* @__PURE__ */ jsx24("col", { span: 1, "data-col-type": "select" }),
|
|
11397
11464
|
/* @__PURE__ */ jsx24("col", { span: dataColumns, "data-col-type": "data" }),
|
|
11398
11465
|
hasActionsColumn && /* @__PURE__ */ jsx24("col", { span: 1, "data-col-type": "actions" })
|
|
11399
11466
|
] }),
|
|
@@ -11793,4 +11860,4 @@ lodash/lodash.js:
|
|
|
11793
11860
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
11794
11861
|
*)
|
|
11795
11862
|
*/
|
|
11796
|
-
//# sourceMappingURL=chunk-
|
|
11863
|
+
//# sourceMappingURL=chunk-MVFZYTIZ.js.map
|