@procore/data-table 13.3.0 → 13.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import React82, { useState, forwardRef, useContext, useRef, useImperativeHandle, useLayoutEffect, useCallback, useMemo, memo, useEffect, Component as Component$1, createElement } from 'react';
2
2
  import { startsWith, equals, omit, isNil, mergeDeepLeft, intersection, isEmpty, groupBy } from 'ramda';
3
- import { useI18nContext, Select, Input, UNSAFE_useOverlayTriggerContext, Card, Flex, Box, SegmentedController, Calendar, useDateTime, OverlayTrigger, isEventSource, DateInput, UNSAFE_isValidYearRange, DateSelect, PillSelect, TextArea, UNSAFE_useMenuImperativeControlNavigation, UNSAFE_Menu, UNSAFE_menuItemsWrapperAttribute, Spinner, FlexList, Typography, Tooltip, Button, Required, colors, Form, spacing, Switch, Panel, UNSAFE_StyledFilterTokenLabel, typographyWeights, SelectButton, StyledSelectButton, StyledSelectButtonLabel, StyledButton, StyledSelectArrow, Popover, UNSAFE_StyledSuperSelectTrigger, UNSAFE_StyledSuperSelectLabel, UNSAFE_StyledSuperSelectArrow, DateTimeProvider, useField, Label, UNSAFE_mergeRefs, ContactItem as ContactItem$1, ToggleButton, Pagination, Link, AvatarStack, Pill, Typeahead, UNSAFE_FilterToken, useI18n, I18nContext, UNSAFE_SuperSelect, Avatar, MultiSelect, H3, Checkbox, useVisibility, UNSAFE_useSuperSelectContext, DropdownFlyout, StyledDropdownFlyoutLabel, StyledDropdownFlyoutExpandIcon, EmptyState as EmptyState$1 } from '@procore/core-react';
3
+ import { useI18nContext, Select, Input, UNSAFE_useOverlayTriggerContext, Card, Flex, Box, SegmentedController, Calendar, useDateTime, OverlayTrigger, isEventSource, DateInput, UNSAFE_isValidYearRange, DateSelect, PillSelect, TextArea, UNSAFE_useMenuImperativeControlNavigation, UNSAFE_Menu, UNSAFE_menuItemsWrapperAttribute, Spinner as Spinner$1, FlexList, Typography, Tooltip, Button, Required, colors, Form, spacing, Switch, Panel, UNSAFE_StyledFilterTokenLabel, typographyWeights, SelectButton, StyledSelectButton, StyledSelectButtonLabel, StyledButton, StyledSelectArrow, Popover, UNSAFE_StyledSuperSelectTrigger, UNSAFE_StyledSuperSelectLabel, UNSAFE_StyledSuperSelectArrow, DateTimeProvider, useField, Label, UNSAFE_mergeRefs, ContactItem as ContactItem$1, ToggleButton, Pagination, Link, AvatarStack, Pill, Typeahead, UNSAFE_FilterToken, useI18n, I18nContext, UNSAFE_SuperSelect, Avatar, MultiSelect, H3, Checkbox, useVisibility, UNSAFE_useSuperSelectContext, DropdownFlyout, StyledDropdownFlyoutLabel, StyledDropdownFlyoutExpandIcon, EmptyState as EmptyState$1 } from '@procore/core-react';
4
4
  import classnames from 'classnames/bind';
5
5
  import { Error as Error$1, Grip, Pencil, Building, Calendar as Calendar$1, CaretsInVertical, CaretsOutVertical, CaretsOutVerticalWithLine, CaretsIn, CaretsOut, CaretDown, CaretRight, ArrowDown, ArrowUp } from '@procore/core-icons';
6
6
  import classNames from 'classnames';
@@ -996,6 +996,41 @@ var rowHeightMap = {
996
996
  [rowSize.md]: "medium",
997
997
  [rowSize.lg]: "large"
998
998
  };
