impact-ui 4.0.18 → 5.0.0-alpha.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.
Files changed (187) hide show
  1. package/README.md +8 -9
  2. package/dist/_virtual/_commonjsHelpers.js +0 -2
  3. package/dist/_virtual/index7.js +2 -2
  4. package/dist/_virtual/index8.js +2 -2
  5. package/dist/components/Chatbot/Chatbot.types.d.ts +2 -0
  6. package/dist/components/Chatbot/Chatbot.types.d.ts.map +1 -1
  7. package/dist/components/Chatbot/historyPanel.d.ts +1 -1
  8. package/dist/components/Chatbot/historyPanel.d.ts.map +1 -1
  9. package/dist/components/Chatbot/historyPanel.js +146 -90
  10. package/dist/components/Chatbot/index.d.ts +1 -1
  11. package/dist/components/Chatbot/index.d.ts.map +1 -1
  12. package/dist/components/Chatbot/index.js +3 -1
  13. package/dist/components/Input/index.js +2 -2
  14. package/dist/components/KeyboardShortCuts/ShortcutLandingPage.js +1 -1
  15. package/dist/components/KeyboardShortCuts/ShortcutModal.js +1 -1
  16. package/dist/components/KeyboardShortCuts/allSetBox.js +1 -1
  17. package/dist/components/KeyboardShortCuts/index.d.ts.map +1 -1
  18. package/dist/components/KeyboardShortCuts/index.js +38 -112
  19. package/dist/components/KeyboardShortCuts/tutorial.js +1 -1
  20. package/dist/components/OnboardingTour/index.d.ts +61 -0
  21. package/dist/components/OnboardingTour/index.d.ts.map +1 -0
  22. package/dist/components/OnboardingTour/index.js +232 -0
  23. package/dist/components/OnboardingTour/productTourList.d.ts +39 -0
  24. package/dist/components/OnboardingTour/productTourList.d.ts.map +1 -0
  25. package/dist/components/OnboardingTour/productTourList.js +86 -0
  26. package/dist/components/OnboardingTour/tooltipCard.d.ts +45 -0
  27. package/dist/components/OnboardingTour/tooltipCard.d.ts.map +1 -0
  28. package/dist/components/OnboardingTour/tooltipCard.js +96 -0
  29. package/dist/components/OnboardingTour/useTooltipCardPosition.d.ts +29 -0
  30. package/dist/components/OnboardingTour/useTooltipCardPosition.d.ts.map +1 -0
  31. package/dist/components/OnboardingTour/useTooltipCardPosition.js +221 -0
  32. package/dist/components/Select/index.d.ts.map +1 -1
  33. package/dist/components/Select/index.js +14 -5
  34. package/dist/components/{Table → TableV36}/AdvanceSearchModalItem.d.ts +3 -1
  35. package/dist/components/TableV36/AdvanceSearchModalItem.d.ts.map +1 -0
  36. package/dist/components/{Table → TableV36}/AdvanceSortModal.d.ts +3 -1
  37. package/dist/components/TableV36/AdvanceSortModal.d.ts.map +1 -0
  38. package/dist/components/{Table → TableV36}/AdvanceSortModal.js +35 -37
  39. package/dist/components/{Table → TableV36}/AgGridHeader.d.ts +2 -1
  40. package/dist/components/TableV36/AgGridHeader.d.ts.map +1 -0
  41. package/dist/components/{Table → TableV36}/AgGridHeader.js +93 -105
  42. package/dist/components/TableV36/AgGridHeaderGroup.d.ts +3 -0
  43. package/dist/components/TableV36/AgGridHeaderGroup.d.ts.map +1 -0
  44. package/dist/components/TableV36/AgGridHeaderGroup.js +29 -0
  45. package/dist/components/TableV36/CellTooltip.d.ts +14 -0
  46. package/dist/components/TableV36/CellTooltip.d.ts.map +1 -0
  47. package/dist/components/TableV36/CellTooltip.js +11 -0
  48. package/dist/components/{Table → TableV36}/CommentsPortal.d.ts +5 -3
  49. package/dist/components/TableV36/CommentsPortal.d.ts.map +1 -0
  50. package/dist/components/{Table → TableV36}/CommentsPortal.js +6 -10
  51. package/dist/components/TableV36/HighlightedText.d.ts +11 -0
  52. package/dist/components/TableV36/HighlightedText.d.ts.map +1 -0
  53. package/dist/components/TableV36/HighlightedText.js +20 -0
  54. package/dist/components/TableV36/NewAdvanceSearchModal/NewAdvanceSearchModal.d.ts.map +1 -0
  55. package/dist/components/{Table → TableV36}/NewAdvanceSearchModal/NewAdvanceSearchModal.js +23 -26
  56. package/dist/components/{Table → TableV36}/NewAdvanceSearchModal/NewAdvanceSearchModalItem.d.ts +5 -4
  57. package/dist/components/TableV36/NewAdvanceSearchModal/NewAdvanceSearchModalItem.d.ts.map +1 -0
  58. package/dist/components/{Table → TableV36}/NewAdvanceSearchModal/NewAdvanceSearchModalItem.js +19 -43
  59. package/dist/components/{Table → TableV36}/NoComments.d.ts +3 -1
  60. package/dist/components/TableV36/NoComments.d.ts.map +1 -0
  61. package/dist/components/{Table → TableV36}/NoComments.js +3 -5
  62. package/dist/components/TableV36/Table.types.d.ts +127 -0
  63. package/dist/components/TableV36/Table.types.d.ts.map +1 -0
  64. package/dist/components/TableV36/TableSkeletonCell.d.ts +18 -0
  65. package/dist/components/TableV36/TableSkeletonCell.d.ts.map +1 -0
  66. package/dist/components/TableV36/TableSkeletonCell.js +38 -0
  67. package/dist/components/{TableOld → TableV36}/actionBar.d.ts +3 -1
  68. package/dist/components/TableV36/actionBar.d.ts.map +1 -0
  69. package/dist/components/{Table → TableV36}/actionBar.js +1 -5
  70. package/dist/components/{Table → TableV36}/advanceSearchModal.d.ts +3 -1
  71. package/dist/components/TableV36/advanceSearchModal.d.ts.map +1 -0
  72. package/dist/components/{Table → TableV36}/filterUtils.d.ts +2 -56
  73. package/dist/components/TableV36/filterUtils.d.ts.map +1 -0
  74. package/dist/components/{Table → TableV36}/filterUtils.js +17 -100
  75. package/dist/components/TableV36/index.d.ts +3 -0
  76. package/dist/components/TableV36/index.d.ts.map +1 -0
  77. package/dist/components/TableV36/index.js +1767 -0
  78. package/dist/components/TableV36/mockData.d.ts.map +1 -0
  79. package/dist/components/TableV36/resolveTableLoadingOptions.d.ts +62 -0
  80. package/dist/components/TableV36/resolveTableLoadingOptions.d.ts.map +1 -0
  81. package/dist/components/TableV36/resolveTableLoadingOptions.js +52 -0
  82. package/dist/components/TableV36/resolveTableLoadingOptions.test.d.ts +2 -0
  83. package/dist/components/TableV36/resolveTableLoadingOptions.test.d.ts.map +1 -0
  84. package/dist/components/{TableOld → TableV36}/tableFunctions.d.ts +14 -10
  85. package/dist/components/TableV36/tableFunctions.d.ts.map +1 -0
  86. package/dist/components/{shared/tableColumnSettings/columnsTabV36.js → TableV36/tableFunctions.js} +663 -292
  87. package/dist/components/{Table → TableV36}/tableHeader.d.ts +5 -3
  88. package/dist/components/TableV36/tableHeader.d.ts.map +1 -0
  89. package/dist/components/{Table → TableV36}/tableHeader.js +17 -26
  90. package/dist/components/{TableOld → TableV36}/tableIcons.d.ts.map +1 -1
  91. package/dist/components/{Table → TableV36}/tableMoreOptions.d.ts +5 -3
  92. package/dist/components/TableV36/tableMoreOptions.d.ts.map +1 -0
  93. package/dist/components/{Table → TableV36}/tableMoreOptions.js +39 -84
  94. package/dist/components/{Table → TableV36}/tablePagination.d.ts +3 -1
  95. package/dist/components/TableV36/tablePagination.d.ts.map +1 -0
  96. package/dist/components/{Table → TableV36}/tablePagination.js +6 -16
  97. package/dist/components/{Table → TableV36}/tableSettings.d.ts +6 -3
  98. package/dist/components/TableV36/tableSettings.d.ts.map +1 -0
  99. package/dist/components/{shared/tableColumnSettings/tableSettingsV36.js → TableV36/tableSettings.js} +34 -40
  100. package/dist/components/TableV36/tableUtils.d.ts +17 -0
  101. package/dist/components/TableV36/tableUtils.d.ts.map +1 -0
  102. package/dist/components/TableV36/tableUtils.js +60 -0
  103. package/dist/components/TableV36/withCommentIcon.d.ts +13 -0
  104. package/dist/components/TableV36/withCommentIcon.d.ts.map +1 -0
  105. package/dist/components/TableV36/withCommentIcon.js +134 -0
  106. package/dist/components/TextArea/index.js +1 -1
  107. package/dist/components/index.d.ts +3 -2
  108. package/dist/components/index.d.ts.map +1 -1
  109. package/dist/components/index.js +4 -4
  110. package/dist/components/shared/tableColumnSettings/agGridColumnSettingsApi.d.ts +2 -4
  111. package/dist/components/shared/tableColumnSettings/agGridColumnSettingsApi.d.ts.map +1 -1
  112. package/dist/mcp-component-registry.json +274 -337
  113. package/dist/node_modules/@impactsmartsuite/impact-icons/dist/index.js +250 -115
  114. package/dist/node_modules/call-bind/index.js +1 -1
  115. package/dist/node_modules/is-symbol/index.js +1 -1
  116. package/dist/stories/tableStoryDefaults.d.ts +1 -1
  117. package/dist/stories/tableStoryDefaults.d.ts.map +1 -1
  118. package/dist/stories/tableStoryManyColumns.d.ts +1 -1
  119. package/dist/stories/tableV36ChatApiMock.d.ts +420 -0
  120. package/dist/stories/tableV36ChatApiMock.d.ts.map +1 -0
  121. package/dist/utils/helper.js +0 -60
  122. package/package.json +8 -8
  123. package/dist/_virtual/lodash.js +0 -4
  124. package/dist/components/Table/AdvanceSearchModalItem.d.ts.map +0 -1
  125. package/dist/components/Table/AdvanceSearchModalItem.js +0 -313
  126. package/dist/components/Table/AdvanceSortModal.d.ts.map +0 -1
  127. package/dist/components/Table/AgGridHeader.d.ts.map +0 -1
  128. package/dist/components/Table/CommentsPortal.d.ts.map +0 -1
  129. package/dist/components/Table/NewAdvanceSearchModal/NewAdvanceSearchModal.d.ts.map +0 -1
  130. package/dist/components/Table/NewAdvanceSearchModal/NewAdvanceSearchModalItem.d.ts.map +0 -1
  131. package/dist/components/Table/NoComments.d.ts.map +0 -1
  132. package/dist/components/Table/Table.types.d.ts +0 -40
  133. package/dist/components/Table/Table.types.d.ts.map +0 -1
  134. package/dist/components/Table/actionBar.d.ts +0 -7
  135. package/dist/components/Table/actionBar.d.ts.map +0 -1
  136. package/dist/components/Table/advanceSearchModal.d.ts.map +0 -1
  137. package/dist/components/Table/advanceSearchModal.js +0 -601
  138. package/dist/components/Table/agGridLocale.d.ts +0 -33
  139. package/dist/components/Table/agGridLocale.d.ts.map +0 -1
  140. package/dist/components/Table/agGridLocale.js +0 -59
  141. package/dist/components/Table/filterUtils.d.ts.map +0 -1
  142. package/dist/components/Table/filterUtils.test.d.ts +0 -2
  143. package/dist/components/Table/filterUtils.test.d.ts.map +0 -1
  144. package/dist/components/Table/index.d.ts +0 -4
  145. package/dist/components/Table/index.d.ts.map +0 -1
  146. package/dist/components/Table/index.js +0 -1441
  147. package/dist/components/Table/mockData.d.ts.map +0 -1
  148. package/dist/components/Table/tableFunctions.d.ts +0 -57
  149. package/dist/components/Table/tableFunctions.d.ts.map +0 -1
  150. package/dist/components/Table/tableFunctions.js +0 -1317
  151. package/dist/components/Table/tableHeader.d.ts.map +0 -1
  152. package/dist/components/Table/tableIcons.d.ts.map +0 -1
  153. package/dist/components/Table/tableMoreOptions.d.ts.map +0 -1
  154. package/dist/components/Table/tablePagination.d.ts.map +0 -1
  155. package/dist/components/Table/tableSettings.d.ts.map +0 -1
  156. package/dist/components/Table/tableSettings.js +0 -282
  157. package/dist/components/Table/withCommentIcon.d.ts +0 -2
  158. package/dist/components/Table/withCommentIcon.d.ts.map +0 -1
  159. package/dist/components/Table/withCommentIcon.js +0 -88
  160. package/dist/components/TableOld/AgGridHeader.d.ts +0 -14
  161. package/dist/components/TableOld/AgGridHeader.d.ts.map +0 -1
  162. package/dist/components/TableOld/AgGridHeader.js +0 -496
  163. package/dist/components/TableOld/actionBar.d.ts.map +0 -1
  164. package/dist/components/TableOld/actionBar.js +0 -35
  165. package/dist/components/TableOld/index.d.ts +0 -3
  166. package/dist/components/TableOld/index.d.ts.map +0 -1
  167. package/dist/components/TableOld/index.js +0 -645
  168. package/dist/components/TableOld/mockData.d.ts +0 -39
  169. package/dist/components/TableOld/mockData.d.ts.map +0 -1
  170. package/dist/components/TableOld/tableFunctions.d.ts.map +0 -1
  171. package/dist/components/TableOld/tableFunctions.js +0 -1321
  172. package/dist/components/TableOld/tableHeader.d.ts +0 -53
  173. package/dist/components/TableOld/tableHeader.d.ts.map +0 -1
  174. package/dist/components/TableOld/tableHeader.js +0 -229
  175. package/dist/components/TableOld/tableIcons.d.ts +0 -5
  176. package/dist/components/TableOld/tablePagination.d.ts +0 -8
  177. package/dist/components/TableOld/tablePagination.d.ts.map +0 -1
  178. package/dist/components/TableOld/tablePagination.js +0 -80
  179. package/dist/components/TableOld/tableSettings.d.ts +0 -11
  180. package/dist/components/TableOld/tableSettings.d.ts.map +0 -1
  181. package/dist/components/shared/tableColumnSettings/agGridColumnSettingsApi.js +0 -52
  182. package/dist/components/shared/tableColumnSettings/columnsSettingsColumnRow.js +0 -264
  183. package/dist/components/shared/tableColumnSettings/columnsSettingsVirtualList.js +0 -298
  184. package/dist/node_modules/lodash/lodash.js +0 -5486
  185. /package/dist/components/{Table → TableV36}/NewAdvanceSearchModal/NewAdvanceSearchModal.d.ts +0 -0
  186. /package/dist/components/{Table → TableV36}/mockData.d.ts +0 -0
  187. /package/dist/components/{Table → TableV36}/tableIcons.d.ts +0 -0
