@lax-wp/design-system 0.13.33-beta.0 → 0.13.33-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/dist/components/button/Button.cjs.js +5 -5
  2. package/dist/components/button/Button.cjs.js.map +1 -1
  3. package/dist/components/button/Button.es.js +18 -18
  4. package/dist/components/button/Button.es.js.map +1 -1
  5. package/dist/components/button/IconButton.cjs.js +1 -1
  6. package/dist/components/button/IconButton.cjs.js.map +1 -1
  7. package/dist/components/button/IconButton.es.js +8 -8
  8. package/dist/components/button/IconButton.es.js.map +1 -1
  9. package/dist/components/buttons/option-button/OptionButton.cjs.js +1 -1
  10. package/dist/components/buttons/option-button/OptionButton.cjs.js.map +1 -1
  11. package/dist/components/buttons/option-button/OptionButton.es.js +1 -1
  12. package/dist/components/buttons/option-button/OptionButton.es.js.map +1 -1
  13. package/dist/components/data-display/comparison/components/Header.cjs.js +1 -1
  14. package/dist/components/data-display/comparison/components/Header.cjs.js.map +1 -1
  15. package/dist/components/data-display/comparison/components/Header.es.js +13 -13
  16. package/dist/components/data-display/comparison/components/Header.es.js.map +1 -1
  17. package/dist/components/data-display/infinite-table/PendingEditsFloatingBar.cjs.js +1 -1
  18. package/dist/components/data-display/infinite-table/PendingEditsFloatingBar.cjs.js.map +1 -1
  19. package/dist/components/data-display/infinite-table/PendingEditsFloatingBar.es.js +57 -56
  20. package/dist/components/data-display/infinite-table/PendingEditsFloatingBar.es.js.map +1 -1
  21. package/dist/components/data-display/infinite-table/body/cell/ActionCell.cjs.js +1 -1
  22. package/dist/components/data-display/infinite-table/body/cell/ActionCell.cjs.js.map +1 -1
  23. package/dist/components/data-display/infinite-table/body/cell/ActionCell.es.js +11 -11
  24. package/dist/components/data-display/infinite-table/body/cell/ActionCell.es.js.map +1 -1
  25. package/dist/components/data-display/infinite-table/body/cell/CheckboxCell.cjs.js +1 -1
  26. package/dist/components/data-display/infinite-table/body/cell/CheckboxCell.cjs.js.map +1 -1
  27. package/dist/components/data-display/infinite-table/body/cell/CheckboxCell.es.js +44 -43
  28. package/dist/components/data-display/infinite-table/body/cell/CheckboxCell.es.js.map +1 -1
  29. package/dist/components/data-display/infinite-table/body/cell/DataCell.cjs.js +1 -1
  30. package/dist/components/data-display/infinite-table/body/cell/DataCell.cjs.js.map +1 -1
  31. package/dist/components/data-display/infinite-table/body/cell/DataCell.es.js +125 -124
  32. package/dist/components/data-display/infinite-table/body/cell/DataCell.es.js.map +1 -1
  33. package/dist/components/data-display/infinite-table/body/cell/LoaderCell.cjs.js +1 -1
  34. package/dist/components/data-display/infinite-table/body/cell/LoaderCell.cjs.js.map +1 -1
  35. package/dist/components/data-display/infinite-table/body/cell/LoaderCell.es.js +12 -11
  36. package/dist/components/data-display/infinite-table/body/cell/LoaderCell.es.js.map +1 -1
  37. package/dist/components/data-display/infinite-table/body/cell/PendingEditCell.cjs.js +1 -1
  38. package/dist/components/data-display/infinite-table/body/cell/PendingEditCell.cjs.js.map +1 -1
  39. package/dist/components/data-display/infinite-table/body/cell/PendingEditCell.es.js +9 -9
  40. package/dist/components/data-display/infinite-table/body/cell/PendingEditCell.es.js.map +1 -1
  41. package/dist/components/data-display/infinite-table/body/cell/RowOptionsCell.cjs.js +1 -1
  42. package/dist/components/data-display/infinite-table/body/cell/RowOptionsCell.cjs.js.map +1 -1
  43. package/dist/components/data-display/infinite-table/body/cell/RowOptionsCell.es.js +24 -24
  44. package/dist/components/data-display/infinite-table/body/cell/RowOptionsCell.es.js.map +1 -1
  45. package/dist/components/data-display/infinite-table/body/cell/SpinnerCell.cjs.js +1 -1
  46. package/dist/components/data-display/infinite-table/body/cell/SpinnerCell.cjs.js.map +1 -1
  47. package/dist/components/data-display/infinite-table/body/cell/SpinnerCell.es.js +1 -1
  48. package/dist/components/data-display/infinite-table/body/cell/SpinnerCell.es.js.map +1 -1
  49. package/dist/components/data-display/infinite-table/body/rows/row.cjs.js +1 -1
  50. package/dist/components/data-display/infinite-table/body/rows/row.cjs.js.map +1 -1
  51. package/dist/components/data-display/infinite-table/body/rows/row.es.js +2 -2
  52. package/dist/components/data-display/infinite-table/body/rows/row.es.js.map +1 -1
  53. package/dist/components/data-display/infinite-table/constants.cjs.js +2 -0
  54. package/dist/components/data-display/infinite-table/constants.cjs.js.map +1 -0
  55. package/dist/components/data-display/infinite-table/constants.d.ts +41 -0
  56. package/dist/components/data-display/infinite-table/constants.es.js +27 -0
  57. package/dist/components/data-display/infinite-table/constants.es.js.map +1 -0
  58. package/dist/components/data-display/infinite-table/head/CheckAll.cjs.js +1 -1
  59. package/dist/components/data-display/infinite-table/head/CheckAll.cjs.js.map +1 -1
  60. package/dist/components/data-display/infinite-table/head/CheckAll.es.js +1 -1
  61. package/dist/components/data-display/infinite-table/head/CheckAll.es.js.map +1 -1
  62. package/dist/components/data-display/infinite-table/head/cell/index.cjs.js +1 -1
  63. package/dist/components/data-display/infinite-table/head/cell/index.cjs.js.map +1 -1
  64. package/dist/components/data-display/infinite-table/head/cell/index.es.js +37 -36
  65. package/dist/components/data-display/infinite-table/head/cell/index.es.js.map +1 -1
  66. package/dist/components/data-display/infinite-table/head/index.cjs.js +1 -1
  67. package/dist/components/data-display/infinite-table/head/index.cjs.js.map +1 -1
  68. package/dist/components/data-display/infinite-table/head/index.es.js +20 -20
  69. package/dist/components/data-display/infinite-table/head/index.es.js.map +1 -1
  70. package/dist/components/data-display/infinite-table/index.cjs.js +1 -1
  71. package/dist/components/data-display/infinite-table/index.cjs.js.map +1 -1
  72. package/dist/components/data-display/infinite-table/index.es.js +397 -396
  73. package/dist/components/data-display/infinite-table/index.es.js.map +1 -1
  74. package/dist/components/data-display/tag/Tag.cjs.js +1 -1
  75. package/dist/components/data-display/tag/Tag.cjs.js.map +1 -1
  76. package/dist/components/data-display/tag/Tag.es.js +9 -11
  77. package/dist/components/data-display/tag/Tag.es.js.map +1 -1
  78. package/dist/components/floating-bar/FloatingBar.cjs.js +1 -1
  79. package/dist/components/floating-bar/FloatingBar.cjs.js.map +1 -1
  80. package/dist/components/floating-bar/FloatingBar.es.js +9 -9
  81. package/dist/components/floating-bar/FloatingBar.es.js.map +1 -1
  82. package/dist/components/forms/base-input-field/BaseInputField.cjs.js +2 -2
  83. package/dist/components/forms/base-input-field/BaseInputField.cjs.js.map +1 -1
  84. package/dist/components/forms/base-input-field/BaseInputField.es.js +32 -30
  85. package/dist/components/forms/base-input-field/BaseInputField.es.js.map +1 -1
  86. package/dist/components/forms/creatable-select/CreatableSelect.cjs.js +1 -1
  87. package/dist/components/forms/creatable-select/CreatableSelect.cjs.js.map +1 -1
  88. package/dist/components/forms/creatable-select/CreatableSelect.es.js +12 -11
  89. package/dist/components/forms/creatable-select/CreatableSelect.es.js.map +1 -1
  90. package/dist/components/forms/currency-input/CurrencyInputField.cjs.js +1 -1
  91. package/dist/components/forms/currency-input/CurrencyInputField.cjs.js.map +1 -1
  92. package/dist/components/forms/currency-input/CurrencyInputField.es.js +70 -62
  93. package/dist/components/forms/currency-input/CurrencyInputField.es.js.map +1 -1
  94. package/dist/components/forms/date-time-field/DateTimeField.cjs.js +1 -1
  95. package/dist/components/forms/date-time-field/DateTimeField.cjs.js.map +1 -1
  96. package/dist/components/forms/date-time-field/DateTimeField.es.js +32 -32
  97. package/dist/components/forms/date-time-field/DateTimeField.es.js.map +1 -1
  98. package/dist/components/forms/debounce-input/DebounceInputField.cjs.js +1 -1
  99. package/dist/components/forms/debounce-input/DebounceInputField.cjs.js.map +1 -1
  100. package/dist/components/forms/debounce-input/DebounceInputField.es.js +2 -2
  101. package/dist/components/forms/debounce-input/DebounceInputField.es.js.map +1 -1
  102. package/dist/components/forms/dynamic-data-input/DynamicDataInputField.cjs.js +1 -1
  103. package/dist/components/forms/dynamic-data-input/DynamicDataInputField.cjs.js.map +1 -1
  104. package/dist/components/forms/dynamic-data-input/DynamicDataInputField.es.js +18 -16
  105. package/dist/components/forms/dynamic-data-input/DynamicDataInputField.es.js.map +1 -1
  106. package/dist/components/forms/field-options/Item.cjs.js +1 -1
  107. package/dist/components/forms/field-options/Item.cjs.js.map +1 -1
  108. package/dist/components/forms/field-options/Item.es.js +5 -5
  109. package/dist/components/forms/field-options/Item.es.js.map +1 -1
  110. package/dist/components/forms/icon-picker/IconPicker.cjs.js +1 -1
  111. package/dist/components/forms/icon-picker/IconPicker.cjs.js.map +1 -1
  112. package/dist/components/forms/icon-picker/IconPicker.es.js +57 -42
  113. package/dist/components/forms/icon-picker/IconPicker.es.js.map +1 -1
  114. package/dist/components/forms/master-data-input/MasterDataInputField.cjs.js +1 -1
  115. package/dist/components/forms/master-data-input/MasterDataInputField.cjs.js.map +1 -1
  116. package/dist/components/forms/master-data-input/MasterDataInputField.es.js +35 -33
  117. package/dist/components/forms/master-data-input/MasterDataInputField.es.js.map +1 -1
  118. package/dist/components/forms/md-input/RichMarkdownInput.cjs.js +3 -3
  119. package/dist/components/forms/md-input/RichMarkdownInput.cjs.js.map +1 -1
  120. package/dist/components/forms/md-input/RichMarkdownInput.es.js +63 -63
  121. package/dist/components/forms/md-input/RichMarkdownInput.es.js.map +1 -1
  122. package/dist/components/forms/number-input-field/NumberInputField.cjs.js +1 -1
  123. package/dist/components/forms/number-input-field/NumberInputField.cjs.js.map +1 -1
  124. package/dist/components/forms/number-input-field/NumberInputField.es.js +5 -5
  125. package/dist/components/forms/number-input-field/NumberInputField.es.js.map +1 -1
  126. package/dist/components/forms/percentage-input/PercentageInputField.cjs.js +1 -1
  127. package/dist/components/forms/percentage-input/PercentageInputField.cjs.js.map +1 -1
  128. package/dist/components/forms/percentage-input/PercentageInputField.es.js +2 -2
  129. package/dist/components/forms/percentage-input/PercentageInputField.es.js.map +1 -1
  130. package/dist/components/forms/search-bar/SearchBar.cjs.js +1 -1
  131. package/dist/components/forms/search-bar/SearchBar.cjs.js.map +1 -1
  132. package/dist/components/forms/search-bar/SearchBar.es.js +16 -16
  133. package/dist/components/forms/search-bar/SearchBar.es.js.map +1 -1
  134. package/dist/components/forms/select-field/SelectField.cjs.js +2 -2
  135. package/dist/components/forms/select-field/SelectField.cjs.js.map +1 -1
  136. package/dist/components/forms/select-field/SelectField.d.ts +0 -4
  137. package/dist/components/forms/select-field/SelectField.es.js +203 -202
  138. package/dist/components/forms/select-field/SelectField.es.js.map +1 -1
  139. package/dist/components/forms/toggle/Toggle.cjs.js +1 -1
  140. package/dist/components/forms/toggle/Toggle.cjs.js.map +1 -1
  141. package/dist/components/forms/toggle/Toggle.es.js +14 -14
  142. package/dist/components/forms/toggle/Toggle.es.js.map +1 -1
  143. package/dist/components/navigation/accordion/Accordion.cjs.js +1 -1
  144. package/dist/components/navigation/accordion/Accordion.cjs.js.map +1 -1
  145. package/dist/components/navigation/accordion/Accordion.es.js +5 -5
  146. package/dist/components/navigation/accordion/Accordion.es.js.map +1 -1
  147. package/dist/components/navigation/stepper/Stepper.cjs.js +1 -1
  148. package/dist/components/navigation/stepper/Stepper.cjs.js.map +1 -1
  149. package/dist/components/navigation/stepper/Stepper.es.js +1 -1
  150. package/dist/components/navigation/stepper/Stepper.es.js.map +1 -1
  151. package/dist/components/navigation/tabs/TabOptions.cjs.js +1 -1
  152. package/dist/components/navigation/tabs/TabOptions.cjs.js.map +1 -1
  153. package/dist/components/navigation/tabs/TabOptions.es.js +15 -15
  154. package/dist/components/navigation/tabs/TabOptions.es.js.map +1 -1
  155. package/dist/components/navigation/tabs/TabSwitch.cjs.js +1 -1
  156. package/dist/components/navigation/tabs/TabSwitch.cjs.js.map +1 -1
  157. package/dist/components/navigation/tabs/TabSwitch.es.js +7 -7
  158. package/dist/components/navigation/tabs/TabSwitch.es.js.map +1 -1
  159. package/dist/components/navigation/tabs/Tabs.cjs.js +1 -1
  160. package/dist/components/navigation/tabs/Tabs.cjs.js.map +1 -1
  161. package/dist/components/navigation/tabs/Tabs.es.js +1 -1
  162. package/dist/components/navigation/tabs/Tabs.es.js.map +1 -1
  163. package/dist/components/user-avatar/UserAvatar.cjs.js +1 -1
  164. package/dist/components/user-avatar/UserAvatar.cjs.js.map +1 -1
  165. package/dist/components/user-avatar/UserAvatar.d.ts +1 -1
  166. package/dist/components/user-avatar/UserAvatar.es.js +38 -40
  167. package/dist/components/user-avatar/UserAvatar.es.js.map +1 -1
  168. package/dist/components/user-avatar/constants.cjs.js +1 -1
  169. package/dist/components/user-avatar/constants.cjs.js.map +1 -1
  170. package/dist/components/user-avatar/constants.d.ts +0 -1
  171. package/dist/components/user-avatar/constants.es.js +9 -10
  172. package/dist/components/user-avatar/constants.es.js.map +1 -1
  173. package/dist/design-system.css +1 -1
  174. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"row.es.js","sources":["../../../../../../src/components/data-display/infinite-table/body/rows/row.tsx"],"sourcesContent":["import { getTableRowBgClassNamesByStatus } from '../../../../../constants/table';\nimport { useTableConfig } from '../../../../../providers/design-system-provider/hooks';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { SubdirectoryArrowLeftRounded } from '@mui/icons-material';\nimport AddRounded from '@mui/icons-material/AddRounded';\nimport cn from 'classnames';\nimport React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { TableContext } from '../../context';\nimport { ActionCell } from '../cell/ActionCell';\nimport { CheckboxCell } from '../cell/CheckboxCell';\nimport { DataCell } from '../cell/DataCell';\nimport { validateCellValue } from '../../validateCell';\nimport { LoaderCell } from '../cell/LoaderCell';\nimport { PendingEditCell } from '../cell/PendingEditCell';\nimport { RowActionCell } from '../cell/RowActionCell';\nimport { RowOptionsCell } from '../cell/RowOptionsCell';\n\ntype TRowMetadata = {\n is_modified: object;\n is_new: boolean;\n is_deleted: boolean;\n is_added: boolean;\n __is_modified?: boolean;\n __is_edited?: boolean;\n __is_deleted?: boolean;\n __is_new?: boolean;\n __is_added?: boolean;\n};\n\ninterface TableCell {\n column: {\n key?: string;\n visible?: boolean;\n width?: number;\n sticky?: boolean;\n Header?: string;\n type?: string;\n is_required?: boolean;\n meta?: Record<string, unknown>;\n [key: string]: unknown;\n };\n value?: unknown;\n [key: string]: unknown;\n}\n\ninterface RowOriginal {\n id: string | number;\n is_read?: boolean;\n is_modified?: boolean;\n is_row_modified?: boolean;\n is_deleted?: boolean;\n is_added?: boolean;\n status?: string;\n type?: string;\n __isLoading?: boolean;\n __level?: number;\n __rowBgStatus?: string;\n __rowMetadata?: { __is_modified?: boolean };\n isDefinedActionRow?: boolean;\n isRoot?: boolean;\n name?: string | { props?: { text?: string } };\n onClick?: () => void;\n uploadCell?: boolean;\n disabled?: boolean;\n disabledTooltip?: string;\n [key: string]: unknown;\n}\n\ninterface TableRowData {\n original: RowOriginal;\n cells: TableCell[];\n getRowProps: () => Record<string, unknown>;\n index: number;\n [key: string]: unknown;\n}\n\ntype TRowOption = {\n key: string;\n label: React.ReactNode;\n isVisible?: boolean;\n [k: string]: unknown;\n};\n\ntype TProps = {\n row: TableRowData;\n isLastRow?: boolean;\n lastRow?: unknown;\n getSubRows?: () => unknown;\n prepareRow?: (row: unknown) => void;\n highlightSubstring?: (value: string) => JSX.Element;\n index: number;\n style?: Record<string, unknown>;\n visibleSubRowIds?: Record<string, unknown>;\n rowsLength?: number;\n level?: number;\n columns?: Record<string, unknown>;\n expandedRows?: Record<string, { isOpen: boolean }>;\n rows?: Array<{ original: unknown }>;\n};\n\nexport const Row = ({ row, isLastRow, lastRow, highlightSubstring, index, style, level = 0, expandedRows, rows }: TProps) => {\n const {\n lastNonStickyColumnIndex,\n checkboxConfig,\n onRowClick,\n rowOptions,\n disableOptionsForRowIndex = null,\n getSumOfNextVisibleColumnWidth,\n onRowEdit,\n inlineEditColumns,\n tableActions,\n dndSortableUtils,\n withSortable,\n withDraggable,\n getInnerRowData,\n showNewItem,\n rawData,\n dragConfig,\n getFullRowDataOnClick,\n rowWrapper: RowWrapper,\n isCellClickDisabled,\n rowAdditionalActions,\n hoverConfig,\n addPendingEdit,\n removePendingEdit,\n fieldOperationLoading,\n clearRowPendingEdits,\n saveRowPendingEdits,\n pendingEdits: contextPendingEdits,\n } = useContext(TableContext);\n\n const tableConfig = useTableConfig();\n\n const isCheckbox = Boolean(checkboxConfig);\n const { activeInlineEdit, setActiveInlineEdit } = useContext(TableContext);\n const inlineEditing = activeInlineEdit?.rowId === row.original.id ? activeInlineEdit?.columnKey : null;\n const isInlineEditing = Boolean(inlineEditing);\n const setInlineEditing = (columnKey: string | null) => {\n if (columnKey === null) setActiveInlineEdit?.(null);\n else setActiveInlineEdit?.({ rowId: String(row.original.id), columnKey });\n };\n const [rowHovering, setRowHovering] = useState<string | number | null>(null);\n const [editedCellValue, setEditedCellValue] = useState<string | null>(null);\n const [currentData, setCurrentData] = useState<Record<string, unknown> | null>(null);\n const [loadingExpand, setLoadingExpand] = useState(false);\n const [isDraggingFile, setIsDraggingFile] = useState(false);\n\n const prevInlineEditingRef = useRef<string | null>(null);\n useEffect(() => {\n const wasEditing = prevInlineEditingRef.current;\n const isNowEditing = inlineEditing;\n\n if (wasEditing && !isNowEditing) {\n const pendingEdit = contextPendingEdits?.[row.original.id]?.[wasEditing];\n if (pendingEdit) {\n const currentCell = row.cells?.find((c: TableCell) => c.column?.key === wasEditing);\n if (currentCell) {\n const result = validateCellValue(pendingEdit.value, currentCell.column as { type?: string; is_required?: boolean });\n if (!result.isValid && addPendingEdit) {\n addPendingEdit(String(row.original.id), wasEditing, {\n ...pendingEdit,\n validationError: result.error,\n });\n }\n }\n }\n }\n\n prevInlineEditingRef.current = isNowEditing ?? null;\n }, [inlineEditing, row.original.id, row.cells, contextPendingEdits, addPendingEdit]);\n\n useEffect(() => {\n if (rawData) {\n const idKey = String(row?.original?.id);\n setCurrentData(rawData[idKey]?.[row?.cells[0].column.Header as string] || rawData[idKey]?.[0]);\n }\n }, [rawData, row?.original?.id, row?.cells]);\n\n const sortableResult = useSortable({ id: row.original.id, data: { ...row.original }, disabled: !withSortable });\n const draggableResult = useDraggable({ id: row.original.id, data: { ...row.original }, disabled: !!withSortable });\n const { listeners, transform, setNodeRef, isDragging, attributes, active, over, ...rest } = withSortable\n ? sortableResult\n : draggableResult;\n\n const { setNodeRef: setDroppableNodeRef } = useDroppable({\n id: `table-file-dropzone-${row?.original?.id}`,\n data: { type: 'table-file-dropzone', folderId: row?.original?.id, isFolder: row?.original?.type === 'folder' },\n });\n\n const dndStyles = {\n transform: CSS.Transform.toString(transform),\n transition: withSortable ? (rest as { transition?: string }).transition : undefined,\n cursor: isDragging ? 'grabbing' : 'grab',\n opacity: isDragging ? '0.5' : '1',\n };\n\n const isOverOtherContext = (): boolean => {\n if (!active || !over || !withSortable) return false;\n if (dndSortableUtils?.checkOverEachItem) return dndSortableUtils.checkOverEachItem(active, over) && Boolean(over);\n return active.data.current?.type !== over.data.current?.type && Boolean(over);\n };\n\n const handleCellValueChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setEditedCellValue(e.target.value);\n };\n\n const handleCloseEdit = () => {\n if (fieldOperationLoading) return;\n setInlineEditing(null);\n };\n\n const validationRef = useRef<(() => { isValid: boolean; value?: string | boolean | null; meta?: Record<string, unknown> | null }) | null>(null);\n\n const registerValidation = useCallback(\n (validateFn: () => { isValid: boolean; value?: string | boolean | null; meta?: Record<string, unknown> | null }) => {\n validationRef.current = validateFn;\n },\n [],\n );\n\n const tableConfigRef = useRef(tableConfig);\n tableConfigRef.current = tableConfig;\n\n const handleRowCancelEdit = useCallback(() => {\n if (clearRowPendingEdits) clearRowPendingEdits(String(row.original.id));\n }, [clearRowPendingEdits, row.original.id]);\n\n const handleRowConfirmEdit = useCallback(() => {\n if (validationRef.current) {\n const result = validationRef.current();\n if (!result.isValid) return;\n if (inlineEditing && result.value !== undefined && addPendingEdit) {\n addPendingEdit(String(row.original.id), inlineEditing, {\n value: result.value,\n originalValue: row.original[inlineEditing],\n meta: result.meta || undefined,\n });\n }\n } else if (inlineEditing) {\n const currentCell = row.cells?.find((c: TableCell) => c.column?.key === inlineEditing);\n if (currentCell) {\n const pendingValue = contextPendingEdits?.[row.original.id]?.[inlineEditing]?.value;\n const valueToValidate = pendingValue !== undefined ? pendingValue : currentCell.value;\n const result = validateCellValue(valueToValidate as string | boolean | null | undefined, currentCell.column as { type?: string; is_required?: boolean });\n if (!result.isValid) {\n tableConfigRef.current?.showNotification?.('error', result.error || 'Validation failed');\n return;\n }\n }\n }\n\n if (saveRowPendingEdits) saveRowPendingEdits(String(row.original.id));\n }, [saveRowPendingEdits, row.original, row.cells, inlineEditing, addPendingEdit, contextPendingEdits]);\n\n const handleUpdateCellData = (\n directValue?: string | boolean | null,\n meta?: { currency_code?: string | null; reference?: unknown | null;[key: string]: unknown | null } | null,\n ) => {\n const _item = { ...row.original };\n const updatedValue = directValue !== undefined ? directValue : editedCellValue;\n if (inlineEditing && updatedValue !== undefined) {\n _item[inlineEditing] = updatedValue;\n if (onRowEdit) onRowEdit(_item, index, inlineEditing, updatedValue, meta);\n if (removePendingEdit) removePendingEdit(String(row.original.id), inlineEditing);\n }\n handleCloseEdit();\n };\n\n const ref = useRef<HTMLElement>(null);\n\n const handleCellClick = (event: React.MouseEvent, data: string | Record<string, unknown>, idx: number, key: string) => {\n if (isCellClickDisabled) return;\n event?.stopPropagation();\n if (inlineEditing === key) return;\n\n if (onRowEdit) {\n if (inlineEditColumns?.includes(key)) {\n setInlineEditing(key);\n setEditedCellValue(String(row.original[key]));\n } else {\n const msg = tableConfig?.getSystemMessage?.('notAllowedInlineEdit') || 'Inline Edit is not allowed for this column';\n tableConfig?.showNotification?.('error', msg);\n }\n return;\n }\n\n if (onRowClick) {\n onRowClick(data, idx, row.original, rows?.map((_row: { original: unknown }) => _row.original) || []);\n } else if (!onRowClick && checkboxConfig) {\n const _id = row.original.id;\n const checkEvent = { target: { checked: !checkboxConfig.checkedIds.includes(_id) } };\n checkboxConfig.onItemCheck(checkEvent, _id);\n }\n };\n\n const toggleRowExpand = async () => {\n setLoadingExpand(true);\n if (getInnerRowData) {\n await getInnerRowData(row?.original?.id, row?.original, !(expandedRows?.[row?.original?.id as string]?.isOpen ?? false), row?.original?.__level || 0);\n }\n setLoadingExpand(false);\n };\n\n\n\n\n const totalWidth = useMemo(() => {\n return row.cells.filter((c: TableCell) => c.column?.visible).map((c: TableCell) => c.column?.width ?? 0).reduce((a: number, b: number) => a + b, 0);\n }, [row.cells]);\n\n const isDraggingOver = useMemo(() => {\n return dragConfig?.draggingOver && dragConfig?.draggingOver === row?.original?.id;\n }, [dragConfig, row?.original?.id]);\n\n const dropPosition = useMemo(() => {\n if (!isDraggingOver) return null;\n return dragConfig?.dropPosition || 'inside';\n }, [isDraggingOver, dragConfig?.dropPosition]);\n\n const isDraggingOverInside = Boolean(isDraggingOver && dropPosition === 'inside');\n\n const _meta = (row?.original?.__rowMetadata as TRowMetadata) || (row?.original?._meta as TRowMetadata | undefined);\n const _notHovering = rowHovering !== row?.original?.id;\n const _notLoading = !row?.original?.__isLoading;\n const _isNewRow = !!(\n _meta?.__is_new ||\n _meta?.__is_added ||\n row?.original?.is_added ||\n (currentData?.is_added as boolean) ||\n _meta?.is_added ||\n _meta?.is_new\n );\n const _isDeletedRow = !!(row?.original?.is_deleted || _meta?.__is_deleted || (currentData?.is_deleted as boolean) || _meta?.is_deleted);\n const _isModifiedRow =\n !!(\n row?.original?.is_modified ||\n row?.original?.is_row_modified ||\n _meta?.__is_modified ||\n _meta?.__is_edited ||\n (currentData?.is_row_modified as boolean) ||\n _meta?.is_modified\n ) && !_isNewRow;\n\n const bgColor = cn({\n 'bg-neutral-100 dark:bg-black-600': rowHovering === row?.original?.id && !isInlineEditing,\n 'bg-primary-50 dark:bg-black-700': !row?.original?.is_read && showNewItem && !row?.original?.__isLoading && _notHovering && !isInlineEditing,\n // 'bg-white dark:bg-black-700': cell.column.sticky && rowHovering !== id,\n 'bg-warning-50 dark:bg-warning-975': _isModifiedRow && _notLoading && _notHovering && !isInlineEditing,\n 'bg-error-50 dark:bg-error-975': _isDeletedRow && _notLoading && _notHovering && !isInlineEditing,\n 'bg-success-50 dark:bg-success-975': _isNewRow && _notLoading && _notHovering && !isInlineEditing,\n 'bg-primary-50 dark:bg-primary-900': isInlineEditing,\n [getTableRowBgClassNamesByStatus[row?.original?.__rowBgStatus as string]]: row?.original?.__rowBgStatus && !isInlineEditing,\n });\n\n return (\n <tr\n {...row.getRowProps()}\n ref={withDraggable || withSortable ? setNodeRef : null}\n key={row.original.id}\n data-row-id={row.original.id}\n className={cn(\n `text-neutral-900 dark:text-white cursor-pointer min-w-full relative ${checkboxConfig?.selectionDisabledRowIds?.includes(row?.original?.id) ? 'opacity-50' : ''} border-t`,\n isDragging ? 'z-40' : '',\n isOverOtherContext() ? 'shadow-dnd-drop' : '',\n withDraggable && over && over?.data?.current?.type === 'table-file-dropzone' && over?.data?.current?.folderId === row?.original?.id && row?.original?.type === 'folder' ? 'bg-primary-50' : '',\n row?.original?.isDefinedActionRow ? 'bg-primary-50' : '',\n isDraggingOverInside ? 'z-50' : '',\n bgColor ? bgColor : 'bg-white dark:bg-black-800',\n )}\n style={{ ...style, ...(withSortable ? dndStyles : {}), width: 'max-content' }}\n {...(withDraggable || withSortable ? attributes : {})}\n {...(withDraggable || withSortable ? listeners : {})}\n >\n {isDraggingOverInside && dragConfig?.dragOperation ? (\n <div className='absolute right-2 h-10 flex items-center z-20 pointer-events-none'>\n <div className='bg-primary-200 px-2 py-1 rounded'>\n {dragConfig?.dragOperation === 'COPY' ? (\n <AddRounded sx={{ fontSize: 12 }} className='text-primary-700' />\n ) : (\n <SubdirectoryArrowLeftRounded sx={{ fontSize: 12 }} className='text-primary-700' />\n )}\n </div>\n </div>\n ) : null}\n {isDraggingOverInside && !dragConfig?.dragOperation ? (\n <div className='absolute right-2 h-10 flex items-center z-20 pointer-events-none'>\n <SubdirectoryArrowLeftRounded sx={{ fontSize: 16 }} className='text-primary-500' />\n </div>\n ) : null}\n {isDraggingOver && dropPosition === 'before' && !row?.original?.isDefinedActionRow ? (\n <div className='absolute -top-[1px] left-0 right-0 h-[2px] bg-primary-500 z-20 pointer-events-none'>\n <div className='absolute left-0 top-1/2 -translate-y-1/2 w-2 h-2 rounded-full bg-primary-500' />\n </div>\n ) : null}\n {isDraggingOver && dropPosition === 'after' && !row?.original?.isDefinedActionRow ? (\n <div className='absolute -bottom-[1px] left-0 right-0 h-[2px] bg-primary-500 z-20 pointer-events-none'>\n <div className='absolute left-0 top-1/2 -translate-y-1/2 w-2 h-2 rounded-full bg-primary-500' />\n </div>\n ) : null}\n\n {row?.original?.isDefinedActionRow ? (\n <ActionCell\n cells={row.cells}\n id={row?.original?.id}\n isCheckbox={checkboxConfig}\n level={level}\n name={row?.original?.name as string}\n onClick={row?.original?.onClick as () => void}\n rowHovering={rowHovering || ''}\n isRoot={row?.original?.isRoot as boolean}\n totalWidth={totalWidth}\n row={row.original as Record<string, unknown>}\n uploadCell={row?.original?.uploadCell as boolean}\n disabled={row?.original?.disabled as boolean}\n disabledTooltip={row?.original?.disabledTooltip as string}\n />\n ) : RowWrapper ? (\n <RowWrapper data={row.original} setIsDraggingFile={setIsDraggingFile}>\n <RowContent\n isDraggingOver={isDraggingOverInside}\n level={level}\n withDraggable={withDraggable}\n setDroppableNodeRef={setDroppableNodeRef}\n isLastRow={isLastRow}\n lastRow={lastRow}\n isCheckbox={isCheckbox}\n checkboxConfig={checkboxConfig}\n row={row}\n rowHovering={rowHovering}\n tableActions={tableActions}\n disableOptionsForRowIndex={disableOptionsForRowIndex}\n index={index}\n showNewItem={showNewItem}\n currentData={currentData}\n lastNonStickyColumnIndex={lastNonStickyColumnIndex}\n getSumOfNextVisibleColumnWidth={getSumOfNextVisibleColumnWidth}\n toggleRowExpand={toggleRowExpand}\n loadingExpand={loadingExpand}\n cellRef={ref}\n handleCellClick={handleCellClick}\n getFullRowDataOnClick={getFullRowDataOnClick}\n handleCellValueChange={handleCellValueChange}\n handleUpdateCellData={handleUpdateCellData}\n handleRowCancelEdit={handleRowCancelEdit}\n handleRowConfirmEdit={handleRowConfirmEdit}\n registerValidation={registerValidation}\n inlineEditing={inlineEditing}\n isInlineEditing={isInlineEditing}\n setRowHovering={setRowHovering}\n highlightSubstring={highlightSubstring}\n rowOptions={rowOptions}\n isDraggingFile={isDraggingFile}\n rowAdditionalActions={rowAdditionalActions}\n hoverConfig={hoverConfig}\n />\n </RowWrapper>\n ) : (\n <RowContent\n level={level}\n withDraggable={withDraggable}\n setDroppableNodeRef={setDroppableNodeRef}\n isLastRow={isLastRow}\n lastRow={lastRow}\n isCheckbox={isCheckbox}\n checkboxConfig={checkboxConfig}\n row={row}\n rowHovering={rowHovering}\n tableActions={tableActions}\n disableOptionsForRowIndex={disableOptionsForRowIndex}\n index={index}\n showNewItem={showNewItem}\n currentData={currentData}\n lastNonStickyColumnIndex={lastNonStickyColumnIndex}\n getSumOfNextVisibleColumnWidth={getSumOfNextVisibleColumnWidth}\n toggleRowExpand={toggleRowExpand}\n loadingExpand={loadingExpand}\n cellRef={ref}\n handleCellClick={handleCellClick}\n getFullRowDataOnClick={getFullRowDataOnClick}\n handleCellValueChange={handleCellValueChange}\n handleUpdateCellData={handleUpdateCellData}\n handleRowCancelEdit={handleRowCancelEdit}\n handleRowConfirmEdit={handleRowConfirmEdit}\n registerValidation={registerValidation}\n inlineEditing={inlineEditing}\n isInlineEditing={isInlineEditing}\n setRowHovering={setRowHovering}\n highlightSubstring={highlightSubstring}\n rowOptions={rowOptions}\n isDraggingFile={isDraggingFile}\n isDraggingOver={isDraggingOverInside}\n rowAdditionalActions={rowAdditionalActions}\n hoverConfig={hoverConfig}\n />\n )}\n </tr>\n );\n};\n\ninterface RowContentProps {\n withDraggable?: boolean;\n setDroppableNodeRef: (node: HTMLElement | null) => void;\n isLastRow?: boolean;\n lastRow?: unknown;\n isCheckbox: boolean;\n checkboxConfig: Record<string, unknown> | null;\n row: TableRowData;\n rowHovering: string | number | null;\n tableActions?: ((rowData: Record<string, unknown>, index: number) => React.ReactNode) | null;\n disableOptionsForRowIndex?: number | null;\n index: number;\n showNewItem?: boolean;\n currentData: Record<string, unknown> | null;\n lastNonStickyColumnIndex?: (() => number | null) | null;\n getSumOfNextVisibleColumnWidth?: (index: number) => number | null;\n toggleRowExpand: () => Promise<void>;\n loadingExpand: boolean;\n cellRef: React.RefObject<HTMLElement | null>;\n handleCellClick: (event: React.MouseEvent, data: string | Record<string, unknown>, idx: number, key: string) => void;\n getFullRowDataOnClick?: boolean;\n handleCellValueChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n handleUpdateCellData: (directValue?: string | boolean | null, meta?: Record<string, unknown> | null) => void;\n handleRowCancelEdit: () => void;\n handleRowConfirmEdit: () => void;\n registerValidation: (fn: () => { isValid: boolean; value?: string | boolean | null; meta?: Record<string, unknown> | null }) => void;\n inlineEditing: string | null;\n isInlineEditing: boolean;\n setRowHovering: (id: string | number | null) => void;\n highlightSubstring?: (value: string) => React.ReactNode;\n rowOptions?: TRowOption[] | ((rowData: Record<string, unknown>) => TRowOption[] | null) | null;\n level?: number;\n isDraggingFile?: boolean;\n isDraggingOver?: boolean;\n rowAdditionalActions?: unknown;\n hoverConfig?: { onHover?: (data: Record<string, unknown>) => React.ReactNode };\n}\n\nconst RowContent = ({\n withDraggable,\n setDroppableNodeRef,\n isLastRow,\n lastRow,\n isCheckbox,\n checkboxConfig,\n row,\n rowHovering,\n tableActions,\n disableOptionsForRowIndex,\n index,\n showNewItem,\n currentData,\n lastNonStickyColumnIndex,\n getSumOfNextVisibleColumnWidth,\n toggleRowExpand,\n loadingExpand,\n cellRef,\n handleCellClick,\n getFullRowDataOnClick,\n handleCellValueChange,\n handleUpdateCellData,\n handleRowCancelEdit,\n handleRowConfirmEdit,\n registerValidation,\n inlineEditing,\n isInlineEditing,\n setRowHovering,\n highlightSubstring,\n rowOptions,\n level,\n isDraggingFile,\n isDraggingOver,\n rowAdditionalActions,\n hoverConfig,\n}: RowContentProps) => {\n const [isRowContentHovering, setIsRowContentHovering] = useState(false);\n const {\n getPendingEdit: getPendingEditFn,\n hasPendingEdit: hasPendingEditFn,\n pendingEdits,\n tableHeaders,\n pendingEditsCount,\n scrollToCell,\n } = useContext(TableContext);\n const rowHasPendingEdits = pendingEdits?.[row.original.id] && Object.keys(pendingEdits[row.original.id]).length > 0;\n const tableHasAnyPendingEdits = (pendingEditsCount ?? 0) > 0;\n const resolvedRowOptions = useMemo<TRowOption[]>(() => {\n if (Array.isArray(rowOptions)) return rowOptions;\n if (typeof rowOptions === 'function') {\n const options = rowOptions({ ...row.original, rowIndex: index });\n return Array.isArray(options) ? options : [];\n }\n return [];\n }, [rowOptions, row.original, index]);\n\n\n const _meta = (row?.original?.__rowMetadata as TRowMetadata | undefined) || (row?.original?._meta as TRowMetadata | undefined);\n const _notHovering = rowHovering !== row?.original?.id;\n const _notLoading = !row?.original?.__isLoading;\n const _isNewRow = !!(\n _meta?.__is_new ||\n _meta?.__is_added ||\n row?.original?.is_added ||\n (currentData?.is_added as boolean) ||\n _meta?.is_added ||\n _meta?.is_new\n );\n const _isDeletedRow = !!(row?.original?.is_deleted || _meta?.__is_deleted || (currentData?.is_deleted as boolean) || _meta?.is_deleted);\n const _isModifiedRow =\n !!(\n row?.original?.is_modified ||\n row?.original?.is_row_modified ||\n _meta?.__is_modified ||\n _meta?.__is_edited ||\n (currentData?.is_row_modified as boolean) ||\n _meta?.is_deleted\n ) && !_isNewRow;\n\n const statusBorderClass = cn({\n 'border-l-[3px] border-l-success-400 dark:border-l-success-500': _isNewRow && _notLoading && _notHovering && !isInlineEditing,\n 'border-l-[3px] border-l-error-400 dark:border-l-error-500': _isDeletedRow && _notLoading && _notHovering && !isInlineEditing,\n 'border-l-[3px] border-l-warning-400 dark:border-l-warning-500': _isModifiedRow && _notLoading && _notHovering && !isInlineEditing,\n });\n\n return (\n <div\n ref={withDraggable ? setDroppableNodeRef : null}\n className={isDraggingOver ? 'border-2 border-primary-400 dark:border-primary-500 rounded-sm' : ''}\n >\n <div className={cn('flex', statusBorderClass)} ref={isLastRow ? (lastRow as React.Ref<HTMLDivElement>) : null}>\n {tableHasAnyPendingEdits && (\n <PendingEditCell\n rowId={String(row.original.id)}\n rowIndex={index}\n pendingEdits={pendingEdits}\n tableHeaders={tableHeaders}\n rowHasPendingEdits={!!rowHasPendingEdits}\n rowHovering={rowHovering != null ? String(rowHovering) : undefined}\n isInlineEditing={isInlineEditing}\n is_read={!!row.original.is_read}\n is_modified={_isModifiedRow}\n is_row_modified={!!row.original.is_row_modified}\n is_deleted={_isDeletedRow}\n is_added={_isNewRow}\n is_incomplete={row?.original?.status === 'Incomplete'}\n showNewItem={showNewItem}\n onScrollToCell={scrollToCell}\n />\n )}\n\n {isCheckbox && (\n <CheckboxCell\n checkboxConfig={checkboxConfig as never}\n id={String(row.original.id)}\n rowHovering={rowHovering != null ? String(rowHovering) : undefined}\n isDisabled={!!row?.original?.__isLoading}\n isDraggingOver={isDraggingOver}\n is_added={_isNewRow}\n is_deleted={_isDeletedRow}\n is_incomplete={row?.original?.status === 'Incomplete'}\n is_modified={_isModifiedRow}\n is_read={!!row.original.is_read}\n is_row_modified={!!row.original.is_row_modified}\n showNewItem={showNewItem}\n currentData={currentData ?? {}}\n bgColor={row?.original?.__rowBgStatus ? getTableRowBgClassNamesByStatus[row?.original?.__rowBgStatus as string] : undefined}\n isInlineEditing={isInlineEditing}\n hasPendingEditsColumn={tableHasAnyPendingEdits}\n rowHasPendingEdits={rowHasPendingEdits}\n />\n )}\n\n {tableActions ? (\n <RowActionCell\n tableActions={tableActions as (rowData: Record<string, unknown>, index: number) => JSX.Element}\n disableOptionsForRowIndex={disableOptionsForRowIndex ?? null}\n id={String(row.original.id)}\n index={index}\n is_read={!!row?.original?.is_read}\n is_incomplete={row?.original?.status === 'Incomplete'}\n showNewItem={!!showNewItem}\n is_modified={_isModifiedRow}\n is_row_modified={!!row?.original?.is_row_modified}\n is_deleted={_isDeletedRow}\n currentData={currentData ?? {}}\n is_added={_isNewRow}\n rowData={row.original as Record<string, unknown>}\n rowHovering={rowHovering}\n isDisabled={!!row?.original?.__isLoading}\n bgColor={isDraggingFile ? 'bg-primary-50' : row?.original?.__rowBgStatus ? getTableRowBgClassNamesByStatus[row?.original?.__rowBgStatus as string] : undefined}\n isInlineEditing={isInlineEditing}\n rowHasPendingEdits={rowHasPendingEdits}\n />\n ) : null}\n\n <div\n className='relative flex-1'\n id={`row-${row.original.id}`}\n onMouseEnter={() => setIsRowContentHovering(true)}\n onMouseLeave={() => setIsRowContentHovering(false)}\n >\n {row.cells\n .filter((cell: TableCell) => cell?.column?.visible !== false)\n .map((cell: TableCell, y: number) => {\n const isLastCell = y === lastNonStickyColumnIndex?.();\n const isFirstStickyCell = y === (lastNonStickyColumnIndex?.() ?? -1) + 1;\n const nextWidthSum = cell?.column?.sticky ? (getSumOfNextVisibleColumnWidth?.(y) ?? 0) : 0;\n\n if (row.original?.__isLoading) {\n return (\n <LoaderCell cell={cell as unknown as { column: { width: number; sticky?: boolean; sequence?: number } }} id={y} nextWidthSum={nextWidthSum} isLastCell={isLastCell} rowHovering={rowHovering} index={y} key={y} isFirstStickyCell={isFirstStickyCell} />\n );\n }\n\n const pendingEdit = getPendingEditFn?.(String(row.original.id), cell?.column?.key || '');\n const hasPending = hasPendingEditFn?.(String(row.original.id), cell?.column?.key || '');\n\n return (\n <DataCell\n cell={cell as unknown as import('../../types').ICell}\n rowHovering={rowHovering}\n isFirstStickyCell={isFirstStickyCell}\n level={level ?? 0}\n toggleRowExpand={toggleRowExpand}\n loadingExpand={loadingExpand}\n key={cell?.column?.key}\n index={y}\n cellRef={cellRef as React.RefObject<HTMLDivElement>}\n currentData={currentData as { is_row_modified?: boolean; is_deleted?: boolean; is_added?: boolean }}\n handleCellClick={(e?: React.MouseEvent) => { if (e) handleCellClick(e, getFullRowDataOnClick ? row.original : String(row.original.id), y, cell?.column?.key || ''); }}\n handleCellValueChange={handleCellValueChange}\n handleUpdateCellData={handleUpdateCellData}\n registerValidation={registerValidation}\n id={row.original.id}\n inlineEditing={inlineEditing}\n isInlineEditing={isInlineEditing}\n isLastCell={isLastCell}\n is_incomplete={row?.original?.status === 'Incomplete'}\n is_added={_isNewRow}\n is_deleted={_isDeletedRow}\n is_modified={_isModifiedRow}\n is_read={!!row.original.is_read}\n is_row_modified={!!row.original.is_row_modified}\n nextWidthSum={nextWidthSum}\n setRowHovering={setRowHovering}\n highlightSubstring={highlightSubstring as ((value: string) => JSX.Element) | undefined}\n isDraggingOver={isDraggingOver}\n isLoading={!!row?.original?.__isLoading}\n pendingEdit={pendingEdit}\n hasPendingEdit={hasPending}\n pendingValidationError={pendingEdit?.validationError}\n />\n );\n })}\n\n {hoverConfig?.onHover &&\n isRowContentHovering &&\n createPortal(\n <div className='absolute top-full left-10 z-50 bg-white dark:bg-black-800 rounded-xl'>{hoverConfig.onHover(row.original) as React.ReactNode}</div>,\n document.getElementById(`row-${row.original.id}`) as HTMLElement,\n )}\n </div>\n\n {(resolvedRowOptions.length > 0 || !!rowAdditionalActions) && (\n <RowOptionsCell\n rowId={row.original.id}\n rowOptions={resolvedRowOptions}\n disableOption={disableOptionsForRowIndex !== null || !!row?.original?.__isLoading}\n rowHovering={rowHovering}\n setRowHovering={setRowHovering}\n is_read={!!row.original.is_read}\n showNewItem={!!showNewItem}\n is_modified={_isModifiedRow}\n is_row_modified={!!row.original.is_row_modified}\n is_incomplete={row?.original?.status === 'Incomplete'}\n currentData={currentData ?? {}}\n is_deleted={_isDeletedRow}\n is_added={_isNewRow}\n isDraggingOver={!!isDraggingOver}\n rowAdditionalActions={rowAdditionalActions as (rowData: Record<string, unknown>, index: number, isHovering: boolean) => React.ReactNode}\n rowData={row.original as Record<string, unknown>}\n index={index}\n bgColor={row?.original?.__rowBgStatus ? getTableRowBgClassNamesByStatus[row?.original?.__rowBgStatus as string] : undefined}\n isInlineEditing={isInlineEditing}\n onConfirmEdit={handleRowConfirmEdit}\n onCancelEdit={handleRowCancelEdit}\n rowHasPendingEdits={rowHasPendingEdits}\n />\n )}\n </div>\n </div>\n );\n};\n"],"names":["Row","row","isLastRow","lastRow","highlightSubstring","index","style","level","expandedRows","rows","lastNonStickyColumnIndex","checkboxConfig","onRowClick","rowOptions","disableOptionsForRowIndex","getSumOfNextVisibleColumnWidth","onRowEdit","inlineEditColumns","tableActions","dndSortableUtils","withSortable","withDraggable","getInnerRowData","showNewItem","rawData","dragConfig","getFullRowDataOnClick","RowWrapper","isCellClickDisabled","rowAdditionalActions","hoverConfig","addPendingEdit","removePendingEdit","fieldOperationLoading","clearRowPendingEdits","saveRowPendingEdits","contextPendingEdits","useContext","TableContext","tableConfig","useTableConfig","isCheckbox","activeInlineEdit","setActiveInlineEdit","inlineEditing","isInlineEditing","setInlineEditing","columnKey","rowHovering","setRowHovering","useState","editedCellValue","setEditedCellValue","currentData","setCurrentData","loadingExpand","setLoadingExpand","isDraggingFile","setIsDraggingFile","prevInlineEditingRef","useRef","useEffect","wasEditing","isNowEditing","pendingEdit","currentCell","c","result","validateCellValue","idKey","sortableResult","useSortable","draggableResult","useDraggable","listeners","transform","setNodeRef","isDragging","attributes","active","over","rest","setDroppableNodeRef","useDroppable","dndStyles","CSS","isOverOtherContext","handleCellValueChange","e","handleCloseEdit","validationRef","registerValidation","useCallback","validateFn","tableConfigRef","handleRowCancelEdit","handleRowConfirmEdit","pendingValue","valueToValidate","handleUpdateCellData","directValue","meta","_item","updatedValue","ref","handleCellClick","event","data","idx","key","msg","_row","_id","checkEvent","toggleRowExpand","totalWidth","useMemo","a","b","isDraggingOver","dropPosition","isDraggingOverInside","_meta","_notHovering","_notLoading","_isNewRow","_isDeletedRow","_isModifiedRow","bgColor","cn","getTableRowBgClassNamesByStatus","createElement","jsx","AddRounded","SubdirectoryArrowLeftRounded","ActionCell","RowContent","cellRef","isRowContentHovering","setIsRowContentHovering","getPendingEditFn","hasPendingEditFn","pendingEdits","tableHeaders","pendingEditsCount","scrollToCell","rowHasPendingEdits","tableHasAnyPendingEdits","resolvedRowOptions","options","statusBorderClass","jsxs","PendingEditCell","CheckboxCell","RowActionCell","cell","y","isLastCell","isFirstStickyCell","nextWidthSum","LoaderCell","hasPending","DataCell","createPortal","RowOptionsCell"],"mappings":"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"}
