impact-ui 4.0.18 → 5.0.0-alpha.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.
Files changed (178) hide show
  1. package/README.md +8 -9
  2. package/dist/_virtual/_commonjsHelpers.js +0 -2
  3. package/dist/components/Input/index.js +2 -2
  4. package/dist/components/KeyboardShortCuts/ShortcutLandingPage.js +1 -1
  5. package/dist/components/KeyboardShortCuts/ShortcutModal.js +1 -1
  6. package/dist/components/KeyboardShortCuts/allSetBox.js +1 -1
  7. package/dist/components/KeyboardShortCuts/index.d.ts.map +1 -1
  8. package/dist/components/KeyboardShortCuts/index.js +38 -112
  9. package/dist/components/KeyboardShortCuts/tutorial.js +1 -1
  10. package/dist/components/OnboardingTour/index.d.ts +61 -0
  11. package/dist/components/OnboardingTour/index.d.ts.map +1 -0
  12. package/dist/components/OnboardingTour/index.js +232 -0
  13. package/dist/components/OnboardingTour/productTourList.d.ts +39 -0
  14. package/dist/components/OnboardingTour/productTourList.d.ts.map +1 -0
  15. package/dist/components/OnboardingTour/productTourList.js +86 -0
  16. package/dist/components/OnboardingTour/tooltipCard.d.ts +45 -0
  17. package/dist/components/OnboardingTour/tooltipCard.d.ts.map +1 -0
  18. package/dist/components/OnboardingTour/tooltipCard.js +96 -0
  19. package/dist/components/OnboardingTour/useTooltipCardPosition.d.ts +29 -0
  20. package/dist/components/OnboardingTour/useTooltipCardPosition.d.ts.map +1 -0
  21. package/dist/components/OnboardingTour/useTooltipCardPosition.js +221 -0
  22. package/dist/components/Select/index.d.ts.map +1 -1
  23. package/dist/components/Select/index.js +14 -5
  24. package/dist/components/{Table → TableV36}/AdvanceSearchModalItem.d.ts +3 -1
  25. package/dist/components/TableV36/AdvanceSearchModalItem.d.ts.map +1 -0
  26. package/dist/components/{Table → TableV36}/AdvanceSortModal.d.ts +3 -1
  27. package/dist/components/TableV36/AdvanceSortModal.d.ts.map +1 -0
  28. package/dist/components/{Table → TableV36}/AdvanceSortModal.js +41 -37
  29. package/dist/components/{Table → TableV36}/AgGridHeader.d.ts +2 -1
  30. package/dist/components/TableV36/AgGridHeader.d.ts.map +1 -0
  31. package/dist/components/{Table → TableV36}/AgGridHeader.js +93 -105
  32. package/dist/components/TableV36/AgGridHeaderGroup.d.ts +3 -0
  33. package/dist/components/TableV36/AgGridHeaderGroup.d.ts.map +1 -0
  34. package/dist/components/TableV36/AgGridHeaderGroup.js +29 -0
  35. package/dist/components/TableV36/CellTooltip.d.ts +14 -0
  36. package/dist/components/TableV36/CellTooltip.d.ts.map +1 -0
  37. package/dist/components/TableV36/CellTooltip.js +11 -0
  38. package/dist/components/{Table → TableV36}/CommentsPortal.d.ts +5 -3
  39. package/dist/components/TableV36/CommentsPortal.d.ts.map +1 -0
  40. package/dist/components/{Table → TableV36}/CommentsPortal.js +6 -10
  41. package/dist/components/TableV36/HighlightedText.d.ts +11 -0
  42. package/dist/components/TableV36/HighlightedText.d.ts.map +1 -0
  43. package/dist/components/TableV36/HighlightedText.js +20 -0
  44. package/dist/components/TableV36/NewAdvanceSearchModal/NewAdvanceSearchModal.d.ts.map +1 -0
  45. package/dist/components/{Table → TableV36}/NewAdvanceSearchModal/NewAdvanceSearchModal.js +26 -26
  46. package/dist/components/{Table → TableV36}/NewAdvanceSearchModal/NewAdvanceSearchModalItem.d.ts +5 -4
  47. package/dist/components/TableV36/NewAdvanceSearchModal/NewAdvanceSearchModalItem.d.ts.map +1 -0
  48. package/dist/components/{Table → TableV36}/NewAdvanceSearchModal/NewAdvanceSearchModalItem.js +19 -43
  49. package/dist/components/{Table → TableV36}/NoComments.d.ts +3 -1
  50. package/dist/components/TableV36/NoComments.d.ts.map +1 -0
  51. package/dist/components/{Table → TableV36}/NoComments.js +3 -5
  52. package/dist/components/TableV36/Table.types.d.ts +127 -0
  53. package/dist/components/TableV36/Table.types.d.ts.map +1 -0
  54. package/dist/components/TableV36/TableSkeletonCell.d.ts +18 -0
  55. package/dist/components/TableV36/TableSkeletonCell.d.ts.map +1 -0
  56. package/dist/components/TableV36/TableSkeletonCell.js +38 -0
  57. package/dist/components/TableV36/TableV36PortalContext.d.ts +6 -0
  58. package/dist/components/TableV36/TableV36PortalContext.d.ts.map +1 -0
  59. package/dist/components/TableV36/TableV36PortalContext.js +10 -0
  60. package/dist/components/{TableOld → TableV36}/actionBar.d.ts +3 -1
  61. package/dist/components/TableV36/actionBar.d.ts.map +1 -0
  62. package/dist/components/{Table → TableV36}/actionBar.js +1 -5
  63. package/dist/components/{Table → TableV36}/advanceSearchModal.d.ts +3 -1
  64. package/dist/components/TableV36/advanceSearchModal.d.ts.map +1 -0
  65. package/dist/components/{Table → TableV36}/filterUtils.d.ts +2 -56
  66. package/dist/components/TableV36/filterUtils.d.ts.map +1 -0
  67. package/dist/components/{Table → TableV36}/filterUtils.js +17 -100
  68. package/dist/components/TableV36/index.d.ts +3 -0
  69. package/dist/components/TableV36/index.d.ts.map +1 -0
  70. package/dist/components/TableV36/index.js +1858 -0
  71. package/dist/components/TableV36/mockData.d.ts.map +1 -0
  72. package/dist/components/TableV36/resolveTableLoadingOptions.d.ts +62 -0
  73. package/dist/components/TableV36/resolveTableLoadingOptions.d.ts.map +1 -0
  74. package/dist/components/TableV36/resolveTableLoadingOptions.js +52 -0
  75. package/dist/components/TableV36/resolveTableLoadingOptions.test.d.ts +2 -0
  76. package/dist/components/TableV36/resolveTableLoadingOptions.test.d.ts.map +1 -0
  77. package/dist/components/{TableOld → TableV36}/tableFunctions.d.ts +14 -10
  78. package/dist/components/TableV36/tableFunctions.d.ts.map +1 -0
  79. package/dist/components/{shared/tableColumnSettings/columnsTabV36.js → TableV36/tableFunctions.js} +666 -292
  80. package/dist/components/{Table → TableV36}/tableHeader.d.ts +7 -3
  81. package/dist/components/TableV36/tableHeader.d.ts.map +1 -0
  82. package/dist/components/{Table → TableV36}/tableHeader.js +26 -30
  83. package/dist/components/{TableOld → TableV36}/tableIcons.d.ts.map +1 -1
  84. package/dist/components/{Table → TableV36}/tableMoreOptions.d.ts +7 -3
  85. package/dist/components/TableV36/tableMoreOptions.d.ts.map +1 -0
  86. package/dist/components/{Table → TableV36}/tableMoreOptions.js +66 -86
  87. package/dist/components/{Table → TableV36}/tablePagination.d.ts +3 -1
  88. package/dist/components/TableV36/tablePagination.d.ts.map +1 -0
  89. package/dist/components/{Table → TableV36}/tablePagination.js +9 -16
  90. package/dist/components/{Table → TableV36}/tableSettings.d.ts +6 -3
  91. package/dist/components/TableV36/tableSettings.d.ts.map +1 -0
  92. package/dist/components/{shared/tableColumnSettings/tableSettingsV36.js → TableV36/tableSettings.js} +34 -40
  93. package/dist/components/TableV36/tableUtils.d.ts +17 -0
  94. package/dist/components/TableV36/tableUtils.d.ts.map +1 -0
  95. package/dist/components/TableV36/tableUtils.js +60 -0
  96. package/dist/components/TableV36/withCommentIcon.d.ts +13 -0
  97. package/dist/components/TableV36/withCommentIcon.d.ts.map +1 -0
  98. package/dist/components/TableV36/withCommentIcon.js +134 -0
  99. package/dist/components/TextArea/index.js +1 -1
  100. package/dist/components/index.d.ts +3 -2
  101. package/dist/components/index.d.ts.map +1 -1
  102. package/dist/components/index.js +4 -4
  103. package/dist/components/shared/tableColumnSettings/agGridColumnSettingsApi.d.ts +2 -4
  104. package/dist/components/shared/tableColumnSettings/agGridColumnSettingsApi.d.ts.map +1 -1
  105. package/dist/mcp-component-registry.json +268 -337
  106. package/dist/node_modules/@impactsmartsuite/impact-icons/dist/index.js +250 -115
  107. package/dist/stories/tableStoryDefaults.d.ts +1 -1
  108. package/dist/stories/tableStoryDefaults.d.ts.map +1 -1
  109. package/dist/stories/tableStoryManyColumns.d.ts +1 -1
  110. package/dist/stories/tableV36ChatApiMock.d.ts +420 -0
  111. package/dist/stories/tableV36ChatApiMock.d.ts.map +1 -0
  112. package/dist/utils/helper.js +0 -60
  113. package/package.json +8 -8
  114. package/dist/_virtual/lodash.js +0 -4
  115. package/dist/components/Table/AdvanceSearchModalItem.d.ts.map +0 -1
  116. package/dist/components/Table/AdvanceSearchModalItem.js +0 -313
  117. package/dist/components/Table/AdvanceSortModal.d.ts.map +0 -1
  118. package/dist/components/Table/AgGridHeader.d.ts.map +0 -1
  119. package/dist/components/Table/CommentsPortal.d.ts.map +0 -1
  120. package/dist/components/Table/NewAdvanceSearchModal/NewAdvanceSearchModal.d.ts.map +0 -1
  121. package/dist/components/Table/NewAdvanceSearchModal/NewAdvanceSearchModalItem.d.ts.map +0 -1
  122. package/dist/components/Table/NoComments.d.ts.map +0 -1
  123. package/dist/components/Table/Table.types.d.ts +0 -40
  124. package/dist/components/Table/Table.types.d.ts.map +0 -1
  125. package/dist/components/Table/actionBar.d.ts +0 -7
  126. package/dist/components/Table/actionBar.d.ts.map +0 -1
  127. package/dist/components/Table/advanceSearchModal.d.ts.map +0 -1
  128. package/dist/components/Table/advanceSearchModal.js +0 -601
  129. package/dist/components/Table/agGridLocale.d.ts +0 -33
  130. package/dist/components/Table/agGridLocale.d.ts.map +0 -1
  131. package/dist/components/Table/agGridLocale.js +0 -59
  132. package/dist/components/Table/filterUtils.d.ts.map +0 -1
  133. package/dist/components/Table/filterUtils.test.d.ts +0 -2
  134. package/dist/components/Table/filterUtils.test.d.ts.map +0 -1
  135. package/dist/components/Table/index.d.ts +0 -4
  136. package/dist/components/Table/index.d.ts.map +0 -1
  137. package/dist/components/Table/index.js +0 -1441
  138. package/dist/components/Table/mockData.d.ts.map +0 -1
  139. package/dist/components/Table/tableFunctions.d.ts +0 -57
  140. package/dist/components/Table/tableFunctions.d.ts.map +0 -1
  141. package/dist/components/Table/tableFunctions.js +0 -1317
  142. package/dist/components/Table/tableHeader.d.ts.map +0 -1
  143. package/dist/components/Table/tableIcons.d.ts.map +0 -1
  144. package/dist/components/Table/tableMoreOptions.d.ts.map +0 -1
  145. package/dist/components/Table/tablePagination.d.ts.map +0 -1
  146. package/dist/components/Table/tableSettings.d.ts.map +0 -1
  147. package/dist/components/Table/tableSettings.js +0 -282
  148. package/dist/components/Table/withCommentIcon.d.ts +0 -2
  149. package/dist/components/Table/withCommentIcon.d.ts.map +0 -1
  150. package/dist/components/Table/withCommentIcon.js +0 -88
  151. package/dist/components/TableOld/AgGridHeader.d.ts +0 -14
  152. package/dist/components/TableOld/AgGridHeader.d.ts.map +0 -1
  153. package/dist/components/TableOld/AgGridHeader.js +0 -496
  154. package/dist/components/TableOld/actionBar.d.ts.map +0 -1
  155. package/dist/components/TableOld/actionBar.js +0 -35
  156. package/dist/components/TableOld/index.d.ts +0 -3
  157. package/dist/components/TableOld/index.d.ts.map +0 -1
  158. package/dist/components/TableOld/index.js +0 -645
  159. package/dist/components/TableOld/mockData.d.ts +0 -39
  160. package/dist/components/TableOld/mockData.d.ts.map +0 -1
  161. package/dist/components/TableOld/tableFunctions.d.ts.map +0 -1
  162. package/dist/components/TableOld/tableFunctions.js +0 -1321
  163. package/dist/components/TableOld/tableHeader.d.ts +0 -53
  164. package/dist/components/TableOld/tableHeader.d.ts.map +0 -1
  165. package/dist/components/TableOld/tableHeader.js +0 -229
  166. package/dist/components/TableOld/tableIcons.d.ts +0 -5
  167. package/dist/components/TableOld/tablePagination.d.ts +0 -8
  168. package/dist/components/TableOld/tablePagination.d.ts.map +0 -1
  169. package/dist/components/TableOld/tablePagination.js +0 -80
  170. package/dist/components/TableOld/tableSettings.d.ts +0 -11
  171. package/dist/components/TableOld/tableSettings.d.ts.map +0 -1
  172. package/dist/components/shared/tableColumnSettings/agGridColumnSettingsApi.js +0 -52
  173. package/dist/components/shared/tableColumnSettings/columnsSettingsColumnRow.js +0 -264
  174. package/dist/components/shared/tableColumnSettings/columnsSettingsVirtualList.js +0 -298
  175. package/dist/node_modules/lodash/lodash.js +0 -5486
  176. /package/dist/components/{Table → TableV36}/NewAdvanceSearchModal/NewAdvanceSearchModal.d.ts +0 -0
  177. /package/dist/components/{Table → TableV36}/mockData.d.ts +0 -0
  178. /package/dist/components/{Table → TableV36}/tableIcons.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import React__default, { useRef, useState, useCallback, useEffect, Fragment } from "react";
