@bigbinary/neetoui 8.3.43 → 8.3.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ActionDropdown.js +2 -2
- package/dist/Alert.js +3 -3
- package/dist/Checkbox.js +2 -2
- package/dist/ColorPicker.js +52 -43
- package/dist/ColorPicker.js.map +1 -1
- package/dist/DatePicker.js +15 -10
- package/dist/DatePicker.js.map +1 -1
- package/dist/Dropdown.js +2 -2
- package/dist/Input.js +2 -2
- package/dist/Modal.js +3 -3
- package/dist/MultiEmailInput.js +2 -2
- package/dist/Pagination.js +2 -2
- package/dist/Pane.js +3 -3
- package/dist/Radio.js +2 -2
- package/dist/Select.js +2 -2
- package/dist/Sidebar.js +2 -2
- package/dist/Slider.js +2 -2
- package/dist/Switch.js +2 -2
- package/dist/Table.js +97 -15
- package/dist/Table.js.map +1 -1
- package/dist/{Textarea-Cn12kZAy.js → Textarea-CoY3q1mA.js} +2 -2
- package/dist/{Textarea-Cn12kZAy.js.map → Textarea-CoY3q1mA.js.map} +1 -1
- package/dist/Textarea.js +3 -3
- package/dist/TimePicker.js +15 -10
- package/dist/TimePicker.js.map +1 -1
- package/dist/Toastr.js +2 -2
- package/dist/TranslationProvider.js +61 -25
- package/dist/TranslationProvider.js.map +1 -1
- package/dist/Tree.js +2 -2
- package/dist/TreeSelect.js +2 -2
- package/dist/cjs/ActionDropdown.js +2 -2
- package/dist/cjs/Alert.js +3 -3
- package/dist/cjs/Checkbox.js +2 -2
- package/dist/cjs/ColorPicker.js +52 -43
- package/dist/cjs/ColorPicker.js.map +1 -1
- package/dist/cjs/DatePicker.js +15 -10
- package/dist/cjs/DatePicker.js.map +1 -1
- package/dist/cjs/Dropdown.js +2 -2
- package/dist/cjs/Input.js +2 -2
- package/dist/cjs/Modal.js +3 -3
- package/dist/cjs/MultiEmailInput.js +2 -2
- package/dist/cjs/Pagination.js +2 -2
- package/dist/cjs/Pane.js +3 -3
- package/dist/cjs/Radio.js +2 -2
- package/dist/cjs/Select.js +2 -2
- package/dist/cjs/Sidebar.js +2 -2
- package/dist/cjs/Slider.js +2 -2
- package/dist/cjs/Switch.js +2 -2
- package/dist/cjs/Table.js +112 -30
- package/dist/cjs/Table.js.map +1 -1
- package/dist/cjs/{Textarea-BF9uNO2J.js → Textarea-DzetFleJ.js} +2 -2
- package/dist/cjs/{Textarea-BF9uNO2J.js.map → Textarea-DzetFleJ.js.map} +1 -1
- package/dist/cjs/Textarea.js +3 -3
- package/dist/cjs/TimePicker.js +15 -10
- package/dist/cjs/TimePicker.js.map +1 -1
- package/dist/cjs/Toastr.js +2 -2
- package/dist/cjs/TranslationProvider.js +61 -25
- package/dist/cjs/TranslationProvider.js.map +1 -1
- package/dist/cjs/Tree.js +2 -2
- package/dist/cjs/TreeSelect.js +2 -2
- package/dist/cjs/{en-BoX6pwZe.js → en-BfFI1Si2.js} +11 -5
- package/dist/cjs/en-BfFI1Si2.js.map +1 -0
- package/dist/cjs/formik/ActionBlock.js +2 -2
- package/dist/cjs/formik/BlockNavigation.js +3 -3
- package/dist/cjs/formik/Checkbox.js +2 -2
- package/dist/cjs/formik/Input.js +2 -2
- package/dist/cjs/formik/MultiEmailInput.js +2 -2
- package/dist/cjs/formik/Radio.js +2 -2
- package/dist/cjs/formik/Select.js +2 -2
- package/dist/cjs/formik/Slider.js +2 -2
- package/dist/cjs/formik/Switch.js +2 -2
- package/dist/cjs/formik/Textarea.js +3 -3
- package/dist/cjs/formik/TreeSelect.js +2 -2
- package/dist/cjs/formik/index.js +4 -4
- package/dist/cjs/{index-CcLewRhe.js → index-BlcVTw2b.js} +2 -2
- package/dist/cjs/{index-CcLewRhe.js.map → index-BlcVTw2b.js.map} +1 -1
- package/dist/cjs/{index-CHSpscO7.js → index-DruCXsxo.js} +394 -23
- package/dist/cjs/index-DruCXsxo.js.map +1 -0
- package/dist/cjs/index.js +13 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/layouts.js +2 -2
- package/dist/cjs/{useOverlayManager-Bmn7TLVG.js → useOverlayManager-T0kuI6q4.js} +2 -2
- package/dist/cjs/{useOverlayManager-Bmn7TLVG.js.map → useOverlayManager-T0kuI6q4.js.map} +1 -1
- package/dist/cjs/{useRecentlyUsedColors-Cfbf5D9L.js → useRecentlyUsedColors-CThW5BOM.js} +2 -2
- package/dist/cjs/{useRecentlyUsedColors-Cfbf5D9L.js.map → useRecentlyUsedColors-CThW5BOM.js.map} +1 -1
- package/dist/{en-Cj1tGKrT.js → en-DVlE9xuu.js} +11 -5
- package/dist/en-DVlE9xuu.js.map +1 -0
- package/dist/formik/ActionBlock.js +2 -2
- package/dist/formik/BlockNavigation.js +3 -3
- package/dist/formik/Checkbox.js +2 -2
- package/dist/formik/Input.js +2 -2
- package/dist/formik/MultiEmailInput.js +2 -2
- package/dist/formik/Radio.js +2 -2
- package/dist/formik/Select.js +2 -2
- package/dist/formik/Slider.js +2 -2
- package/dist/formik/Switch.js +2 -2
- package/dist/formik/Textarea.js +3 -3
- package/dist/formik/TreeSelect.js +2 -2
- package/dist/formik/index.js +4 -4
- package/dist/{index-PdVtY1Cx.js → index-BRcfDAre.js} +387 -27
- package/dist/index-BRcfDAre.js.map +1 -0
- package/dist/{index-DFo1kTlC.js → index-BbZEp6Op.js} +3 -3
- package/dist/{index-DFo1kTlC.js.map → index-BbZEp6Op.js.map} +1 -1
- package/dist/index.js +13 -8
- package/dist/index.js.map +1 -1
- package/dist/layouts.js +2 -2
- package/dist/src/translations/ar.json +10 -4
- package/dist/src/translations/bg.json +10 -4
- package/dist/src/translations/ca.json +10 -4
- package/dist/src/translations/cs.json +10 -4
- package/dist/src/translations/da.json +10 -4
- package/dist/src/translations/de.json +10 -4
- package/dist/src/translations/en.json +10 -4
- package/dist/src/translations/es-MX.json +10 -4
- package/dist/src/translations/es.json +10 -4
- package/dist/src/translations/et.json +10 -4
- package/dist/src/translations/fi.json +10 -4
- package/dist/src/translations/fil.json +10 -4
- package/dist/src/translations/fr.json +10 -4
- package/dist/src/translations/he.json +50 -0
- package/dist/src/translations/hi.json +10 -4
- package/dist/src/translations/hr.json +10 -4
- package/dist/src/translations/id.json +10 -4
- package/dist/src/translations/it.json +10 -4
- package/dist/src/translations/ja.json +10 -4
- package/dist/src/translations/ko.json +10 -4
- package/dist/src/translations/nl.json +10 -4
- package/dist/src/translations/pl.json +10 -4
- package/dist/src/translations/pt-BR.json +10 -4
- package/dist/src/translations/pt.json +10 -4
- package/dist/src/translations/ro.json +10 -4
- package/dist/src/translations/ru.json +10 -4
- package/dist/src/translations/sk.json +10 -4
- package/dist/src/translations/sl.json +10 -4
- package/dist/src/translations/sv.json +10 -4
- package/dist/src/translations/th.json +10 -4
- package/dist/src/translations/tr.json +10 -4
- package/dist/src/translations/uk.json +10 -4
- package/dist/src/translations/vi.json +10 -4
- package/dist/src/translations/zh-CN.json +10 -4
- package/dist/src/translations/zh-TW.json +10 -4
- package/dist/{useOverlayManager-CofhPkL6.js → useOverlayManager-BtEqSq_z.js} +2 -2
- package/dist/{useOverlayManager-CofhPkL6.js.map → useOverlayManager-BtEqSq_z.js.map} +1 -1
- package/dist/{useRecentlyUsedColors-Bz5p2xal.js → useRecentlyUsedColors-C18GFyJC.js} +2 -2
- package/dist/{useRecentlyUsedColors-Bz5p2xal.js.map → useRecentlyUsedColors-C18GFyJC.js.map} +1 -1
- package/package.json +3 -3
- package/types/ColorPicker.d.ts +1 -0
- package/dist/cjs/en-BoX6pwZe.js.map +0 -1
- package/dist/cjs/index-CHSpscO7.js.map +0 -1
- package/dist/cjs/useRestoreScrollPosition-6TwcjUT5.js +0 -233
- package/dist/cjs/useRestoreScrollPosition-6TwcjUT5.js.map +0 -1
- package/dist/en-Cj1tGKrT.js.map +0 -1
- package/dist/index-PdVtY1Cx.js.map +0 -1
- package/dist/useRestoreScrollPosition-C0t8os3c.js +0 -222
- package/dist/useRestoreScrollPosition-C0t8os3c.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/hooks/useReorderColumns.js","../src/components/Table/components/SortIcon.jsx","../src/components/Table/components/TitleWithInfoIcon.jsx","../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/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 { move } from \"ramda\";\n\nconst useReorderColumns = ({\n isEnabled,\n columns,\n setColumns,\n onColumnUpdate,\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 let from = fromIndex;\n let to = toIndex;\n if (rowSelection) {\n from = fromIndex - 1;\n to = toIndex - 1;\n }\n\n if (!columns[from] || !columns[to]) return;\n\n if (isColumnFixed(columns[from]) || isColumnFixed(columns[to])) return;\n\n const newColumns = move(from, to, columns);\n setColumns(newColumns);\n onColumnUpdate(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 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 onColumnHide,\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 isSortable,\n moreActions,\n onAddColumn,\n onColumnDelete,\n onColumnFreeze,\n onColumnHide,\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\";\nimport { Resizable } from \"react-resizable\";\n\nimport CellContent from \"./CellContent\";\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\";\nimport { Resizable } from \"react-resizable\";\n\nimport CellContent from \"./CellContent\";\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","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 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 onResize: isEnabled ? handleResize(index) : noop,\n onResizeStop: () => (isEnabled ? onColumnUpdate(columns) : noop),\n isSortable: isPresent(col.sorter),\n onSort: handleSort,\n sortedInfo,\n onColumnHide,\n onColumnFreeze,\n onMoreActionClick,\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 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 onColumnUpdate,\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 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\";\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 = noop,\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 handleColumnUpdateWithChanges = 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: handleColumnUpdateWithChanges,\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 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 </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","useReorderColumns","isEnabled","columns","setColumns","onColumnUpdate","rowSelection","dragProps","isColumnFixed","column","fixed","onDragEnd","fromIndex","toIndex","from","to","newColumns","move","nodeSelector","handleSelector","ignoreSelector","SortIcon","sortOrder","TABLE_SORT_ORDERS","asc","URL_SORT_ORDERS","ascend","UpArrow","size","desc","descend","DownArrow","TitleWithInfoIcon","title","description","rest","_objectWithoutProperties","_excluded","popoverRef","_Fragment","ref","InfoRound","color","Popover","appendTo","document","body","position","reference","lineHeight","React","memo","CellContent","isSortable","isAddEnabled","sortedInfo","onSort","_ref$isHidable","isHidable","_ref$isDeletable","isDeletable","isFixedColumn","isColumnFreezeEnabled","onColumnHide","onAddColumn","onColumnDelete","onColumnFreeze","onMoreActionClick","_ref$moreActions","moreActions","headerProps","isColumnHidable","isPresent","isColumnDeletable","hasMoreActions","isEmpty","hasMoreMenu","noop","concat","hyphenize","HeaderCellMenu","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","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","split","snakeToCamelCase","getSortField","Array","isArray","camelToSnakeCase","join","calculateRowsPerPage","viewportHeight","innerHeight","rowsPerPage","floor","TABLE_PAGINATION_HEIGHT","TABLE_ROW_HEIGHT","ceil","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$onColumnUpdate","_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","handleColumnUpdateWithChanges","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","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","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/hooks/useReorderColumns.js","../src/components/Table/components/SortIcon.jsx","../src/components/Table/components/TitleWithInfoIcon.jsx","../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/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 { move } from \"ramda\";\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 let from = fromIndex;\n let to = toIndex;\n if (rowSelection) {\n from = fromIndex - 1;\n to = toIndex - 1;\n }\n\n if (!columns[from] || !columns[to]) return;\n\n if (isColumnFixed(columns[from]) || isColumnFixed(columns[to])) return;\n\n const newColumns = move(from, to, columns);\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 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\";\nimport { Resizable } from \"react-resizable\";\n\nimport CellContent from \"./CellContent\";\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\";\nimport { Resizable } from \"react-resizable\";\n\nimport CellContent from \"./CellContent\";\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","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\";\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 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","useReorderColumns","isEnabled","columns","setColumns","onColumnUpdateWithChanges","rowSelection","dragProps","isColumnFixed","column","fixed","onDragEnd","fromIndex","toIndex","from","to","newColumns","move","nodeSelector","handleSelector","ignoreSelector","SortIcon","sortOrder","TABLE_SORT_ORDERS","asc","URL_SORT_ORDERS","ascend","UpArrow","size","desc","descend","DownArrow","TitleWithInfoIcon","title","description","rest","_objectWithoutProperties","_excluded","popoverRef","_Fragment","ref","InfoRound","color","Popover","appendTo","document","body","position","reference","lineHeight","React","memo","CellContent","isSortable","isAddEnabled","sortedInfo","onSort","_ref$isHidable","isHidable","_ref$isDeletable","isDeletable","isFixedColumn","isColumnFreezeEnabled","isMoveToLeftEnabled","isMoveToRightEnabled","onColumnHide","onColumnUpdate","onAddColumn","onColumnDelete","onColumnFreeze","onMoreActionClick","_ref$moreActions","moreActions","headerProps","isColumnHidable","isPresent","isColumnDeletable","hasMoreActions","isEmpty","hasMoreMenu","noop","concat","hyphenize","HeaderCellMenu","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","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","split","snakeToCamelCase","getSortField","Array","isArray","camelToSnakeCase","join","calculateRowsPerPage","viewportHeight","innerHeight","rowsPerPage","floor","TABLE_PAGINATION_HEIGHT","TABLE_ROW_HEIGHT","ceil","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","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-
|
|
10
|
+
import { h as hyphenize } from './index-BbZEp6Op.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-
|
|
175
|
+
//# sourceMappingURL=Textarea-CoY3q1mA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea-Cn12kZAy.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-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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"}
|