@bigbinary/neetoui 8.3.48 → 8.3.50

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 (155) hide show
  1. package/dist/ActionDropdown.js +2 -2
  2. package/dist/Alert.js +3 -2
  3. package/dist/Alert.js.map +1 -1
  4. package/dist/Checkbox.js +2 -1
  5. package/dist/Checkbox.js.map +1 -1
  6. package/dist/ColorPicker.js +3 -3
  7. package/dist/DatePicker.js +8 -8
  8. package/dist/Dropdown.js +3 -3
  9. package/dist/Dropdown.js.map +1 -1
  10. package/dist/Input.js +2 -1
  11. package/dist/Input.js.map +1 -1
  12. package/dist/Modal.js +3 -2
  13. package/dist/Modal.js.map +1 -1
  14. package/dist/MultiEmailInput.js +2 -1
  15. package/dist/MultiEmailInput.js.map +1 -1
  16. package/dist/Pagination.js +2 -1
  17. package/dist/Pagination.js.map +1 -1
  18. package/dist/Pane.js +3 -2
  19. package/dist/Pane.js.map +1 -1
  20. package/dist/Radio.js +2 -1
  21. package/dist/Radio.js.map +1 -1
  22. package/dist/Select.js +2 -1
  23. package/dist/Select.js.map +1 -1
  24. package/dist/Sidebar.js +2 -1
  25. package/dist/Sidebar.js.map +1 -1
  26. package/dist/Slider.js +3 -3
  27. package/dist/Slider.js.map +1 -1
  28. package/dist/Switch.js +2 -1
  29. package/dist/Switch.js.map +1 -1
  30. package/dist/Table.js +34 -22
  31. package/dist/Table.js.map +1 -1
  32. package/dist/{Textarea-CoY3q1mA.js → Textarea-D3WmOs_6.js} +2 -2
  33. package/dist/{Textarea-CoY3q1mA.js.map → Textarea-D3WmOs_6.js.map} +1 -1
  34. package/dist/Textarea.js +3 -2
  35. package/dist/Textarea.js.map +1 -1
  36. package/dist/TimePicker.js +7 -7
  37. package/dist/Toastr.js +4 -4
  38. package/dist/Toastr.js.map +1 -1
  39. package/dist/Tree.js +2 -1
  40. package/dist/Tree.js.map +1 -1
  41. package/dist/TreeSelect.js +2 -1
  42. package/dist/TreeSelect.js.map +1 -1
  43. package/dist/cjs/ActionDropdown.js +2 -2
  44. package/dist/cjs/Alert.js +3 -2
  45. package/dist/cjs/Alert.js.map +1 -1
  46. package/dist/cjs/Checkbox.js +2 -1
  47. package/dist/cjs/Checkbox.js.map +1 -1
  48. package/dist/cjs/ColorPicker.js +3 -3
  49. package/dist/cjs/DatePicker.js +8 -8
  50. package/dist/cjs/Dropdown.js +3 -3
  51. package/dist/cjs/Dropdown.js.map +1 -1
  52. package/dist/cjs/Input.js +2 -1
  53. package/dist/cjs/Input.js.map +1 -1
  54. package/dist/cjs/Modal.js +3 -2
  55. package/dist/cjs/Modal.js.map +1 -1
  56. package/dist/cjs/MultiEmailInput.js +2 -1
  57. package/dist/cjs/MultiEmailInput.js.map +1 -1
  58. package/dist/cjs/Pagination.js +2 -1
  59. package/dist/cjs/Pagination.js.map +1 -1
  60. package/dist/cjs/Pane.js +3 -2
  61. package/dist/cjs/Pane.js.map +1 -1
  62. package/dist/cjs/Radio.js +2 -1
  63. package/dist/cjs/Radio.js.map +1 -1
  64. package/dist/cjs/Select.js +2 -1
  65. package/dist/cjs/Select.js.map +1 -1
  66. package/dist/cjs/Sidebar.js +2 -1
  67. package/dist/cjs/Sidebar.js.map +1 -1
  68. package/dist/cjs/Slider.js +3 -3
  69. package/dist/cjs/Slider.js.map +1 -1
  70. package/dist/cjs/Switch.js +2 -1
  71. package/dist/cjs/Switch.js.map +1 -1
  72. package/dist/cjs/Table.js +36 -24
  73. package/dist/cjs/Table.js.map +1 -1
  74. package/dist/cjs/{Textarea-DzetFleJ.js → Textarea-JUquK4ix.js} +2 -2
  75. package/dist/cjs/{Textarea-DzetFleJ.js.map → Textarea-JUquK4ix.js.map} +1 -1
  76. package/dist/cjs/Textarea.js +3 -2
  77. package/dist/cjs/Textarea.js.map +1 -1
  78. package/dist/cjs/TimePicker.js +7 -7
  79. package/dist/cjs/Toastr.js +3 -3
  80. package/dist/cjs/Toastr.js.map +1 -1
  81. package/dist/cjs/Tree.js +2 -1
  82. package/dist/cjs/Tree.js.map +1 -1
  83. package/dist/cjs/TreeSelect.js +2 -1
  84. package/dist/cjs/TreeSelect.js.map +1 -1
  85. package/dist/cjs/formik/ActionBlock.js +2 -1
  86. package/dist/cjs/formik/ActionBlock.js.map +1 -1
  87. package/dist/cjs/formik/BlockNavigation.js +3 -2
  88. package/dist/cjs/formik/BlockNavigation.js.map +1 -1
  89. package/dist/cjs/formik/Checkbox.js +2 -1
  90. package/dist/cjs/formik/Checkbox.js.map +1 -1
  91. package/dist/cjs/formik/Input.js +2 -1
  92. package/dist/cjs/formik/Input.js.map +1 -1
  93. package/dist/cjs/formik/MultiEmailInput.js +2 -1
  94. package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
  95. package/dist/cjs/formik/Radio.js +2 -1
  96. package/dist/cjs/formik/Radio.js.map +1 -1
  97. package/dist/cjs/formik/Select.js +2 -1
  98. package/dist/cjs/formik/Select.js.map +1 -1
  99. package/dist/cjs/formik/Slider.js +1 -1
  100. package/dist/cjs/formik/Switch.js +2 -1
  101. package/dist/cjs/formik/Switch.js.map +1 -1
  102. package/dist/cjs/formik/Textarea.js +3 -2
  103. package/dist/cjs/formik/Textarea.js.map +1 -1
  104. package/dist/cjs/formik/TreeSelect.js +2 -1
  105. package/dist/cjs/formik/TreeSelect.js.map +1 -1
  106. package/dist/cjs/formik/index.js +4 -4
  107. package/dist/cjs/{index-DZI1iRpm.js → index-Bb1Sdwl7.js} +23 -36
  108. package/dist/cjs/index-Bb1Sdwl7.js.map +1 -0
  109. package/dist/cjs/{index-BlcVTw2b.js → index-kRTNbSPu.js} +6 -1
  110. package/dist/cjs/index-kRTNbSPu.js.map +1 -0
  111. package/dist/cjs/index.js +6 -6
  112. package/dist/cjs/layouts.js +2 -1
  113. package/dist/cjs/layouts.js.map +1 -1
  114. package/dist/cjs/{useOverlayManager-T0kuI6q4.js → useOverlayManager-BKMTt29E.js} +2 -2
  115. package/dist/cjs/{useOverlayManager-T0kuI6q4.js.map → useOverlayManager-BKMTt29E.js.map} +1 -1
  116. package/dist/cjs/{useRecentlyUsedColors-CThW5BOM.js → useRecentlyUsedColors-Cqmsh4rp.js} +2 -2
  117. package/dist/cjs/{useRecentlyUsedColors-CThW5BOM.js.map → useRecentlyUsedColors-Cqmsh4rp.js.map} +1 -1
  118. package/dist/formik/ActionBlock.js +2 -1
  119. package/dist/formik/ActionBlock.js.map +1 -1
  120. package/dist/formik/BlockNavigation.js +3 -2
  121. package/dist/formik/BlockNavigation.js.map +1 -1
  122. package/dist/formik/Checkbox.js +2 -1
  123. package/dist/formik/Checkbox.js.map +1 -1
  124. package/dist/formik/Input.js +2 -1
  125. package/dist/formik/Input.js.map +1 -1
  126. package/dist/formik/MultiEmailInput.js +2 -1
  127. package/dist/formik/MultiEmailInput.js.map +1 -1
  128. package/dist/formik/Radio.js +2 -1
  129. package/dist/formik/Radio.js.map +1 -1
  130. package/dist/formik/Select.js +2 -1
  131. package/dist/formik/Select.js.map +1 -1
  132. package/dist/formik/Slider.js +1 -1
  133. package/dist/formik/Switch.js +2 -1
  134. package/dist/formik/Switch.js.map +1 -1
  135. package/dist/formik/Textarea.js +3 -2
  136. package/dist/formik/Textarea.js.map +1 -1
  137. package/dist/formik/TreeSelect.js +2 -1
  138. package/dist/formik/TreeSelect.js.map +1 -1
  139. package/dist/formik/index.js +4 -4
  140. package/dist/{index--eYuJ-Gq.js → index-CvjkomhM.js} +25 -37
  141. package/dist/index-CvjkomhM.js.map +1 -0
  142. package/dist/{index-BbZEp6Op.js → index-D_BsZoxj.js} +6 -2
  143. package/dist/index-D_BsZoxj.js.map +1 -0
  144. package/dist/index.js +6 -6
  145. package/dist/layouts.js +2 -1
  146. package/dist/layouts.js.map +1 -1
  147. package/dist/{useOverlayManager-BtEqSq_z.js → useOverlayManager-B2c6fBF6.js} +2 -2
  148. package/dist/{useOverlayManager-BtEqSq_z.js.map → useOverlayManager-B2c6fBF6.js.map} +1 -1
  149. package/dist/{useRecentlyUsedColors-C18GFyJC.js → useRecentlyUsedColors-DVZT_MHc.js} +2 -2
  150. package/dist/{useRecentlyUsedColors-C18GFyJC.js.map → useRecentlyUsedColors-DVZT_MHc.js.map} +1 -1
  151. package/package.json +1 -1
  152. package/dist/cjs/index-BlcVTw2b.js.map +0 -1
  153. package/dist/cjs/index-DZI1iRpm.js.map +0 -1
  154. package/dist/index--eYuJ-Gq.js.map +0 -1
  155. package/dist/index-BbZEp6Op.js.map +0 -1
