@lax-wp/design-system 0.13.41 → 0.13.43
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.
- package/dist/components/data-display/code-editor/CodeEditor.cjs.js +1 -1
- package/dist/components/data-display/code-editor/CodeEditor.cjs.js.map +1 -1
- package/dist/components/data-display/code-editor/CodeEditor.es.js +38 -38
- package/dist/components/data-display/code-editor/CodeEditor.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/context.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/context.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/context.d.ts +1 -0
- package/dist/components/data-display/infinite-table/context.es.js +1 -0
- package/dist/components/data-display/infinite-table/context.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/head/cell/Options.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/head/cell/Options.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/head/cell/Options.d.ts +2 -1
- package/dist/components/data-display/infinite-table/head/cell/Options.es.js +79 -70
- package/dist/components/data-display/infinite-table/head/cell/Options.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/head/cell/Resizer.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/head/cell/Resizer.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/head/cell/Resizer.d.ts +2 -1
- package/dist/components/data-display/infinite-table/head/cell/Resizer.es.js +23 -19
- package/dist/components/data-display/infinite-table/head/cell/Resizer.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/head/cell/index.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/head/cell/index.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/head/cell/index.es.js +46 -44
- package/dist/components/data-display/infinite-table/head/cell/index.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/index.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/index.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/index.es.js +474 -470
- package/dist/components/data-display/infinite-table/index.es.js.map +1 -1
- package/dist/components/data-display/tag/Tag.cjs.js +1 -1
- package/dist/components/data-display/tag/Tag.cjs.js.map +1 -1
- package/dist/components/data-display/tag/Tag.es.js +9 -9
- package/dist/components/data-display/tag/Tag.es.js.map +1 -1
- package/dist/components/floating-bar/FloatingBar.cjs.js +1 -1
- package/dist/components/floating-bar/FloatingBar.cjs.js.map +1 -1
- package/dist/components/floating-bar/FloatingBar.es.js +1 -1
- package/dist/components/floating-bar/FloatingBar.es.js.map +1 -1
- package/dist/components/forms/search-bar/SearchBar.cjs.js +1 -1
- package/dist/components/forms/search-bar/SearchBar.cjs.js.map +1 -1
- package/dist/components/forms/search-bar/SearchBar.es.js +1 -1
- package/dist/components/forms/search-bar/SearchBar.es.js.map +1 -1
- package/dist/utils/table.cjs.js +1 -1
- package/dist/utils/table.cjs.js.map +1 -1
- package/dist/utils/table.d.ts +2 -1
- package/dist/utils/table.es.js +19 -18
- package/dist/utils/table.es.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,44 +2,45 @@ import { jsx as r, jsxs as a } from "react/jsx-runtime";
|
|
|
2
2
|
import { useTableConfig as _ } from "../../../../../providers/design-system-provider/hooks.es.js";
|
|
3
3
|
import { DataTypeIcon as A } from "../../../datatype-icon/DataTypeIcon.es.js";
|
|
4
4
|
import n from "../../../../tooltip/Tooltip.es.js";
|
|
5
|
-
import { VpnKeyRounded as
|
|
6
|
-
import
|
|
7
|
-
import { useContext as
|
|
5
|
+
import { VpnKeyRounded as y, BoltOutlined as B, KeyboardArrowDown as E } from "@mui/icons-material";
|
|
6
|
+
import x from "../../../../../_virtual/index.es.js";
|
|
7
|
+
import { useContext as V, Fragment as H } from "react";
|
|
8
8
|
import { TableContext as U } from "../../context.es.js";
|
|
9
|
-
import { Options as
|
|
10
|
-
import { Prefix as
|
|
11
|
-
import { Resizer as
|
|
12
|
-
import { CELL_DEFAULT_RIGHT_OFFSET as
|
|
13
|
-
const
|
|
14
|
-
headerGroup:
|
|
9
|
+
import { Options as G } from "./Options.es.js";
|
|
10
|
+
import { Prefix as M } from "./Prefix.es.js";
|
|
11
|
+
import { Resizer as q } from "./Resizer.es.js";
|
|
12
|
+
import { CELL_DEFAULT_RIGHT_OFFSET as J } from "../../constants.es.js";
|
|
13
|
+
const ne = ({
|
|
14
|
+
headerGroup: k,
|
|
15
15
|
headerIndex: s,
|
|
16
16
|
showHeaderOptions: d,
|
|
17
17
|
column: e,
|
|
18
|
-
isShowSortArrowAsc:
|
|
19
|
-
isShowSortArrowDesc:
|
|
18
|
+
isShowSortArrowAsc: C,
|
|
19
|
+
isShowSortArrowDesc: g,
|
|
20
20
|
onSort: p,
|
|
21
|
-
onFilter:
|
|
21
|
+
onFilter: u,
|
|
22
22
|
toggleHeaderOption: c,
|
|
23
|
-
setIsShowSortArrowAsc:
|
|
24
|
-
setIsShowSortArrowDesc:
|
|
25
|
-
setShowHeaderOptions:
|
|
26
|
-
toggleDataFilterModal:
|
|
27
|
-
isColumnConfigurable:
|
|
28
|
-
onAddColumnClick:
|
|
29
|
-
onEditColumnClick:
|
|
30
|
-
onDeleteColumnClick:
|
|
31
|
-
isResizable:
|
|
23
|
+
setIsShowSortArrowAsc: v,
|
|
24
|
+
setIsShowSortArrowDesc: w,
|
|
25
|
+
setShowHeaderOptions: N,
|
|
26
|
+
toggleDataFilterModal: S,
|
|
27
|
+
isColumnConfigurable: K,
|
|
28
|
+
onAddColumnClick: T,
|
|
29
|
+
onEditColumnClick: I,
|
|
30
|
+
onDeleteColumnClick: z,
|
|
31
|
+
isResizable: F
|
|
32
32
|
}) => {
|
|
33
33
|
const t = _(), b = t?.getPrimaryColor?.() || {}, {
|
|
34
|
-
lastNonStickyColumnIndex:
|
|
34
|
+
lastNonStickyColumnIndex: O,
|
|
35
35
|
setShowHeaderContextOptions: l,
|
|
36
36
|
showHeaderContextOptions: P,
|
|
37
37
|
getSumOfNextVisibleColumnWidth: D,
|
|
38
|
-
handleUpdateColumnWidth:
|
|
38
|
+
handleUpdateColumnWidth: $,
|
|
39
39
|
multiSelectConfig: m,
|
|
40
40
|
headerContextOptions: h,
|
|
41
|
-
showDataTypeIcon:
|
|
42
|
-
|
|
41
|
+
showDataTypeIcon: j,
|
|
42
|
+
isTableViewReadOnly: f
|
|
43
|
+
} = V(U), L = e?.sticky ? D?.(s) : 0, R = O?.(), { selectedColumnIds: o = [] } = m || {}, W = x({
|
|
43
44
|
"border border-primary-600 dark:border-blue-800": o?.includes(e.id),
|
|
44
45
|
"border-b border-b-primary-300": e?.isPrimaryKey,
|
|
45
46
|
"border-b border-b-purple-300": e?.isCompositeKey
|
|
@@ -47,9 +48,9 @@ const le = ({
|
|
|
47
48
|
return /* @__PURE__ */ r(H, { children: /* @__PURE__ */ a(
|
|
48
49
|
"th",
|
|
49
50
|
{
|
|
50
|
-
className:
|
|
51
|
+
className: x(
|
|
51
52
|
"bg-white dark:bg-black-700",
|
|
52
|
-
`${e?.sticky ? "sticky left-0 bg-neutral-50 dark:bg-black-700 right-0" : "relative"} h-row whitespace-normal max-w-lg ${
|
|
53
|
+
`${e?.sticky ? "sticky left-0 bg-neutral-50 dark:bg-black-700 right-0" : "relative"} h-row whitespace-normal max-w-lg ${R === s ? "w-full" : ""} h-full gap-1 cursor-pointer`,
|
|
53
54
|
!e.static && !o?.includes(e.id) && "hover:bg-neutral-200 dark:hover:bg-black-700",
|
|
54
55
|
{ "bg-primary-100 dark:bg-primary-900": o?.includes(e.id) },
|
|
55
56
|
W
|
|
@@ -57,7 +58,7 @@ const le = ({
|
|
|
57
58
|
style: {
|
|
58
59
|
minWidth: `${e.width}px`,
|
|
59
60
|
maxWidth: `${e.width}px`,
|
|
60
|
-
right: ` ${e?.sticky ? `${
|
|
61
|
+
right: ` ${e?.sticky ? `${L}px` : J}`
|
|
61
62
|
},
|
|
62
63
|
role: "cell",
|
|
63
64
|
onClick: (i) => m?.onTableColumnClick?.(i.nativeEvent, e.id),
|
|
@@ -67,8 +68,8 @@ const le = ({
|
|
|
67
68
|
children: [
|
|
68
69
|
/* @__PURE__ */ a("div", { className: "flex w-full px-4 gap-2 h-row justify-between items-center", children: [
|
|
69
70
|
/* @__PURE__ */ a("div", { className: "flex items-center gap-2", children: [
|
|
70
|
-
/* @__PURE__ */ r(
|
|
71
|
-
e?.isCompositeKey ? t?.renderKeyIcons ? t.renderKeyIcons("composite") : /* @__PURE__ */ r(n, { title: "Composite Key", children: /* @__PURE__ */ r("span", { className: "flex items-center hover:bg-purple-50 dark:hover:bg-purple-950 rounded-full p-1", children: /* @__PURE__ */ r(
|
|
71
|
+
/* @__PURE__ */ r(M, { column: e, isShowSortArrowAsc: C, isShowSortArrowDesc: g }),
|
|
72
|
+
e?.isCompositeKey ? t?.renderKeyIcons ? t.renderKeyIcons("composite") : /* @__PURE__ */ r(n, { title: "Composite Key", children: /* @__PURE__ */ r("span", { className: "flex items-center hover:bg-purple-50 dark:hover:bg-purple-950 rounded-full p-1", children: /* @__PURE__ */ r(y, { sx: { fontSize: 14, color: "#BB5DFF" } }) }) }) : e?.isPrimaryKey ? t?.renderKeyIcons ? t.renderKeyIcons("primary", b?.[400]) : /* @__PURE__ */ r(n, { title: "Primary Key", children: /* @__PURE__ */ r("span", { className: "flex items-center hover:bg-primary-50 dark:hover:bg-dark-blue rounded-full p-1", children: /* @__PURE__ */ r(y, { sx: { fontSize: 14, color: b?.[400] || "var(--color-primary-400)" } }) }) }) : null,
|
|
72
73
|
/* @__PURE__ */ r("span", { className: "text-sm font-medium overflow-hidden text-ellipsis whitespace-nowrap", children: e.render("Header") }),
|
|
73
74
|
e.isSAP && t?.renderSapLabel?.(),
|
|
74
75
|
e.is_live_field && /* @__PURE__ */ r(n, { title: "Live Field", children: /* @__PURE__ */ r("span", { className: "flex items-center", children: /* @__PURE__ */ r(B, { sx: { fontSize: 14, color: "var(--color-primary-600)" } }) }) }),
|
|
@@ -83,22 +84,23 @@ const le = ({
|
|
|
83
84
|
) })
|
|
84
85
|
] }),
|
|
85
86
|
!e.static && d === e.key && /* @__PURE__ */ r(
|
|
86
|
-
|
|
87
|
+
G,
|
|
87
88
|
{
|
|
88
89
|
headerIndex: s,
|
|
89
|
-
headerGroup:
|
|
90
|
+
headerGroup: k,
|
|
90
91
|
column: e,
|
|
91
92
|
onSort: p,
|
|
92
93
|
toggleHeaderOption: c,
|
|
93
|
-
setIsShowSortArrowAsc:
|
|
94
|
-
setIsShowSortArrowDesc:
|
|
95
|
-
setShowHeaderOptions:
|
|
96
|
-
toggleDataFilterModal:
|
|
97
|
-
isColumnConfigurable:
|
|
98
|
-
onAddColumnClick:
|
|
99
|
-
onEditColumnClick:
|
|
100
|
-
onDeleteColumnClick:
|
|
101
|
-
onFilter:
|
|
94
|
+
setIsShowSortArrowAsc: v,
|
|
95
|
+
setIsShowSortArrowDesc: w,
|
|
96
|
+
setShowHeaderOptions: N,
|
|
97
|
+
toggleDataFilterModal: S,
|
|
98
|
+
isColumnConfigurable: K,
|
|
99
|
+
onAddColumnClick: T,
|
|
100
|
+
onEditColumnClick: I,
|
|
101
|
+
onDeleteColumnClick: z,
|
|
102
|
+
onFilter: u,
|
|
103
|
+
disabled: f
|
|
102
104
|
}
|
|
103
105
|
),
|
|
104
106
|
P === e.key ? t?.renderColumnContextOptions?.({
|
|
@@ -116,14 +118,14 @@ const le = ({
|
|
|
116
118
|
) }),
|
|
117
119
|
/* @__PURE__ */ r("div", { className: "p-1", children: h })
|
|
118
120
|
] }) : null,
|
|
119
|
-
|
|
121
|
+
j && /* @__PURE__ */ r(A, { dataType: e?.dataType || "string" })
|
|
120
122
|
] }),
|
|
121
|
-
|
|
123
|
+
F ? /* @__PURE__ */ r(q, { column: e, onResizeComplete: $, disabled: f }) : null
|
|
122
124
|
]
|
|
123
125
|
}
|
|
124
126
|
) });
|
|
125
127
|
};
|
|
126
128
|
export {
|
|
127
|
-
|
|
129
|
+
ne as Cell
|
|
128
130
|
};
|
|
129
131
|
//# sourceMappingURL=index.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../../../../src/components/data-display/infinite-table/head/cell/index.tsx"],"sourcesContent":["import { useTableConfig } from '../../../../../providers/design-system-provider/hooks';\nimport { DataTypeIcon } from '../../../../data-display/datatype-icon/DataTypeIcon';\nimport Tooltip from '../../../../tooltip/Tooltip';\nimport { BoltOutlined, KeyboardArrowDown, VpnKeyRounded } from '@mui/icons-material';\nimport cn from 'classnames';\nimport React, { Fragment, useContext } from 'react';\n\nimport { TableContext } from '../../context';\nimport { Options } from './Options';\nimport { Prefix } from './Prefix';\nimport { Resizer } from './Resizer';\nimport { CELL_DEFAULT_RIGHT_OFFSET } from '../../constants';\n\ninterface HeaderColumn {\n id: string;\n key: string;\n Header: string;\n width: number;\n sticky?: boolean;\n static?: boolean;\n isPrimaryKey?: boolean;\n isCompositeKey?: boolean;\n isSAP?: boolean;\n is_live_field?: boolean;\n dataType?: string;\n visible?: boolean;\n sortable?: boolean\n render: (type: string) => React.ReactNode;\n [k: string]: unknown;\n}\n\ninterface CellProps {\n headerGroup: { getHeaderGroupProps: () => Record<string, unknown>; headers: HeaderColumn[]; [k: string]: unknown };\n headerIndex: number;\n showHeaderOptions: string;\n column: HeaderColumn;\n isShowSortArrowAsc: string | null;\n isShowSortArrowDesc: string | null;\n onSort?: (field: string, order?: string) => void;\n onFilter?: (column: string, value: unknown) => void;\n toggleHeaderOption: (key: string) => void;\n setIsShowSortArrowAsc: (value: string | null) => void;\n setIsShowSortArrowDesc: (value: string | null) => void;\n setShowHeaderOptions: (value: string | null) => void;\n toggleDataFilterModal: (column: unknown) => void;\n isColumnConfigurable: boolean;\n onAddColumnClick: (column: { id: string; key: string; [k: string]: unknown }) => void;\n onEditColumnClick: (column: { id: string; key: string; [k: string]: unknown }) => void;\n onDeleteColumnClick: (column: { id: string; key: string; [k: string]: unknown }) => void;\n isResizable: boolean;\n}\n\nexport const Cell = ({\n headerGroup,\n headerIndex,\n showHeaderOptions,\n column,\n isShowSortArrowAsc,\n isShowSortArrowDesc,\n onSort,\n onFilter,\n toggleHeaderOption,\n setIsShowSortArrowAsc,\n setIsShowSortArrowDesc,\n setShowHeaderOptions,\n toggleDataFilterModal,\n isColumnConfigurable,\n onAddColumnClick,\n onEditColumnClick,\n onDeleteColumnClick,\n isResizable,\n}: CellProps) => {\n const tableConfig = useTableConfig();\n const primaryColorShades = tableConfig?.getPrimaryColor?.() || {};\n const {\n lastNonStickyColumnIndex,\n setShowHeaderContextOptions,\n showHeaderContextOptions,\n getSumOfNextVisibleColumnWidth,\n handleUpdateColumnWidth,\n multiSelectConfig,\n headerContextOptions,\n showDataTypeIcon,\n } = useContext(TableContext);\n\n const nextWidthSum = column?.sticky ? getSumOfNextVisibleColumnWidth?.(headerIndex) : 0;\n const lastNonStickyColIndex = lastNonStickyColumnIndex?.();\n const { selectedColumnIds = [] } = multiSelectConfig || {};\n\n const borderClass = cn({\n 'border border-primary-600 dark:border-blue-800': selectedColumnIds?.includes(column.id),\n 'border-b border-b-primary-300': column?.isPrimaryKey,\n 'border-b border-b-purple-300': column?.isCompositeKey,\n });\n\n return (\n <Fragment>\n <th\n className={cn(\n 'bg-white dark:bg-black-700',\n `${column?.sticky ? `sticky left-0 bg-neutral-50 dark:bg-black-700 right-0` : `relative`} h-row whitespace-normal max-w-lg ${lastNonStickyColIndex === headerIndex ? 'w-full' : ''} h-full gap-1 cursor-pointer`,\n !column.static && !selectedColumnIds?.includes(column.id) && 'hover:bg-neutral-200 dark:hover:bg-black-700',\n { 'bg-primary-100 dark:bg-primary-900': selectedColumnIds?.includes(column.id) },\n borderClass,\n )}\n style={{\n minWidth: `${column.width}px`,\n maxWidth: `${column.width}px`,\n right: ` ${column?.sticky ? `${nextWidthSum}px` : CELL_DEFAULT_RIGHT_OFFSET}`,\n }}\n role='cell'\n onClick={(e) => multiSelectConfig?.onTableColumnClick?.(e.nativeEvent, column.id)}\n onContextMenu={(e) => {\n if (selectedColumnIds?.includes(column.id)) {\n e.preventDefault();\n setShowHeaderContextOptions?.(column.key);\n }\n }}\n >\n <div className='flex w-full px-4 gap-2 h-row justify-between items-center'>\n <div className='flex items-center gap-2'>\n <Prefix {...{ column, isShowSortArrowAsc, isShowSortArrowDesc }} />\n\n {column?.isCompositeKey\n ? tableConfig?.renderKeyIcons\n ? tableConfig.renderKeyIcons('composite')\n : (\n <Tooltip title='Composite Key'>\n <span className='flex items-center hover:bg-purple-50 dark:hover:bg-purple-950 rounded-full p-1'>\n <VpnKeyRounded sx={{ fontSize: 14, color: '#BB5DFF' }} />\n </span>\n </Tooltip>\n )\n : column?.isPrimaryKey\n ? tableConfig?.renderKeyIcons\n ? tableConfig.renderKeyIcons('primary', primaryColorShades?.[400])\n : (\n <Tooltip title='Primary Key'>\n <span className='flex items-center hover:bg-primary-50 dark:hover:bg-dark-blue rounded-full p-1'>\n <VpnKeyRounded sx={{ fontSize: 14, color: primaryColorShades?.[400] || 'var(--color-primary-400)' }} />\n </span>\n </Tooltip>\n )\n : null}\n\n <span className='text-sm font-medium overflow-hidden text-ellipsis whitespace-nowrap'>{column.render('Header')}</span>\n {column.isSAP && tableConfig?.renderSapLabel?.()}\n {column.is_live_field && (\n <Tooltip title='Live Field'>\n <span className='flex items-center'>\n <BoltOutlined sx={{ fontSize: 14, color: 'var(--color-primary-600)' }} />\n </span>\n </Tooltip>\n )}\n {!column.static && column?.sortable && onSort && (\n <button className='flex items-center justify-center h-full'>\n <KeyboardArrowDown\n sx={{ fontSize: 18, color: '#98A2B3', transform: showHeaderOptions === column.key ? 'rotate(180deg)' : 'none', transition: 'transform 0.2s' }}\n onClick={(e) => {\n e.stopPropagation();\n if (!column.static) toggleHeaderOption(column.key);\n }}\n />\n </button>\n )}\n </div>\n {!column.static && showHeaderOptions === column.key && (\n <Options\n headerIndex={headerIndex}\n headerGroup={headerGroup}\n column={column}\n onSort={onSort}\n toggleHeaderOption={toggleHeaderOption}\n setIsShowSortArrowAsc={setIsShowSortArrowAsc}\n setIsShowSortArrowDesc={setIsShowSortArrowDesc}\n setShowHeaderOptions={setShowHeaderOptions}\n toggleDataFilterModal={toggleDataFilterModal}\n isColumnConfigurable={isColumnConfigurable}\n onAddColumnClick={onAddColumnClick}\n onEditColumnClick={onEditColumnClick}\n onDeleteColumnClick={onDeleteColumnClick}\n onFilter={onFilter}\n />\n )}\n {showHeaderContextOptions === column.key\n ? tableConfig?.renderColumnContextOptions?.({\n onClose: () => setShowHeaderContextOptions?.(null),\n children: headerContextOptions,\n }) || (\n <div className='absolute top-full right-0 mt-1 z-50 bg-white dark:bg-black-700 border border-neutral-200 dark:border-black-600 rounded-md shadow-lg min-w-[180px]'>\n <div className='flex justify-end p-1 border-b border-neutral-100 dark:border-black-600'>\n <button\n type='button'\n className='text-xs text-neutral-500 hover:text-neutral-700 dark:text-neutral-300 dark:hover:text-neutral-100 px-1'\n onClick={() => setShowHeaderContextOptions?.(null)}\n >\n Close\n </button>\n </div>\n <div className='p-1'>{headerContextOptions}</div>\n </div>\n )\n : null}\n {showDataTypeIcon && <DataTypeIcon dataType={column?.dataType || 'string'} />}\n </div>\n {isResizable ? <Resizer column={column} onResizeComplete={handleUpdateColumnWidth!} /> : null}\n </th>\n </Fragment>\n );\n};\n"],"names":["Cell","headerGroup","headerIndex","showHeaderOptions","column","isShowSortArrowAsc","isShowSortArrowDesc","onSort","onFilter","toggleHeaderOption","setIsShowSortArrowAsc","setIsShowSortArrowDesc","setShowHeaderOptions","toggleDataFilterModal","isColumnConfigurable","onAddColumnClick","onEditColumnClick","onDeleteColumnClick","isResizable","tableConfig","useTableConfig","primaryColorShades","lastNonStickyColumnIndex","setShowHeaderContextOptions","showHeaderContextOptions","getSumOfNextVisibleColumnWidth","handleUpdateColumnWidth","multiSelectConfig","headerContextOptions","showDataTypeIcon","useContext","TableContext","nextWidthSum","lastNonStickyColIndex","selectedColumnIds","borderClass","cn","Fragment","jsxs","CELL_DEFAULT_RIGHT_OFFSET","e","jsx","Prefix","Tooltip","VpnKeyRounded","BoltOutlined","KeyboardArrowDown","Options","DataTypeIcon","Resizer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../../../../src/components/data-display/infinite-table/head/cell/index.tsx"],"sourcesContent":["import { useTableConfig } from '../../../../../providers/design-system-provider/hooks';\nimport { DataTypeIcon } from '../../../../data-display/datatype-icon/DataTypeIcon';\nimport Tooltip from '../../../../tooltip/Tooltip';\nimport { BoltOutlined, KeyboardArrowDown, VpnKeyRounded } from '@mui/icons-material';\nimport cn from 'classnames';\nimport React, { Fragment, useContext } from 'react';\n\nimport { TableContext } from '../../context';\nimport { Options } from './Options';\nimport { Prefix } from './Prefix';\nimport { Resizer } from './Resizer';\nimport { CELL_DEFAULT_RIGHT_OFFSET } from '../../constants';\n\ninterface HeaderColumn {\n id: string;\n key: string;\n Header: string;\n width: number;\n sticky?: boolean;\n static?: boolean;\n isPrimaryKey?: boolean;\n isCompositeKey?: boolean;\n isSAP?: boolean;\n is_live_field?: boolean;\n dataType?: string;\n visible?: boolean;\n sortable?: boolean\n render: (type: string) => React.ReactNode;\n [k: string]: unknown;\n}\n\ninterface CellProps {\n headerGroup: { getHeaderGroupProps: () => Record<string, unknown>; headers: HeaderColumn[]; [k: string]: unknown };\n headerIndex: number;\n showHeaderOptions: string;\n column: HeaderColumn;\n isShowSortArrowAsc: string | null;\n isShowSortArrowDesc: string | null;\n onSort?: (field: string, order?: string) => void;\n onFilter?: (column: string, value: unknown) => void;\n toggleHeaderOption: (key: string) => void;\n setIsShowSortArrowAsc: (value: string | null) => void;\n setIsShowSortArrowDesc: (value: string | null) => void;\n setShowHeaderOptions: (value: string | null) => void;\n toggleDataFilterModal: (column: unknown) => void;\n isColumnConfigurable: boolean;\n onAddColumnClick: (column: { id: string; key: string; [k: string]: unknown }) => void;\n onEditColumnClick: (column: { id: string; key: string; [k: string]: unknown }) => void;\n onDeleteColumnClick: (column: { id: string; key: string; [k: string]: unknown }) => void;\n isResizable: boolean;\n}\n\nexport const Cell = ({\n headerGroup,\n headerIndex,\n showHeaderOptions,\n column,\n isShowSortArrowAsc,\n isShowSortArrowDesc,\n onSort,\n onFilter,\n toggleHeaderOption,\n setIsShowSortArrowAsc,\n setIsShowSortArrowDesc,\n setShowHeaderOptions,\n toggleDataFilterModal,\n isColumnConfigurable,\n onAddColumnClick,\n onEditColumnClick,\n onDeleteColumnClick,\n isResizable,\n}: CellProps) => {\n const tableConfig = useTableConfig();\n const primaryColorShades = tableConfig?.getPrimaryColor?.() || {};\n const {\n lastNonStickyColumnIndex,\n setShowHeaderContextOptions,\n showHeaderContextOptions,\n getSumOfNextVisibleColumnWidth,\n handleUpdateColumnWidth,\n multiSelectConfig,\n headerContextOptions,\n showDataTypeIcon,\n isTableViewReadOnly,\n } = useContext(TableContext);\n\n const nextWidthSum = column?.sticky ? getSumOfNextVisibleColumnWidth?.(headerIndex) : 0;\n const lastNonStickyColIndex = lastNonStickyColumnIndex?.();\n const { selectedColumnIds = [] } = multiSelectConfig || {};\n\n const borderClass = cn({\n 'border border-primary-600 dark:border-blue-800': selectedColumnIds?.includes(column.id),\n 'border-b border-b-primary-300': column?.isPrimaryKey,\n 'border-b border-b-purple-300': column?.isCompositeKey,\n });\n\n return (\n <Fragment>\n <th\n className={cn(\n 'bg-white dark:bg-black-700',\n `${column?.sticky ? `sticky left-0 bg-neutral-50 dark:bg-black-700 right-0` : `relative`} h-row whitespace-normal max-w-lg ${lastNonStickyColIndex === headerIndex ? 'w-full' : ''} h-full gap-1 cursor-pointer`,\n !column.static && !selectedColumnIds?.includes(column.id) && 'hover:bg-neutral-200 dark:hover:bg-black-700',\n { 'bg-primary-100 dark:bg-primary-900': selectedColumnIds?.includes(column.id) },\n borderClass,\n )}\n style={{\n minWidth: `${column.width}px`,\n maxWidth: `${column.width}px`,\n right: ` ${column?.sticky ? `${nextWidthSum}px` : CELL_DEFAULT_RIGHT_OFFSET}`,\n }}\n role='cell'\n onClick={(e) => multiSelectConfig?.onTableColumnClick?.(e.nativeEvent, column.id)}\n onContextMenu={(e) => {\n if (selectedColumnIds?.includes(column.id)) {\n e.preventDefault();\n setShowHeaderContextOptions?.(column.key);\n }\n }}\n >\n <div className='flex w-full px-4 gap-2 h-row justify-between items-center'>\n <div className='flex items-center gap-2'>\n <Prefix {...{ column, isShowSortArrowAsc, isShowSortArrowDesc }} />\n\n {column?.isCompositeKey\n ? tableConfig?.renderKeyIcons\n ? tableConfig.renderKeyIcons('composite')\n : (\n <Tooltip title='Composite Key'>\n <span className='flex items-center hover:bg-purple-50 dark:hover:bg-purple-950 rounded-full p-1'>\n <VpnKeyRounded sx={{ fontSize: 14, color: '#BB5DFF' }} />\n </span>\n </Tooltip>\n )\n : column?.isPrimaryKey\n ? tableConfig?.renderKeyIcons\n ? tableConfig.renderKeyIcons('primary', primaryColorShades?.[400])\n : (\n <Tooltip title='Primary Key'>\n <span className='flex items-center hover:bg-primary-50 dark:hover:bg-dark-blue rounded-full p-1'>\n <VpnKeyRounded sx={{ fontSize: 14, color: primaryColorShades?.[400] || 'var(--color-primary-400)' }} />\n </span>\n </Tooltip>\n )\n : null}\n\n <span className='text-sm font-medium overflow-hidden text-ellipsis whitespace-nowrap'>{column.render('Header')}</span>\n {column.isSAP && tableConfig?.renderSapLabel?.()}\n {column.is_live_field && (\n <Tooltip title='Live Field'>\n <span className='flex items-center'>\n <BoltOutlined sx={{ fontSize: 14, color: 'var(--color-primary-600)' }} />\n </span>\n </Tooltip>\n )}\n {!column.static && column?.sortable && onSort && (\n <button className='flex items-center justify-center h-full'>\n <KeyboardArrowDown\n sx={{ fontSize: 18, color: '#98A2B3', transform: showHeaderOptions === column.key ? 'rotate(180deg)' : 'none', transition: 'transform 0.2s' }}\n onClick={(e) => {\n e.stopPropagation();\n if (!column.static) toggleHeaderOption(column.key);\n }}\n />\n </button>\n )}\n </div>\n {!column.static && showHeaderOptions === column.key && (\n <Options\n headerIndex={headerIndex}\n headerGroup={headerGroup}\n column={column}\n onSort={onSort}\n toggleHeaderOption={toggleHeaderOption}\n setIsShowSortArrowAsc={setIsShowSortArrowAsc}\n setIsShowSortArrowDesc={setIsShowSortArrowDesc}\n setShowHeaderOptions={setShowHeaderOptions}\n toggleDataFilterModal={toggleDataFilterModal}\n isColumnConfigurable={isColumnConfigurable}\n onAddColumnClick={onAddColumnClick}\n onEditColumnClick={onEditColumnClick}\n onDeleteColumnClick={onDeleteColumnClick}\n onFilter={onFilter}\n disabled={isTableViewReadOnly}\n />\n )}\n {showHeaderContextOptions === column.key\n ? tableConfig?.renderColumnContextOptions?.({\n onClose: () => setShowHeaderContextOptions?.(null),\n children: headerContextOptions,\n }) || (\n <div className='absolute top-full right-0 mt-1 z-50 bg-white dark:bg-black-700 border border-neutral-200 dark:border-black-600 rounded-md shadow-lg min-w-[180px]'>\n <div className='flex justify-end p-1 border-b border-neutral-100 dark:border-black-600'>\n <button\n type='button'\n className='text-xs text-neutral-500 hover:text-neutral-700 dark:text-neutral-300 dark:hover:text-neutral-100 px-1'\n onClick={() => setShowHeaderContextOptions?.(null)}\n >\n Close\n </button>\n </div>\n <div className='p-1'>{headerContextOptions}</div>\n </div>\n )\n : null}\n {showDataTypeIcon && <DataTypeIcon dataType={column?.dataType || 'string'} />}\n </div>\n {isResizable ? <Resizer column={column} onResizeComplete={handleUpdateColumnWidth!} disabled={isTableViewReadOnly} /> : null}\n </th>\n </Fragment>\n );\n};\n"],"names":["Cell","headerGroup","headerIndex","showHeaderOptions","column","isShowSortArrowAsc","isShowSortArrowDesc","onSort","onFilter","toggleHeaderOption","setIsShowSortArrowAsc","setIsShowSortArrowDesc","setShowHeaderOptions","toggleDataFilterModal","isColumnConfigurable","onAddColumnClick","onEditColumnClick","onDeleteColumnClick","isResizable","tableConfig","useTableConfig","primaryColorShades","lastNonStickyColumnIndex","setShowHeaderContextOptions","showHeaderContextOptions","getSumOfNextVisibleColumnWidth","handleUpdateColumnWidth","multiSelectConfig","headerContextOptions","showDataTypeIcon","isTableViewReadOnly","useContext","TableContext","nextWidthSum","lastNonStickyColIndex","selectedColumnIds","borderClass","cn","Fragment","jsxs","CELL_DEFAULT_RIGHT_OFFSET","e","jsx","Prefix","Tooltip","VpnKeyRounded","BoltOutlined","KeyboardArrowDown","Options","DataTypeIcon","Resizer"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),bs=require("../../../hooks/useCheckbox.cjs.js"),ws=require("../../../providers/design-system-provider/hooks.cjs.js"),kt=require("../../../utils/table.cjs.js"),Nt=require("../../button/Button.cjs.js"),ps=require("../../floating-bar/FloatingBar.cjs.js"),be=require("../typography/Typography.cjs.js"),k=require("@dnd-kit/core"),l=require("react"),Fs=require("react-virtualized-auto-sizer"),Ts=require("react-dom"),At=require("react-table"),Os=require("./body/index.cjs.js"),Dt=require("./validateCell.cjs.js"),js=require("./body/rows/row.cjs.js"),ys=require("./context.cjs.js"),Es=require("./CurrencyDropdownPortal.cjs.js"),Rs=require("./head/index.cjs.js"),ks=require("./PendingEditsFloatingBar.cjs.js"),h=require("./constants.cjs.js"),_t=require("./useRowHeight.cjs.js"),Ns=require("../empty-state/NoDataFoundWidgets.cjs.js"),As=require("../empty-state/NoDataFound.cjs.js"),Ds=require("../../icon/icons.generated.cjs.js"),_s=Fs.AutoSizer,Mt="Create Column",Ms=(_,T)=>`button-admin-${_.toLowerCase().trim().replace(/\s+/g,"-").replace(/[^a-z0-9-_]/g,"")||T}`,Ls=l.memo(({tableKey:_,searchConfig:T={search:"",handleSearch:()=>null,allowAStarSearch:!1},filterConfig:a={columnFilters:[],onFilter:()=>null,onRemoveFilter:()=>null,onClearFilter:()=>null,onResetFilter:()=>Promise.resolve({}),asyncRowOptionsFilter:()=>Promise.resolve({})},sortConfig:m={onSort:()=>null,columnSort:{field:"",order:""},onRemoveSort:()=>null},headerConfig:u={showExportButton:null,showFilters:!0,showSorts:!0,showSearch:!0,showTableView:!0,showTableViewAsModal:!1,content:null,postContent:null,preContent:null,isLoading:!1,showDivider:!1},hoverConfig:Lt=null,columns:j,modelName:J,enableMasterDataEnumSuggestions:G=!1,agreementCategoryId:X,agreementDomainId:Y,agreementId:Z,modificationId:Q,lineItemRowId:K,enumSuggestionsData:ee,data:f=[],onRowClick:gt,showHeader:we,tableActions:qe,rowOptions:C,hideRowOptionWidth:We,checkboxUtilities:M,isLoading:te=!1,onScroll:It,onScrolling:Bt,isColumnConfigurable:le,onAddColumnClick:se,emptyMessage:He,noDataWidget:$e,buttons:ze,onEditColumnClick:Ue,onDeleteColumnClick:Je,onRowTooltipClick:Vt,tooltiptext:Pt,cascadingTableConfig:Ct,originalsOnly:qt,disableOptionsForRowIndex:Wt,tableHeightClass:re="h-[calc(100vh-220px)]",getFullRowDataOnClick:Ht,selectedRowId:$t=null,onRowEdit:N,onBulkRowEdit:L,inlineEditColumns:zt,isResizable:Ut=!0,paginationConfig:ne,dndSortableUtils:ae,multipleContexts:Ge,withSortable:pe,withDraggable:Jt,enableRootDrag:Gt,pageSize:Xt=h.DEFAULT_PAGE_SIZE,onCascadingRowExpand:Yt,totalItems:Xe,showRecordCount:Fe=!1,getInnerRowData:Zt,maxLevel:Qt,expandedRows:Kt={},setExpandedRows:el,showNewItem:tl,rawData:Ye,dragConfig:ll,isOverlayLoading:sl,style:rl={},floatingBarConfig:Te,rowWrapper:nl,rowLinkConfig:al,isCellClickDisabled:cl,setHeaderOnParent:Oe,optimizeTable:ol=!1,multiSelectConfig:il,headerContextOptions:ul,showHeaderContextOptions:dl,setShowHeaderContextOptions:hl,showDataTypeIcon:ml=!1,rowAdditionalActions:ce,rowAdditionalActionsWidth:je,setVisibleHeaders:ye,cellEditing:fl=null,cellEditingValue:vl=null,allowInlineEdit:xl=!1,onFieldOperationFlow:Sl,fieldOperationLoading:g=null,onTableActionsReady:Ee,onPendingEditsChange:Ze,onCancelPendingEdits:I})=>{const o=ws.useTableConfig(),bl=_t.getRowSlotHeight(_t.useRowHeight()),wl=!!T?.search,Qe=a?.columnFilters?.length>0,q=wl||Qe,pl=!!M,O=o?.getTableView?.(_)??null,[p,W]=l.useState(O||null),[Re,ke]=l.useState(!1),[Ne,Ke]=l.useState(!1),[Fl,et]=l.useState(null),[S,Ae]=l.useState(j),tt=(f.length===0||!S.length)&&!te,[lt,oe]=l.useState(null),[Tl,Ol]=l.useState(!1),[jl,yl]=l.useState(null),[El,Rl]=l.useState(!1),[kl,ie]=l.useState(null),[Nl,ue]=l.useState(null),[Al,st]=l.useState({}),[H,De]=l.useState(null),[Dl,rt]=l.useState(!1),[y,_l]=l.useState(0),_e=l.useRef(null),Me=l.useRef(null),[nt,Ml]=l.useState({width:0,height:0}),[Ll,B]=l.useState(null),[E,at]=l.useState(null),[gl,ct]=l.useState(null),[ot,it]=l.useState(null),[Le,$]=l.useState({}),ge=l.useRef(!1),de=l.useRef(!1),Ie=l.useRef(p);Ie.current=p;const ut=l.useRef(o);ut.current=o;const dt=l.useRef(j);dt.current=j;const he=l.useRef(a);he.current=a;const ht=l.useRef(null),mt=l.useRef(()=>({})),ft=l.useRef(()=>({})),[d,R]=l.useState({}),Be=l.useCallback((e,t,r)=>{R(n=>{const c=n[e]?.[t];let i=r.validationError;if(i===void 0){const b=S.find(v=>v.key===t);if(b){const v=Dt.validateCellValue(r.value,b);i=v.isValid?null:v.error||"Invalid"}else i=c?.validationError??null}return{...n,[e]:{...n[e]||{},[t]:{...r,validationError:i??null}}}})},[S]),vt=l.useCallback(()=>Object.values(d).some(e=>Object.keys(e).length>0),[d]);l.useEffect(()=>{Ee&&Ee({addPendingEdit:Be,hasPendingEdits:vt})},[Ee,Be,vt]);const Il=l.useCallback((e,t)=>{R(r=>{const n={...r};if(n[e]){const{[t]:c,...i}=n[e];Object.keys(i).length===0?delete n[e]:n[e]=i}return n})},[]),Bl=l.useCallback((e,t)=>d[e]?.[t],[d]),Vl=l.useCallback((e,t)=>!!d[e]?.[t],[d]),xt=l.useCallback(()=>{g||(I&&Object.keys(d).length>0&&I(d),R({}),$({}),B(null))},[g,I,d]),V=l.useCallback((e,t,r)=>{setTimeout(()=>{o?.dispatchEvent?.("SCROLL_TO_TABLE_ROW",{rowIndex:r});const n=S.findIndex(c=>c.key===t);setTimeout(()=>{const c=document.querySelector(`[${h.DATA_ROW_ID_ATTR}="${e}"] [${h.DATA_COLUMN_KEY_ATTR}="${t}"]`);if(c)c.scrollIntoView({behavior:"smooth",block:"center",inline:"center"});else if(n>0){const i=document.querySelector(h.OS_VIEWPORT_SELECTOR);if(i){let b=0;for(let v=0;v<n;v++){const F=S[v];F?.sticky||(b+=F?.width||h.SCROLL_TO_CELL_COLUMN_WIDTH_FALLBACK)}b=Math.max(0,b-h.SCROLL_TO_CELL_LEFT_OFFSET),i.scrollTo({left:b,behavior:"smooth"})}}B({rowId:e,columnKey:t})},350)},100)},[S,o]),z=l.useCallback(e=>{let t=!1,r=null;const n={},c=new Set;return Object.entries(e).forEach(([i,b])=>{n[i]={},Object.entries(b).forEach(([v,F])=>{const D=S.find(w=>w.key===v),x=Dt.validateCellValue(F.value,D);x.isValid?n[i][v]={...F,validationError:null}:(t=!0,x.error&&c.add(x.error),r||(r={rowId:i,columnKey:v}),n[i][v]={...F,validationError:x.error})})}),{hasErrors:t,updatedEdits:n,firstError:r,errorTypes:c}},[S]),me=l.useCallback(e=>{const t=e.has("Field required"),r=e.size>(t?1:0);return t&&r?"Missing required field(s) and invalid format detected. Please review highlighted field(s).":t?"Missing required field(s). Please review highlighted field(s).":"Invalid field value(s). Please review highlighted field(s)."},[]),St=l.useCallback(()=>{const{hasErrors:e,updatedEdits:t,firstError:r,errorTypes:n}=z(d);if(e){if(R(t),o?.showNotification?.("error",me(n)),r){const i=f.findIndex(b=>b.id===r.rowId);V(r.rowId,r.columnKey,i)}return}const c=[];Object.entries(d).forEach(([i,b])=>{const v=f.find(F=>F.id===i);if(v){const F={...v},D={};Object.entries(b).forEach(([x,w])=>{F[x]=w.value,D[x]={value:w.value,meta:w.meta}}),c.push({...F,__editedFields:D})}}),c.length>0&&(L?L(c):N&&N(null,null,null,null,null,{isBulk:!0,rows:c})),R({}),$({}),B(null)},[d,f,N,L,z,me,V,o]),Pl=l.useCallback(e=>{if(g)return;const t=d[e];t&&I&&I({[e]:t}),R(r=>{const n={...r};return delete n[e],n}),$(r=>{const n={...r};return Object.keys(n).forEach(c=>{c.startsWith(`${e}-`)&&delete n[c]}),n}),B(null)},[g,I,d]),Cl=l.useCallback(e=>{const t=d[e];if(!t||Object.keys(t).length===0)return;const{hasErrors:r,updatedEdits:n,firstError:c,errorTypes:i}=z({[e]:t});if(r){if(R(x=>({...x,[e]:n[e]})),o?.showNotification?.("error",me(i)),c){const x=f.findIndex(w=>w.id===c.rowId);V(c.rowId,c.columnKey,x)}return}const b=f.find(x=>x.id===e);if(!b)return;const v={...b},F={};Object.entries(t).forEach(([x,w])=>{v[x]=w.value,F[x]={value:w.value,meta:w.meta}});const D={...v,__editedFields:F};L?L([D]):N&&N(null,null,null,null,null,{isBulk:!0,rows:[D]}),R(x=>{const w={...x};return delete w[e],w}),$(x=>{const w={...x};return Object.keys(w).forEach(Rt=>{Rt.startsWith(`${e}-`)&&delete w[Rt]}),w}),B(null)},[d,f,N,L,z,me,V,o]),P=l.useMemo(()=>Object.values(d).reduce((e,t)=>e+Object.keys(t).length,0),[d]);l.useEffect(()=>{Ze?.(P>0,P)},[P,Ze]);const ql=l.useMemo(()=>{const e=[];return Object.entries(d).forEach(([t,r])=>{const n=f.findIndex(c=>c.id===t);Object.entries(r).forEach(([c,i])=>{const b=S.find(v=>v.key===c);e.push({rowId:t,columnKey:c,fieldName:b?.Header||b?.display_name||c,value:i.value,originalValue:i.originalValue,meta:i.meta,originalMeta:i.originalMeta,rowIndex:n})})}),e},[d,S,f]),Wl=l.useMemo(()=>{const e=new Map;return Object.entries(d).forEach(([t,r])=>{const n=f.findIndex(c=>c.id===t);e.set(t,{rowId:t,rowIndex:n,editCount:Object.keys(r).length})}),Array.from(e.values()).sort((t,r)=>t.rowIndex-r.rowIndex)},[d,f]),Hl=l.useCallback(e=>at(e),[]),fe=l.useCallback(()=>at(null),[]),$l=l.useCallback((e,t)=>{ct({value:e,reference:t}),E?.onSelected&&E.onSelected(e,t),fe()},[E,fe]),zl=l.useCallback(()=>ct(null),[]),Ul=l.useCallback(e=>it(e),[]),bt=l.useCallback(()=>it(null),[]),Jl=l.useCallback((e,t)=>{$(r=>({...r,[e]:t}))},[]),Gl=l.useCallback(e=>Le[e],[Le]),Xl=l.useMemo(()=>{const e=re.match(/h-\[(\d+px)\]/);if(e)return e[1];const t=re.match(/h-\[(calc\(.+\))\]/);if(t)return t[1].replace(/([+-])/g," $1 ").replace(/\s+/g," ")},[re]),Yl={isEmpty:tt,isFilters:q,isColumnConfigurable:le,handleOnClick:se,emptyMessage:He,buttons:ze,noDataWidget:$e},Zl=o?.t?.(Mt)??Mt,ve=q?"No Results Found":He||"No Data Found",Ql=typeof ve=="string"?o?.t?.(ve)??ve:ve,wt={__isLoading:!0},Kl=new Array(1).fill(wt),es=new Array(Xt).fill(wt),U=l.useMemo(()=>S.filter(e=>!!e?.visible),[S]),ts=At.useTable({columns:ol?U:S,data:[...f,...te?f?.length?Kl:es:[]],defaultColumn:{minWidth:h.DEFAULT_COLUMN_MIN_WIDTH,width:h.DEFAULT_COLUMN_WIDTH,maxWidth:h.DEFAULT_COLUMN_MAX_WIDTH}},At.useResizeColumns),{getTableProps:pt,getTableBodyProps:Ft,headerGroups:xe,prepareRow:Tt,rows:A}=ts;ht.current=xe;const ls=JSON.stringify(xe[0]?.headers?.map(e=>e?.Header));l.useEffect(()=>{if(ye){const e=ht.current;ye?.(e?.[0]?.headers?.map(t=>t?.Header)??[])}},[ls,ye]);const{checkboxConfig:Ot}=bs.useCheckbox({rows:A,checkedIds:M?.checkedIds,isCheckAllDisabled:M?.isCheckAllDisabled,selectionDisabledRowIds:M?.selectionDisabledRowIds,rawData:Ye,onAllChecked:Rl,setCheckedIds:M?.setCheckedIds,checkboxMetadata:M?.checkboxMetadata}),ss=k.useSensors(k.useSensor(k.MouseSensor,{activationConstraint:{distance:h.DND_ACTIVATION_DISTANCE}}),k.useSensor(k.TouchSensor,{activationConstraint:{distance:h.DND_ACTIVATION_DISTANCE}})),rs={easing:h.DROP_ANIMATION_EASING,duration:h.DROP_ANIMATION_DURATION};function ns(){return!Ge?.length||!pe?A:Ge.reduce((e,t)=>(e[t]=A.filter(r=>r.original?.type===t),e),{})}ft.current=ns;const as=e=>{const{active:t}=e;De(A.find(r=>r.original?.id===t?.id)??null)},cs=e=>{const{active:t,over:r}=e;r&&(ae?.checkDndDragEnd&&ae.checkDndDragEnd(t,r,Al,n=>{st(n),rt(!0),ae.onDragSuccess?.({draggedId:t.id,droppedId:r.id,draggedType:t.data.current?.type,droppedType:r.data.current?.type,updatedList:n,cb:()=>rt(!1)})}),De(null))},os=()=>De(null),is=e=>{!m?.onSort&&!a?.onFilter||oe(lt===e?null:e)},us=e=>{yl(e),Ol(!Tl),oe(null)},Ve=l.useCallback(()=>{m?.onRemoveSort?m.onRemoveSort():m?.onSort&&m.onSort("","")},[m]),Se=l.useCallback((e=null)=>{et(e),ke(t=>e?!0:!t)},[]),Pe=l.useCallback(()=>Ke(e=>!e),[]),ds=()=>{const e=xe[0]?.headers?.filter(t=>t?.visible!==!1);for(let t=0;t<e.length;t++)if(e[t].sticky)return t-1;return e.length-1},hs=l.useCallback(e=>{let t=0;for(let r=e+1;r<U.length;r++)U[r].visible!==!1&&(t+=U[r].width??0);return ce&&(t+=je||h.ROW_ADDITIONAL_ACTIONS_DEFAULT_WIDTH),C&&(t+=We?0:h.ROW_OPTIONS_COLUMN_WIDTH),t},[U,je,We,ce,C]),jt=()=>{const e=o?.getUserId?.();return{...p||{},name:p?.name||"Untitled View",created_by:p?.created_by||e,filters:p?.filters||a?.columnFilters,id:p?.id||"untitled-view",table_key:p?.table_key||_,columns:p?.columns||j?.map((t,r)=>({name:t.Header,width:t.width,visible:t.visible,sticky:t.sticky,order:r+1,display_name:t.Header,sequence:r+1,Header:t.Header}))}};mt.current=jt;const ms=(e,t)=>{const r=jt();W({...r,columns:r?.columns?.map(n=>n.name===e?{...n,width:t}:n),unsaved:!0})};l.useEffect(()=>{a?.columnFilters?.length>0&&ke(!0);const e=Ie.current;if(JSON.stringify(e?.filters||[])!==JSON.stringify(a?.columnFilters||[])){const t=(e?.filters?.length??0)>0,r=a?.columnFilters?.length>0;if(!(t&&!r&&!de.current)){const c=mt.current();W({...c,filters:JSON.parse(JSON.stringify(a?.columnFilters||[])),unsaved:!0})}de.current=!1}},[a?.columnFilters]);const fs=l.useCallback(e=>{de.current=!0,a?.onRemoveFilter?.(e)},[a?.onRemoveFilter]),vs=l.useCallback(()=>{de.current=!0,a?.onClearFilter?.()},[a?.onClearFilter]);l.useEffect(()=>{m?.columnSort?.field?(Ke(!0),m.columnSort.order==="asc"?(ie(m.columnSort.field),ue(null)):m.columnSort.order==="desc"&&(ue(m.columnSort.field),ie(null))):(ie(null),ue(null))},[m?.columnSort?.field,m?.columnSort?.order]),l.useEffect(()=>{Ae(kt.mergeViewColumnsWithTableColumns(Ie.current?.columns||[],j))},[j]),l.useEffect(()=>{p?.unsaved&&ut.current?.persistTableView?.(p)},[p]),l.useEffect(()=>{st(ft.current())},[A.length]),l.useEffect(()=>{W(O||null),O?.columns&&Ae(kt.mergeViewColumnsWithTableColumns(O?.columns||[],dt.current)),O?.filters&&O.filters.length>0&&!ge.current?(requestAnimationFrame(()=>{he.current?.onFilter?.(O.filters)}),ge.current=!0):O?.filters&&ge.current&&JSON.stringify(O.filters)!==JSON.stringify(he.current?.columnFilters)&&he.current?.onFilter?.(O.filters)},[O]),l.useEffect(()=>{if(_e.current){const e=new ResizeObserver(t=>_l(t[0].contentRect.width));return e.observe(_e.current),()=>e.disconnect()}},[]),l.useEffect(()=>{if(!Me.current)return;const e=new ResizeObserver(t=>{const{width:r,height:n}=t[0].contentRect;Ml({width:r,height:n})});return e.observe(Me.current),()=>e.disconnect()},[]);const yt=s.jsx(Rs.Head,{isResizable:Ut,headerGroups:xe,isCheckbox:pl,checkboxConfig:Ot,isAllChecked:El,showHeaderOptions:lt??"",setShowHeaderOptions:oe,isShowSortArrowAsc:kl,isShowSortArrowDesc:Nl,onSort:m?.onSort,onFilter:a?.onFilter,toggleHeaderOption:is,setIsShowSortArrowAsc:ie,setIsShowSortArrowDesc:ue,toggleDataFilterModal:Se,rowOptions:Array.isArray(C)?C:[],isColumnConfigurable:le??!1,onAddColumnClick:se,onEditColumnClick:Ue,onDeleteColumnClick:Je,tableActions:qe||null,isLoading:te,rowAdditionalActions:ce??null,showPendingEditsColumn:P>0}),Et=s.jsxs(s.Fragment,{children:[Dl||sl?s.jsx("div",{className:"absolute left-0 top-0 w-full h-full z-40 flex items-center justify-center bg-neutral-100 dark:bg-black-700"}):null,s.jsx("div",{...pt(),className:"w-full text-sm text-left text-neutral-500 dark:text-neutral-200 h-full bg-white dark:bg-black-800",children:tt?s.jsxs("div",{className:"z-10",children:[yt,s.jsx("div",{className:"absolute w-full",children:o?.renderEmpty?o.renderEmpty(Yl):s.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-[12rem] text-neutral-900 dark:text-neutral-200 mt-8",children:[$e&&!q?s.jsx(Ns.NoDataFoundWidgets,{widgetType:"TABLE"}):s.jsx(As.NoDataFound,{text:Ql}),le&&!q?s.jsx("div",{className:"my-4",children:s.jsxs(Nt,{id:"btn-table-shell-create-column",status:"primary",appearance:"ghost",onClick:se,children:[s.jsx(Ds.Add2Icon,{className:"text-white dark:text-white"})," ",Zl]})}):null,!q&&ze?.map((e,t)=>s.jsx(Nt,{status:"secondary",id:Ms(e.label,t),onClick:e.onClick,children:o?.t?.(e.label)??e.label},`${e.label}-${t}`))]})})]}):s.jsx(_s,{style:{width:"100%",height:"100%"},renderProp:({width:e,height:t})=>{const r=e>0?e:nt.width,n=t>0?t:nt.height;return r>0&&n>0?s.jsx(Os.Body,{getTableBodyProps:Ft,rows:A,prepareRow:Tt,isLoading:te,onScroll:It,onScrolling:Bt,columns:j,width:r,height:n,withSortable:pe,allowAstarSearch:T?.allowAStarSearch||!1}):null}})})]}),xs=l.forwardRef((e,t)=>s.jsxs("div",{className:"h-full w-full",...e,ref:t,children:[yt,s.jsx("div",{className:"relative w-full h-full",children:e?.children})]})),Ss=l.forwardRef((e,t)=>s.jsx("div",{className:"h-full w-full",...e,ref:t,children:s.jsx("div",{className:"relative w-full h-full",children:e?.children})})),Ce=l.useMemo(()=>o?.renderTableHeader?o.renderTableHeader({tableKey:_,search:T?.search,handleSearch:T?.handleSearch,toggleShowFilters:Se,toggleShowSorts:Pe,filterCounts:a?.columnFilters?.length,columns:j,columnFilters:a?.columnFilters,setSelectedTableView:W,selectedTableView:p,enableTableView:u?.showTableView,modelName:J,enableMasterDataEnumSuggestions:G,onRemoveFilter:a?.onRemoveFilter,onClearFilter:a?.onClearFilter,onFilter:a?.onFilter,data:ee??f,tableHeaders:S,showTableViewAsModal:u?.showTableViewAsModal,additionalOptions:u?.additionalOptions,inlineActions:u?.inlineActions,showFilters:u?.showFilters,showSorts:u?.showSorts,showSearch:u?.showSearch,isLoading:!!u?.isLoading,setTableHeaders:Ae,allowAStarSearch:!!T?.allowAStarSearch,withContent:!!u?.content,setShowFilters:ke,sort:m?.columnSort,onSort:m?.onSort,onRemoveSort:Ve,showExportButton:u?.showExportButton,agreementCategoryId:X,agreementDomainId:Y,agreementId:Z,modificationId:Q,lineItemRowId:K}):null,[_,T?.search,T?.handleSearch,Se,Pe,a?.columnFilters,j,W,p,u,J,a?.onRemoveFilter,a?.onClearFilter,a?.onFilter,f,ee,S,m?.columnSort,m?.onSort,Ve,o,T?.allowAStarSearch,G,X,Y,Z,Q,K]);return l.useEffect(()=>{Oe&&Oe(Ce)},[Ce,Oe]),s.jsxs(ys.TableContext.Provider,{value:{tableWrapper:xs,tableBodyWrapper:Ss,lastNonStickyColumnIndex:ds,search:T?.search,columnFilters:a?.columnFilters,onRowClick:gt,onSort:m?.onSort,onFilter:a?.onFilter,toggleShowFilters:Se,toggleShowSorts:Pe,onRemoveFilter:a?.onRemoveFilter,onClearFilter:a?.onClearFilter,rowOptions:C,checkboxConfig:Ot,onResetFilter:a?.onResetFilter,isColumnConfigurable:le,onAddColumnClick:se,onEditColumnClick:Ue,onDeleteColumnClick:Je,onRowTooltipClick:Vt,tooltiptext:Pt,cascadingTableConfig:Ct,activeInlineEdit:Ll,setActiveInlineEdit:B,originalsOnly:qt,disableOptionsForRowIndex:Wt,getFullRowDataOnClick:Ht,selectedRowId:$t,getSumOfNextVisibleColumnWidth:hs,onRowEdit:N,inlineEditColumns:zt,tableActions:qe,dndSortableUtils:ae,withSortable:pe,withDraggable:Jt,onCascadingRowExpand:Yt,getInnerRowData:Zt,tableHeaders:S,maxLevel:Qt,expandedRows:Kt,setExpandedRows:el,showNewItem:tl,rawData:Ye,dragConfig:ll,rowWrapper:nl,rowLinkConfig:al,isCellClickDisabled:cl,asyncRowOptionsFilter:a?.asyncRowOptionsFilter,handleUpdateColumnWidth:ms,multiSelectConfig:il,headerContextOptions:ul,showHeaderContextOptions:dl,setShowHeaderContextOptions:hl,headerDivWidth:y,showDataTypeIcon:ml,rowAdditionalActions:ce,hoverConfig:Lt,rowAdditionalActionsWidth:je,cellEditing:fl,cellEditingValue:vl,openMasterDataModal:Hl,closeMasterDataModal:fe,selectedMasterData:gl,clearSelectedMasterData:zl,allowInlineEdit:xl,openCurrencyDropdown:Ul,closeCurrencyDropdown:bt,currencyDropdownConfig:ot,selectedCurrenciesMap:Le,setCurrencyForCell:Jl,getCurrencyForCell:Gl,pendingEdits:d,addPendingEdit:Be,removePendingEdit:Il,getPendingEdit:Bl,hasPendingEdit:Vl,clearAllPendingEdits:xt,saveAllPendingEdits:St,clearRowPendingEdits:Pl,saveRowPendingEdits:Cl,pendingEditsCount:P,scrollToCell:V,onFieldOperationFlow:Sl,fieldOperationLoading:g,validateAllPendingEdits:z},children:[we?s.jsxs("div",{ref:_e,className:`mb-2 flex w-full min-w-0 gap-2 dark:bg-black-800 ${y<h.TOOLBAR_FIRST_BREAKPOINT?"flex-col items-stretch":"flex-row items-center"}`,children:[s.jsxs("div",{className:`flex items-center gap-x-2 gap-y-1 ${y<h.TOOLBAR_FIRST_BREAKPOINT?"w-full flex-wrap":""} ${u?.content?"min-w-0 flex-1":"shrink-0"}`,children:[u?.content?s.jsx("div",{className:`min-w-0 ${y<h.TOOLBAR_FIRST_BREAKPOINT?"w-full":"flex-1"}`,children:u.content}):null,Fe?s.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-neutral-500 dark:text-neutral-400 flex-shrink-0","aria-hidden":!0,children:[s.jsx("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),s.jsx("path",{d:"M3 5v4c0 1.66 4.03 3 9 3s9-1.34 9-3V5"}),s.jsx("path",{d:"M3 9v4c0 1.66 4.03 3 9 3s9-1.34 9-3V9"}),s.jsx("path",{d:"M3 13v4c0 1.66 4.03 3 9 3s9-1.34 9-3v-4"})]}),s.jsx(be.Typography,{size:"small",variant:"semibold",appearance:"title",children:(Xe??f.length).toLocaleString()}),s.jsx(be.Typography,{size:"small",variant:"regular",appearance:"subtitle",children:"total records"})]}):u?.preContent?s.jsx("div",{className:"flex min-w-0 shrink-0 justify-start items-center",children:u.preContent}):null]}),s.jsxs("div",{className:`flex min-w-0 items-center justify-end ${y<h.TOOLBAR_FIRST_BREAKPOINT?"w-full":u?.content?"shrink-0":"flex-1"} ${y<h.TOOLBAR_SECOND_BREAKPOINT?"flex-col":"flex-row"} ${u?.postContent?"gap-2":""}`,children:[Fe&&u?.preContent?s.jsx("div",{className:"flex w-full justify-start items-center",children:u.preContent}):null,s.jsx("div",{className:`flex justify-end items-center min-w-0 ${y<h.TOOLBAR_SECOND_BREAKPOINT||y<h.TOOLBAR_FIRST_BREAKPOINT?"w-full":""}`,children:Ce}),u?.postContent?s.jsx("div",{className:`flex justify-end items-center ${y<h.TOOLBAR_SECOND_BREAKPOINT?"w-full":""}`,children:u.postContent}):null]})]}):null,u?.showDivider?s.jsx("div",{className:"border-b pb-2 w-full dark:bg-black-800"}):null,Re||Ne?s.jsx("div",{className:"flex justify-between items-center pb-4 dark:bg-black-800",children:s.jsxs("div",{className:"flex gap-2 items-center",children:[Ne&&o?.renderSortItem?o.renderSortItem({sort:m?.columnSort,onRemoveSort:Ve,onSort:m?.onSort,tableHeaders:S,data:f}):null,Re&&Ne&&m?.columnSort?.field!==""?s.jsx("div",{className:"h-8 w-[1px] flex-shrink-0 bg-neutral-200"}):null,Re?s.jsxs("div",{className:"flex gap-2 items-center",children:[(Qe||a?.onResetFilter)&&o?.renderActiveFilters&&o.renderActiveFilters({filters:a?.columnFilters,onRemoveFilter:fs,onClearFilter:vs,onResetFilter:a?.onResetFilter,onFilter:a?.onFilter,tableHeaders:S,columnFilters:a?.columnFilters,modelName:J,enableMasterDataEnumSuggestions:G,noSpacing:!0,notionStyle:a?.notionStyle,context:a?.context,data:ee??f,agreementCategoryId:X,agreementDomainId:Y,agreementId:Z,modificationId:Q,lineItemRowId:K}),o?.renderFilterButtons&&o.renderFilterButtons({onClearFilter:a?.onClearFilter,onClose:us,modelName:J,enableMasterDataEnumSuggestions:G,defaultFilterColumn:Fl,resetDefaultFilterColumn:()=>et(null),column:jl,onFilter:a?.onFilter,tableHeaders:S,columnFilters:a?.columnFilters,data:ee??f,notionStyle:a?.notionStyle,context:a?.context,agreementCategoryId:X,agreementDomainId:Y,agreementId:Z,modificationId:Q,lineItemRowId:K})]}):null]})}):null,Te&&Object.keys(Te).length?s.jsx(ps.FloatingBar,{...Te}):null,!we&&Fe?s.jsxs("div",{className:"flex items-center gap-1.5 mb-2",children:[s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-neutral-500 dark:text-neutral-400 flex-shrink-0","aria-hidden":!0,children:[s.jsx("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),s.jsx("path",{d:"M3 5v4c0 1.66 4.03 3 9 3s9-1.34 9-3V5"}),s.jsx("path",{d:"M3 9v4c0 1.66 4.03 3 9 3s9-1.34 9-3V9"}),s.jsx("path",{d:"M3 13v4c0 1.66 4.03 3 9 3s9-1.34 9-3v-4"})]}),s.jsx(be.Typography,{size:"small",variant:"semibold",appearance:"title",children:(Xe??f.length).toLocaleString()}),s.jsx(be.Typography,{size:"small",variant:"regular",appearance:"subtitle",children:"total records"})]}):!we&&u?.preContent?s.jsx("div",{className:"flex items-center mb-2",children:u.preContent}):null,s.jsx("div",{ref:Me,className:`w-full ${ne?"h-auto":re} rounded-lg relative border overflow-x-hidden`,style:{...ne?{height:f?.length>0?`${(f?.length+1)*bl+4}px`:"350px"}:{height:Xl},...rl},children:Gt?Et:s.jsxs(k.DndContext,{sensors:ss,onDragEnd:cs,onDragStart:as,onDragCancel:os,collisionDetection:k.closestCorners,children:[Et,H?Ts.createPortal(s.jsx(k.DragOverlay,{adjustScale:!0,dropAnimation:rs,children:s.jsx("table",{...pt(),className:"w-full text-sm text-left text-neutral-500 dark:text-neutral-200 bg-white dark:bg-black-700 table-auto border-collapse",children:s.jsxs("tbody",{...Ft(),className:"bg-transparent divide-y divide-neutral-200",children:[void Tt(H),s.jsx(js.Row,{row:H,index:A?.findIndex(e=>e.id===H.original.id)},H.original.id)]})})}),document.getElementById("full-screen-container")||document.body):null]})}),ne&&o?.renderPagination?o.renderPagination(ne):null,o?.renderMasterDataModal&&o.renderMasterDataModal({isVisible:!!E,onSelected:$l,onClose:fe,masterDataColumnName:E?.masterDataColumnName,masterDataFilters:E?.masterDataFilters,masterDataName:E?.masterDataName,masterDataId:E?.masterDataName,showFilters:!0}),s.jsx(Es.CurrencyDropdownPortal,{config:ot,onClose:bt}),s.jsx(ks.PendingEditsFloatingBar,{pendingEditsCount:P,pendingEditsList:ql,rowsWithPendingEdits:Wl,fieldOperationLoading:g,onClearAll:xt,onSaveAll:St,onScrollToCell:V})]})});exports.InfiniteTable=Ls;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),ws=require("../../../hooks/useCheckbox.cjs.js"),ps=require("../../../providers/design-system-provider/hooks.cjs.js"),We=require("../../../utils/table.cjs.js"),At=require("../../button/Button.cjs.js"),Fs=require("../../floating-bar/FloatingBar.cjs.js"),we=require("../typography/Typography.cjs.js"),k=require("@dnd-kit/core"),l=require("react"),Ts=require("react-virtualized-auto-sizer"),Os=require("react-dom"),Dt=require("react-table"),ys=require("./body/index.cjs.js"),_t=require("./validateCell.cjs.js"),Rs=require("./body/rows/row.cjs.js"),js=require("./context.cjs.js"),Es=require("./CurrencyDropdownPortal.cjs.js"),ks=require("./head/index.cjs.js"),Ns=require("./PendingEditsFloatingBar.cjs.js"),h=require("./constants.cjs.js"),Mt=require("./useRowHeight.cjs.js"),As=require("../empty-state/NoDataFoundWidgets.cjs.js"),Ds=require("../empty-state/NoDataFound.cjs.js"),_s=require("../../icon/icons.generated.cjs.js"),Ms=Ts.AutoSizer,Lt="Create Column",Ls=(M,T)=>`button-admin-${M.toLowerCase().trim().replace(/\s+/g,"-").replace(/[^a-z0-9-_]/g,"")||T}`,gs=l.memo(({tableKey:M,searchConfig:T={search:"",handleSearch:()=>null,allowAStarSearch:!1},filterConfig:a={columnFilters:[],onFilter:()=>null,onRemoveFilter:()=>null,onClearFilter:()=>null,onResetFilter:()=>Promise.resolve({}),asyncRowOptionsFilter:()=>Promise.resolve({})},sortConfig:m={onSort:()=>null,columnSort:{field:"",order:""},onRemoveSort:()=>null},headerConfig:u={showExportButton:null,showFilters:!0,showSorts:!0,showSearch:!0,showTableView:!0,showTableViewAsModal:!1,content:null,postContent:null,preContent:null,isLoading:!1,showDivider:!1},hoverConfig:gt=null,columns:y,modelName:G,enableMasterDataEnumSuggestions:X=!1,agreementCategoryId:Y,agreementDomainId:Z,agreementId:Q,modificationId:K,lineItemRowId:ee,enumSuggestionsData:te,data:f=[],onRowClick:It,showHeader:pe,tableActions:He,rowOptions:q,hideRowOptionWidth:$e,checkboxUtilities:L,isLoading:le=!1,onScroll:Vt,onScrolling:Bt,isColumnConfigurable:se,onAddColumnClick:re,emptyMessage:ze,noDataWidget:Ue,buttons:Je,onEditColumnClick:Ge,onDeleteColumnClick:Xe,onRowTooltipClick:Pt,tooltiptext:Ct,cascadingTableConfig:qt,originalsOnly:Wt,disableOptionsForRowIndex:Ht,tableHeightClass:ne="h-[calc(100vh-220px)]",getFullRowDataOnClick:$t,selectedRowId:zt=null,onRowEdit:N,onBulkRowEdit:g,inlineEditColumns:Ut,isResizable:Jt=!0,paginationConfig:ae,dndSortableUtils:ce,multipleContexts:Ye,withSortable:Fe,withDraggable:Gt,enableRootDrag:Xt,pageSize:Yt=h.DEFAULT_PAGE_SIZE,onCascadingRowExpand:Zt,totalItems:Ze,showRecordCount:Te=!1,getInnerRowData:Qt,maxLevel:Kt,expandedRows:el={},setExpandedRows:tl,showNewItem:ll,rawData:Qe,dragConfig:sl,isOverlayLoading:rl,style:nl={},floatingBarConfig:Oe,rowWrapper:al,rowLinkConfig:cl,isCellClickDisabled:ol,setHeaderOnParent:ye,optimizeTable:il=!1,multiSelectConfig:ul,headerContextOptions:dl,showHeaderContextOptions:hl,setShowHeaderContextOptions:ml,showDataTypeIcon:fl=!1,rowAdditionalActions:oe,rowAdditionalActionsWidth:Re,setVisibleHeaders:je,cellEditing:vl=null,cellEditingValue:xl=null,allowInlineEdit:Sl=!1,onFieldOperationFlow:bl,fieldOperationLoading:I=null,onTableActionsReady:Ee,onPendingEditsChange:Ke,onCancelPendingEdits:V})=>{const o=ps.useTableConfig(),wl=Mt.getRowSlotHeight(Mt.useRowHeight()),pl=!!T?.search,et=a?.columnFilters?.length>0,W=pl||et,Fl=!!L,O=o?.getTableView?.(M)??null,[p,H]=l.useState(O||null),A=!We.canEditTableView(p,o?.getUserId?.()),[ke,Ne]=l.useState(!1),[Ae,tt]=l.useState(!1),[Tl,lt]=l.useState(null),[S,De]=l.useState(y),st=(f.length===0||!S.length)&&!le,[rt,ie]=l.useState(null),[Ol,yl]=l.useState(!1),[Rl,jl]=l.useState(null),[El,kl]=l.useState(!1),[Nl,ue]=l.useState(null),[Al,de]=l.useState(null),[Dl,nt]=l.useState({}),[$,_e]=l.useState(null),[_l,at]=l.useState(!1),[R,Ml]=l.useState(0),Me=l.useRef(null),Le=l.useRef(null),[ct,Ll]=l.useState({width:0,height:0}),[gl,B]=l.useState(null),[j,ot]=l.useState(null),[Il,it]=l.useState(null),[ut,dt]=l.useState(null),[ge,z]=l.useState({}),Ie=l.useRef(!1),he=l.useRef(!1),Ve=l.useRef(p);Ve.current=p;const ht=l.useRef(o);ht.current=o;const mt=l.useRef(y);mt.current=y;const me=l.useRef(a);me.current=a;const ft=l.useRef(null),vt=l.useRef(()=>({})),xt=l.useRef(()=>({})),[d,E]=l.useState({}),Be=l.useCallback((e,t,r)=>{E(n=>{const c=n[e]?.[t];let i=r.validationError;if(i===void 0){const b=S.find(v=>v.key===t);if(b){const v=_t.validateCellValue(r.value,b);i=v.isValid?null:v.error||"Invalid"}else i=c?.validationError??null}return{...n,[e]:{...n[e]||{},[t]:{...r,validationError:i??null}}}})},[S]),St=l.useCallback(()=>Object.values(d).some(e=>Object.keys(e).length>0),[d]);l.useEffect(()=>{Ee&&Ee({addPendingEdit:Be,hasPendingEdits:St})},[Ee,Be,St]);const Vl=l.useCallback((e,t)=>{E(r=>{const n={...r};if(n[e]){const{[t]:c,...i}=n[e];Object.keys(i).length===0?delete n[e]:n[e]=i}return n})},[]),Bl=l.useCallback((e,t)=>d[e]?.[t],[d]),Pl=l.useCallback((e,t)=>!!d[e]?.[t],[d]),bt=l.useCallback(()=>{I||(V&&Object.keys(d).length>0&&V(d),E({}),z({}),B(null))},[I,V,d]),P=l.useCallback((e,t,r)=>{setTimeout(()=>{o?.dispatchEvent?.("SCROLL_TO_TABLE_ROW",{rowIndex:r});const n=S.findIndex(c=>c.key===t);setTimeout(()=>{const c=document.querySelector(`[${h.DATA_ROW_ID_ATTR}="${e}"] [${h.DATA_COLUMN_KEY_ATTR}="${t}"]`);if(c)c.scrollIntoView({behavior:"smooth",block:"center",inline:"center"});else if(n>0){const i=document.querySelector(h.OS_VIEWPORT_SELECTOR);if(i){let b=0;for(let v=0;v<n;v++){const F=S[v];F?.sticky||(b+=F?.width||h.SCROLL_TO_CELL_COLUMN_WIDTH_FALLBACK)}b=Math.max(0,b-h.SCROLL_TO_CELL_LEFT_OFFSET),i.scrollTo({left:b,behavior:"smooth"})}}B({rowId:e,columnKey:t})},350)},100)},[S,o]),U=l.useCallback(e=>{let t=!1,r=null;const n={},c=new Set;return Object.entries(e).forEach(([i,b])=>{n[i]={},Object.entries(b).forEach(([v,F])=>{const _=S.find(w=>w.key===v),x=_t.validateCellValue(F.value,_);x.isValid?n[i][v]={...F,validationError:null}:(t=!0,x.error&&c.add(x.error),r||(r={rowId:i,columnKey:v}),n[i][v]={...F,validationError:x.error})})}),{hasErrors:t,updatedEdits:n,firstError:r,errorTypes:c}},[S]),fe=l.useCallback(e=>{const t=e.has("Field required"),r=e.size>(t?1:0);return t&&r?"Missing required field(s) and invalid format detected. Please review highlighted field(s).":t?"Missing required field(s). Please review highlighted field(s).":"Invalid field value(s). Please review highlighted field(s)."},[]),wt=l.useCallback(()=>{const{hasErrors:e,updatedEdits:t,firstError:r,errorTypes:n}=U(d);if(e){if(E(t),o?.showNotification?.("error",fe(n)),r){const i=f.findIndex(b=>b.id===r.rowId);P(r.rowId,r.columnKey,i)}return}const c=[];Object.entries(d).forEach(([i,b])=>{const v=f.find(F=>F.id===i);if(v){const F={...v},_={};Object.entries(b).forEach(([x,w])=>{F[x]=w.value,_[x]={value:w.value,meta:w.meta}}),c.push({...F,__editedFields:_})}}),c.length>0&&(g?g(c):N&&N(null,null,null,null,null,{isBulk:!0,rows:c})),E({}),z({}),B(null)},[d,f,N,g,U,fe,P,o]),Cl=l.useCallback(e=>{if(I)return;const t=d[e];t&&V&&V({[e]:t}),E(r=>{const n={...r};return delete n[e],n}),z(r=>{const n={...r};return Object.keys(n).forEach(c=>{c.startsWith(`${e}-`)&&delete n[c]}),n}),B(null)},[I,V,d]),ql=l.useCallback(e=>{const t=d[e];if(!t||Object.keys(t).length===0)return;const{hasErrors:r,updatedEdits:n,firstError:c,errorTypes:i}=U({[e]:t});if(r){if(E(x=>({...x,[e]:n[e]})),o?.showNotification?.("error",fe(i)),c){const x=f.findIndex(w=>w.id===c.rowId);P(c.rowId,c.columnKey,x)}return}const b=f.find(x=>x.id===e);if(!b)return;const v={...b},F={};Object.entries(t).forEach(([x,w])=>{v[x]=w.value,F[x]={value:w.value,meta:w.meta}});const _={...v,__editedFields:F};g?g([_]):N&&N(null,null,null,null,null,{isBulk:!0,rows:[_]}),E(x=>{const w={...x};return delete w[e],w}),z(x=>{const w={...x};return Object.keys(w).forEach(Nt=>{Nt.startsWith(`${e}-`)&&delete w[Nt]}),w}),B(null)},[d,f,N,g,U,fe,P,o]),C=l.useMemo(()=>Object.values(d).reduce((e,t)=>e+Object.keys(t).length,0),[d]);l.useEffect(()=>{Ke?.(C>0,C)},[C,Ke]);const Wl=l.useMemo(()=>{const e=[];return Object.entries(d).forEach(([t,r])=>{const n=f.findIndex(c=>c.id===t);Object.entries(r).forEach(([c,i])=>{const b=S.find(v=>v.key===c);e.push({rowId:t,columnKey:c,fieldName:b?.Header||b?.display_name||c,value:i.value,originalValue:i.originalValue,meta:i.meta,originalMeta:i.originalMeta,rowIndex:n})})}),e},[d,S,f]),Hl=l.useMemo(()=>{const e=new Map;return Object.entries(d).forEach(([t,r])=>{const n=f.findIndex(c=>c.id===t);e.set(t,{rowId:t,rowIndex:n,editCount:Object.keys(r).length})}),Array.from(e.values()).sort((t,r)=>t.rowIndex-r.rowIndex)},[d,f]),$l=l.useCallback(e=>ot(e),[]),ve=l.useCallback(()=>ot(null),[]),zl=l.useCallback((e,t)=>{it({value:e,reference:t}),j?.onSelected&&j.onSelected(e,t),ve()},[j,ve]),Ul=l.useCallback(()=>it(null),[]),Jl=l.useCallback(e=>dt(e),[]),pt=l.useCallback(()=>dt(null),[]),Gl=l.useCallback((e,t)=>{z(r=>({...r,[e]:t}))},[]),Xl=l.useCallback(e=>ge[e],[ge]),Yl=l.useMemo(()=>{const e=ne.match(/h-\[(\d+px)\]/);if(e)return e[1];const t=ne.match(/h-\[(calc\(.+\))\]/);if(t)return t[1].replace(/([+-])/g," $1 ").replace(/\s+/g," ")},[ne]),Zl={isEmpty:st,isFilters:W,isColumnConfigurable:se,handleOnClick:re,emptyMessage:ze,buttons:Je,noDataWidget:Ue},Ql=o?.t?.(Lt)??Lt,xe=W?"No Results Found":ze||"No Data Found",Kl=typeof xe=="string"?o?.t?.(xe)??xe:xe,Ft={__isLoading:!0},es=new Array(1).fill(Ft),ts=new Array(Yt).fill(Ft),J=l.useMemo(()=>S.filter(e=>!!e?.visible),[S]),ls=Dt.useTable({columns:il?J:S,data:[...f,...le?f?.length?es:ts:[]],defaultColumn:{minWidth:h.DEFAULT_COLUMN_MIN_WIDTH,width:h.DEFAULT_COLUMN_WIDTH,maxWidth:h.DEFAULT_COLUMN_MAX_WIDTH}},Dt.useResizeColumns),{getTableProps:Tt,getTableBodyProps:Ot,headerGroups:Se,prepareRow:yt,rows:D}=ls;ft.current=Se;const ss=JSON.stringify(Se[0]?.headers?.map(e=>e?.Header));l.useEffect(()=>{if(je){const e=ft.current;je?.(e?.[0]?.headers?.map(t=>t?.Header)??[])}},[ss,je]);const{checkboxConfig:Rt}=ws.useCheckbox({rows:D,checkedIds:L?.checkedIds,isCheckAllDisabled:L?.isCheckAllDisabled,selectionDisabledRowIds:L?.selectionDisabledRowIds,rawData:Qe,onAllChecked:kl,setCheckedIds:L?.setCheckedIds,checkboxMetadata:L?.checkboxMetadata}),rs=k.useSensors(k.useSensor(k.MouseSensor,{activationConstraint:{distance:h.DND_ACTIVATION_DISTANCE}}),k.useSensor(k.TouchSensor,{activationConstraint:{distance:h.DND_ACTIVATION_DISTANCE}})),ns={easing:h.DROP_ANIMATION_EASING,duration:h.DROP_ANIMATION_DURATION};function as(){return!Ye?.length||!Fe?D:Ye.reduce((e,t)=>(e[t]=D.filter(r=>r.original?.type===t),e),{})}xt.current=as;const cs=e=>{const{active:t}=e;_e(D.find(r=>r.original?.id===t?.id)??null)},os=e=>{const{active:t,over:r}=e;r&&(ce?.checkDndDragEnd&&ce.checkDndDragEnd(t,r,Dl,n=>{nt(n),at(!0),ce.onDragSuccess?.({draggedId:t.id,droppedId:r.id,draggedType:t.data.current?.type,droppedType:r.data.current?.type,updatedList:n,cb:()=>at(!1)})}),_e(null))},is=()=>_e(null),us=e=>{!m?.onSort&&!a?.onFilter||ie(rt===e?null:e)},ds=e=>{jl(e),yl(!Ol),ie(null)},Pe=l.useCallback(()=>{m?.onRemoveSort?m.onRemoveSort():m?.onSort&&m.onSort("","")},[m]),be=l.useCallback((e=null)=>{lt(e),Ne(t=>e?!0:!t)},[]),Ce=l.useCallback(()=>tt(e=>!e),[]),hs=()=>{const e=Se[0]?.headers?.filter(t=>t?.visible!==!1);for(let t=0;t<e.length;t++)if(e[t].sticky)return t-1;return e.length-1},ms=l.useCallback(e=>{let t=0;for(let r=e+1;r<J.length;r++)J[r].visible!==!1&&(t+=J[r].width??0);return oe&&(t+=Re||h.ROW_ADDITIONAL_ACTIONS_DEFAULT_WIDTH),q&&(t+=$e?0:h.ROW_OPTIONS_COLUMN_WIDTH),t},[J,Re,$e,oe,q]),jt=()=>{const e=o?.getUserId?.();return{...p||{},name:p?.name||"Untitled View",created_by:p?.created_by||e,filters:p?.filters||a?.columnFilters,id:p?.id||"untitled-view",table_key:p?.table_key||M,columns:p?.columns||y?.map((t,r)=>({name:t.Header,width:t.width,visible:t.visible,sticky:t.sticky,order:r+1,display_name:t.Header,sequence:r+1,Header:t.Header}))}};vt.current=jt;const fs=(e,t)=>{if(A)return;const r=jt();H({...r,columns:r?.columns?.map(n=>n.name===e?{...n,width:t}:n),unsaved:!0})};l.useEffect(()=>{if(a?.columnFilters?.length>0&&Ne(!0),A)return;const e=Ve.current;if(JSON.stringify(e?.filters||[])!==JSON.stringify(a?.columnFilters||[])){const t=(e?.filters?.length??0)>0,r=a?.columnFilters?.length>0;if(!(t&&!r&&!he.current)){const c=vt.current();H({...c,filters:JSON.parse(JSON.stringify(a?.columnFilters||[])),unsaved:!0})}he.current=!1}},[a?.columnFilters,A]);const vs=l.useCallback(e=>{he.current=!0,a?.onRemoveFilter?.(e)},[a?.onRemoveFilter]),xs=l.useCallback(()=>{he.current=!0,a?.onClearFilter?.()},[a?.onClearFilter]);l.useEffect(()=>{m?.columnSort?.field?(tt(!0),m.columnSort.order==="asc"?(ue(m.columnSort.field),de(null)):m.columnSort.order==="desc"&&(de(m.columnSort.field),ue(null))):(ue(null),de(null))},[m?.columnSort?.field,m?.columnSort?.order]),l.useEffect(()=>{De(We.mergeViewColumnsWithTableColumns(Ve.current?.columns||[],y))},[y]),l.useEffect(()=>{p?.unsaved&&ht.current?.persistTableView?.(p)},[p]),l.useEffect(()=>{nt(xt.current())},[D.length]),l.useEffect(()=>{H(O||null),O?.columns&&De(We.mergeViewColumnsWithTableColumns(O?.columns||[],mt.current)),O?.filters&&O.filters.length>0&&!Ie.current?(requestAnimationFrame(()=>{me.current?.onFilter?.(O.filters)}),Ie.current=!0):O?.filters&&Ie.current&&JSON.stringify(O.filters)!==JSON.stringify(me.current?.columnFilters)&&me.current?.onFilter?.(O.filters)},[O]),l.useEffect(()=>{if(Me.current){const e=new ResizeObserver(t=>Ml(t[0].contentRect.width));return e.observe(Me.current),()=>e.disconnect()}},[]),l.useEffect(()=>{if(!Le.current)return;const e=new ResizeObserver(t=>{const{width:r,height:n}=t[0].contentRect;Ll({width:r,height:n})});return e.observe(Le.current),()=>e.disconnect()},[]);const Et=s.jsx(ks.Head,{isResizable:Jt,headerGroups:Se,isCheckbox:Fl,checkboxConfig:Rt,isAllChecked:El,showHeaderOptions:rt??"",setShowHeaderOptions:ie,isShowSortArrowAsc:Nl,isShowSortArrowDesc:Al,onSort:m?.onSort,onFilter:a?.onFilter,toggleHeaderOption:us,setIsShowSortArrowAsc:ue,setIsShowSortArrowDesc:de,toggleDataFilterModal:be,rowOptions:Array.isArray(q)?q:[],isColumnConfigurable:se??!1,onAddColumnClick:re,onEditColumnClick:Ge,onDeleteColumnClick:Xe,tableActions:He||null,isLoading:le,rowAdditionalActions:oe??null,showPendingEditsColumn:C>0}),kt=s.jsxs(s.Fragment,{children:[_l||rl?s.jsx("div",{className:"absolute left-0 top-0 w-full h-full z-40 flex items-center justify-center bg-neutral-100 dark:bg-black-700"}):null,s.jsx("div",{...Tt(),className:"w-full text-sm text-left text-neutral-500 dark:text-neutral-200 h-full bg-white dark:bg-black-800",children:st?s.jsxs("div",{className:"z-10",children:[Et,s.jsx("div",{className:"absolute w-full",children:o?.renderEmpty?o.renderEmpty(Zl):s.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-[12rem] text-neutral-900 dark:text-neutral-200 mt-8",children:[Ue&&!W?s.jsx(As.NoDataFoundWidgets,{widgetType:"TABLE"}):s.jsx(Ds.NoDataFound,{text:Kl}),se&&!W?s.jsx("div",{className:"my-4",children:s.jsxs(At,{id:"btn-table-shell-create-column",status:"primary",appearance:"ghost",onClick:re,children:[s.jsx(_s.Add2Icon,{className:"text-white dark:text-white"})," ",Ql]})}):null,!W&&Je?.map((e,t)=>s.jsx(At,{status:"secondary",id:Ls(e.label,t),onClick:e.onClick,children:o?.t?.(e.label)??e.label},`${e.label}-${t}`))]})})]}):s.jsx(Ms,{style:{width:"100%",height:"100%"},renderProp:({width:e,height:t})=>{const r=e>0?e:ct.width,n=t>0?t:ct.height;return r>0&&n>0?s.jsx(ys.Body,{getTableBodyProps:Ot,rows:D,prepareRow:yt,isLoading:le,onScroll:Vt,onScrolling:Bt,columns:y,width:r,height:n,withSortable:Fe,allowAstarSearch:T?.allowAStarSearch||!1}):null}})})]}),Ss=l.forwardRef((e,t)=>s.jsxs("div",{className:"h-full w-full",...e,ref:t,children:[Et,s.jsx("div",{className:"relative w-full h-full",children:e?.children})]})),bs=l.forwardRef((e,t)=>s.jsx("div",{className:"h-full w-full",...e,ref:t,children:s.jsx("div",{className:"relative w-full h-full",children:e?.children})})),qe=l.useMemo(()=>o?.renderTableHeader?o.renderTableHeader({tableKey:M,search:T?.search,handleSearch:T?.handleSearch,toggleShowFilters:be,toggleShowSorts:Ce,filterCounts:a?.columnFilters?.length,columns:y,columnFilters:a?.columnFilters,setSelectedTableView:H,selectedTableView:p,enableTableView:u?.showTableView,modelName:G,enableMasterDataEnumSuggestions:X,onRemoveFilter:a?.onRemoveFilter,onClearFilter:a?.onClearFilter,onFilter:a?.onFilter,data:te??f,tableHeaders:S,showTableViewAsModal:u?.showTableViewAsModal,additionalOptions:u?.additionalOptions,inlineActions:u?.inlineActions,showFilters:u?.showFilters,showSorts:u?.showSorts,showSearch:u?.showSearch,isLoading:!!u?.isLoading,setTableHeaders:De,allowAStarSearch:!!T?.allowAStarSearch,withContent:!!u?.content,setShowFilters:Ne,sort:m?.columnSort,onSort:m?.onSort,onRemoveSort:Pe,showExportButton:u?.showExportButton,agreementCategoryId:Y,agreementDomainId:Z,agreementId:Q,modificationId:K,lineItemRowId:ee}):null,[M,T?.search,T?.handleSearch,be,Ce,a?.columnFilters,y,H,p,u,G,a?.onRemoveFilter,a?.onClearFilter,a?.onFilter,f,te,S,m?.columnSort,m?.onSort,Pe,o,T?.allowAStarSearch,X,Y,Z,Q,K,ee]);return l.useEffect(()=>{ye&&ye(qe)},[qe,ye]),s.jsxs(js.TableContext.Provider,{value:{tableWrapper:Ss,tableBodyWrapper:bs,lastNonStickyColumnIndex:hs,search:T?.search,columnFilters:a?.columnFilters,onRowClick:It,onSort:m?.onSort,onFilter:a?.onFilter,toggleShowFilters:be,toggleShowSorts:Ce,onRemoveFilter:a?.onRemoveFilter,onClearFilter:a?.onClearFilter,rowOptions:q,checkboxConfig:Rt,onResetFilter:a?.onResetFilter,isColumnConfigurable:se,onAddColumnClick:re,onEditColumnClick:Ge,onDeleteColumnClick:Xe,onRowTooltipClick:Pt,tooltiptext:Ct,cascadingTableConfig:qt,activeInlineEdit:gl,setActiveInlineEdit:B,originalsOnly:Wt,disableOptionsForRowIndex:Ht,getFullRowDataOnClick:$t,selectedRowId:zt,getSumOfNextVisibleColumnWidth:ms,onRowEdit:N,inlineEditColumns:Ut,tableActions:He,dndSortableUtils:ce,withSortable:Fe,withDraggable:Gt,onCascadingRowExpand:Zt,getInnerRowData:Qt,tableHeaders:S,maxLevel:Kt,expandedRows:el,setExpandedRows:tl,showNewItem:ll,rawData:Qe,dragConfig:sl,rowWrapper:al,rowLinkConfig:cl,isCellClickDisabled:ol,asyncRowOptionsFilter:a?.asyncRowOptionsFilter,handleUpdateColumnWidth:fs,isTableViewReadOnly:A,multiSelectConfig:ul,headerContextOptions:dl,showHeaderContextOptions:hl,setShowHeaderContextOptions:ml,headerDivWidth:R,showDataTypeIcon:fl,rowAdditionalActions:oe,hoverConfig:gt,rowAdditionalActionsWidth:Re,cellEditing:vl,cellEditingValue:xl,openMasterDataModal:$l,closeMasterDataModal:ve,selectedMasterData:Il,clearSelectedMasterData:Ul,allowInlineEdit:Sl,openCurrencyDropdown:Jl,closeCurrencyDropdown:pt,currencyDropdownConfig:ut,selectedCurrenciesMap:ge,setCurrencyForCell:Gl,getCurrencyForCell:Xl,pendingEdits:d,addPendingEdit:Be,removePendingEdit:Vl,getPendingEdit:Bl,hasPendingEdit:Pl,clearAllPendingEdits:bt,saveAllPendingEdits:wt,clearRowPendingEdits:Cl,saveRowPendingEdits:ql,pendingEditsCount:C,scrollToCell:P,onFieldOperationFlow:bl,fieldOperationLoading:I,validateAllPendingEdits:U},children:[pe?s.jsxs("div",{ref:Me,className:`mb-2 flex w-full min-w-0 gap-2 dark:bg-black-800 ${R<h.TOOLBAR_FIRST_BREAKPOINT?"flex-col items-stretch":"flex-row items-center"}`,children:[s.jsxs("div",{className:`flex items-center gap-x-2 gap-y-1 ${R<h.TOOLBAR_FIRST_BREAKPOINT?"w-full flex-wrap":""} ${u?.content?"min-w-0 flex-1":"shrink-0"}`,children:[u?.content?s.jsx("div",{className:`min-w-0 ${R<h.TOOLBAR_FIRST_BREAKPOINT?"w-full":"flex-1"}`,children:u.content}):null,Te?s.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-neutral-500 dark:text-neutral-400 flex-shrink-0","aria-hidden":!0,children:[s.jsx("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),s.jsx("path",{d:"M3 5v4c0 1.66 4.03 3 9 3s9-1.34 9-3V5"}),s.jsx("path",{d:"M3 9v4c0 1.66 4.03 3 9 3s9-1.34 9-3V9"}),s.jsx("path",{d:"M3 13v4c0 1.66 4.03 3 9 3s9-1.34 9-3v-4"})]}),s.jsx(we.Typography,{size:"small",variant:"semibold",appearance:"title",children:(Ze??f.length).toLocaleString()}),s.jsx(we.Typography,{size:"small",variant:"regular",appearance:"subtitle",children:"total records"})]}):u?.preContent?s.jsx("div",{className:"flex min-w-0 shrink-0 justify-start items-center",children:u.preContent}):null]}),s.jsxs("div",{className:`flex min-w-0 items-center justify-end ${R<h.TOOLBAR_FIRST_BREAKPOINT?"w-full":u?.content?"shrink-0":"flex-1"} ${R<h.TOOLBAR_SECOND_BREAKPOINT?"flex-col":"flex-row"} ${u?.postContent?"gap-2":""}`,children:[Te&&u?.preContent?s.jsx("div",{className:"flex w-full justify-start items-center",children:u.preContent}):null,s.jsx("div",{className:`flex justify-end items-center min-w-0 ${R<h.TOOLBAR_SECOND_BREAKPOINT||R<h.TOOLBAR_FIRST_BREAKPOINT?"w-full":""}`,children:qe}),u?.postContent?s.jsx("div",{className:`flex justify-end items-center ${R<h.TOOLBAR_SECOND_BREAKPOINT?"w-full":""}`,children:u.postContent}):null]})]}):null,u?.showDivider?s.jsx("div",{className:"border-b pb-2 w-full dark:bg-black-800"}):null,ke||Ae?s.jsx("div",{className:"flex justify-between items-center pb-4 dark:bg-black-800",children:s.jsxs("div",{className:"flex gap-2 items-center",children:[Ae&&o?.renderSortItem?o.renderSortItem({sort:m?.columnSort,onRemoveSort:Pe,onSort:m?.onSort,tableHeaders:S,data:f,disabled:A}):null,ke&&Ae&&m?.columnSort?.field!==""?s.jsx("div",{className:"h-8 w-[1px] flex-shrink-0 bg-neutral-200"}):null,ke?s.jsxs("div",{className:"flex gap-2 items-center",children:[(et||a?.onResetFilter)&&o?.renderActiveFilters&&o.renderActiveFilters({filters:a?.columnFilters,onRemoveFilter:vs,onClearFilter:xs,onResetFilter:a?.onResetFilter,onFilter:a?.onFilter,tableHeaders:S,columnFilters:a?.columnFilters,modelName:G,enableMasterDataEnumSuggestions:X,noSpacing:!0,notionStyle:a?.notionStyle,context:a?.context,data:te??f,agreementCategoryId:Y,agreementDomainId:Z,agreementId:Q,modificationId:K,lineItemRowId:ee,disabled:A}),o?.renderFilterButtons&&o.renderFilterButtons({onClearFilter:a?.onClearFilter,onClose:ds,modelName:G,enableMasterDataEnumSuggestions:X,defaultFilterColumn:Tl,resetDefaultFilterColumn:()=>lt(null),column:Rl,onFilter:a?.onFilter,tableHeaders:S,columnFilters:a?.columnFilters,data:te??f,notionStyle:a?.notionStyle,context:a?.context,agreementCategoryId:Y,agreementDomainId:Z,agreementId:Q,modificationId:K,lineItemRowId:ee,disabled:A})]}):null]})}):null,Oe&&Object.keys(Oe).length?s.jsx(Fs.FloatingBar,{...Oe}):null,!pe&&Te?s.jsxs("div",{className:"flex items-center gap-1.5 mb-2",children:[s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-neutral-500 dark:text-neutral-400 flex-shrink-0","aria-hidden":!0,children:[s.jsx("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),s.jsx("path",{d:"M3 5v4c0 1.66 4.03 3 9 3s9-1.34 9-3V5"}),s.jsx("path",{d:"M3 9v4c0 1.66 4.03 3 9 3s9-1.34 9-3V9"}),s.jsx("path",{d:"M3 13v4c0 1.66 4.03 3 9 3s9-1.34 9-3v-4"})]}),s.jsx(we.Typography,{size:"small",variant:"semibold",appearance:"title",children:(Ze??f.length).toLocaleString()}),s.jsx(we.Typography,{size:"small",variant:"regular",appearance:"subtitle",children:"total records"})]}):!pe&&u?.preContent?s.jsx("div",{className:"flex items-center mb-2",children:u.preContent}):null,s.jsx("div",{ref:Le,className:`w-full ${ae?"h-auto":ne} rounded-lg relative border overflow-x-hidden`,style:{...ae?{height:f?.length>0?`${(f?.length+1)*wl+4}px`:"350px"}:{height:Yl},...nl},children:Xt?kt:s.jsxs(k.DndContext,{sensors:rs,onDragEnd:os,onDragStart:cs,onDragCancel:is,collisionDetection:k.closestCorners,children:[kt,$?Os.createPortal(s.jsx(k.DragOverlay,{adjustScale:!0,dropAnimation:ns,children:s.jsx("table",{...Tt(),className:"w-full text-sm text-left text-neutral-500 dark:text-neutral-200 bg-white dark:bg-black-700 table-auto border-collapse",children:s.jsxs("tbody",{...Ot(),className:"bg-transparent divide-y divide-neutral-200",children:[void yt($),s.jsx(Rs.Row,{row:$,index:D?.findIndex(e=>e.id===$.original.id)},$.original.id)]})})}),document.getElementById("full-screen-container")||document.body):null]})}),ae&&o?.renderPagination?o.renderPagination(ae):null,o?.renderMasterDataModal&&o.renderMasterDataModal({isVisible:!!j,onSelected:zl,onClose:ve,masterDataColumnName:j?.masterDataColumnName,masterDataFilters:j?.masterDataFilters,masterDataName:j?.masterDataName,masterDataId:j?.masterDataName,showFilters:!0}),s.jsx(Es.CurrencyDropdownPortal,{config:ut,onClose:pt}),s.jsx(Ns.PendingEditsFloatingBar,{pendingEditsCount:C,pendingEditsList:Wl,rowsWithPendingEdits:Hl,fieldOperationLoading:I,onClearAll:bt,onSaveAll:wt,onScrollToCell:P})]})});exports.InfiniteTable=gs;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|