1
+ {"version":3,"file":"row.es.js","sources":["../../../../../../src/components/data-display/infinite-table/body/rows/row.tsx"],"sourcesContent":["import { getTableRowBgClassNamesByStatus } from '../../../../../constants/table';\nimport { useTableConfig } from '../../../../../providers/design-system-provider/hooks';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { SubdirectoryArrowLeftRounded } from '@mui/icons-material';\nimport AddRounded from '@mui/icons-material/AddRounded';\nimport cn from 'classnames';\nimport React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { TableContext } from '../../context';\nimport { ActionCell } from '../cell/ActionCell';\nimport { CheckboxCell } from '../cell/CheckboxCell';\nimport { DataCell } from '../cell/DataCell';\nimport { validateCellValue } from '../../validateCell';\nimport { LoaderCell } from '../cell/LoaderCell';\nimport { PendingEditCell } from '../cell/PendingEditCell';\nimport { RowActionCell } from '../cell/RowActionCell';\nimport { RowOptionsCell } from '../cell/RowOptionsCell';\n\ntype TRowMetadata = {\n is_modified: object;\n is_new: boolean;\n is_deleted: boolean;\n is_added: boolean;\n __is_modified?: boolean;\n __is_edited?: boolean;\n __is_deleted?: boolean;\n __is_new?: boolean;\n __is_added?: boolean;\n};\n\ninterface TableCell {\n column: {\n key?: string;\n visible?: boolean;\n width?: number;\n sticky?: boolean;\n Header?: string;\n type?: string;\n is_required?: boolean;\n meta?: Record<string, unknown>;\n [key: string]: unknown;\n };\n value?: unknown;\n [key: string]: unknown;\n}\n\ninterface RowOriginal {\n id: string | number;\n is_read?: boolean;\n is_modified?: boolean;\n is_row_modified?: boolean;\n is_deleted?: boolean;\n is_added?: boolean;\n status?: string;\n type?: string;\n __isLoading?: boolean;\n __level?: number;\n __rowBgStatus?: string;\n __rowMetadata?: { __is_modified?: boolean };\n isDefinedActionRow?: boolean;\n isRoot?: boolean;\n name?: string | { props?: { text?: string } };\n onClick?: () => void;\n uploadCell?: boolean;\n disabled?: boolean;\n disabledTooltip?: string;\n [key: string]: unknown;\n}\n\ninterface TableRowData {\n original: RowOriginal;\n cells: TableCell[];\n getRowProps: () => Record<string, unknown>;\n index: number;\n [key: string]: unknown;\n}\n\ntype TRowOption = {\n key: string;\n label: React.ReactNode;\n isVisible?: boolean;\n [k: string]: unknown;\n};\n\ntype TProps = {\n row: TableRowData;\n isLastRow?: boolean;\n lastRow?: unknown;\n getSubRows?: () => unknown;\n prepareRow?: (row: unknown) => void;\n highlightSubstring?: (value: string) => JSX.Element;\n index: number;\n style?: Record<string, unknown>;\n visibleSubRowIds?: Record<string, unknown>;\n rowsLength?: number;\n level?: number;\n columns?: Record<string, unknown>;\n expandedRows?: Record<string, { isOpen: boolean }>;\n rows?: Array<{ original: unknown }>;\n};\n\nexport const Row = ({ row, isLastRow, lastRow, highlightSubstring, index, style, level = 0, expandedRows, rows }: TProps) => {\n const {\n lastNonStickyColumnIndex,\n checkboxConfig,\n onRowClick,\n rowOptions,\n disableOptionsForRowIndex = null,\n getSumOfNextVisibleColumnWidth,\n onRowEdit,\n inlineEditColumns,\n tableActions,\n dndSortableUtils,\n withSortable,\n withDraggable,\n getInnerRowData,\n showNewItem,\n rawData,\n dragConfig,\n getFullRowDataOnClick,\n rowWrapper: RowWrapper,\n isCellClickDisabled,\n rowAdditionalActions,\n hoverConfig,\n addPendingEdit,\n removePendingEdit,\n fieldOperationLoading,\n clearRowPendingEdits,\n saveRowPendingEdits,\n pendingEdits: contextPendingEdits,\n } = useContext(TableContext);\n\n const tableConfig = useTableConfig();\n\n const isCheckbox = Boolean(checkboxConfig);\n const { activeInlineEdit, setActiveInlineEdit } = useContext(TableContext);\n const inlineEditing = activeInlineEdit?.rowId === row.original.id ? activeInlineEdit?.columnKey : null;\n const isInlineEditing = Boolean(inlineEditing);\n const setInlineEditing = (columnKey: string | null) => {\n if (columnKey === null) setActiveInlineEdit?.(null);\n else setActiveInlineEdit?.({ rowId: String(row.original.id), columnKey });\n };\n const [rowHovering, setRowHovering] = useState<string | number | null>(null);\n const [editedCellValue, setEditedCellValue] = useState<string | null>(null);\n const [currentData, setCurrentData] = useState<Record<string, unknown> | null>(null);\n const [loadingExpand, setLoadingExpand] = useState(false);\n const [isDraggingFile, setIsDraggingFile] = useState(false);\n\n const prevInlineEditingRef = useRef<string | null>(null);\n useEffect(() => {\n const wasEditing = prevInlineEditingRef.current;\n const isNowEditing = inlineEditing;\n\n if (wasEditing && !isNowEditing) {\n const pendingEdit = contextPendingEdits?.[row.original.id]?.[wasEditing];\n if (pendingEdit) {\n const currentCell = row.cells?.find((c: TableCell) => c.column?.key === wasEditing);\n if (currentCell) {\n const result = validateCellValue(pendingEdit.value, currentCell.column as { type?: string; is_required?: boolean });\n if (!result.isValid && addPendingEdit) {\n addPendingEdit(String(row.original.id), wasEditing, {\n ...pendingEdit,\n validationError: result.error,\n });\n }\n }\n }\n }\n\n prevInlineEditingRef.current = isNowEditing ?? null;\n }, [inlineEditing, row.original.id, row.cells, contextPendingEdits, addPendingEdit]);\n\n useEffect(() => {\n if (rawData) {\n const idKey = String(row?.original?.id);\n setCurrentData(rawData[idKey]?.[row?.cells[0].column.Header as string] || rawData[idKey]?.[0]);\n }\n }, [rawData, row?.original?.id, row?.cells]);\n\n const sortableResult = useSortable({ id: row.original.id, data: { ...row.original }, disabled: !withSortable });\n const draggableResult = useDraggable({ id: row.original.id, data: { ...row.original }, disabled: !!withSortable });\n const { listeners, transform, setNodeRef, isDragging, attributes, active, over, ...rest } = withSortable\n ? sortableResult\n : draggableResult;\n\n const { setNodeRef: setDroppableNodeRef } = useDroppable({\n id: `table-file-dropzone-${row?.original?.id}`,\n data: { type: 'table-file-dropzone', folderId: row?.original?.id, isFolder: row?.original?.type === 'folder' },\n });\n\n const dndStyles = {\n transform: CSS.Transform.toString(transform),\n transition: withSortable ? (rest as { transition?: string }).transition : undefined,\n cursor: isDragging ? 'grabbing' : 'grab',\n opacity: isDragging ? '0.5' : '1',\n };\n\n const isOverOtherContext = (): boolean => {\n if (!active || !over || !withSortable) return false;\n if (dndSortableUtils?.checkOverEachItem) return dndSortableUtils.checkOverEachItem(active, over) && Boolean(over);\n return active.data.current?.type !== over.data.current?.type && Boolean(over);\n };\n\n const handleCellValueChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setEditedCellValue(e.target.value);\n };\n\n const handleCloseEdit = () => {\n if (fieldOperationLoading) return;\n setInlineEditing(null);\n };\n\n const validationRef = useRef<(() => { isValid: boolean; value?: string | boolean | null; meta?: Record<string, unknown> | null }) | null>(null);\n\n const registerValidation = useCallback(\n (validateFn: () => { isValid: boolean; value?: string | boolean | null; meta?: Record<string, unknown> | null }) => {\n validationRef.current = validateFn;\n },\n [],\n );\n\n const tableConfigRef = useRef(tableConfig);\n tableConfigRef.current = tableConfig;\n\n const handleRowCancelEdit = useCallback(() => {\n if (clearRowPendingEdits) clearRowPendingEdits(String(row.original.id));\n }, [clearRowPendingEdits, row.original.id]);\n\n const handleRowConfirmEdit = useCallback(() => {\n if (validationRef.current) {\n const result = validationRef.current();\n if (!result.isValid) return;\n if (inlineEditing && result.value !== undefined && addPendingEdit) {\n addPendingEdit(String(row.original.id), inlineEditing, {\n value: result.value,\n originalValue: row.original[inlineEditing],\n meta: result.meta || undefined,\n });\n }\n } else if (inlineEditing) {\n const currentCell = row.cells?.find((c: TableCell) => c.column?.key === inlineEditing);\n if (currentCell) {\n const pendingValue = contextPendingEdits?.[row.original.id]?.[inlineEditing]?.value;\n const valueToValidate = pendingValue !== undefined ? pendingValue : currentCell.value;\n const result = validateCellValue(valueToValidate as string | boolean | null | undefined, currentCell.column as { type?: string; is_required?: boolean });\n if (!result.isValid) {\n tableConfigRef.current?.showNotification?.('error', result.error || 'Validation failed');\n return;\n }\n }\n }\n\n if (saveRowPendingEdits) saveRowPendingEdits(String(row.original.id));\n }, [saveRowPendingEdits, row.original, row.cells, inlineEditing, addPendingEdit, contextPendingEdits]);\n\n const handleUpdateCellData = (\n directValue?: string | boolean | null,\n meta?: { currency_code?: string | null; reference?: unknown | null;[key: string]: unknown | null } | null,\n ) => {\n const _item = { ...row.original };\n const updatedValue = directValue !== undefined ? directValue : editedCellValue;\n if (inlineEditing && updatedValue !== undefined) {\n _item[inlineEditing] = updatedValue;\n if (onRowEdit) onRowEdit(_item, index, inlineEditing, updatedValue, meta);\n if (removePendingEdit) removePendingEdit(String(row.original.id), inlineEditing);\n }\n handleCloseEdit();\n };\n\n const ref = useRef<HTMLElement>(null);\n\n const handleCellClick = (event: React.MouseEvent, data: string | Record<string, unknown>, idx: number, key: string) => {\n if (isCellClickDisabled) return;\n event?.stopPropagation();\n if (inlineEditing === key) return;\n\n if (onRowEdit) {\n if (inlineEditColumns?.includes(key)) {\n setInlineEditing(key);\n setEditedCellValue(String(row.original[key]));\n } else {\n const msg = tableConfig?.getSystemMessage?.('notAllowedInlineEdit') || 'Inline Edit is not allowed for this column';\n tableConfig?.showNotification?.('error', msg);\n }\n return;\n }\n\n if (onRowClick) {\n onRowClick(data, idx, row.original, rows?.map((_row: { original: unknown }) => _row.original) || []);\n } else if (!onRowClick && checkboxConfig) {\n const _id = row.original.id;\n const checkEvent = { target: { checked: !checkboxConfig.checkedIds.includes(_id) } };\n checkboxConfig.onItemCheck(checkEvent, _id);\n }\n };\n\n const toggleRowExpand = async () => {\n setLoadingExpand(true);\n if (getInnerRowData) {\n await getInnerRowData(row?.original?.id, row?.original, !(expandedRows?.[row?.original?.id as string]?.isOpen ?? false), row?.original?.__level || 0);\n }\n setLoadingExpand(false);\n };\n\n\n\n\n const totalWidth = useMemo(() => {\n return row.cells.filter((c: TableCell) => c.column?.visible).map((c: TableCell) => c.column?.width ?? 0).reduce((a: number, b: number) => a + b, 0);\n }, [row.cells]);\n\n const isDraggingOver = useMemo(() => {\n return dragConfig?.draggingOver && dragConfig?.draggingOver === row?.original?.id;\n }, [dragConfig, row?.original?.id]);\n\n const dropPosition = useMemo(() => {\n if (!isDraggingOver) return null;\n return dragConfig?.dropPosition || 'inside';\n }, [isDraggingOver, dragConfig?.dropPosition]);\n\n const isDraggingOverInside = Boolean(isDraggingOver && dropPosition === 'inside');\n\n const _meta = (row?.original?.__rowMetadata as TRowMetadata) || (row?.original?._meta as TRowMetadata | undefined);\n const _notHovering = rowHovering !== row?.original?.id;\n const _notLoading = !row?.original?.__isLoading;\n const _isNewRow = !!(\n _meta?.__is_new ||\n _meta?.__is_added ||\n row?.original?.is_added ||\n (currentData?.is_added as boolean) ||\n _meta?.is_added ||\n _meta?.is_new\n );\n const _isDeletedRow = !!(row?.original?.is_deleted || _meta?.__is_deleted || (currentData?.is_deleted as boolean) || _meta?.is_deleted);\n const _isModifiedRow =\n !!(\n row?.original?.is_modified ||\n row?.original?.is_row_modified ||\n _meta?.__is_modified ||\n _meta?.__is_edited ||\n (currentData?.is_row_modified as boolean) ||\n _meta?.is_modified\n ) && !_isNewRow;\n\n const bgColor = cn({\n 'bg-neutral-100 dark:bg-black-600': rowHovering === row?.original?.id && !isInlineEditing,\n 'bg-primary-50 dark:bg-black-700': !row?.original?.is_read && showNewItem && !row?.original?.__isLoading && _notHovering && !isInlineEditing,\n // 'bg-white dark:bg-black-700': cell.column.sticky && rowHovering !== id,\n 'bg-warning-50 dark:bg-warning-975': _isModifiedRow && _notLoading && _notHovering && !isInlineEditing,\n 'bg-error-50 dark:bg-error-975': _isDeletedRow && _notLoading && _notHovering && !isInlineEditing,\n 'bg-success-50 dark:bg-success-975': _isNewRow && _notLoading && _notHovering && !isInlineEditing,\n 'bg-primary-50 dark:bg-primary-900': isInlineEditing,\n [getTableRowBgClassNamesByStatus[row?.original?.__rowBgStatus as string]]: row?.original?.__rowBgStatus && !isInlineEditing,\n });\n\n return (\n <tr\n {...row.getRowProps()}\n ref={withDraggable || withSortable ? setNodeRef : null}\n key={row.original.id}\n data-row-id={row.original.id}\n className={cn(\n `text-neutral-900 dark:text-white cursor-pointer min-w-full relative ${checkboxConfig?.selectionDisabledRowIds?.includes(row?.original?.id) ? 'opacity-50' : ''} border-t`,\n isDragging ? 'z-40' : '',\n isOverOtherContext() ? 'shadow-dnd-drop' : '',\n withDraggable && over && over?.data?.current?.type === 'table-file-dropzone' && over?.data?.current?.folderId === row?.original?.id && row?.original?.type === 'folder' ? 'bg-primary-50' : '',\n row?.original?.isDefinedActionRow ? 'bg-primary-50' : '',\n isDraggingOverInside ? 'z-50' : '',\n bgColor ? bgColor : 'bg-white dark:bg-black-800',\n )}\n style={{ ...style, ...(withSortable ? dndStyles : {}), width: 'max-content' }}\n {...(withDraggable || withSortable ? attributes : {})}\n {...(withDraggable || withSortable ? listeners : {})}\n >\n {isDraggingOverInside && dragConfig?.dragOperation ? (\n <div className='absolute right-2 h-row flex items-center z-20 pointer-events-none'>\n <div className='bg-primary-200 px-2 py-1 rounded'>\n {dragConfig?.dragOperation === 'COPY' ? (\n <AddRounded sx={{ fontSize: 12 }} className='text-primary-700' />\n ) : (\n <SubdirectoryArrowLeftRounded sx={{ fontSize: 12 }} className='text-primary-700' />\n )}\n </div>\n </div>\n ) : null}\n {isDraggingOverInside && !dragConfig?.dragOperation ? (\n <div className='absolute right-2 h-row flex items-center z-20 pointer-events-none'>\n <SubdirectoryArrowLeftRounded sx={{ fontSize: 16 }} className='text-primary-500' />\n </div>\n ) : null}\n {isDraggingOver && dropPosition === 'before' && !row?.original?.isDefinedActionRow ? (\n <div className='absolute -top-[1px] left-0 right-0 h-[2px] bg-primary-500 z-20 pointer-events-none'>\n <div className='absolute left-0 top-1/2 -translate-y-1/2 w-2 h-2 rounded-full bg-primary-500' />\n </div>\n ) : null}\n {isDraggingOver && dropPosition === 'after' && !row?.original?.isDefinedActionRow ? (\n <div className='absolute -bottom-[1px] left-0 right-0 h-[2px] bg-primary-500 z-20 pointer-events-none'>\n <div className='absolute left-0 top-1/2 -translate-y-1/2 w-2 h-2 rounded-full bg-primary-500' />\n </div>\n ) : null}\n\n {row?.original?.isDefinedActionRow ? (\n <ActionCell\n cells={row.cells}\n id={row?.original?.id}\n isCheckbox={checkboxConfig}\n level={level}\n name={row?.original?.name as string}\n onClick={row?.original?.onClick as () => void}\n rowHovering={rowHovering || ''}\n isRoot={row?.original?.isRoot as boolean}\n totalWidth={totalWidth}\n row={row.original as Record<string, unknown>}\n uploadCell={row?.original?.uploadCell as boolean}\n disabled={row?.original?.disabled as boolean}\n disabledTooltip={row?.original?.disabledTooltip as string}\n />\n ) : RowWrapper ? (\n <RowWrapper data={row.original} setIsDraggingFile={setIsDraggingFile}>\n <RowContent\n isDraggingOver={isDraggingOverInside}\n level={level}\n withDraggable={withDraggable}\n setDroppableNodeRef={setDroppableNodeRef}\n isLastRow={isLastRow}\n lastRow={lastRow}\n isCheckbox={isCheckbox}\n checkboxConfig={checkboxConfig}\n row={row}\n rowHovering={rowHovering}\n tableActions={tableActions}\n disableOptionsForRowIndex={disableOptionsForRowIndex}\n index={index}\n showNewItem={showNewItem}\n currentData={currentData}\n lastNonStickyColumnIndex={lastNonStickyColumnIndex}\n getSumOfNextVisibleColumnWidth={getSumOfNextVisibleColumnWidth}\n toggleRowExpand={toggleRowExpand}\n loadingExpand={loadingExpand}\n cellRef={ref}\n handleCellClick={handleCellClick}\n getFullRowDataOnClick={getFullRowDataOnClick}\n handleCellValueChange={handleCellValueChange}\n handleUpdateCellData={handleUpdateCellData}\n handleRowCancelEdit={handleRowCancelEdit}\n handleRowConfirmEdit={handleRowConfirmEdit}\n registerValidation={registerValidation}\n inlineEditing={inlineEditing}\n isInlineEditing={isInlineEditing}\n setRowHovering={setRowHovering}\n highlightSubstring={highlightSubstring}\n rowOptions={rowOptions}\n isDraggingFile={isDraggingFile}\n rowAdditionalActions={rowAdditionalActions}\n hoverConfig={hoverConfig}\n />\n </RowWrapper>\n ) : (\n <RowContent\n level={level}\n withDraggable={withDraggable}\n setDroppableNodeRef={setDroppableNodeRef}\n isLastRow={isLastRow}\n lastRow={lastRow}\n isCheckbox={isCheckbox}\n checkboxConfig={checkboxConfig}\n row={row}\n rowHovering={rowHovering}\n tableActions={tableActions}\n disableOptionsForRowIndex={disableOptionsForRowIndex}\n index={index}\n showNewItem={showNewItem}\n currentData={currentData}\n lastNonStickyColumnIndex={lastNonStickyColumnIndex}\n getSumOfNextVisibleColumnWidth={getSumOfNextVisibleColumnWidth}\n toggleRowExpand={toggleRowExpand}\n loadingExpand={loadingExpand}\n cellRef={ref}\n handleCellClick={handleCellClick}\n getFullRowDataOnClick={getFullRowDataOnClick}\n handleCellValueChange={handleCellValueChange}\n handleUpdateCellData={handleUpdateCellData}\n handleRowCancelEdit={handleRowCancelEdit}\n handleRowConfirmEdit={handleRowConfirmEdit}\n registerValidation={registerValidation}\n inlineEditing={inlineEditing}\n isInlineEditing={isInlineEditing}\n setRowHovering={setRowHovering}\n highlightSubstring={highlightSubstring}\n rowOptions={rowOptions}\n isDraggingFile={isDraggingFile}\n isDraggingOver={isDraggingOverInside}\n rowAdditionalActions={rowAdditionalActions}\n hoverConfig={hoverConfig}\n />\n )}\n </tr>\n );\n};\n\ninterface RowContentProps {\n withDraggable?: boolean;\n setDroppableNodeRef: (node: HTMLElement | null) => void;\n isLastRow?: boolean;\n lastRow?: unknown;\n isCheckbox: boolean;\n checkboxConfig: Record<string, unknown> | null;\n row: TableRowData;\n rowHovering: string | number | null;\n tableActions?: ((rowData: Record<string, unknown>, index: number) => React.ReactNode) | null;\n disableOptionsForRowIndex?: number | null;\n index: number;\n showNewItem?: boolean;\n currentData: Record<string, unknown> | null;\n lastNonStickyColumnIndex?: (() => number | null) | null;\n getSumOfNextVisibleColumnWidth?: (index: number) => number | null;\n toggleRowExpand: () => Promise<void>;\n loadingExpand: boolean;\n cellRef: React.RefObject<HTMLElement | null>;\n handleCellClick: (event: React.MouseEvent, data: string | Record<string, unknown>, idx: number, key: string) => void;\n getFullRowDataOnClick?: boolean;\n handleCellValueChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n handleUpdateCellData: (directValue?: string | boolean | null, meta?: Record<string, unknown> | null) => void;\n handleRowCancelEdit: () => void;\n handleRowConfirmEdit: () => void;\n registerValidation: (fn: () => { isValid: boolean; value?: string | boolean | null; meta?: Record<string, unknown> | null }) => void;\n inlineEditing: string | null;\n isInlineEditing: boolean;\n setRowHovering: (id: string | number | null) => void;\n highlightSubstring?: (value: string) => React.ReactNode;\n rowOptions?: TRowOption[] | ((rowData: Record<string, unknown>) => TRowOption[] | null) | null;\n level?: number;\n isDraggingFile?: boolean;\n isDraggingOver?: boolean;\n rowAdditionalActions?: unknown;\n hoverConfig?: { onHover?: (data: Record<string, unknown>) => React.ReactNode };\n}\n\nconst RowContent = ({\n withDraggable,\n setDroppableNodeRef,\n isLastRow,\n lastRow,\n isCheckbox,\n checkboxConfig,\n row,\n rowHovering,\n tableActions,\n disableOptionsForRowIndex,\n index,\n showNewItem,\n currentData,\n lastNonStickyColumnIndex,\n getSumOfNextVisibleColumnWidth,\n toggleRowExpand,\n loadingExpand,\n cellRef,\n handleCellClick,\n getFullRowDataOnClick,\n handleCellValueChange,\n handleUpdateCellData,\n handleRowCancelEdit,\n handleRowConfirmEdit,\n registerValidation,\n inlineEditing,\n isInlineEditing,\n setRowHovering,\n highlightSubstring,\n rowOptions,\n level,\n isDraggingFile,\n isDraggingOver,\n rowAdditionalActions,\n hoverConfig,\n}: RowContentProps) => {\n const [isRowContentHovering, setIsRowContentHovering] = useState(false);\n const {\n getPendingEdit: getPendingEditFn,\n hasPendingEdit: hasPendingEditFn,\n pendingEdits,\n tableHeaders,\n pendingEditsCount,\n scrollToCell,\n } = useContext(TableContext);\n const rowHasPendingEdits = pendingEdits?.[row.original.id] && Object.keys(pendingEdits[row.original.id]).length > 0;\n const tableHasAnyPendingEdits = (pendingEditsCount ?? 0) > 0;\n const resolvedRowOptions = useMemo<TRowOption[]>(() => {\n if (Array.isArray(rowOptions)) return rowOptions;\n if (typeof rowOptions === 'function') {\n const options = rowOptions({ ...row.original, rowIndex: index });\n return Array.isArray(options) ? options : [];\n }\n return [];\n }, [rowOptions, row.original, index]);\n\n\n const _meta = (row?.original?.__rowMetadata as TRowMetadata | undefined) || (row?.original?._meta as TRowMetadata | undefined);\n const _notHovering = rowHovering !== row?.original?.id;\n const _notLoading = !row?.original?.__isLoading;\n const _isNewRow = !!(\n _meta?.__is_new ||\n _meta?.__is_added ||\n row?.original?.is_added ||\n (currentData?.is_added as boolean) ||\n _meta?.is_added ||\n _meta?.is_new\n );\n const _isDeletedRow = !!(row?.original?.is_deleted || _meta?.__is_deleted || (currentData?.is_deleted as boolean) || _meta?.is_deleted);\n const _isModifiedRow =\n !!(\n row?.original?.is_modified ||\n row?.original?.is_row_modified ||\n _meta?.__is_modified ||\n _meta?.__is_edited ||\n (currentData?.is_row_modified as boolean) ||\n _meta?.is_deleted\n ) && !_isNewRow;\n\n const statusBorderClass = cn({\n 'border-l-[3px] border-l-success-400 dark:border-l-success-500': _isNewRow && _notLoading && _notHovering && !isInlineEditing,\n 'border-l-[3px] border-l-error-400 dark:border-l-error-500': _isDeletedRow && _notLoading && _notHovering && !isInlineEditing,\n 'border-l-[3px] border-l-warning-400 dark:border-l-warning-500': _isModifiedRow && _notLoading && _notHovering && !isInlineEditing,\n });\n\n return (\n <div\n ref={withDraggable ? setDroppableNodeRef : null}\n className={isDraggingOver ? 'border-2 border-primary-400 dark:border-primary-500 rounded-sm' : ''}\n >\n <div className={cn('flex', statusBorderClass)} ref={isLastRow ? (lastRow as React.Ref<HTMLDivElement>) : null}>\n {tableHasAnyPendingEdits && (\n <PendingEditCell\n rowId={String(row.original.id)}\n rowIndex={index}\n pendingEdits={pendingEdits}\n tableHeaders={tableHeaders}\n rowHasPendingEdits={!!rowHasPendingEdits}\n rowHovering={rowHovering != null ? String(rowHovering) : undefined}\n isInlineEditing={isInlineEditing}\n is_read={!!row.original.is_read}\n is_modified={_isModifiedRow}\n is_row_modified={!!row.original.is_row_modified}\n is_deleted={_isDeletedRow}\n is_added={_isNewRow}\n is_incomplete={row?.original?.status === 'Incomplete'}\n showNewItem={showNewItem}\n onScrollToCell={scrollToCell}\n />\n )}\n\n {isCheckbox && (\n <CheckboxCell\n checkboxConfig={checkboxConfig as never}\n id={String(row.original.id)}\n rowHovering={rowHovering != null ? String(rowHovering) : undefined}\n isDisabled={!!row?.original?.__isLoading}\n isDraggingOver={isDraggingOver}\n is_added={_isNewRow}\n is_deleted={_isDeletedRow}\n is_incomplete={row?.original?.status === 'Incomplete'}\n is_modified={_isModifiedRow}\n is_read={!!row.original.is_read}\n is_row_modified={!!row.original.is_row_modified}\n showNewItem={showNewItem}\n currentData={currentData ?? {}}\n bgColor={row?.original?.__rowBgStatus ? getTableRowBgClassNamesByStatus[row?.original?.__rowBgStatus as string] : undefined}\n isInlineEditing={isInlineEditing}\n hasPendingEditsColumn={tableHasAnyPendingEdits}\n rowHasPendingEdits={rowHasPendingEdits}\n />\n )}\n\n {tableActions ? (\n <RowActionCell\n tableActions={tableActions as (rowData: Record<string, unknown>, index: number) => JSX.Element}\n disableOptionsForRowIndex={disableOptionsForRowIndex ?? null}\n id={String(row.original.id)}\n index={index}\n is_read={!!row?.original?.is_read}\n is_incomplete={row?.original?.status === 'Incomplete'}\n showNewItem={!!showNewItem}\n is_modified={_isModifiedRow}\n is_row_modified={!!row?.original?.is_row_modified}\n is_deleted={_isDeletedRow}\n currentData={currentData ?? {}}\n is_added={_isNewRow}\n rowData={row.original as Record<string, unknown>}\n rowHovering={rowHovering}\n isDisabled={!!row?.original?.__isLoading}\n bgColor={isDraggingFile ? 'bg-primary-50' : row?.original?.__rowBgStatus ? getTableRowBgClassNamesByStatus[row?.original?.__rowBgStatus as string] : undefined}\n isInlineEditing={isInlineEditing}\n rowHasPendingEdits={rowHasPendingEdits}\n />\n ) : null}\n\n <div\n className='relative flex-1'\n id={`row-${row.original.id}`}\n onMouseEnter={() => setIsRowContentHovering(true)}\n onMouseLeave={() => setIsRowContentHovering(false)}\n >\n {row.cells\n .filter((cell: TableCell) => cell?.column?.visible !== false)\n .map((cell: TableCell, y: number) => {\n const isLastCell = y === lastNonStickyColumnIndex?.();\n const isFirstStickyCell = y === (lastNonStickyColumnIndex?.() ?? -1) + 1;\n const nextWidthSum = cell?.column?.sticky ? (getSumOfNextVisibleColumnWidth?.(y) ?? 0) : 0;\n\n if (row.original?.__isLoading) {\n return (\n <LoaderCell cell={cell as unknown as { column: { width: number; sticky?: boolean; sequence?: number } }} id={y} nextWidthSum={nextWidthSum} isLastCell={isLastCell} rowHovering={rowHovering} index={y} key={y} isFirstStickyCell={isFirstStickyCell} />\n );\n }\n\n const pendingEdit = getPendingEditFn?.(String(row.original.id), cell?.column?.key || '');\n const hasPending = hasPendingEditFn?.(String(row.original.id), cell?.column?.key || '');\n\n return (\n <DataCell\n cell={cell as unknown as import('../../types').ICell}\n rowHovering={rowHovering}\n isFirstStickyCell={isFirstStickyCell}\n level={level ?? 0}\n toggleRowExpand={toggleRowExpand}\n loadingExpand={loadingExpand}\n key={cell?.column?.key}\n index={y}\n cellRef={cellRef as React.RefObject<HTMLDivElement>}\n currentData={currentData as { is_row_modified?: boolean; is_deleted?: boolean; is_added?: boolean }}\n handleCellClick={(e?: React.MouseEvent) => { if (e) handleCellClick(e, getFullRowDataOnClick ? row.original : String(row.original.id), y, cell?.column?.key || ''); }}\n handleCellValueChange={handleCellValueChange}\n handleUpdateCellData={handleUpdateCellData}\n registerValidation={registerValidation}\n id={row.original.id}\n inlineEditing={inlineEditing}\n isInlineEditing={isInlineEditing}\n isLastCell={isLastCell}\n is_incomplete={row?.original?.status === 'Incomplete'}\n is_added={_isNewRow}\n is_deleted={_isDeletedRow}\n is_modified={_isModifiedRow}\n is_read={!!row.original.is_read}\n is_row_modified={!!row.original.is_row_modified}\n nextWidthSum={nextWidthSum}\n setRowHovering={setRowHovering}\n highlightSubstring={highlightSubstring as ((value: string) => JSX.Element) | undefined}\n isDraggingOver={isDraggingOver}\n isLoading={!!row?.original?.__isLoading}\n pendingEdit={pendingEdit}\n hasPendingEdit={hasPending}\n pendingValidationError={pendingEdit?.validationError}\n />\n );\n })}\n\n {hoverConfig?.onHover &&\n isRowContentHovering &&\n createPortal(\n <div className='absolute top-full left-10 z-50 bg-white dark:bg-black-800 rounded-xl'>{hoverConfig.onHover(row.original) as React.ReactNode}</div>,\n document.getElementById(`row-${row.original.id}`) as HTMLElement,\n )}\n </div>\n\n {(resolvedRowOptions.length > 0 || !!rowAdditionalActions) && (\n <RowOptionsCell\n rowId={row.original.id}\n rowOptions={resolvedRowOptions}\n disableOption={disableOptionsForRowIndex !== null || !!row?.original?.__isLoading}\n rowHovering={rowHovering}\n setRowHovering={setRowHovering}\n is_read={!!row.original.is_read}\n showNewItem={!!showNewItem}\n is_modified={_isModifiedRow}\n is_row_modified={!!row.original.is_row_modified}\n is_incomplete={row?.original?.status === 'Incomplete'}\n currentData={currentData ?? {}}\n is_deleted={_isDeletedRow}\n is_added={_isNewRow}\n isDraggingOver={!!isDraggingOver}\n rowAdditionalActions={rowAdditionalActions as (rowData: Record<string, unknown>, index: number, isHovering: boolean) => React.ReactNode}\n rowData={row.original as Record<string, unknown>}\n index={index}\n bgColor={row?.original?.__rowBgStatus ? getTableRowBgClassNamesByStatus[row?.original?.__rowBgStatus as string] : undefined}\n isInlineEditing={isInlineEditing}\n onConfirmEdit={handleRowConfirmEdit}\n onCancelEdit={handleRowCancelEdit}\n rowHasPendingEdits={rowHasPendingEdits}\n />\n )}\n </div>\n </div>\n );\n};\n"],"names":["Row","row","isLastRow","lastRow","highlightSubstring","index","style","level","expandedRows","rows","lastNonStickyColumnIndex","checkboxConfig","onRowClick","rowOptions","disableOptionsForRowIndex","getSumOfNextVisibleColumnWidth","onRowEdit","inlineEditColumns","tableActions","dndSortableUtils","withSortable","withDraggable","getInnerRowData","showNewItem","rawData","dragConfig","getFullRowDataOnClick","RowWrapper","isCellClickDisabled","rowAdditionalActions","hoverConfig","addPendingEdit","removePendingEdit","fieldOperationLoading","clearRowPendingEdits","saveRowPendingEdits","contextPendingEdits","useContext","TableContext","tableConfig","useTableConfig","isCheckbox","activeInlineEdit","setActiveInlineEdit","inlineEditing","isInlineEditing","setInlineEditing","columnKey","rowHovering","setRowHovering","useState","editedCellValue","setEditedCellValue","currentData","setCurrentData","loadingExpand","setLoadingExpand","isDraggingFile","setIsDraggingFile","prevInlineEditingRef","useRef","useEffect","wasEditing","isNowEditing","pendingEdit","currentCell","c","result","validateCellValue","idKey","sortableResult","useSortable","draggableResult","useDraggable","listeners","transform","setNodeRef","isDragging","attributes","active","over","rest","setDroppableNodeRef","useDroppable","dndStyles","CSS","isOverOtherContext","handleCellValueChange","e","handleCloseEdit","validationRef","registerValidation","useCallback","validateFn","tableConfigRef","handleRowCancelEdit","handleRowConfirmEdit","pendingValue","valueToValidate","handleUpdateCellData","directValue","meta","_item","updatedValue","ref","handleCellClick","event","data","idx","key","msg","_row","_id","checkEvent","toggleRowExpand","totalWidth","useMemo","a","b","isDraggingOver","dropPosition","isDraggingOverInside","_meta","_notHovering","_notLoading","_isNewRow","_isDeletedRow","_isModifiedRow","bgColor","cn","getTableRowBgClassNamesByStatus","createElement","jsx","AddRounded","SubdirectoryArrowLeftRounded","ActionCell","RowContent","cellRef","isRowContentHovering","setIsRowContentHovering","getPendingEditFn","hasPendingEditFn","pendingEdits","tableHeaders","pendingEditsCount","scrollToCell","rowHasPendingEdits","tableHasAnyPendingEdits","resolvedRowOptions","options","statusBorderClass","jsxs","PendingEditCell","CheckboxCell","RowActionCell","cell","y","isLastCell","isFirstStickyCell","nextWidthSum","LoaderCell","hasPending","DataCell","createPortal","RowOptionsCell"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=700,T=430,O=10,L=100,A=200,I=999999,E=5,D="cubic-bezier(0.18, 0.67, 0.6, 1.22)",N=20,C=200,R=200,S=40,F=28,t=".os-viewport",o="data-row-id",c="data-column-key",M=16,n="0px",s="-8px 0px 8px 0px rgba(255, 255, 255, 0.01)",U="-8px 0px 8px 0px rgba(0, 0, 0, 0.02)",P="28px",W="-160px",H="4px";exports.CELL_DEFAULT_RIGHT_OFFSET=n;exports.CELL_INDENT_PER_LEVEL_PX=M;exports.CELL_STICKY_SHADOW_DARK=s;exports.CELL_STICKY_SHADOW_LIGHT=U;exports.CHECKBOX_PENDING_EDITS_LEFT_OFFSET=P;exports.DATA_COLUMN_KEY_ATTR=c;exports.DATA_ROW_ID_ATTR=o;exports.DEFAULT_COLUMN_MAX_WIDTH=I;exports.DEFAULT_COLUMN_MIN_WIDTH=L;exports.DEFAULT_COLUMN_WIDTH=A;exports.DEFAULT_PAGE_SIZE=O;exports.DND_ACTIVATION_DISTANCE=E;exports.DROP_ANIMATION_DURATION=N;exports.DROP_ANIMATION_EASING=D;exports.FLOATING_BAR_TOOLTIP_MARGIN_BOTTOM=H;exports.FLOATING_BAR_TOOLTIP_MARGIN_LEFT=W;exports.OS_VIEWPORT_SELECTOR=t;exports.ROW_ADDITIONAL_ACTIONS_DEFAULT_WIDTH=S;exports.ROW_OPTIONS_COLUMN_WIDTH=F;exports.SCROLL_TO_CELL_COLUMN_WIDTH_FALLBACK=C;exports.SCROLL_TO_CELL_LEFT_OFFSET=R;exports.TOOLBAR_FIRST_BREAKPOINT=_;exports.TOOLBAR_SECOND_BREAKPOINT=T;
2
+ //# sourceMappingURL=constants.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.cjs.js","sources":["../../../../src/components/data-display/infinite-table/constants.ts"],"sourcesContent":["/**\n * Shared static values for the InfiniteTable and every component under it.\n *\n * Rule for this subtree: magic numbers, timings, sizes, and meaningful string\n * literals (DOM selectors, data-attributes, CSS values used in inline styles)\n * live here with a descriptive name. Tailwind `className` strings are NOT\n * extracted — they stay inline so JIT can see them and JSX stays readable.\n */\n\n// ---------------------------------------------------------------------------\n// Responsive toolbar breakpoints (header layout collapse thresholds, in px)\n// ---------------------------------------------------------------------------\nexport const TOOLBAR_FIRST_BREAKPOINT = 700;\nexport const TOOLBAR_SECOND_BREAKPOINT = 430;\n\n// ---------------------------------------------------------------------------\n// Table defaults\n// ---------------------------------------------------------------------------\n/** Default page size for pagination when the consumer doesn't pass `pageSize`. */\nexport const DEFAULT_PAGE_SIZE = 10;\n\n// ---------------------------------------------------------------------------\n// Column sizing defaults (react-table `defaultColumn`, in px)\n// ---------------------------------------------------------------------------\nexport const DEFAULT_COLUMN_MIN_WIDTH = 100;\nexport const DEFAULT_COLUMN_WIDTH = 200;\nexport const DEFAULT_COLUMN_MAX_WIDTH = 999999;\n\n// ---------------------------------------------------------------------------\n// Drag & drop (dnd-kit)\n// ---------------------------------------------------------------------------\n/** Pointer travel (px) before a drag starts, for both mouse and touch sensors. */\nexport const DND_ACTIVATION_DISTANCE = 5;\nexport const DROP_ANIMATION_EASING = 'cubic-bezier(0.18, 0.67, 0.6, 1.22)';\nexport const DROP_ANIMATION_DURATION = 20;\n\n// ---------------------------------------------------------------------------\n// scrollToCell — horizontal auto-scroll to a target inline-edit cell\n// ---------------------------------------------------------------------------\n/** Assumed column width (px) when a header has no explicit width, used to sum offset. */\nexport const SCROLL_TO_CELL_COLUMN_WIDTH_FALLBACK = 200;\n/** Left padding (px) kept before the target cell so it isn't flush to the edge. */\nexport const SCROLL_TO_CELL_LEFT_OFFSET = 200;\n\n// ---------------------------------------------------------------------------\n// Trailing action-column widths (px) used when summing sticky offsets\n// ---------------------------------------------------------------------------\n/** Fallback width for the row-additional-actions column when none is provided. */\nexport const ROW_ADDITIONAL_ACTIONS_DEFAULT_WIDTH = 40;\n/** Width reserved for the row-options (three-dot) column. */\nexport const ROW_OPTIONS_COLUMN_WIDTH = 28;\n\n// ---------------------------------------------------------------------------\n// DOM selectors / data-attributes used to locate cells & the scroll viewport\n// ---------------------------------------------------------------------------\nexport const OS_VIEWPORT_SELECTOR = '.os-viewport';\nexport const DATA_ROW_ID_ATTR = 'data-row-id';\nexport const DATA_COLUMN_KEY_ATTR = 'data-column-key';\n\n// ---------------------------------------------------------------------------\n// DataCell — sizing / layout\n// ---------------------------------------------------------------------------\n/** Left indent (px) added per cascading nesting level. */\nexport const CELL_INDENT_PER_LEVEL_PX = 16;\n/** Fallback `right` offset for non-sticky cells. */\nexport const CELL_DEFAULT_RIGHT_OFFSET = '0px';\n\n// ---------------------------------------------------------------------------\n// DataCell — sticky first-cell drop shadow (theme-specific)\n// ---------------------------------------------------------------------------\nexport const CELL_STICKY_SHADOW_DARK = '-8px 0px 8px 0px rgba(255, 255, 255, 0.01)';\nexport const CELL_STICKY_SHADOW_LIGHT = '-8px 0px 8px 0px rgba(0, 0, 0, 0.02)';\n\n// ---------------------------------------------------------------------------\n// Inline-style pixel offsets (used in style={{…}}, not classNames)\n// ---------------------------------------------------------------------------\n/** Left offset for the checkbox cell when the pending-edits column is present. */\nexport const CHECKBOX_PENDING_EDITS_LEFT_OFFSET = '28px';\n/** Half the floating-bar tooltip width — negative margin to center it. */\nexport const FLOATING_BAR_TOOLTIP_MARGIN_LEFT = '-160px';\nexport const FLOATING_BAR_TOOLTIP_MARGIN_BOTTOM = '4px';\n"],"names":["TOOLBAR_FIRST_BREAKPOINT","TOOLBAR_SECOND_BREAKPOINT","DEFAULT_PAGE_SIZE","DEFAULT_COLUMN_MIN_WIDTH","DEFAULT_COLUMN_WIDTH","DEFAULT_COLUMN_MAX_WIDTH","DND_ACTIVATION_DISTANCE","DROP_ANIMATION_EASING","DROP_ANIMATION_DURATION","SCROLL_TO_CELL_COLUMN_WIDTH_FALLBACK","SCROLL_TO_CELL_LEFT_OFFSET","ROW_ADDITIONAL_ACTIONS_DEFAULT_WIDTH","ROW_OPTIONS_COLUMN_WIDTH","OS_VIEWPORT_SELECTOR","DATA_ROW_ID_ATTR","DATA_COLUMN_KEY_ATTR","CELL_INDENT_PER_LEVEL_PX","CELL_DEFAULT_RIGHT_OFFSET","CELL_STICKY_SHADOW_DARK","CELL_STICKY_SHADOW_LIGHT","CHECKBOX_PENDING_EDITS_LEFT_OFFSET","FLOATING_BAR_TOOLTIP_MARGIN_LEFT","FLOATING_BAR_TOOLTIP_MARGIN_BOTTOM"],"mappings":"gFAYO,MAAMA,EAA2B,IAC3BC,EAA4B,IAM5BC,EAAoB,GAKpBC,EAA2B,IAC3BC,EAAuB,IACvBC,EAA2B,OAM3BC,EAA0B,EAC1BC,EAAwB,sCACxBC,EAA0B,GAM1BC,EAAuC,IAEvCC,EAA6B,IAM7BC,EAAuC,GAEvCC,EAA2B,GAK3BC,EAAuB,eACvBC,EAAmB,cACnBC,EAAuB,kBAMvBC,EAA2B,GAE3BC,EAA4B,MAK5BC,EAA0B,6CAC1BC,EAA2B,uCAM3BC,EAAqC,OAErCC,EAAmC,SACnCC,EAAqC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Shared static values for the InfiniteTable and every component under it.
3
+ *
4
+ * Rule for this subtree: magic numbers, timings, sizes, and meaningful string
5
+ * literals (DOM selectors, data-attributes, CSS values used in inline styles)
6
+ * live here with a descriptive name. Tailwind `className` strings are NOT
7
+ * extracted — they stay inline so JIT can see them and JSX stays readable.
8
+ */
9
+ export declare const TOOLBAR_FIRST_BREAKPOINT = 700;
10
+ export declare const TOOLBAR_SECOND_BREAKPOINT = 430;
11
+ /** Default page size for pagination when the consumer doesn't pass `pageSize`. */
12
+ export declare const DEFAULT_PAGE_SIZE = 10;
13
+ export declare const DEFAULT_COLUMN_MIN_WIDTH = 100;
14
+ export declare const DEFAULT_COLUMN_WIDTH = 200;
15
+ export declare const DEFAULT_COLUMN_MAX_WIDTH = 999999;
16
+ /** Pointer travel (px) before a drag starts, for both mouse and touch sensors. */
17
+ export declare const DND_ACTIVATION_DISTANCE = 5;
18
+ export declare const DROP_ANIMATION_EASING = "cubic-bezier(0.18, 0.67, 0.6, 1.22)";
19
+ export declare const DROP_ANIMATION_DURATION = 20;
20
+ /** Assumed column width (px) when a header has no explicit width, used to sum offset. */
21
+ export declare const SCROLL_TO_CELL_COLUMN_WIDTH_FALLBACK = 200;
22
+ /** Left padding (px) kept before the target cell so it isn't flush to the edge. */
23
+ export declare const SCROLL_TO_CELL_LEFT_OFFSET = 200;
24
+ /** Fallback width for the row-additional-actions column when none is provided. */
25
+ export declare const ROW_ADDITIONAL_ACTIONS_DEFAULT_WIDTH = 40;
26
+ /** Width reserved for the row-options (three-dot) column. */
27
+ export declare const ROW_OPTIONS_COLUMN_WIDTH = 28;
28
+ export declare const OS_VIEWPORT_SELECTOR = ".os-viewport";
29
+ export declare const DATA_ROW_ID_ATTR = "data-row-id";
30
+ export declare const DATA_COLUMN_KEY_ATTR = "data-column-key";
31
+ /** Left indent (px) added per cascading nesting level. */
32
+ export declare const CELL_INDENT_PER_LEVEL_PX = 16;
33
+ /** Fallback `right` offset for non-sticky cells. */
34
+ export declare const CELL_DEFAULT_RIGHT_OFFSET = "0px";
35
+ export declare const CELL_STICKY_SHADOW_DARK = "-8px 0px 8px 0px rgba(255, 255, 255, 0.01)";
36
+ export declare const CELL_STICKY_SHADOW_LIGHT = "-8px 0px 8px 0px rgba(0, 0, 0, 0.02)";
37
+ /** Left offset for the checkbox cell when the pending-edits column is present. */
38
+ export declare const CHECKBOX_PENDING_EDITS_LEFT_OFFSET = "28px";
39
+ /** Half the floating-bar tooltip width — negative margin to center it. */
40
+ export declare const FLOATING_BAR_TOOLTIP_MARGIN_LEFT = "-160px";
41
+ export declare const FLOATING_BAR_TOOLTIP_MARGIN_BOTTOM = "4px";
@@ -0,0 +1,27 @@
1
+ const _ = 700, T = 430, O = 10, L = 100, A = 200, I = 999999, E = 5, D = "cubic-bezier(0.18, 0.67, 0.6, 1.22)", N = 20, o = 200, t = 200, c = 40, n = 28, s = ".os-viewport", C = "data-row-id", R = "data-column-key", F = 16, S = "0px", p = "-8px 0px 8px 0px rgba(255, 255, 255, 0.01)", x = "-8px 0px 8px 0px rgba(0, 0, 0, 0.02)", M = "28px", U = "-160px", P = "4px";
2
+ export {
3
+ S as CELL_DEFAULT_RIGHT_OFFSET,
4
+ F as CELL_INDENT_PER_LEVEL_PX,
5
+ p as CELL_STICKY_SHADOW_DARK,
6
+ x as CELL_STICKY_SHADOW_LIGHT,
7
+ M as CHECKBOX_PENDING_EDITS_LEFT_OFFSET,
8
+ R as DATA_COLUMN_KEY_ATTR,
9
+ C as DATA_ROW_ID_ATTR,
10
+ I as DEFAULT_COLUMN_MAX_WIDTH,
11
+ L as DEFAULT_COLUMN_MIN_WIDTH,
12
+ A as DEFAULT_COLUMN_WIDTH,
13
+ O as DEFAULT_PAGE_SIZE,
14
+ E as DND_ACTIVATION_DISTANCE,
15
+ N as DROP_ANIMATION_DURATION,
16
+ D as DROP_ANIMATION_EASING,
17
+ P as FLOATING_BAR_TOOLTIP_MARGIN_BOTTOM,
18
+ U as FLOATING_BAR_TOOLTIP_MARGIN_LEFT,
19
+ s as OS_VIEWPORT_SELECTOR,
20
+ c as ROW_ADDITIONAL_ACTIONS_DEFAULT_WIDTH,
21
+ n as ROW_OPTIONS_COLUMN_WIDTH,
22
+ o as SCROLL_TO_CELL_COLUMN_WIDTH_FALLBACK,
23
+ t as SCROLL_TO_CELL_LEFT_OFFSET,
24
+ _ as TOOLBAR_FIRST_BREAKPOINT,
25
+ T as TOOLBAR_SECOND_BREAKPOINT
26
+ };
27
+ //# sourceMappingURL=constants.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.es.js","sources":["../../../../src/components/data-display/infinite-table/constants.ts"],"sourcesContent":["/**\n * Shared static values for the InfiniteTable and every component under it.\n *\n * Rule for this subtree: magic numbers, timings, sizes, and meaningful string\n * literals (DOM selectors, data-attributes, CSS values used in inline styles)\n * live here with a descriptive name. Tailwind `className` strings are NOT\n * extracted — they stay inline so JIT can see them and JSX stays readable.\n */\n\n// ---------------------------------------------------------------------------\n// Responsive toolbar breakpoints (header layout collapse thresholds, in px)\n// ---------------------------------------------------------------------------\nexport const TOOLBAR_FIRST_BREAKPOINT = 700;\nexport const TOOLBAR_SECOND_BREAKPOINT = 430;\n\n// ---------------------------------------------------------------------------\n// Table defaults\n// ---------------------------------------------------------------------------\n/** Default page size for pagination when the consumer doesn't pass `pageSize`. */\nexport const DEFAULT_PAGE_SIZE = 10;\n\n// ---------------------------------------------------------------------------\n// Column sizing defaults (react-table `defaultColumn`, in px)\n// ---------------------------------------------------------------------------\nexport const DEFAULT_COLUMN_MIN_WIDTH = 100;\nexport const DEFAULT_COLUMN_WIDTH = 200;\nexport const DEFAULT_COLUMN_MAX_WIDTH = 999999;\n\n// ---------------------------------------------------------------------------\n// Drag & drop (dnd-kit)\n// ---------------------------------------------------------------------------\n/** Pointer travel (px) before a drag starts, for both mouse and touch sensors. */\nexport const DND_ACTIVATION_DISTANCE = 5;\nexport const DROP_ANIMATION_EASING = 'cubic-bezier(0.18, 0.67, 0.6, 1.22)';\nexport const DROP_ANIMATION_DURATION = 20;\n\n// ---------------------------------------------------------------------------\n// scrollToCell — horizontal auto-scroll to a target inline-edit cell\n// ---------------------------------------------------------------------------\n/** Assumed column width (px) when a header has no explicit width, used to sum offset. */\nexport const SCROLL_TO_CELL_COLUMN_WIDTH_FALLBACK = 200;\n/** Left padding (px) kept before the target cell so it isn't flush to the edge. */\nexport const SCROLL_TO_CELL_LEFT_OFFSET = 200;\n\n// ---------------------------------------------------------------------------\n// Trailing action-column widths (px) used when summing sticky offsets\n// ---------------------------------------------------------------------------\n/** Fallback width for the row-additional-actions column when none is provided. */\nexport const ROW_ADDITIONAL_ACTIONS_DEFAULT_WIDTH = 40;\n/** Width reserved for the row-options (three-dot) column. */\nexport const ROW_OPTIONS_COLUMN_WIDTH = 28;\n\n// ---------------------------------------------------------------------------\n// DOM selectors / data-attributes used to locate cells & the scroll viewport\n// ---------------------------------------------------------------------------\nexport const OS_VIEWPORT_SELECTOR = '.os-viewport';\nexport const DATA_ROW_ID_ATTR = 'data-row-id';\nexport const DATA_COLUMN_KEY_ATTR = 'data-column-key';\n\n// ---------------------------------------------------------------------------\n// DataCell — sizing / layout\n// ---------------------------------------------------------------------------\n/** Left indent (px) added per cascading nesting level. */\nexport const CELL_INDENT_PER_LEVEL_PX = 16;\n/** Fallback `right` offset for non-sticky cells. */\nexport const CELL_DEFAULT_RIGHT_OFFSET = '0px';\n\n// ---------------------------------------------------------------------------\n// DataCell — sticky first-cell drop shadow (theme-specific)\n// ---------------------------------------------------------------------------\nexport const CELL_STICKY_SHADOW_DARK = '-8px 0px 8px 0px rgba(255, 255, 255, 0.01)';\nexport const CELL_STICKY_SHADOW_LIGHT = '-8px 0px 8px 0px rgba(0, 0, 0, 0.02)';\n\n// ---------------------------------------------------------------------------\n// Inline-style pixel offsets (used in style={{…}}, not classNames)\n// ---------------------------------------------------------------------------\n/** Left offset for the checkbox cell when the pending-edits column is present. */\nexport const CHECKBOX_PENDING_EDITS_LEFT_OFFSET = '28px';\n/** Half the floating-bar tooltip width — negative margin to center it. */\nexport const FLOATING_BAR_TOOLTIP_MARGIN_LEFT = '-160px';\nexport const FLOATING_BAR_TOOLTIP_MARGIN_BOTTOM = '4px';\n"],"names":["TOOLBAR_FIRST_BREAKPOINT","TOOLBAR_SECOND_BREAKPOINT","DEFAULT_PAGE_SIZE","DEFAULT_COLUMN_MIN_WIDTH","DEFAULT_COLUMN_WIDTH","DEFAULT_COLUMN_MAX_WIDTH","DND_ACTIVATION_DISTANCE","DROP_ANIMATION_EASING","DROP_ANIMATION_DURATION","SCROLL_TO_CELL_COLUMN_WIDTH_FALLBACK","SCROLL_TO_CELL_LEFT_OFFSET","ROW_ADDITIONAL_ACTIONS_DEFAULT_WIDTH","ROW_OPTIONS_COLUMN_WIDTH","OS_VIEWPORT_SELECTOR","DATA_ROW_ID_ATTR","DATA_COLUMN_KEY_ATTR","CELL_INDENT_PER_LEVEL_PX","CELL_DEFAULT_RIGHT_OFFSET","CELL_STICKY_SHADOW_DARK","CELL_STICKY_SHADOW_LIGHT","CHECKBOX_PENDING_EDITS_LEFT_OFFSET","FLOATING_BAR_TOOLTIP_MARGIN_LEFT","FLOATING_BAR_TOOLTIP_MARGIN_BOTTOM"],"mappings":"AAYO,MAAMA,IAA2B,KAC3BC,IAA4B,KAM5BC,IAAoB,IAKpBC,IAA2B,KAC3BC,IAAuB,KACvBC,IAA2B,QAM3BC,IAA0B,GAC1BC,IAAwB,uCACxBC,IAA0B,IAM1BC,IAAuC,KAEvCC,IAA6B,KAM7BC,IAAuC,IAEvCC,IAA2B,IAK3BC,IAAuB,gBACvBC,IAAmB,eACnBC,IAAuB,mBAMvBC,IAA2B,IAE3BC,IAA4B,OAK5BC,IAA0B,8CAC1BC,IAA2B,wCAM3BC,IAAqC,QAErCC,IAAmC,UACnCC,IAAqC;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),c=require("react-keyshorts"),n=({checkboxConfig:e,isAllChecked:t,isDisabled:l})=>(c.useKeyboardShortcut({key:"a",callback:()=>{if(e.onAllItemsCheck){const r={target:{checked:!t}};e.onAllItemsCheck(r)}},altKey:!0,ctrlKey:!0,metaKey:!0}),a.jsx("div",{className:"absolute left-0 px-2.5 w-full h-10 z-20 flex items-center bg-neutral-50 dark:bg-black-700",children:e.onAllItemsCheck&&a.jsx("input",{id:"checkbox-all-search",type:"checkbox",className:"w-4 h-4 text-blue-600 appearance-none dark:bg-black-700 border border-gray-400 dark:border-neutral-400 rounded-[4px] checked:appearance-auto focus:ring-blue-500 dark:focus:ring-blue-600 focus:ring-2 cursor-pointer",onChange:e.onAllItemsCheck,checked:t,ref:r=>{r&&(r.indeterminate=e.checkedIds.length>0&&!t)},disabled:l})}));exports.CheckAll=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),c=require("react-keyshorts"),n=({checkboxConfig:e,isAllChecked:t,isDisabled:l})=>(c.useKeyboardShortcut({key:"a",callback:()=>{if(e.onAllItemsCheck){const r={target:{checked:!t}};e.onAllItemsCheck(r)}},altKey:!0,ctrlKey:!0,metaKey:!0}),a.jsx("div",{className:"absolute left-0 px-2.5 w-full h-row z-20 flex items-center bg-neutral-50 dark:bg-black-700",children:e.onAllItemsCheck&&a.jsx("input",{id:"checkbox-all-search",type:"checkbox",className:"w-4 h-4 text-blue-600 appearance-none dark:bg-black-700 border border-gray-400 dark:border-neutral-400 rounded-[4px] checked:appearance-auto focus:ring-blue-500 dark:focus:ring-blue-600 focus:ring-2 cursor-pointer",onChange:e.onAllItemsCheck,checked:t,ref:r=>{r&&(r.indeterminate=e.checkedIds.length>0&&!t)},disabled:l})}));exports.CheckAll=n;
2
2
  //# sourceMappingURL=CheckAll.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckAll.cjs.js","sources":["../../../../../src/components/data-display/infinite-table/head/CheckAll.tsx"],"sourcesContent":["import { useKeyboardShortcut } from 'react-keyshorts';\n\ninterface CheckAllProps {\n checkboxConfig: {\n onAllItemsCheck?: (event: { target: { checked: boolean } }) => void;\n checkedIds: string[];\n };\n isAllChecked: boolean;\n isDisabled?: boolean;\n}\n\nexport const CheckAll = ({ checkboxConfig, isAllChecked, isDisabled }: CheckAllProps) => {\n useKeyboardShortcut({\n key: 'a',\n callback: () => {\n if (checkboxConfig.onAllItemsCheck) {\n const syntheticEvent = {\n target: {\n checked: !isAllChecked,\n },\n };\n checkboxConfig.onAllItemsCheck(syntheticEvent);\n }\n },\n altKey: true,\n ctrlKey: true,\n metaKey: true,\n });\n\n return (\n <div className='absolute left-0 px-2.5 w-full h-10 z-20 flex items-center bg-neutral-50 dark:bg-black-700'>\n {checkboxConfig.onAllItemsCheck && (\n <input\n id='checkbox-all-search'\n type='checkbox'\n className='w-4 h-4 text-blue-600 appearance-none dark:bg-black-700 border border-gray-400 dark:border-neutral-400 rounded-[4px] checked:appearance-auto focus:ring-blue-500 dark:focus:ring-blue-600 focus:ring-2 cursor-pointer'\n onChange={checkboxConfig.onAllItemsCheck}\n checked={isAllChecked}\n ref={(input) => {\n if (input) {\n input.indeterminate = checkboxConfig.checkedIds.length > 0 && !isAllChecked;\n }\n }}\n disabled={isDisabled}\n />\n )}\n </div>\n );\n};\n"],"names":["CheckAll","checkboxConfig","isAllChecked","isDisabled","useKeyboardShortcut","syntheticEvent","jsx","input"],"mappings":"kJAWaA,EAAW,CAAC,CAAE,eAAAC,EAAgB,aAAAC,EAAc,WAAAC,MACvDC,sBAAoB,CAClB,IAAK,IACL,SAAU,IAAM,CACd,GAAIH,EAAe,gBAAiB,CAClC,MAAMI,EAAiB,CACrB,OAAQ,CACN,QAAS,CAACH,CAAA,CACZ,EAEFD,EAAe,gBAAgBI,CAAc,CAC/C,CACF,EACA,OAAQ,GACR,QAAS,GACT,QAAS,EAAA,CACV,EAGCC,EAAAA,IAAC,MAAA,CAAI,UAAU,4FACZ,WAAe,iBACdA,EAAAA,IAAC,QAAA,CACC,GAAG,sBACH,KAAK,WACL,UAAU,wNACV,SAAUL,EAAe,gBACzB,QAASC,EACT,IAAMK,GAAU,CACVA,IACFA,EAAM,cAAgBN,EAAe,WAAW,OAAS,GAAK,CAACC,EAEnE,EACA,SAAUC,CAAA,CAAA,EAGhB"}
1
+ {"version":3,"file":"CheckAll.cjs.js","sources":["../../../../../src/components/data-display/infinite-table/head/CheckAll.tsx"],"sourcesContent":["import { useKeyboardShortcut } from 'react-keyshorts';\n\ninterface CheckAllProps {\n checkboxConfig: {\n onAllItemsCheck?: (event: { target: { checked: boolean } }) => void;\n checkedIds: string[];\n };\n isAllChecked: boolean;\n isDisabled?: boolean;\n}\n\nexport const CheckAll = ({ checkboxConfig, isAllChecked, isDisabled }: CheckAllProps) => {\n useKeyboardShortcut({\n key: 'a',\n callback: () => {\n if (checkboxConfig.onAllItemsCheck) {\n const syntheticEvent = {\n target: {\n checked: !isAllChecked,\n },\n };\n checkboxConfig.onAllItemsCheck(syntheticEvent);\n }\n },\n altKey: true,\n ctrlKey: true,\n metaKey: true,\n });\n\n return (\n <div className='absolute left-0 px-2.5 w-full h-row z-20 flex items-center bg-neutral-50 dark:bg-black-700'>\n {checkboxConfig.onAllItemsCheck && (\n <input\n id='checkbox-all-search'\n type='checkbox'\n className='w-4 h-4 text-blue-600 appearance-none dark:bg-black-700 border border-gray-400 dark:border-neutral-400 rounded-[4px] checked:appearance-auto focus:ring-blue-500 dark:focus:ring-blue-600 focus:ring-2 cursor-pointer'\n onChange={checkboxConfig.onAllItemsCheck}\n checked={isAllChecked}\n ref={(input) => {\n if (input) {\n input.indeterminate = checkboxConfig.checkedIds.length > 0 && !isAllChecked;\n }\n }}\n disabled={isDisabled}\n />\n )}\n </div>\n );\n};\n"],"names":["CheckAll","checkboxConfig","isAllChecked","isDisabled","useKeyboardShortcut","syntheticEvent","jsx","input"],"mappings":"kJAWaA,EAAW,CAAC,CAAE,eAAAC,EAAgB,aAAAC,EAAc,WAAAC,MACvDC,sBAAoB,CAClB,IAAK,IACL,SAAU,IAAM,CACd,GAAIH,EAAe,gBAAiB,CAClC,MAAMI,EAAiB,CACrB,OAAQ,CACN,QAAS,CAACH,CAAA,CACZ,EAEFD,EAAe,gBAAgBI,CAAc,CAC/C,CACF,EACA,OAAQ,GACR,QAAS,GACT,QAAS,EAAA,CACV,EAGCC,EAAAA,IAAC,MAAA,CAAI,UAAU,6FACZ,WAAe,iBACdA,EAAAA,IAAC,QAAA,CACC,GAAG,sBACH,KAAK,WACL,UAAU,wNACV,SAAUL,EAAe,gBACzB,QAASC,EACT,IAAMK,GAAU,CACVA,IACFA,EAAM,cAAgBN,EAAe,WAAW,OAAS,GAAK,CAACC,EAEnE,EACA,SAAUC,CAAA,CAAA,EAGhB"}
@@ -15,7 +15,7 @@ const s = ({ checkboxConfig: e, isAllChecked: t, isDisabled: l }) => (c({
15
15
  altKey: !0,
16
16
  ctrlKey: !0,
17
17
  metaKey: !0
18
- }), /* @__PURE__ */ a("div", { className: "absolute left-0 px-2.5 w-full h-10 z-20 flex items-center bg-neutral-50 dark:bg-black-700", children: e.onAllItemsCheck && /* @__PURE__ */ a(
18
+ }), /* @__PURE__ */ a("div", { className: "absolute left-0 px-2.5 w-full h-row z-20 flex items-center bg-neutral-50 dark:bg-black-700", children: e.onAllItemsCheck && /* @__PURE__ */ a(
19
19
  "input",
20
20
  {
21
21
  id: "checkbox-all-search",
@@ -1 +1 @@
1
- {"version":3,"file":"CheckAll.es.js","sources":["../../../../../src/components/data-display/infinite-table/head/CheckAll.tsx"],"sourcesContent":["import { useKeyboardShortcut } from 'react-keyshorts';\n\ninterface CheckAllProps {\n checkboxConfig: {\n onAllItemsCheck?: (event: { target: { checked: boolean } }) => void;\n checkedIds: string[];\n };\n isAllChecked: boolean;\n isDisabled?: boolean;\n}\n\nexport const CheckAll = ({ checkboxConfig, isAllChecked, isDisabled }: CheckAllProps) => {\n useKeyboardShortcut({\n key: 'a',\n callback: () => {\n if (checkboxConfig.onAllItemsCheck) {\n const syntheticEvent = {\n target: {\n checked: !isAllChecked,\n },\n };\n checkboxConfig.onAllItemsCheck(syntheticEvent);\n }\n },\n altKey: true,\n ctrlKey: true,\n metaKey: true,\n });\n\n return (\n <div className='absolute left-0 px-2.5 w-full h-10 z-20 flex items-center bg-neutral-50 dark:bg-black-700'>\n {checkboxConfig.onAllItemsCheck && (\n <input\n id='checkbox-all-search'\n type='checkbox'\n className='w-4 h-4 text-blue-600 appearance-none dark:bg-black-700 border border-gray-400 dark:border-neutral-400 rounded-[4px] checked:appearance-auto focus:ring-blue-500 dark:focus:ring-blue-600 focus:ring-2 cursor-pointer'\n onChange={checkboxConfig.onAllItemsCheck}\n checked={isAllChecked}\n ref={(input) => {\n if (input) {\n input.indeterminate = checkboxConfig.checkedIds.length > 0 && !isAllChecked;\n }\n }}\n disabled={isDisabled}\n />\n )}\n </div>\n );\n};\n"],"names":["CheckAll","checkboxConfig","isAllChecked","isDisabled","useKeyboardShortcut","syntheticEvent","jsx","input"],"mappings":";;AAWO,MAAMA,IAAW,CAAC,EAAE,gBAAAC,GAAgB,cAAAC,GAAc,YAAAC,SACvDC,EAAoB;AAAA,EAClB,KAAK;AAAA,EACL,UAAU,MAAM;AACd,QAAIH,EAAe,iBAAiB;AAClC,YAAMI,IAAiB;AAAA,QACrB,QAAQ;AAAA,UACN,SAAS,CAACH;AAAA,QAAA;AAAA,MACZ;AAEF,MAAAD,EAAe,gBAAgBI,CAAc;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,CACV,GAGC,gBAAAC,EAAC,OAAA,EAAI,WAAU,6FACZ,YAAe,mBACd,gBAAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,IAAG;AAAA,IACH,MAAK;AAAA,IACL,WAAU;AAAA,IACV,UAAUL,EAAe;AAAA,IACzB,SAASC;AAAA,IACT,KAAK,CAACK,MAAU;AACd,MAAIA,MACFA,EAAM,gBAAgBN,EAAe,WAAW,SAAS,KAAK,CAACC;AAAA,IAEnE;AAAA,IACA,UAAUC;AAAA,EAAA;AAAA,GAGhB;"}
1
+ {"version":3,"file":"CheckAll.es.js","sources":["../../../../../src/components/data-display/infinite-table/head/CheckAll.tsx"],"sourcesContent":["import { useKeyboardShortcut } from 'react-keyshorts';\n\ninterface CheckAllProps {\n checkboxConfig: {\n onAllItemsCheck?: (event: { target: { checked: boolean } }) => void;\n checkedIds: string[];\n };\n isAllChecked: boolean;\n isDisabled?: boolean;\n}\n\nexport const CheckAll = ({ checkboxConfig, isAllChecked, isDisabled }: CheckAllProps) => {\n useKeyboardShortcut({\n key: 'a',\n callback: () => {\n if (checkboxConfig.onAllItemsCheck) {\n const syntheticEvent = {\n target: {\n checked: !isAllChecked,\n },\n };\n checkboxConfig.onAllItemsCheck(syntheticEvent);\n }\n },\n altKey: true,\n ctrlKey: true,\n metaKey: true,\n });\n\n return (\n <div className='absolute left-0 px-2.5 w-full h-row z-20 flex items-center bg-neutral-50 dark:bg-black-700'>\n {checkboxConfig.onAllItemsCheck && (\n <input\n id='checkbox-all-search'\n type='checkbox'\n className='w-4 h-4 text-blue-600 appearance-none dark:bg-black-700 border border-gray-400 dark:border-neutral-400 rounded-[4px] checked:appearance-auto focus:ring-blue-500 dark:focus:ring-blue-600 focus:ring-2 cursor-pointer'\n onChange={checkboxConfig.onAllItemsCheck}\n checked={isAllChecked}\n ref={(input) => {\n if (input) {\n input.indeterminate = checkboxConfig.checkedIds.length > 0 && !isAllChecked;\n }\n }}\n disabled={isDisabled}\n />\n )}\n </div>\n );\n};\n"],"names":["CheckAll","checkboxConfig","isAllChecked","isDisabled","useKeyboardShortcut","syntheticEvent","jsx","input"],"mappings":";;AAWO,MAAMA,IAAW,CAAC,EAAE,gBAAAC,GAAgB,cAAAC,GAAc,YAAAC,SACvDC,EAAoB;AAAA,EAClB,KAAK;AAAA,EACL,UAAU,MAAM;AACd,QAAIH,EAAe,iBAAiB;AAClC,YAAMI,IAAiB;AAAA,QACrB,QAAQ;AAAA,UACN,SAAS,CAACH;AAAA,QAAA;AAAA,MACZ;AAEF,MAAAD,EAAe,gBAAgBI,CAAc;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,CACV,GAGC,gBAAAC,EAAC,OAAA,EAAI,WAAU,8FACZ,YAAe,mBACd,gBAAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,IAAG;AAAA,IACH,MAAK;AAAA,IACL,WAAU;AAAA,IACV,UAAUL,EAAe;AAAA,IACzB,SAASC;AAAA,IACT,KAAK,CAACK,MAAU;AACd,MAAIA,MACFA,EAAM,gBAAgBN,EAAe,WAAW,SAAS,KAAK,CAACC;AAAA,IAEnE;AAAA,IACA,UAAUC;AAAA,EAAA;AAAA,GAGhB;"}
@@ -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"),B=require("../../../datatype-icon/DataTypeIcon.cjs.js"),o=require("../../../../tooltip/Tooltip.cjs.js"),n=require("@mui/icons-material"),y=require("../../../../../_virtual/index.cjs.js"),u=require("react"),F=require("../../context.cjs.js"),V=require("./Options.cjs.js"),L=require("./Prefix.cjs.js"),M=require("./Resizer.cjs.js"),_=({headerGroup:f,headerIndex:a,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:q,isResizable:T})=>{const t=A.useTableConfig(),p=t?.getPrimaryColor?.()||{},{lastNonStickyColumnIndex:I,setShowHeaderContextOptions:l,showHeaderContextOptions:P,getSumOfNextVisibleColumnWidth:z,handleUpdateColumnWidth:O,multiSelectConfig:b,headerContextOptions:h,showDataTypeIcon:R}=u.useContext(F.TableContext),D=e?.sticky?z?.(a):0,$=I?.(),{selectedColumnIds:i=[]}=b||{},W=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-10 whitespace-normal max-w-lg ${$===a?"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)},W),style:{minWidth:`${e.width}px`,maxWidth:`${e.width}px`,right:` ${e?.sticky?`${D}px`:"0px"}`},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-10 justify-between items-center",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(L.Prefix,{column:e,isShowSortArrowAsc:k,isShowSortArrowDesc:C}),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(n.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(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(o,{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(V.Options,{headerIndex:a,headerGroup:f,column:e,onSort:c,toggleHeaderOption:x,setIsShowSortArrowAsc:m,setIsShowSortArrowDesc:j,setShowHeaderOptions:v,toggleDataFilterModal:w,isColumnConfigurable:N,onAddColumnClick:S,onEditColumnClick:K,onDeleteColumnClick:q,onFilter:g}),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,R&&r.jsx(B.DataTypeIcon,{dataType:e?.dataType||"string"})]}),T?r.jsx(M.Resizer,{column:e,onResizeComplete:O}):null]})})};exports.Cell=_;
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;
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';\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-10 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` : '0px'}`,\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-10 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","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 } = 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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"}