package/dist/Table.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sources":["../src/hooks/useTimeout.js","../src/components/Table/components/AllRowsSelectedCallout.jsx","../src/components/Table/components/SelectAllRowsCallout.jsx","../src/hooks/useLocalStorage.js","../src/components/Table/components/HeaderCell/CellContent.jsx","../src/components/Table/components/HeaderCell/HeaderCell.jsx","../src/components/Table/components/HeaderCell/ResizableHeaderCell.jsx","../src/components/Table/components/HeaderCell/index.jsx","../src/components/Table/utils.js","../src/components/Table/hooks/useReorderColumns.js","../src/components/Table/components/SortIcon.jsx","../src/components/Table/components/TitleWithInfoIcon.jsx","../src/components/Table/hooks/useResizableColumns.jsx","../src/components/Table/hooks/useColumns.js","../src/components/Table/hooks/useScroll.js","../src/components/Table/hooks/useTableSort.js","../src/components/Table/hooks/useVirtualScroll.js","../src/components/Table/index.jsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nconst useTimeout = (callback, delay) => {\n const savedCallback = useRef(callback);\n\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n if (delay === null) {\n return undefined;\n }\n\n const id = setTimeout(() => savedCallback.current(), delay);\n\n return () => clearTimeout(id);\n }, [delay]);\n};\n\nexport default useTimeout;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { getLocale } from \"utils\";\n\nimport Button from \"../../Button\";\nimport Callout from \"../../Callout\";\nimport Typography from \"../../Typography\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst AllRowsSelectedCallout = ({\n calloutProps,\n onClearSelection,\n allRowsSelectedMessage,\n clearSelectionButtonLabel,\n}) => {\n const { t, i18n } = useTranslation();\n\n return (\n <Callout\n className=\"my-2\"\n {...calloutProps}\n data-testid=\"clear-selections-callout\"\n >\n <div className=\"neeto-ui-flex neeto-ui-gap-3\">\n <Typography style=\"body2\">\n {allRowsSelectedMessage ||\n getLocale(i18n, t, \"neetoui.table.allRowsSelected\")}\n </Typography>\n <Button\n data-testid=\"clear-selections-button\"\n style=\"link\"\n label={\n clearSelectionButtonLabel ||\n getLocale(i18n, t, \"neetoui.table.clearSelection\")\n }\n onClick={onClearSelection}\n />\n </div>\n </Callout>\n );\n};\n\nexport default AllRowsSelectedCallout;\n","import React from \"react\";\n\nimport Button from \"../../Button\";\nimport Callout from \"../../Callout\";\nimport Typography from \"../../Typography\";\n\nconst SelectAllRowsCallout = ({\n calloutProps,\n onBulkSelectAllRows,\n selectAllRowButtonLabel,\n selectAllRowMessage,\n}) => (\n <Callout\n className=\"my-2\"\n {...calloutProps}\n data-testid=\"select-all-rows-callout\"\n >\n <div className=\"neeto-ui-flex neeto-ui-gap-3\">\n <Typography style=\"body2\">{selectAllRowMessage}</Typography>\n <Button\n data-testid=\"select-all-rows-button\"\n label={selectAllRowButtonLabel}\n style=\"link\"\n onClick={onBulkSelectAllRows}\n />\n </div>\n </Callout>\n);\n\nexport default SelectAllRowsCallout;\n","/* eslint-disable @bigbinary/neeto/no-local-storage */\n\nimport { useState } from \"react\";\n\nimport { isNil } from \"ramda\";\n\nimport {\n getFromLocalStorage,\n removeFromLocalStorage,\n setToLocalStorage,\n} from \"utils\";\n\nconst useLocalStorage = (key, defaultValue) => {\n const [storedValue, setStoredValue] = useState(() =>\n getFromLocalStorage(key, defaultValue)\n );\n\n const setValue = value =>\n setStoredValue(prevStoredValue => {\n const newValue =\n typeof value === \"function\" ? value(prevStoredValue) : value;\n\n if (isNil(newValue)) {\n removeFromLocalStorage(key);\n } else {\n setToLocalStorage(key, newValue);\n }\n\n return newValue;\n });\n\n return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n","import React from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\n\nimport { hyphenize } from \"utils\";\n\nimport HeaderCellMenu from \"./HeaderCellMenu\";\n\nconst CellContent = ({\n children,\n isSortable,\n isAddEnabled,\n sortedInfo,\n onSort,\n isHidable = true,\n isDeletable = false,\n isFixedColumn,\n isColumnFreezeEnabled,\n isMoveToLeftEnabled,\n isMoveToRightEnabled,\n onColumnHide,\n onColumnUpdate,\n onAddColumn,\n onColumnDelete,\n onColumnFreeze,\n onMoreActionClick,\n column,\n moreActions = [],\n ...headerProps\n}) => {\n const isColumnHidable = isHidable && isPresent(onColumnHide);\n const isColumnDeletable = isDeletable && isPresent(onColumnDelete);\n const hasMoreActions = !isEmpty(moreActions) && isPresent(onMoreActionClick);\n const hasMoreMenu =\n isSortable ||\n isColumnHidable ||\n isAddEnabled ||\n hasMoreActions ||\n (isPresent(column) && isColumnFreezeEnabled);\n\n return (\n <th\n {...headerProps}\n title=\"\"\n onClick={isSortable ? noop : headerProps.onClick}\n >\n <div\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-justify-between\"\n data-cy={`${hyphenize(headerProps.title)}-header-title`}\n >\n <div className=\"neeto-ui-min-w-0 neeto-ui-flex-grow neeto-ui-truncate neeto-ui-table__column-title-content\">\n {children}\n </div>\n {hasMoreMenu && (\n <HeaderCellMenu\n {...{\n column,\n hasMoreActions,\n isAddEnabled,\n isColumnDeletable,\n isColumnFreezeEnabled,\n isFixedColumn,\n isMoveToLeftEnabled,\n isMoveToRightEnabled,\n isSortable,\n moreActions,\n onAddColumn,\n onColumnDelete,\n onColumnFreeze,\n onColumnHide,\n onColumnUpdate,\n onMoreActionClick,\n onSort,\n sortedInfo,\n }}\n isHidable={isColumnHidable}\n />\n )}\n </div>\n </th>\n );\n};\n\nexport default React.memo(CellContent);\n","import React from \"react\";\n\nimport classNames from \"classnames\";\n\nimport CellContent from \"./CellContent\";\nimport Resizable from \"./Resizable\";\n\nconst HeaderCell = props => {\n const { onResize, width, onResizeStop, className, ...restProps } = props;\n\n if (!width) {\n return (\n <CellContent\n {...restProps}\n className={classNames(className, \"drag-handler\")}\n />\n );\n }\n\n return (\n <Resizable\n {...{ onResize, onResizeStop, width }}\n draggableOpts={{ enableUserSelectHack: false }}\n height={0}\n handle={\n <span\n className=\"react-resizable-handle\"\n onClick={e => e.stopPropagation()}\n />\n }\n onResizeStart={e => {\n e.preventDefault();\n }}\n >\n <CellContent\n {...restProps}\n className={classNames(className, \"drag-handler\")}\n />\n </Resizable>\n );\n};\n\nexport default React.memo(HeaderCell);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\n\nimport CellContent from \"./CellContent\";\nimport Resizable from \"./Resizable\";\n\nconst ResizableHeaderCell = props => {\n const { onResize, width, onResizeStop, onResizeStart, ...restProps } = props;\n const [isResizing, setIsResizing] = useState(false);\n\n if (!width) {\n return <CellContent {...restProps} />;\n }\n\n return (\n <Resizable\n {...{ onResize, onResizeStop, width }}\n draggableOpts={{ enableUserSelectHack: false }}\n height={0}\n handle={\n <span\n className={classnames(\"react-resizable-handle\", {\n \"react-resizable-handle--resizing\": isResizing,\n })}\n onClick={e => e.stopPropagation()}\n >\n <span className=\"neeto-ui-table-react-resizable-handle__inner\" />\n </span>\n }\n onResizeStart={(e, data) => {\n e.preventDefault();\n setIsResizing(true);\n onResizeStart?.(e, data);\n }}\n onResizeStop={(e, data) => {\n setIsResizing(false);\n onResizeStop?.(e, data);\n }}\n >\n <CellContent {...restProps} />\n </Resizable>\n );\n};\n\nexport default React.memo(ResizableHeaderCell);\n","import React from \"react\";\n\nimport classNames from \"classnames\";\n\nimport CellContent from \"./CellContent\";\nimport HeaderCell from \"./HeaderCell\";\nimport ResizableHeaderCell from \"./ResizableHeaderCell\";\n\nconst ReorderableHeaderCell = ({ className, ...props }) => (\n <CellContent {...props} className={classNames(className, \"drag-handler\")} />\n);\n\nexport { CellContent, ResizableHeaderCell, ReorderableHeaderCell, HeaderCell };\n","import { isPresent, snakeToCamelCase, camelToSnakeCase } from \"neetocist\";\nimport { __, all, equals, filter, includes, pipe, pluck } from \"ramda\";\n\nimport {\n CellContent,\n HeaderCell,\n ReorderableHeaderCell,\n ResizableHeaderCell,\n} from \"./components/HeaderCell\";\nimport {\n COLUMN_FIXED_VALUES,\n SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT,\n SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT,\n TABLE_SORT_ORDERS,\n TABLE_PAGINATION_HEIGHT,\n TABLE_ROW_HEIGHT,\n} from \"./constants\";\n\nconst convertLocationPathnameToId = () => {\n const pathname = decodeURIComponent(window.location.pathname).replace(\n /^\\//,\n \"\"\n );\n\n let hash = 0;\n for (let i = 0; i < pathname.length; i++) {\n const char = pathname.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash = hash & hash; // Convert to 32-bit integer\n }\n\n return Math.abs(hash).toString(16).toUpperCase();\n};\n\nexport const getHeaderCell = ({ enableColumnResize, enableColumnReorder }) => {\n if (enableColumnReorder && enableColumnResize) return { cell: HeaderCell };\n\n if (enableColumnResize) return { cell: ResizableHeaderCell };\n\n if (enableColumnReorder) return { cell: ReorderableHeaderCell };\n\n return { cell: CellContent };\n};\n\nexport const isIncludedIn = (array1, array2) =>\n all(includes(__, array1), array2);\n\nexport const getSelectAllRowsCalloutHeight = () =>\n window.innerWidth < 768\n ? SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT\n : SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT;\n\nexport const sortFrozenColumns = columnData => {\n const originalIndices = new Map(\n columnData.map((col, index) => [col.dataIndex, index])\n );\n\n return (a, b) => {\n const aFixed = isPresent(a.fixed);\n const bFixed = isPresent(b.fixed);\n const aIndex = originalIndices.get(a.dataIndex);\n const bIndex = originalIndices.get(b.dataIndex);\n\n if (aFixed !== bFixed) return aFixed ? -1 : 1;\n\n return aIndex - bIndex;\n };\n};\n\nexport const getFixedColumns = columnData =>\n pipe(\n filter(({ fixed }) => isPresent(fixed)),\n pluck(\"dataIndex\")\n )(columnData);\n\nexport const getColumnSortOrder = (col, sortedInfo) =>\n equals(sortedInfo.field, col.dataIndex) || equals(sortedInfo.field, col.key)\n ? sortedInfo.order\n : null;\n\nexport const getColumFixedValue = (col, frozenColumns) =>\n frozenColumns?.indexOf(col.dataIndex) !== -1\n ? COLUMN_FIXED_VALUES.LEFT\n : null;\n\nexport const getFrozenColumnsLocalStorageKey = localStorageKeyPrefix => {\n const prefix = isPresent(localStorageKeyPrefix)\n ? localStorageKeyPrefix\n : convertLocationPathnameToId();\n\n return `NEETOUI-${prefix}-FIXED_COLUMNS`;\n};\n\nexport const getSortInfoFromQueryParams = queryParams => {\n const sortedInfo = {};\n if (\n isPresent(queryParams.sort_by) &&\n isPresent(queryParams.order_by) &&\n isPresent(TABLE_SORT_ORDERS[queryParams.order_by])\n ) {\n sortedInfo.field = queryParams.sort_by.includes(\"+\")\n ? queryParams.sort_by.split(\"+\").map(snakeToCamelCase)\n : snakeToCamelCase(queryParams.sort_by);\n sortedInfo.order = TABLE_SORT_ORDERS[queryParams.order_by];\n }\n\n return sortedInfo;\n};\n\nexport const getSortField = field => {\n if (Array.isArray(field)) {\n return field.map(camelToSnakeCase).join(\"+\");\n }\n\n return camelToSnakeCase(field);\n};\n\nexport const calculateRowsPerPage = () => {\n const viewportHeight = window.innerHeight;\n const rowsPerPage = Math.floor(\n ((viewportHeight - TABLE_PAGINATION_HEIGHT) / TABLE_ROW_HEIGHT) * 3\n );\n\n return Math.ceil(rowsPerPage / 10) * 10;\n};\n\nexport const filterVisibleColumns = columns =>\n columns.filter(col => col.hidden !== true && col.isShown !== false);\n","import { move } from \"ramda\";\nimport { filterVisibleColumns } from \"../utils\";\n\nconst useReorderColumns = ({\n isEnabled,\n columns,\n setColumns,\n onColumnUpdateWithChanges,\n rowSelection,\n}) => {\n if (!isEnabled) return { dragProps: {}, columns };\n\n const isColumnFixed = column => !!column.fixed;\n\n const dragProps = {\n onDragEnd: (fromIndex, toIndex) => {\n if (rowSelection) {\n fromIndex--;\n toIndex--;\n }\n\n if (fromIndex < 0 || toIndex < 0 || fromIndex === toIndex) return;\n\n const visibleColumns = filterVisibleColumns(columns);\n\n const fromColumn = visibleColumns[fromIndex];\n const toColumn = visibleColumns[toIndex];\n\n if (!fromColumn || !toColumn) return;\n else if (isColumnFixed(fromColumn) || isColumnFixed(toColumn)) return;\n\n const fromColumnActualIndex = columns.indexOf(fromColumn);\n const toColumnActualIndex = columns.indexOf(toColumn);\n if (fromColumnActualIndex < 0 || toColumnActualIndex < 0) return;\n\n const newColumns = move(\n fromColumnActualIndex,\n toColumnActualIndex,\n columns\n );\n\n setColumns(newColumns);\n onColumnUpdateWithChanges(newColumns);\n },\n nodeSelector:\n \"th:not(.ant-table-cell-fix-left):not(.ant-table-cell-scrollbar)\",\n handleSelector: \".drag-handler\",\n ignoreSelector: \".react-resizable-handle\",\n };\n\n return { dragProps, columns };\n};\n\nexport default useReorderColumns;\n","import React from \"react\";\n\nimport { DownArrow, UpArrow } from \"neetoicons\";\n\nimport { TABLE_SORT_ORDERS, URL_SORT_ORDERS } from \"../constants\";\n\nconst SortIcon = ({ sortOrder }) => {\n if (\n sortOrder === TABLE_SORT_ORDERS.asc ||\n sortOrder === URL_SORT_ORDERS.ascend\n ) {\n return <UpArrow size={14} />;\n }\n\n if (\n sortOrder === TABLE_SORT_ORDERS.desc ||\n sortOrder === URL_SORT_ORDERS.descend\n ) {\n return <DownArrow size={14} />;\n }\n\n return null;\n};\n\nexport default SortIcon;\n","import React, { useRef } from \"react\";\n\nimport { InfoRound } from \"neetoicons\";\n\nimport Popover from \"components/Popover\";\nimport Typography from \"components/Typography\";\n\nconst TitleWithInfoIcon = ({ title, description, ...rest }) => {\n const popoverRef = useRef();\n\n return (\n <span className=\"neeto-ui-pr-5 relative\">\n {typeof title === \"function\" ? title(rest) : title}\n {description && (\n <>\n <span\n className=\"neeto-ui-table__column-title-info-icon\"\n ref={popoverRef}\n >\n <InfoRound color=\"currentColor\" size={14} />\n </span>\n <Popover\n appendTo={() => document.body}\n position=\"bottom\"\n reference={popoverRef}\n >\n <Typography lineHeight=\"normal\" style=\"body2\">\n {description}\n </Typography>\n </Popover>\n </>\n )}\n </span>\n );\n};\n\nexport default React.memo(TitleWithInfoIcon);\n","import React, { useMemo } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { has } from \"ramda\";\n\nimport SortIcon from \"../components/SortIcon\";\nimport TitleWithInfoIcon from \"../components/TitleWithInfoIcon\";\nimport {\n getColumFixedValue,\n getColumnSortOrder,\n sortFrozenColumns,\n} from \"../utils\";\n\nconst useResizableColumns = ({\n columns,\n columnData,\n frozenColumns,\n setColumns,\n isEnabled,\n isAddEnabled,\n isColumnFreezeEnabled,\n onColumnAdd,\n onColumnUpdate,\n onColumnUpdateWithChanges,\n onColumnDelete,\n handleSort,\n sortedInfo,\n onColumnHide,\n onColumnFreeze,\n onMoreActionClick,\n tableOnChangeProps,\n}) => {\n const handleResize =\n index =>\n (_, { size }) => {\n const nextColumns = [...columns];\n nextColumns[index] = { ...nextColumns[index], width: size.width };\n setColumns(nextColumns);\n };\n\n const computedColumnsData = useMemo(\n () =>\n columns\n .map((col, index) => {\n const fixed = getColumFixedValue(col, frozenColumns);\n const lastColProps = {}; // This configuration allows more flexibility in resizing of other columns.\n if (index >= columns.length - 1) {\n lastColProps.width = undefined;\n lastColProps.onCell = () => ({ style: { minWidth: col.width } });\n }\n\n const modifiedColumn = {\n ...col,\n ...lastColProps,\n onHeaderCell: column => ({\n width: col.width,\n onColumnUpdate,\n onResize: isEnabled ? handleResize(index) : noop,\n onResizeStop: () =>\n isEnabled ? onColumnUpdateWithChanges(columns) : noop,\n isSortable: isPresent(col.sorter),\n onSort: handleSort,\n sortedInfo,\n onColumnHide,\n onColumnFreeze,\n onMoreActionClick,\n isMoveToLeftEnabled: index > 0,\n isMoveToRightEnabled: index < columns.length - 1,\n isColumnFreezeEnabled,\n isAddEnabled: isAddEnabled && !fixed,\n onAddColumn: positionOffset =>\n onColumnAdd(index + positionOffset),\n isFixedColumn: !!fixed,\n onColumnDelete,\n isHidable: col.isHidable,\n isDeletable: col.isDeletable,\n moreActions: col.moreActions,\n column: col,\n \"data-text-align\": column.align,\n }),\n sortIcon: SortIcon,\n sortOrder: getColumnSortOrder(col, sortedInfo),\n fixed,\n title: col.description\n ? props => (\n <TitleWithInfoIcon\n {...props}\n description={col.description}\n title={col.title}\n />\n )\n : col.title,\n };\n\n if (!has(\"ellipsis\", col)) modifiedColumn.ellipsis = true;\n\n return modifiedColumn;\n })\n .sort(sortFrozenColumns(columnData)),\n [\n columns,\n sortedInfo,\n tableOnChangeProps,\n onColumnFreeze,\n frozenColumns,\n columnData,\n ]\n );\n\n return { columns: computedColumnsData };\n};\n\nexport default useResizableColumns;\n","import { useCallback, useEffect } from \"react\";\n\nimport { append, equals, isEmpty, props, without } from \"ramda\";\n\nimport useLocalStorage from \"hooks/useLocalStorage\";\n\nimport useReorderColumns from \"./useReorderColumns\";\nimport useResizableColumns from \"./useResizableColumns\";\n\nimport { getFixedColumns, getFrozenColumnsLocalStorageKey } from \"../utils\";\n\nconst useColumns = ({\n columns,\n columnData,\n setColumns,\n isResizeEnabled,\n isReorderEnabled,\n isAddEnabled,\n isColumnFreezeEnabled,\n onColumnAdd,\n onColumnUpdate,\n onColumnUpdateWithChanges,\n onColumnDelete,\n rowSelection,\n sortedInfo,\n setSortedInfo,\n onColumnHide,\n onMoreActionClick,\n onTableChange,\n tableOnChangeProps,\n handleTableSortChange,\n isDefaultPageChangeHandler,\n localStorageKeyPrefix,\n}) => {\n const [frozenColumns, setFrozenColumns] = useLocalStorage(\n getFrozenColumnsLocalStorageKey(localStorageKeyPrefix)\n );\n\n const onColumnFreeze = useCallback(\n (isFixedColumn, { dataIndex }) => {\n const updatedColumns = isFixedColumn\n ? without([dataIndex], frozenColumns)\n : append(dataIndex, frozenColumns);\n\n setFrozenColumns(updatedColumns);\n },\n [frozenColumns, setFrozenColumns]\n );\n\n useEffect(() => {\n if (isEmpty(columnData) || frozenColumns) return;\n\n const fixedCols = getFixedColumns(columnData);\n setFrozenColumns(fixedCols);\n }, [columnData, setFrozenColumns]);\n\n const { dragProps } = useReorderColumns({\n isEnabled: isReorderEnabled,\n columns,\n setColumns,\n onColumnUpdateWithChanges,\n rowSelection,\n });\n\n const handleSort = sorter => {\n let newSortedInfo = { ...sorter };\n if (\n equals(\n props([\"field\", \"order\"], newSortedInfo),\n props([\"field\", \"order\"], sortedInfo)\n )\n ) {\n newSortedInfo = {\n field: null,\n order: null,\n column: null,\n columnKey: null,\n };\n }\n setSortedInfo(newSortedInfo);\n onTableChange?.(\n tableOnChangeProps.current?.pagination || {},\n tableOnChangeProps.current?.filters || {},\n { ...newSortedInfo }\n );\n\n isDefaultPageChangeHandler &&\n handleTableSortChange(\n tableOnChangeProps.current?.pagination || {},\n newSortedInfo\n );\n };\n\n const { columns: computedColumnsData } = useResizableColumns({\n columns,\n columnData,\n frozenColumns,\n setColumns,\n isEnabled: isResizeEnabled,\n isAddEnabled,\n isColumnFreezeEnabled,\n onColumnAdd,\n onColumnUpdate,\n onColumnUpdateWithChanges,\n onColumnDelete,\n handleSort,\n sortedInfo,\n onColumnHide,\n onMoreActionClick,\n tableOnChangeProps,\n onColumnFreeze,\n });\n\n return { dragProps, columns: computedColumnsData };\n};\n\nexport default useColumns;\n","import { useState, useRef, useCallback } from \"react\";\n\nimport { useRestoreScrollPosition } from \"./useRestoreScrollPosition\";\n\nimport { TABLE_PAGINATION_HEIGHT } from \"../constants\";\nimport { getSelectAllRowsCalloutHeight } from \"../utils\";\n\nexport const useScroll = ({\n fixedHeight,\n enableColumnReorder,\n loading,\n otherProps,\n rowData,\n pageSize,\n shouldShowSelectAllRowsCallout,\n shouldShowAllRowsSelectedCallout,\n headerHeight,\n}) => {\n const [containerHeight, setContainerHeight] = useState(0);\n const resizeObserver = useRef(\n new ResizeObserver(([entry]) =>\n setContainerHeight(entry.contentRect.height)\n )\n );\n const scrollRef = useRef(null);\n\n const tableRef = useCallback(\n table => {\n scrollRef.current = table;\n\n if (!fixedHeight) return;\n\n const observer = resizeObserver.current;\n\n if (table !== null) {\n const targetNode = enableColumnReorder\n ? table?.parentNode?.parentNode\n : table?.parentNode;\n\n observer.observe(targetNode);\n } else if (observer) {\n observer.disconnect();\n }\n },\n [resizeObserver.current, fixedHeight, enableColumnReorder]\n );\n\n const { handleScroll } = useRestoreScrollPosition({\n tableRef,\n scrollRef,\n loading,\n });\n\n const calculateTableContainerHeight = () => {\n const isPaginationVisible =\n otherProps.pagination !== false && rowData.length > pageSize;\n\n let selectAllRowsCalloutHeight = 0;\n if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {\n selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();\n }\n\n return (\n containerHeight -\n headerHeight -\n (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) -\n selectAllRowsCalloutHeight\n );\n };\n\n return {\n tableRef,\n tableContainerRef: null,\n handleScroll,\n calculatedScroll: {\n x: \"max-content\",\n y: calculateTableContainerHeight(),\n },\n };\n};\n","import { useEffect, useState } from \"react\";\n\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useQueryParams } from \"hooks\";\nimport { buildUrl } from \"utils\";\n\nimport { URL_SORT_ORDERS } from \"../constants\";\nimport { getSortInfoFromQueryParams, getSortField } from \"../utils\";\n\nconst useTableSort = () => {\n const queryParams = useQueryParams();\n const [sortedInfo, setSortedInfo] = useState(() =>\n getSortInfoFromQueryParams(queryParams)\n );\n\n useEffect(() => {\n setSortedInfo(getSortInfoFromQueryParams(queryParams));\n }, [queryParams?.sort_by, queryParams?.order_by]);\n\n const history = useHistory();\n\n const handleTableChange = (pagination, sorter) => {\n const params = {\n sort_by: sorter.order ? getSortField(sorter.field) : undefined,\n order_by: URL_SORT_ORDERS[sorter.order],\n page: pagination.current,\n };\n\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, mergeLeft(params, queryParams)));\n };\n\n return { handleTableChange, sortedInfo, setSortedInfo };\n};\n\nexport default useTableSort;\n","import { useState, useRef, useEffect } from \"react\";\n\nimport { noop } from \"neetocist\";\n\nimport { TABLE_PAGINATION_HEIGHT } from \"../constants\";\nimport { getSelectAllRowsCalloutHeight } from \"../utils\";\n\nexport const useVirtualScroll = ({\n otherProps,\n rowData,\n pageSize,\n shouldShowSelectAllRowsCallout,\n shouldShowAllRowsSelectedCallout,\n headerHeight,\n}) => {\n const [containerRect, setContainerRect] = useState({ top: 0, left: 0 });\n const tableContainerRef = useRef(null);\n\n useEffect(() => {\n const updateContainerRect = () => {\n if (!tableContainerRef.current) return;\n const rect = tableContainerRef.current.getBoundingClientRect();\n setContainerRect(rect);\n };\n\n updateContainerRect();\n\n window.addEventListener(\"scroll\", updateContainerRect);\n window.addEventListener(\"resize\", updateContainerRect);\n\n return () => {\n window.removeEventListener(\"scroll\", updateContainerRect);\n window.removeEventListener(\"resize\", updateContainerRect);\n };\n }, []);\n\n const calculateTableContainerHeight = () => {\n const isPaginationVisible =\n otherProps.pagination !== false && rowData.length > pageSize;\n\n let selectAllRowsCalloutHeight = 0;\n if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {\n selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();\n }\n\n const containerHeight = window.innerHeight - containerRect.top;\n\n return (\n containerHeight -\n headerHeight -\n (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) -\n selectAllRowsCalloutHeight\n );\n };\n\n return {\n tableRef: null,\n tableContainerRef,\n handleScroll: noop,\n calculatedScroll: {\n x: window.innerWidth - containerRect?.left,\n y: calculateTableContainerHeight(),\n },\n };\n};\n","import React, { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { Table as AntTable, ConfigProvider } from \"antd\";\nimport classnames from \"classnames\";\nimport {\n dynamicArray,\n isNotEmpty,\n modifyBy,\n snakeToCamelCase,\n} from \"neetocist\";\nimport { Left, Right, MenuHorizontal } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { assoc, isEmpty, mergeLeft, pluck } from \"ramda\";\nimport ReactDragListView from \"react-drag-listview\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { ANTD_LOCALE } from \"components/constants\";\nimport { useQueryParams, useTimeout } from \"hooks\";\nimport { ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES, buildUrl, noop } from \"utils\";\n\nimport AllRowsSelectedCallout from \"./components/AllRowsSelectedCallout\";\nimport SelectAllRowsCallout from \"./components/SelectAllRowsCallout\";\nimport { TABLE_SORT_ORDERS, TABLE_DEFAULT_HEADER_HEIGHT } from \"./constants\";\nimport useColumns from \"./hooks/useColumns\";\nimport { useScroll } from \"./hooks/useScroll\";\nimport useTableSort from \"./hooks/useTableSort\";\nimport { useVirtualScroll } from \"./hooks/useVirtualScroll\";\nimport { getHeaderCell, isIncludedIn, calculateRowsPerPage } from \"./utils\";\n\nimport Button from \"../Button\";\nimport Spinner from \"../Spinner\";\nimport Typography from \"../Typography\";\nimport TableInfoPane from \"./components/InfoPane\";\nimport i18next from \"i18next\";\n\nconst Table = ({\n allowRowClick = true,\n enableColumnResize = true,\n enableColumnReorder = false,\n enableColumnFreeze = true,\n enableAddColumn = false,\n className = \"\",\n columnData = [],\n currentPageNumber = 1,\n defaultPageSize = 30,\n handlePageChange = noop,\n loading = false,\n onRowClick,\n onRowSelect,\n rowData = [],\n totalCount = 0,\n selectedRowKeys: initialSelectedRowKeys = [],\n fixedHeight = false,\n paginationProps = {},\n rowKey = \"id\",\n scroll,\n rowSelection,\n shouldDynamicallyRenderRowSize = false,\n bordered = true,\n onColumnUpdate,\n components = {},\n onColumnHide,\n onColumnAdd = noop,\n onColumnDelete,\n onChange,\n onMoreActionClick,\n bulkSelectAllRowsProps,\n localStorageKeyPrefix,\n virtual = false,\n ...otherProps\n}) => {\n const { i18n } = useTranslation();\n const [headerHeight, setHeaderHeight] = useState(TABLE_DEFAULT_HEADER_HEIGHT);\n const [columns, setColumns] = useState(columnData);\n const [bulkSelectedAllRows, setBulkSelectedAllRows] = useState(false);\n const [columnChanges, setColumnChanges] = useState({});\n const {\n handleTableChange: handleTableSortChange,\n sortedInfo,\n setSortedInfo,\n } = useTableSort();\n\n const { setBulkSelectedAllRows: handleSetBulkSelectedAllRows } =\n bulkSelectAllRowsProps ?? {};\n\n const isDefaultPageChangeHandler = handlePageChange === noop;\n\n const history = useHistory();\n\n const headerRef = useRef();\n const tableOnChangeProps = useRef({});\n\n useTimeout(() => {\n const headerHeight = headerRef.current\n ? headerRef.current.offsetHeight\n : TABLE_DEFAULT_HEADER_HEIGHT;\n\n setHeaderHeight(headerHeight);\n }, 10);\n\n const onColumnUpdateWithChanges = updatedColumns => {\n const newChanges = {};\n\n updatedColumns.forEach(col => {\n const originalCol = columnData.find(c => c.dataIndex === col.dataIndex);\n const changes = {};\n\n if (col.width && col.width !== originalCol?.width) {\n changes.width = col.width;\n }\n\n if (Object.keys(changes).length > 0) {\n newChanges[col.dataIndex] = changes;\n }\n });\n\n setColumnChanges(prev => ({ ...prev, ...newChanges }));\n onColumnUpdate?.(updatedColumns);\n };\n\n const { dragProps, columns: curatedColumnsData } = useColumns({\n isReorderEnabled: enableColumnReorder,\n isResizeEnabled: enableColumnResize,\n isAddEnabled: enableAddColumn,\n isColumnFreezeEnabled: enableColumnFreeze,\n onTableChange: onChange,\n columns,\n columnData,\n setColumns,\n onColumnUpdate,\n onColumnUpdateWithChanges,\n rowSelection,\n sortedInfo,\n setSortedInfo,\n onColumnHide,\n onMoreActionClick,\n onColumnAdd,\n onColumnDelete,\n tableOnChangeProps,\n handleTableSortChange,\n isDefaultPageChangeHandler,\n localStorageKeyPrefix,\n });\n\n const queryParams = useQueryParams();\n\n const setSortFromURL = columnData =>\n modifyBy(\n { dataIndex: snakeToCamelCase(queryParams.sort_by ?? \"\") },\n assoc(\"sortOrder\", TABLE_SORT_ORDERS[queryParams.order_by]),\n columnData\n );\n\n const sortedColumns = isDefaultPageChangeHandler\n ? setSortFromURL(curatedColumnsData)\n : curatedColumnsData;\n\n const locale = { emptyText: <Typography style=\"body2\">No Data</Typography> };\n\n const selectedRowKeys = bulkSelectedAllRows\n ? pluck(rowKey, rowData)\n : initialSelectedRowKeys;\n\n const showBulkSelectionCallout = useMemo(\n () =>\n isIncludedIn(selectedRowKeys, pluck(rowKey, rowData)) &&\n selectedRowKeys.length !== totalCount &&\n !bulkSelectedAllRows,\n [selectedRowKeys, rowKey, rowData, totalCount, bulkSelectedAllRows]\n );\n\n const shouldShowSelectAllRowsCallout =\n bulkSelectAllRowsProps && showBulkSelectionCallout;\n\n const shouldShowAllRowsSelectedCallout =\n bulkSelectAllRowsProps && bulkSelectedAllRows;\n\n const pageSize = shouldDynamicallyRenderRowSize\n ? calculateRowsPerPage()\n : paginationProps.pageSize || defaultPageSize;\n\n const { tableRef, tableContainerRef, handleScroll, calculatedScroll } = (\n virtual ? useVirtualScroll : useScroll\n )({\n fixedHeight,\n enableColumnReorder,\n loading,\n otherProps,\n rowData,\n pageSize,\n shouldShowSelectAllRowsCallout,\n shouldShowAllRowsSelectedCallout,\n headerHeight,\n });\n\n const handleRowChange = (selectedRowKeys, selectedRows) => {\n const tableWrapper = document.querySelector(\n '[data-testid=\"table-wrapper\"]'\n );\n\n if (selectedRowKeys.length !== defaultPageSize) {\n setBulkSelectedAllRows(false);\n handleSetBulkSelectedAllRows?.(false);\n tableWrapper?.classList.remove(\"neeto-ui-overflow-hidden\");\n } else {\n tableWrapper?.classList.add(\"neeto-ui-overflow-hidden\");\n }\n onRowSelect?.(selectedRowKeys, selectedRows);\n };\n\n const rowSelectionProps = rowSelection\n ? {\n type: \"checkbox\",\n preserveSelectedRowKeys: true,\n columnWidth: 48,\n ...rowSelection,\n onChange: handleRowChange,\n selectedRowKeys,\n }\n : false;\n\n // eslint-disable-next-line @bigbinary/neeto/no-excess-function-arguments\n const handleTableChange = (pagination, filters, sorter, extras) => {\n setSortedInfo(sorter);\n isDefaultPageChangeHandler && handleTableSortChange(pagination, sorter);\n onChange?.(pagination, filters, sorter, extras);\n tableOnChangeProps.current = { pagination, filters };\n };\n\n const componentOverrides = {\n ...components,\n header: getHeaderCell({\n enableColumnResize,\n enableColumnReorder,\n }),\n };\n\n const calculatePageSizeOptions = () =>\n dynamicArray(5, index => (index + 1) * pageSize);\n\n const itemRender = (_, type, originalElement) => {\n const commonProps = { size: \"small\", style: \"text\" };\n\n if (type === \"prev\") return <Button icon={Left} {...commonProps} />;\n\n if (type === \"next\") return <Button icon={Right} {...commonProps} />;\n\n if (type === \"jump-prev\" || type === \"jump-next\") {\n return <Button icon={MenuHorizontal} {...commonProps} />;\n }\n\n return originalElement;\n };\n\n useEffect(() => {\n if (isNotEmpty(initialSelectedRowKeys)) return;\n\n setBulkSelectedAllRows(false);\n handleSetBulkSelectedAllRows?.(false);\n }, [handleSetBulkSelectedAllRows, initialSelectedRowKeys]);\n\n useEffect(() => {\n const shouldNavigateToLastPage =\n isEmpty(rowData) && !loading && currentPageNumber !== 1;\n\n if (!shouldNavigateToLastPage) return;\n\n const lastPage = Math.ceil(totalCount / pageSize);\n const page = Math.max(1, lastPage);\n const pathname = window.location.pathname;\n\n isDefaultPageChangeHandler\n ? history.push(buildUrl(pathname, mergeLeft({ page }, queryParams)))\n : handlePageChange(page, pageSize);\n }, [rowData]);\n\n useEffect(() => {\n const mergedColumns = columnData.map(col => ({\n ...col,\n ...columnChanges[col.dataIndex], // Apply any column changes\n }));\n setColumns(mergedColumns);\n }, [columnData, columnChanges]);\n\n const neetoUIFontBold = parseInt(\n getComputedStyle(document.documentElement).getPropertyValue(\n \"--neeto-ui-font-bold\"\n ),\n 10\n );\n\n const renderTable = () => (\n <ConfigProvider\n direction={i18next.dir()}\n locale={ANTD_LOCALE[i18n.language || \"en\"]}\n theme={{\n token: { ...ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES },\n components: {\n Pagination: {\n itemActiveBg: \"rgb(var(--neeto-ui-primary-500))\",\n itemActiveBgDisabled: \"rgb(var(--neeto-ui-gray-50))\",\n itemActiveColorDisabled: \"rgb(var(--neeto-ui-gray-300))\",\n itemBg: \"rgb(var(--neeto-ui-white))\",\n itemInputBg: \"rgb(var(--neeto-ui-white))\",\n itemLinkBg: \"rgb(var(--neeto-ui-white))\",\n\n // Global overrides\n colorBgContainer: \"rgb(var(--neeto-ui-primary-500))\",\n colorPrimary: \"rgb(var(--neeto-ui-white))\",\n colorPrimaryHover: \"rgb(var(--neeto-ui-white))\",\n colorBgTextHover: \"rgb(var(--neeto-ui-gray-200))\",\n borderRadius: 6,\n },\n Table: {\n headerBorderRadius: 0,\n bodySortBg: \"rgb(var(--neeto-ui-gray-50))\",\n borderColor: \"rgb(var(--neeto-ui-gray-200))\",\n expandIconBg: \"rgb(var(--neeto-ui-white))\",\n filterDropdownBg: \"rgb(var(--neeto-ui-white))\",\n filterDropdownMenuBg: \"rgb(var(--neeto-ui-white))\",\n fixedHeaderSortActiveBg: \"rgb(var(--neeto-ui-gray-200))\",\n footerBg: \"rgb(var(--neeto-ui-gray-100))\",\n footerColor: \"rgb(var(--neeto-ui-black))\",\n headerBg: \"rgb(var(--neeto-ui-gray-100))\",\n headerColor: \"rgb(var(--neeto-ui-black))\",\n headerFilterHoverBg: \"rgb(var(--neeto-ui-gray-100))\",\n headerSortActiveBg: \"rgb(var(--neeto-ui-gray-200))\",\n headerSortHoverBg: \"rgb(var(--neeto-ui-gray-200))\",\n headerSplitColor: \"rgb(var(--neeto-ui-gray-100))\",\n rowExpandedBg: \"rgb(var(--neeto-ui-gray-100))\",\n rowHoverBg: \"rgb(var(--neeto-ui-gray-50))\",\n rowSelectedBg: \"rgb(var(--neeto-ui-accent-50))\",\n rowSelectedHoverBg: \"rgb(var(--neeto-ui-accent-50))\",\n stickyScrollBarBg: \"rgb(var(--neeto-ui-gray-300))\",\n cellPaddingBlock: 11,\n\n // Global overrides\n colorPrimary: \"rgb(var(--neeto-ui-primary-500))\",\n fontSize: 14,\n fontWeightStrong: neetoUIFontBold,\n paddingContentVerticalLG: 11,\n },\n },\n }}\n >\n {shouldShowSelectAllRowsCallout && (\n <SelectAllRowsCallout\n {...bulkSelectAllRowsProps}\n onBulkSelectAllRows={() => {\n setBulkSelectedAllRows(true);\n handleSetBulkSelectedAllRows?.(true);\n }}\n />\n )}\n {shouldShowAllRowsSelectedCallout && (\n <AllRowsSelectedCallout\n {...bulkSelectAllRowsProps}\n onClearSelection={() => {\n setBulkSelectedAllRows(false);\n handleSetBulkSelectedAllRows?.(false);\n handleRowChange([], []);\n }}\n />\n )}\n <AntTable\n {...{ bordered, locale, rowKey, virtual }}\n columns={sortedColumns}\n components={componentOverrides}\n dataSource={rowData}\n loading={{ spinning: loading, indicator: <Spinner /> }}\n ref={tableRef}\n rowSelection={rowSelectionProps}\n scroll={{ ...calculatedScroll, ...scroll }}\n showSorterTooltip={false}\n pagination={{\n hideOnSinglePage: true,\n ...paginationProps,\n showSizeChanger: false,\n total: totalCount ?? 0,\n current: currentPageNumber,\n defaultPageSize: pageSize,\n pageSizeOptions: calculatePageSizeOptions(),\n onChange: handlePageChange,\n itemRender,\n }}\n rowClassName={classnames(\n \"neeto-ui-table--row\",\n { \"neeto-ui-table--row_hover\": allowRowClick },\n [className]\n )}\n onChange={handleTableChange}\n onScroll={handleScroll}\n onHeaderRow={() => ({\n ref: headerRef,\n className: classnames(\"neeto-ui-table__header\", {\n \"neeto-ui-table-reorderable\": enableColumnReorder,\n }),\n id: \"neeto-ui-table__header\",\n })}\n onRow={(record, rowIndex) => ({\n onClick: event =>\n allowRowClick && onRowClick && onRowClick(event, record, rowIndex),\n })}\n {...otherProps}\n />\n <TableInfoPane {...{ onColumnUpdate }} />\n </ConfigProvider>\n );\n\n const renderTableVirtual = () =>\n virtual ? (\n <div ref={tableContainerRef}>{renderTable()}</div>\n ) : (\n renderTable()\n );\n\n return enableColumnReorder ? (\n <ReactDragListView.DragColumn {...dragProps}>\n {renderTableVirtual()}\n </ReactDragListView.DragColumn>\n ) : (\n renderTableVirtual()\n );\n};\n\nTable.propTypes = {\n /**\n * Enables row click event. Accepts boolean values.\n */\n allowRowClick: PropTypes.bool,\n /**\n * Dynamically renders the number of rows based on the viewport height.\n */\n shouldDynamicallyRenderRowSize: PropTypes.bool,\n /**\n * Custom classnames for each row.\n */\n className: PropTypes.string,\n /**\n * To make the Table fixed height.\n */\n fixedHeight: PropTypes.bool,\n /**\n * Columns of the Table. Accepts an array of [column definitions](#column_data).\n */\n columnData: PropTypes.array.isRequired,\n /**\n * Active page number.\n */\n currentPageNumber: PropTypes.number,\n /**\n * Sets the number of rows in a page.\n */\n defaultPageSize: PropTypes.number,\n /**\n * Handles page change events. Accepts a callback with `page` and `pageSize` as parameters. If not provided, component will handle page query parameters.\n *\n * `handlePageChange={(page, pageSize) => {}}`\n */\n handlePageChange: PropTypes.func,\n /**\n * Show loading state in Table.\n */\n loading: PropTypes.bool,\n /**\n * Handles click event on each row. Accepts a callback with `event`, `record`, and `index` as parameters.\n *\n * `onRowClick={(event, record, rowIndex) => {}}`\n */\n onRowClick: PropTypes.func,\n /**\n * Handles select event on each row. Accepts a callback with `selectedRowKeys` and `selectedRows` as parameters.\n * Make sure to pass `id` in `rowData` for this to work.\n * `onRowSelect={(selectedRowKeys, selectedRows) => {}}`\n */\n onRowSelect: PropTypes.func,\n /**\n * Keys of the rows that are selected.\n */\n selectedRowKeys: PropTypes.array,\n /**\n * Additional props for pagination. Refer [pagination docs](https://ant.design/components/pagination/#API) from AntD Table.\n */\n paginationProps: PropTypes.object,\n /**\n * Data for rows to be displayed. Accepts an array of JavaScript Objects.\n */\n rowData: PropTypes.array.isRequired,\n /**\n * Total number of data items.\n */\n totalCount: PropTypes.number,\n /**\n * Enables resizing of columns. Accepts boolean values.\n */\n enableColumnResize: PropTypes.bool,\n /**\n * Enables reordering of columns. Accepts boolean values.\n */\n enableColumnReorder: PropTypes.bool,\n /**\n * Enables adding of columns to the left or right of the current column. Accepts boolean values.\n */\n enableAddColumn: PropTypes.bool,\n /**\n * Handles column update events. Accepts a callback with `columns` as parameters.\n *\n * `onColumnUpdate={(columns) => {}}`\n */\n onColumnUpdate: PropTypes.func,\n /**\n * Function that gets called when a new column is added. Gets called with the 'position' to add the new column to as parameter.\n *\n * `onColumnAdd={(position) => {}}`\n */\n onColumnAdd: PropTypes.func,\n /**\n * Function that gets called when a custom field column is deleted. Gets called with the 'id' of the column getting deleted as parameter.\n *\n * `onColumnDelete={(key) => {}}`\n */\n onColumnDelete: PropTypes.func,\n /**\n * Function that gets called when a more action item in header is clicked.\n *\n * `onMoreActionClick={(type, column) => {}}`\n */\n onMoreActionClick: PropTypes.func,\n /**\n * Additional props for row selection. Refer [row selection docs](https://ant.design/components/table/#rowSelection) from AntD Table\n * Make sure to pass `id` in `rowData` for this to work.\n */\n rowSelection: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n /**\n * Props for adding `Select all rows` option for multi-page table.\n */\n bulkSelectAllRowsProps: PropTypes.shape({\n selectAllRowMessage: PropTypes.string.isRequired,\n selectAllRowButtonLabel: PropTypes.string.isRequired,\n setBulkSelectedAllRows: PropTypes.func.isRequired,\n allRowsSelectedMessage: PropTypes.string,\n clearSelectionButtonLabel: PropTypes.string,\n }),\n /**\n * String to set as the prefix of the local storage key where the data is persisted, eg: fixed columns.\n */\n localStorageKeyPrefix: PropTypes.string,\n /**\n * Whether to use virtual scrolling (beta).\n */\n virtual: PropTypes.bool,\n};\n\nexport default Table;\n"],"names":["useTimeout","callback","delay","savedCallback","useRef","useEffect","current","id","setTimeout","clearTimeout","AllRowsSelectedCallout","_ref","calloutProps","onClearSelection","allRowsSelectedMessage","clearSelectionButtonLabel","_useTranslation","useTranslation","t","i18n","_jsx","Callout","_objectSpread","className","children","_jsxs","Typography","style","getLocale","Button","label","onClick","SelectAllRowsCallout","onBulkSelectAllRows","selectAllRowButtonLabel","selectAllRowMessage","useLocalStorage","key","defaultValue","_useState","useState","getFromLocalStorage","_useState2","_slicedToArray","storedValue","setStoredValue","setValue","value","prevStoredValue","newValue","isNil","removeFromLocalStorage","setToLocalStorage","CellContent","isSortable","isAddEnabled","sortedInfo","onSort","_ref$isHidable","isHidable","_ref$isDeletable","isDeletable","isFixedColumn","isColumnFreezeEnabled","isMoveToLeftEnabled","isMoveToRightEnabled","onColumnHide","onColumnUpdate","onAddColumn","onColumnDelete","onColumnFreeze","onMoreActionClick","column","_ref$moreActions","moreActions","headerProps","_objectWithoutProperties","_excluded","isColumnHidable","isPresent","isColumnDeletable","hasMoreActions","isEmpty","hasMoreMenu","title","noop","concat","hyphenize","HeaderCellMenu","React","memo","HeaderCell","props","onResize","width","onResizeStop","restProps","classNames","Resizable","draggableOpts","enableUserSelectHack","height","handle","e","stopPropagation","onResizeStart","preventDefault","ResizableHeaderCell","isResizing","setIsResizing","_defineProperty","classnames","data","ReorderableHeaderCell","convertLocationPathnameToId","pathname","decodeURIComponent","window","location","replace","hash","i","length","char","charCodeAt","Math","abs","toString","toUpperCase","getHeaderCell","enableColumnResize","enableColumnReorder","cell","isIncludedIn","array1","array2","all","includes","__","getSelectAllRowsCalloutHeight","innerWidth","SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT","SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT","sortFrozenColumns","columnData","originalIndices","Map","map","col","index","dataIndex","a","b","aFixed","fixed","bFixed","aIndex","get","bIndex","getFixedColumns","pipe","filter","_ref2","pluck","getColumnSortOrder","equals","field","order","getColumFixedValue","frozenColumns","indexOf","COLUMN_FIXED_VALUES","LEFT","getFrozenColumnsLocalStorageKey","localStorageKeyPrefix","prefix","getSortInfoFromQueryParams","queryParams","sort_by","order_by","TABLE_SORT_ORDERS","split","snakeToCamelCase","getSortField","Array","isArray","camelToSnakeCase","join","calculateRowsPerPage","viewportHeight","innerHeight","rowsPerPage","floor","TABLE_PAGINATION_HEIGHT","TABLE_ROW_HEIGHT","ceil","filterVisibleColumns","columns","hidden","isShown","useReorderColumns","isEnabled","setColumns","onColumnUpdateWithChanges","rowSelection","dragProps","isColumnFixed","onDragEnd","fromIndex","toIndex","visibleColumns","fromColumn","toColumn","fromColumnActualIndex","toColumnActualIndex","newColumns","move","nodeSelector","handleSelector","ignoreSelector","SortIcon","sortOrder","asc","URL_SORT_ORDERS","ascend","UpArrow","size","desc","descend","DownArrow","TitleWithInfoIcon","description","rest","popoverRef","_Fragment","ref","InfoRound","color","Popover","appendTo","document","body","position","reference","lineHeight","useResizableColumns","onColumnAdd","handleSort","tableOnChangeProps","handleResize","_","nextColumns","_toConsumableArray","computedColumnsData","useMemo","lastColProps","undefined","onCell","minWidth","modifiedColumn","onHeaderCell","sorter","positionOffset","align","sortIcon","has","ellipsis","sort","useColumns","isResizeEnabled","isReorderEnabled","setSortedInfo","onTableChange","handleTableSortChange","isDefaultPageChangeHandler","_useLocalStorage","_useLocalStorage2","setFrozenColumns","useCallback","updatedColumns","without","append","fixedCols","_useReorderColumns","_tableOnChangeProps$c","_tableOnChangeProps$c2","_tableOnChangeProps$c3","newSortedInfo","columnKey","pagination","filters","_useResizableColumns","useScroll","fixedHeight","loading","otherProps","rowData","pageSize","shouldShowSelectAllRowsCallout","shouldShowAllRowsSelectedCallout","headerHeight","containerHeight","setContainerHeight","resizeObserver","ResizeObserver","_ref3","entry","contentRect","scrollRef","tableRef","table","observer","_table$parentNode","targetNode","parentNode","observe","disconnect","_useRestoreScrollPosi","useRestoreScrollPosition","handleScroll","calculateTableContainerHeight","isPaginationVisible","selectAllRowsCalloutHeight","tableContainerRef","calculatedScroll","x","y","useTableSort","useQueryParams","history","useHistory","handleTableChange","params","page","push","buildUrl","mergeLeft","useVirtualScroll","top","left","containerRect","setContainerRect","updateContainerRect","rect","getBoundingClientRect","addEventListener","removeEventListener","Table","_ref$allowRowClick","allowRowClick","_ref$enableColumnResi","_ref$enableColumnReor","_ref$enableColumnFree","enableColumnFreeze","_ref$enableAddColumn","enableAddColumn","_ref$className","_ref$columnData","_ref$currentPageNumbe","currentPageNumber","_ref$defaultPageSize","defaultPageSize","_ref$handlePageChange","handlePageChange","_ref$loading","onRowClick","onRowSelect","_ref$rowData","_ref$totalCount","totalCount","_ref$selectedRowKeys","selectedRowKeys","initialSelectedRowKeys","_ref$fixedHeight","_ref$paginationProps","paginationProps","_ref$rowKey","rowKey","scroll","_ref$shouldDynamicall","shouldDynamicallyRenderRowSize","_ref$bordered","bordered","_ref$components","components","_ref$onColumnAdd","onChange","bulkSelectAllRowsProps","_ref$virtual","virtual","TABLE_DEFAULT_HEADER_HEIGHT","setHeaderHeight","_useState3","_useState4","_useState5","_useState6","bulkSelectedAllRows","setBulkSelectedAllRows","_useState7","_useState8","columnChanges","setColumnChanges","_useTableSort","handleSetBulkSelectedAllRows","headerRef","offsetHeight","newChanges","forEach","originalCol","find","c","changes","Object","keys","prev","_useColumns","curatedColumnsData","setSortFromURL","_queryParams$sort_by","modifyBy","assoc","sortedColumns","locale","emptyText","showBulkSelectionCallout","handleRowChange","selectedRows","tableWrapper","querySelector","classList","remove","add","rowSelectionProps","type","preserveSelectedRowKeys","columnWidth","extras","componentOverrides","header","calculatePageSizeOptions","dynamicArray","itemRender","originalElement","commonProps","icon","Left","Right","MenuHorizontal","isNotEmpty","shouldNavigateToLastPage","lastPage","max","mergedColumns","neetoUIFontBold","parseInt","getComputedStyle","documentElement","getPropertyValue","renderTable","_ConfigProvider","direction","i18next","dir","ANTD_LOCALE","language","theme","token","ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES","Pagination","itemActiveBg","itemActiveBgDisabled","itemActiveColorDisabled","itemBg","itemInputBg","itemLinkBg","colorBgContainer","colorPrimary","colorPrimaryHover","colorBgTextHover","borderRadius","headerBorderRadius","bodySortBg","borderColor","expandIconBg","filterDropdownBg","filterDropdownMenuBg","fixedHeaderSortActiveBg","footerBg","footerColor","headerBg","headerColor","headerFilterHoverBg","headerSortActiveBg","headerSortHoverBg","headerSplitColor","rowExpandedBg","rowHoverBg","rowSelectedBg","rowSelectedHoverBg","stickyScrollBarBg","cellPaddingBlock","fontSize","fontWeightStrong","paddingContentVerticalLG","_Table","dataSource","spinning","indicator","Spinner","showSorterTooltip","hideOnSinglePage","showSizeChanger","total","pageSizeOptions","rowClassName","onScroll","onHeaderRow","onRow","record","rowIndex","event","TableInfoPane","renderTableVirtual","ReactDragListView","DragColumn"],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","sources":["../src/hooks/useTimeout.js","../src/components/Table/components/AllRowsSelectedCallout.jsx","../src/components/Table/components/SelectAllRowsCallout.jsx","../src/hooks/useLocalStorage.js","../src/components/Table/components/HeaderCell/CellContent.jsx","../src/components/Table/components/HeaderCell/Resizable.jsx","../src/components/Table/components/HeaderCell/HeaderCell.jsx","../src/components/Table/components/HeaderCell/ResizableHeaderCell.jsx","../src/components/Table/components/HeaderCell/index.jsx","../src/components/Table/utils.js","../src/components/Table/hooks/useReorderColumns.js","../src/components/Table/components/SortIcon.jsx","../src/components/Table/components/TitleWithInfoIcon.jsx","../src/components/Table/hooks/useResizableColumns.jsx","../src/components/Table/hooks/useColumns.js","../src/components/Table/hooks/useScroll.js","../src/components/Table/hooks/useTableSort.js","../src/components/Table/hooks/useVirtualScroll.js","../src/components/Table/index.jsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nconst useTimeout = (callback, delay) => {\n const savedCallback = useRef(callback);\n\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n if (delay === null) {\n return undefined;\n }\n\n const id = setTimeout(() => savedCallback.current(), delay);\n\n return () => clearTimeout(id);\n }, [delay]);\n};\n\nexport default useTimeout;\n","import React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { getLocale } from \"utils\";\n\nimport Button from \"../../Button\";\nimport Callout from \"../../Callout\";\nimport Typography from \"../../Typography\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst AllRowsSelectedCallout = ({\n calloutProps,\n onClearSelection,\n allRowsSelectedMessage,\n clearSelectionButtonLabel,\n}) => {\n const { t, i18n } = useTranslation();\n\n return (\n <Callout\n className=\"my-2\"\n {...calloutProps}\n data-testid=\"clear-selections-callout\"\n >\n <div className=\"neeto-ui-flex neeto-ui-gap-3\">\n <Typography style=\"body2\">\n {allRowsSelectedMessage ||\n getLocale(i18n, t, \"neetoui.table.allRowsSelected\")}\n </Typography>\n <Button\n data-testid=\"clear-selections-button\"\n style=\"link\"\n label={\n clearSelectionButtonLabel ||\n getLocale(i18n, t, \"neetoui.table.clearSelection\")\n }\n onClick={onClearSelection}\n />\n </div>\n </Callout>\n );\n};\n\nexport default AllRowsSelectedCallout;\n","import React from \"react\";\n\nimport Button from \"../../Button\";\nimport Callout from \"../../Callout\";\nimport Typography from \"../../Typography\";\n\nconst SelectAllRowsCallout = ({\n calloutProps,\n onBulkSelectAllRows,\n selectAllRowButtonLabel,\n selectAllRowMessage,\n}) => (\n <Callout\n className=\"my-2\"\n {...calloutProps}\n data-testid=\"select-all-rows-callout\"\n >\n <div className=\"neeto-ui-flex neeto-ui-gap-3\">\n <Typography style=\"body2\">{selectAllRowMessage}</Typography>\n <Button\n data-testid=\"select-all-rows-button\"\n label={selectAllRowButtonLabel}\n style=\"link\"\n onClick={onBulkSelectAllRows}\n />\n </div>\n </Callout>\n);\n\nexport default SelectAllRowsCallout;\n","/* eslint-disable @bigbinary/neeto/no-local-storage */\n\nimport { useState } from \"react\";\n\nimport { isNil } from \"ramda\";\n\nimport {\n getFromLocalStorage,\n removeFromLocalStorage,\n setToLocalStorage,\n} from \"utils\";\n\nconst useLocalStorage = (key, defaultValue) => {\n const [storedValue, setStoredValue] = useState(() =>\n getFromLocalStorage(key, defaultValue)\n );\n\n const setValue = value =>\n setStoredValue(prevStoredValue => {\n const newValue =\n typeof value === \"function\" ? value(prevStoredValue) : value;\n\n if (isNil(newValue)) {\n removeFromLocalStorage(key);\n } else {\n setToLocalStorage(key, newValue);\n }\n\n return newValue;\n });\n\n return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n","import React from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\n\nimport { hyphenize } from \"utils\";\n\nimport HeaderCellMenu from \"./HeaderCellMenu\";\n\nconst CellContent = ({\n children,\n isSortable,\n isAddEnabled,\n sortedInfo,\n onSort,\n isHidable = true,\n isDeletable = false,\n isFixedColumn,\n isColumnFreezeEnabled,\n isMoveToLeftEnabled,\n isMoveToRightEnabled,\n onColumnHide,\n onColumnUpdate,\n onAddColumn,\n onColumnDelete,\n onColumnFreeze,\n onMoreActionClick,\n column,\n moreActions = [],\n ...headerProps\n}) => {\n const isColumnHidable = isHidable && isPresent(onColumnHide);\n const isColumnDeletable = isDeletable && isPresent(onColumnDelete);\n const hasMoreActions = !isEmpty(moreActions) && isPresent(onMoreActionClick);\n const hasMoreMenu =\n isSortable ||\n isColumnHidable ||\n isAddEnabled ||\n hasMoreActions ||\n (isPresent(column) && isColumnFreezeEnabled);\n\n return (\n <th\n {...headerProps}\n title=\"\"\n onClick={isSortable ? noop : headerProps.onClick}\n >\n <div\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-justify-between\"\n data-cy={`${hyphenize(headerProps.title)}-header-title`}\n >\n <div className=\"neeto-ui-min-w-0 neeto-ui-flex-grow neeto-ui-truncate neeto-ui-table__column-title-content\">\n {children}\n </div>\n {hasMoreMenu && (\n <HeaderCellMenu\n {...{\n column,\n hasMoreActions,\n isAddEnabled,\n isColumnDeletable,\n isColumnFreezeEnabled,\n isFixedColumn,\n isMoveToLeftEnabled,\n isMoveToRightEnabled,\n isSortable,\n moreActions,\n onAddColumn,\n onColumnDelete,\n onColumnFreeze,\n onColumnHide,\n onColumnUpdate,\n onMoreActionClick,\n onSort,\n sortedInfo,\n }}\n isHidable={isColumnHidable}\n />\n )}\n </div>\n </th>\n );\n};\n\nexport default React.memo(CellContent);\n","import React from \"react\";\nimport { Resizable as ReactResizable } from \"react-resizable\";\nimport { getContentDir } from \"utils\";\n\nconst rtlResizeHandles = [\"w\"];\n\nconst Resizable = ({ resizeHandles, ...rest }) => (\n <ReactResizable\n {...rest}\n resizeHandles={getContentDir() === \"rtl\" ? rtlResizeHandles : resizeHandles}\n />\n);\n\nexport default Resizable;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\n\nimport CellContent from \"./CellContent\";\nimport Resizable from \"./Resizable\";\n\nconst HeaderCell = props => {\n const { onResize, width, onResizeStop, className, ...restProps } = props;\n\n if (!width) {\n return (\n <CellContent\n {...restProps}\n className={classNames(className, \"drag-handler\")}\n />\n );\n }\n\n return (\n <Resizable\n {...{ onResize, onResizeStop, width }}\n draggableOpts={{ enableUserSelectHack: false }}\n height={0}\n handle={\n <span\n className=\"react-resizable-handle\"\n onClick={e => e.stopPropagation()}\n />\n }\n onResizeStart={e => {\n e.preventDefault();\n }}\n >\n <CellContent\n {...restProps}\n className={classNames(className, \"drag-handler\")}\n />\n </Resizable>\n );\n};\n\nexport default React.memo(HeaderCell);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\n\nimport CellContent from \"./CellContent\";\nimport Resizable from \"./Resizable\";\n\nconst ResizableHeaderCell = props => {\n const { onResize, width, onResizeStop, onResizeStart, ...restProps } = props;\n const [isResizing, setIsResizing] = useState(false);\n\n if (!width) {\n return <CellContent {...restProps} />;\n }\n\n return (\n <Resizable\n {...{ onResize, onResizeStop, width }}\n draggableOpts={{ enableUserSelectHack: false }}\n height={0}\n handle={\n <span\n className={classnames(\"react-resizable-handle\", {\n \"react-resizable-handle--resizing\": isResizing,\n })}\n onClick={e => e.stopPropagation()}\n >\n <span className=\"neeto-ui-table-react-resizable-handle__inner\" />\n </span>\n }\n onResizeStart={(e, data) => {\n e.preventDefault();\n setIsResizing(true);\n onResizeStart?.(e, data);\n }}\n onResizeStop={(e, data) => {\n setIsResizing(false);\n onResizeStop?.(e, data);\n }}\n >\n <CellContent {...restProps} />\n </Resizable>\n );\n};\n\nexport default React.memo(ResizableHeaderCell);\n","import React from \"react\";\n\nimport classNames from \"classnames\";\n\nimport CellContent from \"./CellContent\";\nimport HeaderCell from \"./HeaderCell\";\nimport ResizableHeaderCell from \"./ResizableHeaderCell\";\n\nconst ReorderableHeaderCell = ({ className, ...props }) => (\n <CellContent {...props} className={classNames(className, \"drag-handler\")} />\n);\n\nexport { CellContent, ResizableHeaderCell, ReorderableHeaderCell, HeaderCell };\n","import { isPresent, snakeToCamelCase, camelToSnakeCase } from \"neetocist\";\nimport { __, all, equals, filter, includes, pipe, pluck } from \"ramda\";\n\nimport {\n CellContent,\n HeaderCell,\n ReorderableHeaderCell,\n ResizableHeaderCell,\n} from \"./components/HeaderCell\";\nimport {\n COLUMN_FIXED_VALUES,\n SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT,\n SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT,\n TABLE_SORT_ORDERS,\n TABLE_PAGINATION_HEIGHT,\n TABLE_ROW_HEIGHT,\n} from \"./constants\";\n\nconst convertLocationPathnameToId = () => {\n const pathname = decodeURIComponent(window.location.pathname).replace(\n /^\\//,\n \"\"\n );\n\n let hash = 0;\n for (let i = 0; i < pathname.length; i++) {\n const char = pathname.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash = hash & hash; // Convert to 32-bit integer\n }\n\n return Math.abs(hash).toString(16).toUpperCase();\n};\n\nexport const getHeaderCell = ({ enableColumnResize, enableColumnReorder }) => {\n if (enableColumnReorder && enableColumnResize) return { cell: HeaderCell };\n\n if (enableColumnResize) return { cell: ResizableHeaderCell };\n\n if (enableColumnReorder) return { cell: ReorderableHeaderCell };\n\n return { cell: CellContent };\n};\n\nexport const isIncludedIn = (array1, array2) =>\n all(includes(__, array1), array2);\n\nexport const getSelectAllRowsCalloutHeight = () =>\n window.innerWidth < 768\n ? SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT\n : SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT;\n\nexport const sortFrozenColumns = columnData => {\n const originalIndices = new Map(\n columnData.map((col, index) => [col.dataIndex, index])\n );\n\n return (a, b) => {\n const aFixed = isPresent(a.fixed);\n const bFixed = isPresent(b.fixed);\n const aIndex = originalIndices.get(a.dataIndex);\n const bIndex = originalIndices.get(b.dataIndex);\n\n if (aFixed !== bFixed) return aFixed ? -1 : 1;\n\n return aIndex - bIndex;\n };\n};\n\nexport const getFixedColumns = columnData =>\n pipe(\n filter(({ fixed }) => isPresent(fixed)),\n pluck(\"dataIndex\")\n )(columnData);\n\nexport const getColumnSortOrder = (col, sortedInfo) =>\n equals(sortedInfo.field, col.dataIndex) || equals(sortedInfo.field, col.key)\n ? sortedInfo.order\n : null;\n\nexport const getColumFixedValue = (col, frozenColumns) =>\n frozenColumns?.indexOf(col.dataIndex) !== -1\n ? COLUMN_FIXED_VALUES.LEFT\n : null;\n\nexport const getFrozenColumnsLocalStorageKey = localStorageKeyPrefix => {\n const prefix = isPresent(localStorageKeyPrefix)\n ? localStorageKeyPrefix\n : convertLocationPathnameToId();\n\n return `NEETOUI-${prefix}-FIXED_COLUMNS`;\n};\n\nexport const getSortInfoFromQueryParams = queryParams => {\n const sortedInfo = {};\n if (\n isPresent(queryParams.sort_by) &&\n isPresent(queryParams.order_by) &&\n isPresent(TABLE_SORT_ORDERS[queryParams.order_by])\n ) {\n sortedInfo.field = queryParams.sort_by.includes(\"+\")\n ? queryParams.sort_by.split(\"+\").map(snakeToCamelCase)\n : snakeToCamelCase(queryParams.sort_by);\n sortedInfo.order = TABLE_SORT_ORDERS[queryParams.order_by];\n }\n\n return sortedInfo;\n};\n\nexport const getSortField = field => {\n if (Array.isArray(field)) {\n return field.map(camelToSnakeCase).join(\"+\");\n }\n\n return camelToSnakeCase(field);\n};\n\nexport const calculateRowsPerPage = () => {\n const viewportHeight = window.innerHeight;\n const rowsPerPage = Math.floor(\n ((viewportHeight - TABLE_PAGINATION_HEIGHT) / TABLE_ROW_HEIGHT) * 3\n );\n\n return Math.ceil(rowsPerPage / 10) * 10;\n};\n\nexport const filterVisibleColumns = columns =>\n columns.filter(col => col.hidden !== true && col.isShown !== false);\n","import { move } from \"ramda\";\nimport { filterVisibleColumns } from \"../utils\";\n\nconst useReorderColumns = ({\n isEnabled,\n columns,\n setColumns,\n onColumnUpdateWithChanges,\n rowSelection,\n}) => {\n if (!isEnabled) return { dragProps: {}, columns };\n\n const isColumnFixed = column => !!column.fixed;\n\n const dragProps = {\n onDragEnd: (fromIndex, toIndex) => {\n if (rowSelection) {\n fromIndex--;\n toIndex--;\n }\n\n if (fromIndex < 0 || toIndex < 0 || fromIndex === toIndex) return;\n\n const visibleColumns = filterVisibleColumns(columns);\n\n const fromColumn = visibleColumns[fromIndex];\n const toColumn = visibleColumns[toIndex];\n\n if (!fromColumn || !toColumn) return;\n else if (isColumnFixed(fromColumn) || isColumnFixed(toColumn)) return;\n\n const fromColumnActualIndex = columns.indexOf(fromColumn);\n const toColumnActualIndex = columns.indexOf(toColumn);\n if (fromColumnActualIndex < 0 || toColumnActualIndex < 0) return;\n\n const newColumns = move(\n fromColumnActualIndex,\n toColumnActualIndex,\n columns\n );\n\n setColumns(newColumns);\n onColumnUpdateWithChanges(newColumns);\n },\n nodeSelector:\n \"th:not(.ant-table-cell-fix-left):not(.ant-table-cell-scrollbar)\",\n handleSelector: \".drag-handler\",\n ignoreSelector: \".react-resizable-handle\",\n };\n\n return { dragProps, columns };\n};\n\nexport default useReorderColumns;\n","import React from \"react\";\n\nimport { DownArrow, UpArrow } from \"neetoicons\";\n\nimport { TABLE_SORT_ORDERS, URL_SORT_ORDERS } from \"../constants\";\n\nconst SortIcon = ({ sortOrder }) => {\n if (\n sortOrder === TABLE_SORT_ORDERS.asc ||\n sortOrder === URL_SORT_ORDERS.ascend\n ) {\n return <UpArrow size={14} />;\n }\n\n if (\n sortOrder === TABLE_SORT_ORDERS.desc ||\n sortOrder === URL_SORT_ORDERS.descend\n ) {\n return <DownArrow size={14} />;\n }\n\n return null;\n};\n\nexport default SortIcon;\n","import React, { useRef } from \"react\";\n\nimport { InfoRound } from \"neetoicons\";\n\nimport Popover from \"components/Popover\";\nimport Typography from \"components/Typography\";\n\nconst TitleWithInfoIcon = ({ title, description, ...rest }) => {\n const popoverRef = useRef();\n\n return (\n <span className=\"neeto-ui-pr-5 relative\">\n {typeof title === \"function\" ? title(rest) : title}\n {description && (\n <>\n <span\n className=\"neeto-ui-table__column-title-info-icon\"\n ref={popoverRef}\n >\n <InfoRound color=\"currentColor\" size={14} />\n </span>\n <Popover\n appendTo={() => document.body}\n position=\"bottom\"\n reference={popoverRef}\n >\n <Typography lineHeight=\"normal\" style=\"body2\">\n {description}\n </Typography>\n </Popover>\n </>\n )}\n </span>\n );\n};\n\nexport default React.memo(TitleWithInfoIcon);\n","import React, { useMemo } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { has } from \"ramda\";\n\nimport SortIcon from \"../components/SortIcon\";\nimport TitleWithInfoIcon from \"../components/TitleWithInfoIcon\";\nimport {\n getColumFixedValue,\n getColumnSortOrder,\n sortFrozenColumns,\n} from \"../utils\";\n\nconst useResizableColumns = ({\n columns,\n columnData,\n frozenColumns,\n setColumns,\n isEnabled,\n isAddEnabled,\n isColumnFreezeEnabled,\n onColumnAdd,\n onColumnUpdate,\n onColumnUpdateWithChanges,\n onColumnDelete,\n handleSort,\n sortedInfo,\n onColumnHide,\n onColumnFreeze,\n onMoreActionClick,\n tableOnChangeProps,\n}) => {\n const handleResize =\n index =>\n (_, { size }) => {\n const nextColumns = [...columns];\n nextColumns[index] = { ...nextColumns[index], width: size.width };\n setColumns(nextColumns);\n };\n\n const computedColumnsData = useMemo(\n () =>\n columns\n .map((col, index) => {\n const fixed = getColumFixedValue(col, frozenColumns);\n const lastColProps = {}; // This configuration allows more flexibility in resizing of other columns.\n if (index >= columns.length - 1) {\n lastColProps.width = undefined;\n lastColProps.onCell = () => ({ style: { minWidth: col.width } });\n }\n\n const modifiedColumn = {\n ...col,\n ...lastColProps,\n onHeaderCell: column => ({\n width: col.width,\n onColumnUpdate,\n onResize: isEnabled ? handleResize(index) : noop,\n onResizeStop: () =>\n isEnabled ? onColumnUpdateWithChanges(columns) : noop,\n isSortable: isPresent(col.sorter),\n onSort: handleSort,\n sortedInfo,\n onColumnHide,\n onColumnFreeze,\n onMoreActionClick,\n isMoveToLeftEnabled: index > 0,\n isMoveToRightEnabled: index < columns.length - 1,\n isColumnFreezeEnabled,\n isAddEnabled: isAddEnabled && !fixed,\n onAddColumn: positionOffset =>\n onColumnAdd(index + positionOffset),\n isFixedColumn: !!fixed,\n onColumnDelete,\n isHidable: col.isHidable,\n isDeletable: col.isDeletable,\n moreActions: col.moreActions,\n column: col,\n \"data-text-align\": column.align,\n }),\n sortIcon: SortIcon,\n sortOrder: getColumnSortOrder(col, sortedInfo),\n fixed,\n title: col.description\n ? props => (\n <TitleWithInfoIcon\n {...props}\n description={col.description}\n title={col.title}\n />\n )\n : col.title,\n };\n\n if (!has(\"ellipsis\", col)) modifiedColumn.ellipsis = true;\n\n return modifiedColumn;\n })\n .sort(sortFrozenColumns(columnData)),\n [\n columns,\n sortedInfo,\n tableOnChangeProps,\n onColumnFreeze,\n frozenColumns,\n columnData,\n ]\n );\n\n return { columns: computedColumnsData };\n};\n\nexport default useResizableColumns;\n","import { useCallback, useEffect } from \"react\";\n\nimport { append, equals, isEmpty, props, without } from \"ramda\";\n\nimport useLocalStorage from \"hooks/useLocalStorage\";\n\nimport useReorderColumns from \"./useReorderColumns\";\nimport useResizableColumns from \"./useResizableColumns\";\n\nimport { getFixedColumns, getFrozenColumnsLocalStorageKey } from \"../utils\";\n\nconst useColumns = ({\n columns,\n columnData,\n setColumns,\n isResizeEnabled,\n isReorderEnabled,\n isAddEnabled,\n isColumnFreezeEnabled,\n onColumnAdd,\n onColumnUpdate,\n onColumnUpdateWithChanges,\n onColumnDelete,\n rowSelection,\n sortedInfo,\n setSortedInfo,\n onColumnHide,\n onMoreActionClick,\n onTableChange,\n tableOnChangeProps,\n handleTableSortChange,\n isDefaultPageChangeHandler,\n localStorageKeyPrefix,\n}) => {\n const [frozenColumns, setFrozenColumns] = useLocalStorage(\n getFrozenColumnsLocalStorageKey(localStorageKeyPrefix)\n );\n\n const onColumnFreeze = useCallback(\n (isFixedColumn, { dataIndex }) => {\n const updatedColumns = isFixedColumn\n ? without([dataIndex], frozenColumns)\n : append(dataIndex, frozenColumns);\n\n setFrozenColumns(updatedColumns);\n },\n [frozenColumns, setFrozenColumns]\n );\n\n useEffect(() => {\n if (isEmpty(columnData) || frozenColumns) return;\n\n const fixedCols = getFixedColumns(columnData);\n setFrozenColumns(fixedCols);\n }, [columnData, setFrozenColumns]);\n\n const { dragProps } = useReorderColumns({\n isEnabled: isReorderEnabled,\n columns,\n setColumns,\n onColumnUpdateWithChanges,\n rowSelection,\n });\n\n const handleSort = sorter => {\n let newSortedInfo = { ...sorter };\n if (\n equals(\n props([\"field\", \"order\"], newSortedInfo),\n props([\"field\", \"order\"], sortedInfo)\n )\n ) {\n newSortedInfo = {\n field: null,\n order: null,\n column: null,\n columnKey: null,\n };\n }\n setSortedInfo(newSortedInfo);\n onTableChange?.(\n tableOnChangeProps.current?.pagination || {},\n tableOnChangeProps.current?.filters || {},\n { ...newSortedInfo }\n );\n\n isDefaultPageChangeHandler &&\n handleTableSortChange(\n tableOnChangeProps.current?.pagination || {},\n newSortedInfo\n );\n };\n\n const { columns: computedColumnsData } = useResizableColumns({\n columns,\n columnData,\n frozenColumns,\n setColumns,\n isEnabled: isResizeEnabled,\n isAddEnabled,\n isColumnFreezeEnabled,\n onColumnAdd,\n onColumnUpdate,\n onColumnUpdateWithChanges,\n onColumnDelete,\n handleSort,\n sortedInfo,\n onColumnHide,\n onMoreActionClick,\n tableOnChangeProps,\n onColumnFreeze,\n });\n\n return { dragProps, columns: computedColumnsData };\n};\n\nexport default useColumns;\n","import { useState, useRef, useCallback } from \"react\";\n\nimport { useRestoreScrollPosition } from \"./useRestoreScrollPosition\";\n\nimport { TABLE_PAGINATION_HEIGHT } from \"../constants\";\nimport { getSelectAllRowsCalloutHeight } from \"../utils\";\n\nexport const useScroll = ({\n fixedHeight,\n enableColumnReorder,\n loading,\n otherProps,\n rowData,\n pageSize,\n shouldShowSelectAllRowsCallout,\n shouldShowAllRowsSelectedCallout,\n headerHeight,\n}) => {\n const [containerHeight, setContainerHeight] = useState(0);\n const resizeObserver = useRef(\n new ResizeObserver(([entry]) =>\n setContainerHeight(entry.contentRect.height)\n )\n );\n const scrollRef = useRef(null);\n\n const tableRef = useCallback(\n table => {\n scrollRef.current = table;\n\n if (!fixedHeight) return;\n\n const observer = resizeObserver.current;\n\n if (table !== null) {\n const targetNode = enableColumnReorder\n ? table?.parentNode?.parentNode\n : table?.parentNode;\n\n observer.observe(targetNode);\n } else if (observer) {\n observer.disconnect();\n }\n },\n [resizeObserver.current, fixedHeight, enableColumnReorder]\n );\n\n const { handleScroll } = useRestoreScrollPosition({\n tableRef,\n scrollRef,\n loading,\n });\n\n const calculateTableContainerHeight = () => {\n const isPaginationVisible =\n otherProps.pagination !== false && rowData.length > pageSize;\n\n let selectAllRowsCalloutHeight = 0;\n if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {\n selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();\n }\n\n return (\n containerHeight -\n headerHeight -\n (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) -\n selectAllRowsCalloutHeight\n );\n };\n\n return {\n tableRef,\n tableContainerRef: null,\n handleScroll,\n calculatedScroll: {\n x: \"max-content\",\n y: calculateTableContainerHeight(),\n },\n };\n};\n","import { useEffect, useState } from \"react\";\n\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useQueryParams } from \"hooks\";\nimport { buildUrl } from \"utils\";\n\nimport { URL_SORT_ORDERS } from \"../constants\";\nimport { getSortInfoFromQueryParams, getSortField } from \"../utils\";\n\nconst useTableSort = () => {\n const queryParams = useQueryParams();\n const [sortedInfo, setSortedInfo] = useState(() =>\n getSortInfoFromQueryParams(queryParams)\n );\n\n useEffect(() => {\n setSortedInfo(getSortInfoFromQueryParams(queryParams));\n }, [queryParams?.sort_by, queryParams?.order_by]);\n\n const history = useHistory();\n\n const handleTableChange = (pagination, sorter) => {\n const params = {\n sort_by: sorter.order ? getSortField(sorter.field) : undefined,\n order_by: URL_SORT_ORDERS[sorter.order],\n page: pagination.current,\n };\n\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, mergeLeft(params, queryParams)));\n };\n\n return { handleTableChange, sortedInfo, setSortedInfo };\n};\n\nexport default useTableSort;\n","import { useState, useRef, useEffect } from \"react\";\n\nimport { noop } from \"neetocist\";\n\nimport { TABLE_PAGINATION_HEIGHT } from \"../constants\";\nimport { getSelectAllRowsCalloutHeight } from \"../utils\";\n\nexport const useVirtualScroll = ({\n otherProps,\n rowData,\n pageSize,\n shouldShowSelectAllRowsCallout,\n shouldShowAllRowsSelectedCallout,\n headerHeight,\n}) => {\n const [containerRect, setContainerRect] = useState({ top: 0, left: 0 });\n const tableContainerRef = useRef(null);\n\n useEffect(() => {\n const updateContainerRect = () => {\n if (!tableContainerRef.current) return;\n const rect = tableContainerRef.current.getBoundingClientRect();\n setContainerRect(rect);\n };\n\n updateContainerRect();\n\n window.addEventListener(\"scroll\", updateContainerRect);\n window.addEventListener(\"resize\", updateContainerRect);\n\n return () => {\n window.removeEventListener(\"scroll\", updateContainerRect);\n window.removeEventListener(\"resize\", updateContainerRect);\n };\n }, []);\n\n const calculateTableContainerHeight = () => {\n const isPaginationVisible =\n otherProps.pagination !== false && rowData.length > pageSize;\n\n let selectAllRowsCalloutHeight = 0;\n if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {\n selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();\n }\n\n const containerHeight = window.innerHeight - containerRect.top;\n\n return (\n containerHeight -\n headerHeight -\n (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) -\n selectAllRowsCalloutHeight\n );\n };\n\n return {\n tableRef: null,\n tableContainerRef,\n handleScroll: noop,\n calculatedScroll: {\n x: window.innerWidth - containerRect?.left,\n y: calculateTableContainerHeight(),\n },\n };\n};\n","import React, { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { Table as AntTable, ConfigProvider } from \"antd\";\nimport classnames from \"classnames\";\nimport {\n dynamicArray,\n isNotEmpty,\n modifyBy,\n snakeToCamelCase,\n} from \"neetocist\";\nimport { Left, Right, MenuHorizontal } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { assoc, isEmpty, mergeLeft, pluck } from \"ramda\";\nimport ReactDragListView from \"react-drag-listview\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { ANTD_LOCALE } from \"components/constants\";\nimport { useQueryParams, useTimeout } from \"hooks\";\nimport {\n ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES,\n buildUrl,\n noop,\n getContentDir,\n} from \"utils\";\n\nimport AllRowsSelectedCallout from \"./components/AllRowsSelectedCallout\";\nimport SelectAllRowsCallout from \"./components/SelectAllRowsCallout\";\nimport { TABLE_SORT_ORDERS, TABLE_DEFAULT_HEADER_HEIGHT } from \"./constants\";\nimport useColumns from \"./hooks/useColumns\";\nimport { useScroll } from \"./hooks/useScroll\";\nimport useTableSort from \"./hooks/useTableSort\";\nimport { useVirtualScroll } from \"./hooks/useVirtualScroll\";\nimport { getHeaderCell, isIncludedIn, calculateRowsPerPage } from \"./utils\";\n\nimport Button from \"../Button\";\nimport Spinner from \"../Spinner\";\nimport Typography from \"../Typography\";\nimport TableInfoPane from \"./components/InfoPane\";\n\nconst Table = ({\n allowRowClick = true,\n enableColumnResize = true,\n enableColumnReorder = false,\n enableColumnFreeze = true,\n enableAddColumn = false,\n className = \"\",\n columnData = [],\n currentPageNumber = 1,\n defaultPageSize = 30,\n handlePageChange = noop,\n loading = false,\n onRowClick,\n onRowSelect,\n rowData = [],\n totalCount = 0,\n selectedRowKeys: initialSelectedRowKeys = [],\n fixedHeight = false,\n paginationProps = {},\n rowKey = \"id\",\n scroll,\n rowSelection,\n shouldDynamicallyRenderRowSize = false,\n bordered = true,\n onColumnUpdate,\n components = {},\n onColumnHide,\n onColumnAdd = noop,\n onColumnDelete,\n onChange,\n onMoreActionClick,\n bulkSelectAllRowsProps,\n localStorageKeyPrefix,\n virtual = false,\n ...otherProps\n}) => {\n const { i18n } = useTranslation();\n const [headerHeight, setHeaderHeight] = useState(TABLE_DEFAULT_HEADER_HEIGHT);\n const [columns, setColumns] = useState(columnData);\n const [bulkSelectedAllRows, setBulkSelectedAllRows] = useState(false);\n const [columnChanges, setColumnChanges] = useState({});\n const {\n handleTableChange: handleTableSortChange,\n sortedInfo,\n setSortedInfo,\n } = useTableSort();\n\n const { setBulkSelectedAllRows: handleSetBulkSelectedAllRows } =\n bulkSelectAllRowsProps ?? {};\n\n const isDefaultPageChangeHandler = handlePageChange === noop;\n\n const history = useHistory();\n\n const headerRef = useRef();\n const tableOnChangeProps = useRef({});\n\n useTimeout(() => {\n const headerHeight = headerRef.current\n ? headerRef.current.offsetHeight\n : TABLE_DEFAULT_HEADER_HEIGHT;\n\n setHeaderHeight(headerHeight);\n }, 10);\n\n const onColumnUpdateWithChanges = updatedColumns => {\n const newChanges = {};\n\n updatedColumns.forEach(col => {\n const originalCol = columnData.find(c => c.dataIndex === col.dataIndex);\n const changes = {};\n\n if (col.width && col.width !== originalCol?.width) {\n changes.width = col.width;\n }\n\n if (Object.keys(changes).length > 0) {\n newChanges[col.dataIndex] = changes;\n }\n });\n\n setColumnChanges(prev => ({ ...prev, ...newChanges }));\n onColumnUpdate?.(updatedColumns);\n };\n\n const { dragProps, columns: curatedColumnsData } = useColumns({\n isReorderEnabled: enableColumnReorder,\n isResizeEnabled: enableColumnResize,\n isAddEnabled: enableAddColumn,\n isColumnFreezeEnabled: enableColumnFreeze,\n onTableChange: onChange,\n columns,\n columnData,\n setColumns,\n onColumnUpdate,\n onColumnUpdateWithChanges,\n rowSelection,\n sortedInfo,\n setSortedInfo,\n onColumnHide,\n onMoreActionClick,\n onColumnAdd,\n onColumnDelete,\n tableOnChangeProps,\n handleTableSortChange,\n isDefaultPageChangeHandler,\n localStorageKeyPrefix,\n });\n\n const queryParams = useQueryParams();\n\n const setSortFromURL = columnData =>\n modifyBy(\n { dataIndex: snakeToCamelCase(queryParams.sort_by ?? \"\") },\n assoc(\"sortOrder\", TABLE_SORT_ORDERS[queryParams.order_by]),\n columnData\n );\n\n const sortedColumns = isDefaultPageChangeHandler\n ? setSortFromURL(curatedColumnsData)\n : curatedColumnsData;\n\n const locale = { emptyText: <Typography style=\"body2\">No Data</Typography> };\n\n const selectedRowKeys = bulkSelectedAllRows\n ? pluck(rowKey, rowData)\n : initialSelectedRowKeys;\n\n const showBulkSelectionCallout = useMemo(\n () =>\n isIncludedIn(selectedRowKeys, pluck(rowKey, rowData)) &&\n selectedRowKeys.length !== totalCount &&\n !bulkSelectedAllRows,\n [selectedRowKeys, rowKey, rowData, totalCount, bulkSelectedAllRows]\n );\n\n const shouldShowSelectAllRowsCallout =\n bulkSelectAllRowsProps && showBulkSelectionCallout;\n\n const shouldShowAllRowsSelectedCallout =\n bulkSelectAllRowsProps && bulkSelectedAllRows;\n\n const pageSize = shouldDynamicallyRenderRowSize\n ? calculateRowsPerPage()\n : paginationProps.pageSize || defaultPageSize;\n\n const { tableRef, tableContainerRef, handleScroll, calculatedScroll } = (\n virtual ? useVirtualScroll : useScroll\n )({\n fixedHeight,\n enableColumnReorder,\n loading,\n otherProps,\n rowData,\n pageSize,\n shouldShowSelectAllRowsCallout,\n shouldShowAllRowsSelectedCallout,\n headerHeight,\n });\n\n const handleRowChange = (selectedRowKeys, selectedRows) => {\n const tableWrapper = document.querySelector(\n '[data-testid=\"table-wrapper\"]'\n );\n\n if (selectedRowKeys.length !== defaultPageSize) {\n setBulkSelectedAllRows(false);\n handleSetBulkSelectedAllRows?.(false);\n tableWrapper?.classList.remove(\"neeto-ui-overflow-hidden\");\n } else {\n tableWrapper?.classList.add(\"neeto-ui-overflow-hidden\");\n }\n onRowSelect?.(selectedRowKeys, selectedRows);\n };\n\n const rowSelectionProps = rowSelection\n ? {\n type: \"checkbox\",\n preserveSelectedRowKeys: true,\n columnWidth: 48,\n ...rowSelection,\n onChange: handleRowChange,\n selectedRowKeys,\n }\n : false;\n\n // eslint-disable-next-line @bigbinary/neeto/no-excess-function-arguments\n const handleTableChange = (pagination, filters, sorter, extras) => {\n setSortedInfo(sorter);\n isDefaultPageChangeHandler && handleTableSortChange(pagination, sorter);\n onChange?.(pagination, filters, sorter, extras);\n tableOnChangeProps.current = { pagination, filters };\n };\n\n const componentOverrides = {\n ...components,\n header: getHeaderCell({\n enableColumnResize,\n enableColumnReorder,\n }),\n };\n\n const calculatePageSizeOptions = () =>\n dynamicArray(5, index => (index + 1) * pageSize);\n\n const itemRender = (_, type, originalElement) => {\n const commonProps = { size: \"small\", style: \"text\" };\n\n if (type === \"prev\") return <Button icon={Left} {...commonProps} />;\n\n if (type === \"next\") return <Button icon={Right} {...commonProps} />;\n\n if (type === \"jump-prev\" || type === \"jump-next\") {\n return <Button icon={MenuHorizontal} {...commonProps} />;\n }\n\n return originalElement;\n };\n\n useEffect(() => {\n if (isNotEmpty(initialSelectedRowKeys)) return;\n\n setBulkSelectedAllRows(false);\n handleSetBulkSelectedAllRows?.(false);\n }, [handleSetBulkSelectedAllRows, initialSelectedRowKeys]);\n\n useEffect(() => {\n const shouldNavigateToLastPage =\n isEmpty(rowData) && !loading && currentPageNumber !== 1;\n\n if (!shouldNavigateToLastPage) return;\n\n const lastPage = Math.ceil(totalCount / pageSize);\n const page = Math.max(1, lastPage);\n const pathname = window.location.pathname;\n\n isDefaultPageChangeHandler\n ? history.push(buildUrl(pathname, mergeLeft({ page }, queryParams)))\n : handlePageChange(page, pageSize);\n }, [rowData]);\n\n useEffect(() => {\n const mergedColumns = columnData.map(col => ({\n ...col,\n ...columnChanges[col.dataIndex], // Apply any column changes\n }));\n setColumns(mergedColumns);\n }, [columnData, columnChanges]);\n\n const neetoUIFontBold = parseInt(\n getComputedStyle(document.documentElement).getPropertyValue(\n \"--neeto-ui-font-bold\"\n ),\n 10\n );\n\n const renderTable = () => (\n <ConfigProvider\n direction={getContentDir()}\n locale={ANTD_LOCALE[i18n.language || \"en\"]}\n theme={{\n token: { ...ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES },\n components: {\n Pagination: {\n itemActiveBg: \"rgb(var(--neeto-ui-primary-500))\",\n itemActiveBgDisabled: \"rgb(var(--neeto-ui-gray-50))\",\n itemActiveColorDisabled: \"rgb(var(--neeto-ui-gray-300))\",\n itemBg: \"rgb(var(--neeto-ui-white))\",\n itemInputBg: \"rgb(var(--neeto-ui-white))\",\n itemLinkBg: \"rgb(var(--neeto-ui-white))\",\n\n // Global overrides\n colorBgContainer: \"rgb(var(--neeto-ui-primary-500))\",\n colorPrimary: \"rgb(var(--neeto-ui-white))\",\n colorPrimaryHover: \"rgb(var(--neeto-ui-white))\",\n colorBgTextHover: \"rgb(var(--neeto-ui-gray-200))\",\n borderRadius: 6,\n },\n Table: {\n headerBorderRadius: 0,\n bodySortBg: \"rgb(var(--neeto-ui-gray-50))\",\n borderColor: \"rgb(var(--neeto-ui-gray-200))\",\n expandIconBg: \"rgb(var(--neeto-ui-white))\",\n filterDropdownBg: \"rgb(var(--neeto-ui-white))\",\n filterDropdownMenuBg: \"rgb(var(--neeto-ui-white))\",\n fixedHeaderSortActiveBg: \"rgb(var(--neeto-ui-gray-200))\",\n footerBg: \"rgb(var(--neeto-ui-gray-100))\",\n footerColor: \"rgb(var(--neeto-ui-black))\",\n headerBg: \"rgb(var(--neeto-ui-gray-100))\",\n headerColor: \"rgb(var(--neeto-ui-black))\",\n headerFilterHoverBg: \"rgb(var(--neeto-ui-gray-100))\",\n headerSortActiveBg: \"rgb(var(--neeto-ui-gray-200))\",\n headerSortHoverBg: \"rgb(var(--neeto-ui-gray-200))\",\n headerSplitColor: \"rgb(var(--neeto-ui-gray-100))\",\n rowExpandedBg: \"rgb(var(--neeto-ui-gray-100))\",\n rowHoverBg: \"rgb(var(--neeto-ui-gray-50))\",\n rowSelectedBg: \"rgb(var(--neeto-ui-accent-50))\",\n rowSelectedHoverBg: \"rgb(var(--neeto-ui-accent-50))\",\n stickyScrollBarBg: \"rgb(var(--neeto-ui-gray-300))\",\n cellPaddingBlock: 11,\n\n // Global overrides\n colorPrimary: \"rgb(var(--neeto-ui-primary-500))\",\n fontSize: 14,\n fontWeightStrong: neetoUIFontBold,\n paddingContentVerticalLG: 11,\n },\n },\n }}\n >\n {shouldShowSelectAllRowsCallout && (\n <SelectAllRowsCallout\n {...bulkSelectAllRowsProps}\n onBulkSelectAllRows={() => {\n setBulkSelectedAllRows(true);\n handleSetBulkSelectedAllRows?.(true);\n }}\n />\n )}\n {shouldShowAllRowsSelectedCallout && (\n <AllRowsSelectedCallout\n {...bulkSelectAllRowsProps}\n onClearSelection={() => {\n setBulkSelectedAllRows(false);\n handleSetBulkSelectedAllRows?.(false);\n handleRowChange([], []);\n }}\n />\n )}\n <AntTable\n {...{ bordered, locale, rowKey, virtual }}\n columns={sortedColumns}\n components={componentOverrides}\n dataSource={rowData}\n loading={{ spinning: loading, indicator: <Spinner /> }}\n ref={tableRef}\n rowSelection={rowSelectionProps}\n scroll={{ ...calculatedScroll, ...scroll }}\n showSorterTooltip={false}\n pagination={{\n hideOnSinglePage: true,\n ...paginationProps,\n showSizeChanger: false,\n total: totalCount ?? 0,\n current: currentPageNumber,\n defaultPageSize: pageSize,\n pageSizeOptions: calculatePageSizeOptions(),\n onChange: handlePageChange,\n itemRender,\n }}\n rowClassName={classnames(\n \"neeto-ui-table--row\",\n { \"neeto-ui-table--row_hover\": allowRowClick },\n [className]\n )}\n onChange={handleTableChange}\n onScroll={handleScroll}\n onHeaderRow={() => ({\n ref: headerRef,\n className: classnames(\"neeto-ui-table__header\", {\n \"neeto-ui-table-reorderable\": enableColumnReorder,\n }),\n id: \"neeto-ui-table__header\",\n })}\n onRow={(record, rowIndex) => ({\n onClick: event =>\n allowRowClick && onRowClick && onRowClick(event, record, rowIndex),\n })}\n {...otherProps}\n />\n <TableInfoPane {...{ onColumnUpdate }} />\n </ConfigProvider>\n );\n\n const renderTableVirtual = () =>\n virtual ? (\n <div ref={tableContainerRef}>{renderTable()}</div>\n ) : (\n renderTable()\n );\n\n return enableColumnReorder ? (\n <ReactDragListView.DragColumn {...dragProps}>\n {renderTableVirtual()}\n </ReactDragListView.DragColumn>\n ) : (\n renderTableVirtual()\n );\n};\n\nTable.propTypes = {\n /**\n * Enables row click event. Accepts boolean values.\n */\n allowRowClick: PropTypes.bool,\n /**\n * Dynamically renders the number of rows based on the viewport height.\n */\n shouldDynamicallyRenderRowSize: PropTypes.bool,\n /**\n * Custom classnames for each row.\n */\n className: PropTypes.string,\n /**\n * To make the Table fixed height.\n */\n fixedHeight: PropTypes.bool,\n /**\n * Columns of the Table. Accepts an array of [column definitions](#column_data).\n */\n columnData: PropTypes.array.isRequired,\n /**\n * Active page number.\n */\n currentPageNumber: PropTypes.number,\n /**\n * Sets the number of rows in a page.\n */\n defaultPageSize: PropTypes.number,\n /**\n * Handles page change events. Accepts a callback with `page` and `pageSize` as parameters. If not provided, component will handle page query parameters.\n *\n * `handlePageChange={(page, pageSize) => {}}`\n */\n handlePageChange: PropTypes.func,\n /**\n * Show loading state in Table.\n */\n loading: PropTypes.bool,\n /**\n * Handles click event on each row. Accepts a callback with `event`, `record`, and `index` as parameters.\n *\n * `onRowClick={(event, record, rowIndex) => {}}`\n */\n onRowClick: PropTypes.func,\n /**\n * Handles select event on each row. Accepts a callback with `selectedRowKeys` and `selectedRows` as parameters.\n * Make sure to pass `id` in `rowData` for this to work.\n * `onRowSelect={(selectedRowKeys, selectedRows) => {}}`\n */\n onRowSelect: PropTypes.func,\n /**\n * Keys of the rows that are selected.\n */\n selectedRowKeys: PropTypes.array,\n /**\n * Additional props for pagination. Refer [pagination docs](https://ant.design/components/pagination/#API) from AntD Table.\n */\n paginationProps: PropTypes.object,\n /**\n * Data for rows to be displayed. Accepts an array of JavaScript Objects.\n */\n rowData: PropTypes.array.isRequired,\n /**\n * Total number of data items.\n */\n totalCount: PropTypes.number,\n /**\n * Enables resizing of columns. Accepts boolean values.\n */\n enableColumnResize: PropTypes.bool,\n /**\n * Enables reordering of columns. Accepts boolean values.\n */\n enableColumnReorder: PropTypes.bool,\n /**\n * Enables adding of columns to the left or right of the current column. Accepts boolean values.\n */\n enableAddColumn: PropTypes.bool,\n /**\n * Handles column update events. Accepts a callback with `columns` as parameters.\n *\n * `onColumnUpdate={(columns) => {}}`\n */\n onColumnUpdate: PropTypes.func,\n /**\n * Function that gets called when a new column is added. Gets called with the 'position' to add the new column to as parameter.\n *\n * `onColumnAdd={(position) => {}}`\n */\n onColumnAdd: PropTypes.func,\n /**\n * Function that gets called when a custom field column is deleted. Gets called with the 'id' of the column getting deleted as parameter.\n *\n * `onColumnDelete={(key) => {}}`\n */\n onColumnDelete: PropTypes.func,\n /**\n * Function that gets called when a more action item in header is clicked.\n *\n * `onMoreActionClick={(type, column) => {}}`\n */\n onMoreActionClick: PropTypes.func,\n /**\n * Additional props for row selection. Refer [row selection docs](https://ant.design/components/table/#rowSelection) from AntD Table\n * Make sure to pass `id` in `rowData` for this to work.\n */\n rowSelection: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n /**\n * Props for adding `Select all rows` option for multi-page table.\n */\n bulkSelectAllRowsProps: PropTypes.shape({\n selectAllRowMessage: PropTypes.string.isRequired,\n selectAllRowButtonLabel: PropTypes.string.isRequired,\n setBulkSelectedAllRows: PropTypes.func.isRequired,\n allRowsSelectedMessage: PropTypes.string,\n clearSelectionButtonLabel: PropTypes.string,\n }),\n /**\n * String to set as the prefix of the local storage key where the data is persisted, eg: fixed columns.\n */\n localStorageKeyPrefix: PropTypes.string,\n /**\n * Whether to use virtual scrolling (beta).\n */\n virtual: PropTypes.bool,\n};\n\nexport default Table;\n"],"names":["useTimeout","callback","delay","savedCallback","useRef","useEffect","current","id","setTimeout","clearTimeout","AllRowsSelectedCallout","_ref","calloutProps","onClearSelection","allRowsSelectedMessage","clearSelectionButtonLabel","_useTranslation","useTranslation","t","i18n","_jsx","Callout","_objectSpread","className","children","_jsxs","Typography","style","getLocale","Button","label","onClick","SelectAllRowsCallout","onBulkSelectAllRows","selectAllRowButtonLabel","selectAllRowMessage","useLocalStorage","key","defaultValue","_useState","useState","getFromLocalStorage","_useState2","_slicedToArray","storedValue","setStoredValue","setValue","value","prevStoredValue","newValue","isNil","removeFromLocalStorage","setToLocalStorage","CellContent","isSortable","isAddEnabled","sortedInfo","onSort","_ref$isHidable","isHidable","_ref$isDeletable","isDeletable","isFixedColumn","isColumnFreezeEnabled","isMoveToLeftEnabled","isMoveToRightEnabled","onColumnHide","onColumnUpdate","onAddColumn","onColumnDelete","onColumnFreeze","onMoreActionClick","column","_ref$moreActions","moreActions","headerProps","_objectWithoutProperties","_excluded","isColumnHidable","isPresent","isColumnDeletable","hasMoreActions","isEmpty","hasMoreMenu","title","noop","concat","hyphenize","HeaderCellMenu","React","memo","rtlResizeHandles","Resizable","resizeHandles","rest","ReactResizable","getContentDir","HeaderCell","props","onResize","width","onResizeStop","restProps","classNames","draggableOpts","enableUserSelectHack","height","handle","e","stopPropagation","onResizeStart","preventDefault","ResizableHeaderCell","isResizing","setIsResizing","_defineProperty","classnames","data","ReorderableHeaderCell","convertLocationPathnameToId","pathname","decodeURIComponent","window","location","replace","hash","i","length","char","charCodeAt","Math","abs","toString","toUpperCase","getHeaderCell","enableColumnResize","enableColumnReorder","cell","isIncludedIn","array1","array2","all","includes","__","getSelectAllRowsCalloutHeight","innerWidth","SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT","SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT","sortFrozenColumns","columnData","originalIndices","Map","map","col","index","dataIndex","a","b","aFixed","fixed","bFixed","aIndex","get","bIndex","getFixedColumns","pipe","filter","_ref2","pluck","getColumnSortOrder","equals","field","order","getColumFixedValue","frozenColumns","indexOf","COLUMN_FIXED_VALUES","LEFT","getFrozenColumnsLocalStorageKey","localStorageKeyPrefix","prefix","getSortInfoFromQueryParams","queryParams","sort_by","order_by","TABLE_SORT_ORDERS","split","snakeToCamelCase","getSortField","Array","isArray","camelToSnakeCase","join","calculateRowsPerPage","viewportHeight","innerHeight","rowsPerPage","floor","TABLE_PAGINATION_HEIGHT","TABLE_ROW_HEIGHT","ceil","filterVisibleColumns","columns","hidden","isShown","useReorderColumns","isEnabled","setColumns","onColumnUpdateWithChanges","rowSelection","dragProps","isColumnFixed","onDragEnd","fromIndex","toIndex","visibleColumns","fromColumn","toColumn","fromColumnActualIndex","toColumnActualIndex","newColumns","move","nodeSelector","handleSelector","ignoreSelector","SortIcon","sortOrder","asc","URL_SORT_ORDERS","ascend","UpArrow","size","desc","descend","DownArrow","TitleWithInfoIcon","description","popoverRef","_Fragment","ref","InfoRound","color","Popover","appendTo","document","body","position","reference","lineHeight","useResizableColumns","onColumnAdd","handleSort","tableOnChangeProps","handleResize","_","nextColumns","_toConsumableArray","computedColumnsData","useMemo","lastColProps","undefined","onCell","minWidth","modifiedColumn","onHeaderCell","sorter","positionOffset","align","sortIcon","has","ellipsis","sort","useColumns","isResizeEnabled","isReorderEnabled","setSortedInfo","onTableChange","handleTableSortChange","isDefaultPageChangeHandler","_useLocalStorage","_useLocalStorage2","setFrozenColumns","useCallback","updatedColumns","without","append","fixedCols","_useReorderColumns","_tableOnChangeProps$c","_tableOnChangeProps$c2","_tableOnChangeProps$c3","newSortedInfo","columnKey","pagination","filters","_useResizableColumns","useScroll","fixedHeight","loading","otherProps","rowData","pageSize","shouldShowSelectAllRowsCallout","shouldShowAllRowsSelectedCallout","headerHeight","containerHeight","setContainerHeight","resizeObserver","ResizeObserver","_ref3","entry","contentRect","scrollRef","tableRef","table","observer","_table$parentNode","targetNode","parentNode","observe","disconnect","_useRestoreScrollPosi","useRestoreScrollPosition","handleScroll","calculateTableContainerHeight","isPaginationVisible","selectAllRowsCalloutHeight","tableContainerRef","calculatedScroll","x","y","useTableSort","useQueryParams","history","useHistory","handleTableChange","params","page","push","buildUrl","mergeLeft","useVirtualScroll","top","left","containerRect","setContainerRect","updateContainerRect","rect","getBoundingClientRect","addEventListener","removeEventListener","Table","_ref$allowRowClick","allowRowClick","_ref$enableColumnResi","_ref$enableColumnReor","_ref$enableColumnFree","enableColumnFreeze","_ref$enableAddColumn","enableAddColumn","_ref$className","_ref$columnData","_ref$currentPageNumbe","currentPageNumber","_ref$defaultPageSize","defaultPageSize","_ref$handlePageChange","handlePageChange","_ref$loading","onRowClick","onRowSelect","_ref$rowData","_ref$totalCount","totalCount","_ref$selectedRowKeys","selectedRowKeys","initialSelectedRowKeys","_ref$fixedHeight","_ref$paginationProps","paginationProps","_ref$rowKey","rowKey","scroll","_ref$shouldDynamicall","shouldDynamicallyRenderRowSize","_ref$bordered","bordered","_ref$components","components","_ref$onColumnAdd","onChange","bulkSelectAllRowsProps","_ref$virtual","virtual","TABLE_DEFAULT_HEADER_HEIGHT","setHeaderHeight","_useState3","_useState4","_useState5","_useState6","bulkSelectedAllRows","setBulkSelectedAllRows","_useState7","_useState8","columnChanges","setColumnChanges","_useTableSort","handleSetBulkSelectedAllRows","headerRef","offsetHeight","newChanges","forEach","originalCol","find","c","changes","Object","keys","prev","_useColumns","curatedColumnsData","setSortFromURL","_queryParams$sort_by","modifyBy","assoc","sortedColumns","locale","emptyText","showBulkSelectionCallout","handleRowChange","selectedRows","tableWrapper","querySelector","classList","remove","add","rowSelectionProps","type","preserveSelectedRowKeys","columnWidth","extras","componentOverrides","header","calculatePageSizeOptions","dynamicArray","itemRender","originalElement","commonProps","icon","Left","Right","MenuHorizontal","isNotEmpty","shouldNavigateToLastPage","lastPage","max","mergedColumns","neetoUIFontBold","parseInt","getComputedStyle","documentElement","getPropertyValue","renderTable","_ConfigProvider","direction","ANTD_LOCALE","language","theme","token","ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES","Pagination","itemActiveBg","itemActiveBgDisabled","itemActiveColorDisabled","itemBg","itemInputBg","itemLinkBg","colorBgContainer","colorPrimary","colorPrimaryHover","colorBgTextHover","borderRadius","headerBorderRadius","bodySortBg","borderColor","expandIconBg","filterDropdownBg","filterDropdownMenuBg","fixedHeaderSortActiveBg","footerBg","footerColor","headerBg","headerColor","headerFilterHoverBg","headerSortActiveBg","headerSortHoverBg","headerSplitColor","rowExpandedBg","rowHoverBg","rowSelectedBg","rowSelectedHoverBg","stickyScrollBarBg","cellPaddingBlock","fontSize","fontWeightStrong","paddingContentVerticalLG","_Table","dataSource","spinning","indicator","Spinner","showSorterTooltip","hideOnSinglePage","showSizeChanger","total","pageSizeOptions","rowClassName","onScroll","onHeaderRow","onRow","record","rowIndex","event","TableInfoPane","renderTableVirtual","ReactDragListView","DragColumn"],"mappings":"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"}
@@ -7,7 +7,7 @@ import { u as useId } from './useId-Jj9hXm-g.js';
7
7
  import 'react-router-dom';
