@jmruthers/pace-core 0.5.193 → 0.6.1
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/CHANGELOG.md +29 -0
- package/README.md +7 -1
- package/cursor-rules/00-pace-core-compliance.mdc +372 -0
- package/cursor-rules/01-standards-compliance.mdc +275 -0
- package/cursor-rules/02-project-structure.mdc +200 -0
- package/cursor-rules/03-solid-principles.mdc +341 -0
- package/cursor-rules/04-testing-standards.mdc +315 -0
- package/cursor-rules/05-bug-reports-and-features.mdc +246 -0
- package/cursor-rules/06-code-quality.mdc +392 -0
- package/cursor-rules/07-tech-stack-compliance.mdc +309 -0
- package/cursor-rules/CHANGELOG.md +101 -0
- package/cursor-rules/README.md +191 -0
- package/dist/{DataTable-Be6dH_dR.d.ts → DataTable-CH1U5Tpy.d.ts} +1 -1
- package/dist/{DataTable-5FU7IESH.js → DataTable-DQ7RSOHE.js} +6 -6
- package/dist/{PublicPageProvider-C0Sm_e5k.d.ts → PublicPageProvider-ce4xlHYA.d.ts} +34 -155
- package/dist/{UnifiedAuthProvider-RGJTDE2C.js → UnifiedAuthProvider-ATAP5UTR.js} +2 -2
- package/dist/{chunk-6C4YBBJM 5.js → chunk-3QRJFVBR.js} +1 -1
- package/dist/chunk-3QRJFVBR.js.map +1 -0
- package/dist/{chunk-IIELH4DL.js → chunk-3XTALGJF.js} +2 -2
- package/dist/{chunk-IIELH4DL.js.map → chunk-3XTALGJF.js.map} +1 -1
- package/dist/{chunk-HWIIPPNI.js → chunk-4N5C5XZU.js} +20 -20
- package/dist/chunk-4N5C5XZU.js.map +1 -0
- package/dist/{chunk-7EQTDTTJ.js → chunk-4ZC4GX36.js} +5 -5
- package/dist/{chunk-7EQTDTTJ.js 2.map → chunk-4ZC4GX36.js.map} +1 -1
- package/dist/{chunk-7FLMSG37.js → chunk-BYFSK72L.js} +22 -22
- package/dist/chunk-BYFSK72L.js.map +1 -0
- package/dist/{chunk-LFNCN2SP.js → chunk-EXUD6RNJ.js} +46 -7
- package/dist/chunk-EXUD6RNJ.js.map +1 -0
- package/dist/{chunk-NOAYCWCX 5.js → chunk-GLK6VM3F.js} +167 -169
- package/dist/chunk-GLK6VM3F.js.map +1 -0
- package/dist/{chunk-HW3OVDUF.js → chunk-J36DSWQK.js} +1 -1
- package/dist/{chunk-HW3OVDUF.js.map → chunk-J36DSWQK.js.map} +1 -1
- package/dist/{chunk-BC4IJKSL.js → chunk-JBKQ3SAO.js} +2 -2
- package/dist/{chunk-QWWZ5CAQ.js → chunk-LXQLPRQ2.js} +2 -2
- package/dist/{chunk-E3SPN4VZ 5.js → chunk-T33XF5ZC.js} +119 -114
- package/dist/chunk-T33XF5ZC.js.map +1 -0
- package/dist/{chunk-XNXXZ43G.js → chunk-XM25TVIE.js} +27 -4
- package/dist/chunk-XM25TVIE.js.map +1 -0
- package/dist/components.d.ts +3 -3
- package/dist/components.js +8 -8
- package/dist/hooks.d.ts +6 -6
- package/dist/hooks.js +17 -22
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +15 -16
- package/dist/index.js.map +1 -1
- package/dist/providers.js +1 -1
- package/dist/rbac/index.d.ts +1 -1
- package/dist/rbac/index.js +5 -5
- package/dist/{usePublicRouteParams-TZe0gy-4.d.ts → usePublicRouteParams-BJAlWfuJ.d.ts} +3 -3
- package/dist/{useToast-C8gR5ir4.d.ts → useToast-AyaT-x7p.d.ts} +2 -2
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +3 -3
- package/docs/getting-started/cursor-rules.md +262 -0
- package/docs/getting-started/installation-guide.md +6 -1
- package/docs/getting-started/quick-start.md +6 -1
- package/docs/migration/MIGRATION_GUIDE.md +4 -4
- package/docs/migration/REACT_19_MIGRATION.md +227 -0
- package/docs/standards/README.md +39 -0
- package/docs/troubleshooting/migration.md +4 -4
- package/examples/PublicPages/PublicEventPage.tsx +1 -1
- package/package.json +11 -6
- package/scripts/audit-consuming-app.cjs +961 -0
- package/scripts/check-pace-core-compliance.cjs +34 -15
- package/scripts/install-cursor-rules.cjs +236 -0
- package/src/__tests__/helpers/test-providers.tsx +1 -1
- package/src/__tests__/helpers/test-utils.tsx +1 -1
- package/src/components/Badge/Badge.tsx +2 -4
- package/src/components/Button/Button.tsx +5 -4
- package/src/components/Calendar/Calendar.tsx +1 -1
- package/src/components/DataTable/DataTable.test.tsx +57 -93
- package/src/components/DataTable/DataTable.tsx +2 -2
- package/src/components/DataTable/__tests__/pagination.modes.test.tsx +13 -5
- package/src/components/DataTable/__tests__/ssr.strict-mode.test.tsx +12 -12
- package/src/components/DataTable/components/AccessDeniedPage.tsx +1 -1
- package/src/components/DataTable/components/BulkOperationsDropdown.tsx +1 -1
- package/src/components/DataTable/components/DataTableCore.tsx +4 -7
- package/src/components/DataTable/components/DataTableModals.tsx +1 -1
- package/src/components/DataTable/components/EditableRow.tsx +1 -1
- package/src/components/DataTable/components/UnifiedTableBody.tsx +6 -8
- package/src/components/DataTable/components/__tests__/DataTableModals.test.tsx +23 -23
- package/src/components/DataTable/components/__tests__/EditableRow.test.tsx +11 -11
- package/src/components/DataTable/components/__tests__/ExpandButton.test.tsx +36 -36
- package/src/components/DataTable/components/__tests__/GroupHeader.test.tsx +27 -27
- package/src/components/DataTable/components/__tests__/ImportModal.test.tsx +39 -39
- package/src/components/DataTable/components/__tests__/UnifiedTableBody.test.tsx +33 -33
- package/src/components/DataTable/components/__tests__/ViewRowModal.test.tsx +29 -29
- package/src/components/DataTable/hooks/useColumnReordering.ts +2 -2
- package/src/components/DataTable/hooks/useKeyboardNavigation.ts +2 -2
- package/src/components/DatePickerWithTimezone/DatePickerWithTimezone.test.tsx +8 -14
- package/src/components/Dialog/Dialog.tsx +6 -5
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +1 -1
- package/src/components/EventSelector/EventSelector.tsx +1 -1
- package/src/components/FileDisplay/FileDisplay.test.tsx +2 -2
- package/src/components/Footer/Footer.tsx +1 -1
- package/src/components/Form/Form.test.tsx +36 -15
- package/src/components/Form/Form.tsx +30 -26
- package/src/components/Header/Header.tsx +1 -1
- package/src/components/InactivityWarningModal/InactivityWarningModal.test.tsx +40 -40
- package/src/components/InactivityWarningModal/InactivityWarningModal.tsx +1 -1
- package/src/components/Input/Input.tsx +28 -30
- package/src/components/Label/Label.tsx +1 -1
- package/src/components/LoadingSpinner/LoadingSpinner.tsx +1 -1
- package/src/components/LoginForm/LoginForm.test.tsx +42 -42
- package/src/components/LoginForm/LoginForm.tsx +8 -8
- package/src/components/NavigationMenu/NavigationMenu.tsx +1 -1
- package/src/components/PaceAppLayout/PaceAppLayout.performance.test.tsx +1 -1
- package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +50 -50
- package/src/components/PaceAppLayout/PaceAppLayout.tsx +1 -1
- package/src/components/PaceAppLayout/README.md +1 -1
- package/src/components/PaceLoginPage/PaceLoginPage.tsx +1 -1
- package/src/components/PasswordChange/PasswordChangeForm.test.tsx +33 -33
- package/src/components/PasswordChange/PasswordChangeForm.tsx +1 -1
- package/src/components/Progress/Progress.tsx +1 -1
- package/src/components/PublicLayout/PublicPageLayout.tsx +1 -1
- package/src/components/Select/Select.tsx +33 -22
- package/src/components/SessionRestorationLoader/SessionRestorationLoader.tsx +1 -1
- package/src/components/Table/Table.tsx +1 -1
- package/src/components/Textarea/Textarea.tsx +27 -29
- package/src/components/Toast/Toast.tsx +1 -1
- package/src/components/Tooltip/Tooltip.tsx +1 -1
- package/src/components/UserMenu/UserMenu.tsx +1 -1
- package/src/hooks/__tests__/hooks.integration.test.tsx +80 -55
- package/src/hooks/__tests__/useStorage.unit.test.ts +36 -36
- package/src/hooks/public/usePublicEvent.ts +1 -1
- package/src/hooks/public/usePublicEventLogo.ts +1 -1
- package/src/hooks/public/usePublicRouteParams.ts +1 -1
- package/src/hooks/useDataTableState.ts +8 -18
- package/src/hooks/useFocusManagement.ts +2 -2
- package/src/hooks/useFocusTrap.ts +4 -4
- package/src/hooks/useFormDialog.ts +8 -7
- package/src/hooks/useInactivityTracker.ts +1 -1
- package/src/hooks/usePermissionCache.ts +1 -1
- package/src/hooks/useSecureDataAccess.ts +19 -4
- package/src/hooks/useToast.ts +2 -2
- package/src/providers/__tests__/OrganisationProvider.test.tsx +57 -13
- package/src/providers/__tests__/ProviderLifecycle.test.tsx +21 -6
- package/src/providers/__tests__/UnifiedAuthProvider.test.tsx +10 -10
- package/src/providers/services/UnifiedAuthProvider.tsx +22 -22
- package/src/providers/services/__tests__/AuthServiceProvider.integration.test.tsx +13 -3
- package/src/rbac/__tests__/adapters.comprehensive.test.tsx +24 -24
- package/src/rbac/components/EnhancedNavigationMenu.tsx +1 -1
- package/src/rbac/components/NavigationGuard.tsx +1 -1
- package/src/rbac/components/NavigationProvider.tsx +1 -1
- package/src/rbac/components/PagePermissionGuard.tsx +1 -1
- package/src/rbac/components/PagePermissionProvider.tsx +1 -1
- package/src/rbac/components/PermissionEnforcer.tsx +1 -1
- package/src/rbac/components/RoleBasedRouter.tsx +1 -1
- package/src/rbac/components/SecureDataProvider.tsx +1 -1
- package/src/rbac/secureClient.ts +12 -0
- package/src/utils/security/secureDataAccess.test.ts +31 -20
- package/src/utils/security/secureDataAccess.ts +4 -3
- package/dist/chunk-6C4YBBJM.js +0 -628
- package/dist/chunk-6C4YBBJM.js.map +0 -1
- package/dist/chunk-7D4SUZUM.js 2.map +0 -1
- package/dist/chunk-7EQTDTTJ.js.map +0 -1
- package/dist/chunk-7FLMSG37.js 2.map +0 -1
- package/dist/chunk-7FLMSG37.js.map +0 -1
- package/dist/chunk-E3SPN4VZ.js +0 -12917
- package/dist/chunk-E3SPN4VZ.js.map +0 -1
- package/dist/chunk-E66EQZE6 5.js +0 -37
- package/dist/chunk-E66EQZE6.js 2.map +0 -1
- package/dist/chunk-HWIIPPNI.js.map +0 -1
- package/dist/chunk-I7PSE6JW 5.js +0 -191
- package/dist/chunk-I7PSE6JW.js 2.map +0 -1
- package/dist/chunk-KNC55RTG.js 5.map +0 -1
- package/dist/chunk-KQCRWDSA.js 5.map +0 -1
- package/dist/chunk-LFNCN2SP.js 2.map +0 -1
- package/dist/chunk-LFNCN2SP.js.map +0 -1
- package/dist/chunk-LMC26NLJ 2.js +0 -84
- package/dist/chunk-NOAYCWCX.js +0 -4993
- package/dist/chunk-NOAYCWCX.js.map +0 -1
- package/dist/chunk-QWWZ5CAQ.js.map +0 -1
- package/dist/chunk-QXHPKYJV 3.js +0 -113
- package/dist/chunk-R77UEZ4E 3.js +0 -68
- package/dist/chunk-VBXEHIUJ.js 6.map +0 -1
- package/dist/chunk-XNXXZ43G.js.map +0 -1
- package/dist/chunk-ZSAAAMVR 6.js +0 -25
- package/dist/components.js 5.map +0 -1
- package/dist/styles/index 2.js +0 -12
- package/dist/styles/index.js 5.map +0 -1
- package/dist/theming/runtime 5.js +0 -19
- package/dist/theming/runtime.js 5.map +0 -1
- /package/dist/{DataTable-5FU7IESH.js.map → DataTable-DQ7RSOHE.js.map} +0 -0
- /package/dist/{UnifiedAuthProvider-RGJTDE2C.js.map → UnifiedAuthProvider-ATAP5UTR.js.map} +0 -0
- /package/dist/{chunk-BC4IJKSL.js.map → chunk-JBKQ3SAO.js.map} +0 -0
- /package/dist/{chunk-QWWZ5CAQ.js 3.map → chunk-LXQLPRQ2.js.map} +0 -0
- /package/examples/{rbac → RBAC}/CompleteRBACExample.tsx +0 -0
- /package/examples/{rbac → RBAC}/EventBasedApp.tsx +0 -0
- /package/examples/{rbac → RBAC}/PermissionExample.tsx +0 -0
- /package/examples/{rbac → RBAC}/index.ts +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useCan
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XM25TVIE.js";
|
|
4
4
|
import {
|
|
5
5
|
toast,
|
|
6
6
|
useDataTablePerformance
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-3QRJFVBR.js";
|
|
8
8
|
import {
|
|
9
9
|
useResolvedScope
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-3XTALGJF.js";
|
|
11
11
|
import {
|
|
12
12
|
useUnifiedAuth
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-BYFSK72L.js";
|
|
14
14
|
import {
|
|
15
15
|
isSuperAdmin
|
|
16
16
|
} from "./chunk-KNC55RTG.js";
|
|
@@ -5511,7 +5511,7 @@ var require_lodash = __commonJS({
|
|
|
5511
5511
|
import React21 from "react";
|
|
5512
5512
|
|
|
5513
5513
|
// src/components/DataTable/components/DataTableCore.tsx
|
|
5514
|
-
import React20, { useMemo as useMemo14, useCallback as
|
|
5514
|
+
import React20, { useMemo as useMemo14, useCallback as useCallback9, useEffect as useEffect12, useRef as useRef6 } from "react";
|
|
5515
5515
|
import { useReactTable } from "@tanstack/react-table";
|
|
5516
5516
|
import { Edit, Trash, ChevronUp as ChevronUp2, ChevronDown as ChevronDown3, ChevronsUpDown } from "lucide-react";
|
|
5517
5517
|
|
|
@@ -5690,34 +5690,32 @@ var getTableClasses = (options = {}) => {
|
|
|
5690
5690
|
// src/components/Input/Input.tsx
|
|
5691
5691
|
import * as React3 from "react";
|
|
5692
5692
|
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
5693
|
-
|
|
5694
|
-
|
|
5695
|
-
|
|
5696
|
-
|
|
5697
|
-
|
|
5698
|
-
|
|
5699
|
-
|
|
5700
|
-
|
|
5701
|
-
|
|
5702
|
-
|
|
5703
|
-
|
|
5704
|
-
|
|
5705
|
-
|
|
5706
|
-
|
|
5707
|
-
|
|
5708
|
-
|
|
5709
|
-
|
|
5710
|
-
|
|
5711
|
-
|
|
5712
|
-
|
|
5713
|
-
|
|
5714
|
-
|
|
5715
|
-
|
|
5716
|
-
|
|
5717
|
-
|
|
5718
|
-
|
|
5719
|
-
}
|
|
5720
|
-
);
|
|
5693
|
+
function Input({ className, variant = "default", size = "md", error, type, ref, ...props }) {
|
|
5694
|
+
return /* @__PURE__ */ jsx3(
|
|
5695
|
+
"input",
|
|
5696
|
+
{
|
|
5697
|
+
type,
|
|
5698
|
+
className: cn(
|
|
5699
|
+
// Base styles
|
|
5700
|
+
"flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
5701
|
+
// Variant styles
|
|
5702
|
+
{
|
|
5703
|
+
"border-input": variant === "default" && !error,
|
|
5704
|
+
"border-destructive focus-visible:ring-destructive": variant === "destructive" || error
|
|
5705
|
+
},
|
|
5706
|
+
// Size styles
|
|
5707
|
+
{
|
|
5708
|
+
"h-8 px-2 py-1 text-xs": size === "sm",
|
|
5709
|
+
"h-9 px-3 py-2 text-sm": size === "md",
|
|
5710
|
+
"h-10 px-4 py-3 text-base": size === "lg"
|
|
5711
|
+
},
|
|
5712
|
+
className
|
|
5713
|
+
),
|
|
5714
|
+
ref,
|
|
5715
|
+
...props
|
|
5716
|
+
}
|
|
5717
|
+
);
|
|
5718
|
+
}
|
|
5721
5719
|
Input.displayName = "Input";
|
|
5722
5720
|
var InputGroup = React3.forwardRef(
|
|
5723
5721
|
({ className, children, orientation = "vertical", spacing = "md", ...props }, ref) => {
|
|
@@ -5896,17 +5894,18 @@ var useSelectSearch = ({
|
|
|
5896
5894
|
const filterChildren = (nodes) => {
|
|
5897
5895
|
return React4.Children.map(nodes, (child) => {
|
|
5898
5896
|
if (!React4.isValidElement(child)) return child;
|
|
5899
|
-
const
|
|
5897
|
+
const childProps = child.props;
|
|
5898
|
+
const isSelectItem = childProps && (childProps["data-testid"] === "select-item" || childProps.value !== void 0);
|
|
5900
5899
|
if (isSelectItem) {
|
|
5901
|
-
const childText = React4.Children.toArray(
|
|
5900
|
+
const childText = React4.Children.toArray(childProps.children).join(" ").toLowerCase();
|
|
5902
5901
|
const searchLower = searchTerm.toLowerCase();
|
|
5903
5902
|
if (childText.includes(searchLower)) {
|
|
5904
5903
|
return child;
|
|
5905
5904
|
}
|
|
5906
5905
|
return null;
|
|
5907
5906
|
}
|
|
5908
|
-
if (
|
|
5909
|
-
const filteredChildChildren = filterChildren(
|
|
5907
|
+
if (childProps.children) {
|
|
5908
|
+
const filteredChildChildren = filterChildren(childProps.children);
|
|
5910
5909
|
if (React4.Children.count(filteredChildChildren) > 0) {
|
|
5911
5910
|
return React4.cloneElement(child, {}, filteredChildChildren);
|
|
5912
5911
|
}
|
|
@@ -6060,7 +6059,7 @@ var SelectTrigger = React4.forwardRef(
|
|
|
6060
6059
|
({ children, className, variant = "outline", size = "default", asChild = false, ...props }, ref) => {
|
|
6061
6060
|
const { open, disabled, value, actions, direction = "down" } = useSelectContext();
|
|
6062
6061
|
const opensUpward = direction === "up";
|
|
6063
|
-
const handleClickRef = React4.useRef();
|
|
6062
|
+
const handleClickRef = React4.useRef(void 0);
|
|
6064
6063
|
const handleClick = React4.useCallback((e) => {
|
|
6065
6064
|
if (disabled) {
|
|
6066
6065
|
e.preventDefault();
|
|
@@ -6119,10 +6118,15 @@ var SelectTrigger = React4.forwardRef(
|
|
|
6119
6118
|
...props
|
|
6120
6119
|
};
|
|
6121
6120
|
if (asChild) {
|
|
6122
|
-
const
|
|
6123
|
-
const
|
|
6124
|
-
|
|
6125
|
-
|
|
6121
|
+
const childElement = children;
|
|
6122
|
+
const childChildren = React4.Children.toArray(childElement.props.children);
|
|
6123
|
+
const hasChevron = childChildren.some((child) => {
|
|
6124
|
+
if (React4.isValidElement(child)) {
|
|
6125
|
+
const childProps = child.props;
|
|
6126
|
+
return child.type === ChevronDown || child.type === "svg" && childProps["data-testid"] === "chevron-down" || typeof child === "object" && "type" in child && typeof child.type === "function" && child.type.name === "ChevronDown";
|
|
6127
|
+
}
|
|
6128
|
+
return false;
|
|
6129
|
+
});
|
|
6126
6130
|
const childClassName = children.props.className;
|
|
6127
6131
|
const mergedClassName = cn(
|
|
6128
6132
|
triggerProps.className,
|
|
@@ -6318,8 +6322,11 @@ var SelectItem = React4.forwardRef(
|
|
|
6318
6322
|
const getTextContent = (children2) => {
|
|
6319
6323
|
if (typeof children2 === "string") return children2;
|
|
6320
6324
|
if (typeof children2 === "number") return children2.toString();
|
|
6321
|
-
if (React4.isValidElement(children2)
|
|
6322
|
-
|
|
6325
|
+
if (React4.isValidElement(children2)) {
|
|
6326
|
+
const props = children2.props;
|
|
6327
|
+
if (props.children) {
|
|
6328
|
+
return getTextContent(props.children);
|
|
6329
|
+
}
|
|
6323
6330
|
}
|
|
6324
6331
|
if (Array.isArray(children2)) {
|
|
6325
6332
|
return children2.map(getTextContent).join("");
|
|
@@ -7104,7 +7111,7 @@ function SelectEditField({
|
|
|
7104
7111
|
onChange,
|
|
7105
7112
|
className
|
|
7106
7113
|
}) {
|
|
7107
|
-
const logger2 =
|
|
7114
|
+
const logger2 = createLogger("SelectEditField");
|
|
7108
7115
|
const isSearchable = columnDef.selectSearchable !== false;
|
|
7109
7116
|
const isCreatable = columnDef.creatable === true;
|
|
7110
7117
|
const selectRef = React9.useRef(null);
|
|
@@ -7634,7 +7641,7 @@ function SelectEditField2({
|
|
|
7634
7641
|
placeholder,
|
|
7635
7642
|
onChange
|
|
7636
7643
|
}) {
|
|
7637
|
-
const logger2 =
|
|
7644
|
+
const logger2 = createLogger("SelectEditField");
|
|
7638
7645
|
const isSearchable = columnDef.selectSearchable !== false;
|
|
7639
7646
|
const isCreatable = columnDef.creatable === true;
|
|
7640
7647
|
const selectRef = React10.useRef(null);
|
|
@@ -7875,16 +7882,14 @@ var RowComponent = React10.memo(({
|
|
|
7875
7882
|
}) => {
|
|
7876
7883
|
const rowRef = useRef2(null);
|
|
7877
7884
|
const firstInputRef = useRef2(null);
|
|
7878
|
-
const logger2 =
|
|
7885
|
+
const logger2 = createLogger("RowComponent");
|
|
7879
7886
|
const rowId = getRowIdSafe(row.original, row.index, getRowId);
|
|
7880
7887
|
const hierarchicalRow = row.original;
|
|
7881
7888
|
const isHierarchical = hierarchical?.enabled && hierarchicalRow?.isParent !== void 0;
|
|
7882
7889
|
const isParent = isHierarchical && hierarchicalRow.isParent;
|
|
7883
7890
|
const isChild = isHierarchical && !hierarchicalRow.isParent;
|
|
7884
|
-
const visibleCells =
|
|
7885
|
-
const isSelected =
|
|
7886
|
-
return typeof row.getIsSelected === "function" ? row.getIsSelected() : false;
|
|
7887
|
-
}, [row]);
|
|
7891
|
+
const visibleCells = row.getVisibleCells();
|
|
7892
|
+
const isSelected = typeof row.getIsSelected === "function" ? row.getIsSelected() : false;
|
|
7888
7893
|
useEffect2(() => {
|
|
7889
7894
|
if (isEditing && firstInputRef.current) {
|
|
7890
7895
|
firstInputRef.current.focus();
|
|
@@ -8173,7 +8178,7 @@ function UnifiedTableBody({
|
|
|
8173
8178
|
rbac,
|
|
8174
8179
|
permissions
|
|
8175
8180
|
}) {
|
|
8176
|
-
const logger2 =
|
|
8181
|
+
const logger2 = createLogger("UnifiedTableBody");
|
|
8177
8182
|
const headerRef = useRef2(null);
|
|
8178
8183
|
const bodyRef = useRef2(null);
|
|
8179
8184
|
const parentRef = useRef2(null);
|
|
@@ -8750,7 +8755,7 @@ function LoadingState() {
|
|
|
8750
8755
|
}
|
|
8751
8756
|
|
|
8752
8757
|
// src/components/DataTable/components/DataTableModals.tsx
|
|
8753
|
-
import
|
|
8758
|
+
import { useEffect as useEffect5 } from "react";
|
|
8754
8759
|
|
|
8755
8760
|
// src/components/DataTable/components/ImportModal.tsx
|
|
8756
8761
|
import { useState as useState4, useRef as useRef3, useEffect as useEffect4 } from "react";
|
|
@@ -8878,16 +8883,16 @@ var DialogContent = React12.forwardRef(({
|
|
|
8878
8883
|
minWidth,
|
|
8879
8884
|
enableScrolling
|
|
8880
8885
|
});
|
|
8881
|
-
const handleEscapeKeyDown =
|
|
8886
|
+
const handleEscapeKeyDown = (event) => {
|
|
8882
8887
|
if (preventCloseOnEscape) {
|
|
8883
8888
|
event.preventDefault();
|
|
8884
8889
|
}
|
|
8885
|
-
}
|
|
8886
|
-
const handlePointerDownOutside =
|
|
8890
|
+
};
|
|
8891
|
+
const handlePointerDownOutside = (event) => {
|
|
8887
8892
|
if (preventCloseOnOutsideClick) {
|
|
8888
8893
|
event.preventDefault();
|
|
8889
8894
|
}
|
|
8890
|
-
}
|
|
8895
|
+
};
|
|
8891
8896
|
const mergedStyle = React12.useMemo(() => {
|
|
8892
8897
|
if (Object.keys(smartDimensions).length === 0) {
|
|
8893
8898
|
return style;
|
|
@@ -9469,7 +9474,7 @@ function DataTableModals({
|
|
|
9469
9474
|
onStoreFocus,
|
|
9470
9475
|
onRestoreFocus
|
|
9471
9476
|
}) {
|
|
9472
|
-
const logger2 =
|
|
9477
|
+
const logger2 = createLogger("DataTableModals");
|
|
9473
9478
|
useEffect5(() => {
|
|
9474
9479
|
if (showImportModal) {
|
|
9475
9480
|
onStoreFocus?.();
|
|
@@ -9696,7 +9701,7 @@ var DataTableErrorBoundary = class extends Component {
|
|
|
9696
9701
|
};
|
|
9697
9702
|
|
|
9698
9703
|
// src/components/DataTable/hooks/useColumnOrderPersistence.ts
|
|
9699
|
-
import { useState as useState5, useEffect as useEffect6, useCallback as
|
|
9704
|
+
import { useState as useState5, useEffect as useEffect6, useCallback as useCallback2 } from "react";
|
|
9700
9705
|
function useColumnOrderPersistence({
|
|
9701
9706
|
tableId,
|
|
9702
9707
|
defaultOrder = [],
|
|
@@ -9730,7 +9735,7 @@ function useColumnOrderPersistence({
|
|
|
9730
9735
|
setIsLoaded(true);
|
|
9731
9736
|
}
|
|
9732
9737
|
}, [enablePersistence, finalStorageKey, storageKey, tableId]);
|
|
9733
|
-
const saveColumnOrder =
|
|
9738
|
+
const saveColumnOrder = useCallback2((newOrder) => {
|
|
9734
9739
|
if (!enablePersistence || typeof window === "undefined") return;
|
|
9735
9740
|
if (!storageKey && !tableId) return;
|
|
9736
9741
|
try {
|
|
@@ -9739,11 +9744,11 @@ function useColumnOrderPersistence({
|
|
|
9739
9744
|
logger2.warn("Failed to save column order to localStorage:", error);
|
|
9740
9745
|
}
|
|
9741
9746
|
}, [enablePersistence, finalStorageKey, storageKey, tableId]);
|
|
9742
|
-
const updateColumnOrder =
|
|
9747
|
+
const updateColumnOrder = useCallback2((newOrder) => {
|
|
9743
9748
|
setColumnOrder(newOrder);
|
|
9744
9749
|
saveColumnOrder(newOrder);
|
|
9745
9750
|
}, [saveColumnOrder]);
|
|
9746
|
-
const resetColumnOrder =
|
|
9751
|
+
const resetColumnOrder = useCallback2(() => {
|
|
9747
9752
|
setColumnOrder(defaultOrder);
|
|
9748
9753
|
if (enablePersistence && (storageKey || tableId) && typeof window !== "undefined") {
|
|
9749
9754
|
try {
|
|
@@ -9753,7 +9758,7 @@ function useColumnOrderPersistence({
|
|
|
9753
9758
|
}
|
|
9754
9759
|
}
|
|
9755
9760
|
}, [defaultOrder, enablePersistence, finalStorageKey, storageKey, tableId]);
|
|
9756
|
-
const clearAllPreferences =
|
|
9761
|
+
const clearAllPreferences = useCallback2(() => {
|
|
9757
9762
|
if (!enablePersistence || typeof window === "undefined") return;
|
|
9758
9763
|
try {
|
|
9759
9764
|
const keys = Object.keys(localStorage);
|
|
@@ -9776,7 +9781,7 @@ function useColumnOrderPersistence({
|
|
|
9776
9781
|
}
|
|
9777
9782
|
|
|
9778
9783
|
// src/components/DataTable/hooks/useColumnVisibilityPersistence.ts
|
|
9779
|
-
import { useState as useState6, useEffect as useEffect7, useCallback as
|
|
9784
|
+
import { useState as useState6, useEffect as useEffect7, useCallback as useCallback3 } from "react";
|
|
9780
9785
|
function useColumnVisibilityPersistence({
|
|
9781
9786
|
tableId,
|
|
9782
9787
|
defaultVisibility = {},
|
|
@@ -9806,7 +9811,7 @@ function useColumnVisibilityPersistence({
|
|
|
9806
9811
|
setIsLoaded(true);
|
|
9807
9812
|
}
|
|
9808
9813
|
}, [enablePersistence, finalStorageKey]);
|
|
9809
|
-
const saveColumnVisibility =
|
|
9814
|
+
const saveColumnVisibility = useCallback3((newVisibility) => {
|
|
9810
9815
|
if (!enablePersistence || typeof window === "undefined") return;
|
|
9811
9816
|
try {
|
|
9812
9817
|
localStorage.setItem(finalStorageKey, JSON.stringify(newVisibility));
|
|
@@ -9814,11 +9819,11 @@ function useColumnVisibilityPersistence({
|
|
|
9814
9819
|
logger2.warn("Failed to save column visibility to localStorage:", error);
|
|
9815
9820
|
}
|
|
9816
9821
|
}, [enablePersistence, finalStorageKey]);
|
|
9817
|
-
const updateColumnVisibility =
|
|
9822
|
+
const updateColumnVisibility = useCallback3((newVisibility) => {
|
|
9818
9823
|
setColumnVisibility(newVisibility);
|
|
9819
9824
|
saveColumnVisibility(newVisibility);
|
|
9820
9825
|
}, [saveColumnVisibility]);
|
|
9821
|
-
const resetColumnVisibility =
|
|
9826
|
+
const resetColumnVisibility = useCallback3(() => {
|
|
9822
9827
|
setColumnVisibility(defaultVisibility);
|
|
9823
9828
|
if (enablePersistence && typeof window !== "undefined") {
|
|
9824
9829
|
try {
|
|
@@ -9828,7 +9833,7 @@ function useColumnVisibilityPersistence({
|
|
|
9828
9833
|
}
|
|
9829
9834
|
}
|
|
9830
9835
|
}, [defaultVisibility, enablePersistence, finalStorageKey]);
|
|
9831
|
-
const clearAllPreferences =
|
|
9836
|
+
const clearAllPreferences = useCallback3(() => {
|
|
9832
9837
|
if (!enablePersistence || typeof window === "undefined") return;
|
|
9833
9838
|
try {
|
|
9834
9839
|
const keys = Object.keys(localStorage);
|
|
@@ -9851,7 +9856,7 @@ function useColumnVisibilityPersistence({
|
|
|
9851
9856
|
}
|
|
9852
9857
|
|
|
9853
9858
|
// src/components/DataTable/hooks/useDataTableState.ts
|
|
9854
|
-
import { useReducer, useCallback as
|
|
9859
|
+
import { useReducer, useCallback as useCallback4, useMemo as useMemo6 } from "react";
|
|
9855
9860
|
function dataTableReducer(state, action) {
|
|
9856
9861
|
switch (action.type) {
|
|
9857
9862
|
case "SET_SORTING":
|
|
@@ -9987,7 +9992,7 @@ function useDataTableState({
|
|
|
9987
9992
|
hasFilters: state.columnFilters.length > 0 || state.searchQuery !== "",
|
|
9988
9993
|
canClearFilters: state.columnFilters.length > 0 || state.searchQuery !== ""
|
|
9989
9994
|
}), [state]);
|
|
9990
|
-
const clearFilters =
|
|
9995
|
+
const clearFilters = useCallback4(() => {
|
|
9991
9996
|
dispatch({ type: "SET_COLUMN_FILTERS", payload: [] });
|
|
9992
9997
|
dispatch({ type: "SET_SEARCH_QUERY", payload: "" });
|
|
9993
9998
|
}, []);
|
|
@@ -10003,7 +10008,7 @@ function useDataTableState({
|
|
|
10003
10008
|
import { useMemo as useMemo8 } from "react";
|
|
10004
10009
|
|
|
10005
10010
|
// src/components/DataTable/hooks/useHierarchicalState.ts
|
|
10006
|
-
import { useState as useState7, useCallback as
|
|
10011
|
+
import { useState as useState7, useCallback as useCallback5, useMemo as useMemo7, useEffect as useEffect8 } from "react";
|
|
10007
10012
|
function useHierarchicalState(data, config) {
|
|
10008
10013
|
const initialExpandedState = useMemo7(() => {
|
|
10009
10014
|
if (!config?.defaultExpanded) {
|
|
@@ -10065,7 +10070,7 @@ function useHierarchicalState(data, config) {
|
|
|
10065
10070
|
}
|
|
10066
10071
|
return visible;
|
|
10067
10072
|
}, [data, expandedRows, parentChildMap]);
|
|
10068
|
-
const toggleRow =
|
|
10073
|
+
const toggleRow = useCallback5((rowId) => {
|
|
10069
10074
|
setExpandedRows((prev) => {
|
|
10070
10075
|
const newSet = new Set(prev);
|
|
10071
10076
|
if (newSet.has(rowId)) {
|
|
@@ -10079,32 +10084,32 @@ function useHierarchicalState(data, config) {
|
|
|
10079
10084
|
return newSet;
|
|
10080
10085
|
});
|
|
10081
10086
|
}, [config]);
|
|
10082
|
-
const expandAll =
|
|
10087
|
+
const expandAll = useCallback5(() => {
|
|
10083
10088
|
const parentIds = data.filter((row) => row.isParent).map((row) => row.id);
|
|
10084
10089
|
setExpandedRows(new Set(parentIds));
|
|
10085
10090
|
if (config?.onExpandedChange) {
|
|
10086
10091
|
config.onExpandedChange(parentIds);
|
|
10087
10092
|
}
|
|
10088
10093
|
}, [data, config]);
|
|
10089
|
-
const collapseAll =
|
|
10094
|
+
const collapseAll = useCallback5(() => {
|
|
10090
10095
|
setExpandedRows(/* @__PURE__ */ new Set());
|
|
10091
10096
|
if (config?.onExpandedChange) {
|
|
10092
10097
|
config.onExpandedChange([]);
|
|
10093
10098
|
}
|
|
10094
10099
|
}, [config]);
|
|
10095
|
-
const isExpanded =
|
|
10100
|
+
const isExpanded = useCallback5((rowId) => {
|
|
10096
10101
|
return expandedRows.has(rowId);
|
|
10097
10102
|
}, [expandedRows]);
|
|
10098
|
-
const hasChildren =
|
|
10103
|
+
const hasChildren = useCallback5((rowId) => {
|
|
10099
10104
|
return parentChildMap.has(rowId) && (parentChildMap.get(rowId)?.length || 0) > 0;
|
|
10100
10105
|
}, [parentChildMap]);
|
|
10101
|
-
const getChildrenCount =
|
|
10106
|
+
const getChildrenCount = useCallback5((rowId) => {
|
|
10102
10107
|
return parentChildMap.get(rowId)?.length || 0;
|
|
10103
10108
|
}, [parentChildMap]);
|
|
10104
|
-
const getExpandedIds =
|
|
10109
|
+
const getExpandedIds = useCallback5(() => {
|
|
10105
10110
|
return Array.from(expandedRows);
|
|
10106
10111
|
}, [expandedRows]);
|
|
10107
|
-
const setExpandedIds =
|
|
10112
|
+
const setExpandedIds = useCallback5((ids) => {
|
|
10108
10113
|
setExpandedRows(new Set(ids));
|
|
10109
10114
|
}, []);
|
|
10110
10115
|
return {
|
|
@@ -10285,7 +10290,7 @@ function useDataTableDataPipeline({
|
|
|
10285
10290
|
}
|
|
10286
10291
|
|
|
10287
10292
|
// src/components/DataTable/hooks/useServerSideDataEffect.ts
|
|
10288
|
-
import { useCallback as
|
|
10293
|
+
import { useCallback as useCallback6, useEffect as useEffect9 } from "react";
|
|
10289
10294
|
function useServerSideDataEffect({
|
|
10290
10295
|
finalPaginationMode,
|
|
10291
10296
|
serverSide,
|
|
@@ -10298,7 +10303,7 @@ function useServerSideDataEffect({
|
|
|
10298
10303
|
fetchServerData,
|
|
10299
10304
|
cleanup
|
|
10300
10305
|
}) {
|
|
10301
|
-
const handleServerSideChange =
|
|
10306
|
+
const handleServerSideChange = useCallback6(async () => {
|
|
10302
10307
|
if (finalPaginationMode !== "server" || !serverSide) {
|
|
10303
10308
|
return;
|
|
10304
10309
|
}
|
|
@@ -10365,7 +10370,7 @@ function useEffectiveColumnOrder({
|
|
|
10365
10370
|
}
|
|
10366
10371
|
|
|
10367
10372
|
// src/components/DataTable/hooks/useTableHandlers.ts
|
|
10368
|
-
import { useCallback as
|
|
10373
|
+
import { useCallback as useCallback7, useMemo as useMemo10 } from "react";
|
|
10369
10374
|
function useTableHandlers({
|
|
10370
10375
|
state,
|
|
10371
10376
|
stateSnapshot,
|
|
@@ -10379,15 +10384,15 @@ function useTableHandlers({
|
|
|
10379
10384
|
updateColumnOrder,
|
|
10380
10385
|
onLayoutChange
|
|
10381
10386
|
}) {
|
|
10382
|
-
const handleSortingChange =
|
|
10387
|
+
const handleSortingChange = useCallback7((updaterOrValue) => {
|
|
10383
10388
|
const nextValue = typeof updaterOrValue === "function" ? updaterOrValue(stateSnapshot.sorting) : updaterOrValue;
|
|
10384
10389
|
actions.setSorting(nextValue);
|
|
10385
10390
|
}, [actions, stateSnapshot.sorting]);
|
|
10386
|
-
const handleColumnFiltersChange =
|
|
10391
|
+
const handleColumnFiltersChange = useCallback7((updaterOrValue) => {
|
|
10387
10392
|
const nextValue = typeof updaterOrValue === "function" ? updaterOrValue(stateSnapshot.columnFilters) : updaterOrValue;
|
|
10388
10393
|
actions.setColumnFilters(nextValue);
|
|
10389
10394
|
}, [actions, stateSnapshot.columnFilters]);
|
|
10390
|
-
const handleColumnVisibilityChange =
|
|
10395
|
+
const handleColumnVisibilityChange = useCallback7((updaterOrValue) => {
|
|
10391
10396
|
const nextValue = typeof updaterOrValue === "function" ? updaterOrValue(stateSnapshot.columnVisibility) : updaterOrValue;
|
|
10392
10397
|
actions.setColumnVisibility(nextValue);
|
|
10393
10398
|
if (canPersistVisibility) {
|
|
@@ -10398,7 +10403,7 @@ function useTableHandlers({
|
|
|
10398
10403
|
columnVisibility: nextValue
|
|
10399
10404
|
});
|
|
10400
10405
|
}, [actions, stateSnapshot.columnVisibility, canPersistVisibility, updateSavedColumnVisibility, onLayoutChange, effectiveColumnOrder]);
|
|
10401
|
-
const handleRowSelectionChange =
|
|
10406
|
+
const handleRowSelectionChange = useCallback7((updaterOrValue) => {
|
|
10402
10407
|
const currentSelection = selection ?? state.rowSelection;
|
|
10403
10408
|
const nextSelection = typeof updaterOrValue === "function" ? updaterOrValue(currentSelection) : updaterOrValue;
|
|
10404
10409
|
if (selection === void 0) {
|
|
@@ -10408,19 +10413,19 @@ function useTableHandlers({
|
|
|
10408
10413
|
}
|
|
10409
10414
|
onRowSelectionChange?.(nextSelection);
|
|
10410
10415
|
}, [actions, selection, state.rowSelection, onRowSelectionChange]);
|
|
10411
|
-
const handleGroupingChange =
|
|
10416
|
+
const handleGroupingChange = useCallback7((updaterOrValue) => {
|
|
10412
10417
|
const nextValue = typeof updaterOrValue === "function" ? updaterOrValue(stateSnapshot.grouping) : updaterOrValue;
|
|
10413
10418
|
actions.setGrouping(nextValue);
|
|
10414
10419
|
}, [actions, stateSnapshot.grouping]);
|
|
10415
|
-
const handleExpandedChange =
|
|
10420
|
+
const handleExpandedChange = useCallback7((updaterOrValue) => {
|
|
10416
10421
|
const nextValue = typeof updaterOrValue === "function" ? updaterOrValue(stateSnapshot.expanded) : updaterOrValue;
|
|
10417
10422
|
actions.setExpanded(nextValue);
|
|
10418
10423
|
}, [actions, stateSnapshot.expanded]);
|
|
10419
|
-
const handlePaginationChange =
|
|
10424
|
+
const handlePaginationChange = useCallback7((updaterOrValue) => {
|
|
10420
10425
|
const nextValue = typeof updaterOrValue === "function" ? updaterOrValue(stateSnapshot.pagination) : updaterOrValue;
|
|
10421
10426
|
actions.setPagination(nextValue);
|
|
10422
10427
|
}, [actions, stateSnapshot.pagination]);
|
|
10423
|
-
const handleColumnOrderChange =
|
|
10428
|
+
const handleColumnOrderChange = useCallback7((updaterOrValue) => {
|
|
10424
10429
|
const nextValue = typeof updaterOrValue === "function" ? updaterOrValue(stateSnapshot.columnOrder) : updaterOrValue;
|
|
10425
10430
|
const normalizedOrder = nextValue.includes("select") ? ["select", ...nextValue.filter((id) => id !== "select")] : nextValue;
|
|
10426
10431
|
actions.setColumnOrder(normalizedOrder);
|
|
@@ -11517,7 +11522,7 @@ function getRowDescription(rowIndex, totalRows, isSelected = false, isEditing =
|
|
|
11517
11522
|
}
|
|
11518
11523
|
|
|
11519
11524
|
// src/components/DataTable/hooks/useKeyboardNavigation.ts
|
|
11520
|
-
import { useCallback as
|
|
11525
|
+
import { useCallback as useCallback8, useEffect as useEffect11, useRef as useRef5, useState as useState9 } from "react";
|
|
11521
11526
|
function useKeyboardNavigation(rowCount, columnCount, options = {}) {
|
|
11522
11527
|
const {
|
|
11523
11528
|
enabled = true,
|
|
@@ -11535,8 +11540,8 @@ function useKeyboardNavigation(rowCount, columnCount, options = {}) {
|
|
|
11535
11540
|
const internalTableRef = useRef5(null);
|
|
11536
11541
|
const tableRef = externalTableRef || internalTableRef;
|
|
11537
11542
|
const storedFocusRef = useRef5(null);
|
|
11538
|
-
const navigationTimeoutRef = useRef5();
|
|
11539
|
-
const getCellElement =
|
|
11543
|
+
const navigationTimeoutRef = useRef5(void 0);
|
|
11544
|
+
const getCellElement = useCallback8((rowIndex, columnIndex) => {
|
|
11540
11545
|
if (!tableRef.current) return null;
|
|
11541
11546
|
const tbody = tableRef.current.querySelector("tbody");
|
|
11542
11547
|
if (!tbody) return null;
|
|
@@ -11546,7 +11551,7 @@ function useKeyboardNavigation(rowCount, columnCount, options = {}) {
|
|
|
11546
11551
|
const cells = row.querySelectorAll('td[role="cell"], th[role="columnheader"]');
|
|
11547
11552
|
return cells[columnIndex] || null;
|
|
11548
11553
|
}, []);
|
|
11549
|
-
const getHeaderElement =
|
|
11554
|
+
const getHeaderElement = useCallback8((columnIndex) => {
|
|
11550
11555
|
if (!tableRef.current) return null;
|
|
11551
11556
|
const thead = tableRef.current.querySelector("thead");
|
|
11552
11557
|
if (!thead) return null;
|
|
@@ -11555,7 +11560,7 @@ function useKeyboardNavigation(rowCount, columnCount, options = {}) {
|
|
|
11555
11560
|
const headers = headerRow.querySelectorAll('th[role="columnheader"]');
|
|
11556
11561
|
return headers[columnIndex] || null;
|
|
11557
11562
|
}, []);
|
|
11558
|
-
const focusCell =
|
|
11563
|
+
const focusCell = useCallback8((rowIndex, columnIndex) => {
|
|
11559
11564
|
if (!enabled) return;
|
|
11560
11565
|
const clampedRowIndex = Math.max(0, Math.min(rowIndex, rowCount - 1));
|
|
11561
11566
|
const clampedColumnIndex = Math.max(0, Math.min(columnIndex, columnCount - 1));
|
|
@@ -11574,7 +11579,7 @@ function useKeyboardNavigation(rowCount, columnCount, options = {}) {
|
|
|
11574
11579
|
announce(`Row ${clampedRowIndex + 1}, Column ${clampedColumnIndex + 1}`);
|
|
11575
11580
|
}
|
|
11576
11581
|
}, [enabled, rowCount, columnCount, getCellElement, onFocusChange, announceNavigation]);
|
|
11577
|
-
const focusNext =
|
|
11582
|
+
const focusNext = useCallback8(() => {
|
|
11578
11583
|
const { focusedRowIndex, focusedColumnIndex } = state;
|
|
11579
11584
|
if (focusedColumnIndex < columnCount - 1) {
|
|
11580
11585
|
focusCell(focusedRowIndex, focusedColumnIndex + 1);
|
|
@@ -11582,7 +11587,7 @@ function useKeyboardNavigation(rowCount, columnCount, options = {}) {
|
|
|
11582
11587
|
focusCell(focusedRowIndex + 1, 0);
|
|
11583
11588
|
}
|
|
11584
11589
|
}, [state, columnCount, rowCount, focusCell]);
|
|
11585
|
-
const focusPrevious =
|
|
11590
|
+
const focusPrevious = useCallback8(() => {
|
|
11586
11591
|
const { focusedRowIndex, focusedColumnIndex } = state;
|
|
11587
11592
|
if (focusedColumnIndex > 0) {
|
|
11588
11593
|
focusCell(focusedRowIndex, focusedColumnIndex - 1);
|
|
@@ -11590,37 +11595,37 @@ function useKeyboardNavigation(rowCount, columnCount, options = {}) {
|
|
|
11590
11595
|
focusCell(focusedRowIndex - 1, columnCount - 1);
|
|
11591
11596
|
}
|
|
11592
11597
|
}, [state, columnCount, focusCell]);
|
|
11593
|
-
const focusUp =
|
|
11598
|
+
const focusUp = useCallback8(() => {
|
|
11594
11599
|
const { focusedRowIndex, focusedColumnIndex } = state;
|
|
11595
11600
|
if (focusedRowIndex > 0) {
|
|
11596
11601
|
focusCell(focusedRowIndex - 1, focusedColumnIndex);
|
|
11597
11602
|
}
|
|
11598
11603
|
}, [state, focusCell]);
|
|
11599
|
-
const focusDown =
|
|
11604
|
+
const focusDown = useCallback8(() => {
|
|
11600
11605
|
const { focusedRowIndex, focusedColumnIndex } = state;
|
|
11601
11606
|
if (focusedRowIndex < rowCount - 1) {
|
|
11602
11607
|
focusCell(focusedRowIndex + 1, focusedColumnIndex);
|
|
11603
11608
|
}
|
|
11604
11609
|
}, [state, rowCount, focusCell]);
|
|
11605
|
-
const focusRowStart =
|
|
11610
|
+
const focusRowStart = useCallback8(() => {
|
|
11606
11611
|
const { focusedRowIndex } = state;
|
|
11607
11612
|
focusCell(focusedRowIndex, 0);
|
|
11608
11613
|
}, [state, focusCell]);
|
|
11609
|
-
const focusRowEnd =
|
|
11614
|
+
const focusRowEnd = useCallback8(() => {
|
|
11610
11615
|
const { focusedRowIndex } = state;
|
|
11611
11616
|
focusCell(focusedRowIndex, columnCount - 1);
|
|
11612
11617
|
}, [state, columnCount, focusCell]);
|
|
11613
|
-
const focusTableStart =
|
|
11618
|
+
const focusTableStart = useCallback8(() => {
|
|
11614
11619
|
focusCell(0, 0);
|
|
11615
11620
|
}, [focusCell]);
|
|
11616
|
-
const focusTableEnd =
|
|
11621
|
+
const focusTableEnd = useCallback8(() => {
|
|
11617
11622
|
focusCell(rowCount - 1, columnCount - 1);
|
|
11618
11623
|
}, [rowCount, columnCount, focusCell]);
|
|
11619
|
-
const getCellTabIndex =
|
|
11624
|
+
const getCellTabIndex = useCallback8((rowIndex, columnIndex) => {
|
|
11620
11625
|
if (!enabled) return -1;
|
|
11621
11626
|
return state.focusedRowIndex === rowIndex && state.focusedColumnIndex === columnIndex ? 0 : -1;
|
|
11622
11627
|
}, [enabled, state.focusedRowIndex, state.focusedColumnIndex]);
|
|
11623
|
-
const getCellKeyboardHandlers =
|
|
11628
|
+
const getCellKeyboardHandlers = useCallback8((rowIndex, columnIndex) => {
|
|
11624
11629
|
const onKeyDown = (event) => {
|
|
11625
11630
|
if (!enabled) return;
|
|
11626
11631
|
switch (event.key) {
|
|
@@ -11700,7 +11705,7 @@ function useKeyboardNavigation(rowCount, columnCount, options = {}) {
|
|
|
11700
11705
|
};
|
|
11701
11706
|
return { onKeyDown, onFocus, onBlur };
|
|
11702
11707
|
}, [enabled, focusNext, focusPrevious, focusUp, focusDown, focusRowStart, focusRowEnd, focusTableStart, focusTableEnd, onFocusChange]);
|
|
11703
|
-
const getHeaderKeyboardHandlers =
|
|
11708
|
+
const getHeaderKeyboardHandlers = useCallback8((columnIndex, onSort) => {
|
|
11704
11709
|
const onKeyDown = (event) => {
|
|
11705
11710
|
if (!enabled) return;
|
|
11706
11711
|
switch (event.key) {
|
|
@@ -11758,20 +11763,20 @@ function useKeyboardNavigation(rowCount, columnCount, options = {}) {
|
|
|
11758
11763
|
};
|
|
11759
11764
|
return { onKeyDown, onFocus };
|
|
11760
11765
|
}, [enabled, getHeaderElement, columnCount, supportsColumnReorder, supportsColumnResize]);
|
|
11761
|
-
const resetFocus =
|
|
11766
|
+
const resetFocus = useCallback8(() => {
|
|
11762
11767
|
setState({
|
|
11763
11768
|
focusedRowIndex: 0,
|
|
11764
11769
|
focusedColumnIndex: 0,
|
|
11765
11770
|
isNavigating: false
|
|
11766
11771
|
});
|
|
11767
11772
|
}, []);
|
|
11768
|
-
const storeFocus =
|
|
11773
|
+
const storeFocus = useCallback8(() => {
|
|
11769
11774
|
storedFocusRef.current = {
|
|
11770
11775
|
rowIndex: state.focusedRowIndex,
|
|
11771
11776
|
columnIndex: state.focusedColumnIndex
|
|
11772
11777
|
};
|
|
11773
11778
|
}, [state.focusedRowIndex, state.focusedColumnIndex]);
|
|
11774
|
-
const restoreFocus =
|
|
11779
|
+
const restoreFocus = useCallback8(() => {
|
|
11775
11780
|
if (storedFocusRef.current) {
|
|
11776
11781
|
const { rowIndex, columnIndex } = storedFocusRef.current;
|
|
11777
11782
|
focusCell(rowIndex, columnIndex);
|
|
@@ -11874,7 +11879,7 @@ function DataTableInternal(props) {
|
|
|
11874
11879
|
storageKey,
|
|
11875
11880
|
onLayoutChange
|
|
11876
11881
|
} = props;
|
|
11877
|
-
const logger2 =
|
|
11882
|
+
const logger2 = createLogger("DataTableCore");
|
|
11878
11883
|
const authResult = useUnifiedAuth();
|
|
11879
11884
|
const user = authResult.user;
|
|
11880
11885
|
const requestedFeatures = useMemo14(
|
|
@@ -11920,7 +11925,7 @@ function DataTableInternal(props) {
|
|
|
11920
11925
|
initializeLiveRegion();
|
|
11921
11926
|
}, []);
|
|
11922
11927
|
const rowSelection = selection !== void 0 ? selection : state.rowSelection;
|
|
11923
|
-
const resolvedGetRowId =
|
|
11928
|
+
const resolvedGetRowId = useCallback9(
|
|
11924
11929
|
(row, index) => getRowIdSafe(row, index, getRowId),
|
|
11925
11930
|
[getRowId]
|
|
11926
11931
|
);
|
|
@@ -12099,7 +12104,7 @@ function DataTableInternal(props) {
|
|
|
12099
12104
|
finalDataCount
|
|
12100
12105
|
]);
|
|
12101
12106
|
const isLoading = externalIsLoading || performanceLoading;
|
|
12102
|
-
const handleSearch =
|
|
12107
|
+
const handleSearch = useCallback9((value) => {
|
|
12103
12108
|
stateActions.setSearchQuery(value);
|
|
12104
12109
|
setSearchQuery(value);
|
|
12105
12110
|
if (secureFeatures.pagination) {
|
|
@@ -12631,7 +12636,7 @@ function DataTableCore(props) {
|
|
|
12631
12636
|
// src/components/DataTable/DataTable.tsx
|
|
12632
12637
|
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
12633
12638
|
function DataTable(props) {
|
|
12634
|
-
const logger2 =
|
|
12639
|
+
const logger2 = createLogger("DataTable");
|
|
12635
12640
|
const { features, ...rest } = props;
|
|
12636
12641
|
const normalizedFeatures = React21.useMemo(
|
|
12637
12642
|
() => normalizeDataTableFeatures(features),
|
|
@@ -12914,4 +12919,4 @@ lodash/lodash.js:
|
|
|
12914
12919
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
12915
12920
|
*)
|
|
12916
12921
|
*/
|
|
12917
|
-
//# sourceMappingURL=chunk-
|
|
12922
|
+
//# sourceMappingURL=chunk-T33XF5ZC.js.map
|