999
+ var Spinner = ({
1000
+ loading,
1001
+ ...rest
1002
+ }) => /* @__PURE__ */ React82.createElement(Box, { "data-qa": loading ? "loading" : "loaded", display: "flex-row", flex: 1 }, /* @__PURE__ */ React82.createElement(Spinner$1, { loading, size: "md", centered: true, ...rest }));
1003
+ function isNestedColumnDefinition(Column2) {
1004
+ return "children" in Column2;
1005
+ }
1006
+ function isNestedColDef(colDef) {
1007
+ if (!colDef.groupId) {
1008
+ return false;
1009
+ }
1010
+ return "groupId" in colDef;
1011
+ }
1012
+ function getLeafColDefs(columnDefinitions) {
1013
+ return columnDefinitions.flatMap((colDef) => {
1014
+ return isNestedColDef(colDef) ? getLeafColDefs(colDef.children) : [colDef];
1015
+ });
1016
+ }
1017
+ function isFirstColumn(params) {
1018
+ const displayedColumns = params?.columnApi?.getAllDisplayedColumns() || [];
1019
+ return displayedColumns.length ? displayedColumns[0] === params.column : false;
1020
+ }
1021
+ function getCheckboxColumn(columnApi) {
1022
+ const isGrouping = columnApi?.getRowGroupColumns?.()?.length !== 0;
1023
+ if (isGrouping) {
1024
+ return null;
1025
+ }
1026
+ const displayedColumns = columnApi?.getAllDisplayedColumns() || [];
1027
+ return displayedColumns.length ? displayedColumns[0] : null;
1028
+ }
1029
+ function removeEventListenerFromGrid(event, listener, gridApi) {
1030
+ if (!gridApi || gridApi?.destroyCalled)
1031
+ return;
1032
+ gridApi?.removeEventListener(event, listener);
1033
+ }
999
1034
 
1000
1035
  // src/styles.scss
1001
1036
  var styles_exports = {};
@@ -53792,7 +53827,7 @@ var LocationFilterOverlay = React82.forwardRef(
53792
53827
  getLabel3(item)
53793
53828
  );
53794
53829
  })),
53795
- loading && /* @__PURE__ */ React82.createElement(UNSAFE_Menu.Footer, null, /* @__PURE__ */ React82.createElement(Flex, { justifyContent: "center" }, /* @__PURE__ */ React82.createElement(Spinner, { size: "sm" })))
53830
+ loading && /* @__PURE__ */ React82.createElement(UNSAFE_Menu.Footer, null, /* @__PURE__ */ React82.createElement(Flex, { justifyContent: "center" }, /* @__PURE__ */ React82.createElement(Spinner$1, { size: "sm" })))
53796
53831
  ));
53797
53832
  }
53798
53833
  );
@@ -53995,8 +54030,16 @@ function useFilterState({
53995
54030
  }
53996
54031
  return () => {
53997
54032
  listenersEnabled.current = false;
53998
- gridApi?.removeEventListener("filterChanged", filterEventFunction);
53999
- gridApi?.removeEventListener("rowDataUpdated", filterEventFunction);
54033
+ removeEventListenerFromGrid(
54034
+ "filterChanged",
54035
+ filterEventFunction,
54036
+ gridApi
54037
+ );
54038
+ removeEventListenerFromGrid(
54039
+ "rowDataUpdated",
54040
+ filterEventFunction,
54041
+ gridApi
54042
+ );
54000
54043
  };
54001
54044
  }, [gridApi, columnDefinitions]);
54002
54045
  return { allAvailableFilters, changeFilterValue, filterableColumns };
@@ -54478,36 +54521,6 @@ var ServerSideFilter = ({
54478
54521
  )
54479
54522
  );
54480
54523
  };
54481
- var Spinner2 = ({
54482
- loading,
54483
- ...rest
54484
- }) => /* @__PURE__ */ React82.createElement(Box, { "data-qa": loading ? "loading" : "loaded", display: "flex-row", flex: 1 }, /* @__PURE__ */ React82.createElement(Spinner, { loading, size: "md", centered: true, ...rest }));
54485
- function isNestedColumnDefinition(Column2) {
54486
- return "children" in Column2;
54487
- }
54488
- function isNestedColDef(colDef) {
54489
- if (!colDef.groupId) {
54490
- return false;
54491
- }
54492
- return "groupId" in colDef;
54493
- }
54494
- function getLeafColDefs(columnDefinitions) {
54495
- return columnDefinitions.flatMap((colDef) => {
54496
- return isNestedColDef(colDef) ? getLeafColDefs(colDef.children) : [colDef];
54497
- });
54498
- }
54499
- function isFirstColumn(params) {
54500
- const displayedColumns = params?.columnApi?.getAllDisplayedColumns() || [];
54501
- return displayedColumns.length ? displayedColumns[0] === params.column : false;
54502
- }
54503
- function getCheckboxColumn(columnApi) {
54504
- const isGrouping = columnApi?.getRowGroupColumns?.()?.length !== 0;
54505
- if (isGrouping) {
54506
- return null;
54507
- }
54508
- const displayedColumns = columnApi?.getAllDisplayedColumns() || [];
54509
- return displayedColumns.length ? displayedColumns[0] : null;
54510
- }
54511
54524
 
