@lax-wp/design-system 0.13.42 → 0.13.44

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 (33) hide show
  1. package/dist/components/data-display/infinite-table/context.cjs.js +1 -1
  2. package/dist/components/data-display/infinite-table/context.cjs.js.map +1 -1
  3. package/dist/components/data-display/infinite-table/context.d.ts +1 -0
  4. package/dist/components/data-display/infinite-table/context.es.js +1 -0
  5. package/dist/components/data-display/infinite-table/context.es.js.map +1 -1
  6. package/dist/components/data-display/infinite-table/head/cell/Options.cjs.js +1 -1
  7. package/dist/components/data-display/infinite-table/head/cell/Options.cjs.js.map +1 -1
  8. package/dist/components/data-display/infinite-table/head/cell/Options.d.ts +2 -1
  9. package/dist/components/data-display/infinite-table/head/cell/Options.es.js +79 -70
  10. package/dist/components/data-display/infinite-table/head/cell/Options.es.js.map +1 -1
  11. package/dist/components/data-display/infinite-table/head/cell/Resizer.cjs.js +1 -1
  12. package/dist/components/data-display/infinite-table/head/cell/Resizer.cjs.js.map +1 -1
  13. package/dist/components/data-display/infinite-table/head/cell/Resizer.d.ts +2 -1
  14. package/dist/components/data-display/infinite-table/head/cell/Resizer.es.js +23 -19
  15. package/dist/components/data-display/infinite-table/head/cell/Resizer.es.js.map +1 -1
  16. package/dist/components/data-display/infinite-table/head/cell/index.cjs.js +1 -1
  17. package/dist/components/data-display/infinite-table/head/cell/index.cjs.js.map +1 -1
  18. package/dist/components/data-display/infinite-table/head/cell/index.es.js +46 -44
  19. package/dist/components/data-display/infinite-table/head/cell/index.es.js.map +1 -1
  20. package/dist/components/data-display/infinite-table/index.cjs.js +1 -1
  21. package/dist/components/data-display/infinite-table/index.cjs.js.map +1 -1
  22. package/dist/components/data-display/infinite-table/index.es.js +474 -470
  23. package/dist/components/data-display/infinite-table/index.es.js.map +1 -1
  24. package/dist/components/dropdown/Dropdown.cjs.js +1 -1
  25. package/dist/components/dropdown/Dropdown.cjs.js.map +1 -1
  26. package/dist/components/dropdown/Dropdown.es.js +11 -11
  27. package/dist/components/dropdown/Dropdown.es.js.map +1 -1
  28. package/dist/utils/table.cjs.js +1 -1
  29. package/dist/utils/table.cjs.js.map +1 -1
  30. package/dist/utils/table.d.ts +2 -1
  31. package/dist/utils/table.es.js +19 -18
  32. package/dist/utils/table.es.js.map +1 -1
  33. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),A=require("../../../../../providers/design-system-provider/hooks.cjs.js"),L=require("../../../datatype-icon/DataTypeIcon.cjs.js"),l=require("../../../../tooltip/Tooltip.cjs.js"),n=require("@mui/icons-material"),y=require("../../../../../_virtual/index.cjs.js"),u=require("react"),W=require("../../context.cjs.js"),_=require("./Options.cjs.js"),B=require("./Prefix.cjs.js"),E=require("./Resizer.cjs.js"),V=require("../../constants.cjs.js"),H=({headerGroup:f,headerIndex:o,showHeaderOptions:d,column:e,isShowSortArrowAsc:k,isShowSortArrowDesc:C,onSort:c,onFilter:g,toggleHeaderOption:x,setIsShowSortArrowAsc:m,setIsShowSortArrowDesc:j,setShowHeaderOptions:v,toggleDataFilterModal:w,isColumnConfigurable:N,onAddColumnClick:S,onEditColumnClick:K,onDeleteColumnClick:T,isResizable:q})=>{const t=A.useTableConfig(),p=t?.getPrimaryColor?.()||{},{lastNonStickyColumnIndex:I,setShowHeaderContextOptions:a,showHeaderContextOptions:P,getSumOfNextVisibleColumnWidth:z,handleUpdateColumnWidth:O,multiSelectConfig:b,headerContextOptions:h,showDataTypeIcon:R}=u.useContext(W.TableContext),D=e?.sticky?z?.(o):0,F=I?.(),{selectedColumnIds:i=[]}=b||{},$=y({"border border-primary-600 dark:border-blue-800":i?.includes(e.id),"border-b border-b-primary-300":e?.isPrimaryKey,"border-b border-b-purple-300":e?.isCompositeKey});return r.jsx(u.Fragment,{children:r.jsxs("th",{className:y("bg-white dark:bg-black-700",`${e?.sticky?"sticky left-0 bg-neutral-50 dark:bg-black-700 right-0":"relative"} h-row whitespace-normal max-w-lg ${F===o?"w-full":""} h-full gap-1 cursor-pointer`,!e.static&&!i?.includes(e.id)&&"hover:bg-neutral-200 dark:hover:bg-black-700",{"bg-primary-100 dark:bg-primary-900":i?.includes(e.id)},$),style:{minWidth:`${e.width}px`,maxWidth:`${e.width}px`,right:` ${e?.sticky?`${D}px`:V.CELL_DEFAULT_RIGHT_OFFSET}`},role:"cell",onClick:s=>b?.onTableColumnClick?.(s.nativeEvent,e.id),onContextMenu:s=>{i?.includes(e.id)&&(s.preventDefault(),a?.(e.key))},children:[r.jsxs("div",{className:"flex w-full px-4 gap-2 h-row justify-between items-center",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(B.Prefix,{column:e,isShowSortArrowAsc:k,isShowSortArrowDesc:C}),e?.isCompositeKey?t?.renderKeyIcons?t.renderKeyIcons("composite"):r.jsx(l,{title:"Composite Key",children:r.jsx("span",{className:"flex items-center hover:bg-purple-50 dark:hover:bg-purple-950 rounded-full p-1",children:r.jsx(n.VpnKeyRounded,{sx:{fontSize:14,color:"#BB5DFF"}})})}):e?.isPrimaryKey?t?.renderKeyIcons?t.renderKeyIcons("primary",p?.[400]):r.jsx(l,{title:"Primary Key",children:r.jsx("span",{className:"flex items-center hover:bg-primary-50 dark:hover:bg-dark-blue rounded-full p-1",children:r.jsx(n.VpnKeyRounded,{sx:{fontSize:14,color:p?.[400]||"var(--color-primary-400)"}})})}):null,r.jsx("span",{className:"text-sm font-medium overflow-hidden text-ellipsis whitespace-nowrap",children:e.render("Header")}),e.isSAP&&t?.renderSapLabel?.(),e.is_live_field&&r.jsx(l,{title:"Live Field",children:r.jsx("span",{className:"flex items-center",children:r.jsx(n.BoltOutlined,{sx:{fontSize:14,color:"var(--color-primary-600)"}})})}),!e.static&&e?.sortable&&c&&r.jsx("button",{className:"flex items-center justify-center h-full",children:r.jsx(n.KeyboardArrowDown,{sx:{fontSize:18,color:"#98A2B3",transform:d===e.key?"rotate(180deg)":"none",transition:"transform 0.2s"},onClick:s=>{s.stopPropagation(),e.static||x(e.key)}})})]}),!e.static&&d===e.key&&r.jsx(_.Options,{headerIndex:o,headerGroup:f,column:e,onSort:c,toggleHeaderOption:x,setIsShowSortArrowAsc:m,setIsShowSortArrowDesc:j,setShowHeaderOptions:v,toggleDataFilterModal:w,isColumnConfigurable:N,onAddColumnClick:S,onEditColumnClick:K,onDeleteColumnClick:T,onFilter:g}),P===e.key?t?.renderColumnContextOptions?.({onClose:()=>a?.(null),children:h})||r.jsxs("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]",children:[r.jsx("div",{className:"flex justify-end p-1 border-b border-neutral-100 dark:border-black-600",children:r.jsx("button",{type:"button",className:"text-xs text-neutral-500 hover:text-neutral-700 dark:text-neutral-300 dark:hover:text-neutral-100 px-1",onClick:()=>a?.(null),children:"Close"})}),r.jsx("div",{className:"p-1",children:h})]}):null,R&&r.jsx(L.DataTypeIcon,{dataType:e?.dataType||"string"})]}),q?r.jsx(E.Resizer,{column:e,onResizeComplete:O}):null]})})};exports.Cell=H;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),L=require("../../../../../providers/design-system-provider/hooks.cjs.js"),W=require("../../../datatype-icon/DataTypeIcon.cjs.js"),o=require("../../../../tooltip/Tooltip.cjs.js"),a=require("@mui/icons-material"),u=require("../../../../../_virtual/index.cjs.js"),f=require("react"),_=require("../../context.cjs.js"),B=require("./Options.cjs.js"),E=require("./Prefix.cjs.js"),V=require("./Resizer.cjs.js"),H=require("../../constants.cjs.js"),M=({headerGroup:k,headerIndex:n,showHeaderOptions:d,column:e,isShowSortArrowAsc:C,isShowSortArrowDesc:g,onSort:c,onFilter:m,toggleHeaderOption:x,setIsShowSortArrowAsc:j,setIsShowSortArrowDesc:v,setShowHeaderOptions:w,toggleDataFilterModal:N,isColumnConfigurable:S,onAddColumnClick:T,onEditColumnClick:K,onDeleteColumnClick:q,isResizable:I})=>{const t=L.useTableConfig(),p=t?.getPrimaryColor?.()||{},{lastNonStickyColumnIndex:O,setShowHeaderContextOptions:l,showHeaderContextOptions:P,getSumOfNextVisibleColumnWidth:R,handleUpdateColumnWidth:z,multiSelectConfig:b,headerContextOptions:h,showDataTypeIcon:D,isTableViewReadOnly:y}=f.useContext(_.TableContext),F=e?.sticky?R?.(n):0,$=O?.(),{selectedColumnIds:i=[]}=b||{},A=u({"border border-primary-600 dark:border-blue-800":i?.includes(e.id),"border-b border-b-primary-300":e?.isPrimaryKey,"border-b border-b-purple-300":e?.isCompositeKey});return r.jsx(f.Fragment,{children:r.jsxs("th",{className:u("bg-white dark:bg-black-700",`${e?.sticky?"sticky left-0 bg-neutral-50 dark:bg-black-700 right-0":"relative"} h-row whitespace-normal max-w-lg ${$===n?"w-full":""} h-full gap-1 cursor-pointer`,!e.static&&!i?.includes(e.id)&&"hover:bg-neutral-200 dark:hover:bg-black-700",{"bg-primary-100 dark:bg-primary-900":i?.includes(e.id)},A),style:{minWidth:`${e.width}px`,maxWidth:`${e.width}px`,right:` ${e?.sticky?`${F}px`:H.CELL_DEFAULT_RIGHT_OFFSET}`},role:"cell",onClick:s=>b?.onTableColumnClick?.(s.nativeEvent,e.id),onContextMenu:s=>{i?.includes(e.id)&&(s.preventDefault(),l?.(e.key))},children:[r.jsxs("div",{className:"flex w-full px-4 gap-2 h-row justify-between items-center",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(E.Prefix,{column:e,isShowSortArrowAsc:C,isShowSortArrowDesc:g}),e?.isCompositeKey?t?.renderKeyIcons?t.renderKeyIcons("composite"):r.jsx(o,{title:"Composite Key",children:r.jsx("span",{className:"flex items-center hover:bg-purple-50 dark:hover:bg-purple-950 rounded-full p-1",children:r.jsx(a.VpnKeyRounded,{sx:{fontSize:14,color:"#BB5DFF"}})})}):e?.isPrimaryKey?t?.renderKeyIcons?t.renderKeyIcons("primary",p?.[400]):r.jsx(o,{title:"Primary Key",children:r.jsx("span",{className:"flex items-center hover:bg-primary-50 dark:hover:bg-dark-blue rounded-full p-1",children:r.jsx(a.VpnKeyRounded,{sx:{fontSize:14,color:p?.[400]||"var(--color-primary-400)"}})})}):null,r.jsx("span",{className:"text-sm font-medium overflow-hidden text-ellipsis whitespace-nowrap",children:e.render("Header")}),e.isSAP&&t?.renderSapLabel?.(),e.is_live_field&&r.jsx(o,{title:"Live Field",children:r.jsx("span",{className:"flex items-center",children:r.jsx(a.BoltOutlined,{sx:{fontSize:14,color:"var(--color-primary-600)"}})})}),!e.static&&e?.sortable&&c&&r.jsx("button",{className:"flex items-center justify-center h-full",children:r.jsx(a.KeyboardArrowDown,{sx:{fontSize:18,color:"#98A2B3",transform:d===e.key?"rotate(180deg)":"none",transition:"transform 0.2s"},onClick:s=>{s.stopPropagation(),e.static||x(e.key)}})})]}),!e.static&&d===e.key&&r.jsx(B.Options,{headerIndex:n,headerGroup:k,column:e,onSort:c,toggleHeaderOption:x,setIsShowSortArrowAsc:j,setIsShowSortArrowDesc:v,setShowHeaderOptions:w,toggleDataFilterModal:N,isColumnConfigurable:S,onAddColumnClick:T,onEditColumnClick:K,onDeleteColumnClick:q,onFilter:m,disabled:y}),P===e.key?t?.renderColumnContextOptions?.({onClose:()=>l?.(null),children:h})||r.jsxs("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]",children:[r.jsx("div",{className:"flex justify-end p-1 border-b border-neutral-100 dark:border-black-600",children:r.jsx("button",{type:"button",className:"text-xs text-neutral-500 hover:text-neutral-700 dark:text-neutral-300 dark:hover:text-neutral-100 px-1",onClick:()=>l?.(null),children:"Close"})}),r.jsx("div",{className:"p-1",children:h})]}):null,D&&r.jsx(W.DataTypeIcon,{dataType:e?.dataType||"string"})]}),I?r.jsx(V.Resizer,{column:e,onResizeComplete:z,disabled:y}):null]})})};exports.Cell=M;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.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.cjs.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":"4iBAoDaA,EAAO,CAAC,CACnB,YAAAC,EACA,YAAAC,EACA,kBAAAC,EACA,OAAAC,EACA,mBAAAC,EACA,oBAAAC,EACA,OAAAC,EACA,SAAAC,EACA,mBAAAC,EACA,sBAAAC,EACA,uBAAAC,EACA,qBAAAC,EACA,sBAAAC,EACA,qBAAAC,EACA,iBAAAC,EACA,kBAAAC,EACA,oBAAAC,EACA,YAAAC,CACF,IAAiB,CACf,MAAMC,EAAcC,EAAAA,eAAA,EACdC,EAAqBF,GAAa,kBAAA,GAAuB,CAAA,EACzD,CACJ,yBAAAG,EACA,4BAAAC,EACA,yBAAAC,EACA,+BAAAC,EACA,wBAAAC,EACA,kBAAAC,EACA,qBAAAC,EACA,iBAAAC,EACA,oBAAAC,CAAA,EACEC,EAAAA,WAAWC,EAAAA,YAAY,EAErBC,EAAe7B,GAAQ,OAASqB,IAAiCvB,CAAW,EAAI,EAChFgC,EAAwBZ,IAAA,EACxB,CAAE,kBAAAa,EAAoB,EAAC,EAAMR,GAAqB,CAAA,EAElDS,EAAcC,EAAG,CACrB,iDAAkDF,GAAmB,SAAS/B,EAAO,EAAE,EACvF,gCAAiCA,GAAQ,aACzC,+BAAgCA,GAAQ,cAAA,CACzC,EAED,aACGkC,EAAAA,SAAA,CACC,SAAAC,EAAAA,KAAC,KAAA,CACC,UAAWF,EACT,6BACA,GAAGjC,GAAQ,OAAS,wDAA0D,UAAU,qCAAqC8B,IAA0BhC,EAAc,SAAW,EAAE,+BAClL,CAACE,EAAO,QAAU,CAAC+B,GAAmB,SAAS/B,EAAO,EAAE,GAAK,+CAC7D,CAAE,qCAAsC+B,GAAmB,SAAS/B,EAAO,EAAE,CAAA,EAC7EgC,CAAA,EAEF,MAAO,CACL,SAAU,GAAGhC,EAAO,KAAK,KACzB,SAAU,GAAGA,EAAO,KAAK,KACzB,MAAO,IAAIA,GAAQ,OAAS,GAAG6B,CAAY,KAAOO,2BAAyB,EAAA,EAE7E,KAAK,OACL,QAAUC,GAAMd,GAAmB,qBAAqBc,EAAE,YAAarC,EAAO,EAAE,EAChF,cAAgBqC,GAAM,CAChBN,GAAmB,SAAS/B,EAAO,EAAE,IACvCqC,EAAE,eAAA,EACFlB,IAA8BnB,EAAO,GAAG,EAE5C,EAEA,SAAA,CAAAmC,EAAAA,KAAC,MAAA,CAAI,UAAU,4DACb,SAAA,CAAAA,EAAAA,KAAC,MAAA,CAAI,UAAU,0BACb,SAAA,CAAAG,EAAAA,IAACC,EAAAA,QAAa,OAAAvC,EAAQ,mBAAAC,EAAoB,oBAAAC,EAAuB,EAEhEF,GAAQ,eACLe,GAAa,eACXA,EAAY,eAAe,WAAW,EAEpCuB,EAAAA,IAACE,EAAA,CAAQ,MAAM,gBACb,SAAAF,EAAAA,IAAC,OAAA,CAAK,UAAU,iFACd,SAAAA,EAAAA,IAACG,EAAAA,cAAA,CAAc,GAAI,CAAE,SAAU,GAAI,MAAO,SAAA,CAAU,CAAG,CAAA,CACzD,CAAA,CACF,EAEJzC,GAAQ,aACNe,GAAa,eACXA,EAAY,eAAe,UAAWE,IAAqB,GAAG,CAAC,EAE7DqB,EAAAA,IAACE,EAAA,CAAQ,MAAM,cACb,SAAAF,EAAAA,IAAC,OAAA,CAAK,UAAU,iFACd,SAAAA,EAAAA,IAACG,EAAAA,cAAA,CAAc,GAAI,CAAE,SAAU,GAAI,MAAOxB,IAAqB,GAAG,GAAK,0BAAA,CAA2B,CAAG,CAAA,CACvG,EACF,EAEJ,WAEL,OAAA,CAAK,UAAU,sEAAuE,SAAAjB,EAAO,OAAO,QAAQ,EAAE,EAC9GA,EAAO,OAASe,GAAa,iBAAA,EAC7Bf,EAAO,eACNsC,MAACE,EAAA,CAAQ,MAAM,aACb,SAAAF,EAAAA,IAAC,QAAK,UAAU,oBACd,eAACI,EAAAA,aAAA,CAAa,GAAI,CAAE,SAAU,GAAI,MAAO,0BAAA,EAA8B,EACzE,CAAA,CACF,EAED,CAAC1C,EAAO,QAAUA,GAAQ,UAAYG,GACrCmC,MAAC,SAAA,CAAO,UAAU,0CAChB,SAAAA,EAAAA,IAACK,EAAAA,kBAAA,CACC,GAAI,CAAE,SAAU,GAAI,MAAO,UAAW,UAAW5C,IAAsBC,EAAO,IAAM,iBAAmB,OAAQ,WAAY,gBAAA,EAC3H,QAAUqC,GAAM,CACdA,EAAE,gBAAA,EACGrC,EAAO,QAAQK,EAAmBL,EAAO,GAAG,CACnD,CAAA,CAAA,CACF,CACF,CAAA,EAEJ,EACC,CAACA,EAAO,QAAUD,IAAsBC,EAAO,KAC9CsC,EAAAA,IAACM,EAAAA,QAAA,CACC,YAAA9C,EACA,YAAAD,EACA,OAAAG,EACA,OAAAG,EACA,mBAAAE,EACA,sBAAAC,EACA,uBAAAC,EACA,qBAAAC,EACA,sBAAAC,EACA,qBAAAC,EACA,iBAAAC,EACA,kBAAAC,EACA,oBAAAC,EACA,SAAAT,EACA,SAAUsB,CAAA,CAAA,EAGbN,IAA6BpB,EAAO,IACjCe,GAAa,6BAA6B,CACxC,QAAS,IAAMI,IAA8B,IAAI,EACjD,SAAUK,CAAA,CACX,GACCW,EAAAA,KAAC,MAAA,CAAI,UAAU,oJACb,SAAA,CAAAG,EAAAA,IAAC,MAAA,CAAI,UAAU,yEACb,SAAAA,EAAAA,IAAC,SAAA,CACC,KAAK,SACL,UAAU,yGACV,QAAS,IAAMnB,IAA8B,IAAI,EAClD,SAAA,OAAA,CAAA,EAGH,EACAmB,EAAAA,IAAC,MAAA,CAAI,UAAU,MAAO,SAAAd,CAAA,CAAqB,CAAA,CAAA,CAC7C,EAEF,KACHC,GAAoBa,EAAAA,IAACO,eAAA,CAAa,SAAU7C,GAAQ,UAAY,QAAA,CAAU,CAAA,EAC7E,EACCc,QAAegC,EAAAA,QAAA,CAAQ,OAAA9C,EAAgB,iBAAkBsB,EAA0B,SAAUI,EAAqB,EAAK,IAAA,CAAA,CAAA,EAE5H,CAEJ"}
