@lax-wp/design-system 0.13.63 → 0.13.65

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 (26) hide show
  1. package/dist/components/data-display/infinite-table/body/cell/DataCell.cjs.js +1 -1
  2. package/dist/components/data-display/infinite-table/body/cell/DataCell.cjs.js.map +1 -1
  3. package/dist/components/data-display/infinite-table/body/cell/DataCell.es.js +108 -107
  4. package/dist/components/data-display/infinite-table/body/cell/DataCell.es.js.map +1 -1
  5. package/dist/components/data-display/infinite-table/body/cell/RowActionCell.cjs.js +1 -1
  6. package/dist/components/data-display/infinite-table/body/cell/RowActionCell.cjs.js.map +1 -1
  7. package/dist/components/data-display/infinite-table/body/cell/RowActionCell.es.js +23 -23
  8. package/dist/components/data-display/infinite-table/body/cell/RowActionCell.es.js.map +1 -1
  9. package/dist/components/data-display/infinite-table/body/cell/RowOptionsCell.cjs.js +1 -1
  10. package/dist/components/data-display/infinite-table/body/cell/RowOptionsCell.cjs.js.map +1 -1
  11. package/dist/components/data-display/infinite-table/body/cell/RowOptionsCell.es.js +1 -1
  12. package/dist/components/data-display/infinite-table/body/cell/RowOptionsCell.es.js.map +1 -1
  13. package/dist/components/data-display/infinite-table/index.cjs.js +1 -1
  14. package/dist/components/data-display/infinite-table/index.cjs.js.map +1 -1
  15. package/dist/components/data-display/infinite-table/index.es.js +191 -190
  16. package/dist/components/data-display/infinite-table/index.es.js.map +1 -1
  17. package/dist/components/data-display/infinite-table/types.d.ts +1 -0
  18. package/dist/components/data-display/label/Label.cjs.js +1 -1
  19. package/dist/components/data-display/label/Label.cjs.js.map +1 -1
  20. package/dist/components/data-display/label/Label.es.js +2 -2
  21. package/dist/components/data-display/label/Label.es.js.map +1 -1
  22. package/dist/components/data-display/tag/Tag.cjs.js +1 -1
  23. package/dist/components/data-display/tag/Tag.cjs.js.map +1 -1
  24. package/dist/components/data-display/tag/Tag.es.js +5 -5
  25. package/dist/components/data-display/tag/Tag.es.js.map +1 -1
  26. package/package.json +1 -1
@@ -1,20 +1,20 @@
1
- import { jsxs as M, jsx as t, Fragment as je } from "react/jsx-runtime";
2
- import { useTheme as We } from "../../../../../hooks/useTheme.es.js";
3
- import { formatDate as G, formatCurrency as ie } from "../../../../../utils/formatters.es.js";
4
- import { getTableRowBgClassNamesByStatus as Ue } from "../../../../../constants/table.es.js";
5
- import { useTableConfig as Ye } from "../../../../../providers/design-system-provider/hooks.es.js";
1
+ import { jsxs as $, jsx as t, Fragment as Fe } from "react/jsx-runtime";
2
+ import { useTheme as Ke } from "../../../../../hooks/useTheme.es.js";
3
+ import { formatDate as G, formatCurrency as ce } from "../../../../../utils/formatters.es.js";
4
+ import { getTableRowBgClassNamesByStatus as je } from "../../../../../constants/table.es.js";
5
+ import { useTableConfig as We } from "../../../../../providers/design-system-provider/hooks.es.js";
6
6
  import H from "../../../../tooltip/Tooltip.es.js";
7
- import { Typography as Be } from "../../../typography/Typography.es.js";
8
- import { OpenInNewRounded as Ge } from "@mui/icons-material";
7
+ import { Typography as Ue } from "../../../typography/Typography.es.js";
8
+ import { OpenInNewRounded as Ye } from "@mui/icons-material";
9
9
  import x from "../../../../../_virtual/index.es.js";
10
- import C, { useContext as He, useCallback as S, useState as D, useRef as X, useEffect as b } from "react";
11
- import { Link as Xe } from "react-router-dom";
12
- import { TableContext as qe } from "../../context.es.js";
13
- import { InlineEditField as Je } from "./InlineEditField.es.js";
14
- import { CELL_DEFAULT_RIGHT_OFFSET as Qe, CELL_INDENT_PER_LEVEL_PX as q, CELL_STICKY_SHADOW_DARK as Ze, CELL_STICKY_SHADOW_LIGHT as Pe } from "../../constants.es.js";
15
- import { LoadingSpinnerIcon as J, KeyboardArrowDownIcon as Ee, KeyboardArrowRightFilledIcon as eo, LinkIcon as oo } from "../../../../icon/icons.generated.es.js";
10
+ import C, { useContext as Be, useCallback as M, useState as S, useRef as X, useEffect as v } from "react";
11
+ import { Link as Ge } from "react-router-dom";
12
+ import { TableContext as He } from "../../context.es.js";
13
+ import { InlineEditField as Xe } from "./InlineEditField.es.js";
14
+ import { CELL_DEFAULT_RIGHT_OFFSET as qe, CELL_INDENT_PER_LEVEL_PX as q, CELL_STICKY_SHADOW_DARK as Je, CELL_STICKY_SHADOW_LIGHT as Qe } from "../../constants.es.js";
15
+ import { LoadingSpinnerIcon as J, KeyboardArrowDownIcon as Ze, KeyboardArrowRightFilledIcon as Pe, LinkIcon as Ee } from "../../../../icon/icons.generated.es.js";
16
16
  let Q;