2
+ import React__default, { memo, useRef, useState, useCallback, useEffect, Fragment } from "react";
3
3
  import default_1$1 from "../../node_modules/@mui/icons-material/Close.js";
4
4
  import default_1$2 from "../../node_modules/@mui/icons-material/Search.js";
5
5
  import default_1 from "../../node_modules/@mui/icons-material/Tune.js";
@@ -10,11 +10,11 @@ import { DatePicker } from "../DatePicker/index.js";
10
10
  import { DateRangePicker } from "../DateRangePicker/index.js";
11
11
  import { Input } from "../Input/index.js";
12
12
  import { Select } from "../Select/index.js";
13
- import { isNumericValueColumn, handleNumericKeyDown, isPartialNumericInput, handleNumericPaste, syncFiltersWithModal, parseInlineSearchValue, buildFilterModelEntry } from "./filterUtils.js";
13
+ import { syncFiltersWithModal, parseInlineSearchValue, buildFilterModelEntry } from "./filterUtils.js";
14
+ import HighlightedText from "./HighlightedText.js";
14
15
  import { Tooltip } from "../Tooltip/index.js";
15
- import { useTranslation } from "../../i18n/useTranslation.js";
16
16
  import Badge from "../../node_modules/@mui/material/Badge/Badge.js";