@@ -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 f, BoltOutlined as B, KeyboardArrowDown as E } from "@mui/icons-material";
6
- import y from "../../../../../_virtual/index.es.js";
7
- import { useContext as R, Fragment as H } from "react";
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 V } from "./Options.es.js";
10
- import { Prefix as G } from "./Prefix.es.js";
11
- import { Resizer as M } from "./Resizer.es.js";
12
- import { CELL_DEFAULT_RIGHT_OFFSET as q } from "../../constants.es.js";
13
- const le = ({
14
- headerGroup: x,
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: k,
19
- isShowSortArrowDesc: C,
18
+ isShowSortArrowAsc: C,
19
+ isShowSortArrowDesc: g,
20
20
  onSort: p,
21
- onFilter: g,
21
+ onFilter: u,
22
22
  toggleHeaderOption: c,
23
- setIsShowSortArrowAsc: u,
24
- setIsShowSortArrowDesc: v,
25
- setShowHeaderOptions: w,
26
- toggleDataFilterModal: N,
27
- isColumnConfigurable: S,
28
- onAddColumnClick: K,
29
- onEditColumnClick: T,
30
- onDeleteColumnClick: I,
31
- isResizable: z
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: F,
34
+ lastNonStickyColumnIndex: O,
35
35
  setShowHeaderContextOptions: l,
36
36
  showHeaderContextOptions: P,
37
37
  getSumOfNextVisibleColumnWidth: D,
38
- handleUpdateColumnWidth: O,
38
+ handleUpdateColumnWidth: $,
39
39
  multiSelectConfig: m,
40
40
  headerContextOptions: h,
41
- showDataTypeIcon: $
42
- } = R(U), j = e?.sticky ? D?.(s) : 0, L = F?.(), { selectedColumnIds: o = [] } = m || {}, W = y({
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: y(
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 ${L === s ? "w-full" : ""} h-full gap-1 cursor-pointer`,
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 ? `${j}px` : q}`
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(G, { column: e, isShowSortArrowAsc: k, isShowSortArrowDesc: C }),
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(f, { 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(f, { sx: { fontSize: 14, color: b?.[400] || "var(--color-primary-400)" } }) }) }) : null,
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
- V,
87
+ G,
87
88
  {
88
89
  headerIndex: s,
89
- headerGroup: x,
90
+ headerGroup: k,
90
91
  column: e,
91
92
  onSort: p,
92
93
  toggleHeaderOption: c,
93
- setIsShowSortArrowAsc: u,
94
- setIsShowSortArrowDesc: v,
95
- setShowHeaderOptions: w,
96
- toggleDataFilterModal: N,
97
- isColumnConfigurable: S,
98
- onAddColumnClick: K,
99
- onEditColumnClick: T,
100
- onDeleteColumnClick: I,
101
- onFilter: g
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
- $ && /* @__PURE__ */ r(A, { dataType: e?.dataType || "string" })
121
+ j && /* @__PURE__ */ r(A, { dataType: e?.dataType || "string" })
120
122
  ] }),
