impact-ui 4.0.1-alpha.20 → 4.0.1-alpha.21

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 (82) hide show
  1. package/dist/_virtual/index13.js +2 -2
  2. package/dist/_virtual/index14.js +2 -2
  3. package/dist/_virtual/index15.js +2 -2
  4. package/dist/_virtual/index16.js +2 -2
  5. package/dist/components/DateRangePicker/index.d.ts.map +1 -1
  6. package/dist/components/DateRangePicker/index.js +4 -0
  7. package/dist/components/Modal/Modal.types.d.ts +1 -1
  8. package/dist/components/Modal/Modal.types.d.ts.map +1 -1
  9. package/dist/components/Modal/index.js +1 -1
  10. package/dist/components/Notification/NotificationBody/NotificationList/NotificationListItem.d.ts.map +1 -1
  11. package/dist/components/Notification/NotificationBody/NotificationList/NotificationListItem.js +4 -1
  12. package/dist/components/Table/index.js +1 -1
  13. package/dist/components/TableChat/components/TableChatRightSection/ChatEditedMessageType /ChatEditedMessageType.d.ts.map +1 -0
  14. package/dist/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.js +1 -1
  15. package/dist/components/TableOld/index.js +1 -1
  16. package/dist/components/index.d.ts +0 -1
  17. package/dist/components/index.d.ts.map +1 -1
  18. package/dist/components/index.js +0 -2
  19. package/dist/mcp-component-registry.json +1 -1
  20. package/dist/node_modules/call-bind/index.js +1 -1
  21. package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
  22. package/dist/node_modules/is-symbol/index.js +1 -1
  23. package/dist/node_modules/react-with-styles-interface-css/dist/index.js +1 -1
  24. package/package.json +5 -5
  25. package/dist/components/TableChat/components/TableChatRightSection/ChatEditedMessageType/ChatEditedMessageType.d.ts.map +0 -1
  26. package/dist/components/TableV36/AdvanceSearchModalItem.d.ts +0 -27
  27. package/dist/components/TableV36/AdvanceSearchModalItem.d.ts.map +0 -1
  28. package/dist/components/TableV36/AdvanceSortModal.d.ts +0 -8
  29. package/dist/components/TableV36/AdvanceSortModal.d.ts.map +0 -1
  30. package/dist/components/TableV36/AdvanceSortModal.js +0 -297
  31. package/dist/components/TableV36/AgGridHeader.d.ts +0 -13
  32. package/dist/components/TableV36/AgGridHeader.d.ts.map +0 -1
  33. package/dist/components/TableV36/AgGridHeader.js +0 -781
  34. package/dist/components/TableV36/CommentsPortal.d.ts +0 -31
  35. package/dist/components/TableV36/CommentsPortal.d.ts.map +0 -1
  36. package/dist/components/TableV36/CommentsPortal.js +0 -362
  37. package/dist/components/TableV36/NewAdvanceSearchModal/NewAdvanceSearchModal.d.ts +0 -13
  38. package/dist/components/TableV36/NewAdvanceSearchModal/NewAdvanceSearchModal.d.ts.map +0 -1
  39. package/dist/components/TableV36/NewAdvanceSearchModal/NewAdvanceSearchModal.js +0 -282
  40. package/dist/components/TableV36/NewAdvanceSearchModal/NewAdvanceSearchModalItem.d.ts +0 -16
  41. package/dist/components/TableV36/NewAdvanceSearchModal/NewAdvanceSearchModalItem.d.ts.map +0 -1
  42. package/dist/components/TableV36/NewAdvanceSearchModal/NewAdvanceSearchModalItem.js +0 -302
  43. package/dist/components/TableV36/NoComments.d.ts +0 -16
  44. package/dist/components/TableV36/NoComments.d.ts.map +0 -1
  45. package/dist/components/TableV36/NoComments.js +0 -237
  46. package/dist/components/TableV36/Table.types.d.ts +0 -45
  47. package/dist/components/TableV36/Table.types.d.ts.map +0 -1
  48. package/dist/components/TableV36/actionBar.d.ts +0 -7
  49. package/dist/components/TableV36/actionBar.d.ts.map +0 -1
  50. package/dist/components/TableV36/actionBar.js +0 -31
  51. package/dist/components/TableV36/advanceSearchModal.d.ts +0 -20
  52. package/dist/components/TableV36/advanceSearchModal.d.ts.map +0 -1
  53. package/dist/components/TableV36/filterUtils.d.ts +0 -133
  54. package/dist/components/TableV36/filterUtils.d.ts.map +0 -1
  55. package/dist/components/TableV36/filterUtils.js +0 -478
  56. package/dist/components/TableV36/index.d.ts +0 -3
  57. package/dist/components/TableV36/index.d.ts.map +0 -1
  58. package/dist/components/TableV36/index.js +0 -1430
  59. package/dist/components/TableV36/mockData.d.ts +0 -39
  60. package/dist/components/TableV36/mockData.d.ts.map +0 -1
  61. package/dist/components/TableV36/tableFunctions.d.ts +0 -63
  62. package/dist/components/TableV36/tableFunctions.d.ts.map +0 -1
  63. package/dist/components/TableV36/tableFunctions.js +0 -1384
  64. package/dist/components/TableV36/tableHeader.d.ts +0 -80
  65. package/dist/components/TableV36/tableHeader.d.ts.map +0 -1
  66. package/dist/components/TableV36/tableHeader.js +0 -396
  67. package/dist/components/TableV36/tableIcons.d.ts +0 -3
  68. package/dist/components/TableV36/tableIcons.d.ts.map +0 -1
  69. package/dist/components/TableV36/tableMoreOptions.d.ts +0 -52
  70. package/dist/components/TableV36/tableMoreOptions.d.ts.map +0 -1
  71. package/dist/components/TableV36/tableMoreOptions.js +0 -324
  72. package/dist/components/TableV36/tablePagination.d.ts +0 -7
  73. package/dist/components/TableV36/tablePagination.d.ts.map +0 -1
  74. package/dist/components/TableV36/tablePagination.js +0 -67
  75. package/dist/components/TableV36/tableSettings.d.ts +0 -41
  76. package/dist/components/TableV36/tableSettings.d.ts.map +0 -1
  77. package/dist/components/TableV36/tableSettings.js +0 -278
  78. package/dist/components/TableV36/withCommentIcon.d.ts +0 -2
  79. package/dist/components/TableV36/withCommentIcon.d.ts.map +0 -1
  80. package/dist/components/TableV36/withCommentIcon.js +0 -83
  81. /package/dist/components/TableChat/components/TableChatRightSection/{ChatEditedMessageType → ChatEditedMessageType }/ChatEditedMessageType.d.ts +0 -0
  82. /package/dist/components/TableChat/components/TableChatRightSection/{ChatEditedMessageType → ChatEditedMessageType }/ChatEditedMessageType.js +0 -0