17
- const TableSortIconUrl = getAssetUrl("icons/tableSortIcon.svg");
17
+ const TableSortIcon = getAssetUrl("icons/tableSortIcon.svg");
18
18
  const TableSortAscIcon = getAssetUrl("icons/Up.svg");
19
19
  const TableSortDescIcon = getAssetUrl("icons/Down.svg");
20
20
  function AgGridHeader({
@@ -28,8 +28,7 @@ function AgGridHeader({
28
28
  enableHeaderTextWrap = true,
29
29
  ...rest
30
30
  }) {
31
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa, _ba, _ca, _da, _ea, _fa, _ga, _ha, _ia, _ja, _ka, _la, _ma, _na, _oa, _pa, _qa, _ra, _sa;
32
- const { t } = useTranslation();
31
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa, _ba, _ca, _da, _ea, _fa, _ga, _ha, _ia, _ja, _ka, _la, _ma, _na, _oa, _pa, _qa, _ra, _sa, _ta, _ua, _va, _wa;
33
32
  if (!rest.column || !rest.api) {
34
33
  return null;
35
34
  }
@@ -87,7 +86,7 @@ function AgGridHeader({
87
86
  const containerRef = useRef(null);
88
87
  const [containerHeight, setContainerHeight] = useState(0);
89
88
  const onFilterChanged = useCallback(() => {
90
- var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2, _j2, _k2, _l2, _m2, _n2, _o2, _p2, _q2;
89
+ var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2, _j2, _k2, _l2, _m2, _n2;
91
90
  const newFilterModel = (_a2 = rest.api) == null ? void 0 : _a2.getFilterModel();
92
91
  const columnId = ((_b2 = rest.column) == null ? void 0 : _b2.field) || ((_c2 = rest.column) == null ? void 0 : _c2.colId);
93
92
  const columnFilter = newFilterModel == null ? void 0 : newFilterModel[columnId];
@@ -115,13 +114,13 @@ function AgGridHeader({
115
114
  }
116
115
  } else {
117
116
  filterValue = isMultiSelect && (columnFilter == null ? void 0 : columnFilter.conditions) ? (_f2 = columnFilter == null ? void 0 : columnFilter.conditions) == null ? void 0 : _f2.map((condition) => condition.filter) : columnFilter == null ? void 0 : columnFilter.filter;
118
- if (((_h2 = (_g2 = rest.column) == null ? void 0 : _g2.colDef) == null ? void 0 : _h2.thirdOptionAsDropdown) && filterValue != null && filterValue !== "") {
117
+ if (((_h2 = (_g2 = rest.column) == null ? void 0 : _g2.colDef) == null ? void 0 : _h2.thirdOptionAsDropdown) && filterValue) {
119
118
  const initialDropdownOption = (_j2 = (_i2 = rest.column) == null ? void 0 : _i2.colDef) == null ? void 0 : _j2.thirdOptionDropdownOptions;
120
119
  let option = null;
121
120
  if (isMultiSelect) {
122
121
  option = initialDropdownOption == null ? void 0 : initialDropdownOption.filter((option2) => filterValue.includes(option2.value));
123
122
  } else {
124
- option = initialDropdownOption == null ? void 0 : initialDropdownOption.find((option2) => option2.value == filterValue);
123
+ option = initialDropdownOption == null ? void 0 : initialDropdownOption.find((option2) => option2.value === filterValue);
125
124
  }
126
125
  if (option) {
127
126
  setSelectedDropdownOption(
@@ -133,12 +132,8 @@ function AgGridHeader({
133
132
  setSearchText(displayValue);
134
133
  }
135
134
  }
136
- const gridModel = (_m2 = (_l2 = rest.api) == null ? void 0 : _l2.getModel) == null ? void 0 : _m2.call(_l2);
137
- const advancedFilterModel = gridModel == null ? void 0 : gridModel.advancedFilterModel;
138
- if (advancedFilterModel && ((_n2 = rest.column) == null ? void 0 : _n2.colId) && advancedFilterModel[rest.column.colId]) ;
139
135
  }
140
- const isFilterEmpty = filterValue === null || filterValue === void 0 || filterValue === "";
141
- if (isFilterEmpty) {
136
+ if (!filterValue) {
142
137
  setSearchText("");
143
138
  setSelectedDropdownOption(isMultiSelect ? [] : null);
144
139
  setSelectedDate(null);
@@ -146,8 +141,8 @@ function AgGridHeader({
146
141
  setEndDate(null);
147
142
  setHasActiveSearch(false);
148
143
  } else {
149
- if (!((_p2 = (_o2 = rest.column) == null ? void 0 : _o2.colDef) == null ? void 0 : _p2.thirdOptionAsDropdown)) {
150
- const displayValue = getLabelFromDropdownValue(filterValue, (_q2 = rest.column) == null ? void 0 : _q2.colDef);
144
+ if (!((_m2 = (_l2 = rest.column) == null ? void 0 : _l2.colDef) == null ? void 0 : _m2.thirdOptionAsDropdown)) {
145
+ const displayValue = getLabelFromDropdownValue(filterValue, (_n2 = rest.column) == null ? void 0 : _n2.colDef);
151
146
  setSearchText(displayValue);
152
147
  }
153
148
  setHasActiveSearch(true);
@@ -272,17 +267,15 @@ function AgGridHeader({
272
267
  }, 0);
273
268
  };
274
269
  const applyFilterToGrid = (inputValue, filterType) => {
275
- var _a2, _b2, _c2, _d2, _e2;
276
- const currentFilterModel = {
277
- ...rest.sortModel || ((_b2 = (_a2 = rest.api) == null ? void 0 : _a2.getFilterModel) == null ? void 0 : _b2.call(_a2)) || {}
278
- };
279
- const filterEntry = buildFilterModelEntry(inputValue, filterType, (_c2 = rest.column) == null ? void 0 : _c2.colDef);
270
+ var _a2;
271
+ const currentFilterModel = rest.sortModel || rest.api.getFilterModel();
272
+ const filterEntry = buildFilterModelEntry(inputValue, filterType, (_a2 = rest.column) == null ? void 0 : _a2.colDef);
280
273
  if (filterEntry === void 0) {
281
274
  delete currentFilterModel[rest.column.colId];
282
275
  } else {
283
276
  currentFilterModel[rest.column.colId] = filterEntry;
284
277
  }
285
- (_e2 = (_d2 = rest.api) == null ? void 0 : _d2.setFilterModel) == null ? void 0 : _e2.call(_d2, currentFilterModel);
278
+ rest.api.setFilterModel(currentFilterModel);
286
279
  updateEmptyStateOverlay();
287
280
  };
288
281
  const debouncedHandleSearchChange = useCallback(
@@ -291,11 +284,6 @@ function AgGridHeader({
291
284
  }, debounceTime),
292
285
  []
293
286
  );
294
- const applySearchText = (value) => {
295
- setSearchText(value);
296
- setHasActiveSearch(value != null && value !== "");
297
- debouncedHandleSearchChange(value);
298
- };
299
287
  const handleSearch = (e) => {
300
288
  var _a2, _b2;
301
289
  e.stopPropagation();
@@ -332,7 +320,6 @@ function AgGridHeader({
332
320
  }
333
321
  updateEmptyStateOverlay();
334
322
  };
335
- const isNumericSearchColumn = isNumericValueColumn((_k = rest.column) == null ? void 0 : _k.colDef);
336
323
  const MIN_SEARCH_WIDTH = 200;
337
324
  const expandColumnIfNeeded = () => {
338
325
  var _a2;
@@ -350,10 +337,11 @@ function AgGridHeader({
350
337
  originalColumnWidthRef.current = null;
351
338
  }
352
339
  };
353
- const handleClickOutside = (event) => {
354
- setMenuvisible(false);
355
- };
356
340
  useEffect(() => {
341
+ if (!menuVisible) return void 0;
342
+ const handleClickOutside = () => {
343
+ setMenuvisible(false);
344
+ };
357
345
  document.addEventListener("click", handleClickOutside);
358
346
  return () => {
359
347
  document.removeEventListener("click", handleClickOutside);
@@ -387,30 +375,31 @@ function AgGridHeader({
387
375
  return (_a3 = rest.api) == null ? void 0 : _a3.removeEventListener("sortChanged", onSortChanged);
388
376
  };
389
377
  }, [rest.api, rest.column]);
390
- const onColumnMoved = (params) => {
391
- var _a2;
392
- if (((_a2 = params == null ? void 0 : params.column) == null ? void 0 : _a2.colId) && (showInputField || showDatePicker)) {
393
- rest.api.applyColumnState({
394
- state: [
395
- {
396
- colId: params.column.colId,
397
- width: params.column.actualWidth
398
- }
399
- ],
400
- defaultState: { width: null }
401
- });
402
- }
403
- };
378
+ const onColumnMoved = useCallback(
379
+ (params) => {
380
+ var _a2, _b2;
381
+ if (((_a2 = params == null ? void 0 : params.column) == null ? void 0 : _a2.colId) && (showInputField || showDatePicker)) {
382
+ (_b2 = rest.api) == null ? void 0 : _b2.applyColumnState({
383
+ state: [
384
+ {
385
+ colId: params.column.colId,
386
+ width: params.column.actualWidth
387
+ }
388
+ ],
389
+ defaultState: { width: null }
390
+ });
391
+ }
392
+ },
393
+ [rest.api, showInputField, showDatePicker]
394
+ );
404
395
  useEffect(() => {
405
- var _a2;
406
- if (rest) {
407
- (_a2 = rest.api) == null ? void 0 : _a2.addEventListener("columnResized", onColumnMoved);
408
- }
396
+ const api = rest.api;
397
+ if (!api) return void 0;
398
+ api.addEventListener("columnResized", onColumnMoved);
409
399
  return () => {
410
- var _a3;
411
- (_a3 = rest.api) == null ? void 0 : _a3.removeEventListener("columnResized", onColumnMoved);
400
+ api.removeEventListener("columnResized", onColumnMoved);
412
401
  };
413
- }, [rest]);
402
+ }, [rest.api, onColumnMoved]);
414
403
  useEffect(() => {
415
404
  var _a2;
416
405
  const colDef = (_a2 = rest.column) == null ? void 0 : _a2.colDef;
@@ -428,7 +417,7 @@ function AgGridHeader({
428
417
  colDef.suppressHeaderKeyboardEvent = originalSuppressHeaderKeyboardEventRef.current;
429
418
  }
430
419
  };
431
- }, [isInputFocused, (_l = rest.column) == null ? void 0 : _l.colId]);
420
+ }, [isInputFocused, (_k = rest.column) == null ? void 0 : _k.colId]);
432
421
  useEffect(() => {
433
422
  if (containerRef.current) {
434
423
  setContainerHeight(containerRef.current.clientHeight);
@@ -438,15 +427,15 @@ function AgGridHeader({
438
427
  "div",
439
428
  {
440
429
  ref: containerRef,
441
- className: `custom-ag-header-container ${((_n = (_m = rest.column) == null ? void 0 : _m.colDef) == null ? void 0 : _n.checkboxSelection) ? "checkbox-selection" : ""} ${((_p = (_o = rest.column) == null ? void 0 : _o.colDef) == null ? void 0 : _p.customHeaderIcons) || !((_r = (_q = rest.column) == null ? void 0 : _q.colDef) == null ? void 0 : _r.suppressMenu) || ((_t = (_s = rest.column) == null ? void 0 : _s.colDef) == null ? void 0 : _t.isSearchable) ? "with-icons" : ""}`,
430
+ className: `custom-ag-header-container ${((_m = (_l = rest.column) == null ? void 0 : _l.colDef) == null ? void 0 : _m.checkboxSelection) || ((_n = rest.column) == null ? void 0 : _n.colId) === "ag-Grid-SelectionColumn" ? "checkbox-selection" : ""} ${((_p = (_o = rest.column) == null ? void 0 : _o.colDef) == null ? void 0 : _p.customHeaderIcons) || !(((_r = (_q = rest.column) == null ? void 0 : _q.colDef) == null ? void 0 : _r.suppressHeaderMenuButton) ?? ((_t = (_s = rest.column) == null ? void 0 : _s.colDef) == null ? void 0 : _t.suppressMenu)) || ((_v = (_u = rest.column) == null ? void 0 : _u.colDef) == null ? void 0 : _v.isSearchable) ? "with-icons" : ""}`,
442
431
  onClick: () => rest.onClick(),
443
432
  children: showDatePicker ? /* @__PURE__ */ jsxs("div", { className: `ia-search-input-field ia-search-input-narrow`, children: [
444
- ((_v = (_u = rest.column) == null ? void 0 : _u.colDef) == null ? void 0 : _v.thirdOptionAsDateRangePicker) ? /* @__PURE__ */ jsx(
433
+ ((_x = (_w = rest.column) == null ? void 0 : _w.colDef) == null ? void 0 : _x.thirdOptionAsDateRangePicker) ? /* @__PURE__ */ jsx(
445
434
  DateRangePicker,
446
435
  {
447
436
  fullWidth: true,
448
437
  withPortal: true,
449
- customIcon: ((_x = (_w = rest.column) == null ? void 0 : _w.colDef) == null ? void 0 : _x.advanceSearchEnabled) && /* @__PURE__ */ jsx(
438
+ customIcon: ((_z = (_y = rest.column) == null ? void 0 : _y.colDef) == null ? void 0 : _z.advanceSearchEnabled) && /* @__PURE__ */ jsx(
450
439
  default_1,
451
440
  {
452
441
  className: "ia-search-input-field-custom-icon",
@@ -463,7 +452,7 @@ function AgGridHeader({
463
452
  }
464
453
  }
465
454
  ),
466
- displayFormat: ((_z = (_y = rest.column) == null ? void 0 : _y.colDef) == null ? void 0 : _z.displayFormat) || "MM-DD-YYYY",
455
+ displayFormat: ((_B = (_A = rest.column) == null ? void 0 : _A.colDef) == null ? void 0 : _B.displayFormat) || "MM-DD-YYYY",
467
456
  endDate,
468
457
  handleDatesChange: (start, end) => {
469
458
  setStartDate(start);
@@ -496,7 +485,7 @@ function AgGridHeader({
496
485
  fullWidth: true,
497
486
  showMonthYearSelect: true,
498
487
  withPortal: true,
499
- customIcon: ((_B = (_A = rest.column) == null ? void 0 : _A.colDef) == null ? void 0 : _B.advanceSearchEnabled) && /* @__PURE__ */ jsx(
488
+ customIcon: ((_D = (_C = rest.column) == null ? void 0 : _C.colDef) == null ? void 0 : _D.advanceSearchEnabled) && /* @__PURE__ */ jsx(
500
489
  default_1,
501
490
  {
502
491
  className: "ia-search-input-field-custom-icon",
@@ -512,10 +501,10 @@ function AgGridHeader({
512
501
  }
513
502
  }
514
503
  ),
515
- displayFormat: ((_D = (_C = rest.column) == null ? void 0 : _C.colDef) == null ? void 0 : _D.displayFormat) || "MM-DD-YYYY",
504
+ displayFormat: ((_F = (_E = rest.column) == null ? void 0 : _E.colDef) == null ? void 0 : _F.displayFormat) || "MM-DD-YYYY",
516
505
  maxDate: /* @__PURE__ */ new Date("2100-12-31"),
517
506
  minDate: /* @__PURE__ */ new Date("2000-01-01"),
518
- placeholder: t("table.filter.selectDate"),
507
+ placeholder: "Select Date",
519
508
  selectedDate,
520
509
  setSelectedDate,
521
510
  onPrimaryButtonClick: () => {
@@ -548,9 +537,9 @@ function AgGridHeader({
548
537
  "div",
549
538
  {
550
539
  className: `ia-search-input-field ia-search-input-narrow
551
- ${((_F = (_E = rest.column) == null ? void 0 : _E.colDef) == null ? void 0 : _F.thirdOptionAsDropdown) ? "with-dropdown" : ""}`,
540
+ ${((_H = (_G = rest.column) == null ? void 0 : _G.colDef) == null ? void 0 : _H.thirdOptionAsDropdown) ? "with-dropdown" : ""}`,
552
541
  children: [
553
- ((_H = (_G = rest.column) == null ? void 0 : _G.colDef) == null ? void 0 : _H.thirdOptionAsDropdown) && !((_J = (_I = rest.column) == null ? void 0 : _I.colDef) == null ? void 0 : _J.toShowDuplicateColumnInAdvanceSearch) ? /* @__PURE__ */ jsxs(
542
+ ((_J = (_I = rest.column) == null ? void 0 : _I.colDef) == null ? void 0 : _J.thirdOptionAsDropdown) && !((_L = (_K = rest.column) == null ? void 0 : _K.colDef) == null ? void 0 : _L.toShowDuplicateColumnInAdvanceSearch) ? /* @__PURE__ */ jsxs(
554
543
  "div",
555
544
  {
556
545
  id: "ia-select-option-dropdown-container",
@@ -566,13 +555,13 @@ function AgGridHeader({
566
555
  {
567
556
  currentOptions: currentDropdownOptions,
568
557
  dropDownPortalClassName: "ag-select-dropdown-portal",
569
- initialOptions: (_L = (_K = rest == null ? void 0 : rest.column) == null ? void 0 : _K.colDef) == null ? void 0 : _L.thirdOptionDropdownOptions,
558
+ initialOptions: (_N = (_M = rest == null ? void 0 : rest.column) == null ? void 0 : _M.colDef) == null ? void 0 : _N.thirdOptionDropdownOptions,
570
559
  isClearable: true,
571
- isMulti: (_N = (_M = rest == null ? void 0 : rest.column) == null ? void 0 : _M.colDef) == null ? void 0 : _N.enableMultiSelect,
560
+ isMulti: (_P = (_O = rest == null ? void 0 : rest.column) == null ? void 0 : _O.colDef) == null ? void 0 : _P.enableMultiSelect,
572
561
  isOpen: isDropdownOpen,
573
562
  isSelectAll,
574
- isWithSearch: (_P = (_O = rest == null ? void 0 : rest.column) == null ? void 0 : _O.colDef) == null ? void 0 : _P.enableSearch,
575
- placeholder: t("table.filter.selectOption"),
563
+ isWithSearch: (_R = (_Q = rest == null ? void 0 : rest.column) == null ? void 0 : _Q.colDef) == null ? void 0 : _R.enableSearch,
564
+ placeholder: "Select option",
576
565
  selectedOptions: selectedDropdownOption,
577
566
  setCurrentOptions: setCurrentDropdownOptions,
578
567
  setIsOpen: setIsDropdownOpen,
@@ -590,7 +579,7 @@ function AgGridHeader({
590
579
  }
591
580
  }
592
581
  },
593
- toggleSelectAll: (_R = (_Q = rest == null ? void 0 : rest.column) == null ? void 0 : _Q.colDef) == null ? void 0 : _R.enableMultiSelect,
582
+ toggleSelectAll: (_T = (_S = rest == null ? void 0 : rest.column) == null ? void 0 : _S.colDef) == null ? void 0 : _T.enableMultiSelect,
594
583
  onClearAll: () => {
595
584
  setSelectedDropdownOption(isMultiSelect ? [] : null);
596
585
  setHasActiveSearch(false);
@@ -598,22 +587,17 @@ function AgGridHeader({
598
587
  setIsSelectAll(false);
599
588
  },
600
589
  onDropdownClose: () => {
601
- if (isMultiSelect) {
602
- if ((selectedDropdownOption == null ? void 0 : selectedDropdownOption.length) > 0) {
603
- setHasActiveSearch(true);
604
- handleSearchChange(selectedDropdownOption);
605
- } else {
606
- setHasActiveSearch(false);
607
- handleSearchChange(null);
608
- }
590
+ if (isMultiSelect && (selectedDropdownOption == null ? void 0 : selectedDropdownOption.length) > 0) {
591
+ setHasActiveSearch(true);
592
+ handleSearchChange(selectedDropdownOption);
609
593
  }
610
594
  },
611
595
  withPortal: true,
612
596
  minWidth: "100%",
613
- ...(_T = (_S = rest.column) == null ? void 0 : _S.colDef) == null ? void 0 : _T.selectProps
597
+ ...(_V = (_U = rest.column) == null ? void 0 : _U.colDef) == null ? void 0 : _V.selectProps
614
598
  }
615
599
  ),
616
- ((_V = (_U = rest.column) == null ? void 0 : _U.colDef) == null ? void 0 : _V.advanceSearchEnabled) && /* @__PURE__ */ jsx(
600
+ ((_X = (_W = rest.column) == null ? void 0 : _W.colDef) == null ? void 0 : _X.advanceSearchEnabled) && /* @__PURE__ */ jsx(
617
601
  default_1,
618
602
  {
619
603
  className: "ia-search-input-field-custom-icon",
@@ -646,21 +630,9 @@ function AgGridHeader({
646
630
  Input,
647
631
  {
648
632
  ref: inputRef,
649
- iconClickOnDisabled: (_X = (_W = rest.column) == null ? void 0 : _W.colDef) == null ? void 0 : _X.toShowDuplicateColumnInAdvanceSearch,
650
- inputProps: {
651
- ...isNumericSearchColumn ? {
652
- // "text" so Shift+Minus (_) is not blocked by decimal inputMode; keys are
653
- // still validated in handleNumericKeyDown / isPartialNumericInput.
654
- inputMode: "text",
655
- onKeyDown: handleNumericKeyDown,
656
- onPaste: (e) => {
657
- handleNumericPaste(e, applySearchText);
658
- }
659
- } : {},
660
- ...((_Z = (_Y = rest.column) == null ? void 0 : _Y.colDef) == null ? void 0 : _Z.inputProps) ?? {}
661
- },
633
+ iconClickOnDisabled: (_Z = (_Y = rest.column) == null ? void 0 : _Y.colDef) == null ? void 0 : _Z.toShowDuplicateColumnInAdvanceSearch,
662
634
  isDisabled: (_$ = (__ = rest.column) == null ? void 0 : __.colDef) == null ? void 0 : _$.toShowDuplicateColumnInAdvanceSearch,
663
- placeholder: t("common.search"),
635
+ placeholder: "Search",
664
636
  rightIcon: /* @__PURE__ */ jsxs(Fragment, { children: [
665
637
  searchText.toString().length > 0 && /* @__PURE__ */ jsx(
666
638
  default_1$1,
@@ -692,11 +664,9 @@ function AgGridHeader({
692
664
  ] }),
693
665
  value: searchText,
694
666
  onChange: (e) => {
695
- const nextValue = e.target.value;
696
- if (isNumericSearchColumn && !isPartialNumericInput(nextValue)) {
697
- return;
698
- }
699
- applySearchText(nextValue);
667
+ setSearchText(e.target.value);
668
+ setHasActiveSearch(!!e.target.value);
669
+ debouncedHandleSearchChange(e.target.value);
700
670
  }
701
671
  }
702
672
  ),
@@ -722,7 +692,7 @@ function AgGridHeader({
722
692
  {
723
693
  className: `ag-header-cell-text ${((_da = (_ca = rest.column) == null ? void 0 : _ca.colDef) == null ? void 0 : _da.sortable) ? "sortable" : ""} ${enableHeaderTextWrap ? "header-wrap-enabled" : ""}`,
724
694
  children: [
725
- ((_fa = (_ea = rest.column) == null ? void 0 : _ea.colDef) == null ? void 0 : _fa.field) === "Selection" || ((_ha = (_ga = rest.column) == null ? void 0 : _ga.colDef) == null ? void 0 : _ha.checkboxSelection) ? children : /* @__PURE__ */ jsx(
695
+ ((_fa = (_ea = rest.column) == null ? void 0 : _ea.colDef) == null ? void 0 : _fa.field) === "Selection" || ((_ha = (_ga = rest.column) == null ? void 0 : _ga.colDef) == null ? void 0 : _ha.checkboxSelection) || ((_ia = rest.column) == null ? void 0 : _ia.colId) === "ag-Grid-SelectionColumn" ? children : /* @__PURE__ */ jsx(
726
696
  "div",
727
697
  {
728
698
  ref: headerTextRef,
@@ -740,18 +710,18 @@ function AgGridHeader({
740
710
  orientation: "top",
741
711
  title: isOverflowText && children !== "Selection" ? children : "",
742
712
  variant: "tertiary",
743
- children
713
+ children: typeof children === "string" && ((_ja = rest.context) == null ? void 0 : _ja.columnSearchText) ? /* @__PURE__ */ jsx(HighlightedText, { searchText: rest.context.columnSearchText, text: children }) : children
744
714
  }
745
715
  )
746
716
  }
747
717
  ),
748
- (_ja = (_ia = rest.column) == null ? void 0 : _ia.colDef) == null ? void 0 : _ja.headerIcons,
749
- ((_la = (_ka = rest.column) == null ? void 0 : _ka.colDef) == null ? void 0 : _la.sortable) && /* @__PURE__ */ jsx(
718
+ (_la = (_ka = rest.column) == null ? void 0 : _ka.colDef) == null ? void 0 : _la.headerIcons,
719
+ ((_na = (_ma = rest.column) == null ? void 0 : _ma.colDef) == null ? void 0 : _na.sortable) && /* @__PURE__ */ jsx(
750
720
  "img",
751
721
  {
752
722
  alt: "TableSortIcon",
753
723
  className: "ia-table-sort-icon",
754
- src: currentSort === "asc" ? TableSortAscIcon : currentSort === "desc" ? TableSortDescIcon : TableSortIconUrl,
724
+ src: currentSort === "asc" ? TableSortAscIcon : currentSort === "desc" ? TableSortDescIcon : TableSortIcon,
755
725
  onClick: onHeaderClick
756
726
  }
757
727
  )
@@ -763,10 +733,10 @@ function AgGridHeader({
763
733
  {
764
734
  className: `ia-icon-div ${hasActiveSearch ? "has-active-search" : ""} ${menuVisible ? "menu-visible" : ""}`,
765
735
  children: [
766
- (_oa = (_na = (_ma = rest.column) == null ? void 0 : _ma.colDef) == null ? void 0 : _na.customHeaderIcons) == null ? void 0 : _oa.map((icon) => {
736
+ (_qa = (_pa = (_oa = rest.column) == null ? void 0 : _oa.colDef) == null ? void 0 : _pa.customHeaderIcons) == null ? void 0 : _qa.map((icon) => {
767
737
  return icon;
768
738
  }),
769
- ((_qa = (_pa = rest.column) == null ? void 0 : _pa.colDef) == null ? void 0 : _qa.isSearchable) && (hasActiveSearch || !showInputField) && /* @__PURE__ */ jsx(Badge, { invisible: !hasActiveSearch, variant: "dot", children: /* @__PURE__ */ jsx(
739
+ ((_sa = (_ra = rest.column) == null ? void 0 : _ra.colDef) == null ? void 0 : _sa.isSearchable) && (hasActiveSearch || !showInputField) && /* @__PURE__ */ jsx(Badge, { invisible: !hasActiveSearch, variant: "dot", children: /* @__PURE__ */ jsx(
770
740
  default_1$2,
771
741
  {
772
742
  fontSize: "small",
@@ -787,7 +757,7 @@ function AgGridHeader({
787
757
  } : handleSearch
788
758
  }
789
759
  ) }),
790
- !((_sa = (_ra = rest.column) == null ? void 0 : _ra.colDef) == null ? void 0 : _sa.suppressMenu) && /* @__PURE__ */ jsx("div", { className: "custom-ag-header-icons", children: /* @__PURE__ */ jsx(
760
+ !(((_ua = (_ta = rest.column) == null ? void 0 : _ta.colDef) == null ? void 0 : _ua.suppressHeaderMenuButton) ?? ((_wa = (_va = rest.column) == null ? void 0 : _va.colDef) == null ? void 0 : _wa.suppressMenu)) && /* @__PURE__ */ jsx("div", { className: "custom-ag-header-icons", children: /* @__PURE__ */ jsx(
791
761
  "button",
792
762
  {
793
763
  ref: menuRef,
@@ -807,6 +777,24 @@ function AgGridHeader({
807
777
  }
808
778
  );
809
779
  }
780
+ function areHeaderPropsEqual(prev, next) {
781
+ const prevCol = prev == null ? void 0 : prev.column;
782
+ const nextCol = next == null ? void 0 : next.column;
783
+ if ((prevCol == null ? void 0 : prevCol.colId) !== (nextCol == null ? void 0 : nextCol.colId)) return false;
784
+ if ((prev == null ? void 0 : prev.displayName) !== (next == null ? void 0 : next.displayName)) return false;
785
+ if ((prev == null ? void 0 : prev.enableHeaderTextWrap) !== (next == null ? void 0 : next.enableHeaderTextWrap)) return false;
786
+ if ((prev == null ? void 0 : prev.debounceTime) !== (next == null ? void 0 : next.debounceTime)) return false;
787
+ const prevDef = (prevCol == null ? void 0 : prevCol.colDef) || {};
788
+ const nextDef = (nextCol == null ? void 0 : nextCol.colDef) || {};
789
+ if (prevDef.isSearchable !== nextDef.isSearchable) return false;
790
+ if (prevDef.sortable !== nextDef.sortable) return false;
791
+ if (prevDef.filter !== nextDef.filter) return false;
792
+ if ((prevDef.suppressHeaderMenuButton ?? prevDef.suppressMenu) !== (nextDef.suppressHeaderMenuButton ?? nextDef.suppressMenu)) {
793
+ return false;
794
+ }
795
+ return true;
796
+ }
797
+ const AgGridHeader$1 = memo(AgGridHeader, areHeaderPropsEqual);
810
798
  export {
811
- AgGridHeader as default
799
+ AgGridHeader$1 as default
812
800
  };
@@ -0,0 +1,3 @@
1
+ export declare const AgGridHeaderGroup: import('react').NamedExoticComponent<object>;
2
+ export default AgGridHeaderGroup;
3
+ //# sourceMappingURL=AgGridHeaderGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgGridHeaderGroup.d.ts","sourceRoot":"","sources":["../../../src/components/TableV36/AgGridHeaderGroup.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,iBAAiB,8CA0B5B,CAAC;AAIH,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { memo, useRef, useState } from "react";
3
+ import HighlightedText from "./HighlightedText.js";
4
+ import { Tooltip } from "../Tooltip/index.js";
5
+ const AgGridHeaderGroup = memo((props) => {
6
+ const { displayName, context } = props;
7
+ const textRef = useRef(null);
8
+ const [isOverflowText, setIsOverflowText] = useState(false);
9
+ const searchText = context == null ? void 0 : context.columnSearchText;
10
+ return /* @__PURE__ */ jsx(
11
+ "div",
12
+ {
13
+ ref: textRef,
14
+ className: "ia-header-group-text",
15
+ onMouseEnter: () => {
16
+ var _a, _b, _c, _d;
17
+ setIsOverflowText(
18
+ ((_a = textRef.current) == null ? void 0 : _a.scrollWidth) > ((_b = textRef.current) == null ? void 0 : _b.clientWidth) || ((_c = textRef.current) == null ? void 0 : _c.scrollHeight) > ((_d = textRef.current) == null ? void 0 : _d.clientHeight) + 1
19
+ );
20
+ },
21
+ children: /* @__PURE__ */ jsx(Tooltip, { orientation: "top", title: isOverflowText ? displayName : "", variant: "tertiary", children: searchText ? /* @__PURE__ */ jsx(HighlightedText, { searchText, text: displayName }) : /* @__PURE__ */ jsx("span", { children: displayName }) })
22
+ }
23
+ );
24
+ });
25
+ AgGridHeaderGroup.displayName = "AgGridHeaderGroup";
26
+ export {
27
+ AgGridHeaderGroup,
28
+ AgGridHeaderGroup as default
29
+ };
@@ -0,0 +1,14 @@
1
+ import { CustomTooltipProps } from 'ag-grid-react';
2
+
3
+ /**
4
+ * Impact-styled replacement for AG Grid's built-in tooltip bubble.
5
+ *
6
+ * AG Grid owns the trigger, positioning and show/hide of its tooltip and renders this component
7
+ * inside an already-placed popup, so the MUI-based `Tooltip` cannot be reused here — it needs its
8
+ * own hover anchor. This renders the bubble body only; `.impact-ag-tooltip` in `Table.styles.scss`
9
+ * mirrors the `tertiary` Tooltip variant. There is no arrow because AG Grid does not expose which
10
+ * side of the cell it placed the popup on.
11
+ */
12
+ declare const CellTooltip: ({ value, valueFormatted }: CustomTooltipProps) => import("react").JSX.Element | null;
13
+ export default CellTooltip;
14
+ //# sourceMappingURL=CellTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellTooltip.d.ts","sourceRoot":"","sources":["../../../src/components/TableV36/CellTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD;;;;;;;;GAQG;AACH,QAAA,MAAM,WAAW,GAAI,2BAA2B,kBAAkB,uCAYjE,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ const CellTooltip = ({ value, valueFormatted }) => {
3
+ const raw = valueFormatted ?? value;
4
+ if (raw === null || raw === void 0 || raw === "") {
5
+ return null;
6
+ }
7
+ return /* @__PURE__ */ jsx("div", { className: "impact-ag-tooltip", children: typeof raw === "object" ? JSON.stringify(raw) : String(raw) });
8
+ };
9
+ export {
10
+ CellTooltip as default
11
+ };
@@ -1,11 +1,13 @@
1
- declare const CommentsPortal: ({ isOpen, onClose, comments, onAddComment, cellId, position, author: authorProp, onMouseEnter, onMouseLeave, openedBy, onMenuClick, onMarkAsReadClick, onMarkAsResolvedClick, editCommentText, isLoading, error, onClearError, currentAuthor, editingComment, onUpdateComment, setEditingComment, loadParticipantsAvatar, resolvedComments, messageId, configuration, }: {
1
+ import { default as React } from 'react';
2
+
3
+ declare const CommentsPortal: ({ isOpen, onClose, comments, onAddComment, cellId, position, author, onMouseEnter, onMouseLeave, openedBy, onMenuClick, onMarkAsReadClick, onMarkAsResolvedClick, editCommentText, isLoading, error, onClearError, currentAuthor, editingComment, onUpdateComment, setEditingComment, loadParticipantsAvatar, resolvedComments, messageId, configuration, }: {
2
4
  isOpen: any;
3
5
  onClose: any;
4
6
  comments: any;
5
7
  onAddComment: any;
6
8
  cellId: any;
7
9
  position: any;
8
- author: any;
10
+ author?: string | undefined;
9
11
  onMouseEnter: any;
10
12
  onMouseLeave: any;
11
13
  openedBy: any;
@@ -24,6 +26,6 @@ declare const CommentsPortal: ({ isOpen, onClose, comments, onAddComment, cellId
24
26
  resolvedComments?: never[] | undefined;
25
27
  messageId?: null | undefined;
26
28
  configuration: any;
27
- }) => import('react').ReactPortal | null;
29
+ }) => React.ReactPortal | null;
28
30
  export default CommentsPortal;
29
31
  //# sourceMappingURL=CommentsPortal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommentsPortal.d.ts","sourceRoot":"","sources":["../../../src/components/TableV36/CommentsPortal.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAgBpE,QAAA,MAAM,cAAc,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BvB,6BA2WA,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -3,12 +3,11 @@ import { useState, useRef, useEffect } from "react";
3
3
  import { MoreHorizontal as MoreHorizontal_default, SuccessFill as SuccessFill_default, SuccessGray as SuccessGray_default, Close as Close_default } from "../../node_modules/@impactsmartsuite/impact-icons/dist/index.js";
4
4
  import moment from "moment";
5
5
  import { createPortal } from "react-dom";
6
- import { getUserAvatarColor } from "../../utils/avatarColor.js";
7
- import { toInnerHTML } from "../../utils/html.js";
8
6
  import { Avatar } from "../Avatar/index.js";
9
7
  import { Button } from "../Button/index.js";
10
8
  import NoComments from "./NoComments.js";
11
- import { useTranslation } from "../../i18n/useTranslation.js";
9
+ import { getUserAvatarColor } from "../../utils/avatarColor.js";
10
+ import { toInnerHTML } from "../../utils/html.js";
12
11
  const CommentsPortal = ({
13
12
  isOpen,
14
13
  onClose,
@@ -16,7 +15,7 @@ const CommentsPortal = ({
16
15
  onAddComment,
17
16
  cellId,
18
17
  position,
19
- author: authorProp,
18
+ author = "Current User",
20
19
  onMouseEnter,
21
20
  onMouseLeave,
22
21
  openedBy,
@@ -38,8 +37,6 @@ const CommentsPortal = ({
38
37
  messageId = null,
39
38
  configuration
40
39
  }) => {
41
- const { t } = useTranslation();
42
- authorProp || t("table.currentUser");
43
40
  if (!isOpen) return null;
44
41
  const [openFullReplies, setOpenFullReplies] = useState(openedBy == "click");
45
42
  const [adjustedPosition, setAdjustedPosition] = useState(position);
@@ -176,7 +173,7 @@ const CommentsPortal = ({
176
173
  },
177
174
  children: [
178
175
  openFullReplies && /* @__PURE__ */ jsx("div", { className: `comments-portal-header ${(position == null ? void 0 : position.side) == "left" ? "left" : ""}`, children: /* @__PURE__ */ jsxs("div", { className: "comments-portal-header-inner", children: [
179
- /* @__PURE__ */ jsx("h3", { children: t("table.comments.title") }),
176
+ /* @__PURE__ */ jsx("h3", { children: "Comments" }),
180
177
  /* @__PURE__ */ jsxs("div", { className: "comments-portal-header-buttons", children: [
181
178
  (comments == null ? void 0 : comments.length) >= 1 && !isResolved && !((configuration == null ? void 0 : configuration.disableMarkAsRead) && (configuration == null ? void 0 : configuration.disableDeleteThread)) && /* @__PURE__ */ jsx(
182
179
  Button,
@@ -200,12 +197,11 @@ const CommentsPortal = ({
200
197
  !(configuration == null ? void 0 : configuration.disableMarkAsResolved) && (isResolved ? /* @__PURE__ */ jsx(SuccessFill_default, { fontSize: "small" }) : /* @__PURE__ */ jsx(
201
198
  "div",
202
199
  {
203
- style: { cursor: "pointer" },
204
200
  onClick: (e) => {
205
201
  e.stopPropagation();
206
202
  if (onMarkAsResolvedClick) onMarkAsResolvedClick(cellId, comments);
207
203
  },
208
- children: /* @__PURE__ */ jsx(SuccessGray_default, { fontSize: "small" })
204
+ children: /* @__PURE__ */ jsx(SuccessGray_default, { className: "comment-success-icon", fontSize: "small" })
209
205
  }
210
206
  )),
211
207
  /* @__PURE__ */ jsx(
@@ -254,7 +250,7 @@ const CommentsPortal = ({
254
250
  /* @__PURE__ */ jsx("div", { className: "comment-item-author-name", children: comment.author }),
255
251
  /* @__PURE__ */ jsxs("div", { className: "comment-item-timestamp", children: [
256
252
  formatTimestamp(comment.timestamp),
257
- comment.isEdited && /* @__PURE__ */ jsx("span", { children: t("table.comments.edited") })
253
+ comment.isEdited && /* @__PURE__ */ jsx("span", { children: "(edited)" })
258
254
  ] })
259
255
  ] }),
260
256
  openFullReplies && isCurrentAuthor && (!(configuration == null ? void 0 : configuration.disableEditComment) || !(configuration == null ? void 0 : configuration.disableDeleteComment)) && /* @__PURE__ */ jsx(
@@ -0,0 +1,11 @@
1
+ export interface HighlightedTextProps {
2
+ /** un-highlighted text */
3
+ text: string;
4
+ /** Current search term */
5
+ searchText?: string | null;
6
+ /** Optional class */
7
+ className?: string;
8
+ }
9
+ declare const HighlightedText: import('react').NamedExoticComponent<HighlightedTextProps>;
10
+ export default HighlightedText;
11
+ //# sourceMappingURL=HighlightedText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HighlightedText.d.ts","sourceRoot":"","sources":["../../../src/components/TableV36/HighlightedText.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,QAAA,MAAM,eAAe,4DAyBnB,CAAC;AAEH,eAAe,eAAe,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { jsx, Fragment } from "react/jsx-runtime";
2
+ import { memo } from "react";
3
+ import { getSearchHighlightSegments } from "./tableUtils.js";
4
+ const HighlightedText = memo(function HighlightedText2({
5
+ text,
6
+ searchText,
7
+ className
8
+ }) {
9
+ const segments = getSearchHighlightSegments(text, searchText);
10
+ const hasMatch = segments.some((segment) => segment.isMatch);
11
+ if (!hasMatch) {
12
+ return className ? /* @__PURE__ */ jsx("span", { className, children: text }) : /* @__PURE__ */ jsx(Fragment, { children: text });
13
+ }
14
+ return /* @__PURE__ */ jsx("span", { className, children: segments.map(
15
+ (segment, index) => segment.isMatch ? /* @__PURE__ */ jsx("mark", { className: "ia-search-highlight", children: segment.text }, index) : /* @__PURE__ */ jsx("span", { children: segment.text }, index)
16
+ ) });
17
+ });
18
+ export {
19
+ HighlightedText as default
20
+ };