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,1321 +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.columnApi.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.columnApi.autoSizeColumn(params.column);
57
- };
58
- const sortFunc = (columnData, sortBy, api) => {
59
- api.columnApi.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: false
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.columnApi.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, t]);
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 || // Always update when menu is shown
369
- isColumnPinnedRef.current) {
370
- isColumnPinnedRef.current = false;
371
- updateColumnState();
372
- const onColumnPinned = () => {
373
- isColumnPinnedRef.current = true;
374
- debouncedUpdateColumnState();
375
- };
376
- if (ref == null ? void 0 : ref.current) {
377
- (_b2 = (_a2 = ref.current) == null ? void 0 : _a2.api) == null ? void 0 : _b2.addEventListener("columnPinned", onColumnPinned);
378
- (_d2 = (_c2 = ref.current) == null ? void 0 : _c2.api) == null ? void 0 : _d2.addEventListener("columnMoved", onColumnPinned);
379
- (_f2 = (_e2 = ref.current) == null ? void 0 : _e2.api) == null ? void 0 : _f2.addEventListener("columnVisible", onColumnPinned);
380
- }
381
- return () => {
382
- var _a3, _b3, _c3, _d3, _e3, _f3;
383
- if (ref == null ? void 0 : ref.current) {
384
- (_b3 = (_a3 = ref.current) == null ? void 0 : _a3.api) == null ? void 0 : _b3.removeEventListener("columnPinned", onColumnPinned);
385
- (_d3 = (_c3 = ref.current) == null ? void 0 : _c3.api) == null ? void 0 : _d3.removeEventListener("columnMoved", onColumnPinned);
386
- (_f3 = (_e3 = ref.current) == null ? void 0 : _e3.api) == null ? void 0 : _f3.removeEventListener("columnVisible", onColumnPinned);
387
- }
388
- };
389
- }
390
- }, [props.showMenu]);
391
- const [frozenColumnOrder, setFrozenColumnOrder] = useState([]);
392
- const [scrollableColumnOrder, setScrollableColumnOrder] = useState([]);
393
- const sensors = useSensors(useSensor(MouseSensor), useSensor(TouchSensor));
394
- const getAllColumnIds = (columns) => {
395
- let ids = [];
396
- columns.forEach((col) => {
397
- ids.push(col.colId);
398
- if (col.children && col.children.length > 0) {
399
- ids = ids.concat(getAllColumnIds(col.children));
400
- }
401
- });
402
- return ids;
403
- };
404
- useEffect(() => {
405
- setFrozenColumnOrder(getAllColumnIds(filteredFrozenColumns));
406
- setScrollableColumnOrder(getAllColumnIds(filteredScrollableColumns));
407
- }, [filteredFrozenColumns, filteredScrollableColumns]);
408
- const handleSearchChange = (e) => {
409
- const searchText2 = e.target.value.toLowerCase();
410
- searchTextRef.current = searchText2;
411
- setSearchText(searchText2);
412
- setFilteredFrozenColumns(filterColumnsByText(frozenColumn, searchText2));
413
- setFilteredScrollableColumns(filterColumnsByText(scrollableColumn, searchText2));
414
- };
415
- useEffect(() => {
416
- const isAnyScrollableColumnVisible = isColumnTreeVisible(filteredScrollableColumns);
417
- const isAnyFrozenColumnVisible = isColumnTreeVisible(filteredFrozenColumns);
418
- setMainChecked(isAnyScrollableColumnVisible);
419
- setAllColumnvisisbility(isAnyFrozenColumnVisible || isAnyScrollableColumnVisible);
420
- }, [filteredFrozenColumns, filteredScrollableColumns]);
421
- const setSubtreeVisibility = (columns, visibility) => columns.map((column) => {
422
- var _a2, _b2, _c2;
423
- (_b2 = (_a2 = ref == null ? void 0 : ref.current) == null ? void 0 : _a2.columnApi) == null ? void 0 : _b2.setColumnVisible(column.colId, visibility);
424
- return {
425
- ...column,
426
- isVisible: visibility,
427
- children: ((_c2 = column.children) == null ? void 0 : _c2.length) > 0 ? setSubtreeVisibility(column.children, visibility) : column.children
428
- };
429
- });
430
- const applyVisibilityToggle = (columns, colId) => {
431
- let changed = false;
432
- const updated = columns.map((column) => {
433
- var _a2, _b2, _c2, _d2, _e2, _f2;
434
- if (changed) return column;
435
- if (column.colId === colId) {
436
- changed = true;
437
- const newVisibility = !column.isVisible;
438
- (_b2 = (_a2 = ref == null ? void 0 : ref.current) == null ? void 0 : _a2.columnApi) == null ? void 0 : _b2.setColumnVisible(column.colId, newVisibility);
439
- return {
440
- ...column,
441
- isVisible: newVisibility,
442
- children: ((_c2 = column.children) == null ? void 0 : _c2.length) > 0 ? setSubtreeVisibility(column.children, newVisibility) : column.children
443
- };
444
- }
445
- if (((_d2 = column.children) == null ? void 0 : _d2.length) > 0) {
446
- const result = applyVisibilityToggle(column.children, colId);
447
- if (!result.changed) return column;
448
- changed = true;
449
- const isAnyChildVisible = isColumnTreeVisible(result.columns);
450
- (_f2 = (_e2 = ref == null ? void 0 : ref.current) == null ? void 0 : _e2.columnApi) == null ? void 0 : _f2.setColumnVisible(column.colId, isAnyChildVisible);
451
- return { ...column, isVisible: isAnyChildVisible, children: result.columns };
452
- }
453
- return column;
454
- });
455
- return { columns: updated, changed };
456
- };
457
- const toggleColumnVisibilityFrozen = (colId) => {
458
- const { columns } = applyVisibilityToggle(frozenColumn, colId);
459
- setFrozenColumn(columns);
460
- setFilteredFrozenColumns(filterColumnsByText(columns, searchTextRef.current));
461
- };
462
- const toggleColumnVisibilityScroll = (colId) => {
463
- const { columns } = applyVisibilityToggle(scrollableColumn, colId);
464
- setScrollableColumn(columns);
465
- setFilteredScrollableColumns(filterColumnsByText(columns, searchTextRef.current));
466
- };
467
- const toggleScrollableCollapse = (e) => {
468
- e.stopPropagation();
469
- setCollapsedScrollable(!collapsedScrollable);
470
- };
471
- const toggleColumnCollapse = (e) => {
472
- e.stopPropagation();
473
- setCollapsedcolumn(!collapsedColumn);
474
- };
475
- const applyBulkVisibility = (columns, visibility, allowedIds) => columns.map((column) => {
476
- var _a2, _b2, _c2, _d2, _e2;
477
- const isAllowed = !allowedIds || allowedIds.has(column.colId);
478
- if (((_a2 = column.children) == null ? void 0 : _a2.length) > 0) {
479
- const children = applyBulkVisibility(
480
- column.children,
481
- visibility,
482
- isAllowed ? null : allowedIds
483
- );
484
- const isAnyChildVisible = isColumnTreeVisible(children);
485
- (_c2 = (_b2 = ref == null ? void 0 : ref.current) == null ? void 0 : _b2.columnApi) == null ? void 0 : _c2.setColumnVisible(column.colId, isAnyChildVisible);
486
- return { ...column, isVisible: isAnyChildVisible, children };
487
- }
488
- if (!isAllowed) return column;
489
- (_e2 = (_d2 = ref == null ? void 0 : ref.current) == null ? void 0 : _d2.columnApi) == null ? void 0 : _e2.setColumnVisible(column.colId, visibility);
490
- return { ...column, isVisible: visibility };
491
- });
492
- const onMainCheckboxChange = () => {
493
- const listedIds = new Set(getAllColumnIds(filteredScrollableColumns));
494
- const updatedColumns = applyBulkVisibility(scrollableColumn, !mainChecked, listedIds);
495
- setScrollableColumn(updatedColumns);
496
- setFilteredScrollableColumns(filterColumnsByText(updatedColumns, searchTextRef.current));
497
- };
498
- const onAllColumnCheckBoxChange = () => {
499
- const visibility = !allColumnVisibility;
500
- const listedFrozenIds = new Set(getAllColumnIds(filteredFrozenColumns));
501
- const listedScrollableIds = new Set(getAllColumnIds(filteredScrollableColumns));
502
- const updatedFrozenColumns = applyBulkVisibility(frozenColumn, visibility, listedFrozenIds);
503
- const updatedScrollableColumns = applyBulkVisibility(
504
- scrollableColumn,
505
- visibility,
506
- listedScrollableIds
507
- );
508
- setFrozenColumn(updatedFrozenColumns);
509
- setScrollableColumn(updatedScrollableColumns);
510
- setFilteredFrozenColumns(filterColumnsByText(updatedFrozenColumns, searchTextRef.current));
511
- setFilteredScrollableColumns(
512
- filterColumnsByText(updatedScrollableColumns, searchTextRef.current)
513
- );
514
- };
515
- const toggleScrollColumnCollapse = (colId) => {
516
- setCollapsedScrollColumns((prev) => ({
517
- ...prev,
518
- [colId]: !prev[colId]
519
- // Toggle collapse state for the specific column
520
- }));
521
- };
522
- const toggleFrozenColumnCollapse = (colId) => {
523
- setCollapsedFrozenColumns((prev) => ({
524
- ...prev,
525
- [colId]: !prev[colId]
526
- // Toggle collapse state for the specific frozen column
527
- }));
528
- };
529
- const reorderColDefsByColId = (colDefs, newOrder, type = "scrollable") => {
530
- const reorder = (columns) => {
531
- let filteredCols = [];
532
- if (type === "frozen") {
533
- filteredCols = columns.filter((col) => col.pinned === "left");
534
- } else {
535
- filteredCols = columns.filter((col) => col.pinned !== "left");
536
- }
537
- const sorted = [...filteredCols].filter((col) => newOrder.includes(col.colId || col.field || col.headerName)).sort(
538
- (a, b) => newOrder.indexOf(a.colId || a.field || a.headerName) - newOrder.indexOf(b.colId || b.field || b.headerName)
539
- ).map((col) => {
540
- if (col.children && col.children.length > 0) {
541
- return {
542
- ...col,
543
- children: reorder(col.children)
544
- };
545
- }
546
- return col;
547
- });
548
- return sorted;
549
- };
550
- let otherCols = [];
551
- if (type === "frozen") {
552
- otherCols = colDefs.filter((col) => col.pinned !== "left");
553
- } else {
554
- otherCols = colDefs.filter((col) => col.pinned === "left");
555
- }
556
- return [...otherCols, ...reorder(colDefs)];
557
- };
558
- const updateColumnDefs = (order, type, movedId, pinDirection) => {
559
- var _a2, _b2, _c2, _d2;
560
- const colDefs = (_b2 = (_a2 = ref == null ? void 0 : ref.current) == null ? void 0 : _a2.api) == null ? void 0 : _b2.getColumnDefs();
561
- if (!colDefs) return;
562
- const newColDefs = reorderColDefsByColId(colDefs, order, type);
563
- if (movedId) {
564
- const colDefToUpdate = newColDefs.find((c) => c.colId === movedId);
565
- if (colDefToUpdate) {
566
- colDefToUpdate.pinned = pinDirection;
567
- }
568
- }
569
- (_d2 = (_c2 = ref == null ? void 0 : ref.current) == null ? void 0 : _c2.api) == null ? void 0 : _d2.setColumnDefs(newColDefs);
570
- };
571
- const handleDragEnd = (event) => {
572
- const { active, over } = event;
573
- if (!over) return;
574
- const activeId = active.id;
575
- const overId = over.id;
576
- const isFrozenSource = frozenColumnOrder.includes(activeId);
577
- const isFrozenTarget = frozenColumnOrder.includes(overId);
578
- if (isFrozenSource && isFrozenTarget) {
579
- const oldIndex = frozenColumnOrder.indexOf(activeId);
580
- const newIndex = frozenColumnOrder.indexOf(overId);
581
- const newOrder = arrayMove(frozenColumnOrder, oldIndex, newIndex);
582
- setFrozenColumnOrder(newOrder);
583
- const reordered = newOrder.map((id) => {
584
- frozenColumn.find((c) => c.colId === id);
585
- }).filter(Boolean);
586
- setFrozenColumn(reordered);
587
- setFilteredFrozenColumns(reordered);
588
- updateColumnDefs(newOrder, "frozen");
589
- } else if (!isFrozenSource && !isFrozenTarget) {
590
- const oldIndex = scrollableColumnOrder.indexOf(activeId);
591
- const newIndex = scrollableColumnOrder.indexOf(overId);
592
- const newOrder = arrayMove(scrollableColumnOrder, oldIndex, newIndex);
593
- setScrollableColumnOrder(newOrder);
594
- const reordered = newOrder.map((id) => {
595
- filteredScrollableColumns.find((c) => c.colId === id);
596
- }).filter(Boolean);
597
- setScrollableColumn(reordered);
598
- setFilteredScrollableColumns(reordered);
599
- updateColumnDefs(newOrder, "scrollable");
600
- } else {
601
- if (isFrozenSource) {
602
- const updatedFrozenOrder = frozenColumnOrder.filter((id) => id !== activeId);
603
- const updatedFrozenCols = updatedFrozenOrder.map((id) => {
604
- frozenColumn.find((c) => c.colId === id);
605
- }).filter(Boolean);
606
- setFrozenColumnOrder(updatedFrozenOrder);
607
- setFrozenColumn(updatedFrozenCols);
608
- setFilteredFrozenColumns(updatedFrozenCols);
609
- const overIndex = scrollableColumnOrder.findIndex((id) => id === overId);
610
- const insertAt = overIndex === -1 ? scrollableColumnOrder.length : overIndex;
611
- const newScrollableOrder = [...scrollableColumnOrder];
612
- newScrollableOrder.splice(insertAt, 0, activeId);
613
- const allColumns = [...filteredFrozenColumns, ...filteredScrollableColumns];
614
- const updatedScrollableCols = newScrollableOrder.map((id) => {
615
- allColumns.find((c) => c.colId === id);
616
- }).filter(Boolean);
617
- setScrollableColumnOrder(newScrollableOrder);
618
- setScrollableColumn(updatedScrollableCols);
619
- setFilteredScrollableColumns(updatedScrollableCols);
620
- updateColumnDefs(newScrollableOrder, "scrollable", activeId, null);
621
- } else {
622
- const newScrollable = scrollableColumnOrder.filter((id) => id !== activeId);
623
- const updatedScrollable = newScrollable.map((id) => {
624
- scrollableColumn.find((c) => c.colId === id);
625
- }).filter(Boolean);
626
- setScrollableColumnOrder(newScrollable);
627
- setScrollableColumn(updatedScrollable);
628
- setFilteredScrollableColumns(updatedScrollable);
629
- const overIndex = frozenColumnOrder.findIndex((id) => id === overId);
630
- const insertAt = overIndex === -1 ? frozenColumnOrder.length : overIndex;
631
- const newFrozen = [...frozenColumnOrder];
632
- newFrozen.splice(insertAt, 0, activeId);
633
- const newFrozenCols = newFrozen.map((id) => {
634
- [...filteredFrozenColumns, ...filteredScrollableColumns].find((c) => c.colId === id);
635
- }).filter(Boolean);
636
- setFrozenColumnOrder(newFrozen);
637
- setFrozenColumn(newFrozenCols);
638
- setFilteredFrozenColumns(newFrozenCols);
639
- updateColumnDefs(newFrozen, "frozen", activeId, "left");
640
- }
641
- }
642
- };
643
- const renderScrollColumn = (column, level = 0) => {
644
- const isCollapsed = collapsedScrollColumns[column.colId] || false;
645
- return /* @__PURE__ */ jsx(
646
- SortableColumnItem,
647
- {
648
- column,
649
- dragIconClass: "table-setting-scroll-columns-list-drag-icon",
650
- level,
651
- renderFn: ({ column: column2, level: level2, dragProps, dragIconClass, onToggle }) => /* @__PURE__ */ jsxs(Fragment, { children: [
652
- /* @__PURE__ */ jsxs(
653
- "div",
654
- {
655
- className: "table-setting-scroll-inner-column",
656
- style: { marginLeft: `${level2 * 20}px` },
657
- children: [
658
- Array.isArray(column2.children) && column2.children.length > 0 && /* @__PURE__ */ jsx(
659
- IconButton,
660
- {
661
- style: { padding: "0px" },
662
- onClick: (e) => {
663
- e.stopPropagation();
664
- toggleScrollColumnCollapse(column2.colId);
665
- },
666
- children: isCollapsed ? /* @__PURE__ */ jsx(default_1$3, {}) : /* @__PURE__ */ jsx(default_1, {})
667
- }
668
- ),
669
- /* @__PURE__ */ jsx(
670
- Checkbox,
671
- {
672
- checked: column2.isVisible,
673
- disabled: column2.disabled,
674
- onChange: () => {
675
- toggleColumnVisibilityScroll(column2.colId);
676
- }
677
- }
678
- ),
679
- /* @__PURE__ */ jsx("span", { ...dragProps, style: { cursor: "grab", display: "inline-flex" }, children: /* @__PURE__ */ jsx(DragIndicator, { className: "table-setting-scroll-columns-list-drag-icon" }) }),
680
- column2.headerName.charAt(0).toUpperCase() + column2.headerName.slice(1)
681
- ]
682
- }
683
- ),
684
- Array.isArray(column2.children) && column2.children.length > 0 && !isCollapsed && /* @__PURE__ */ jsx(
685
- "div",
686
- {
687
- style: {
688
- marginLeft: "20px",
689
- display: "flex",
690
- flexDirection: "column",
691
- gap: "4px",
692
- marginTop: "4px"
693
- },
694
- children: column2.children.map((child) => /* @__PURE__ */ jsx("div", { children: renderScrollColumn(child, level2 + 1) }, child.colId))
695
- }
696
- )
697
- ] }),
698
- onToggle: toggleScrollColumnCollapse
699
- },
700
- column.colId
701
- );
702
- };
703
- const renderFrozencolumn = (column, level = 0) => {
704
- const isCollapsed = collapsedFrozenColumns[column.colId] || false;
705
- return /* @__PURE__ */ jsx(
706
- SortableColumnItem,
707
- {
708
- column,
709
- dragIconClass: "table-setting-frozen-columns-list-drag-icon",
710
- level,
711
- renderFn: ({ column: column2, level: level2, dragProps, dragIconClass, onToggle }) => /* @__PURE__ */ jsxs(Fragment, { children: [
712
- /* @__PURE__ */ jsxs(
713
- "div",
714
- {
715
- className: "table-setting-frozen-columns-list-item",
716
- style: { marginLeft: `${level2 * 20}px` },
717
- children: [
718
- Array.isArray(column2.children) && column2.children.length > 0 && /* @__PURE__ */ jsx(
719
- IconButton,
720
- {
721
- style: { padding: "0px" },
722
- onClick: (e) => {
723
- e.stopPropagation();
724
- toggleFrozenColumnCollapse(column2.colId);
725
- },
726
- children: isCollapsed ? /* @__PURE__ */ jsx(default_1$3, {}) : /* @__PURE__ */ jsx(default_1, {})
727
- }
728
- ),
729
- /* @__PURE__ */ jsx(
730
- Checkbox,
731
- {
732
- checked: column2.isVisible,
733
- disabled: column2 == null ? void 0 : column2.disabled,
734
- onChange: () => {
735
- toggleColumnVisibilityFrozen(column2.colId);
736
- }
737
- }
738
- ),
739
- /* @__PURE__ */ jsx("span", { ...dragProps, style: { cursor: "grab", display: "inline-flex" }, children: /* @__PURE__ */ jsx(DragIndicator, { className: "table-setting-frozen-columns-list-drag-icon" }) }),
740
- column2.headerName.charAt(0).toUpperCase() + column2.headerName.slice(1)
741
- ]
742
- }
743
- ),
744
- Array.isArray(column2.children) && column2.children.length > 0 && !isCollapsed && /* @__PURE__ */ jsx(
745
- "div",
746
- {
747
- style: {
748
- marginLeft: "20px",
749
- display: "flex",
750
- flexDirection: "column",
751
- gap: "4px",
752
- marginTop: "4px"
753
- },
754
- children: column2.children.map((child) => /* @__PURE__ */ jsx("div", { children: renderFrozencolumn(child, level2 + 1) }, child.colId))
755
- }
756
- )
757
- ] }),
758
- onToggle: toggleFrozenColumnCollapse
759
- },
760
- column.colId
761
- );
762
- };
763
- const handleSaveAndApply = () => {
764
- var _a2, _b2;
765
- if (isEditView) {
766
- const newView2 = {
767
- ...editedView,
768
- viewName: inputValue,
769
- viewType: selectedViewType,
770
- isDefaultView,
771
- isActive: false
772
- };
773
- props.handleEditSaveView(newView2, editedView);
774
- if (!props.isSavingViewLoading) {
775
- setIsEditView(false);
776
- setEditedView(null);
777
- setOpenSaveViewModal(false);
778
- setInputValue("");
779
- setSelectedViewType((_a2 = props.saveViewCustomFilter) == null ? void 0 : _a2.selectedOption);
780
- setIsDefaultView(false);
781
- }
782
- return;
783
- }
784
- const replaceViewName = selectedSavedView == null ? void 0 : selectedSavedView.value;
785
- const isReplacing = isInputValueEmpty && !!replaceViewName;
786
- const newView = {
787
- viewName: isReplacing ? replaceViewName : inputValue,
788
- viewType: selectedViewType,
789
- isDefaultView,
790
- isActive: true
791
- };
792
- const applyToViews = (prev) => isReplacing ? prev.map(
793
- (view) => view.viewName === replaceViewName && view.viewType === selectedViewType ? { ...view, ...newView } : { ...view, isActive: false }
794
- ) : [...prev.map((view) => ({ ...view, isActive: false })), newView];
795
- setSavedViewsOptions(applyToViews);
796
- setFilteredSavedViewsOptions(applyToViews);
797
- (_b2 = props.handleSaveAndApply) == null ? void 0 : _b2.call(props, newView, replaceViewName);
798
- };
799
- useEffect(() => {
800
- var _a2;
801
- if (!props.isSavingViewLoading) {
802
- setOpenSaveViewModal(false);
803
- setSelectedSavedView(null);
804
- setInputValue("");
805
- setSelectedViewType((_a2 = props.saveViewCustomFilter) == null ? void 0 : _a2.selectedOption);
806
- setIsDefaultView(false);
807
- setOpenDeletePrompt(false);
808
- setDeleteView(null);
809
- setEditedView(null);
810
- }
811
- }, [props.isSavingViewLoading]);
812
- const handleEditView = (view, e) => {
813
- e.stopPropagation();
814
- e.preventDefault();
815
- setIsEditView(true);
816
- setOpenSaveViewModal(true);
817
- setInputValue(view.viewName);
818
- setSelectedViewType(view.viewType);
819
- setIsDefaultView(view.isDefaultView);
820
- setEditedView(view);
821
- };
822
- const handleCloseSaveViewModal = () => {
823
- var _a2;
824
- setOpenSaveViewModal(false);
825
- setSelectedSavedView(null);
826
- setInputValue("");
827
- setSelectedViewType((_a2 = props.saveViewCustomFilter) == null ? void 0 : _a2.selectedOption);
828
- setIsDefaultView(false);
829
- setIsEditView(false);
830
- };
831
- const handleSaveViewSearchChange = (e) => {
832
- setSaveViewSearchText(e.target.value);
833
- const filteredViews = savedViewsOptions.filter(
834
- (view) => view.viewName.toLowerCase().includes(e.target.value.toLowerCase())
835
- );
836
- setFilteredSavedViewsOptions(filteredViews);
837
- };
838
- const handleDeleteView = (view, e) => {
839
- e.stopPropagation();
840
- e.preventDefault();
841
- setOpenDeletePrompt(true);
842
- setDeleteView(view);
843
- };
844
- useEffect(() => {
845
- if (!props.isDeleteViewLoading) {
846
- setOpenDeletePrompt(false);
847
- }
848
- }, [props.isDeleteViewLoading]);
849
- useEffect(() => {
850
- if (selectedBadge === "All") {
851
- setFilteredSavedViewsOptions([...savedViewsOptions]);
852
- } else {
853
- setFilteredSavedViewsOptions(
854
- savedViewsOptions.filter((view) => view.viewType === selectedBadge)
855
- );
856
- }
857
- }, [selectedBadge, savedViewsOptions]);
858
- const handleSaveViewClick = (view) => {
859
- setFilteredSavedViewsOptions(
860
- (prev) => prev.map((item) => {
861
- if (item.viewName === view.viewName) {
862
- return {
863
- ...item,
864
- isActive: true
865
- };
866
- }
867
- return {
868
- ...item,
869
- isActive: false
870
- };
871
- })
872
- );
873
- setSelectedView(view);
874
- };
875
- const nameConflictExcludeView = isEditView ? editedView : (selectedSavedView == null ? void 0 : selectedSavedView.value) ? {
876
- viewName: selectedSavedView.value,
877
- viewType: selectedSavedView.viewType
878
- } : null;
879
- const nameConflict = !props.isSavingViewLoading && !isInputValueEmpty && !isViewNameUnique(
880
- inputValue,
881
- selectedViewType,
882
- isDefaultView,
883
- savedViewsOptions,
884
- nameConflictExcludeView,
885
- props.isViewNameUniqueAcrossTypes
886
- );
887
- return /* @__PURE__ */ jsxs("div", { className: "table-setting-columns-settings", children: [
888
- props.isSaveViewEnabled && /* @__PURE__ */ jsxs("div", { className: "table-setting-save-view-container", children: [
889
- savedViewsOptions.length === 0 ? /* @__PURE__ */ jsxs("div", { className: "save-view-icon-title", children: [
890
- /* @__PURE__ */ jsx("img", { alt: "save-view-icon", src: saveViewIcon }),
891
- /* @__PURE__ */ jsx("span", { className: "save-view-title", children: t("table.views.none") })
892
- ] }) : /* @__PURE__ */ jsxs("div", { className: "save-view-container-active-view", children: [
893
- /* @__PURE__ */ jsx(
894
- Badge,
895
- {
896
- color: "success",
897
- label: `${((_b = savedViewsOptions.find((view) => view.isActive)) == null ? void 0 : _b.viewName) || t("table.views.notApplicable")}`,
898
- variant: "stroke"
899
- }
900
- ),
901
- /* @__PURE__ */ jsx(
902
- Button,
903
- {
904
- icon: openSaveViewMenu ? /* @__PURE__ */ jsx(default_1, {}) : /* @__PURE__ */ jsx(default_1$1, {}),
905
- size: "small",
906
- variant: "tertiary",
907
- onClick: () => {
908
- setOpenSaveViewMenu(!openSaveViewMenu);
909
- setFilteredSavedViewsOptions([...savedViewsOptions]);
910
- }
911
- }
912
- )
913
- ] }),
914
- /* @__PURE__ */ jsx(
915
- Button,
916
- {
917
- size: "small",
918
- variant: "tertiary",
919
- onClick: () => {
920
- setOpenSaveViewModal(true);
921
- },
922
- children: t("table.views.saveView")
923
- }
924
- )
925
- ] }),
926
- openSaveViewMenu && /* @__PURE__ */ jsxs("div", { className: "save-view-menu", children: [
927
- /* @__PURE__ */ jsxs("div", { className: "save-view-menu-title", children: [
928
- /* @__PURE__ */ jsx("span", { children: t("table.views.savedViews") }),
929
- /* @__PURE__ */ jsxs("div", { className: "save-view-menu-default-view", children: [
930
- /* @__PURE__ */ jsx("img", { alt: "default-view-icon", src: defaultViewActiveIcon }),
931
- /* @__PURE__ */ jsx("span", { className: "save-view-menu-default-view-text", children: t("table.views.default") })
932
- ] })
933
- ] }),
934
- /* @__PURE__ */ jsxs("div", { className: "save-view-menu-view-type", children: [
935
- /* @__PURE__ */ jsx(
936
- Badge,
937
- {
938
- color: selectedBadge === "All" ? "info" : "default",
939
- label: t("table.views.all"),
940
- size: "small",
941
- variant: "stroke",
942
- onClick: () => {
943
- setSelectedBadge("All");
944
- setFilteredSavedViewsOptions([...savedViewsOptions]);
945
- }
946
- }
947
- ),
948
- (_d = (_c = props.saveViewCustomFilter) == null ? void 0 : _c.options) == null ? void 0 : _d.map((option) => /* @__PURE__ */ jsx(
949
- Badge,
950
- {
951
- isIcon: true,
952
- color: selectedBadge === option.value ? "info" : "default",
953
- icon: getViewTypeIcon(option.value),
954
- label: option.label,
955
- size: "small",
956
- variant: "stroke",
957
- onClick: () => {
958
- setSelectedBadge(option.value);
959
- setFilteredSavedViewsOptions(
960
- savedViewsOptions.filter((view) => view.viewType === option.value)
961
- );
962
- }
963
- },
964
- option.value
965
- ))
966
- ] }),
967
- /* @__PURE__ */ jsx("div", { className: "save-view-menu-search-container", children: /* @__PURE__ */ jsx(
968
- Input,
969
- {
970
- leftIcon: /* @__PURE__ */ jsx(default_1$2, {}),
971
- placeholder: t("table.views.searchPlaceholder"),
972
- value: saveViewSearchText,
973
- onChange: handleSaveViewSearchChange
974
- }
975
- ) }),
976
- /* @__PURE__ */ jsx("div", { className: "save-view-menu-view-list-container", children: props.customRenderSaveViewContent ? props.customRenderSaveViewContent : filteredSavedViewsOptions.length > 0 && filteredSavedViewsOptions.map((view, idx) => {
977
- var _a2;
978
- return /* @__PURE__ */ jsxs(
979
- "div",
980
- {
981
- "aria-label": t("table.views.savedViewAria", {
982
- name: view.viewName
983
- }),
984
- className: `save-view-menu-view-list-item ${view.isActive ? "active" : ""}`,
985
- role: "button",
986
- tabIndex: idx === 0 ? 0 : -1,
987
- onClick: () => {
988
- handleSaveViewClick(view);
989
- },
990
- onKeyDown: (e) => {
991
- const current = e.currentTarget;
992
- switch (e.key) {
993
- case "Enter":
994
- case " ":
995
- e.preventDefault();
996
- handleSaveViewClick(view);
997
- break;
998
- case "ArrowDown": {
999
- e.preventDefault();
1000
- const next = current.nextElementSibling;
1001
- if (next) {
1002
- next.focus();
1003
- }
1004
- break;
1005
- }
1006
- case "ArrowUp": {
1007
- e.preventDefault();
1008
- const prev = current.previousElementSibling;
1009
- if (prev) {
1010
- prev.focus();
1011
- }
1012
- break;
1013
- }
1014
- }
1015
- },
1016
- children: [
1017
- /* @__PURE__ */ jsxs("span", { className: "save-view-menu-view-list-item-name", children: [
1018
- /* @__PURE__ */ jsx(
1019
- "span",
1020
- {
1021
- "aria-hidden": "true",
1022
- className: "save-view-menu-view-list-item-type-icon",
1023
- title: view.viewType,
1024
- children: getViewTypeIcon(view.viewType, (_a2 = props.saveViewCustomFilter) == null ? void 0 : _a2.options)
1025
- }
1026
- ),
1027
- /* @__PURE__ */ jsx("span", { className: "save-view-menu-view-list-item-name-text", children: view.viewName })
1028
- ] }),
1029
- /* @__PURE__ */ jsxs("div", { className: "save-view-menu-view-list-item-actions", children: [
1030
- (view == null ? void 0 : view.isEditable) && /* @__PURE__ */ jsx(
1031
- "img",
1032
- {
1033
- alt: "save-view-edit-icon",
1034
- src: saveViewEditIcon,
1035
- onClick: (e) => {
1036
- handleEditView(view, e);
1037
- }
1038
- }
1039
- ),
1040
- (view == null ? void 0 : view.isDeletable) && /* @__PURE__ */ jsx(
1041
- "img",
1042
- {
1043
- alt: "save-view-delete-icon",
1044
- src: saveViewDeleteIcon,
1045
- onClick: (e) => {
1046
- handleDeleteView(view, e);
1047
- }
1048
- }
1049
- ),
1050
- !(view == null ? void 0 : view.notReqDefaultView) && ((view == null ? void 0 : view.isDefaultView) ? /* @__PURE__ */ jsx(
1051
- "img",
1052
- {
1053
- alt: "default-view-icon",
1054
- className: "default-view-active-icon",
1055
- src: defaultViewActiveIcon,
1056
- onClick: (e) => {
1057
- e.stopPropagation();
1058
- e.preventDefault();
1059
- props.handleSetDefaultView(view);
1060
- }
1061
- }
1062
- ) : /* @__PURE__ */ jsx(
1063
- "img",
1064
- {
1065
- alt: "default-view-icon",
1066
- src: defaultViewIcon,
1067
- onClick: (e) => {
1068
- e.stopPropagation();
1069
- e.preventDefault();
1070
- props.handleSetDefaultView(view);
1071
- }
1072
- }
1073
- ))
1074
- ] })
1075
- ]
1076
- },
1077
- view.viewName + idx
1078
- );
1079
- }) }),
1080
- /* @__PURE__ */ jsx("hr", { className: "save-view-menu-view-list-item-divider" }),
1081
- /* @__PURE__ */ jsxs("div", { className: "save-view-menu-footer", children: [
1082
- /* @__PURE__ */ jsx(
1083
- Button,
1084
- {
1085
- size: "medium",
1086
- variant: "tertiary",
1087
- onClick: () => {
1088
- setOpenSaveViewMenu(false);
1089
- setFilteredSavedViewsOptions([...savedViewsOptions]);
1090
- },
1091
- children: t("common.cancel")
1092
- }
1093
- ),
1094
- /* @__PURE__ */ jsx(
1095
- Button,
1096
- {
1097
- disabled: props.customRenderSaveViewContent,
1098
- size: "medium",
1099
- variant: "primary",
1100
- onClick: () => {
1101
- var _a2;
1102
- (_a2 = props.handleSavedViewClick) == null ? void 0 : _a2.call(props, selectedView);
1103
- updateColumnState();
1104
- setOpenSaveViewMenu(false);
1105
- },
1106
- children: t("common.apply")
1107
- }
1108
- )
1109
- ] })
1110
- ] }),
1111
- /* @__PURE__ */ jsx(
1112
- Modal,
1113
- {
1114
- className: "save-view-modal",
1115
- height: "542px",
1116
- open: openSaveViewModal,
1117
- primaryButtonLabel: props.isSavingViewLoading ? t("table.views.saving") : t("common.save"),
1118
- primaryButtonProps: {
1119
- disabled: (isInputValueEmpty || props.maxSavedViews != null && savedViewsOptions.length >= props.maxSavedViews) && !isReplaceViewSelected || nameConflict || props.isSavingViewLoading,
1120
- loading: props.isSavingViewLoading,
1121
- iconPlacement: "right"
1122
- },
1123
- secondaryButtonLabel: t("common.cancel"),
1124
- title: isEditView ? t("table.views.editView") : t("table.views.saveViewTitle"),
1125
- width: "422px",
1126
- onClose: handleCloseSaveViewModal,
1127
- onPrimaryButtonClick: handleSaveAndApply,
1128
- onSecondaryButtonClick: handleCloseSaveViewModal,
1129
- children: /* @__PURE__ */ jsxs("div", { className: "save-view-modal-children", children: [
1130
- 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", {
1131
- remaining: props.maxSavedViews - savedViewsOptions.length,
1132
- max: props.maxSavedViews
1133
- }) }) }),
1134
- /* @__PURE__ */ jsxs(
1135
- "div",
1136
- {
1137
- className: `save-view-modal-children-body${props.maxSavedViews == null ? " save-view-modal-children-body-no-header" : ""}`,
1138
- children: [
1139
- /* @__PURE__ */ jsx("div", { className: "save-view-modal-children-body-input", children: /* @__PURE__ */ jsx(
1140
- Input,
1141
- {
1142
- helperText: nameConflict ? t("table.views.nameConflict") : "",
1143
- isDisabled: isReplaceViewSelected,
1144
- isError: nameConflict,
1145
- isHelperText: nameConflict,
1146
- label: t("table.views.newViewName"),
1147
- placeholder: t("table.views.enterHere"),
1148
- readOnly: isReplaceViewSelected,
1149
- value: inputValue,
1150
- onChange: (e) => {
1151
- setInputValue(e.target.value);
1152
- setSelectedSavedView(null);
1153
- }
1154
- }
1155
- ) }),
1156
- !isEditView && /* @__PURE__ */ jsxs("div", { className: "save-view-modal-children-body-radio-group", children: [
1157
- /* @__PURE__ */ jsx("span", { className: "save-view-modal-children-body-radio-group-text", children: t("table.views.viewType") }),
1158
- /* @__PURE__ */ jsx(
1159
- RadioButtonGroup,
1160
- {
1161
- isDisabled: isReplaceViewSelected,
1162
- options: (_f = (_e = props.saveViewCustomFilter) == null ? void 0 : _e.options) == null ? void 0 : _f.filter(
1163
- (option) => !(option == null ? void 0 : option.notReqInSaveView)
1164
- ),
1165
- orientation: "row",
1166
- selectedOption: selectedViewType,
1167
- onChange: (event) => {
1168
- setSelectedViewType(event.target.value);
1169
- }
1170
- }
1171
- )
1172
- ] }),
1173
- /* @__PURE__ */ jsx("div", { className: "save-view-modal-children-body-checkbox", children: /* @__PURE__ */ jsx(
1174
- Checkbox,
1175
- {
1176
- checked: isDefaultView,
1177
- disabled: isReplaceViewSelected,
1178
- label: t("table.views.makeDefault"),
1179
- onChange: () => {
1180
- setIsDefaultView(!isDefaultView);
1181
- }
1182
- }
1183
- ) }),
1184
- /* @__PURE__ */ jsx("div", { className: "save-view-modal-children-body-replace-view", children: /* @__PURE__ */ jsx("span", { children: t("table.views.orReplace") }) }),
1185
- /* @__PURE__ */ jsx("div", { className: "save-view-modal-children-body-replace-view-select", children: /* @__PURE__ */ jsx(
1186
- Select,
1187
- {
1188
- isClearable: true,
1189
- withPortal: true,
1190
- currentOptions: currentSaveViewOptions,
1191
- initialOptions: currentSaveViewOptions,
1192
- isDisabled: savedViewsOptions.length === 0 || !isInputValueEmpty && !isReplaceViewSelected || isEditView,
1193
- isOpen,
1194
- label: t("table.views.replaceWith"),
1195
- minWidth: "100%",
1196
- selectedOptions: selectedSavedView,
1197
- setCurrentOptions: setCurrentSaveViewOptions,
1198
- setIsOpen,
1199
- setSelectedOptions: setSelectedSavedView
1200
- }
1201
- ) })
1202
- ]
1203
- }
1204
- )
1205
- ] })
1206
- }
1207
- ),
1208
- /* @__PURE__ */ jsx(
1209
- Prompt,
1210
- {
1211
- handleClose: (e) => {
1212
- e.stopPropagation();
1213
- setOpenDeletePrompt(false);
1214
- },
1215
- isOpen: openDeletePrompt,
1216
- primaryButtonLabel: t("table.views.deleteConfirm"),
1217
- primaryButtonProps: {
1218
- loading: props.isDeleteViewLoading,
1219
- iconPlacement: "right"
1220
- },
1221
- secondaryButtonLabel: t("common.cancel"),
1222
- title: t("table.views.deleteTitle"),
1223
- variant: "error",
1224
- onPrimaryButtonClick: (e) => {
1225
- var _a2;
1226
- e.stopPropagation();
1227
- (_a2 = props.handleDeleteViewClick) == null ? void 0 : _a2.call(props, deleteView);
1228
- },
1229
- onSecondaryButtonClick: (e) => {
1230
- e.stopPropagation();
1231
- setOpenDeletePrompt(false);
1232
- },
1233
- children: props.deleteViewPromptText
1234
- }
1235
- ),
1236
- /* @__PURE__ */ jsxs("div", { className: "table-setting-column-search-container", children: [
1237
- /* @__PURE__ */ jsx("span", { className: "table-setting-column-collapse-slot", children: /* @__PURE__ */ jsx(
1238
- IconButton,
1239
- {
1240
- "aria-label": collapsedColumn ? "Expand columns" : "Collapse columns",
1241
- className: "table-setting-column-collapse-btn",
1242
- onClick: toggleColumnCollapse,
1243
- children: collapsedColumn ? /* @__PURE__ */ jsx(default_1$3, {}) : /* @__PURE__ */ jsx(default_1, {})
1244
- }
1245
- ) }),
1246
- /* @__PURE__ */ jsxs("div", { className: "table-setting-column-search-controls", children: [
1247
- /* @__PURE__ */ jsx(Checkbox, { checked: allColumnVisibility, onChange: onAllColumnCheckBoxChange }),
1248
- /* @__PURE__ */ jsx(
1249
- Input,
1250
- {
1251
- placeholder: t("common.search"),
1252
- rightIcon: /* @__PURE__ */ jsx(default_1$2, {}),
1253
- value: searchText,
1254
- onChange: handleSearchChange
1255
- }
1256
- )
1257
- ] })
1258
- ] }),
1259
- !collapsedColumn && /* @__PURE__ */ jsx(
1260
- "div",
1261
- {
1262
- className: `table-setting-column-collapse-container ${props.isSaveViewEnabled ? "save-view-enabled" : ""}`,
1263
- children: /* @__PURE__ */ jsx(
1264
- DndContext,
1265
- {
1266
- collisionDetection: closestCenter,
1267
- sensors,
1268
- onDragEnd: handleDragEnd,
1269
- children: /* @__PURE__ */ jsxs(SortableContext, { items: [...scrollableColumnOrder, ...frozenColumnOrder], children: [
1270
- frozenColumn.length > 0 && !(frozenColumn.length === 1 && frozenColumn[0].headerName === t("table.columns.na")) && /* @__PURE__ */ jsxs("div", { className: "table-setting-collapse-columns-container", children: [
1271
- /* @__PURE__ */ jsx("h3", { children: t("table.columns.frozen") }),
1272
- /* @__PURE__ */ jsx("div", { className: "table-setting-frozen-columns-list", children: filteredFrozenColumns.map(
1273
- (column) => column.headerName !== t("table.columns.na") && renderFrozencolumn(column)
1274
- ) })
1275
- ] }),
1276
- /* @__PURE__ */ jsxs("div", { className: "table-setting-scroll-columns-container", children: [
1277
- /* @__PURE__ */ jsx("h3", { children: t("table.columns.scrollable") }),
1278
- /* @__PURE__ */ jsxs("div", { className: "table-setting-scroll-main-column-list", children: [
1279
- /* @__PURE__ */ jsxs("div", { className: "table-setting-scroll-main-column", children: [
1280
- /* @__PURE__ */ jsx(IconButton, { style: { padding: "0px" }, onClick: toggleScrollableCollapse, children: collapsedScrollable ? /* @__PURE__ */ jsx(default_1$3, {}) : /* @__PURE__ */ jsx(default_1, {}) }),
1281
- /* @__PURE__ */ jsx(Checkbox, { checked: mainChecked, onChange: onMainCheckboxChange }),
1282
- t("table.columns.main")
1283
- ] }),
1284
- /* @__PURE__ */ jsx("div", { className: "table-setting-scroll-inner-column-list", children: !collapsedScrollable && filteredScrollableColumns.map(
1285
- (column) => column.headerName !== t("table.columns.na") && renderScrollColumn(column)
1286
- ) })
1287
- ] })
1288
- ] })
1289
- ] })
1290
- }
1291
- )
1292
- }
1293
- )
1294
- ] });
1295
- });
1296
- const updateFontSizeOnToolPanel = (fontSizeType) => {
1297
- let fontSize;
1298
- switch (fontSizeType) {
1299
- case "small":
1300
- fontSize = "12px";
1301
- break;
1302
- case "medium":
1303
- fontSize = "14px";
1304
- break;
1305
- case "large":
1306
- fontSize = "16px";
1307
- break;
1308
- default:
1309
- fontSize = "14px";
1310
- }
1311
- return fontSize;
1312
- };
1313
- export {
1314
- Columns,
1315
- freezeColumn,
1316
- getMainMenuItems,
1317
- onColMenuAutoAdjustClick,
1318
- onColMenuFreezeClick,
1319
- sortFunc,
1320
- updateFontSizeOnToolPanel
1321
- };