17
- const le = (e) => {
17
+ const me = (e) => {
18
18
  const o = Number(e);
19
19
  if (Number.isNaN(o) || e === null || e === void 0)
20
20
  return "0ms";
@@ -31,121 +31,122 @@ const le = (e) => {
31
31
  return `${p}m ${d}s`;
32
32
  }
33
33
  return o >= 1e3 ? `${(o / 1e3).toFixed(2)}s` : `${o}ms`;
34
- }, to = ({ children: e, withLink: o, linkTo: p, rowData: d, disableRowClick: u }) => o && !u ? /* @__PURE__ */ t(Xe, { to: p?.(d?.id, d) || "", children: e }) : e, ro = ({
34
+ }, eo = ({ children: e, withLink: o, linkTo: p, rowData: d, disableRowClick: u }) => o && !u ? /* @__PURE__ */ t(Ge, { to: p?.(d?.id, d) || "", children: e }) : e, oo = ({
35
35
  cell: e,
36
36
  id: o,
37
37
  nextWidthSum: p,
38
38
  isLastCell: d,
39
39
  rowHovering: u,
40
40
  index: h,
41
- isFirstStickyCell: ce,
42
- handleCellClick: me,
43
- currentData: v,
44
- highlightSubstring: O,
45
- is_read: de,
46
- is_modified: fe,
47
- is_row_modified: pe,
41
+ isFirstStickyCell: de,
42
+ handleCellClick: fe,
43
+ currentData: y,
44
+ highlightSubstring: D,
45
+ is_read: to,
46
+ is_modified: Z,
47
+ is_row_modified: P,
48
48
  is_deleted: R,
49
49
  is_added: I,
50
- level: y,
50
+ level: b,
51
51
  inlineEditing: k,
52
52
  isInlineEditing: l,
53
- setRowHovering: V,
54
- handleCellValueChange: we,
55
- cellRef: he,
56
- handleUpdateCellData: ye,
57
- registerValidation: be,
58
- loadingExpand: ve,
59
- toggleRowExpand: Z,
60
- isDraggingOver: ke,
61
- isLoading: g,
62
- is_incomplete: P,
53
+ setRowHovering: O,
54
+ handleCellValueChange: pe,
55
+ cellRef: we,
56
+ handleUpdateCellData: he,
57
+ registerValidation: ye,
58
+ loadingExpand: be,
59
+ toggleRowExpand: E,
60
+ isDraggingOver: ve,
61
+ isLoading: V,
62
+ is_incomplete: ee,
63
63
  pendingEdit: a,
64
64
  hasPendingEdit: i,
65
- pendingValidationError: xe
65
+ pendingValidationError: ke
66
66
  }) => {
67
67
  const {
68
- cascadingTableConfig: E,
69
- originalsOnly: Te,
70
- maxLevel: Ce,
71
- showNewItem: ge,
72
- expandedRows: _e,
68
+ cascadingTableConfig: oe,
69
+ originalsOnly: xe,
70
+ maxLevel: Te,
71
+ showNewItem: ro,
72
+ expandedRows: Ce,
73
73
  rowLinkConfig: z,
74
- multiSelectConfig: Ne,
74
+ multiSelectConfig: ge,
75
75
  cellEditing: A,
76
76
  cellEditingValue: F,
77
- allowInlineEdit: ee,
78
- fieldOperationLoading: Le,
79
- pendingEdits: $e,
77
+ allowInlineEdit: te,
78
+ fieldOperationLoading: _e,
79
+ pendingEdits: Ne,
80
80
  selectedRowId: K
81
- } = He(qe), Me = K != null && String(K) === String(o), Se = Ye(), j = (e?.column?.key ? e?.row?.original?.__cellMetadata?.[e.column.key] : void 0)?.is_locked ?? e?.column?.is_locked, W = (e?.column?.key ? $e?.[o]?.[e.column.key]?.validationError : null) || xe || null, oe = k === e.column.key && e?.column?.canEdit && !j && !e?.column?.is_disabled, De = Le === `${o}-${e?.column?.id}`, { theme: Oe } = We(), Ve = Oe === "dark", Re = S(() => V(o), [V, o]), Ie = S(() => V(null), [V]), _ = Se?.formatDuration, [n, f] = D(
82
- e?.column?.dataType === "duration" && e?.value ? _ ? _(e.value) : le(e.value) : e.value
83
- ), [w, te] = D(null), [U, ze] = D(!1), [Ae, re] = D(!1), [Fe, ae] = D(!1), N = X(null), L = X(), $ = X(), { selectedColumnIds: ne = [] } = Ne || {}, se = !Object.prototype.hasOwnProperty.call(e?.column?.meta ?? {}, "shouldHighlight") || e?.column?.meta?.shouldHighlight, ue = S(() => {
84
- N.current && ze(N.current.scrollWidth > N.current.clientWidth);
85
- }, []), Y = S((r) => {
86
- L.current && clearTimeout(L.current), r ? re(!0) : L.current = setTimeout(() => re(!1), 200);
87
- }, []), B = S((r) => {
88
- $.current && clearTimeout($.current), r ? ae(!0) : $.current = setTimeout(() => ae(!1), 200);
81
+ } = Be(He), Le = K != null && String(K) === String(o), $e = We(), j = (e?.column?.key ? e?.row?.original?.__cellMetadata?.[e.column.key] : void 0)?.is_locked ?? e?.column?.is_locked, W = (e?.column?.key ? Ne?.[o]?.[e.column.key]?.validationError : null) || ke || null, re = k === e.column.key && e?.column?.canEdit && !j && !e?.column?.is_disabled, Me = _e === `${o}-${e?.column?.id}`, { theme: Se } = Ke(), De = Se === "dark", Oe = M(() => O(o), [O, o]), Ve = M(() => O(null), [O]), g = $e?.formatDuration, [n, f] = S(
82
+ e?.column?.dataType === "duration" && e?.value ? g ? g(e.value) : me(e.value) : e.value
83
+ ), [w, ae] = S(null), [U, Re] = S(!1), [Ie, ne] = S(!1), [ze, se] = S(!1), _ = X(null), N = X(), L = X(), { selectedColumnIds: ue = [] } = ge || {}, ie = !Object.prototype.hasOwnProperty.call(e?.column?.meta ?? {}, "shouldHighlight") || e?.column?.meta?.shouldHighlight, le = M(() => {
84
+ _.current && Re(_.current.scrollWidth > _.current.clientWidth);
85
+ }, []), Y = M((r) => {
86
+ N.current && clearTimeout(N.current), r ? ne(!0) : N.current = setTimeout(() => ne(!1), 200);
87
+ }, []), B = M((r) => {
88
+ L.current && clearTimeout(L.current), r ? se(!0) : L.current = setTimeout(() => se(!1), 200);
89
89
  }, []), T = x({
90
90
  "bg-amber-100 dark:bg-amber-900/30": i,
91
- "bg-neutral-100 dark:bg-black-600": u === o && !l && !i && !(R || v?.is_deleted) && !(I || v?.is_added),
92
- "bg-error-200 dark:bg-error-900": u === o && !l && !i && (R || v?.is_deleted),
93
- "bg-success-100 dark:bg-success-800": u === o && !l && !i && (I || v?.is_added),
94
- "bg-primary-50 dark:bg-black-700": !P && !de && ge && !g && u !== o && !l && !i,
95
- "bg-warning-50 dark:bg-black-500": (P || fe || pe || v?.is_row_modified) && !g && u !== o && !l && !i,
96
- "bg-error-100 dark:bg-error-975": (R || v?.is_deleted) && !g && u !== o && !l && !i,
97
- "bg-success-50 dark:bg-success-900": (I || v?.is_added) && !g && u !== o && !l && !i,
98
- "bg-primary-50 dark:bg-primary-900": (ke || l) && !i,
99
- "bg-primary-50 dark:bg-primary-800": ne?.includes(e.column.id) && !l && !i,
100
- "bg-primary-100 dark:bg-primary-950": Me && u !== o && !l && !i && !g,
101
- [Ue[e?.row?.original?.__rowBgStatus]]: e?.row?.original?.__rowBgStatus && !l && !i
102
- }), Ke = (r) => {
103
- e.column?.disableRowClick || me(r);
91
+ "bg-neutral-100 dark:bg-black-600": u === o && !l && !i && !(R || y?.is_deleted) && !(I || y?.is_added),
92
+ "bg-error-200 dark:bg-error-900": u === o && !l && !i && (R || y?.is_deleted),
93
+ "bg-success-100 dark:bg-success-800": u === o && !l && !i && (I || y?.is_added),
94
+ "bg-warning-100 dark:bg-warning-950": u === o && !l && !i && (ee || Z || P || y?.is_row_modified),
95
+ // 'bg-primary-50 dark:bg-black-700': !is_incomplete && !is_read && showNewItem && !isLoading && rowHovering !== id && !isInlineEditing && !hasPendingEdit,
96
+ "bg-warning-50 dark:bg-orange-900": (ee || Z || P || y?.is_row_modified) && !V && u !== o && !l && !i,
97
+ "bg-error-100 dark:bg-error-975": (R || y?.is_deleted) && !V && u !== o && !l && !i,
98
+ "bg-success-50 dark:bg-success-900": (I || y?.is_added) && !V && u !== o && !l && !i,
99
+ "bg-primary-50 dark:bg-primary-900": (ve || l) && !i,
100
+ "bg-primary-50 dark:bg-primary-800": ue?.includes(e.column.id) && !l && !i,
101
+ "bg-primary-100 dark:bg-primary-950": Le && u !== o && !l && !i && !V,
102
+ [je[e?.row?.original?.__rowBgStatus]]: e?.row?.original?.__rowBgStatus && !l && !i
103
+ }), Ae = (r) => {
104
+ e.column?.disableRowClick || fe(r);
104
105
  };
105
- b(() => (e?.row?.original?.status === "running" && e.column?.dataType === "duration" && (Q = setInterval(() => {
106
+ v(() => (e?.row?.original?.status === "running" && e.column?.dataType === "duration" && (Q = setInterval(() => {
106
107
  const s = new Date(G(e?.row?.original?.created_at || e?.row?.original?.executed_on, { withTime: !0, format: "yyyy-MM-dd HH:mm:ss" })), m = Math.abs((/* @__PURE__ */ new Date()).getTime() - new Date(s).getTime());
107
- f(_ ? _(m) : le(m));
108
+ f(g ? g(m) : me(m));
108
109
  }, 500)), () => {
109
110
  Q && clearInterval(Q);
110
- }), [n, e.value, e?.row?.original?.created_at, e?.row?.original?.executed_on, e?.row?.original?.status, e.column?.dataType, _]), b(() => {
111
- (e?.column?.tooltipCellKey || e?.column?.type?.toLowerCase() === "url") && (e?.column?.type?.toLowerCase() === "url" ? te(e?.value) : te(e?.row?.original?.[String(e?.column?.tooltipCellKey)]));
112
- }, [e?.column?.tooltipCellKey, e?.row?.original, e?.column?.type, e?.value]), b(() => {
111
+ }), [n, e.value, e?.row?.original?.created_at, e?.row?.original?.executed_on, e?.row?.original?.status, e.column?.dataType, g]), v(() => {
112
+ (e?.column?.tooltipCellKey || e?.column?.type?.toLowerCase() === "url") && (e?.column?.type?.toLowerCase() === "url" ? ae(e?.value) : ae(e?.row?.original?.[String(e?.column?.tooltipCellKey)]));
113
+ }, [e?.column?.tooltipCellKey, e?.row?.original, e?.column?.type, e?.value]), v(() => {
113
114
  if (e?.column?.type?.toLowerCase() === "currency")
114
115
  if (a?.value !== void 0) {
115
116
  const r = e?.row?.original?.__rawData, s = e?.column?.Header, m = a?.meta?.currency_code || r?.[s]?.currency_code || "USD";
116
- f(ie(a.value, m));
117
+ f(ce(a.value, m));
117
118
  } else {
118
119
  const r = e?.row?.original?.__rawData, s = e?.column?.Header;
119
- f(ie(e?.value, r?.[s]?.currency_code || "USD"));
120
+ f(ce(e?.value, r?.[s]?.currency_code || "USD"));
120
121
  }
121
- }, [e?.value, e?.column?.type, e?.column?.Header, e?.row?.original?.__rawData, a?.value, a?.meta?.currency_code]), b(() => {
122
+ }, [e?.value, e?.column?.type, e?.column?.Header, e?.row?.original?.__rawData, a?.value, a?.meta?.currency_code]), v(() => {
122
123
  e?.column?.type?.toLowerCase() === "percentage" && (a?.value !== void 0 ? f(a.value?.toString() + "%" || "") : f(e?.value?.toString() + "%" || ""));
123
- }, [e?.value, e?.column?.type, a?.value]), b(() => {
124
+ }, [e?.value, e?.column?.type, a?.value]), v(() => {
124
125
  const r = e?.column?.type?.toLowerCase() || "";
125
126
  if (["date", "datetime"].includes(r))
126
127
  if (a?.value !== void 0) {
127
128
  const s = r === "datetime", m = G(a.value, { withTime: s, skipTimezone: !0 });
128
129
  f(m || a.value);
129
130
  } else f(e.value);
130
- }, [e?.value, e?.column?.type, a?.value]), b(() => {
131
+ }, [e?.value, e?.column?.type, a?.value]), v(() => {
131
132
  const r = e?.column?.type?.toLowerCase() || "";
132
133
  ["currency", "percentage", "duration", "boolean", "date", "datetime"].includes(r) || (a?.value !== void 0 ? f(a.value) : e?.column?.dataType !== "duration" && f(e.value));
133
- }, [e?.value, e?.column?.type, e?.column?.dataType, a?.value]), b(() => {
134
- if (e?.column?.type?.toLowerCase() === "boolean" && ee) {
134
+ }, [e?.value, e?.column?.type, e?.column?.dataType, a?.value]), v(() => {
135
+ if (e?.column?.type?.toLowerCase() === "boolean" && te) {
135
136
  const r = a?.value !== void 0 ? a.value : e?.value;
136
137
  f(r === !0 || r === "true" || r === "True" || r === "Yes" || r === 1 ? "Yes" : "No");
137
138
  }
138
- }, [e?.value, e?.column?.type, ee, a?.value]), b(() => () => {
139
- L.current && clearTimeout(L.current), $.current && clearTimeout($.current);
139
+ }, [e?.value, e?.column?.type, te, a?.value]), v(() => () => {
140
+ N.current && clearTimeout(N.current), L.current && clearTimeout(L.current);
140
141
  }, []);
141
142
  const c = C.isValidElement(n);
142
- return /* @__PURE__ */ M(
143
+ return /* @__PURE__ */ $(
143
144
  "td",
144
145
  {
145
146
  id: e.value,
146
147
  "data-column-key": e?.column?.key,
147
148
  ...e.getCellProps(),
148
- onClick: z?.isEnabled ? void 0 : Ke,
149
+ onClick: z?.isEnabled ? void 0 : Ae,
149
150
  className: x(
150
151
  "h-row",
151
152
  {
@@ -157,21 +158,21 @@ const le = (e) => {
157
158
  "overflow-x-hidden overflow-y-visible": k !== e.column.key && c,
158
159
  "overflow-hidden": k !== e.column.key && !c
159
160
  },
160
- W && !oe ? "outline outline-2 outline-error-500 -outline-offset-2 z-[5]" : "",
161
+ W && !re ? "outline outline-2 outline-error-500 -outline-offset-2 z-[5]" : "",
161
162
  `${T || "bg-white dark:bg-black-800"}`
162
163
  ),
163
- style: { minWidth: `${e.column.width}px`, maxWidth: `${e.column.width}px`, right: e?.column?.sticky ? `${p}px` : Qe, paddingLeft: y > 0 && h === 0 ? `${y * q}px` : void 0 },
164
- onMouseEnter: Re,
165
- onMouseLeave: Ie,
164
+ style: { minWidth: `${e.column.width}px`, maxWidth: `${e.column.width}px`, right: e?.column?.sticky ? `${p}px` : qe, paddingLeft: b > 0 && h === 0 ? `${b * q}px` : void 0 },
165
+ onMouseEnter: Oe,
166
+ onMouseLeave: Ve,
166
167
  children: [
167
- /* @__PURE__ */ t(to, { withLink: z?.isEnabled, linkTo: z?.linkTo || void 0, rowData: e?.row?.original, disableRowClick: e?.column?.disableRowClick, children: (Array.isArray(A) ? A.includes(`${o}-${e?.column?.id}`) : A === `${o}-${e?.column?.id}`) ? /* @__PURE__ */ M("div", { className: "h-row top-0 font-medium font-inter w-full absolute flex items-center px-4", children: [
168
+ /* @__PURE__ */ t(eo, { withLink: z?.isEnabled, linkTo: z?.linkTo || void 0, rowData: e?.row?.original, disableRowClick: e?.column?.disableRowClick, children: (Array.isArray(A) ? A.includes(`${o}-${e?.column?.id}`) : A === `${o}-${e?.column?.id}`) ? /* @__PURE__ */ $("div", { className: "h-row top-0 font-medium font-inter w-full absolute flex items-center px-4", children: [
168
169
  /* @__PURE__ */ t("span", { className: "text-neutral-400 dark:text-black-400 truncate", children: (() => {
169
170
  const r = `${o}-${e?.column?.id}`, s = typeof F == "object" ? F?.[r] : F, m = e?.column?.type?.toLowerCase();
170
171
  return m === "boolean" ? s === !0 || s === "true" || s === "True" ? "Yes" : "No" : (m === "date" || m === "datetime") && s ? G(s, { withTime: m === "datetime", skipTimezone: !0 }) || String(s) : s != null ? String(s) : n;
171
172
  })() }),
172
173
  /* @__PURE__ */ t("div", { className: "ml-2 flex items-center gap-1.5", children: /* @__PURE__ */ t(J, { className: "spinner text-neutral-600 dark:text-white", size: 12 }) })
173
- ] }) : k === e.column.key && e?.column?.canEdit && !j && !e?.column?.is_disabled ? /* @__PURE__ */ t("div", { className: "h-row w-full absolute top-0 left-0 flex items-center", style: { marginLeft: y > 0 && h === 0 ? `-${y * q}px` : void 0, width: y > 0 && h === 0 ? `calc(100% + ${y * q}px)` : "100%" }, children: /* @__PURE__ */ t(Je, { cell: e, id: o, inlineEditing: k, cellRef: he, handleCellValueChange: we, handleUpdateCellData: ye, registerValidation: be }) }) : /* @__PURE__ */ M(je, { children: [
174
- y > 0 && h === 0 && /* @__PURE__ */ t("div", { className: "h-row border-l border-neutral-300 dark:border-black-600 ml-2" }),
174
+ ] }) : k === e.column.key && e?.column?.canEdit && !j && !e?.column?.is_disabled ? /* @__PURE__ */ t("div", { className: "h-row w-full absolute top-0 left-0 flex items-center", style: { marginLeft: b > 0 && h === 0 ? `-${b * q}px` : void 0, width: b > 0 && h === 0 ? `calc(100% + ${b * q}px)` : "100%" }, children: /* @__PURE__ */ t(Xe, { cell: e, id: o, inlineEditing: k, cellRef: we, handleCellValueChange: pe, handleUpdateCellData: he, registerValidation: ye }) }) : /* @__PURE__ */ $(Fe, { children: [
175
+ b > 0 && h === 0 && /* @__PURE__ */ t("div", { className: "h-row border-l border-neutral-300 dark:border-black-600 ml-2" }),
175
176
  /* @__PURE__ */ t("div", { className: "min-h-6", children: /* @__PURE__ */ t(
176
177
  H,
177
178
  {
@@ -179,30 +180,30 @@ const le = (e) => {
179
180
  hideTooltip: !w || e?.column?.type?.toLowerCase() === "url",
180
181
  delayShow: !0,
181
182
  placement: "top",
182
- children: /* @__PURE__ */ M(
183
+ children: /* @__PURE__ */ $(
183
184
  "div",
184
185
  {
185
- className: x(`h-row top-0 font-medium font-inter overflow-index-auto whitespace-nowrap text-ellipsis dark:text-black-200 w-full absolute flex items-center ${T || "bg-white dark:bg-black-800"}`, c ? "overflow-x-hidden overflow-y-visible" : "overflow-x-hidden", { "border border-b-0 border-t-0 border-primary-600 dark:border-blue-800": ne?.includes(e.column.id) }),
186
- style: e?.column?.sticky && ce ? { boxShadow: Ve ? Ze : Pe } : {},
186
+ className: x(`h-row top-0 font-medium font-inter overflow-index-auto whitespace-nowrap text-ellipsis dark:text-black-200 w-full absolute flex items-center ${T || "bg-white dark:bg-black-800"}`, c ? "overflow-x-hidden overflow-y-visible" : "overflow-x-hidden", { "border border-b-0 border-t-0 border-primary-600 dark:border-blue-800": ue?.includes(e.column.id) }),
187
+ style: e?.column?.sticky && de ? { boxShadow: De ? Je : Qe } : {},
187
188
  children: [
188
- E?.isCascading && !Te && h === 0 && /* @__PURE__ */ t("div", { className: x("w-[22px] h-row flex items-center px-4", `${T || "bg-white dark:bg-black-800"}`), id: "cascading", children: Ce > y && (e?.row?.original?.__has_children || E?.showAllDropdown) && /* @__PURE__ */ t("div", { children: ve ? /* @__PURE__ */ t(J, { className: "text-neutral-600 dark:text-white", size: 8 }) : /* @__PURE__ */ t("div", { children: _e?.[o]?.isOpen ? /* @__PURE__ */ t(Ee, { size: 20, className: "text-neutral-400 dark:text-neutral-400", onClick: (r) => {
189
- Z(), r.stopPropagation();
190
- } }) : /* @__PURE__ */ t(eo, { size: 20, className: "text-neutral-400 dark:text-neutral-400", onClick: (r) => {
191
- Z(), r.stopPropagation();
189
+ oe?.isCascading && !xe && h === 0 && /* @__PURE__ */ t("div", { className: x("w-[22px] h-row flex items-center px-4", `${T || "bg-white dark:bg-black-800"}`), id: "cascading", children: Te > b && (e?.row?.original?.__has_children || oe?.showAllDropdown) && /* @__PURE__ */ t("div", { children: be ? /* @__PURE__ */ t(J, { className: "text-neutral-600 dark:text-white", size: 8 }) : /* @__PURE__ */ t("div", { children: Ce?.[o]?.isOpen ? /* @__PURE__ */ t(Ze, { size: 20, className: "text-neutral-400 dark:text-neutral-400", onClick: (r) => {
190
+ E(), r.stopPropagation();
191
+ } }) : /* @__PURE__ */ t(Pe, { size: 20, className: "text-neutral-400 dark:text-neutral-400", onClick: (r) => {
192
+ E(), r.stopPropagation();
192
193
  } }) }) }) }),
193
194
  e?.column?.type?.toLowerCase() === "url" && w ? /* @__PURE__ */ t(
194
195
  H,
195
196
  {
196
- title: /* @__PURE__ */ t("div", { onMouseEnter: () => Y(!0), onMouseLeave: () => Y(!1), children: /* @__PURE__ */ t("a", { href: w, target: "_blank", rel: "noopener noreferrer", onClick: (r) => r.stopPropagation(), children: /* @__PURE__ */ M("div", { className: "flex gap-1 items-center w-full", children: [
197
- /* @__PURE__ */ t("div", { className: "w-4 h-4", children: /* @__PURE__ */ t(oo, { height: 16, width: 16 }) }),
198
- /* @__PURE__ */ t(Be, { variant: "medium", size: "small", className: "truncate", appearance: "custom", children: w }),
199
- /* @__PURE__ */ t(Ge, { sx: { height: "16px", width: "16px", color: "#016DCF" } })
197
+ title: /* @__PURE__ */ t("div", { onMouseEnter: () => Y(!0), onMouseLeave: () => Y(!1), children: /* @__PURE__ */ t("a", { href: w, target: "_blank", rel: "noopener noreferrer", onClick: (r) => r.stopPropagation(), children: /* @__PURE__ */ $("div", { className: "flex gap-1 items-center w-full", children: [
198
+ /* @__PURE__ */ t("div", { className: "w-4 h-4", children: /* @__PURE__ */ t(Ee, { height: 16, width: 16 }) }),
199
+ /* @__PURE__ */ t(Ue, { variant: "medium", size: "small", className: "truncate", appearance: "custom", children: w }),
200
+ /* @__PURE__ */ t(Ye, { sx: { height: "16px", width: "16px", color: "#016DCF" } })
200
201
  ] }) }) }),
201
202
  placement: "top",
202
- open: Ae,
203
+ open: Ie,
203
204
  onOpenChange: Y,
204
205
  className: "block w-full min-w-0 overflow-hidden",
205
- children: /* @__PURE__ */ t("div", { className: "w-full h-full flex items-center px-4 min-w-0 overflow-hidden text-primary-400", children: /* @__PURE__ */ t("span", { ref: N, onMouseEnter: ue, className: "truncate w-full", children: O && se && !C.isValidElement(n) && typeof n != "object" ? O(n) : n }) })
206
+ children: /* @__PURE__ */ t("div", { className: "w-full h-full flex items-center px-4 min-w-0 overflow-hidden text-primary-400", children: /* @__PURE__ */ t("span", { ref: _, onMouseEnter: le, className: "truncate w-full", children: D && ie && !C.isValidElement(n) && typeof n != "object" ? D(n) : n }) })
206
207
  }
207
208
  ) : /* @__PURE__ */ t(
208
209
  H,
@@ -219,16 +220,16 @@ const le = (e) => {
219
220
  placement: "top",
220
221
  delayShow: !0,
221
222
  hideTooltip: !!w,
222
- open: U && !w && !c ? Fe : void 0,
223
+ open: U && !w && !c ? ze : void 0,
223
224
  onOpenChange: U && !w && !c ? B : void 0,
224
225
  className: x("block w-full min-w-0", c ? "overflow-x-hidden overflow-y-visible" : "overflow-hidden"),
225
226
  children: /* @__PURE__ */ t("div", { className: x("w-full h-full flex items-center px-4 min-w-0", c ? "overflow-x-hidden overflow-y-visible" : "overflow-hidden"), children: /* @__PURE__ */ t(
226
227
  "span",
227
228
  {
228
- ref: c ? void 0 : N,
229
- onMouseEnter: c ? void 0 : ue,
229
+ ref: c ? void 0 : _,
230
+ onMouseEnter: c ? void 0 : le,
230
231
  className: x(c ? "flex min-w-0 max-w-full items-center justify-start gap-1" : "truncate w-full"),
231
- children: O && se && !C.isValidElement(n) && typeof n != "object" ? O(n) : C.isValidElement(n) ? typeof n.type == "string" ? n : C.cloneElement(n, {
232
+ children: D && ie && !C.isValidElement(n) && typeof n != "object" ? D(n) : C.isValidElement(n) ? typeof n.type == "string" ? n : C.cloneElement(n, {
232
233
  ...n.props,
233
234
  containerWidth: e.column.width
234
235
  }) : n
@@ -242,13 +243,13 @@ const le = (e) => {
242
243
  }
243
244
  ) })
244
245
  ] }) }),
245
- W && !oe && /* @__PURE__ */ t("div", { className: "absolute bottom-0 left-0 right-0 h-row flex items-end pointer-events-none z-[5]", children: /* @__PURE__ */ t("div", { className: "w-full bg-error-50 dark:bg-error-975 px-1.5 py-0.5 truncate", children: /* @__PURE__ */ t("span", { className: "text-error-600 text-2xs font-medium leading-none", children: W }) }) }),
246
- De && !(k === e.column.key && e?.column?.canEdit && !j && !e?.column?.is_disabled) && /* @__PURE__ */ t("div", { className: "absolute top-0 right-0 bg-white dark:bg-black-800 rounded-full w-5 h-5 flex items-center justify-center border border-primary-300 dark:border-primary-600 shadow-sm z-10", children: /* @__PURE__ */ t(J, { className: "text-primary-600 dark:text-white", size: 8 }) })
246
+ W && !re && /* @__PURE__ */ t("div", { className: "absolute bottom-0 left-0 right-0 h-row flex items-end pointer-events-none z-[5]", children: /* @__PURE__ */ t("div", { className: "w-full bg-error-50 dark:bg-error-975 px-1.5 py-0.5 truncate", children: /* @__PURE__ */ t("span", { className: "text-error-600 text-2xs font-medium leading-none", children: W }) }) }),
247
+ Me && !(k === e.column.key && e?.column?.canEdit && !j && !e?.column?.is_disabled) && /* @__PURE__ */ t("div", { className: "absolute top-0 right-0 bg-white dark:bg-black-800 rounded-full w-5 h-5 flex items-center justify-center border border-primary-300 dark:border-primary-600 shadow-sm z-10", children: /* @__PURE__ */ t(J, { className: "text-primary-600 dark:text-white", size: 8 }) })
247
248
  ]
248
249
  },
249
250
  h
250
251
  );
251
- }, To = C.memo(ro);
252
+ }, To = C.memo(oo);
252
253
  export {
253
254
  To as DataCell
254
255
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DataCell.es.js","sources":["../../../../../../src/components/data-display/infinite-table/body/cell/DataCell.tsx"],"sourcesContent":["import { useTheme } from '../../../../../hooks/useTheme';\nimport { formatCurrency } from '../../../../../utils/formatters';\nimport { formatDate } from '../../../../../utils/formatters';\nimport { getTableRowBgClassNamesByStatus } from '../../../../../constants/table';\nimport type { ICell, IPendingEdit, ValidateAndSaveResult } from '../../types';\nimport { useTableConfig } from '../../../../../providers/design-system-provider/hooks';\nimport Tooltip from '../../../../tooltip/Tooltip';\nimport { Typography } from '../../../../data-display/typography/Typography';\nimport { KeyboardArrowDownIcon, KeyboardArrowRightFilledIcon, LinkIcon, LoadingSpinnerIcon } from '../../../../icon';\nimport { OpenInNewRounded } from '@mui/icons-material';\nimport cn from 'classnames';\nimport React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport { TableContext } from '../../context';\nimport { InlineEditField } from './InlineEditField';\nimport { CELL_DEFAULT_RIGHT_OFFSET, CELL_INDENT_PER_LEVEL_PX, CELL_STICKY_SHADOW_DARK, CELL_STICKY_SHADOW_LIGHT } from '../../constants';\n\ntype CellProps = {\n cell: ICell;\n id: string | number;\n nextWidthSum: number;\n isLastCell: boolean;\n rowHovering: string | number | null;\n index: number;\n isFirstStickyCell: boolean;\n handleCellClick: (e?: React.MouseEvent) => void | null;\n currentData: { is_row_modified?: boolean; is_deleted?: boolean; is_added?: boolean };\n highlightSubstring?: (value: string) => JSX.Element;\n is_read: boolean;\n is_modified: boolean;\n is_row_modified: boolean;\n is_deleted: boolean;\n is_added: boolean;\n level: number;\n inlineEditing: string | null;\n isInlineEditing?: boolean;\n setRowHovering: (id: string | number | null) => void;\n handleCellValueChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n cellRef: React.RefObject<HTMLDivElement>;\n handleUpdateCellData: (directValue?: string | boolean | null, meta?: { currency_code?: string | null; reference?: unknown | null;[key: string]: unknown | null } | null) => void;\n registerValidation?: (validateFn: () => ValidateAndSaveResult) => void;\n loadingExpand: boolean;\n toggleRowExpand: () => void;\n isDraggingOver?: boolean;\n isLoading?: boolean;\n is_incomplete?: boolean;\n pendingEdit?: IPendingEdit;\n hasPendingEdit?: boolean;\n pendingValidationError?: string | null;\n};\n\nlet interval: ReturnType<typeof setInterval> | undefined;\n\nconst formatDurationFallback = (duration: unknown): string => {\n const durationInMs = Number(duration);\n\n if (Number.isNaN(durationInMs) || duration === null || duration === undefined) {\n return '0ms';\n }\n\n if (durationInMs >= 86400000) {\n const days = Math.floor(durationInMs / 86400000);\n const hours = Math.floor((durationInMs % 86400000) / 3600000);\n const minutes = Math.floor((durationInMs % 3600000) / 60000);\n const seconds = Math.floor((durationInMs % 60000) / 1000);\n return `${days}d ${hours}h ${minutes}m ${seconds}s`;\n }\n\n if (durationInMs >= 3600000) {\n const hours = Math.floor(durationInMs / 3600000);\n const minutes = Math.floor((durationInMs % 3600000) / 60000);\n const seconds = Math.floor((durationInMs % 60000) / 1000);\n return `${hours}h ${minutes}m ${seconds}s`;\n }\n\n if (durationInMs >= 60000) {\n const minutes = Math.floor(durationInMs / 60000);\n const seconds = Math.floor((durationInMs % 60000) / 1000);\n return `${minutes}m ${seconds}s`;\n }\n\n if (durationInMs >= 1000) {\n return `${(durationInMs / 1000).toFixed(2)}s`;\n }\n\n return `${durationInMs}ms`;\n};\n\nconst CellWrapper = ({ children, withLink, linkTo, rowData, disableRowClick }: { children: React.ReactNode; withLink?: boolean; linkTo?: (id: string, _rowData?: Record<string, unknown>) => string; rowData?: Record<string, unknown>; disableRowClick?: boolean }) => {\n return withLink && !disableRowClick ? <Link to={linkTo?.(rowData?.id as string, rowData) || ''}>{children}</Link> : children;\n};\n\nconst DataCellInner: React.FC<CellProps> = ({\n cell, id, nextWidthSum, isLastCell, rowHovering, index, isFirstStickyCell, handleCellClick, currentData, highlightSubstring,\n is_read, is_modified, is_row_modified, is_deleted, is_added, level, inlineEditing, isInlineEditing, setRowHovering,\n handleCellValueChange, cellRef, handleUpdateCellData, registerValidation, loadingExpand, toggleRowExpand,\n isDraggingOver, isLoading, is_incomplete, pendingEdit, hasPendingEdit, pendingValidationError,\n}) => {\n const {\n cascadingTableConfig, originalsOnly, maxLevel, showNewItem, expandedRows, rowLinkConfig, multiSelectConfig,\n cellEditing, cellEditingValue, allowInlineEdit, fieldOperationLoading, pendingEdits: contextPendingEdits,\n selectedRowId,\n } = useContext(TableContext);\n\n const isSelectedRow =\n selectedRowId !== null && selectedRowId !== undefined && String(selectedRowId) === String(id);\n\n const tableConfig = useTableConfig();\n\n const rowCellMeta = cell?.column?.key ? (cell?.row?.original?.__cellMetadata as Record<string, Record<string, unknown>> | undefined)?.[cell.column.key] : undefined;\n const isLocked = rowCellMeta?.is_locked ?? cell?.column?.is_locked;\n const cellValidationError = (cell?.column?.key ? contextPendingEdits?.[id]?.[cell.column.key]?.validationError : null) || pendingValidationError || null;\n const isActuallyInlineEditing = inlineEditing === cell.column.key && cell?.column?.canEdit && !isLocked && !cell?.column?.is_disabled;\n const isFieldOperationLoading = fieldOperationLoading === `${id}-${cell?.column?.id}`;\n const { theme } = useTheme();\n const isDark = theme === 'dark';\n const onMouseEnter = useCallback(() => setRowHovering(id), [setRowHovering, id]);\n const onMouseLeave = useCallback(() => setRowHovering(null), [setRowHovering]);\n\n const getNodeExecutionDuration = tableConfig?.formatDuration;\n const [cellValue, setCellValue] = useState(\n cell?.column?.dataType === 'duration' && cell?.value\n ? getNodeExecutionDuration\n ? getNodeExecutionDuration(cell.value)\n : formatDurationFallback(cell.value)\n : cell.value,\n );\n const [tooltipText, setTooltipText] = useState<string | null>(null);\n const [isTruncated, setIsTruncated] = useState(false);\n const [urlTooltipOpen, setUrlTooltipOpen] = useState(false);\n const [truncateTooltipOpen, setTruncateTooltipOpen] = useState(false);\n const textRef = useRef<HTMLSpanElement>(null);\n const urlTooltipTimer = useRef<ReturnType<typeof setTimeout>>();\n const truncateTooltipTimer = useRef<ReturnType<typeof setTimeout>>();\n const { selectedColumnIds = [] } = multiSelectConfig || {};\n const shouldHighlight = !Object.prototype.hasOwnProperty.call(cell?.column?.meta ?? {}, 'shouldHighlight') || cell?.column?.meta?.shouldHighlight;\n\n const checkTruncation = useCallback(() => {\n if (textRef.current) {\n setIsTruncated(textRef.current.scrollWidth > textRef.current.clientWidth);\n }\n }, []);\n\n const handleUrlTooltipChange = useCallback((open: boolean) => {\n if (urlTooltipTimer.current) {\n clearTimeout(urlTooltipTimer.current);\n }\n\n if (open) {\n setUrlTooltipOpen(true);\n } else {\n urlTooltipTimer.current = setTimeout(() => setUrlTooltipOpen(false), 200);\n }\n }, []);\n\n const handleTruncateTooltipChange = useCallback((open: boolean) => {\n if (truncateTooltipTimer.current) {\n clearTimeout(truncateTooltipTimer.current);\n }\n\n if (open) {\n setTruncateTooltipOpen(true);\n } else {\n truncateTooltipTimer.current = setTimeout(() => setTruncateTooltipOpen(false), 200);\n }\n }, []);\n\n const bgColor = cn({\n 'bg-amber-100 dark:bg-amber-900/30': hasPendingEdit,\n 'bg-neutral-100 dark:bg-black-600': rowHovering === id && !isInlineEditing && !hasPendingEdit && !(is_deleted || currentData?.is_deleted) && !(is_added || currentData?.is_added),\n 'bg-error-200 dark:bg-error-900': rowHovering === id && !isInlineEditing && !hasPendingEdit && (is_deleted || currentData?.is_deleted),\n 'bg-success-100 dark:bg-success-800': rowHovering === id && !isInlineEditing && !hasPendingEdit && (is_added || currentData?.is_added),\n 'bg-primary-50 dark:bg-black-700': !is_incomplete && !is_read && showNewItem && !isLoading && rowHovering !== id && !isInlineEditing && !hasPendingEdit,\n 'bg-warning-50 dark:bg-black-500': (is_incomplete || is_modified || is_row_modified || currentData?.is_row_modified) && !isLoading && rowHovering !== id && !isInlineEditing && !hasPendingEdit,\n 'bg-error-100 dark:bg-error-975': (is_deleted || currentData?.is_deleted) && !isLoading && rowHovering !== id && !isInlineEditing && !hasPendingEdit,\n 'bg-success-50 dark:bg-success-900': (is_added || currentData?.is_added) && !isLoading && rowHovering !== id && !isInlineEditing && !hasPendingEdit,\n 'bg-primary-50 dark:bg-primary-900': (isDraggingOver || isInlineEditing) && !hasPendingEdit,\n 'bg-primary-50 dark:bg-primary-800': selectedColumnIds?.includes(cell.column.id) && !isInlineEditing && !hasPendingEdit,\n 'bg-primary-100 dark:bg-primary-950': isSelectedRow && rowHovering !== id && !isInlineEditing && !hasPendingEdit && !isLoading,\n [getTableRowBgClassNamesByStatus[cell?.row?.original?.__rowBgStatus as string]]: cell?.row?.original?.__rowBgStatus && !isInlineEditing && !hasPendingEdit,\n });\n\n const onClick = (e: React.MouseEvent) => { if (cell.column?.disableRowClick) return; handleCellClick(e); };\n\n useEffect(() => {\n const isRunning = cell?.row?.original?.status === 'running';\n if (isRunning && cell.column?.dataType === 'duration') {\n interval = setInterval(() => {\n const startedTime = new Date(formatDate((cell?.row?.original?.created_at || cell?.row?.original?.executed_on) as string | undefined, { withTime: true, format: 'yyyy-MM-dd HH:mm:ss' }) as unknown as Date);\n const timeDiff = Math.abs(new Date().getTime() - new Date(startedTime).getTime());\n setCellValue(getNodeExecutionDuration ? getNodeExecutionDuration(timeDiff) : formatDurationFallback(timeDiff));\n }, 500);\n }\n return () => { if (interval) clearInterval(interval); };\n }, [cellValue, cell.value, cell?.row?.original?.created_at, cell?.row?.original?.executed_on, cell?.row?.original?.status, cell.column?.dataType, getNodeExecutionDuration]);\n\n useEffect(() => {\n if (cell?.column?.tooltipCellKey || cell?.column?.type?.toLowerCase() === 'url') {\n if (cell?.column?.type?.toLowerCase() === 'url') setTooltipText(cell?.value as string | null);\n else setTooltipText(cell?.row?.original?.[String(cell?.column?.tooltipCellKey)] as string | null);\n }\n }, [cell?.column?.tooltipCellKey, cell?.row?.original, cell?.column?.type, cell?.value]);\n\n useEffect(() => {\n if (cell?.column?.type?.toLowerCase() === 'currency') {\n if (pendingEdit?.value !== undefined) {\n const rawData = cell?.row?.original?.__rawData as Record<string, Record<string, unknown>> | undefined;\n const headerKey = cell?.column?.Header as unknown as string;\n const currencyCode = pendingEdit?.meta?.currency_code || rawData?.[headerKey]?.currency_code || 'USD';\n setCellValue(formatCurrency(pendingEdit.value, currencyCode as string));\n } else {\n const rawData = cell?.row?.original?.__rawData as Record<string, Record<string, unknown>> | undefined;\n const headerKey = cell?.column?.Header as unknown as string;\n setCellValue(formatCurrency(cell?.value, (rawData?.[headerKey]?.currency_code as string) || 'USD'));\n }\n }\n }, [cell?.value, cell?.column?.type, cell?.column?.Header, cell?.row?.original?.__rawData, pendingEdit?.value, pendingEdit?.meta?.currency_code]);\n\n useEffect(() => {\n if (cell?.column?.type?.toLowerCase() === 'percentage') {\n if (pendingEdit?.value !== undefined) setCellValue(pendingEdit.value?.toString() + '%' || '');\n else setCellValue(cell?.value?.toString() + '%' || '');\n }\n }, [cell?.value, cell?.column?.type, pendingEdit?.value]);\n\n useEffect(() => {\n const columnType = cell?.column?.type?.toLowerCase() || '';\n if (['date', 'datetime'].includes(columnType)) {\n if (pendingEdit?.value !== undefined) {\n const hasTime = columnType === 'datetime';\n const formattedValue = formatDate(pendingEdit.value as string, { withTime: hasTime, skipTimezone: true });\n setCellValue(formattedValue || pendingEdit.value);\n } else setCellValue(cell.value);\n }\n }, [cell?.value, cell?.column?.type, pendingEdit?.value]);\n\n useEffect(() => {\n const columnType = cell?.column?.type?.toLowerCase() || '';\n if (['currency', 'percentage', 'duration', 'boolean', 'date', 'datetime'].includes(columnType)) return;\n if (pendingEdit?.value !== undefined) setCellValue(pendingEdit.value);\n else if (cell?.column?.dataType !== 'duration') setCellValue(cell.value);\n }, [cell?.value, cell?.column?.type, cell?.column?.dataType, pendingEdit?.value]);\n\n useEffect(() => {\n if (cell?.column?.type?.toLowerCase() === 'boolean' && allowInlineEdit) {\n const rawValue = pendingEdit?.value !== undefined ? pendingEdit.value : cell?.value;\n const booleanValue = rawValue === true || rawValue === 'true' || rawValue === 'True' || rawValue === 'Yes' || rawValue === 1;\n setCellValue(booleanValue ? 'Yes' : 'No');\n }\n }, [cell?.value, cell?.column?.type, allowInlineEdit, pendingEdit?.value]);\n\n useEffect(() => {\n return () => {\n if (urlTooltipTimer.current) {\n clearTimeout(urlTooltipTimer.current);\n }\n if (truncateTooltipTimer.current) {\n clearTimeout(truncateTooltipTimer.current);\n }\n };\n }, []);\n\n const isUiElementCell = React.isValidElement(cellValue);\n\n return (\n <td\n key={index} id={cell.value as string | undefined} data-column-key={cell?.column?.key} {...cell.getCellProps()}\n onClick={rowLinkConfig?.isEnabled ? undefined : onClick}\n className={cn('h-row', {\n 'sticky left-0': cell?.column?.sticky,\n relative: !cell?.column?.sticky,\n 'w-full': isLastCell,\n 'overflow-visible': inlineEditing === cell.column.key,\n /** Chips/badges: avoid vertical clip from overflow-x-hidden + truncate (see isUiElementCell branch below) */\n 'overflow-x-hidden overflow-y-visible': inlineEditing !== cell.column.key && isUiElementCell,\n 'overflow-hidden': inlineEditing !== cell.column.key && !isUiElementCell,\n },\n cellValidationError && !isActuallyInlineEditing ? 'outline outline-2 outline-error-500 -outline-offset-2 z-[5]' : '',\n `${bgColor ? bgColor : 'bg-white dark:bg-black-800'}`,\n )}\n style={{ minWidth: `${cell.column.width}px`, maxWidth: `${cell.column.width}px`, right: cell?.column?.sticky ? `${nextWidthSum}px` : CELL_DEFAULT_RIGHT_OFFSET, paddingLeft: level > 0 && index === 0 ? `${level * CELL_INDENT_PER_LEVEL_PX}px` : undefined }}\n onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}\n >\n <CellWrapper withLink={rowLinkConfig?.isEnabled} linkTo={rowLinkConfig?.linkTo || undefined} rowData={cell?.row?.original} disableRowClick={cell?.column?.disableRowClick}>\n {(Array.isArray(cellEditing) ? cellEditing.includes(`${id}-${cell?.column?.id}`) : cellEditing === `${id}-${cell?.column?.id}`) ? (\n <div className='h-row top-0 font-medium font-inter w-full absolute flex items-center px-4'>\n <span className='text-neutral-400 dark:text-black-400 truncate'>\n {(() => {\n const currentCellId = `${id}-${cell?.column?.id}`;\n const editValue = typeof cellEditingValue === 'object' ? cellEditingValue?.[currentCellId] : cellEditingValue;\n const columnType = cell?.column?.type?.toLowerCase();\n\n if (columnType === 'boolean') {\n return (editValue as unknown) === true || editValue === 'true' || editValue === 'True' ? 'Yes' : 'No';\n }\n\n if ((columnType === 'date' || columnType === 'datetime') && editValue) {\n const hasTime = columnType === 'datetime';\n return formatDate(editValue as string, { withTime: hasTime, skipTimezone: true }) || String(editValue);\n }\n\n return editValue !== undefined && editValue !== null ? String(editValue) : (cellValue as React.ReactNode);\n })()}\n </span>\n <div className='ml-2 flex items-center gap-1.5'><LoadingSpinnerIcon className='spinner text-neutral-600 dark:text-white' size={12} /></div>\n </div>\n ) : inlineEditing === cell.column.key && cell?.column?.canEdit && !isLocked && !cell?.column?.is_disabled ? (\n <div className='h-row w-full absolute top-0 left-0 flex items-center' style={{ marginLeft: level > 0 && index === 0 ? `-${level * CELL_INDENT_PER_LEVEL_PX}px` : undefined, width: level > 0 && index === 0 ? `calc(100% + ${level * CELL_INDENT_PER_LEVEL_PX}px)` : '100%' }}>\n <InlineEditField cell={cell} id={id} inlineEditing={inlineEditing} cellRef={cellRef} handleCellValueChange={handleCellValueChange} handleUpdateCellData={handleUpdateCellData} registerValidation={registerValidation} />\n </div>\n ) : (\n <>\n {level > 0 && index === 0 && <div className='h-row border-l border-neutral-300 dark:border-black-600 ml-2' />}\n <div className='min-h-6'>\n <Tooltip\n title={tooltipText && cell?.column?.type?.toLowerCase() !== 'url' ? tooltipText : undefined}\n hideTooltip={!tooltipText || cell?.column?.type?.toLowerCase() === 'url'}\n delayShow\n placement='top'\n >\n <div className={cn(`h-row top-0 font-medium font-inter overflow-index-auto whitespace-nowrap text-ellipsis dark:text-black-200 w-full absolute flex items-center ${bgColor ? bgColor : 'bg-white dark:bg-black-800'}`, isUiElementCell ? 'overflow-x-hidden overflow-y-visible' : 'overflow-x-hidden', { 'border border-b-0 border-t-0 border-primary-600 dark:border-blue-800': selectedColumnIds?.includes(cell.column.id) })}\n style={cell?.column?.sticky && isFirstStickyCell ? { boxShadow: isDark ? CELL_STICKY_SHADOW_DARK : CELL_STICKY_SHADOW_LIGHT } : {}}>\n {cascadingTableConfig?.isCascading && !originalsOnly && index === 0 && (\n <div className={cn('w-[22px] h-row flex items-center px-4', `${bgColor ? bgColor : 'bg-white dark:bg-black-800'}`)} id='cascading'>\n {maxLevel! > level && (cell?.row?.original?.__has_children || cascadingTableConfig?.showAllDropdown) && (\n <div>{loadingExpand ? <LoadingSpinnerIcon className='text-neutral-600 dark:text-white' size={8} /> : <div>{expandedRows?.[id]?.isOpen ? <KeyboardArrowDownIcon size={20} className='text-neutral-400 dark:text-neutral-400' onClick={(e) => { toggleRowExpand(); e.stopPropagation(); }} /> : <KeyboardArrowRightFilledIcon size={20} className='text-neutral-400 dark:text-neutral-400' onClick={(e) => { toggleRowExpand(); e.stopPropagation(); }} />}</div>}</div>\n )}\n </div>\n )}\n\n {cell?.column?.type?.toLowerCase() === 'url' && tooltipText ? (\n <Tooltip\n title={(\n <div onMouseEnter={() => handleUrlTooltipChange(true)} onMouseLeave={() => handleUrlTooltipChange(false)}>\n <a href={tooltipText} target='_blank' rel='noopener noreferrer' onClick={(e) => e.stopPropagation()}>\n <div className='flex gap-1 items-center w-full'>\n <div className='w-4 h-4'>\n <LinkIcon height={16} width={16} />\n </div>\n <Typography variant='medium' size='small' className='truncate' appearance='custom'>{tooltipText}</Typography>\n <OpenInNewRounded sx={{ height: '16px', width: '16px', color: '#016DCF' }} />\n </div>\n </a>\n </div>\n )}\n placement='top'\n open={urlTooltipOpen}\n onOpenChange={handleUrlTooltipChange}\n className='block w-full min-w-0 overflow-hidden'\n >\n <div className='w-full h-full flex items-center px-4 min-w-0 overflow-hidden text-primary-400'>\n <span ref={textRef} onMouseEnter={checkTruncation} className='truncate w-full'>\n {highlightSubstring && shouldHighlight && !React.isValidElement(cellValue) && typeof cellValue !== 'object'\n ? highlightSubstring(cellValue as string)\n : cellValue as React.ReactNode}\n </span>\n </div>\n </Tooltip>\n ) : (\n <Tooltip\n title={\n isTruncated && cellValue && !isUiElementCell ? (\n <div\n onMouseEnter={() => handleTruncateTooltipChange(true)}\n onMouseLeave={() => handleTruncateTooltipChange(false)}\n className='max-h-96 overflow-y-auto whitespace-pre-wrap break-words no-scroll'\n >\n {String(cellValue)}\n </div>\n ) : undefined\n }\n placement='top'\n delayShow\n hideTooltip={!!tooltipText}\n open={isTruncated && !tooltipText && !isUiElementCell ? truncateTooltipOpen : undefined}\n onOpenChange={isTruncated && !tooltipText && !isUiElementCell ? handleTruncateTooltipChange : undefined}\n className={cn('block w-full min-w-0', isUiElementCell ? 'overflow-x-hidden overflow-y-visible' : 'overflow-hidden')}\n >\n <div className={cn('w-full h-full flex items-center px-4 min-w-0', isUiElementCell ? 'overflow-x-hidden overflow-y-visible' : 'overflow-hidden')}>\n <span\n ref={isUiElementCell ? undefined : textRef}\n onMouseEnter={isUiElementCell ? undefined : checkTruncation}\n className={cn(isUiElementCell ? 'flex min-w-0 max-w-full items-center justify-start gap-1' : 'truncate w-full')}\n >\n {highlightSubstring && shouldHighlight && !React.isValidElement(cellValue) && typeof cellValue !== 'object'\n ? highlightSubstring(cellValue as string)\n : React.isValidElement(cellValue)\n ? (typeof (cellValue as React.ReactElement<Record<string, unknown>>).type === 'string'\n ? cellValue\n : React.cloneElement(cellValue as React.ReactElement<Record<string, unknown>>, {\n ...((cellValue as React.ReactElement<Record<string, unknown>>).props as Record<string, unknown>),\n containerWidth: cell.column.width,\n }))\n : cellValue as React.ReactNode}\n </span>\n </div>\n </Tooltip>\n )}\n </div>\n </Tooltip>\n </div>\n </>\n )}\n </CellWrapper>\n {cellValidationError && !isActuallyInlineEditing && (\n <div className='absolute bottom-0 left-0 right-0 h-row flex items-end pointer-events-none z-[5]'>\n <div className='w-full bg-error-50 dark:bg-error-975 px-1.5 py-0.5 truncate'><span className='text-error-600 text-2xs font-medium leading-none'>{cellValidationError}</span></div>\n </div>\n )}\n {isFieldOperationLoading && !(inlineEditing === cell.column.key && cell?.column?.canEdit && !isLocked && !cell?.column?.is_disabled) && (\n <div className='absolute top-0 right-0 bg-white dark:bg-black-800 rounded-full w-5 h-5 flex items-center justify-center border border-primary-300 dark:border-primary-600 shadow-sm z-10'>\n <LoadingSpinnerIcon className='text-primary-600 dark:text-white' size={8} />\n </div>\n )}\n </td>\n );\n};\n\nexport const DataCell = React.memo(DataCellInner);\n"],"names":["interval","formatDurationFallback","duration","durationInMs","days","hours","minutes","seconds","CellWrapper","children","withLink","linkTo","rowData","disableRowClick","jsx","Link","DataCellInner","cell","id","nextWidthSum","isLastCell","rowHovering","index","isFirstStickyCell","handleCellClick","currentData","highlightSubstring","is_read","is_modified","is_row_modified","is_deleted","is_added","level","inlineEditing","isInlineEditing","setRowHovering","handleCellValueChange","cellRef","handleUpdateCellData","registerValidation","loadingExpand","toggleRowExpand","isDraggingOver","isLoading","is_incomplete","pendingEdit","hasPendingEdit","pendingValidationError","cascadingTableConfig","originalsOnly","maxLevel","showNewItem","expandedRows","rowLinkConfig","multiSelectConfig","cellEditing","cellEditingValue","allowInlineEdit","fieldOperationLoading","contextPendingEdits","selectedRowId","useContext","TableContext","isSelectedRow","tableConfig","useTableConfig","isLocked","cellValidationError","isActuallyInlineEditing","isFieldOperationLoading","theme","useTheme","isDark","onMouseEnter","useCallback","onMouseLeave","getNodeExecutionDuration","cellValue","setCellValue","useState","tooltipText","setTooltipText","isTruncated","setIsTruncated","urlTooltipOpen","setUrlTooltipOpen","truncateTooltipOpen","setTruncateTooltipOpen","textRef","useRef","urlTooltipTimer","truncateTooltipTimer","selectedColumnIds","shouldHighlight","checkTruncation","handleUrlTooltipChange","open","handleTruncateTooltipChange","bgColor","cn","getTableRowBgClassNamesByStatus","onClick","e","useEffect","startedTime","formatDate","timeDiff","rawData","headerKey","currencyCode","formatCurrency","columnType","hasTime","formattedValue","rawValue","isUiElementCell","React","jsxs","CELL_DEFAULT_RIGHT_OFFSET","CELL_INDENT_PER_LEVEL_PX","currentCellId","editValue","LoadingSpinnerIcon","InlineEditField","Fragment","Tooltip","CELL_STICKY_SHADOW_DARK","CELL_STICKY_SHADOW_LIGHT","KeyboardArrowDownIcon","KeyboardArrowRightFilledIcon","LinkIcon","Typography","OpenInNewRounded","DataCell"],"mappings":"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"}
1
+ {"version":3,"file":"DataCell.es.js","sources":["../../../../../../src/components/data-display/infinite-table/body/cell/DataCell.tsx"],"sourcesContent":["import { useTheme } from '../../../../../hooks/useTheme';\nimport { formatCurrency } from '../../../../../utils/formatters';\nimport { formatDate } from '../../../../../utils/formatters';\nimport { getTableRowBgClassNamesByStatus } from '../../../../../constants/table';\nimport type { ICell, IPendingEdit, ValidateAndSaveResult } from '../../types';\nimport { useTableConfig } from '../../../../../providers/design-system-provider/hooks';\nimport Tooltip from '../../../../tooltip/Tooltip';\nimport { Typography } from '../../../../data-display/typography/Typography';\nimport { KeyboardArrowDownIcon, KeyboardArrowRightFilledIcon, LinkIcon, LoadingSpinnerIcon } from '../../../../icon';\nimport { OpenInNewRounded } from '@mui/icons-material';\nimport cn from 'classnames';\nimport React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport { TableContext } from '../../context';\nimport { InlineEditField } from './InlineEditField';\nimport { CELL_DEFAULT_RIGHT_OFFSET, CELL_INDENT_PER_LEVEL_PX, CELL_STICKY_SHADOW_DARK, CELL_STICKY_SHADOW_LIGHT } from '../../constants';\n\ntype CellProps = {\n cell: ICell;\n id: string | number;\n nextWidthSum: number;\n isLastCell: boolean;\n rowHovering: string | number | null;\n index: number;\n isFirstStickyCell: boolean;\n handleCellClick: (e?: React.MouseEvent) => void | null;\n currentData: { is_row_modified?: boolean; is_deleted?: boolean; is_added?: boolean };\n highlightSubstring?: (value: string) => JSX.Element;\n is_read: boolean;\n is_modified: boolean;\n is_row_modified: boolean;\n is_deleted: boolean;\n is_added: boolean;\n level: number;\n inlineEditing: string | null;\n isInlineEditing?: boolean;\n setRowHovering: (id: string | number | null) => void;\n handleCellValueChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n cellRef: React.RefObject<HTMLDivElement>;\n handleUpdateCellData: (directValue?: string | boolean | null, meta?: { currency_code?: string | null; reference?: unknown | null;[key: string]: unknown | null } | null) => void;\n registerValidation?: (validateFn: () => ValidateAndSaveResult) => void;\n loadingExpand: boolean;\n toggleRowExpand: () => void;\n isDraggingOver?: boolean;\n isLoading?: boolean;\n is_incomplete?: boolean;\n pendingEdit?: IPendingEdit;\n hasPendingEdit?: boolean;\n pendingValidationError?: string | null;\n};\n\nlet interval: ReturnType<typeof setInterval> | undefined;\n\nconst formatDurationFallback = (duration: unknown): string => {\n const durationInMs = Number(duration);\n\n if (Number.isNaN(durationInMs) || duration === null || duration === undefined) {\n return '0ms';\n }\n\n if (durationInMs >= 86400000) {\n const days = Math.floor(durationInMs / 86400000);\n const hours = Math.floor((durationInMs % 86400000) / 3600000);\n const minutes = Math.floor((durationInMs % 3600000) / 60000);\n const seconds = Math.floor((durationInMs % 60000) / 1000);\n return `${days}d ${hours}h ${minutes}m ${seconds}s`;\n }\n\n if (durationInMs >= 3600000) {\n const hours = Math.floor(durationInMs / 3600000);\n const minutes = Math.floor((durationInMs % 3600000) / 60000);\n const seconds = Math.floor((durationInMs % 60000) / 1000);\n return `${hours}h ${minutes}m ${seconds}s`;\n }\n\n if (durationInMs >= 60000) {\n const minutes = Math.floor(durationInMs / 60000);\n const seconds = Math.floor((durationInMs % 60000) / 1000);\n return `${minutes}m ${seconds}s`;\n }\n\n if (durationInMs >= 1000) {\n return `${(durationInMs / 1000).toFixed(2)}s`;\n }\n\n return `${durationInMs}ms`;\n};\n\nconst CellWrapper = ({ children, withLink, linkTo, rowData, disableRowClick }: { children: React.ReactNode; withLink?: boolean; linkTo?: (id: string, _rowData?: Record<string, unknown>) => string; rowData?: Record<string, unknown>; disableRowClick?: boolean }) => {\n return withLink && !disableRowClick ? <Link to={linkTo?.(rowData?.id as string, rowData) || ''}>{children}</Link> : children;\n};\n\nconst DataCellInner: React.FC<CellProps> = ({\n cell, id, nextWidthSum, isLastCell, rowHovering, index, isFirstStickyCell, handleCellClick, currentData, highlightSubstring,\n is_read, is_modified, is_row_modified, is_deleted, is_added, level, inlineEditing, isInlineEditing, setRowHovering,\n handleCellValueChange, cellRef, handleUpdateCellData, registerValidation, loadingExpand, toggleRowExpand,\n isDraggingOver, isLoading, is_incomplete, pendingEdit, hasPendingEdit, pendingValidationError,\n}) => {\n const {\n cascadingTableConfig, originalsOnly, maxLevel, showNewItem, expandedRows, rowLinkConfig, multiSelectConfig,\n cellEditing, cellEditingValue, allowInlineEdit, fieldOperationLoading, pendingEdits: contextPendingEdits,\n selectedRowId,\n } = useContext(TableContext);\n\n const isSelectedRow =\n selectedRowId !== null && selectedRowId !== undefined && String(selectedRowId) === String(id);\n\n const tableConfig = useTableConfig();\n\n const rowCellMeta = cell?.column?.key ? (cell?.row?.original?.__cellMetadata as Record<string, Record<string, unknown>> | undefined)?.[cell.column.key] : undefined;\n const isLocked = rowCellMeta?.is_locked ?? cell?.column?.is_locked;\n const cellValidationError = (cell?.column?.key ? contextPendingEdits?.[id]?.[cell.column.key]?.validationError : null) || pendingValidationError || null;\n const isActuallyInlineEditing = inlineEditing === cell.column.key && cell?.column?.canEdit && !isLocked && !cell?.column?.is_disabled;\n const isFieldOperationLoading = fieldOperationLoading === `${id}-${cell?.column?.id}`;\n const { theme } = useTheme();\n const isDark = theme === 'dark';\n const onMouseEnter = useCallback(() => setRowHovering(id), [setRowHovering, id]);\n const onMouseLeave = useCallback(() => setRowHovering(null), [setRowHovering]);\n\n const getNodeExecutionDuration = tableConfig?.formatDuration;\n const [cellValue, setCellValue] = useState(\n cell?.column?.dataType === 'duration' && cell?.value\n ? getNodeExecutionDuration\n ? getNodeExecutionDuration(cell.value)\n : formatDurationFallback(cell.value)\n : cell.value,\n );\n const [tooltipText, setTooltipText] = useState<string | null>(null);\n const [isTruncated, setIsTruncated] = useState(false);\n const [urlTooltipOpen, setUrlTooltipOpen] = useState(false);\n const [truncateTooltipOpen, setTruncateTooltipOpen] = useState(false);\n const textRef = useRef<HTMLSpanElement>(null);\n const urlTooltipTimer = useRef<ReturnType<typeof setTimeout>>();\n const truncateTooltipTimer = useRef<ReturnType<typeof setTimeout>>();\n const { selectedColumnIds = [] } = multiSelectConfig || {};\n const shouldHighlight = !Object.prototype.hasOwnProperty.call(cell?.column?.meta ?? {}, 'shouldHighlight') || cell?.column?.meta?.shouldHighlight;\n\n const checkTruncation = useCallback(() => {\n if (textRef.current) {\n setIsTruncated(textRef.current.scrollWidth > textRef.current.clientWidth);\n }\n }, []);\n\n const handleUrlTooltipChange = useCallback((open: boolean) => {\n if (urlTooltipTimer.current) {\n clearTimeout(urlTooltipTimer.current);\n }\n\n if (open) {\n setUrlTooltipOpen(true);\n } else {\n urlTooltipTimer.current = setTimeout(() => setUrlTooltipOpen(false), 200);\n }\n }, []);\n\n const handleTruncateTooltipChange = useCallback((open: boolean) => {\n if (truncateTooltipTimer.current) {\n clearTimeout(truncateTooltipTimer.current);\n }\n\n if (open) {\n setTruncateTooltipOpen(true);\n } else {\n truncateTooltipTimer.current = setTimeout(() => setTruncateTooltipOpen(false), 200);\n }\n }, []);\n\n const bgColor = cn({\n 'bg-amber-100 dark:bg-amber-900/30': hasPendingEdit,\n 'bg-neutral-100 dark:bg-black-600': rowHovering === id && !isInlineEditing && !hasPendingEdit && !(is_deleted || currentData?.is_deleted) && !(is_added || currentData?.is_added),\n 'bg-error-200 dark:bg-error-900': rowHovering === id && !isInlineEditing && !hasPendingEdit && (is_deleted || currentData?.is_deleted),\n 'bg-success-100 dark:bg-success-800': rowHovering === id && !isInlineEditing && !hasPendingEdit && (is_added || currentData?.is_added),\n 'bg-warning-100 dark:bg-warning-950': rowHovering === id && !isInlineEditing && !hasPendingEdit && (is_incomplete || is_modified || is_row_modified || currentData?.is_row_modified),\n // 'bg-primary-50 dark:bg-black-700': !is_incomplete && !is_read && showNewItem && !isLoading && rowHovering !== id && !isInlineEditing && !hasPendingEdit,\n 'bg-warning-50 dark:bg-orange-900': (is_incomplete || is_modified || is_row_modified || currentData?.is_row_modified) && !isLoading && rowHovering !== id && !isInlineEditing && !hasPendingEdit,\n 'bg-error-100 dark:bg-error-975': (is_deleted || currentData?.is_deleted) && !isLoading && rowHovering !== id && !isInlineEditing && !hasPendingEdit,\n 'bg-success-50 dark:bg-success-900': (is_added || currentData?.is_added) && !isLoading && rowHovering !== id && !isInlineEditing && !hasPendingEdit,\n 'bg-primary-50 dark:bg-primary-900': (isDraggingOver || isInlineEditing) && !hasPendingEdit,\n 'bg-primary-50 dark:bg-primary-800': selectedColumnIds?.includes(cell.column.id) && !isInlineEditing && !hasPendingEdit,\n 'bg-primary-100 dark:bg-primary-950': isSelectedRow && rowHovering !== id && !isInlineEditing && !hasPendingEdit && !isLoading,\n [getTableRowBgClassNamesByStatus[cell?.row?.original?.__rowBgStatus as string]]: cell?.row?.original?.__rowBgStatus && !isInlineEditing && !hasPendingEdit,\n });\n\n const onClick = (e: React.MouseEvent) => { if (cell.column?.disableRowClick) return; handleCellClick(e); };\n\n useEffect(() => {\n const isRunning = cell?.row?.original?.status === 'running';\n if (isRunning && cell.column?.dataType === 'duration') {\n interval = setInterval(() => {\n const startedTime = new Date(formatDate((cell?.row?.original?.created_at || cell?.row?.original?.executed_on) as string | undefined, { withTime: true, format: 'yyyy-MM-dd HH:mm:ss' }) as unknown as Date);\n const timeDiff = Math.abs(new Date().getTime() - new Date(startedTime).getTime());\n setCellValue(getNodeExecutionDuration ? getNodeExecutionDuration(timeDiff) : formatDurationFallback(timeDiff));\n }, 500);\n }\n return () => { if (interval) clearInterval(interval); };\n }, [cellValue, cell.value, cell?.row?.original?.created_at, cell?.row?.original?.executed_on, cell?.row?.original?.status, cell.column?.dataType, getNodeExecutionDuration]);\n\n useEffect(() => {\n if (cell?.column?.tooltipCellKey || cell?.column?.type?.toLowerCase() === 'url') {\n if (cell?.column?.type?.toLowerCase() === 'url') setTooltipText(cell?.value as string | null);\n else setTooltipText(cell?.row?.original?.[String(cell?.column?.tooltipCellKey)] as string | null);\n }\n }, [cell?.column?.tooltipCellKey, cell?.row?.original, cell?.column?.type, cell?.value]);\n\n useEffect(() => {\n if (cell?.column?.type?.toLowerCase() === 'currency') {\n if (pendingEdit?.value !== undefined) {\n const rawData = cell?.row?.original?.__rawData as Record<string, Record<string, unknown>> | undefined;\n const headerKey = cell?.column?.Header as unknown as string;\n const currencyCode = pendingEdit?.meta?.currency_code || rawData?.[headerKey]?.currency_code || 'USD';\n setCellValue(formatCurrency(pendingEdit.value, currencyCode as string));\n } else {\n const rawData = cell?.row?.original?.__rawData as Record<string, Record<string, unknown>> | undefined;\n const headerKey = cell?.column?.Header as unknown as string;\n setCellValue(formatCurrency(cell?.value, (rawData?.[headerKey]?.currency_code as string) || 'USD'));\n }\n }\n }, [cell?.value, cell?.column?.type, cell?.column?.Header, cell?.row?.original?.__rawData, pendingEdit?.value, pendingEdit?.meta?.currency_code]);\n\n useEffect(() => {\n if (cell?.column?.type?.toLowerCase() === 'percentage') {\n if (pendingEdit?.value !== undefined) setCellValue(pendingEdit.value?.toString() + '%' || '');\n else setCellValue(cell?.value?.toString() + '%' || '');\n }\n }, [cell?.value, cell?.column?.type, pendingEdit?.value]);\n\n useEffect(() => {\n const columnType = cell?.column?.type?.toLowerCase() || '';\n if (['date', 'datetime'].includes(columnType)) {\n if (pendingEdit?.value !== undefined) {\n const hasTime = columnType === 'datetime';\n const formattedValue = formatDate(pendingEdit.value as string, { withTime: hasTime, skipTimezone: true });\n setCellValue(formattedValue || pendingEdit.value);\n } else setCellValue(cell.value);\n }\n }, [cell?.value, cell?.column?.type, pendingEdit?.value]);\n\n useEffect(() => {\n const columnType = cell?.column?.type?.toLowerCase() || '';\n if (['currency', 'percentage', 'duration', 'boolean', 'date', 'datetime'].includes(columnType)) return;\n if (pendingEdit?.value !== undefined) setCellValue(pendingEdit.value);\n else if (cell?.column?.dataType !== 'duration') setCellValue(cell.value);\n }, [cell?.value, cell?.column?.type, cell?.column?.dataType, pendingEdit?.value]);\n\n useEffect(() => {\n if (cell?.column?.type?.toLowerCase() === 'boolean' && allowInlineEdit) {\n const rawValue = pendingEdit?.value !== undefined ? pendingEdit.value : cell?.value;\n const booleanValue = rawValue === true || rawValue === 'true' || rawValue === 'True' || rawValue === 'Yes' || rawValue === 1;\n setCellValue(booleanValue ? 'Yes' : 'No');\n }\n }, [cell?.value, cell?.column?.type, allowInlineEdit, pendingEdit?.value]);\n\n useEffect(() => {\n return () => {\n if (urlTooltipTimer.current) {\n clearTimeout(urlTooltipTimer.current);\n }\n if (truncateTooltipTimer.current) {\n clearTimeout(truncateTooltipTimer.current);\n }\n };\n }, []);\n\n const isUiElementCell = React.isValidElement(cellValue);\n\n return (\n <td\n key={index} id={cell.value as string | undefined} data-column-key={cell?.column?.key} {...cell.getCellProps()}\n onClick={rowLinkConfig?.isEnabled ? undefined : onClick}\n className={cn('h-row', {\n 'sticky left-0': cell?.column?.sticky,\n relative: !cell?.column?.sticky,\n 'w-full': isLastCell,\n 'overflow-visible': inlineEditing === cell.column.key,\n /** Chips/badges: avoid vertical clip from overflow-x-hidden + truncate (see isUiElementCell branch below) */\n 'overflow-x-hidden overflow-y-visible': inlineEditing !== cell.column.key && isUiElementCell,\n 'overflow-hidden': inlineEditing !== cell.column.key && !isUiElementCell,\n },\n cellValidationError && !isActuallyInlineEditing ? 'outline outline-2 outline-error-500 -outline-offset-2 z-[5]' : '',\n `${bgColor ? bgColor : 'bg-white dark:bg-black-800'}`,\n )}\n style={{ minWidth: `${cell.column.width}px`, maxWidth: `${cell.column.width}px`, right: cell?.column?.sticky ? `${nextWidthSum}px` : CELL_DEFAULT_RIGHT_OFFSET, paddingLeft: level > 0 && index === 0 ? `${level * CELL_INDENT_PER_LEVEL_PX}px` : undefined }}\n onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}\n >\n <CellWrapper withLink={rowLinkConfig?.isEnabled} linkTo={rowLinkConfig?.linkTo || undefined} rowData={cell?.row?.original} disableRowClick={cell?.column?.disableRowClick}>\n {(Array.isArray(cellEditing) ? cellEditing.includes(`${id}-${cell?.column?.id}`) : cellEditing === `${id}-${cell?.column?.id}`) ? (\n <div className='h-row top-0 font-medium font-inter w-full absolute flex items-center px-4'>\n <span className='text-neutral-400 dark:text-black-400 truncate'>\n {(() => {\n const currentCellId = `${id}-${cell?.column?.id}`;\n const editValue = typeof cellEditingValue === 'object' ? cellEditingValue?.[currentCellId] : cellEditingValue;\n const columnType = cell?.column?.type?.toLowerCase();\n\n if (columnType === 'boolean') {\n return (editValue as unknown) === true || editValue === 'true' || editValue === 'True' ? 'Yes' : 'No';\n }\n\n if ((columnType === 'date' || columnType === 'datetime') && editValue) {\n const hasTime = columnType === 'datetime';\n return formatDate(editValue as string, { withTime: hasTime, skipTimezone: true }) || String(editValue);\n }\n\n return editValue !== undefined && editValue !== null ? String(editValue) : (cellValue as React.ReactNode);\n })()}\n </span>\n <div className='ml-2 flex items-center gap-1.5'><LoadingSpinnerIcon className='spinner text-neutral-600 dark:text-white' size={12} /></div>\n </div>\n ) : inlineEditing === cell.column.key && cell?.column?.canEdit && !isLocked && !cell?.column?.is_disabled ? (\n <div className='h-row w-full absolute top-0 left-0 flex items-center' style={{ marginLeft: level > 0 && index === 0 ? `-${level * CELL_INDENT_PER_LEVEL_PX}px` : undefined, width: level > 0 && index === 0 ? `calc(100% + ${level * CELL_INDENT_PER_LEVEL_PX}px)` : '100%' }}>\n <InlineEditField cell={cell} id={id} inlineEditing={inlineEditing} cellRef={cellRef} handleCellValueChange={handleCellValueChange} handleUpdateCellData={handleUpdateCellData} registerValidation={registerValidation} />\n </div>\n ) : (\n <>\n {level > 0 && index === 0 && <div className='h-row border-l border-neutral-300 dark:border-black-600 ml-2' />}\n <div className='min-h-6'>\n <Tooltip\n title={tooltipText && cell?.column?.type?.toLowerCase() !== 'url' ? tooltipText : undefined}\n hideTooltip={!tooltipText || cell?.column?.type?.toLowerCase() === 'url'}\n delayShow\n placement='top'\n >\n <div className={cn(`h-row top-0 font-medium font-inter overflow-index-auto whitespace-nowrap text-ellipsis dark:text-black-200 w-full absolute flex items-center ${bgColor ? bgColor : 'bg-white dark:bg-black-800'}`, isUiElementCell ? 'overflow-x-hidden overflow-y-visible' : 'overflow-x-hidden', { 'border border-b-0 border-t-0 border-primary-600 dark:border-blue-800': selectedColumnIds?.includes(cell.column.id) })}\n style={cell?.column?.sticky && isFirstStickyCell ? { boxShadow: isDark ? CELL_STICKY_SHADOW_DARK : CELL_STICKY_SHADOW_LIGHT } : {}}>\n {cascadingTableConfig?.isCascading && !originalsOnly && index === 0 && (\n <div className={cn('w-[22px] h-row flex items-center px-4', `${bgColor ? bgColor : 'bg-white dark:bg-black-800'}`)} id='cascading'>\n {maxLevel! > level && (cell?.row?.original?.__has_children || cascadingTableConfig?.showAllDropdown) && (\n <div>{loadingExpand ? <LoadingSpinnerIcon className='text-neutral-600 dark:text-white' size={8} /> : <div>{expandedRows?.[id]?.isOpen ? <KeyboardArrowDownIcon size={20} className='text-neutral-400 dark:text-neutral-400' onClick={(e) => { toggleRowExpand(); e.stopPropagation(); }} /> : <KeyboardArrowRightFilledIcon size={20} className='text-neutral-400 dark:text-neutral-400' onClick={(e) => { toggleRowExpand(); e.stopPropagation(); }} />}</div>}</div>\n )}\n </div>\n )}\n\n {cell?.column?.type?.toLowerCase() === 'url' && tooltipText ? (\n <Tooltip\n title={(\n <div onMouseEnter={() => handleUrlTooltipChange(true)} onMouseLeave={() => handleUrlTooltipChange(false)}>\n <a href={tooltipText} target='_blank' rel='noopener noreferrer' onClick={(e) => e.stopPropagation()}>\n <div className='flex gap-1 items-center w-full'>\n <div className='w-4 h-4'>\n <LinkIcon height={16} width={16} />\n </div>\n <Typography variant='medium' size='small' className='truncate' appearance='custom'>{tooltipText}</Typography>\n <OpenInNewRounded sx={{ height: '16px', width: '16px', color: '#016DCF' }} />\n </div>\n </a>\n </div>\n )}\n placement='top'\n open={urlTooltipOpen}\n onOpenChange={handleUrlTooltipChange}\n className='block w-full min-w-0 overflow-hidden'\n >\n <div className='w-full h-full flex items-center px-4 min-w-0 overflow-hidden text-primary-400'>\n <span ref={textRef} onMouseEnter={checkTruncation} className='truncate w-full'>\n {highlightSubstring && shouldHighlight && !React.isValidElement(cellValue) && typeof cellValue !== 'object'\n ? highlightSubstring(cellValue as string)\n : cellValue as React.ReactNode}\n </span>\n </div>\n </Tooltip>\n ) : (\n <Tooltip\n title={\n isTruncated && cellValue && !isUiElementCell ? (\n <div\n onMouseEnter={() => handleTruncateTooltipChange(true)}\n onMouseLeave={() => handleTruncateTooltipChange(false)}\n className='max-h-96 overflow-y-auto whitespace-pre-wrap break-words no-scroll'\n >\n {String(cellValue)}\n </div>\n ) : undefined\n }\n placement='top'\n delayShow\n hideTooltip={!!tooltipText}\n open={isTruncated && !tooltipText && !isUiElementCell ? truncateTooltipOpen : undefined}\n onOpenChange={isTruncated && !tooltipText && !isUiElementCell ? handleTruncateTooltipChange : undefined}\n className={cn('block w-full min-w-0', isUiElementCell ? 'overflow-x-hidden overflow-y-visible' : 'overflow-hidden')}\n >\n <div className={cn('w-full h-full flex items-center px-4 min-w-0', isUiElementCell ? 'overflow-x-hidden overflow-y-visible' : 'overflow-hidden')}>\n <span\n ref={isUiElementCell ? undefined : textRef}\n onMouseEnter={isUiElementCell ? undefined : checkTruncation}\n className={cn(isUiElementCell ? 'flex min-w-0 max-w-full items-center justify-start gap-1' : 'truncate w-full')}\n >\n {highlightSubstring && shouldHighlight && !React.isValidElement(cellValue) && typeof cellValue !== 'object'\n ? highlightSubstring(cellValue as string)\n : React.isValidElement(cellValue)\n ? (typeof (cellValue as React.ReactElement<Record<string, unknown>>).type === 'string'\n ? cellValue\n : React.cloneElement(cellValue as React.ReactElement<Record<string, unknown>>, {\n ...((cellValue as React.ReactElement<Record<string, unknown>>).props as Record<string, unknown>),\n containerWidth: cell.column.width,\n }))\n : cellValue as React.ReactNode}\n </span>\n </div>\n </Tooltip>\n )}\n </div>\n </Tooltip>\n </div>\n </>\n )}\n </CellWrapper>\n {cellValidationError && !isActuallyInlineEditing && (\n <div className='absolute bottom-0 left-0 right-0 h-row flex items-end pointer-events-none z-[5]'>\n <div className='w-full bg-error-50 dark:bg-error-975 px-1.5 py-0.5 truncate'><span className='text-error-600 text-2xs font-medium leading-none'>{cellValidationError}</span></div>\n </div>\n )}\n {isFieldOperationLoading && !(inlineEditing === cell.column.key && cell?.column?.canEdit && !isLocked && !cell?.column?.is_disabled) && (\n <div className='absolute top-0 right-0 bg-white dark:bg-black-800 rounded-full w-5 h-5 flex items-center justify-center border border-primary-300 dark:border-primary-600 shadow-sm z-10'>\n <LoadingSpinnerIcon className='text-primary-600 dark:text-white' size={8} />\n </div>\n )}\n </td>\n );\n};\n\nexport const DataCell = React.memo(DataCellInner);\n"],"names":["interval","formatDurationFallback","duration","durationInMs","days","hours","minutes","seconds","CellWrapper","children","withLink","linkTo","rowData","disableRowClick","jsx","Link","DataCellInner","cell","id","nextWidthSum","isLastCell","rowHovering","index","isFirstStickyCell","handleCellClick","currentData","highlightSubstring","is_read","is_modified","is_row_modified","is_deleted","is_added","level","inlineEditing","isInlineEditing","setRowHovering","handleCellValueChange","cellRef","handleUpdateCellData","registerValidation","loadingExpand","toggleRowExpand","isDraggingOver","isLoading","is_incomplete","pendingEdit","hasPendingEdit","pendingValidationError","cascadingTableConfig","originalsOnly","maxLevel","showNewItem","expandedRows","rowLinkConfig","multiSelectConfig","cellEditing","cellEditingValue","allowInlineEdit","fieldOperationLoading","contextPendingEdits","selectedRowId","useContext","TableContext","isSelectedRow","tableConfig","useTableConfig","isLocked","cellValidationError","isActuallyInlineEditing","isFieldOperationLoading","theme","useTheme","isDark","onMouseEnter","useCallback","onMouseLeave","getNodeExecutionDuration","cellValue","setCellValue","useState","tooltipText","setTooltipText","isTruncated","setIsTruncated","urlTooltipOpen","setUrlTooltipOpen","truncateTooltipOpen","setTruncateTooltipOpen","textRef","useRef","urlTooltipTimer","truncateTooltipTimer","selectedColumnIds","shouldHighlight","checkTruncation","handleUrlTooltipChange","open","handleTruncateTooltipChange","bgColor","cn","getTableRowBgClassNamesByStatus","onClick","e","useEffect","startedTime","formatDate","timeDiff","rawData","headerKey","currencyCode","formatCurrency","columnType","hasTime","formattedValue","rawValue","isUiElementCell","React","jsxs","CELL_DEFAULT_RIGHT_OFFSET","CELL_INDENT_PER_LEVEL_PX","currentCellId","editValue","LoadingSpinnerIcon","InlineEditField","Fragment","Tooltip","CELL_STICKY_SHADOW_DARK","CELL_STICKY_SHADOW_LIGHT","KeyboardArrowDownIcon","KeyboardArrowRightFilledIcon","LinkIcon","Typography","OpenInNewRounded","DataCell"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),q=require("../../../../tooltip/Tooltip.cjs.js"),S=require("../../../../../providers/design-system-provider/hooks.cjs.js"),j=require("../../../../../_virtual/index.cjs.js"),x=require("react"),T=({disableOptionsForRowIndex:C,tableActions:g,index:l,is_read:f,showNewItem:k,is_modified:p,is_row_modified:d,is_deleted:c,currentData:e,is_added:o,rowData:m,id:s,rowHovering:t,isDisabled:b,bgColor:n,is_incomplete:h,isInlineEditing:r,rowHasPendingEdits:a})=>{const R=S.useTableConfig()?.t?.("Save or cancel pending changes first")??"Save or cancel pending changes first",i=x.useMemo(()=>r?"bg-primary-50 dark:bg-primary-900":n||(c||e?.is_deleted?"bg-error-100 dark:bg-error-975":h||p||d||e?.is_row_modified?"bg-warning-50 dark:bg-black-500":o||e?.is_added?"bg-success-50 dark:bg-success-900":!f&&k&&!b?"bg-primary-50 dark:bg-black-700":"bg-white dark:bg-black-800"),[h,f,k,p,d,c,e,o,n,r,b]),y=C===l||b||a;return u.jsxs("td",{"aria-disabled":y,className:j("px-2.5 relative h-row",i,y&&"cursor-not-allowed opacity-50"),children:[g(m,l),u.jsx(q,{title:a?R:"",children:u.jsx("div",{className:j("absolute top-0 left-0 flex items-center justify-center w-full z-20",{[i]:t!==s||r},{"bg-neutral-100 dark:bg-black-600":t===s&&!r&&!(c||e?.is_deleted)&&!(o||e?.is_added)},{"bg-error-200 dark:bg-error-900":t===s&&!r&&(c||e?.is_deleted)},{"bg-success-100 dark:bg-success-800":t===s&&!r&&(o||e?.is_added)},a&&"pointer-events-none"),children:g(m,l)})})]})},v=x.memo(T);exports.RowActionCell=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react/jsx-runtime"),q=require("../../../../tooltip/Tooltip.cjs.js"),S=require("../../../../../providers/design-system-provider/hooks.cjs.js"),j=require("../../../../../_virtual/index.cjs.js"),x=require("react"),T=({disableOptionsForRowIndex:C,tableActions:u,index:n,is_read:f,showNewItem:k,is_modified:p,is_row_modified:i,is_deleted:o,currentData:e,is_added:c,rowData:d,id:s,rowHovering:t,isDisabled:l,bgColor:b,is_incomplete:m,isInlineEditing:r,rowHasPendingEdits:a})=>{const R=S.useTableConfig()?.t?.("Save or cancel pending changes first")??"Save or cancel pending changes first",h=x.useMemo(()=>r?"bg-primary-50 dark:bg-primary-900":b||(o||e?.is_deleted?"bg-error-100 dark:bg-error-975":m||p||i||e?.is_row_modified?"bg-warning-50 dark:bg-orange-900":c||e?.is_added?"bg-success-50 dark:bg-success-900":!f&&k&&!l?"bg-primary-50 dark:bg-black-700":"bg-white dark:bg-black-800"),[m,f,k,p,i,o,e,c,b,r,l]),y=C===n||l||a;return g.jsxs("td",{"aria-disabled":y,className:j("px-2.5 relative h-row",h,y&&"cursor-not-allowed opacity-50"),children:[u(d,n),g.jsx(q,{title:a?R:"",children:g.jsx("div",{className:j("absolute top-0 left-0 flex items-center justify-center w-full z-20",{[h]:t!==s||r},{"bg-warning-100 dark:bg-warning-900":t===s&&!r&&!(o||e?.is_deleted)&&!(c||e?.is_added)},{"bg-error-200 dark:bg-error-900":t===s&&!r&&(o||e?.is_deleted)},{"bg-success-100 dark:bg-success-800":t===s&&!r&&(c||e?.is_added)},a&&"pointer-events-none"),children:u(d,n)})})]})},v=x.memo(T);exports.RowActionCell=v;
2
2
  //# sourceMappingURL=RowActionCell.cjs.js.map