54512
54525
  // src/utils/transformers.ts
54513
54526
  var emptyObject = {};
@@ -55205,7 +55218,7 @@ function ClientSideRowCheckbox(props) {
55205
55218
  useEffect(() => {
55206
55219
  props.api.addEventListener("rowSelected", handleRowSelection);
55207
55220
  return () => {
55208
- props.api.removeEventListener("rowSelected", handleRowSelection);
55221
+ removeEventListenerFromGrid("rowSelected", handleRowSelection, props.api);
55209
55222
  };
55210
55223
  }, []);
55211
55224
  return /* @__PURE__ */ React82.createElement(Box, { paddingRight: "md" }, /* @__PURE__ */ React82.createElement(
@@ -55316,7 +55329,11 @@ function GroupCaret(props) {
55316
55329
  props.api.addEventListener("rowGroupOpened", handleRowGroupToggle);
55317
55330
  return () => {
55318
55331
  mounted.current = false;
55319
- props.api.removeEventListener("rowGroupOpened", handleRowGroupToggle);
55332
+ removeEventListenerFromGrid(
55333
+ "rowGroupOpened",
55334
+ handleRowGroupToggle,
55335
+ props.api
55336
+ );
55320
55337
  };
55321
55338
  }, []);
55322
55339
  return /* @__PURE__ */ React82.createElement(Box, { className: AutoGroupCell_default.expandableCaret }, props.node.isExpandable() && /* @__PURE__ */ React82.createElement(
@@ -55342,7 +55359,11 @@ var AutoGroupCellRenderer = (props) => {
55342
55359
  useEffect(() => {
55343
55360
  props.api.addEventListener("cellValueChanged", handleCellValueChange);
55344
55361
  return () => {
55345
- props.api.removeEventListener("cellValueChanged", handleCellValueChange);
55362
+ removeEventListenerFromGrid(
55363
+ "cellValueChanged",
55364
+ handleCellValueChange,
55365
+ props.api
55366
+ );
55346
55367
  };
55347
55368
  }, []);
55348
55369
  const adjustedLevel = props.node.footer ? props.node.level + 1 : props.node.level;
@@ -56193,7 +56214,7 @@ var GenericHeaderRenderer = (props) => {
56193
56214
  props.api.addEventListener("columnMoved", calculatePosition);
56194
56215
  calculatePosition();
56195
56216
  return () => {
56196
- props.api.removeEventListener("columnMoved", calculatePosition);
56217
+ removeEventListenerFromGrid("columnMoved", calculatePosition, props.api);
56197
56218
  };
56198
56219
  }, []);
56199
56220
  const onSortToggled = (event) => {
@@ -56270,7 +56291,11 @@ var GenericHeaderRenderer = (props) => {
56270
56291
  };
56271
56292
  props.api?.addEventListener("expandOrCollapseAll", onExpandAllChange);
56272
56293
  return () => {
56273
- props.api?.removeEventListener("expandOrCollapseAll", onExpandAllChange);
56294
+ removeEventListenerFromGrid(
56295
+ "expandOrCollapseAll",
56296
+ onExpandAllChange,
56297
+ props.api
56298
+ );
56274
56299
  };
56275
56300
  }, [props.api]);
56276
56301
  React82.useEffect(() => {
@@ -56361,7 +56386,11 @@ var GenericHeaderRenderer = (props) => {
56361
56386
  props.api.addEventListener(selectionChanged, onSelectionChanged);
56362
56387
  onSelectionChanged();
56363
56388
  return () => {
56364
- props.api.removeEventListener(selectionChanged, onSelectionChanged);
56389
+ removeEventListenerFromGrid(
56390
+ selectionChanged,
56391
+ onSelectionChanged,
56392
+ props.api
56393
+ );
56365
56394
  };
56366
56395
  }, [isFirstColumn2, selectAll]);
56367
56396
  const { ref, isOverflowing, recalculate } = useOverflowObserver();
@@ -56370,8 +56399,8 @@ var GenericHeaderRenderer = (props) => {
56370
56399
  props.api.addEventListener("cellMouseOver", handler);
56371
56400
  props.api.addEventListener("columnResized", handler);
56372
56401
  return () => {
56373
- props.api.removeEventListener("cellMouseOver", handler);
56374
- props.api.removeEventListener("columnResized", handler);
56402
+ removeEventListenerFromGrid("cellMouseOver", handler, props.api);
56403
+ removeEventListenerFromGrid("columnResized", handler, props.api);
56375
56404
  };
56376
56405
  }, []);
56377
56406
  React82.useEffect(() => {
@@ -56397,8 +56426,16 @@ var GenericHeaderRenderer = (props) => {
56397
56426
  props.api.addEventListener(selectionChanged, updateSelectAllCheckbox);
56398
56427
  props.api.addEventListener(paginationChanged, updateSelectAllCheckbox);
56399
56428
  return () => {
56400
- props.api.removeEventListener(selectionChanged, updateSelectAllCheckbox);
56401
- props.api.removeEventListener(paginationChanged, updateSelectAllCheckbox);
56429
+ removeEventListenerFromGrid(
56430
+ selectionChanged,
56431
+ updateSelectAllCheckbox,
56432
+ props.api
56433
+ );
56434
+ removeEventListenerFromGrid(
56435
+ paginationChanged,
56436
+ updateSelectAllCheckbox,
56437
+ props.api
56438
+ );
56402
56439
  };
56403
56440
  }, [isFirstColumn2, props.selectionSSREnabled, props.api, onSSDR]);
56404
56441
  const toggleSelectAll = React82.useCallback(() => {
@@ -56606,7 +56643,7 @@ function CustomLoader(params) {
56606
56643
  level: params.node.level,
56607
56644
  lastRowInGroup: params.node === groupNodes.last
56608
56645
  }
56609
- ), /* @__PURE__ */ React82.createElement(Spinner2, { loading: true, size: "sm" }), /* @__PURE__ */ React82.createElement(Box, { paddingLeft: "sm" }, /* @__PURE__ */ React82.createElement(Typography, { color: "gray15", italic: true, intent: "small" }, I18n.t(
56646
+ ), /* @__PURE__ */ React82.createElement(Spinner, { loading: true, size: "sm" }), /* @__PURE__ */ React82.createElement(Box, { paddingLeft: "sm" }, /* @__PURE__ */ React82.createElement(Typography, { color: "gray15", italic: true, intent: "small" }, I18n.t(
56610
56647
  `dataTable.loading.${params.node === groupNodes.first ? "initial" : "secondary"}`
56611
56648
  ))));
56612
56649
  }
@@ -56616,7 +56653,7 @@ var DefaultFrameworkComponents = {
56616
56653
  agColumnHeader: GenericHeaderRenderer,
56617
56654
  agLoadingCellRenderer: CustomLoader,
56618
56655
  agColumnGroupHeader: GenericColumnGroupHeader,
56619
- loadingOverlayRenderer: Spinner2,
56656
+ loadingOverlayRenderer: Spinner,
56620
56657
  emptyStateRenderer: EmptyState
56621
56658
  };
56622
56659
  function getFrameworkComponents(headerMenuConfig, onSelectAll, selectionSSREnabled) {
@@ -58753,12 +58790,18 @@ var useRowSelectionState = () => {
58753
58790
  const { gridApi, rowSelectionRef } = useInternalTableContext();
58754
58791
  React82.useEffect(() => {
58755
58792
  function selectionEventFunction() {
58756
- setSelectedRows(getSelectedRows({ gridApi, rowSelectionRef }));
58793
+ if (!gridApi?.destroyCalled) {
58794
+ setSelectedRows(getSelectedRows({ gridApi, rowSelectionRef }));
58795
+ }
58757
58796
  }
58758
58797
  selectionEventFunction();
58759
58798
  gridApi?.addEventListener("selectionChanged", selectionEventFunction);
58760
58799
  return () => {
58761
- gridApi?.removeEventListener("selectionChanged", selectionEventFunction);
58800
+ removeEventListenerFromGrid(
58801
+ "selectionChanged",
58802
+ selectionEventFunction,
58803
+ gridApi
58804
+ );
58762
58805
  };
58763
58806
  }, [gridApi]);
58764
58807
  return selectedRows;
@@ -76259,7 +76302,7 @@ function personOptionRenderer(editorParams) {
76259
76302
  };
76260
76303
  }
76261
76304
  function LoadingField() {
76262
- return /* @__PURE__ */ React82.createElement(Box, { marginTop: "md" }, /* @__PURE__ */ React82.createElement(Spinner, { size: "sm", loading: true }));
76305
+ return /* @__PURE__ */ React82.createElement(Box, { marginTop: "md" }, /* @__PURE__ */ React82.createElement(Spinner$1, { size: "sm", loading: true }));
76263
76306
  }
76264
76307
  function RadioList({
76265
76308
  getId: getId3,
@@ -76587,7 +76630,7 @@ var BulkEditInput = (props) => {
76587
76630
  );
76588
76631
  } else {
76589
76632
  console.warn(
76590
- `@procore/labs-data-table: Unable to find the field for ${props.editor}. Will fallback to a Form.Text.`
76633
+ `@procore/data-table: Unable to find the field for ${props.editor}. Will fallback to a Form.Text.`
76591
76634
  );
76592
76635
  return defaultField;
76593
76636
  }
@@ -77048,9 +77091,10 @@ var ConfigurationColumns = React82.forwardRef(
77048
77091
  onDisplayedColumnsChanged
77049
77092
  );
77050
77093
  return () => {
77051
- gridApi?.removeEventListener(
77094
+ removeEventListenerFromGrid(
77052
77095
  "displayedColumnsChanged",
77053
- onDisplayedColumnsChanged
77096
+ onDisplayedColumnsChanged,
77097
+ gridApi
77054
77098
  );
77055
77099
  };
77056
77100
  }, [gridApi, colDefs]);
@@ -77895,9 +77939,10 @@ var RowGroupSelector = ({ localeText }) => {
77895
77939
  onDisplayedColumnsChanged
77896
77940
  );
77897
77941
  return () => {
77898
- gridApi?.removeEventListener(
77942
+ removeEventListenerFromGrid(
77899
77943
  "displayedColumnsChanged",
77900
- onDisplayedColumnsChanged
77944
+ onDisplayedColumnsChanged,
77945
+ gridApi
77901
77946
  );
77902
77947
  };
77903
77948
  }, [gridApi]);
@@ -79691,6 +79736,150 @@ var is_IS_default = {
79691
79736
  }
79692
79737
  };
79693
79738
 
79739
+ // src/locales/ja-JP.json
79740
+ var ja_JP_default = {
79741
+ dataTable: {
79742
+ emptyState: {
79743
+ noFilteredResults: {
79744
+ description: "\u30B9\u30DA\u30EB\u3068\u30D5\u30A3\u30EB\u30BF\u30FC\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u78BA\u8A8D\u3059\u308B\u304B\u3001\u5225\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u691C\u7D22\u3057\u307E\u3059\u3002",
79745
+ title: "\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u9805\u76EE\u306F\u3042\u308A\u307E\u305B\u3093",
79746
+ itemsTitle: "\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B%{itemsLabel}\u306F\u3042\u308A\u307E\u305B\u3093"
79747
+ },
79748
+ noResults: {
79749
+ description: "\u30C1\u30FC\u30E0\u304C\u3053\u308C\u3089\u306E\u9805\u76EE\u3092\u4F5C\u6210\u3057\u305F\u3089\u3001\u3053\u3061\u3089\u3067\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u3059\u3002 ",
79750
+ title: "\u73FE\u5728\u3001\u8868\u793A\u3059\u308B\u9805\u76EE\u304C\u3042\u308A\u307E\u305B\u3093",
79751
+ itemsTitle: "\u73FE\u5728\u3001\u8868\u793A\u3059\u308B%{itemsLabel}\u304C\u3042\u308A\u307E\u305B\u3093",
79752
+ tooltip: "\u60C5\u5831\u3092%{tableName}\u306B\u8FFD\u52A0\u3059\u308B\u3068\u3001[%{featureName}]\u30DC\u30BF\u30F3\u304C\u6709\u52B9\u306B\u306A\u308A\u307E\u3059",
79753
+ featureFilter: "\u30D5\u30A3\u30EB\u30BF\u30FC",
79754
+ featureSearch: "\u691C\u7D22",
79755
+ featureGroupBy: "\u30B0\u30EB\u30FC\u30D7\u5316",
79756
+ featureConfigure: "\u69CB\u6210",
79757
+ tableNameFallback: "\u8868"
79758
+ }
79759
+ },
79760
+ bulkActions: {
79761
+ apply: "\u9069\u7528\u3059\u308B",
79762
+ bulkEdit: "\u4E00\u62EC\u7DE8\u96C6",
79763
+ cancel: "\u30AD\u30E3\u30F3\u30BB\u30EB",
79764
+ editValues: "\u5024\u3092\u7DE8\u96C6\u3059\u308B",
79765
+ error: "\u7533\u3057\u8A33\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u9805\u76EE\u3092\u66F4\u65B0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002",
79766
+ placeholderForField: "%{fieldName}\u3092\u5165\u529B\u3059\u308B",
79767
+ selection: "%{count}%{number}\u3092\u9078\u629E\u3057\u307E\u3057\u305F",
79768
+ success: "\u9805\u76EE\u306F\u6B63\u5E38\u306B\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F\u3002",
79769
+ one: "\u9805\u76EE",
79770
+ many: "\u9805\u76EE"
79771
+ },
79772
+ exporting: "\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",
79773
+ filters: {
79774
+ filters: "\u30D5\u30A3\u30EB\u30BF\u30FC",
79775
+ moreFilters: "\u305D\u306E\u4ED6\u306E\u30D5\u30A3\u30EB\u30BF\u30FC",
79776
+ clearAllFilters: "\u3059\u3079\u3066\u306E\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u30AF\u30EA\u30A2",
79777
+ close: "\u9589\u3058\u308B",
79778
+ locationFilter: {
79779
+ selectAll: "\u3059\u3079\u3066\u3092\u9078\u629E\u3059\u308B",
79780
+ includeSublocations: "\u30B5\u30D6\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u542B\u3081\u308B",
79781
+ searchLocations: "\u5834\u6240\u3092\u691C\u7D22",
79782
+ locations: "\u5834\u6240"
79783
+ },
79784
+ numberFilter: {
79785
+ labels: {
79786
+ and: "\u305D\u3057\u3066",
79787
+ input_placeholder: "\u5024\u3092\u5165\u529B",
79788
+ placeholder: "\u9805\u76EE\u3092\u9078\u629E\u3059\u308B"
79789
+ },
79790
+ options: {
79791
+ any_value: "\u4EFB\u610F\u306E\u5024",
79792
+ is_between: "\u9593\u306B\u3042\u308B",
79793
+ greater_than: "\u3088\u308A\u5927\u304D\u3044",
79794
+ greater_than_equal_to: "\u4EE5\u4E0A\u3067\u3042\u308B",
79795
+ less_than: "\u672A\u6E80\u3067\u3042\u308B",
79796
+ less_than_equal_to: "\u4EE5\u4E0B\u3067\u3059",
79797
+ no_value: "\u5024\u304C\u3042\u308A\u307E\u305B\u3093"
79798
+ }
79799
+ }
79800
+ },
79801
+ loading: {
79802
+ initial: "\u60C5\u5831\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059\u3002",
79803
+ secondary: "\u60C5\u5831\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059\u3002\u3057\u3070\u3089\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002"
79804
+ },
79805
+ menuOptions: {
79806
+ sortMenuItem: {
79807
+ label: "\u3053\u306E\u5217\u3067\u4E26\u3079\u66FF\u3048\u308B",
79808
+ sortAscItem: "\u5217\u3092\u6607\u9806\u306B\u4E26\u3079\u66FF\u3048\u308B",
79809
+ sortDescItem: "\u5217\u3092\u964D\u9806\u306B\u4E26\u3079\u66FF\u3048\u308B",
79810
+ sortResetItem: "\u5217\u306F\u4E26\u3079\u66FF\u3048\u3089\u308C\u3066\u3044\u307E\u305B\u3093"
79811
+ },
79812
+ expandAllGroups: "\u3059\u3079\u3066\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u5C55\u958B\u3059\u308B",
79813
+ collapseAllGroups: "\u3059\u3079\u3066\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u6298\u308A\u305F\u305F\u3080",
79814
+ pinColumn: "\u5217\u3092\u30D4\u30F3\u7559\u3081\u3059\u308B",
79815
+ pinLeft: "\u5DE6\u5074\u3092\u30D4\u30F3\u7559\u3081\u3059\u308B",
79816
+ pinRight: "\u53F3\u5074\u3092\u30D4\u30F3\u7559\u3081\u3059\u308B",
79817
+ noPin: "\u30D4\u30F3\u7559\u3081\u306F\u3042\u308A\u307E\u305B\u3093",
79818
+ autoSizeThisColumn: "\u3053\u306E\u5217\u3092\u81EA\u52D5\u30B5\u30A4\u30BA\u8ABF\u6574\u3059\u308B",
79819
+ autoSizeAllColumns: "\u3059\u3079\u3066\u306E\u5217\u3092\u81EA\u52D5\u30B5\u30A4\u30BA\u8ABF\u6574\u3059\u308B",
79820
+ resetColumns: "\u5217\u3092\u30EA\u30BB\u30C3\u30C8\u3059\u308B",
79821
+ unGroupBy: "{{label}}\u3067\u30B0\u30EB\u30FC\u30D7\u5316\u3092\u89E3\u9664\u3059\u308B",
79822
+ groupBy: "{{label}}\u3067\u30B0\u30EB\u30FC\u30D7\u5316\u3059\u308B"
79823
+ },
79824
+ grandTotals: "\u5358\u7D14\u96C6\u8A08",
79825
+ search: "\u691C\u7D22",
79826
+ subtotals: "\u5C0F\u8A08",
79827
+ tableSettings: {
79828
+ configureColumns: "\u5217\u3092\u69CB\u6210",
79829
+ resetToDefault: "\u3059\u3079\u3066\u3092\u8868\u793A\u3059\u308B",
79830
+ rowHeight: "\u5217\u306E\u9AD8\u3055",
79831
+ small: "\u5C0F",
79832
+ medium: "\u4E2D",
79833
+ large: "\u5927",
79834
+ tableSettings: "\u8868\u306E\u8A2D\u5B9A",
79835
+ groupBy: "\u30B0\u30EB\u30FC\u30D7\u5316:",
79836
+ reset: "\u30EA\u30BB\u30C3\u30C8",
79837
+ selectColumnGroup: "\u30B0\u30EB\u30FC\u30D7\u5316\u3059\u308B\u5217\u3092\u9078\u629E"
79838
+ },
79839
+ rowGroupToggle: {
79840
+ expandTierOne: "\u8868\u306E\u6700\u521D\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u958B\u304D\u307E\u3059\u3002",
79841
+ expandAll: "\u8868\u306E\u3059\u3079\u3066\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u958B\u304D\u307E\u3059\u3002",
79842
+ collapseAll: "\u8868\u306E\u3059\u3079\u3066\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u9589\u3058\u307E\u3059\u3002"
79843
+ },
79844
+ columnGroupToggle: {
79845
+ collapse: "\u5217\u30B0\u30EB\u30FC\u30D7\u3092\u6298\u308A\u7573\u3080",
79846
+ expand: "\u5217\u30B0\u30EB\u30FC\u30D7\u3092\u5C55\u958B\u3059\u308B"
79847
+ },
79848
+ cells: {
79849
+ textCell: {
79850
+ placeholder: "\u30C6\u30AD\u30B9\u30C8\u3092\u5165\u529B\u3059\u308B"
79851
+ },
79852
+ currencyCell: {
79853
+ placeholder: "\u901A\u8CA8\u3092\u5165\u529B\u3059\u308B"
79854
+ },
79855
+ numberCell: {
79856
+ placeholder: "\u756A\u53F7\u3092\u5165\u529B\u3059\u308B"
79857
+ },
79858
+ percentCell: {
79859
+ placeholder: "%\u3092\u5165\u529B"
79860
+ },
79861
+ pillCell: {
79862
+ placeholder: "{{label}}\u3092\u9078\u629E\u3059\u308B"
79863
+ },
79864
+ selectCell: {
79865
+ placeholder: "{{label}}\u3092\u9078\u629E\u3059\u308B"
79866
+ },
79867
+ booleanCell: {
79868
+ options: {
79869
+ yes: "\u306F\u3044",
79870
+ no: "\u3044\u3044\u3048"
79871
+ }
79872
+ }
79873
+ },
79874
+ filterRenders: {
79875
+ dateFilter: {
79876
+ single: "\u5358\u72EC",
79877
+ range: "\u7BC4\u56F2"
79878
+ }
79879
+ }
79880
+ }
79881
+ };
79882
+
79694
79883
  // src/locales/pt-BR.json
79695
79884
  var pt_BR_default = {
79696
79885
  dataTable: {
@@ -80135,6 +80324,7 @@ var translations = {
80135
80324
  "fr-CA": fr_CA_default,
80136
80325
  "fr-FR": fr_FR_default,
80137
80326
  "is-IS": is_IS_default,
80327
+ "ja-JP": ja_JP_default,
80138
80328
  "pt-BR": pt_BR_default,
80139
80329
  "th-TH": th_TH_default,
80140
80330
  "zh-SG": zh_SG_default
@@ -81405,7 +81595,9 @@ var Table = (props) => {
81405
81595
  maxHeight = nodeHeight;
81406
81596
  }
81407
81597
  });
81408
- gridApi?.setHeaderHeight(maxHeight);
81598
+ if (!gridApi?.destroyCalled) {
81599
+ gridApi?.setHeaderHeight(maxHeight);
81600
+ }
81409
81601
  }
81410
81602
  React82.useEffect(() => {
81411
81603
  if (gridApi && columnApi && internalTableContext.tableRef?.current) {
@@ -81416,7 +81608,11 @@ var Table = (props) => {
81416
81608
  gridApi.addEventListener("firstDataRendered", setHeaderHeight);
81417
81609
  setHeaderHeight();
81418
81610
  return () => {
81419
- gridApi.removeEventListener("firstDataRendered", setHeaderHeight);
81611
+ removeEventListenerFromGrid(
81612
+ "firstDataRendered",
81613
+ setHeaderHeight,
81614
+ gridApi
81615
+ );
81420
81616
  };
81421
81617
  }
81422
81618
  return;
@@ -81648,6 +81844,8 @@ var Table = (props) => {
81648
81844
  const onDisplayedColumnsChanged = React82.useCallback(
81649
81845
  (event) => {
81650
81846
  if (props.onRowDragEnd) {
81847
+ if (event.columnApi?.destroyCalled)
81848
+ return;
81651
81849
  const firstVisibleColumn = event.columnApi.getAllGridColumns().find((col) => col.isVisible());
81652
81850
  if (!firstVisibleColumn?.getColDef().rowDrag) {
81653
81851
  adjustRowDragIcon(event.api, event.columnApi);
@@ -81941,7 +82139,7 @@ var Table = (props) => {
81941
82139
  props.UNSAFE_internalAGGridOverrides ?? {}
81942
82140
  );
81943
82141
  return /* @__PURE__ */ React82.createElement(
81944
- Spinner2,
82142
+ Spinner,
81945
82143
  {
81946
82144
  loading: loadingStatus.loading,
81947
82145
  label: loadingStatus.message,
@@ -82108,7 +82306,11 @@ var TablePagination = ({
82108
82306
  }
82109
82307
  gridApi?.addEventListener("paginationChanged", onPaginationChanged);
82110
82308
  return () => {
82111
- gridApi?.removeEventListener("paginationChanged", onPaginationChanged);
82309
+ removeEventListenerFromGrid(
82310
+ "paginationChanged",
82311
+ onPaginationChanged,
82312
+ gridApi
82313
+ );
82112
82314
  };
82113
82315
  }, []);
82114
82316
  return /* @__PURE__ */ React82.createElement(
@@ -82668,7 +82870,7 @@ var LocationQuickFilterOverlay = React82.forwardRef(
82668
82870
  getLabel3(item)
82669
82871
  );
82670
82872
  })),
82671
- loading && /* @__PURE__ */ React82.createElement(UNSAFE_Menu.Footer, null, /* @__PURE__ */ React82.createElement(Flex, { justifyContent: "center" }, /* @__PURE__ */ React82.createElement(Spinner, { size: "sm" })))
82873
+ loading && /* @__PURE__ */ React82.createElement(UNSAFE_Menu.Footer, null, /* @__PURE__ */ React82.createElement(Flex, { justifyContent: "center" }, /* @__PURE__ */ React82.createElement(Spinner$1, { size: "sm" })))
82672
82874
  ));
82673
82875
  }
82674
82876
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@procore/data-table",
3
- "version": "13.3.0",
3
+ "version": "13.3.2",
4
4
  "description": "Complex data grid built on top of ag-grid, with DST components and styles.",
5
5
  "main": "dist/legacy/index.js",
6
6
  "module": "dist/legacy/index.mjs",
@@ -103,7 +103,7 @@
103
103
  "@procore/core-css": "10.17.0",
104
104
  "@procore/core-icons": "12.0.0",
105
105
  "@procore/core-prettier": "10.2.0",
106
- "@procore/core-react": "11.31.1",
106
+ "@procore/core-react": "11.33.0",
107
107
  "@procore/eslint-config": "10.0.0",
108
108
  "@procore/labs-financials-utils": "3.0.1",
109
109
  "@procore/labs-procore-environment": "3.2.0",