8
8
  import '@bigbinary/neeto-hotkeys';
9
9
  import './overlayManager.js';
10
- import { h as hyphenize } from './index-BbZEp6Op.js';
10
+ import { h as hyphenize } from './index-D_BsZoxj.js';
11
11
  import 'qs';
12
12
  import Label from './Label.js';
13
13
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -172,4 +172,4 @@ var Textarea = /*#__PURE__*/forwardRef(function (_ref, ref) {
172
172
  Textarea.displayName = "Textarea";
173
173
 
174
174
  export { Textarea as T, useSyncedRef as u };
175
- //# sourceMappingURL=Textarea-CoY3q1mA.js.map
175
+ //# sourceMappingURL=Textarea-D3WmOs_6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea-CoY3q1mA.js","sources":["../src/hooks/useSyncedRef.js","../src/components/Textarea.jsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nconst useSyncedRef = ref => {\n const innerRef = useRef();\n\n useEffect(() => {\n if (!ref) return;\n\n if (typeof ref === \"function\") {\n ref(innerRef.current);\n } else {\n ref.current = innerRef.current;\n }\n });\n\n return innerRef;\n};\n\nexport default useSyncedRef;\n","import React, { useState, useEffect, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport { useSyncedRef, useId } from \"hooks\";\nimport { hyphenize } from \"utils\";\n\nimport Label from \"./Label\";\n\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst ROWS = { small: 1, medium: 3, large: 4 };\n\nconst RESIZE = { vertical: \"vertical\", none: \"none\" };\n\nconst Textarea = forwardRef(\n (\n {\n size = SIZES.medium,\n resize = RESIZE.vertical,\n suffix = null,\n prefix = null,\n disabled = false,\n required = false,\n nakedTextarea = false,\n helpText = \"\",\n error = \"\",\n label = \"\",\n className = \"\",\n maxLength,\n unlimitedChars = false,\n labelProps,\n onBlur,\n disableTrimOnBlur = false,\n ...otherProps\n },\n ref\n ) => {\n const [valueInternal, setValueInternal] = useState(\"\");\n\n const value = otherProps.value ?? valueInternal ?? \"\";\n\n const id = useId(otherProps.id);\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n const textareaRef = useSyncedRef(ref);\n\n const valueLength = value?.toString().length || 0;\n const isCharacterLimitVisible = valueLength >= maxLength * 0.85;\n const maxLengthError = unlimitedChars && valueLength > maxLength;\n\n const onChangeInternal = e => setValueInternal(e.target.value);\n const onChange = otherProps.onChange ?? onChangeInternal;\n const isMaxLengthPresent = !!maxLength || maxLength === 0;\n\n useEffect(() => {\n textareaRef.current.style.minHeight = \"22px\";\n textareaRef.current.style.height = \"auto\";\n const scrollHeight = textareaRef.current.scrollHeight;\n textareaRef.current.style.height = `${scrollHeight + 1}px`;\n }, [value]);\n\n const handleTrimmedChangeOnBlur = e => {\n if (disableTrimOnBlur || typeof value !== \"string\") return;\n\n const trimmedValue = value.trim();\n if (value === trimmedValue) return;\n\n e.target.value = trimmedValue;\n onChange(e);\n };\n\n const handleOnBlur = e => {\n handleTrimmedChangeOnBlur(e);\n onBlur?.(e);\n };\n\n return (\n <div\n className={classnames([\"neeto-ui-input__wrapper\", className])}\n data-cy=\"nui-textarea-wrapper\"\n >\n <div className=\"neeto-ui-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n data-cy={`${hyphenize(label)}-label`}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCharacterLimitVisible && (\n <p\n className={classnames(\"neeto-ui-input__max-length\", {\n \"neeto-ui-input__max-length--error\": maxLengthError,\n })}\n >\n {valueLength}/{maxLength}\n </p>\n )}\n </div>\n <div\n data-cy={`${hyphenize(label)}-text-input-label`}\n className={classnames(\"neeto-ui-input\", \"neeto-ui-input--textarea\", {\n \"neeto-ui-input--error\": !!error,\n \"neeto-ui-input--disabled\": !!disabled,\n \"neeto-ui-input--naked\": !!nakedTextarea,\n \"neeto-ui-input--small\": size === SIZES.small,\n \"neeto-ui-input--medium\": size === SIZES.medium,\n \"neeto-ui-input--large\": size === SIZES.large,\n \"neeto-ui-input--resize--vertical\": resize === RESIZE.vertical,\n \"neeto-ui-input--resize--none\": resize === RESIZE.none,\n })}\n >\n {prefix && <div className=\"neeto-ui-input__prefix\">{prefix}</div>}\n <textarea\n data-cy={`${hyphenize(label)}-text-input`}\n ref={textareaRef}\n rows={ROWS[size]}\n {...{\n disabled,\n ...(isMaxLengthPresent && !unlimitedChars && { maxLength }),\n ...otherProps,\n onChange,\n value,\n }}\n onBlur={handleOnBlur}\n />\n {suffix && <div className=\"neeto-ui-input__suffix\">{suffix}</div>}\n </div>\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n {helpText && (\n <p className=\"neeto-ui-input__help-text\" id={helpTextId}>\n {helpText}\n </p>\n )}\n </div>\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\n\nTextarea.propTypes = {\n /**\n * To specify the row height of the Textarea.\n */\n rows: PropTypes.number,\n /**\n * To specify the size of Textarea.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify the label shown above the Textarea.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To provide the value of the Textarea.\n */\n value: PropTypes.string,\n /**\n * To provide the error message shown below the Textarea.\n */\n error: PropTypes.string,\n /**\n * To provide the placeholder text for the Textarea.\n */\n placeholder: PropTypes.string,\n /**\n * To specify whether the Textarea is required.\n */\n required: PropTypes.bool,\n /**\n * To specify whether the Textarea is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To provide additional classnames to the Textarea container.\n */\n className: PropTypes.string,\n /**\n * The resize property sets whether the Textarea is resizable.\n */\n resize: PropTypes.oneOf(Object.values(RESIZE)),\n /**\n * To specify the text that appears below the Textarea.\n */\n helpText: PropTypes.string,\n /**\n * To create a Textarea without any borders.\n */\n nakedTextarea: PropTypes.bool,\n /**\n * To specify a maximum character limit to the Textarea. Charater limit is visible only if the Textarea value is greater than or equal to 85% of the maximum character limit.\n */\n maxLength: PropTypes.number,\n /**\n * To be used along with maxLength prop. When set to true the character limit will not be enforced and character count will be shown in error state if the character limit is exceeded.\n */\n unlimitedChars: PropTypes.bool,\n /**\n * To specify the content to be added at the end of the Textarea.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Textarea.\n */\n prefix: PropTypes.node,\n /**\n * To disable leading and trailing white spaces onBlur.\n */\n disableTrimOnBlur: PropTypes.bool,\n};\n\nexport default Textarea;\n"],"names":["useSyncedRef","ref","innerRef","useRef","useEffect","current","SIZES","small","medium","large","ROWS","RESIZE","vertical","none","Textarea","forwardRef","_ref","_ref2","_otherProps$value","_otherProps$onChange","_ref$size","size","_ref$resize","resize","_ref$suffix","suffix","_ref$prefix","prefix","_ref$disabled","disabled","_ref$required","required","_ref$nakedTextarea","nakedTextarea","_ref$helpText","helpText","_ref$error","error","_ref$label","label","_ref$className","className","maxLength","_ref$unlimitedChars","unlimitedChars","labelProps","onBlur","_ref$disableTrimOnBlu","disableTrimOnBlur","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","valueInternal","setValueInternal","value","id","useId","errorId","concat","helpTextId","textareaRef","valueLength","toString","length","isCharacterLimitVisible","maxLengthError","onChangeInternal","e","target","onChange","isMaxLengthPresent","style","minHeight","height","scrollHeight","handleTrimmedChangeOnBlur","trimmedValue","trim","handleOnBlur","_jsxs","classnames","children","_jsx","Label","_objectSpread","hyphenize","htmlFor","rows","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Textarea-D3WmOs_6.js","sources":["../src/hooks/useSyncedRef.js","../src/components/Textarea.jsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nconst useSyncedRef = ref => {\n const innerRef = useRef();\n\n useEffect(() => {\n if (!ref) return;\n\n if (typeof ref === \"function\") {\n ref(innerRef.current);\n } else {\n ref.current = innerRef.current;\n }\n });\n\n return innerRef;\n};\n\nexport default useSyncedRef;\n","import React, { useState, useEffect, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport { useSyncedRef, useId } from \"hooks\";\nimport { hyphenize } from \"utils\";\n\nimport Label from \"./Label\";\n\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst ROWS = { small: 1, medium: 3, large: 4 };\n\nconst RESIZE = { vertical: \"vertical\", none: \"none\" };\n\nconst Textarea = forwardRef(\n (\n {\n size = SIZES.medium,\n resize = RESIZE.vertical,\n suffix = null,\n prefix = null,\n disabled = false,\n required = false,\n nakedTextarea = false,\n helpText = \"\",\n error = \"\",\n label = \"\",\n className = \"\",\n maxLength,\n unlimitedChars = false,\n labelProps,\n onBlur,\n disableTrimOnBlur = false,\n ...otherProps\n },\n ref\n ) => {\n const [valueInternal, setValueInternal] = useState(\"\");\n\n const value = otherProps.value ?? valueInternal ?? \"\";\n\n const id = useId(otherProps.id);\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n const textareaRef = useSyncedRef(ref);\n\n const valueLength = value?.toString().length || 0;\n const isCharacterLimitVisible = valueLength >= maxLength * 0.85;\n const maxLengthError = unlimitedChars && valueLength > maxLength;\n\n const onChangeInternal = e => setValueInternal(e.target.value);\n const onChange = otherProps.onChange ?? onChangeInternal;\n const isMaxLengthPresent = !!maxLength || maxLength === 0;\n\n useEffect(() => {\n textareaRef.current.style.minHeight = \"22px\";\n textareaRef.current.style.height = \"auto\";\n const scrollHeight = textareaRef.current.scrollHeight;\n textareaRef.current.style.height = `${scrollHeight + 1}px`;\n }, [value]);\n\n const handleTrimmedChangeOnBlur = e => {\n if (disableTrimOnBlur || typeof value !== \"string\") return;\n\n const trimmedValue = value.trim();\n if (value === trimmedValue) return;\n\n e.target.value = trimmedValue;\n onChange(e);\n };\n\n const handleOnBlur = e => {\n handleTrimmedChangeOnBlur(e);\n onBlur?.(e);\n };\n\n return (\n <div\n className={classnames([\"neeto-ui-input__wrapper\", className])}\n data-cy=\"nui-textarea-wrapper\"\n >\n <div className=\"neeto-ui-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n data-cy={`${hyphenize(label)}-label`}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCharacterLimitVisible && (\n <p\n className={classnames(\"neeto-ui-input__max-length\", {\n \"neeto-ui-input__max-length--error\": maxLengthError,\n })}\n >\n {valueLength}/{maxLength}\n </p>\n )}\n </div>\n <div\n data-cy={`${hyphenize(label)}-text-input-label`}\n className={classnames(\"neeto-ui-input\", \"neeto-ui-input--textarea\", {\n \"neeto-ui-input--error\": !!error,\n \"neeto-ui-input--disabled\": !!disabled,\n \"neeto-ui-input--naked\": !!nakedTextarea,\n \"neeto-ui-input--small\": size === SIZES.small,\n \"neeto-ui-input--medium\": size === SIZES.medium,\n \"neeto-ui-input--large\": size === SIZES.large,\n \"neeto-ui-input--resize--vertical\": resize === RESIZE.vertical,\n \"neeto-ui-input--resize--none\": resize === RESIZE.none,\n })}\n >\n {prefix && <div className=\"neeto-ui-input__prefix\">{prefix}</div>}\n <textarea\n data-cy={`${hyphenize(label)}-text-input`}\n ref={textareaRef}\n rows={ROWS[size]}\n {...{\n disabled,\n ...(isMaxLengthPresent && !unlimitedChars && { maxLength }),\n ...otherProps,\n onChange,\n value,\n }}\n onBlur={handleOnBlur}\n />\n {suffix && <div className=\"neeto-ui-input__suffix\">{suffix}</div>}\n </div>\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n {helpText && (\n <p className=\"neeto-ui-input__help-text\" id={helpTextId}>\n {helpText}\n </p>\n )}\n </div>\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\n\nTextarea.propTypes = {\n /**\n * To specify the row height of the Textarea.\n */\n rows: PropTypes.number,\n /**\n * To specify the size of Textarea.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify the label shown above the Textarea.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To provide the value of the Textarea.\n */\n value: PropTypes.string,\n /**\n * To provide the error message shown below the Textarea.\n */\n error: PropTypes.string,\n /**\n * To provide the placeholder text for the Textarea.\n */\n placeholder: PropTypes.string,\n /**\n * To specify whether the Textarea is required.\n */\n required: PropTypes.bool,\n /**\n * To specify whether the Textarea is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To provide additional classnames to the Textarea container.\n */\n className: PropTypes.string,\n /**\n * The resize property sets whether the Textarea is resizable.\n */\n resize: PropTypes.oneOf(Object.values(RESIZE)),\n /**\n * To specify the text that appears below the Textarea.\n */\n helpText: PropTypes.string,\n /**\n * To create a Textarea without any borders.\n */\n nakedTextarea: PropTypes.bool,\n /**\n * To specify a maximum character limit to the Textarea. Charater limit is visible only if the Textarea value is greater than or equal to 85% of the maximum character limit.\n */\n maxLength: PropTypes.number,\n /**\n * To be used along with maxLength prop. When set to true the character limit will not be enforced and character count will be shown in error state if the character limit is exceeded.\n */\n unlimitedChars: PropTypes.bool,\n /**\n * To specify the content to be added at the end of the Textarea.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Textarea.\n */\n prefix: PropTypes.node,\n /**\n * To disable leading and trailing white spaces onBlur.\n */\n disableTrimOnBlur: PropTypes.bool,\n};\n\nexport default Textarea;\n"],"names":["useSyncedRef","ref","innerRef","useRef","useEffect","current","SIZES","small","medium","large","ROWS","RESIZE","vertical","none","Textarea","forwardRef","_ref","_ref2","_otherProps$value","_otherProps$onChange","_ref$size","size","_ref$resize","resize","_ref$suffix","suffix","_ref$prefix","prefix","_ref$disabled","disabled","_ref$required","required","_ref$nakedTextarea","nakedTextarea","_ref$helpText","helpText","_ref$error","error","_ref$label","label","_ref$className","className","maxLength","_ref$unlimitedChars","unlimitedChars","labelProps","onBlur","_ref$disableTrimOnBlu","disableTrimOnBlur","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","valueInternal","setValueInternal","value","id","useId","errorId","concat","helpTextId","textareaRef","valueLength","toString","length","isCharacterLimitVisible","maxLengthError","onChangeInternal","e","target","onChange","isMaxLengthPresent","style","minHeight","height","scrollHeight","handleTrimmedChangeOnBlur","trimmedValue","trim","handleOnBlur","_jsxs","classnames","children","_jsx","Label","_objectSpread","hyphenize","htmlFor","rows","displayName"],"mappings":"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"}