121
- z ? /* @__PURE__ */ r(M, { column: e, onResizeComplete: O }) : null
123
+ F ? /* @__PURE__ */ r(q, { column: e, onResizeComplete: $, disabled: f }) : null
122
124
  ]
123
125
  }
124
126
  ) });
125
127
  };
126
128
  export {
127
- le as Cell
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":";;;;;;;;;;;;AAoDO,MAAMA,KAAO,CAAC;AAAA,EACnB,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,aAAAC;AACF,MAAiB;AACf,QAAMC,IAAcC,EAAA,GACdC,IAAqBF,GAAa,kBAAA,KAAuB,CAAA,GACzD;AAAA,IACJ,0BAAAG;AAAA,IACA,6BAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,gCAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,kBAAAC;AAAA,EAAA,IACEC,EAAWC,CAAY,GAErBC,IAAe5B,GAAQ,SAASqB,IAAiCvB,CAAW,IAAI,GAChF+B,IAAwBX,IAAA,GACxB,EAAE,mBAAAY,IAAoB,GAAC,IAAMP,KAAqB,CAAA,GAElDQ,IAAcC,EAAG;AAAA,IACrB,kDAAkDF,GAAmB,SAAS9B,EAAO,EAAE;AAAA,IACvF,iCAAiCA,GAAQ;AAAA,IACzC,gCAAgCA,GAAQ;AAAA,EAAA,CACzC;AAED,2BACGiC,GAAA,EACC,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACA,GAAGhC,GAAQ,SAAS,0DAA0D,UAAU,qCAAqC6B,MAA0B/B,IAAc,WAAW,EAAE;AAAA,QAClL,CAACE,EAAO,UAAU,CAAC8B,GAAmB,SAAS9B,EAAO,EAAE,KAAK;AAAA,QAC7D,EAAE,sCAAsC8B,GAAmB,SAAS9B,EAAO,EAAE,EAAA;AAAA,QAC7E+B;AAAA,MAAA;AAAA,MAEF,OAAO;AAAA,QACL,UAAU,GAAG/B,EAAO,KAAK;AAAA,QACzB,UAAU,GAAGA,EAAO,KAAK;AAAA,QACzB,OAAO,IAAIA,GAAQ,SAAS,GAAG4B,CAAY,OAAOO,CAAyB;AAAA,MAAA;AAAA,MAE7E,MAAK;AAAA,MACL,SAAS,CAACC,MAAMb,GAAmB,qBAAqBa,EAAE,aAAapC,EAAO,EAAE;AAAA,MAChF,eAAe,CAACoC,MAAM;AACpB,QAAIN,GAAmB,SAAS9B,EAAO,EAAE,MACvCoC,EAAE,eAAA,GACFjB,IAA8BnB,EAAO,GAAG;AAAA,MAE5C;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAkC,EAAC,OAAA,EAAI,WAAU,6DACb,UAAA;AAAA,UAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,YAAA,gBAAAG,EAACC,KAAa,QAAAtC,GAAQ,oBAAAC,GAAoB,qBAAAC,GAAuB;AAAA,YAEhEF,GAAQ,iBACLe,GAAa,iBACXA,EAAY,eAAe,WAAW,IAEpC,gBAAAsB,EAACE,GAAA,EAAQ,OAAM,iBACb,UAAA,gBAAAF,EAAC,QAAA,EAAK,WAAU,kFACd,UAAA,gBAAAA,EAACG,GAAA,EAAc,IAAI,EAAE,UAAU,IAAI,OAAO,UAAA,EAAU,CAAG,EAAA,CACzD,EAAA,CACF,IAEJxC,GAAQ,eACNe,GAAa,iBACXA,EAAY,eAAe,WAAWE,IAAqB,GAAG,CAAC,IAE7D,gBAAAoB,EAACE,GAAA,EAAQ,OAAM,eACb,UAAA,gBAAAF,EAAC,QAAA,EAAK,WAAU,kFACd,UAAA,gBAAAA,EAACG,GAAA,EAAc,IAAI,EAAE,UAAU,IAAI,OAAOvB,IAAqB,GAAG,KAAK,2BAAA,EAA2B,CAAG,EAAA,CACvG,GACF,IAEJ;AAAA,8BAEL,QAAA,EAAK,WAAU,uEAAuE,UAAAjB,EAAO,OAAO,QAAQ,GAAE;AAAA,YAC9GA,EAAO,SAASe,GAAa,iBAAA;AAAA,YAC7Bf,EAAO,iBACN,gBAAAqC,EAACE,GAAA,EAAQ,OAAM,cACb,UAAA,gBAAAF,EAAC,UAAK,WAAU,qBACd,4BAACI,GAAA,EAAa,IAAI,EAAE,UAAU,IAAI,OAAO,2BAAA,GAA8B,GACzE,EAAA,CACF;AAAA,YAED,CAACzC,EAAO,UAAUA,GAAQ,YAAYG,KACrC,gBAAAkC,EAAC,UAAA,EAAO,WAAU,2CAChB,UAAA,gBAAAA;AAAA,cAACK;AAAA,cAAA;AAAA,gBACC,IAAI,EAAE,UAAU,IAAI,OAAO,WAAW,WAAW3C,MAAsBC,EAAO,MAAM,mBAAmB,QAAQ,YAAY,iBAAA;AAAA,gBAC3H,SAAS,CAACoC,MAAM;AACd,kBAAAA,EAAE,gBAAA,GACGpC,EAAO,UAAQK,EAAmBL,EAAO,GAAG;AAAA,gBACnD;AAAA,cAAA;AAAA,YAAA,EACF,CACF;AAAA,UAAA,GAEJ;AAAA,UACC,CAACA,EAAO,UAAUD,MAAsBC,EAAO,OAC9C,gBAAAqC;AAAA,YAACM;AAAA,YAAA;AAAA,cACC,aAAA7C;AAAA,cACA,aAAAD;AAAA,cACA,QAAAG;AAAA,cACA,QAAAG;AAAA,cACA,oBAAAE;AAAA,cACA,uBAAAC;AAAA,cACA,wBAAAC;AAAA,cACA,sBAAAC;AAAA,cACA,uBAAAC;AAAA,cACA,sBAAAC;AAAA,cACA,kBAAAC;AAAA,cACA,mBAAAC;AAAA,cACA,qBAAAC;AAAA,cACA,UAAAT;AAAA,YAAA;AAAA,UAAA;AAAA,UAGHgB,MAA6BpB,EAAO,MACjCe,GAAa,6BAA6B;AAAA,YACxC,SAAS,MAAMI,IAA8B,IAAI;AAAA,YACjD,UAAUK;AAAA,UAAA,CACX,KACC,gBAAAU,EAAC,OAAA,EAAI,WAAU,qJACb,UAAA;AAAA,YAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,0EACb,UAAA,gBAAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,WAAU;AAAA,gBACV,SAAS,MAAMlB,IAA8B,IAAI;AAAA,gBAClD,UAAA;AAAA,cAAA;AAAA,YAAA,GAGH;AAAA,YACA,gBAAAkB,EAAC,OAAA,EAAI,WAAU,OAAO,UAAAb,EAAA,CAAqB;AAAA,UAAA,EAAA,CAC7C,IAEF;AAAA,UACHC,KAAoB,gBAAAY,EAACO,GAAA,EAAa,UAAU5C,GAAQ,YAAY,SAAA,CAAU;AAAA,QAAA,GAC7E;AAAA,QACCc,IAAc,gBAAAuB,EAACQ,GAAA,EAAQ,QAAA7C,GAAgB,kBAAkBsB,GAA0B,IAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAE7F;AAEJ;"}
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