@@ -1,1317 +0,0 @@
1
- import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
- import { forwardRef, useState, useRef, useEffect, useCallback, useMemo } from "react";
3
- import { useSensors, useSensor, MouseSensor, TouchSensor, DndContext, closestCenter } from "@dnd-kit/core";
4
- import { SortableContext, arrayMove, useSortable } from "@dnd-kit/sortable";
5
- import { CSS } from "@dnd-kit/utilities";
6
- import { PersonUser as PersonUser_default, Globe as Globe_default } from "../../node_modules/@impactsmartsuite/impact-icons/dist/index.js";
7
- import default_1$1 from "../../node_modules/@mui/icons-material/KeyboardArrowDown.js";
8
- import default_1$3 from "../../node_modules/@mui/icons-material/KeyboardArrowRight.js";
9
- import default_1 from "../../node_modules/@mui/icons-material/KeyboardArrowUp.js";
10
- import default_1$2 from "../../node_modules/@mui/icons-material/Search.js";
11
- import { getAssetUrl } from "../../utils/assetBase.js";
12
- import { debounce } from "../../utils/debounce.js";
13
- import { isViewNameUnique } from "../../utils/helper.js";
14
- import { Badge } from "../Badge/index.js";
15
- import { Button } from "../Button/index.js";
16
- import { Checkbox } from "../Checkbox/index.js";
17
- import { Input } from "../Input/index.js";
18
- import { Modal } from "../Modal/index.js";
19
- import { Prompt } from "../Prompt/index.js";
20
- import { RadioButtonGroup } from "../RadioButtonGroup/index.js";
21
- import { Select } from "../Select/index.js";
22
- import { useTranslation } from "../../i18n/useTranslation.js";
23
- import IconButton from "../../node_modules/@mui/material/IconButton/IconButton.js";
24
- import DragIndicator from "../../node_modules/@mui/icons-material/esm/DragIndicator.js";
25
- const saveViewIcon = getAssetUrl("icons/saveViewIcon.svg");
26
- const saveViewEditIcon = getAssetUrl("icons/saveViewEditIcon.svg");
27
- const saveViewDeleteIcon = getAssetUrl("icons/saveViewDeleteIcon.svg");
28
- const defaultViewIcon = getAssetUrl("icons/defaultViewIcon.svg");
29
- const defaultViewActiveIcon = getAssetUrl("icons/defaultViewIconActive.svg");
30
- const DEFAULT_VIEW_TYPE_ICONS = {
31
- global: /* @__PURE__ */ jsx(Globe_default, { height: 16, width: 16 }),
32
- personal: /* @__PURE__ */ jsx(PersonUser_default, { height: 16, width: 16 })
33
- };
34
- const getViewTypeIcon = (viewType, viewTypeOptions) => {
35
- var _a;
36
- const customIcon = (_a = viewTypeOptions == null ? void 0 : viewTypeOptions.find((option) => option.value === viewType)) == null ? void 0 : _a.icon;
37
- return customIcon || DEFAULT_VIEW_TYPE_ICONS[viewType] || null;
38
- };
39
- const onColMenuFreezeClick = (params) => {
40
- const { pinned } = params.column;
41
- if (pinned) {
42
- freezeColumn(params, false);
43
- } else {
44
- freezeColumn(params, true);
45
- }
46
- };
47
- const freezeColumn = (params, isPinned) => {
48
- const { colId } = params.column;
49
- params.api.applyColumnState({
50
- state: [{ colId, pinned: isPinned ? "left" : null }]
51
- });
52
- };
53
- const onColMenuAutoAdjustClick = (params) => {
54
- const colDefExtra = { ...params.column.colDef.extra };
55
- params.column.colDef.extra = colDefExtra;
56
- params.api.autoSizeColumn(params.column);
57
- };
58
- const sortFunc = (columnData, sortBy, api) => {
59
- api.api.applyColumnState({
60
- state: [{ colId: columnData.colId, sort: sortBy }],
61
- defaultState: { sort: null }
62
- });
63
- };
64
- const getMainMenuItems = (params) => {
65
- var _a, _b, _c, _d;
66
- const t = ((_a = params == null ? void 0 : params.context) == null ? void 0 : _a.t) || ((k) => k);
67
- const { onFontSizeChange, onNumberFormatChange } = params;
68
- const { colDef, pinned, sort, actualWidth } = params.column;
69
- const columnMenuItems = [];
70
- columnMenuItems.push(
71
- {
72
- name: t("table.menu.columnSettings"),
73
- cssClasses: ["settings-main-container"]
74
- },
75
- "separator"
76
- );
77
- columnMenuItems.push({
78
- name: t("table.menu.sort"),
79
- subMenu: [
80
- {
81
- name: t("table.menu.sortAsc"),
82
- action: () => {
83
- sortFunc(params.column, "asc", params);
84
- },
85
- checked: sort === "asc"
86
- },
87
- {
88
- name: t("table.menu.sortDesc"),
89
- checked: sort === "desc",
90
- action: () => {
91
- sortFunc(params.column, "desc", params);
92
- }
93
- },
94
- {
95
- name: t("table.menu.reset"),
96
- action: () => {
97
- sortFunc(params.column, null, params);
98
- }
99
- }
100
- ],
101
- disabled: !(colDef == null ? void 0 : colDef.sortable)
102
- });
103
- columnMenuItems.push({
104
- name: pinned ? t("table.menu.unfreezeColumn") : t("table.menu.freezeColumn"),
105
- action: () => {
106
- onColMenuFreezeClick(params);
107
- }
108
- });
109
- columnMenuItems.push({
110
- name: t("table.menu.columnWidth"),
111
- subMenu: [
112
- {
113
- name: t("table.menu.autoAdjust"),
114
- action: () => {
115
- onColMenuAutoAdjustClick(params);
116
- },
117
- // if extra.width property is not present- column is auto adjusted
118
- checked: actualWidth !== ((_b = colDef == null ? void 0 : colDef.extra) == null ? void 0 : _b.width)
119
- },
120
- {
121
- name: t("table.menu.customWidth"),
122
- action: () => {
123
- var _a2;
124
- params.api.setColumnWidth(params.column.colDef, (_a2 = colDef == null ? void 0 : colDef.extra) == null ? void 0 : _a2.width);
125
- },
126
- // if extra.width property is present- column has custom width
127
- checked: ((_c = colDef == null ? void 0 : colDef.extra) == null ? void 0 : _c.width) === actualWidth,
128
- disabled: !((_d = colDef == null ? void 0 : colDef.extra) == null ? void 0 : _d.width)
129
- }
130
- ]
131
- });
132
- columnMenuItems.push({
133
- name: t("table.menu.wrapText"),
134
- disabled: true
135
- });
136
- columnMenuItems.push(
137
- {
138
- name: t("table.menu.format"),
139
- cssClasses: ["format-main-container"]
140
- },
141
- "separator"
142
- );
143
- columnMenuItems.push({
144
- name: t("table.menu.numericValues"),
145
- subMenu: [
146
- {
147
- name: t("table.menu.fullNumber"),
148
- action: () => onNumberFormatChange("full")
149
- },
150
- {
151
- name: t("table.menu.inK"),
152
- action: () => onNumberFormatChange("thousand")
153
- },
154
- {
155
- name: t("table.menu.inMn"),
156
- action: () => onNumberFormatChange("million")
157
- },
158
- {
159
- name: t("table.menu.inBn"),
160
- action: () => onNumberFormatChange("billion")
161
- }
162
- ],
163
- disabled: !onNumberFormatChange
164
- });
165
- columnMenuItems.push({
166
- name: t("table.menu.fontSize"),
167
- subMenu: [
168
- {
169
- name: t("table.menu.smallFont"),
170
- action: () => onFontSizeChange("small")
171
- },
172
- {
173
- name: t("table.menu.mediumFont"),
174
- action: () => onFontSizeChange("medium")
175
- },
176
- {
177
- name: t("table.menu.largeFont"),
178
- action: () => onFontSizeChange("large")
179
- }
180
- ],
181
- disabled: !onFontSizeChange
182
- });
183
- return columnMenuItems;
184
- };
185
- const filterColumnsByText = (columns, searchText) => {
186
- if (!searchText) return columns;
187
- return columns.map((column) => {
188
- var _a;
189
- const matches = (_a = column.headerName) == null ? void 0 : _a.toLowerCase().includes(searchText);
190
- if (matches) {
191
- return {
192
- ...column,
193
- isVisible: column.isVisible
194
- };
195
- }
196
- const filteredChildren = column.children ? filterColumnsByText(column.children, searchText) : null;
197
- if ((filteredChildren == null ? void 0 : filteredChildren.length) > 0) {
198
- return {
199
- ...column,
200
- children: filteredChildren,
201
- isVisible: column.isVisible
202
- };
203
- }
204
- return null;
205
- }).filter(Boolean);
206
- };
207
- const isColumnTreeVisible = (columns) => columns.some(
208
- (column) => {
209
- var _a;
210
- return ((_a = column.children) == null ? void 0 : _a.length) > 0 ? isColumnTreeVisible(column.children) : column.isVisible;
211
- }
212
- );
213
- const SortableColumnItem = ({ column, level, renderFn, dragIconClass, onToggle, ...props }) => {
214
- const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({
215
- id: column.colId
216
- });
217
- const style = {
218
- transform: CSS.Transform.toString(transform),
219
- transition,
220
- opacity: isDragging ? 0.5 : 1,
221
- // background: isDragging ? '#f0f0f0' : undefined,
222
- zIndex: isDragging ? 100 : void 0
223
- };
224
- return /* @__PURE__ */ jsx("div", { ref: setNodeRef, style, children: renderFn({
225
- column,
226
- level,
227
- dragProps: { ...attributes, ...listeners },
228
- dragIconClass,
229
- onToggle
230
- }) });
231
- };
232
- const Columns = forwardRef((props, ref) => {
233
- var _a, _b, _c, _d, _e, _f;
234
- const { t } = useTranslation();
235
- const [searchText, setSearchText] = useState("");
236
- const [collapsedScrollable, setCollapsedScrollable] = useState(false);
237
- const [collapsedColumn, setCollapsedcolumn] = useState(false);
238
- const [frozenColumn, setFrozenColumn] = useState([]);
239
- const [scrollableColumn, setScrollableColumn] = useState([]);
240
- const [filteredFrozenColumns, setFilteredFrozenColumns] = useState([]);
241
- const [filteredScrollableColumns, setFilteredScrollableColumns] = useState([]);
242
- const [allColumnVisibility, setAllColumnvisisbility] = useState(true);
243
- const [mainChecked, setMainChecked] = useState(true);
244
- const [collapsedScrollColumns, setCollapsedScrollColumns] = useState({});
245
- const [collapsedFrozenColumns, setCollapsedFrozenColumns] = useState({});
246
- const [openSaveViewModal, setOpenSaveViewModal] = useState(false);
247
- const [isDefaultView, setIsDefaultView] = useState(false);
248
- const [selectedViewType, setSelectedViewType] = useState(
249
- (_a = props.saveViewCustomFilter) == null ? void 0 : _a.selectedOption
250
- );
251
- const [savedViewsOptions, setSavedViewsOptions] = useState(props.savedViewsOptions || []);
252
- const [filteredSavedViewsOptions, setFilteredSavedViewsOptions] = useState(
253
- props.savedViewsOptions || []
254
- );
255
- const [currentSaveViewOptions, setCurrentSaveViewOptions] = useState([]);
256
- const [selectedSavedView, setSelectedSavedView] = useState(null);
257
- const [inputValue, setInputValue] = useState("");
258
- const [isOpen, setIsOpen] = useState(false);
259
- const [openSaveViewMenu, setOpenSaveViewMenu] = useState(false);
260
- const [selectedBadge, setSelectedBadge] = useState("All");
261
- const [isEditView, setIsEditView] = useState(false);
262
- const [editedView, setEditedView] = useState(null);
263
- const [saveViewSearchText, setSaveViewSearchText] = useState("");
264
- const [openDeletePrompt, setOpenDeletePrompt] = useState(false);
265
- const [deleteView, setDeleteView] = useState(null);
266
- const [selectedView, setSelectedView] = useState(null);
267
- const isColumnPinnedRef = useRef(false);
268
- const searchTextRef = useRef("");
269
- useEffect(() => {
270
- const views = props.savedViewsOptions ?? [];
271
- setSavedViewsOptions(views);
272
- setFilteredSavedViewsOptions(views);
273
- setSelectedView(views.filter((view) => view.isActive));
274
- if (views.length === 0) {
275
- setOpenSaveViewMenu(false);
276
- setSaveViewSearchText("");
277
- }
278
- const matchingViews = views.filter(
279
- (view) => !selectedViewType || view.viewType === selectedViewType
280
- );
281
- setCurrentSaveViewOptions(
282
- views.map((view) => {
283
- var _a2;
284
- return {
285
- label: /* @__PURE__ */ jsxs("div", { className: "save-view-select-option-label", children: [
286
- getViewTypeIcon(view.viewType, (_a2 = props.saveViewCustomFilter) == null ? void 0 : _a2.options),
287
- /* @__PURE__ */ jsx("span", { children: view.viewName })
288
- ] }),
289
- value: view.viewName,
290
- disabled: view == null ? void 0 : view.isDisabled,
291
- viewType: view.viewType,
292
- isDefaultView: view.isDefaultView
293
- };
294
- })
295
- );
296
- setSelectedSavedView(
297
- (prev) => (prev == null ? void 0 : prev.value) && matchingViews.some((view) => view.viewName === prev.value) ? prev : null
298
- );
299
- }, [props.savedViewsOptions, selectedViewType]);
300
- useEffect(() => {
301
- if (selectedSavedView == null ? void 0 : selectedSavedView.value) {
302
- setInputValue(selectedSavedView.value);
303
- setSelectedViewType(selectedSavedView.viewType);
304
- setIsDefaultView(!!selectedSavedView.isDefaultView);
305
- } else {
306
- setInputValue("");
307
- setIsDefaultView(false);
308
- }
309
- }, [selectedSavedView]);
310
- const isReplaceViewSelected = !!(selectedSavedView == null ? void 0 : selectedSavedView.value);
311
- const isInputValueEmpty = !inputValue.trim();
312
- const getColumnDefs = useCallback((columns) => {
313
- return columns.map((column) => {
314
- if (column.children) {
315
- const updatedChildren = getColumnDefs(column.children);
316
- const allChildrenHidden = updatedChildren.every((child) => child.hide === true);
317
- return {
318
- ...column,
319
- children: updatedChildren,
320
- hide: allChildrenHidden
321
- };
322
- }
323
- return column;
324
- });
325
- }, []);
326
- const updateColumnState = useCallback(() => {
327
- var _a2, _b2;
328
- const getColumnState = (columns) => {
329
- return columns.map((column) => {
330
- var _a3;
331
- const columnState2 = {
332
- colId: column.colId || column.field || column.headerName,
333
- headerName: column.headerName || column.field || t("table.columns.na"),
334
- isVisible: !(column == null ? void 0 : column.hide),
335
- isPinned: column.pinned ? true : false,
336
- children: ((_a3 = column == null ? void 0 : column.children) == null ? void 0 : _a3.length) > 0 ? getColumnState(column.children) : null,
337
- // Recursively handle child columns
338
- disabled: column == null ? void 0 : column.disableColumnCheckboxInSettings
339
- };
340
- return columnState2;
341
- });
342
- };
343
- const columnDefs = getColumnDefs(((_b2 = (_a2 = ref == null ? void 0 : ref.current) == null ? void 0 : _a2.api) == null ? void 0 : _b2.getColumnDefs()) || props.column);
344
- const columnState = getColumnState(columnDefs);
345
- const { frozColumn, scrollColumn } = (columnState || []).reduce(
346
- (acc, column) => {
347
- if (column.isPinned) {
348
- acc.frozColumn.push(column);
349
- } else {
350
- acc.scrollColumn.push(column);
351
- }
352
- return acc;
353
- },
354
- { frozColumn: [], scrollColumn: [] }
355
- );
356
- const activeSearchText = searchTextRef.current;
357
- setFrozenColumn(frozColumn);
358
- setFilteredFrozenColumns(filterColumnsByText(frozColumn, activeSearchText));
359
- setScrollableColumn(scrollColumn);
360
- setFilteredScrollableColumns(filterColumnsByText(scrollColumn, activeSearchText));
361
- }, [getColumnDefs, ref, props.column]);
362
- const debouncedUpdateColumnState = useMemo(
363
- () => debounce(updateColumnState, 100),
364
- [updateColumnState]
365
- );
366
- useEffect(() => {
367
- var _a2, _b2, _c2, _d2, _e2, _f2;
368
- if (props.showMenu || isColumnPinnedRef.current) {
369
- isColumnPinnedRef.current = false;
370
- updateColumnState();
371
- const onColumnPinned = () => {
372
- isColumnPinnedRef.current = true;
373
- debouncedUpdateColumnState();
374
- };
375
- if (ref == null ? void 0 : ref.current) {
376
- (_b2 = (_a2 = ref.current) == null ? void 0 : _a2.api) == null ? void 0 : _b2.addEventListener("columnPinned", onColumnPinned);
377
- (_d2 = (_c2 = ref.current) == null ? void 0 : _c2.api) == null ? void 0 : _d2.addEventListener("columnMoved", onColumnPinned);
378
- (_f2 = (_e2 = ref.current) == null ? void 0 : _e2.api) == null ? void 0 : _f2.addEventListener("columnVisible", onColumnPinned);
379
- }
380
- return () => {
381
- var _a3, _b3, _c3, _d3, _e3, _f3;
382
- if (ref == null ? void 0 : ref.current) {
383
- (_b3 = (_a3 = ref.current) == null ? void 0 : _a3.api) == null ? void 0 : _b3.removeEventListener("columnPinned", onColumnPinned);
384
- (_d3 = (_c3 = ref.current) == null ? void 0 : _c3.api) == null ? void 0 : _d3.removeEventListener("columnMoved", onColumnPinned);
385
- (_f3 = (_e3 = ref.current) == null ? void 0 : _e3.api) == null ? void 0 : _f3.removeEventListener("columnVisible", onColumnPinned);
386
- }
387
- };
388
- }
389
- }, [props.showMenu]);
390
- const [frozenColumnOrder, setFrozenColumnOrder] = useState([]);
391
- const [scrollableColumnOrder, setScrollableColumnOrder] = useState([]);
392
- const sensors = useSensors(useSensor(MouseSensor), useSensor(TouchSensor));
393
- const getAllColumnIds = (columns) => {
394
- let ids = [];
395
- columns.forEach((col) => {
396
- ids.push(col.colId);
397
- if (col.children && col.children.length > 0) {
398
- ids = ids.concat(getAllColumnIds(col.children));
399
- }
400
- });
401
- return ids;
402
- };
403
- useEffect(() => {
404
- setFrozenColumnOrder(getAllColumnIds(filteredFrozenColumns));
405
- setScrollableColumnOrder(getAllColumnIds(filteredScrollableColumns));
406
- }, [filteredFrozenColumns, filteredScrollableColumns]);
407
- const handleSearchChange = (e) => {
408
- const searchText2 = e.target.value.toLowerCase();
409
- searchTextRef.current = searchText2;
410
- setSearchText(searchText2);
411
- setFilteredFrozenColumns(filterColumnsByText(frozenColumn, searchText2));
412
- setFilteredScrollableColumns(filterColumnsByText(scrollableColumn, searchText2));
413
- };
414
- useEffect(() => {
415
- const isAnyScrollableColumnVisible = isColumnTreeVisible(filteredScrollableColumns);
416
- const isAnyFrozenColumnVisible = isColumnTreeVisible(filteredFrozenColumns);
417
- setMainChecked(isAnyScrollableColumnVisible);
418
- setAllColumnvisisbility(isAnyFrozenColumnVisible || isAnyScrollableColumnVisible);
419
- }, [filteredFrozenColumns, filteredScrollableColumns]);
420
- const setSubtreeVisibility = (columns, visibility) => columns.map((column) => {
421
- var _a2, _b2, _c2;
422
- (_b2 = (_a2 = ref == null ? void 0 : ref.current) == null ? void 0 : _a2.api) == null ? void 0 : _b2.setColumnVisible(column.colId, visibility);
423
- return {
424
- ...column,
425
- isVisible: visibility,
426
- children: ((_c2 = column.children) == null ? void 0 : _c2.length) > 0 ? setSubtreeVisibility(column.children, visibility) : column.children
427
- };
428
- });
429
- const applyVisibilityToggle = (columns, colId) => {
430
- let changed = false;
431
- const updated = columns.map((column) => {
432
- var _a2, _b2, _c2, _d2, _e2, _f2;
433
- if (changed) return column;
434
- if (column.colId === colId) {
435
- changed = true;
436
- const newVisibility = !column.isVisible;
437
- (_b2 = (_a2 = ref == null ? void 0 : ref.current) == null ? void 0 : _a2.api) == null ? void 0 : _b2.setColumnVisible(column.colId, newVisibility);
438
- return {
439
- ...column,
440
- isVisible: newVisibility,
441
- children: ((_c2 = column.children) == null ? void 0 : _c2.length) > 0 ? setSubtreeVisibility(column.children, newVisibility) : column.children
442
- };
443
- }
444
- if (((_d2 = column.children) == null ? void 0 : _d2.length) > 0) {
445
- const result = applyVisibilityToggle(column.children, colId);
446
- if (!result.changed) return column;
447
- changed = true;
448
- const isAnyChildVisible = isColumnTreeVisible(result.columns);
449
- (_f2 = (_e2 = ref == null ? void 0 : ref.current) == null ? void 0 : _e2.api) == null ? void 0 : _f2.setColumnVisible(column.colId, isAnyChildVisible);
450
- return { ...column, isVisible: isAnyChildVisible, children: result.columns };
451
- }
452
- return column;
453
- });
454
- return { columns: updated, changed };
455
- };
456
- const toggleColumnVisibilityFrozen = (colId) => {
457
- const { columns } = applyVisibilityToggle(frozenColumn, colId);
458
- setFrozenColumn(columns);
459
- setFilteredFrozenColumns(filterColumnsByText(columns, searchTextRef.current));
460
- };
461
- const toggleColumnVisibilityScroll = (colId) => {
462
- const { columns } = applyVisibilityToggle(scrollableColumn, colId);
463
- setScrollableColumn(columns);
464
- setFilteredScrollableColumns(filterColumnsByText(columns, searchTextRef.current));
465
- };
466
- const toggleScrollableCollapse = (e) => {
467
- e.stopPropagation();
468
- setCollapsedScrollable(!collapsedScrollable);
469
- };
470
- const toggleColumnCollapse = (e) => {
471
- e.stopPropagation();
472
- setCollapsedcolumn(!collapsedColumn);
473
- };
474
- const applyBulkVisibility = (columns, visibility, allowedIds) => columns.map((column) => {
475
- var _a2, _b2, _c2, _d2, _e2;
476
- const isAllowed = !allowedIds || allowedIds.has(column.colId);
477
- if (((_a2 = column.children) == null ? void 0 : _a2.length) > 0) {
478
- const children = applyBulkVisibility(
479
- column.children,
480
- visibility,
481
- isAllowed ? null : allowedIds
482
- );
483
- const isAnyChildVisible = isColumnTreeVisible(children);
484
- (_c2 = (_b2 = ref == null ? void 0 : ref.current) == null ? void 0 : _b2.api) == null ? void 0 : _c2.setColumnVisible(column.colId, isAnyChildVisible);
485
- return { ...column, isVisible: isAnyChildVisible, children };
486
- }
487
- if (!isAllowed) return column;
488
- (_e2 = (_d2 = ref == null ? void 0 : ref.current) == null ? void 0 : _d2.api) == null ? void 0 : _e2.setColumnVisible(column.colId, visibility);
489
- return { ...column, isVisible: visibility };
490
- });
491
- const onMainCheckboxChange = () => {
492
- const listedIds = new Set(getAllColumnIds(filteredScrollableColumns));
493
- const updatedColumns = applyBulkVisibility(scrollableColumn, !mainChecked, listedIds);
494
- setScrollableColumn(updatedColumns);
495
- setFilteredScrollableColumns(filterColumnsByText(updatedColumns, searchTextRef.current));
496
- };
497
- const onAllColumnCheckBoxChange = () => {
498
- const visibility = !allColumnVisibility;
499
- const listedFrozenIds = new Set(getAllColumnIds(filteredFrozenColumns));
500
- const listedScrollableIds = new Set(getAllColumnIds(filteredScrollableColumns));
501
- const updatedFrozenColumns = applyBulkVisibility(frozenColumn, visibility, listedFrozenIds);
502
- const updatedScrollableColumns = applyBulkVisibility(
503
- scrollableColumn,
504
- visibility,
505
- listedScrollableIds
506
- );
507
- setFrozenColumn(updatedFrozenColumns);
508
- setScrollableColumn(updatedScrollableColumns);
509
- setFilteredFrozenColumns(filterColumnsByText(updatedFrozenColumns, searchTextRef.current));
510
- setFilteredScrollableColumns(
511
- filterColumnsByText(updatedScrollableColumns, searchTextRef.current)
512
- );
513
- };
514
- const toggleScrollColumnCollapse = (colId) => {
515
- setCollapsedScrollColumns((prev) => ({
516
- ...prev,
517
- [colId]: !prev[colId]
518
- // Toggle collapse state for the specific column
519
- }));
520
- };
521
- const toggleFrozenColumnCollapse = (colId) => {
522
- setCollapsedFrozenColumns((prev) => ({
523
- ...prev,
524
- [colId]: !prev[colId]
525
- // Toggle collapse state for the specific frozen column
526
- }));
527
- };
528
- const reorderColDefsByColId = (colDefs, newOrder, type = "scrollable") => {
529
- const reorder = (columns) => {
530
- let filteredCols = [];
531
- if (type === "frozen") {
532
- filteredCols = columns.filter((col) => col.pinned === "left");
533
- } else {
534
- filteredCols = columns.filter((col) => col.pinned !== "left");
535
- }
536
- const sorted = [...filteredCols].filter((col) => newOrder.includes(col.colId || col.field || col.headerName)).sort(
537
- (a, b) => newOrder.indexOf(a.colId || a.field || a.headerName) - newOrder.indexOf(b.colId || b.field || b.headerName)
538
- ).map((col) => {
539
- if (col.children && col.children.length > 0) {
540
- return {
541
- ...col,
542
- children: reorder(col.children)
543
- };
544
- }
545
- return col;
546
- });
547
- return sorted;
548
- };
549
- let otherCols = [];
550
- if (type === "frozen") {
551
- otherCols = colDefs.filter((col) => col.pinned !== "left");
552
- } else {
553
- otherCols = colDefs.filter((col) => col.pinned === "left");
554
- }
555
- return [...otherCols, ...reorder(colDefs)];
556
- };
557
- const updateColumnDefs = (order, type, movedId, pinDirection) => {
558
- var _a2, _b2, _c2, _d2;
559
- const colDefs = (_b2 = (_a2 = ref == null ? void 0 : ref.current) == null ? void 0 : _a2.api) == null ? void 0 : _b2.getColumnDefs();
560
- if (!colDefs) return;
561
- const newColDefs = reorderColDefsByColId(colDefs, order, type);
562
- if (movedId) {
563
- const colDefToUpdate = newColDefs.find((c) => c.colId === movedId);
564
- if (colDefToUpdate) {
565
- colDefToUpdate.pinned = pinDirection;
566
- }
567
- }
568
- (_d2 = (_c2 = ref == null ? void 0 : ref.current) == null ? void 0 : _c2.api) == null ? void 0 : _d2.setGridOption("columnDefs", newColDefs);
569
- };
570
- const handleDragEnd = (event) => {
571
- const { active, over } = event;
572
- if (!over) return;
573
- const activeId = active.id;
574
- const overId = over.id;
575
- const isFrozenSource = frozenColumnOrder.includes(activeId);
576
- const isFrozenTarget = frozenColumnOrder.includes(overId);
577
- if (isFrozenSource && isFrozenTarget) {
578
- const oldIndex = frozenColumnOrder.indexOf(activeId);
579
- const newIndex = frozenColumnOrder.indexOf(overId);
580
- const newOrder = arrayMove(frozenColumnOrder, oldIndex, newIndex);
581
- setFrozenColumnOrder(newOrder);
582
- const reordered = newOrder.map((id) => {
583
- frozenColumn.find((c) => c.colId === id);
584
- }).filter(Boolean);
585
- setFrozenColumn(reordered);
586
- setFilteredFrozenColumns(reordered);
587
- updateColumnDefs(newOrder, "frozen");
588
- } else if (!isFrozenSource && !isFrozenTarget) {
589
- const oldIndex = scrollableColumnOrder.indexOf(activeId);
590
- const newIndex = scrollableColumnOrder.indexOf(overId);
591
- const newOrder = arrayMove(scrollableColumnOrder, oldIndex, newIndex);
592
- setScrollableColumnOrder(newOrder);
593
- const reordered = newOrder.map((id) => {
594
- filteredScrollableColumns.find((c) => c.colId === id);
595
- }).filter(Boolean);
596
- setScrollableColumn(reordered);
597
- setFilteredScrollableColumns(reordered);
598
- updateColumnDefs(newOrder, "scrollable");
599
- } else {
600
- if (isFrozenSource) {
601
- const updatedFrozenOrder = frozenColumnOrder.filter((id) => id !== activeId);
602
- const updatedFrozenCols = updatedFrozenOrder.map((id) => {
603
- frozenColumn.find((c) => c.colId === id);
604
- }).filter(Boolean);
605
- setFrozenColumnOrder(updatedFrozenOrder);
606
- setFrozenColumn(updatedFrozenCols);
607
- setFilteredFrozenColumns(updatedFrozenCols);
608
- const overIndex = scrollableColumnOrder.findIndex((id) => id === overId);
609
- const insertAt = overIndex === -1 ? scrollableColumnOrder.length : overIndex;
610
- const newScrollableOrder = [...scrollableColumnOrder];
611
- newScrollableOrder.splice(insertAt, 0, activeId);
612
- const allColumns = [...filteredFrozenColumns, ...filteredScrollableColumns];
613
- const updatedScrollableCols = newScrollableOrder.map((id) => {
614
- allColumns.find((c) => c.colId === id);
615
- }).filter(Boolean);
616
- setScrollableColumnOrder(newScrollableOrder);
617
- setScrollableColumn(updatedScrollableCols);
618
- setFilteredScrollableColumns(updatedScrollableCols);
619
- updateColumnDefs(newScrollableOrder, "scrollable", activeId, null);
620
- } else {
621
- const newScrollable = scrollableColumnOrder.filter((id) => id !== activeId);
622
- const updatedScrollable = newScrollable.map((id) => {
623
- scrollableColumn.find((c) => c.colId === id);
624
- }).filter(Boolean);
625
- setScrollableColumnOrder(newScrollable);
626
- setScrollableColumn(updatedScrollable);
627
- setFilteredScrollableColumns(updatedScrollable);
628
- const overIndex = frozenColumnOrder.findIndex((id) => id === overId);
629
- const insertAt = overIndex === -1 ? frozenColumnOrder.length : overIndex;
630
- const newFrozen = [...frozenColumnOrder];
631
- newFrozen.splice(insertAt, 0, activeId);
632
- const newFrozenCols = newFrozen.map((id) => {
633
- [...filteredFrozenColumns, ...filteredScrollableColumns].find((c) => c.colId === id);
634
- }).filter(Boolean);
635
- setFrozenColumnOrder(newFrozen);
636
- setFrozenColumn(newFrozenCols);
637
- setFilteredFrozenColumns(newFrozenCols);
638
- updateColumnDefs(newFrozen, "frozen", activeId, "left");
639
- }
640
- }
641
- };
642
- const renderScrollColumn = (column, level = 0) => {
643
- const isCollapsed = collapsedScrollColumns[column.colId] || false;
644
- return /* @__PURE__ */ jsx(
645
- SortableColumnItem,
646
- {
647
- column,
648
- dragIconClass: "table-setting-scroll-columns-list-drag-icon",
649
- level,
650
- renderFn: ({ column: column2, level: level2, dragProps, dragIconClass, onToggle }) => /* @__PURE__ */ jsxs(Fragment, { children: [
651
- /* @__PURE__ */ jsxs(
652
- "div",
653
- {
654
- className: "table-setting-scroll-inner-column",
655
- style: { marginLeft: `${level2 * 20}px` },
656
- children: [
657
- Array.isArray(column2.children) && column2.children.length > 0 && /* @__PURE__ */ jsx(
658
- IconButton,
659
- {
660
- style: { padding: "0px" },
661
- onClick: (e) => {
662
- e.stopPropagation();
663
- toggleScrollColumnCollapse(column2.colId);
664
- },
665
- children: isCollapsed ? /* @__PURE__ */ jsx(default_1$3, {}) : /* @__PURE__ */ jsx(default_1, {})
666
- }
667
- ),
668
- /* @__PURE__ */ jsx(
669
- Checkbox,
670
- {
671
- checked: column2.isVisible,
672
- disabled: column2.disabled,
673
- onChange: () => {
674
- toggleColumnVisibilityScroll(column2.colId);
675
- }
676
- }
677
- ),
678
- /* @__PURE__ */ jsx("span", { ...dragProps, style: { cursor: "grab", display: "inline-flex" }, children: /* @__PURE__ */ jsx(DragIndicator, { className: "table-setting-scroll-columns-list-drag-icon" }) }),
679
- column2.headerName.charAt(0).toUpperCase() + column2.headerName.slice(1)
680
- ]
681
- }
682
- ),
683
- Array.isArray(column2.children) && column2.children.length > 0 && !isCollapsed && /* @__PURE__ */ jsx(
684
- "div",
685
- {
686
- style: {
687
- marginLeft: "20px",
688
- display: "flex",
689
- flexDirection: "column",
690
- gap: "4px",
691
- marginTop: "4px"
692
- },
693
- children: column2.children.map((child) => /* @__PURE__ */ jsx("div", { children: renderScrollColumn(child, level2 + 1) }, child.colId))
694
- }
695
- )
696
- ] }),
697
- onToggle: toggleScrollColumnCollapse
698
- },
699
- column.colId
700
- );
701
- };
702
- const renderFrozencolumn = (column, level = 0) => {
703
- const isCollapsed = collapsedFrozenColumns[column.colId] || false;
704
- return /* @__PURE__ */ jsx(
705
- SortableColumnItem,
706
- {
707
- column,
708
- dragIconClass: "table-setting-frozen-columns-list-drag-icon",
709
- level,
710
- renderFn: ({ column: column2, level: level2, dragProps, dragIconClass, onToggle }) => /* @__PURE__ */ jsxs(Fragment, { children: [
711
- /* @__PURE__ */ jsxs(
712
- "div",
713
- {
714
- className: "table-setting-frozen-columns-list-item",
715
- style: { marginLeft: `${level2 * 20}px` },
716
- children: [
717
- Array.isArray(column2.children) && column2.children.length > 0 && /* @__PURE__ */ jsx(
718
- IconButton,
719
- {
720
- style: { padding: "0px" },
721
- onClick: (e) => {
722
- e.stopPropagation();
723
- toggleFrozenColumnCollapse(column2.colId);
724
- },
725
- children: isCollapsed ? /* @__PURE__ */ jsx(default_1$3, {}) : /* @__PURE__ */ jsx(default_1, {})
726
- }
727
- ),
728
- /* @__PURE__ */ jsx(
729
- Checkbox,
730
- {
731
- checked: column2.isVisible,
732
- disabled: column2 == null ? void 0 : column2.disabled,
733
- onChange: () => {
734
- toggleColumnVisibilityFrozen(column2.colId);
735
- }
736
- }
737
- ),
738
- /* @__PURE__ */ jsx("span", { ...dragProps, style: { cursor: "grab", display: "inline-flex" }, children: /* @__PURE__ */ jsx(DragIndicator, { className: "table-setting-frozen-columns-list-drag-icon" }) }),
739
- column2.headerName.charAt(0).toUpperCase() + column2.headerName.slice(1)
740
- ]
741
- }
742
- ),
743
- Array.isArray(column2.children) && column2.children.length > 0 && !isCollapsed && /* @__PURE__ */ jsx(
744
- "div",
745
- {
746
- style: {
747
- marginLeft: "20px",
748
- display: "flex",
749
- flexDirection: "column",
750
- gap: "4px",
751
- marginTop: "4px"
752
- },
753
- children: column2.children.map((child) => /* @__PURE__ */ jsx("div", { children: renderFrozencolumn(child, level2 + 1) }, child.colId))
754
- }
755
- )
756
- ] }),
757
- onToggle: toggleFrozenColumnCollapse
758
- },
759
- column.colId
760
- );
761
- };
762
- const handleSaveAndApply = () => {
763
- var _a2, _b2;
764
- if (isEditView) {
765
- const newView2 = {
766
- ...editedView,
767
- viewName: inputValue,
768
- viewType: selectedViewType,
769
- isDefaultView,
770
- isActive: false
771
- };
772
- props.handleEditSaveView(newView2, editedView);
773
- if (!props.isSavingViewLoading) {
774
- setIsEditView(false);
775
- setEditedView(null);
776
- setOpenSaveViewModal(false);
777
- setInputValue("");
778
- setSelectedViewType((_a2 = props.saveViewCustomFilter) == null ? void 0 : _a2.selectedOption);
779
- setIsDefaultView(false);
780
- }
781
- return;
782
- }
783
- const replaceViewName = selectedSavedView == null ? void 0 : selectedSavedView.value;
784
- const isReplacing = isInputValueEmpty && !!replaceViewName;
785
- const newView = {
786
- viewName: isReplacing ? replaceViewName : inputValue,
787
- viewType: selectedViewType,
788
- isDefaultView,
789
- isActive: true
790
- };
791
- const applyToViews = (prev) => isReplacing ? prev.map(
792
- (view) => view.viewName === replaceViewName && view.viewType === selectedViewType ? { ...view, ...newView } : { ...view, isActive: false }
793
- ) : [...prev.map((view) => ({ ...view, isActive: false })), newView];
794
- setSavedViewsOptions(applyToViews);
795
- setFilteredSavedViewsOptions(applyToViews);
796
- (_b2 = props.handleSaveAndApply) == null ? void 0 : _b2.call(props, newView, replaceViewName);
797
- };
798
- useEffect(() => {
799
- var _a2;
800
- if (!props.isSavingViewLoading) {
801
- setOpenSaveViewModal(false);
802
- setSelectedSavedView(null);
803
- setInputValue("");
804
- setSelectedViewType((_a2 = props.saveViewCustomFilter) == null ? void 0 : _a2.selectedOption);
805
- setIsDefaultView(false);
806
- setOpenDeletePrompt(false);
807
- setDeleteView(null);
808
- setEditedView(null);
809
- }
810
- }, [props.isSavingViewLoading]);
811
- const handleEditView = (view, e) => {
812
- e.stopPropagation();
813
- e.preventDefault();
814
- setIsEditView(true);
815
- setOpenSaveViewModal(true);
816
- setInputValue(view.viewName);
817
- setSelectedViewType(view.viewType);
818
- setIsDefaultView(view.isDefaultView);
819
- setEditedView(view);
820
- };
821
- const handleCloseSaveViewModal = () => {
822
- var _a2;
823
- setOpenSaveViewModal(false);
824
- setSelectedSavedView(null);
825
- setInputValue("");
826
- setSelectedViewType((_a2 = props.saveViewCustomFilter) == null ? void 0 : _a2.selectedOption);
827
- setIsDefaultView(false);
828
- setIsEditView(false);
829
- };
830
- const handleSaveViewSearchChange = (e) => {
831
- setSaveViewSearchText(e.target.value);
832
- const filteredViews = savedViewsOptions.filter(
833
- (view) => view.viewName.toLowerCase().includes(e.target.value.toLowerCase())
834
- );
835
- setFilteredSavedViewsOptions(filteredViews);
836
- };
837
- const handleDeleteView = (view, e) => {
838
- e.stopPropagation();
839
- e.preventDefault();
840
- setOpenDeletePrompt(true);
841
- setDeleteView(view);
842
- };
843
- useEffect(() => {
844
- if (!props.isDeleteViewLoading) {
845
- setOpenDeletePrompt(false);
846
- }
847
- }, [props.isDeleteViewLoading]);
848
- useEffect(() => {
849
- if (selectedBadge === "All") {
850
- setFilteredSavedViewsOptions([...savedViewsOptions]);
851
- } else {
852
- setFilteredSavedViewsOptions(
853
- savedViewsOptions.filter((view) => view.viewType === selectedBadge)
854
- );
855
- }
856
- }, [selectedBadge, savedViewsOptions]);
857
- const handleSaveViewClick = (view) => {
858
- setFilteredSavedViewsOptions(
859
- (prev) => prev.map((item) => {
860
- if (item.viewName === view.viewName) {
861
- return {
862
- ...item,
863
- isActive: true
864
- };
865
- }
866
- return {
867
- ...item,
868
- isActive: false
869
- };
870
- })
871
- );
872
- setSelectedView(view);
873
- };
874
- const nameConflictExcludeView = isEditView ? editedView : (selectedSavedView == null ? void 0 : selectedSavedView.value) ? {
875
- viewName: selectedSavedView.value,
876
- viewType: selectedSavedView.viewType
877
- } : null;
878
- const nameConflict = !props.isSavingViewLoading && !isInputValueEmpty && !isViewNameUnique(
879
- inputValue,
880
- selectedViewType,
881
- isDefaultView,
882
- savedViewsOptions,
883
- nameConflictExcludeView,
884
- props.isViewNameUniqueAcrossTypes
885
- );
886
- return /* @__PURE__ */ jsxs("div", { className: "table-setting-columns-settings", children: [
887
- props.isSaveViewEnabled && /* @__PURE__ */ jsxs("div", { className: "table-setting-save-view-container", children: [
888
- savedViewsOptions.length === 0 ? /* @__PURE__ */ jsxs("div", { className: "save-view-icon-title", children: [
889
- /* @__PURE__ */ jsx("img", { alt: "save-view-icon", src: saveViewIcon }),
890
- /* @__PURE__ */ jsx("span", { className: "save-view-title", children: t("table.views.none") })
891
- ] }) : /* @__PURE__ */ jsxs("div", { className: "save-view-container-active-view", children: [
892
- /* @__PURE__ */ jsx(
893
- Badge,
894
- {
895
- color: "success",
896
- label: `${((_b = savedViewsOptions.find((view) => view.isActive)) == null ? void 0 : _b.viewName) || t("table.views.notApplicable")}`,
897
- variant: "stroke"
898
- }
899
- ),
900
- /* @__PURE__ */ jsx(
901
- Button,
902
- {
903
- icon: openSaveViewMenu ? /* @__PURE__ */ jsx(default_1, {}) : /* @__PURE__ */ jsx(default_1$1, {}),
904
- size: "small",
905
- variant: "tertiary",
906
- onClick: () => {
907
- setOpenSaveViewMenu(!openSaveViewMenu);
908
- setFilteredSavedViewsOptions([...savedViewsOptions]);
909
- }
910
- }
911
- )
912
- ] }),
913
- /* @__PURE__ */ jsx(
914
- Button,
915
- {
916
- size: "small",
917
- variant: "tertiary",
918
- onClick: () => {
919
- setOpenSaveViewModal(true);
920
- },
921
- children: t("table.views.saveView")
922
- }
923
- )
924
- ] }),
925
- openSaveViewMenu && /* @__PURE__ */ jsxs("div", { className: "save-view-menu", children: [
926
- /* @__PURE__ */ jsxs("div", { className: "save-view-menu-title", children: [
927
- /* @__PURE__ */ jsx("span", { children: t("table.views.savedViews") }),
928
- /* @__PURE__ */ jsxs("div", { className: "save-view-menu-default-view", children: [
929
- /* @__PURE__ */ jsx("img", { alt: "default-view-icon", src: defaultViewActiveIcon }),
930
- /* @__PURE__ */ jsx("span", { className: "save-view-menu-default-view-text", children: t("table.views.default") })
931
- ] })
932
- ] }),
933
- /* @__PURE__ */ jsxs("div", { className: "save-view-menu-view-type", children: [
934
- /* @__PURE__ */ jsx(
935
- Badge,
936
- {
937
- color: selectedBadge === "All" ? "info" : "default",
938
- label: t("table.views.all"),
939
- size: "small",
940
- variant: "stroke",
941
- onClick: () => {
942
- setSelectedBadge("All");
943
- setFilteredSavedViewsOptions([...savedViewsOptions]);
944
- }
945
- }
946
- ),
947
- (_d = (_c = props.saveViewCustomFilter) == null ? void 0 : _c.options) == null ? void 0 : _d.map((option) => /* @__PURE__ */ jsx(
948
- Badge,
949
- {
950
- isIcon: true,
951
- color: selectedBadge === option.value ? "info" : "default",
952
- icon: getViewTypeIcon(option.value),
953
- label: option.label,
954
- size: "small",
955
- variant: "stroke",
956
- onClick: () => {
957
- setSelectedBadge(option.value);
958
- setFilteredSavedViewsOptions(
959
- savedViewsOptions.filter((view) => view.viewType === option.value)
960
- );
961
- }
962
- }
963
- ))
964
- ] }),
965
- /* @__PURE__ */ jsx("div", { className: "save-view-menu-search-container", children: /* @__PURE__ */ jsx(
966
- Input,
967
- {
968
- leftIcon: /* @__PURE__ */ jsx(default_1$2, {}),
969
- placeholder: t("table.views.searchPlaceholder"),
970
- value: saveViewSearchText,
971
- onChange: handleSaveViewSearchChange
972
- }
973
- ) }),
974
- /* @__PURE__ */ jsx("div", { className: "save-view-menu-view-list-container", children: props.customRenderSaveViewContent ? props.customRenderSaveViewContent : filteredSavedViewsOptions.length > 0 && filteredSavedViewsOptions.map((view, idx) => {
975
- var _a2;
976
- return /* @__PURE__ */ jsxs(
977
- "div",
978
- {
979
- "aria-label": t("table.views.savedViewAria", { name: view.viewName }),
980
- className: `save-view-menu-view-list-item ${view.isActive ? "active" : ""}`,
981
- role: "button",
982
- tabIndex: idx === 0 ? 0 : -1,
983
- onClick: () => {
984
- handleSaveViewClick(view);
985
- },
986
- onKeyDown: (e) => {
987
- const current = e.currentTarget;
988
- switch (e.key) {
989
- case "Enter":
990
- case " ":
991
- e.preventDefault();
992
- handleSaveViewClick(view);
993
- break;
994
- case "ArrowDown": {
995
- e.preventDefault();
996
- const next = current.nextElementSibling;
997
- if (next) {
998
- next.focus();
999
- }
1000
- break;
1001
- }
1002
- case "ArrowUp": {
1003
- e.preventDefault();
1004
- const prev = current.previousElementSibling;
1005
- if (prev) {
1006
- prev.focus();
1007
- }
1008
- break;
1009
- }
1010
- }
1011
- },
1012
- children: [
1013
- /* @__PURE__ */ jsxs("span", { className: "save-view-menu-view-list-item-name", children: [
1014
- /* @__PURE__ */ jsx(
1015
- "span",
1016
- {
1017
- "aria-hidden": "true",
1018
- className: "save-view-menu-view-list-item-type-icon",
1019
- title: view.viewType,
1020
- children: getViewTypeIcon(view.viewType, (_a2 = props.saveViewCustomFilter) == null ? void 0 : _a2.options)
1021
- }
1022
- ),
1023
- /* @__PURE__ */ jsx("span", { className: "save-view-menu-view-list-item-name-text", children: view.viewName })
1024
- ] }),
1025
- /* @__PURE__ */ jsxs("div", { className: "save-view-menu-view-list-item-actions", children: [
1026
- (view == null ? void 0 : view.isEditable) && /* @__PURE__ */ jsx(
1027
- "img",
1028
- {
1029
- alt: "save-view-edit-icon",
1030
- src: saveViewEditIcon,
1031
- onClick: (e) => {
1032
- handleEditView(view, e);
1033
- }
1034
- }
1035
- ),
1036
- (view == null ? void 0 : view.isDeletable) && /* @__PURE__ */ jsx(
1037
- "img",
1038
- {
1039
- alt: "save-view-delete-icon",
1040
- src: saveViewDeleteIcon,
1041
- onClick: (e) => {
1042
- handleDeleteView(view, e);
1043
- }
1044
- }
1045
- ),
1046
- !(view == null ? void 0 : view.notReqDefaultView) && ((view == null ? void 0 : view.isDefaultView) ? /* @__PURE__ */ jsx(
1047
- "img",
1048
- {
1049
- alt: "default-view-icon",
1050
- className: "default-view-active-icon",
1051
- src: defaultViewActiveIcon,
1052
- onClick: (e) => {
1053
- e.stopPropagation();
1054
- e.preventDefault();
1055
- props.handleSetDefaultView(view);
1056
- }
1057
- }
1058
- ) : /* @__PURE__ */ jsx(
1059
- "img",
1060
- {
1061
- alt: "default-view-icon",
1062
- src: defaultViewIcon,
1063
- onClick: (e) => {
1064
- e.stopPropagation();
1065
- e.preventDefault();
1066
- props.handleSetDefaultView(view);
1067
- }
1068
- }
1069
- ))
1070
- ] })
1071
- ]
1072
- },
1073
- view.viewName + idx
1074
- );
1075
- }) }),
1076
- /* @__PURE__ */ jsx("hr", { className: "save-view-menu-view-list-item-divider" }),
1077
- /* @__PURE__ */ jsxs("div", { className: "save-view-menu-footer", children: [
1078
- /* @__PURE__ */ jsx(
1079
- Button,
1080
- {
1081
- size: "medium",
1082
- variant: "tertiary",
1083
- onClick: () => {
1084
- setOpenSaveViewMenu(false);
1085
- setFilteredSavedViewsOptions([...savedViewsOptions]);
1086
- },
1087
- children: t("common.cancel")
1088
- }
1089
- ),
1090
- /* @__PURE__ */ jsx(
1091
- Button,
1092
- {
1093
- disabled: props.customRenderSaveViewContent,
1094
- size: "medium",
1095
- variant: "primary",
1096
- onClick: () => {
1097
- var _a2;
1098
- (_a2 = props.handleSavedViewClick) == null ? void 0 : _a2.call(props, selectedView);
1099
- updateColumnState();
1100
- setOpenSaveViewMenu(false);
1101
- },
1102
- children: t("common.apply")
1103
- }
1104
- )
1105
- ] })
1106
- ] }),
1107
- /* @__PURE__ */ jsx(
1108
- Modal,
1109
- {
1110
- className: "save-view-modal",
1111
- height: "542px",
1112
- open: openSaveViewModal,
1113
- primaryButtonLabel: props.isSavingViewLoading ? t("table.views.saving") : t("common.save"),
1114
- primaryButtonProps: {
1115
- disabled: (isInputValueEmpty || props.maxSavedViews != null && savedViewsOptions.length >= props.maxSavedViews) && !isReplaceViewSelected || nameConflict || props.isSavingViewLoading,
1116
- loading: props.isSavingViewLoading,
1117
- iconPlacement: "right"
1118
- },
1119
- secondaryButtonLabel: t("common.cancel"),
1120
- title: isEditView ? t("table.views.editView") : t("table.views.saveViewTitle"),
1121
- width: "422px",
1122
- onClose: handleCloseSaveViewModal,
1123
- onPrimaryButtonClick: handleSaveAndApply,
1124
- onSecondaryButtonClick: handleCloseSaveViewModal,
1125
- children: /* @__PURE__ */ jsxs("div", { className: "save-view-modal-children", children: [
1126
- props.maxSavedViews != null && /* @__PURE__ */ jsx("div", { className: "save-view-modal-children-header", children: /* @__PURE__ */ jsx("span", { className: "save-view-modal-children-header-text", children: t("table.views.remaining", {
1127
- remaining: props.maxSavedViews - savedViewsOptions.length,
1128
- max: props.maxSavedViews
1129
- }) }) }),
1130
- /* @__PURE__ */ jsxs(
1131
- "div",
1132
- {
1133
- className: `save-view-modal-children-body${props.maxSavedViews == null ? " save-view-modal-children-body-no-header" : ""}`,
1134
- children: [
1135
- /* @__PURE__ */ jsx("div", { className: "save-view-modal-children-body-input", children: /* @__PURE__ */ jsx(
1136
- Input,
1137
- {
1138
- helperText: nameConflict ? t("table.views.nameConflict") : "",
1139
- isDisabled: isReplaceViewSelected,
1140
- isError: nameConflict,
1141
- isHelperText: nameConflict,
1142
- label: t("table.views.newViewName"),
1143
- placeholder: t("table.views.enterHere"),
1144
- readOnly: isReplaceViewSelected,
1145
- value: inputValue,
1146
- onChange: (e) => {
1147
- setInputValue(e.target.value);
1148
- setSelectedSavedView(null);
1149
- }
1150
- }
1151
- ) }),
1152
- !isEditView && /* @__PURE__ */ jsxs("div", { className: "save-view-modal-children-body-radio-group", children: [
1153
- /* @__PURE__ */ jsx("span", { className: "save-view-modal-children-body-radio-group-text", children: t("table.views.viewType") }),
1154
- /* @__PURE__ */ jsx(
1155
- RadioButtonGroup,
1156
- {
1157
- isDisabled: isReplaceViewSelected,
1158
- options: (_f = (_e = props.saveViewCustomFilter) == null ? void 0 : _e.options) == null ? void 0 : _f.filter(
1159
- (option) => !(option == null ? void 0 : option.notReqInSaveView)
1160
- ),
1161
- orientation: "row",
1162
- selectedOption: selectedViewType,
1163
- onChange: (event) => {
1164
- setSelectedViewType(event.target.value);
1165
- }
1166
- }
1167
- )
1168
- ] }),
1169
- /* @__PURE__ */ jsx("div", { className: "save-view-modal-children-body-checkbox", children: /* @__PURE__ */ jsx(
1170
- Checkbox,
1171
- {
1172
- checked: isDefaultView,
1173
- disabled: isReplaceViewSelected,
1174
- label: t("table.views.makeDefault"),
1175
- onChange: () => {
1176
- setIsDefaultView(!isDefaultView);
1177
- }
1178
- }
1179
- ) }),
1180
- /* @__PURE__ */ jsx("div", { className: "save-view-modal-children-body-replace-view", children: /* @__PURE__ */ jsx("span", { children: t("table.views.orReplace") }) }),
1181
- /* @__PURE__ */ jsx("div", { className: "save-view-modal-children-body-replace-view-select", children: /* @__PURE__ */ jsx(
1182
- Select,
1183
- {
1184
- isClearable: true,
1185
- withPortal: true,
1186
- currentOptions: currentSaveViewOptions,
1187
- initialOptions: currentSaveViewOptions,
1188
- isDisabled: savedViewsOptions.length === 0 || !isInputValueEmpty && !isReplaceViewSelected || isEditView,
1189
- isOpen,
1190
- label: t("table.views.replaceWith"),
1191
- minWidth: "100%",
1192
- selectedOptions: selectedSavedView,
1193
- setCurrentOptions: setCurrentSaveViewOptions,
1194
- setIsOpen,
1195
- setSelectedOptions: setSelectedSavedView
1196
- }
1197
- ) })
1198
- ]
1199
- }
1200
- )
1201
- ] })
1202
- }
1203
- ),
1204
- /* @__PURE__ */ jsx(
1205
- Prompt,
1206
- {
1207
- handleClose: (e) => {
1208
- e.stopPropagation();
1209
- setOpenDeletePrompt(false);
1210
- },
1211
- isOpen: openDeletePrompt,
1212
- primaryButtonLabel: t("table.views.deleteConfirm"),
1213
- primaryButtonProps: {
1214
- loading: props.isDeleteViewLoading,
1215
- iconPlacement: "right"
1216
- },
1217
- secondaryButtonLabel: t("common.cancel"),
1218
- title: t("table.views.deleteTitle"),
1219
- variant: "error",
1220
- onPrimaryButtonClick: (e) => {
1221
- var _a2;
1222
- e.stopPropagation();
1223
- (_a2 = props.handleDeleteViewClick) == null ? void 0 : _a2.call(props, deleteView);
1224
- },
1225
- onSecondaryButtonClick: (e) => {
1226
- e.stopPropagation();
1227
- setOpenDeletePrompt(false);
1228
- },
1229
- children: props.deleteViewPromptText
1230
- }
1231
- ),
1232
- /* @__PURE__ */ jsxs("div", { className: "table-setting-column-search-container", children: [
1233
- /* @__PURE__ */ jsx("span", { className: "table-setting-column-collapse-slot", children: /* @__PURE__ */ jsx(
1234
- IconButton,
1235
- {
1236
- "aria-label": collapsedColumn ? "Expand columns" : "Collapse columns",
1237
- className: "table-setting-column-collapse-btn",
1238
- onClick: toggleColumnCollapse,
1239
- children: collapsedColumn ? /* @__PURE__ */ jsx(default_1$3, {}) : /* @__PURE__ */ jsx(default_1, {})
1240
- }
1241
- ) }),
1242
- /* @__PURE__ */ jsxs("div", { className: "table-setting-column-search-controls", children: [
1243
- /* @__PURE__ */ jsx(Checkbox, { checked: allColumnVisibility, onChange: onAllColumnCheckBoxChange }),
1244
- /* @__PURE__ */ jsx(
1245
- Input,
1246
- {
1247
- placeholder: t("common.search"),
1248
- rightIcon: /* @__PURE__ */ jsx(default_1$2, {}),
1249
- value: searchText,
1250
- onChange: handleSearchChange
1251
- }
1252
- )
1253
- ] })
1254
- ] }),
1255
- !collapsedColumn && /* @__PURE__ */ jsx(
1256
- "div",
1257
- {
1258
- className: `table-setting-column-collapse-container ${props.isSaveViewEnabled ? "save-view-enabled" : ""}`,
1259
- children: /* @__PURE__ */ jsx(
1260
- DndContext,
1261
- {
1262
- collisionDetection: closestCenter,
1263
- sensors,
1264
- onDragEnd: handleDragEnd,
1265
- children: /* @__PURE__ */ jsxs(SortableContext, { items: [...scrollableColumnOrder, ...frozenColumnOrder], children: [
1266
- frozenColumn.length > 0 && !(frozenColumn.length === 1 && frozenColumn[0].headerName === "N/A") && /* @__PURE__ */ jsxs("div", { className: "table-setting-collapse-columns-container", children: [
1267
- /* @__PURE__ */ jsx("h3", { children: t("table.columns.frozen") }),
1268
- /* @__PURE__ */ jsx("div", { className: "table-setting-frozen-columns-list", children: filteredFrozenColumns.map(
1269
- (column) => column.headerName !== "N/A" && renderFrozencolumn(column)
1270
- ) })
1271
- ] }),
1272
- /* @__PURE__ */ jsxs("div", { className: "table-setting-scroll-columns-container", children: [
1273
- /* @__PURE__ */ jsx("h3", { children: t("table.columns.scrollable") }),
1274
- /* @__PURE__ */ jsxs("div", { className: "table-setting-scroll-main-column-list", children: [
1275
- /* @__PURE__ */ jsxs("div", { className: "table-setting-scroll-main-column", children: [
1276
- /* @__PURE__ */ jsx(IconButton, { style: { padding: "0px" }, onClick: toggleScrollableCollapse, children: collapsedScrollable ? /* @__PURE__ */ jsx(default_1$3, {}) : /* @__PURE__ */ jsx(default_1, {}) }),
1277
- /* @__PURE__ */ jsx(Checkbox, { checked: mainChecked, onChange: onMainCheckboxChange }),
1278
- t("table.columns.main")
1279
- ] }),
1280
- /* @__PURE__ */ jsx("div", { className: "table-setting-scroll-inner-column-list", children: !collapsedScrollable && filteredScrollableColumns.map(
1281
- (column) => column.headerName !== "N/A" && renderScrollColumn(column)
1282
- ) })
1283
- ] })
1284
- ] })
1285
- ] })
1286
- }
1287
- )
1288
- }
1289
- )
1290
- ] });
1291
- });
1292
- const updateFontSizeOnToolPanel = (fontSizeType) => {
1293
- let fontSize;
1294
- switch (fontSizeType) {
1295
- case "small":
1296
- fontSize = "12px";
1297
- break;
1298
- case "medium":
1299
- fontSize = "14px";
1300
- break;
1301
- case "large":
1302
- fontSize = "16px";
1303
- break;
1304
- default:
1305
- fontSize = "14px";
1306
- }
1307
- return fontSize;
1308
- };
1309
- export {
1310
- Columns,
1311
- freezeColumn,
1312
- getMainMenuItems,
1313
- onColMenuAutoAdjustClick,
1314
- onColMenuFreezeClick,
1315
- sortFunc,
1316
- updateFontSizeOnToolPanel
1317
- };