@@ -1,31 +0,0 @@
1
- import { default as React } from 'react';
2
-
3
- declare const CommentsPortal: ({ isOpen, onClose, comments, onAddComment, cellId, position, author, onMouseEnter, onMouseLeave, openedBy, onMenuClick, onMarkAsReadClick, onMarkAsResolvedClick, editCommentText, isLoading, error, onClearError, currentAuthor, editingComment, onUpdateComment, setEditingComment, loadParticipantsAvatar, resolvedComments, messageId, configuration, }: {
4
- isOpen: any;
5
- onClose: any;
6
- comments: any;
7
- onAddComment: any;
8
- cellId: any;
9
- position: any;
10
- author?: string | undefined;
11
- onMouseEnter: any;
12
- onMouseLeave: any;
13
- openedBy: any;
14
- onMenuClick: any;
15
- onMarkAsReadClick: any;
16
- onMarkAsResolvedClick: any;
17
- editCommentText?: string | undefined;
18
- isLoading?: boolean | undefined;
19
- error?: null | undefined;
20
- onClearError: any;
21
- currentAuthor: any;
22
- editingComment?: null | undefined;
23
- onUpdateComment?: null | undefined;
24
- setEditingComment: any;
25
- loadParticipantsAvatar: any;
26
- resolvedComments?: never[] | undefined;
27
- messageId?: null | undefined;
28
- configuration: any;
29
- }) => React.ReactPortal | null;
30
- export default CommentsPortal;
31
- //# sourceMappingURL=CommentsPortal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommentsPortal.d.ts","sourceRoot":"","sources":["../../../src/components/TableV36/CommentsPortal.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAkBpE,QAAA,MAAM,cAAc,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BvB,6BA4WA,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,362 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { useState, useRef, useEffect } from "react";
3
- import moment from "moment";
4
- import { createPortal } from "react-dom";
5
- import { getAssetUrl } from "../../utils/assetBase.js";
6
- import { Avatar } from "../Avatar/index.js";
7
- import { Button } from "../Button/index.js";
8
- import NoComments from "./NoComments.js";
9
- import { getUserAvatarColor } from "../../utils/avatarColor.js";
10
- import { toInnerHTML } from "../../utils/html.js";
11
- const CloseIcon = (props) => /* @__PURE__ */ jsx("img", { alt: "", src: getAssetUrl("icons/close.svg"), ...props });
12
- const MenuIcon = (props) => /* @__PURE__ */ jsx("img", { alt: "", src: getAssetUrl("icons/MoreHorizontal.svg"), ...props });
13
- const SuccessIcon = (props) => /* @__PURE__ */ jsx("img", { alt: "", src: getAssetUrl("icons/success-gray.svg"), ...props });
14
- const SuccessFillIcon = (props) => /* @__PURE__ */ jsx("img", { alt: "", src: getAssetUrl("icons/success-fill.svg"), ...props });
15
- const CommentsPortal = ({
16
- isOpen,
17
- onClose,
18
- comments,
19
- onAddComment,
20
- cellId,
21
- position,
22
- author = "Current User",
23
- onMouseEnter,
24
- onMouseLeave,
25
- openedBy,
26
- onMenuClick,
27
- onMarkAsReadClick,
28
- onMarkAsResolvedClick,
29
- editCommentText = "",
30
- isLoading = false,
31
- error = null,
32
- onClearError,
33
- currentAuthor,
34
- editingComment = null,
35
- // Add editing comment prop
36
- onUpdateComment = null,
37
- // Add update comment handler
38
- setEditingComment,
39
- loadParticipantsAvatar,
40
- resolvedComments = [],
41
- messageId = null,
42
- configuration
43
- }) => {
44
- if (!isOpen) return null;
45
- const [openFullReplies, setOpenFullReplies] = useState(openedBy == "click");
46
- const [adjustedPosition, setAdjustedPosition] = useState(position);
47
- const [editingText, setEditingText] = useState("");
48
- const listRef = useRef(null);
49
- useEffect(() => {
50
- if (editingComment) {
51
- setEditingText(editingComment.text || "");
52
- }
53
- }, [editingComment]);
54
- useEffect(() => {
55
- var _a;
56
- if (openFullReplies && comments && comments.length > 0) {
57
- const safePad = 8;
58
- if (comments.length === 1) {
59
- const headerHeight = 50;
60
- const inputSectionHeight = 60;
61
- const metaHeight = 40;
62
- const lineHeight = 20;
63
- const charsPerLine = 45;
64
- const textLen = (((_a = comments[0]) == null ? void 0 : _a.text) || "").length;
65
- const lines = Math.max(1, Math.ceil(textLen / charsPerLine));
66
- const textHeight = Math.min(lines * lineHeight, 300);
67
- const desiredHeight = Math.min(
68
- headerHeight + metaHeight + textHeight + inputSectionHeight,
69
- 500
70
- );
71
- const viewportHeight = window.innerHeight || document.documentElement.clientHeight;
72
- const baseTop = (position == null ? void 0 : position.top) ?? 0;
73
- const fitsBelow = baseTop + desiredHeight <= viewportHeight - safePad;
74
- const keepTop = Math.max(safePad, baseTop);
75
- const clampTop = Math.max(safePad, viewportHeight - desiredHeight - safePad);
76
- const newTop = fitsBelow ? keepTop : clampTop;
77
- setAdjustedPosition({
78
- top: newTop,
79
- left: (position == null ? void 0 : position.left) ?? 0
80
- });
81
- } else {
82
- const desiredHeight = 500;
83
- const viewportHeight = window.innerHeight || document.documentElement.clientHeight;
84
- const maxTop = Math.max(safePad, viewportHeight - desiredHeight - safePad);
85
- const newTop = Math.min(Math.max(safePad, (position == null ? void 0 : position.top) || 0), maxTop);
86
- setAdjustedPosition({ top: newTop, left: (position == null ? void 0 : position.left) || 0 });
87
- }
88
- } else {
89
- setAdjustedPosition(position);
90
- }
91
- }, [openFullReplies, comments, position]);
92
- useEffect(() => {
93
- var _a;
94
- if (!isOpen) return;
95
- const el = listRef.current;
96
- if (!el) return;
97
- requestAnimationFrame(() => {
98
- try {
99
- if (messageId) {
100
- const messageElement = el.querySelector(`[data-message-id="${messageId}"]`);
101
- if (messageElement) {
102
- messageElement.scrollIntoView({
103
- behavior: "smooth",
104
- block: "center"
105
- });
106
- messageElement.style.backgroundColor = "#eceefd";
107
- messageElement.style.transition = "background-color 0.3s ease";
108
- setTimeout(() => {
109
- messageElement.style.backgroundColor = "";
110
- }, (configuration == null ? void 0 : configuration.messageIdHighlightTimer) || 3e3);
111
- } else {
112
- if (el.scrollHeight > el.clientHeight) {
113
- el.scrollTo({ top: el.scrollHeight, behavior: "smooth" });
114
- }
115
- }
116
- } else {
117
- if (el.scrollHeight > el.clientHeight) {
118
- el.scrollTo({ top: el.scrollHeight, behavior: "smooth" });
119
- }
120
- }
121
- } catch (e) {
122
- }
123
- });
124
- if (onMarkAsReadClick && !((_a = comments[0]) == null ? void 0 : _a.read)) onMarkAsReadClick(cellId);
125
- }, [isOpen, openFullReplies, comments == null ? void 0 : comments.length, messageId]);
126
- useEffect(() => {
127
- if (!isOpen) return;
128
- const isNoCommentsOutsidePortal = !(comments && comments.length > 0);
129
- if (!isNoCommentsOutsidePortal) return;
130
- const onKeyDown = (e) => {
131
- if (e.key === "Escape" || e.key === "Esc") {
132
- if (typeof onClose === "function") {
133
- onClose();
134
- }
135
- }
136
- };
137
- document.addEventListener("keydown", onKeyDown);
138
- return () => {
139
- document.removeEventListener("keydown", onKeyDown);
140
- };
141
- }, [isOpen, comments, onClose]);
142
- const formatTimestamp = (timestamp) => {
143
- if (!timestamp) return "";
144
- if (moment(timestamp).isValid()) {
145
- return moment.utc(timestamp).local().format("hh:mm A, MM-DD-YYYY");
146
- }
147
- return timestamp;
148
- };
149
- const isResolved = Array.isArray(resolvedComments) && resolvedComments.find((comment) => comment === cellId);
150
- return createPortal(
151
- /* @__PURE__ */ jsx(
152
- "div",
153
- {
154
- style: {
155
- position: "fixed",
156
- top: (adjustedPosition == null ? void 0 : adjustedPosition.top) || 0,
157
- left: (adjustedPosition == null ? void 0 : adjustedPosition.left) || 0,
158
- zIndex: 9999
159
- },
160
- onClick: onClose,
161
- onMouseEnter,
162
- onMouseLeave: !openFullReplies ? onMouseLeave : () => {
163
- },
164
- children: comments && (comments == null ? void 0 : comments.length) > 0 ? /* @__PURE__ */ jsxs(
165
- "div",
166
- {
167
- style: {
168
- maxHeight: "500px",
169
- paddingBottom: openFullReplies && isResolved ? "16px" : "0px"
170
- },
171
- className: `comments-portal-container ${!openFullReplies ? "clickable" : ""} ${(position == null ? void 0 : position.side) == "left" ? "left" : ""}`,
172
- onClick: (e) => {
173
- e.stopPropagation();
174
- if (!openFullReplies) {
175
- setOpenFullReplies(true);
176
- }
177
- },
178
- children: [
179
- openFullReplies && /* @__PURE__ */ jsx("div", { className: `comments-portal-header ${(position == null ? void 0 : position.side) == "left" ? "left" : ""}`, children: /* @__PURE__ */ jsxs("div", { className: "comments-portal-header-inner", children: [
180
- /* @__PURE__ */ jsx("h3", { children: "Comments" }),
181
- /* @__PURE__ */ jsxs("div", { className: "comments-portal-header-buttons", children: [
182
- (comments == null ? void 0 : comments.length) >= 1 && !isResolved && !((configuration == null ? void 0 : configuration.disableMarkAsRead) && (configuration == null ? void 0 : configuration.disableDeleteThread)) && /* @__PURE__ */ jsx(
183
- Button,
184
- {
185
- className: "",
186
- disabled: false,
187
- icon: /* @__PURE__ */ jsx(MenuIcon, { fontSize: "small" }),
188
- iconPlacement: "left",
189
- size: "small",
190
- style: {
191
- backgroundColor: "transparent",
192
- maxHeight: "32px"
193
- },
194
- type: "default",
195
- variant: "text",
196
- onClick: (e) => {
197
- onMenuClick(e, cellId, "topMenu");
198
- }
199
- }
200
- ),
201
- !(configuration == null ? void 0 : configuration.disableMarkAsResolved) && (isResolved ? /* @__PURE__ */ jsx(SuccessFillIcon, { fontSize: "small" }) : /* @__PURE__ */ jsx(
202
- "div",
203
- {
204
- style: { cursor: "pointer" },
205
- onClick: (e) => {
206
- e.stopPropagation();
207
- if (onMarkAsResolvedClick) onMarkAsResolvedClick(cellId, comments);
208
- },
209
- children: /* @__PURE__ */ jsx(SuccessIcon, { fontSize: "small" })
210
- }
211
- )),
212
- /* @__PURE__ */ jsx(
213
- Button,
214
- {
215
- className: "comment-close",
216
- disabled: false,
217
- icon: /* @__PURE__ */ jsx(CloseIcon, { fontSize: "large" }),
218
- iconPlacement: "left",
219
- size: "small",
220
- style: {
221
- backgroundColor: "transparent",
222
- padding: "4px 0px"
223
- },
224
- type: "default",
225
- variant: "text",
226
- onClick: onClose
227
- }
228
- )
229
- ] })
230
- ] }) }),
231
- /* @__PURE__ */ jsx("div", { ref: listRef, className: "comments-portal-list", children: comments.map((comment, index) => {
232
- const isCurrentAuthor = comment.author === currentAuthor;
233
- if (!openFullReplies && index > 0) {
234
- return null;
235
- }
236
- return /* @__PURE__ */ jsxs("div", { "data-message-id": comment.id, children: [
237
- /* @__PURE__ */ jsxs("div", { className: "comment-item-row-1", children: [
238
- /* @__PURE__ */ jsxs("div", { className: "comment-item-author-section", children: [
239
- /* @__PURE__ */ jsx(
240
- Avatar,
241
- {
242
- className: "comment-item-avatar",
243
- label: comment.author,
244
- size: "small",
245
- style: {
246
- width: "6px",
247
- height: "26px",
248
- borderRadius: "6px",
249
- padding: "3px 13px",
250
- backgroundColor: getUserAvatarColor(comment.author)
251
- },
252
- type: "withoutPicture"
253
- }
254
- ),
255
- /* @__PURE__ */ jsx("div", { className: "comment-item-author-name", children: comment.author }),
256
- /* @__PURE__ */ jsxs("div", { className: "comment-item-timestamp", children: [
257
- formatTimestamp(comment.timestamp),
258
- comment.isEdited && /* @__PURE__ */ jsx("span", { children: "(edited)" })
259
- ] })
260
- ] }),
261
- openFullReplies && isCurrentAuthor && (!(configuration == null ? void 0 : configuration.disableEditComment) || !(configuration == null ? void 0 : configuration.disableDeleteComment)) && /* @__PURE__ */ jsx(
262
- Button,
263
- {
264
- className: "",
265
- disabled: false,
266
- icon: /* @__PURE__ */ jsx(MenuIcon, { fontSize: "small" }),
267
- iconPlacement: "left",
268
- size: "small",
269
- style: { backgroundColor: "transparent" },
270
- type: "default",
271
- variant: "text",
272
- onClick: (e) => {
273
- onMenuClick(e, comment);
274
- }
275
- }
276
- )
277
- ] }),
278
- /* @__PURE__ */ jsx("div", { className: "comment-item-row-2", children: editingComment && editingComment.id === comment.id ? (
279
- /* Show input field when editing this comment */
280
- /* @__PURE__ */ jsx("div", { className: "comment-edit-input-wrapper", children: /* @__PURE__ */ jsx(
281
- NoComments,
282
- {
283
- cellId: comment.id,
284
- editCommentText: editingText,
285
- error,
286
- isEditFlow: true,
287
- isInsidePortal: true,
288
- isLoading,
289
- loadParticipantsAvatar,
290
- position,
291
- setEditingComment,
292
- onAddComment: onUpdateComment,
293
- onClearError,
294
- onUpdateComment: (text) => onUpdateComment(comment.id, text)
295
- }
296
- ) })
297
- ) : (
298
- /* Show normal comment text */
299
- /* @__PURE__ */ jsx(
300
- "div",
301
- {
302
- className: `comment-item-text`,
303
- dangerouslySetInnerHTML: toInnerHTML(comment.text)
304
- }
305
- )
306
- ) })
307
- ] }, comment.id);
308
- }) }),
309
- openFullReplies && !isResolved && /* @__PURE__ */ jsxs("div", { className: "add-comment-section", children: [
310
- /* @__PURE__ */ jsx(
311
- Avatar,
312
- {
313
- className: "comment-item-avatar",
314
- label: currentAuthor,
315
- size: "small",
316
- style: {
317
- width: "6px",
318
- height: "26px",
319
- borderRadius: "6px",
320
- padding: "3px 13px",
321
- backgroundColor: getUserAvatarColor(currentAuthor)
322
- },
323
- type: "withoutPicture"
324
- }
325
- ),
326
- /* @__PURE__ */ jsx(
327
- NoComments,
328
- {
329
- cellId,
330
- error,
331
- isInsidePortal: true,
332
- isLoading,
333
- loadParticipantsAvatar,
334
- position,
335
- onAddComment,
336
- onClearError
337
- }
338
- )
339
- ] })
340
- ]
341
- }
342
- ) : /* @__PURE__ */ jsx(
343
- NoComments,
344
- {
345
- cellId,
346
- editCommentText,
347
- error,
348
- isLoading,
349
- loadParticipantsAvatar,
350
- position,
351
- onAddComment,
352
- onClearError
353
- }
354
- )
355
- }
356
- ),
357
- document.body
358
- );
359
- };
360
- export {
361
- CommentsPortal as default
362
- };
@@ -1,13 +0,0 @@
1
- declare const NewAdvanceSearchModal: ({ isAdvanceSearch, actualRef, onSearchApplyClick, toggleAdvanceSearch, initialFilters, setInitialFilters, colDefs, currentColumnId, ...args }: {
2
- [x: string]: any;
3
- isAdvanceSearch: any;
4
- actualRef: any;
5
- onSearchApplyClick: any;
6
- toggleAdvanceSearch: any;
7
- initialFilters: any;
8
- setInitialFilters: any;
9
- colDefs?: never[] | undefined;
10
- currentColumnId: any;
11
- }) => import("react/jsx-runtime").JSX.Element;
12
- export default NewAdvanceSearchModal;
13
- //# sourceMappingURL=NewAdvanceSearchModal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NewAdvanceSearchModal.d.ts","sourceRoot":"","sources":["../../../../src/components/TableV36/NewAdvanceSearchModal/NewAdvanceSearchModal.tsx"],"names":[],"mappings":"AAgBA,QAAA,MAAM,qBAAqB,GAAI;;;;;;;;;;CAU9B,4CAoRA,CAAC;AAEF,eAAe,qBAAqB,CAAC"}