@ynput/ayon-frontend-shared 0.3.44 → 0.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/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +4 -4
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +4 -4
- package/dist/_virtual/index.cjs15.js +1 -1
- package/dist/_virtual/index.cjs19.js +1 -1
- package/dist/_virtual/index.cjs22.js +1 -1
- package/dist/_virtual/index.cjs23.js +1 -1
- package/dist/_virtual/index.cjs24.js +1 -1
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.cjs9.js +1 -1
- package/dist/_virtual/index.es15.js +2 -2
- package/dist/_virtual/index.es16.js +2 -2
- package/dist/_virtual/index.es17.js +2 -2
- package/dist/_virtual/index.es18.js +2 -2
- package/dist/_virtual/index.es19.js +2 -2
- package/dist/_virtual/index.es22.js +3 -3
- package/dist/_virtual/index.es23.js +5 -5
- package/dist/_virtual/index.es24.js +5 -5
- package/dist/_virtual/index.es4.js +2 -5
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +5 -2
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es8.js +5 -2
- package/dist/_virtual/index.es8.js.map +1 -1
- package/dist/_virtual/index.es9.js +2 -5
- package/dist/_virtual/index.es9.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +4 -4
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
- package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -4
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -4
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +4 -4
- package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js +20 -20
- package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -4
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +4 -4
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +4 -4
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +5 -5
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -4
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -4
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +4 -4
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -4
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +84 -69
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +4 -4
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +4 -4
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +4 -4
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -4
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +4 -4
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -4
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +4 -4
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +15 -15
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -4
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +4 -4
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -4
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +4 -4
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +4 -4
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -4
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +4 -4
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -4
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.es.js +4 -4
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js +4 -4
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +31 -23
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js +23 -13
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +4 -4
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -4
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +169 -169
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js +13 -13
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +4 -4
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +55 -54
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +3 -3
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +4 -4
- package/dist/types/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.d.ts +8 -1
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +6 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleTable.es.js","sources":["../../../../../src/containers/SimpleTable/SimpleTable.tsx"],"sourcesContent":["import { FC, useMemo, useRef, MouseEvent as ReactMouseEvent, useCallback, useEffect } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport {\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getExpandedRowModel,\n ColumnDef,\n flexRender,\n Row,\n FilterFn,\n SortingFn,\n sortingFns,\n Table,\n RowData,\n OnChangeFn,\n RowSelectionState,\n functionalUpdate,\n} from '@tanstack/react-table'\nimport { useVirtualizer } from '@tanstack/react-virtual'\n\nimport clsx from 'clsx'\nimport useRowKeydown, { RowKeyboardEvent } from './hooks/useRowKeydown'\n\nimport { rankItem, compareItems, rankings } from '@tanstack/match-sorter-utils'\nimport { useSimpleTableContext } from './context/SimpleTableContext'\nimport { SimpleTableCellTemplate, SimpleTableCellTemplateProps } from './SimpleTableRowTemplate'\nimport { EmptyPlaceholder } from '@shared/components'\nimport { RowPinningState } from '@tanstack/react-table'\nimport {\n SimpleTableProps,\n SimpleTableRow,\n SimpleTableRowContextMenuBuilder,\n} from './SimpleTable.types'\nimport { useCreateContextMenu } from '../ContextMenu'\n\nconst toMenuItems = (items: ReturnType<SimpleTableRowContextMenuBuilder>) => {\n if (!items) return []\n return Array.isArray(items) ? items.filter(Boolean) : [items]\n}\n\n// Define a custom fuzzy filter function that will apply ranking info to rows (using match-sorter utils)\nconst fuzzyFilter: FilterFn<any> = (row, columnId, searchValue, addMeta) => {\n const cellValue = row.getValue(columnId)\n // convert non-string cell values to string\n let searchString =\n typeof cellValue === 'string'\n ? cellValue\n : Array.isArray(cellValue)\n ? cellValue.join(' ')\n : JSON.stringify(cellValue)\n\n // combine label and parents into a single string for searching if columnId is 'label'\n if (columnId === 'label') {\n searchString = [row.original.label, row.original.name, ...(row.original.parents || [])].join(\n ' ',\n )\n }\n\n // Rank the item with CONTAINS threshold to avoid overly permissive fuzzy matches\n // This ensures the search term must be a substring, not just scattered characters\n const itemRank = rankItem(searchString, searchValue, { threshold: rankings.CONTAINS })\n\n // Store the itemRank info\n addMeta({\n itemRank,\n })\n\n // Return if the item should be filtered in/out\n return itemRank.passed\n}\n\n// Define a custom fuzzy sort function that will sort by rank if the row has ranking information\nconst fuzzySort: SortingFn<any> = (rowA, rowB, columnId) => {\n let dir = 0\n\n // Only sort by rank if the column has ranking information\n if (rowA.columnFiltersMeta[columnId]) {\n dir = compareItems(\n rowA.columnFiltersMeta[columnId]?.itemRank!,\n rowB.columnFiltersMeta[columnId]?.itemRank!,\n )\n }\n\n // Provide an alphanumeric fallback for when the item ranks are equal\n return dir === 0 ? sortingFns.alphanumeric(rowA, rowB, columnId) : dir\n}\n\n// Helper function to get row range for shift-selection\n// Operates on the provided list of rows (e.g., filtered and sorted rows)\nfunction getRowRange<TData extends RowData>(\n rows: Array<Row<TData>>,\n idA: string,\n idB: string,\n): Array<Row<TData>> {\n const range: Array<Row<TData>> = []\n // If idA and idB are the same, or one is not found, handle appropriately\n if (idA === idB) {\n const singleRow = rows.find((row) => row.id === idA)\n return singleRow ? [singleRow] : []\n }\n\n let indexA = -1\n let indexB = -1\n\n for (let i = 0; i < rows.length; i++) {\n if (rows[i].id === idA) indexA = i\n if (rows[i].id === idB) indexB = i\n if (indexA !== -1 && indexB !== -1) break\n }\n\n if (indexA === -1 || indexB === -1) return [] // One or both IDs not found\n\n const start = Math.min(indexA, indexB)\n const end = Math.max(indexA, indexB)\n\n for (let i = start; i <= end; i++) {\n range.push(rows[i])\n }\n return range\n}\n\nconst SimpleTable: FC<SimpleTableProps> = ({\n data = [],\n isLoading,\n error,\n isExpandable,\n isMultiSelect = true,\n enableClickToDeselect = true,\n enableNonFolderIndent = true,\n forceUpdateTable,\n globalFilter,\n meta,\n rowHeight,\n imgRatio,\n onScrollBottom,\n onRename,\n renamingId,\n onSubmitRename,\n onCancelRename,\n onRowDoubleClick,\n rowContextMenuBuilders = [],\n children,\n pt,\n fitContent,\n ...props\n}) => {\n const {\n rowSelection,\n expanded,\n setExpanded,\n onExpandedChange,\n onRowSelectionChange,\n rowPinning,\n onRowPinningChange,\n } = useSimpleTableContext()\n const lastSelectedIdRef = useRef<string | null>(null)\n const tableRef = useRef<Table<SimpleTableRow> | null>(null)\n const [showRowContextMenu] = useCreateContextMenu()\n\n // Refs for values used inside the columns memo.\n // Assigning synchronously (not via useEffect) means the cell function always reads\n // the latest value at render time, while the columns memo itself has a minimal dep\n // array and stays as a stable reference — critical because flexRender calls\n // React.createElement with the cell function, so a new reference = remount = broken dblclick.\n const onRowDoubleClickRef = useRef(onRowDoubleClick)\n onRowDoubleClickRef.current = onRowDoubleClick\n const renamingIdRef = useRef(renamingId)\n renamingIdRef.current = renamingId\n const onSubmitRenameRef = useRef(onSubmitRename)\n onSubmitRenameRef.current = onSubmitRename\n const onCancelRenameRef = useRef(onCancelRename)\n onCancelRenameRef.current = onCancelRename\n const onRenameRef = useRef(onRename)\n onRenameRef.current = onRename\n\n // stable data reference\n const tableData = useMemo(() => {\n if (!isLoading) return data\n\n // show loading placeholders\n return Array.from({ length: 10 }, (_, i) => ({\n id: `placeholder-${i}`,\n name: `placeholder-${i}`,\n label: `placeholder-${i}`,\n icon: null,\n img: null,\n subRows: [],\n data: {\n id: `placeholder-${i}`,\n },\n }))\n }, [isLoading, data, forceUpdateTable])\n\n // Define the core selection logic using useCallback for stability\n const handleSelectionLogic = useCallback(\n (\n tableInstance: Table<SimpleTableRow>,\n rowId: string,\n isShift: boolean,\n isCtrlOrMeta: boolean,\n ) => {\n const currentId = rowId\n const allProcessableRows = tableInstance.getFilteredRowModel().flatRows\n const currentRow = allProcessableRows.find((r) => r.id === currentId)\n\n if (!currentRow) return\n\n // Prevent selection of disabled rows\n if (currentRow.original.isDisabled) return\n\n // If click-to-deselect is enabled and only one row is selected and it's the current row\n if (\n enableClickToDeselect &&\n !isShift &&\n !isCtrlOrMeta &&\n Object.keys(tableInstance.getState().rowSelection).length === 1 &&\n tableInstance.getState().rowSelection[currentId]\n ) {\n tableInstance.setRowSelection({})\n lastSelectedIdRef.current = null\n return\n }\n\n if (isMultiSelect && isShift && lastSelectedIdRef.current) {\n const lastId = lastSelectedIdRef.current\n const anchorRow = allProcessableRows.find((r) => r.id === lastId)\n\n if (!anchorRow) {\n tableInstance.setRowSelection({ [currentId]: true })\n } else {\n const rowsToToggle = getRowRange(allProcessableRows, currentId, lastId)\n const newSelection: RowSelectionState = {}\n rowsToToggle.forEach((r) => (newSelection[r.id] = true))\n tableInstance.setRowSelection(newSelection)\n }\n } else if (isMultiSelect && isCtrlOrMeta) {\n currentRow.toggleSelected()\n } else {\n // If it's already selected and it's the only one, don't update selection to avoid unnecessary re-renders\n const selection = tableInstance.getState().rowSelection\n if (!(Object.keys(selection).length === 1 && selection[currentId])) {\n tableInstance.setRowSelection({ [currentId]: true })\n }\n }\n lastSelectedIdRef.current = currentId\n },\n [isMultiSelect, enableClickToDeselect],\n )\n\n // Callback for useRowKeydown's handleRowSelect prop\n // Uses tableRef to access the table instance, avoiding direct dependency on 'table' variable at definition time\n const handleRowSelectForKeydown = useCallback(\n (\n event: RowKeyboardEvent, // Use the specific keyboard event type from the hook\n selectedRow: Row<SimpleTableRow>,\n ) => {\n if (!tableRef.current) {\n console.warn('tableRef not yet available in handleRowSelectForKeydown')\n return\n }\n\n // Extract modifier keys from the event\n const isShiftKey = event.shiftKey\n const isCtrlKey = event.ctrlKey || event.metaKey\n\n handleSelectionLogic(\n tableRef.current, // Pass the main table instance\n selectedRow.id,\n isShiftKey,\n isCtrlKey,\n )\n },\n [handleSelectionLogic], // Depends only on handleSelectionLogic\n )\n\n // Handle arrow key navigation\n const handleArrowNavigation = useCallback(\n (direction: 'up' | 'down', currentRow: Row<SimpleTableRow>, event: RowKeyboardEvent) => {\n if (!tableRef.current) return\n\n // Use the row model which respects expanded state, not filtered model\n const visibleRows = tableRef.current.getRowModel().rows\n const currentIndex = visibleRows.findIndex((r) => r.id === currentRow.id)\n\n if (currentIndex === -1) return\n\n let nextIndex = direction === 'down' ? currentIndex + 1 : currentIndex - 1\n\n // Check bounds\n if (nextIndex < 0 || nextIndex >= visibleRows.length) return\n\n // Skip disabled rows\n while (nextIndex >= 0 && nextIndex < visibleRows.length) {\n const nextRow = visibleRows[nextIndex]\n if (!nextRow.original.isDisabled) {\n // Found a valid row\n // Select the next row\n handleSelectionLogic(\n tableRef.current,\n nextRow.id,\n event.shiftKey,\n event.ctrlKey || event.metaKey,\n )\n\n // Focus the next row's cell\n requestAnimationFrame(() => {\n const nextRowElement = document.getElementById(nextRow.id)\n const nextCell = nextRowElement?.querySelector('[tabindex=\"0\"]') as HTMLElement\n if (nextCell) {\n nextCell.focus()\n nextCell.scrollIntoView({ block: 'nearest', behavior: 'smooth' })\n }\n })\n return\n }\n // Move to next row if current is disabled\n nextIndex = direction === 'down' ? nextIndex + 1 : nextIndex - 1\n }\n },\n [handleSelectionLogic],\n )\n\n // handleRenameForKeydown reads from onRenameRef so it has empty deps and is\n // permanently stable — keeping handleRowKeyDown and therefore columns stable.\n const handleRenameForKeydown = useCallback(\n (e: RowKeyboardEvent, row: Row<SimpleTableRow>) => {\n if (!row.original.isDisabled) onRenameRef.current?.(row.id, row)\n },\n [], // eslint-disable-line react-hooks/exhaustive-deps\n )\n\n const { handleRowKeyDown } = useRowKeydown<SimpleTableRow>({\n handleRowSelect: handleRowSelectForKeydown,\n handleArrowNavigation,\n handleRename: handleRenameForKeydown,\n })\n\n const columns = useMemo<ColumnDef<SimpleTableRow>[]>(\n () => [\n {\n accessorKey: 'label',\n header: undefined,\n filterFn: 'fuzzy',\n sortingFn: fuzzySort, //sort by fuzzy rank (falls back to alphanumeric)\n cell: ({ row, getValue, table: cellTableInstance }) => {\n const cellMeta = cellTableInstance.options.meta\n\n const handleCellClick = (event: ReactMouseEvent<HTMLElement, MouseEvent>) => {\n // Prevent row selection if clicking on an interactive element within the cell\n if (\n event.target instanceof HTMLInputElement ||\n event.target instanceof HTMLButtonElement ||\n event.target instanceof HTMLTextAreaElement ||\n event.target instanceof HTMLSelectElement ||\n event.target instanceof HTMLAnchorElement ||\n (event.target as HTMLElement).closest('button, a, input, textarea, select')\n ) {\n return\n }\n handleSelectionLogic(\n cellTableInstance, // Pass the cell's table instance\n row.id,\n event.shiftKey,\n event.ctrlKey || event.metaKey,\n )\n }\n\n const props: SimpleTableCellTemplateProps & {\n onClick?: (event: ReactMouseEvent<HTMLElement, MouseEvent>) => void\n onDoubleClick?: (event: ReactMouseEvent<HTMLElement, MouseEvent>) => void\n } = {\n className: clsx({\n selected: row.getIsSelected(),\n loading: cellMeta?.isLoading,\n disabled: row.original.isDisabled, // you can't select disabled rows\n inactive: row.original.inactive, // false: archived items but still selectable\n }),\n onKeyDown: (e) => {\n if (e.target instanceof HTMLInputElement) return\n // Corrected typo: handleRowKeydown -> handleRowKeyDown\n handleRowKeyDown(e, row)\n },\n depth: row.depth,\n tabIndex: 0,\n value: getValue<string>(),\n parents: row.original.parents,\n icon: row.original.icon || undefined,\n iconColor: row.original.iconColor,\n iconFilled: row.original.iconFilled,\n img: row.original.img,\n imgShape: row.original.imgShape,\n imgRatio: imgRatio,\n isRowExpandable: row.getCanExpand(),\n enableNonFolderIndent,\n isRowExpanded: row.getIsExpanded(),\n isTableExpandable: cellMeta?.isExpandable,\n onExpandClick: row.getToggleExpandedHandler(),\n startContent: row.original.startContent,\n endContent: row.original.endContent,\n isDisabled: row.original.isDisabled,\n disabledMessage: row.original.disabledMessage,\n isRenaming: row.id === renamingIdRef.current,\n onSubmitRename: onSubmitRenameRef.current\n ? (v) => onSubmitRenameRef.current!(row.id, v)\n : undefined,\n onCancelRename: onCancelRenameRef.current,\n ...pt?.cell,\n onClick: handleCellClick, // Added onClick handler\n onDoubleClick: (e) => onRowDoubleClickRef.current?.(row.id, row),\n }\n\n // Use children function if provided, otherwise default to SimpleTableCellTemplate\n return cellMeta?.children ? (\n cellMeta.children(props, row, cellTableInstance)\n ) : (\n <SimpleTableCellTemplate {...props} {...pt?.cell} />\n )\n },\n },\n ],\n [\n forceUpdateTable,\n handleSelectionLogic,\n handleRowKeyDown,\n enableClickToDeselect,\n enableNonFolderIndent,\n imgRatio,\n ],\n )\n\n const handleRowSelectionChangeCallback: OnChangeFn<RowSelectionState> = useCallback(\n (updater) => {\n onRowSelectionChange(functionalUpdate(updater, rowSelection))\n },\n [onRowSelectionChange],\n )\n\n const handleRowPinningChangeCallback: OnChangeFn<RowPinningState> = useCallback(\n (updater) => {\n onRowPinningChange?.(functionalUpdate(updater, rowPinning || {}))\n },\n [onRowPinningChange],\n )\n\n const handleExpandedChange = useCallback(\n (updater: any) => {\n setExpanded?.((old) => {\n const newExpanded = updater instanceof Function ? updater(old) : updater\n onExpandedChange?.(newExpanded)\n return newExpanded\n })\n },\n [setExpanded],\n )\n\n const table = useReactTable({\n data: tableData,\n columns,\n state: {\n expanded,\n rowSelection,\n globalFilter,\n rowPinning,\n },\n onRowSelectionChange: handleRowSelectionChangeCallback,\n onRowPinningChange: handleRowPinningChangeCallback,\n filterFns: {\n fuzzy: fuzzyFilter,\n },\n globalFilterFn: 'fuzzy',\n enableRowSelection: true, //enable row selection for all rows\n enableRowPinning: !!onRowPinningChange,\n getRowId: (row) => row.id,\n enableSubRowSelection: false, //disable sub row selection\n onExpandedChange: handleExpandedChange,\n getSubRows: (row) => row.subRows,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n filterFromLeafRows: true,\n // debugTable: true,\n // @ts-expect-error: updateData is not required\n meta: useMemo(\n () => ({\n isExpandable: !!isExpandable,\n isLoading: isLoading,\n children: children,\n ...meta,\n }),\n [isExpandable, isLoading, children, meta],\n ),\n })\n\n // Update tableRef whenever the table instance changes.\n // This ensures handleRowSelectForKeydown uses the current table instance.\n useEffect(() => {\n tableRef.current = table\n }, [table])\n\n const { rows } = table.getRowModel()\n\n const handleRowContextMenu = useCallback(\n (rowId: string, rowIndex: number, e: ReactMouseEvent<HTMLTableRowElement>) => {\n if (!tableRef.current) return\n const row = rows[rowIndex]\n if (!row || row.original === undefined) return\n\n e.preventDefault()\n e.stopPropagation()\n\n const selectedIds = Object.keys(rowSelection)\n\n const nextSelectedRows = selectedIds.includes(rowId) ? selectedIds : [rowId]\n\n if (!selectedIds.includes(rowId)) {\n // convert array to RowSelectionState object\n const nextSelection: RowSelectionState = { [rowId]: true }\n onRowSelectionChange?.(nextSelection)\n }\n\n const menuItems = rowContextMenuBuilders.flatMap((builder) =>\n toMenuItems(\n builder(e as any, {\n rowId,\n rowIndex,\n row,\n selectedRows: nextSelectedRows,\n isSelected: nextSelectedRows.includes(rowId),\n }),\n ),\n )\n\n if (menuItems.length > 0) {\n showRowContextMenu(e as any, menuItems)\n }\n },\n [rowContextMenuBuilders, rows, rowSelection, onRowSelectionChange, showRowContextMenu],\n )\n\n //The virtualizer needs to know the scrollable container element\n const tableContainerRef = useRef<HTMLDivElement>(null)\n\n const rowVirtualizer = useVirtualizer({\n count: rows.length,\n estimateSize: () => rowHeight || 34, //estimate row height for accurate scrollbar dragging\n getScrollElement: () => tableContainerRef.current,\n //measure dynamic row height, except in firefox because it measures table border height incorrectly\n measureElement: rowHeight\n ? () => rowHeight\n : typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1\n ? (element) => element?.getBoundingClientRect().height\n : undefined,\n overscan: 5,\n })\n\n // Memoize the ref callback to prevent infinite re-renders\n const measureElementRef = useCallback(\n (node: HTMLElement | null) => {\n if (node) {\n rowVirtualizer.measureElement(node)\n }\n },\n [rowVirtualizer],\n )\n\n // Handle scroll to bottom detection\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLDivElement>) => {\n if (!onScrollBottom) return\n\n const target = event.currentTarget\n const { scrollTop, scrollHeight, clientHeight } = target\n\n // Check if we're near the bottom (within 100px)\n const isNearBottom = scrollHeight - scrollTop - clientHeight < 100\n\n if (isNearBottom && !isLoading) {\n onScrollBottom()\n }\n },\n [onScrollBottom, isLoading],\n )\n\n const handleContainerClick = (e: React.MouseEvent<HTMLDivElement>) => {\n // if the click is outside of any row, clear selection\n if (enableClickToDeselect && !(e.target as HTMLElement).closest('tr')) {\n table.setRowSelection({})\n lastSelectedIdRef.current = null\n }\n }\n\n return (\n <Styled.TableContainer\n ref={tableContainerRef}\n onScroll={handleScroll}\n onClick={handleContainerClick}\n {...props}\n className={clsx(props.className, { isLoading, fitContent })}\n >\n {!error && (\n <table>\n <tbody\n style={{\n height: `${rowVirtualizer?.getTotalSize()}px`, //tells scrollbar how big the table is\n }}\n >\n {rowVirtualizer?.getVirtualItems().map((virtualRow) => {\n const row = rows[virtualRow.index] as Row<SimpleTableRow>\n return (\n <tr\n data-index={virtualRow.index} //needed for dynamic row height measurement\n ref={measureElementRef} //measure dynamic row height\n key={row.id}\n id={row.id}\n onContextMenu={(e) => handleRowContextMenu(row.id, virtualRow.index, e)}\n {...pt?.row}\n style={{\n transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll\n ...pt?.row?.style, // custom styles to be passed\n }}\n >\n {row.getVisibleCells().map((cell) => {\n return (\n <td key={cell.id}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n )}\n {!!error && <EmptyPlaceholder error={error} />}\n </Styled.TableContainer>\n )\n}\n\nexport default SimpleTable\n"],"names":["toMenuItems","items","fuzzyFilter","row","columnId","searchValue","addMeta","cellValue","searchString","itemRank","rankItem","rankings","fuzzySort","rowA","rowB","dir","compareItems","sortingFns","getRowRange","rows","idA","idB","range","singleRow","indexA","indexB","i","start","end","SimpleTable","data","isLoading","error","isExpandable","isMultiSelect","enableClickToDeselect","enableNonFolderIndent","forceUpdateTable","globalFilter","meta","rowHeight","imgRatio","onScrollBottom","onRename","renamingId","onSubmitRename","onCancelRename","onRowDoubleClick","rowContextMenuBuilders","children","pt","fitContent","props","rowSelection","expanded","setExpanded","onExpandedChange","onRowSelectionChange","rowPinning","onRowPinningChange","useSimpleTableContext","lastSelectedIdRef","useRef","tableRef","showRowContextMenu","useCreateContextMenu","onRowDoubleClickRef","renamingIdRef","onSubmitRenameRef","onCancelRenameRef","onRenameRef","tableData","useMemo","_","handleSelectionLogic","useCallback","tableInstance","rowId","isShift","isCtrlOrMeta","currentId","allProcessableRows","currentRow","r","lastId","rowsToToggle","newSelection","selection","handleRowSelectForKeydown","event","selectedRow","isShiftKey","isCtrlKey","handleArrowNavigation","direction","visibleRows","currentIndex","nextIndex","nextRow","nextCell","handleRenameForKeydown","e","handleRowKeyDown","useRowKeydown","columns","getValue","cellTableInstance","cellMeta","handleCellClick","clsx","v","jsx","SimpleTableCellTemplate","handleRowSelectionChangeCallback","updater","functionalUpdate","handleRowPinningChangeCallback","handleExpandedChange","old","newExpanded","table","useReactTable","getCoreRowModel","getFilteredRowModel","getExpandedRowModel","useEffect","handleRowContextMenu","rowIndex","selectedIds","nextSelectedRows","nextSelection","menuItems","builder","tableContainerRef","rowVirtualizer","useVirtualizer","element","measureElementRef","node","handleScroll","target","scrollTop","scrollHeight","clientHeight","handleContainerClick","jsxs","Styled.TableContainer","virtualRow","cell","flexRender","EmptyPlaceholder"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,MAAMA,KAAc,CAACC,MACdA,IACE,MAAM,QAAQA,CAAK,IAAIA,EAAM,OAAO,OAAO,IAAI,CAACA,CAAK,IADzC,CAAA,GAKfC,KAA6B,CAACC,GAAKC,GAAUC,GAAaC,MAAY;AAC1E,QAAMC,IAAYJ,EAAI,SAASC,CAAQ;AAEvC,MAAII,IACF,OAAOD,KAAc,WACjBA,IACA,MAAM,QAAQA,CAAS,IACvBA,EAAU,KAAK,GAAG,IAClB,KAAK,UAAUA,CAAS;AAG9B,EAAIH,MAAa,YACfI,IAAe,CAACL,EAAI,SAAS,OAAOA,EAAI,SAAS,MAAM,GAAIA,EAAI,SAAS,WAAW,CAAA,CAAG,EAAE;AAAA,IACtF;AAAA,EAAA;AAMJ,QAAMM,IAAWC,GAASF,GAAcH,GAAa,EAAE,WAAWM,GAAS,UAAU;AAGrF,SAAAL,EAAQ;AAAA,IACN,UAAAG;AAAA,EAAA,CACD,GAGMA,EAAS;AAClB,GAGMG,KAA4B,CAACC,GAAMC,GAAMV,MAAa;AAC1D,MAAIW,IAAM;AAGV,SAAIF,EAAK,kBAAkBT,CAAQ,MACjCW,IAAMC;AAAA,IACJH,EAAK,kBAAkBT,CAAQ,GAAG;AAAA,IAClCU,EAAK,kBAAkBV,CAAQ,GAAG;AAAA,EAAA,IAK/BW,MAAQ,IAAIE,GAAW,aAAaJ,GAAMC,GAAMV,CAAQ,IAAIW;AACrE;AAIA,SAASG,GACPC,GACAC,GACAC,GACmB;AACnB,QAAMC,IAA2B,CAAA;AAEjC,MAAIF,MAAQC,GAAK;AACf,UAAME,IAAYJ,EAAK,KAAK,CAAChB,MAAQA,EAAI,OAAOiB,CAAG;AACnD,WAAOG,IAAY,CAACA,CAAS,IAAI,CAAA;AAAA,EACnC;AAEA,MAAIC,IAAS,IACTC,IAAS;AAEb,WAASC,IAAI,GAAGA,IAAIP,EAAK,WACnBA,EAAKO,CAAC,EAAE,OAAON,MAAKI,IAASE,IAC7BP,EAAKO,CAAC,EAAE,OAAOL,MAAKI,IAASC,IAC7B,EAAAF,MAAW,MAAMC,MAAW,MAHDC;AAG/B;AAGF,MAAIF,MAAW,MAAMC,MAAW,WAAW,CAAA;AAE3C,QAAME,IAAQ,KAAK,IAAIH,GAAQC,CAAM,GAC/BG,IAAM,KAAK,IAAIJ,GAAQC,CAAM;AAEnC,WAASC,IAAIC,GAAOD,KAAKE,GAAKF;AAC5B,IAAAJ,EAAM,KAAKH,EAAKO,CAAC,CAAC;AAEpB,SAAOJ;AACT;AAEA,MAAMO,KAAoC,CAAC;AAAA,EACzC,MAAAC,IAAO,CAAA;AAAA,EACP,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,uBAAAC,IAAwB;AAAA,EACxB,uBAAAC,IAAwB;AAAA,EACxB,kBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,wBAAAC,IAAyB,CAAA;AAAA,EACzB,UAAAC;AAAA,EACA,IAAAC;AAAA,EACA,YAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM;AAAA,IACJ,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,IACEC,GAAA,GACEC,IAAoBC,EAAsB,IAAI,GAC9CC,IAAWD,EAAqC,IAAI,GACpD,CAACE,CAAkB,IAAIC,GAAA,GAOvBC,IAAsBJ,EAAOf,CAAgB;AACnD,EAAAmB,EAAoB,UAAUnB;AAC9B,QAAMoB,IAAgBL,EAAOlB,CAAU;AACvC,EAAAuB,EAAc,UAAUvB;AACxB,QAAMwB,IAAoBN,EAAOjB,CAAc;AAC/C,EAAAuB,EAAkB,UAAUvB;AAC5B,QAAMwB,IAAoBP,EAAOhB,CAAc;AAC/C,EAAAuB,EAAkB,UAAUvB;AAC5B,QAAMwB,IAAcR,EAAOnB,CAAQ;AACnC,EAAA2B,EAAY,UAAU3B;AAGtB,QAAM4B,KAAYC,EAAQ,MACnBzC,IAGE,MAAM,KAAK,EAAE,QAAQ,MAAM,CAAC0C,GAAG/C,OAAO;AAAA,IAC3C,IAAI,eAAeA,CAAC;AAAA,IACpB,MAAM,eAAeA,CAAC;AAAA,IACtB,OAAO,eAAeA,CAAC;AAAA,IACvB,MAAM;AAAA,IACN,KAAK;AAAA,IACL,SAAS,CAAA;AAAA,IACT,MAAM;AAAA,MACJ,IAAI,eAAeA,CAAC;AAAA,IAAA;AAAA,EACtB,EACA,IAbqBI,GActB,CAACC,GAAWD,GAAMO,CAAgB,CAAC,GAGhCqC,IAAuBC;AAAA,IAC3B,CACEC,GACAC,GACAC,GACAC,MACG;AACH,YAAMC,IAAYH,GACZI,IAAqBL,EAAc,oBAAA,EAAsB,UACzDM,IAAaD,EAAmB,KAAK,CAACE,MAAMA,EAAE,OAAOH,CAAS;AAEpE,UAAKE,KAGD,CAAAA,EAAW,SAAS,YAGxB;AAAA,YACE/C,KACA,CAAC2C,KACD,CAACC,KACD,OAAO,KAAKH,EAAc,SAAA,EAAW,YAAY,EAAE,WAAW,KAC9DA,EAAc,WAAW,aAAaI,CAAS,GAC/C;AACA,UAAAJ,EAAc,gBAAgB,EAAE,GAChCf,EAAkB,UAAU;AAC5B;AAAA,QACF;AAEA,YAAI3B,KAAiB4C,KAAWjB,EAAkB,SAAS;AACzD,gBAAMuB,IAASvB,EAAkB;AAGjC,cAAI,CAFcoB,EAAmB,KAAK,CAACE,MAAMA,EAAE,OAAOC,CAAM;AAG9D,YAAAR,EAAc,gBAAgB,EAAE,CAACI,CAAS,GAAG,IAAM;AAAA,eAC9C;AACL,kBAAMK,IAAenE,GAAY+D,GAAoBD,GAAWI,CAAM,GAChEE,KAAkC,CAAA;AACxC,YAAAD,EAAa,QAAQ,CAACF,OAAOG,GAAaH,GAAE,EAAE,IAAI,EAAK,GACvDP,EAAc,gBAAgBU,EAAY;AAAA,UAC5C;AAAA,QACF,WAAWpD,KAAiB6C;AAC1B,UAAAG,EAAW,eAAA;AAAA,aACN;AAEL,gBAAMK,IAAYX,EAAc,SAAA,EAAW;AAC3C,UAAM,OAAO,KAAKW,CAAS,EAAE,WAAW,KAAKA,EAAUP,CAAS,KAC9DJ,EAAc,gBAAgB,EAAE,CAACI,CAAS,GAAG,IAAM;AAAA,QAEvD;AACA,QAAAnB,EAAkB,UAAUmB;AAAA;AAAA,IAC9B;AAAA,IACA,CAAC9C,GAAeC,CAAqB;AAAA,EAAA,GAKjCqD,KAA4Bb;AAAA,IAChC,CACEc,GACAC,MACG;AACH,UAAI,CAAC3B,EAAS,SAAS;AACrB,gBAAQ,KAAK,yDAAyD;AACtE;AAAA,MACF;AAGA,YAAM4B,IAAaF,EAAM,UACnBG,IAAYH,EAAM,WAAWA,EAAM;AAEzC,MAAAf;AAAA,QACEX,EAAS;AAAA;AAAA,QACT2B,EAAY;AAAA,QACZC;AAAA,QACAC;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,CAAClB,CAAoB;AAAA;AAAA,EAAA,GAIjBmB,KAAwBlB;AAAA,IAC5B,CAACmB,GAA0BZ,GAAiCO,MAA4B;AACtF,UAAI,CAAC1B,EAAS,QAAS;AAGvB,YAAMgC,IAAchC,EAAS,QAAQ,YAAA,EAAc,MAC7CiC,IAAeD,EAAY,UAAU,CAAC,MAAM,EAAE,OAAOb,EAAW,EAAE;AAExE,UAAIc,MAAiB,GAAI;AAEzB,UAAIC,IAAYH,MAAc,SAASE,IAAe,IAAIA,IAAe;AAGzE,UAAI,EAAAC,IAAY,KAAKA,KAAaF,EAAY;AAG9C,eAAOE,KAAa,KAAKA,IAAYF,EAAY,UAAQ;AACvD,gBAAMG,IAAUH,EAAYE,CAAS;AACrC,cAAI,CAACC,EAAQ,SAAS,YAAY;AAGhC,YAAAxB;AAAA,cACEX,EAAS;AAAA,cACTmC,EAAQ;AAAA,cACRT,EAAM;AAAA,cACNA,EAAM,WAAWA,EAAM;AAAA,YAAA,GAIzB,sBAAsB,MAAM;AAE1B,oBAAMU,IADiB,SAAS,eAAeD,EAAQ,EAAE,GACxB,cAAc,gBAAgB;AAC/D,cAAIC,MACFA,EAAS,MAAA,GACTA,EAAS,eAAe,EAAE,OAAO,WAAW,UAAU,UAAU;AAAA,YAEpE,CAAC;AACD;AAAA,UACF;AAEA,UAAAF,IAAYH,MAAc,SAASG,IAAY,IAAIA,IAAY;AAAA,QACjE;AAAA,IACF;AAAA,IACA,CAACvB,CAAoB;AAAA,EAAA,GAKjB0B,KAAyBzB;AAAA,IAC7B,CAAC0B,GAAqBlG,MAA6B;AACjD,MAAKA,EAAI,SAAS,gBAAwB,UAAUA,EAAI,IAAIA,CAAG;AAAA,IACjE;AAAA,IACA,CAAA;AAAA;AAAA,EAAC,GAGG,EAAE,kBAAAmG,EAAA,IAAqBC,GAA8B;AAAA,IACzD,iBAAiBf;AAAA,IACjB,uBAAAK;AAAA,IACA,cAAcO;AAAA,EAAA,CACf,GAEKI,KAAUhC;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,WAAW5D;AAAA;AAAA,QACX,MAAM,CAAC,EAAE,KAAAT,GAAK,UAAAsG,GAAU,OAAOC,QAAwB;AACrD,gBAAMC,IAAWD,EAAkB,QAAQ,MAErCE,IAAkB,CAACnB,MAAoD;AAE3E,YACEA,EAAM,kBAAkB,oBACxBA,EAAM,kBAAkB,qBACxBA,EAAM,kBAAkB,uBACxBA,EAAM,kBAAkB,qBACxBA,EAAM,kBAAkB,qBACvBA,EAAM,OAAuB,QAAQ,oCAAoC,KAI5Ef;AAAA,cACEgC;AAAA;AAAA,cACAvG,EAAI;AAAA,cACJsF,EAAM;AAAA,cACNA,EAAM,WAAWA,EAAM;AAAA,YAAA;AAAA,UAE3B,GAEMrC,IAGF;AAAA,YACF,WAAWyD,GAAK;AAAA,cACd,UAAU1G,EAAI,cAAA;AAAA,cACd,SAASwG,GAAU;AAAA,cACnB,UAAUxG,EAAI,SAAS;AAAA;AAAA,cACvB,UAAUA,EAAI,SAAS;AAAA;AAAA,YAAA,CACxB;AAAA,YACD,WAAW,CAACkG,MAAM;AAChB,cAAIA,EAAE,kBAAkB,oBAExBC,EAAiBD,GAAGlG,CAAG;AAAA,YACzB;AAAA,YACA,OAAOA,EAAI;AAAA,YACX,UAAU;AAAA,YACV,OAAOsG,EAAA;AAAA,YACP,SAAStG,EAAI,SAAS;AAAA,YACtB,MAAMA,EAAI,SAAS,QAAQ;AAAA,YAC3B,WAAWA,EAAI,SAAS;AAAA,YACxB,YAAYA,EAAI,SAAS;AAAA,YACzB,KAAKA,EAAI,SAAS;AAAA,YAClB,UAAUA,EAAI,SAAS;AAAA,YACvB,UAAAsC;AAAA,YACA,iBAAiBtC,EAAI,aAAA;AAAA,YACrB,uBAAAiC;AAAA,YACA,eAAejC,EAAI,cAAA;AAAA,YACnB,mBAAmBwG,GAAU;AAAA,YAC7B,eAAexG,EAAI,yBAAA;AAAA,YACnB,cAAcA,EAAI,SAAS;AAAA,YAC3B,YAAYA,EAAI,SAAS;AAAA,YACzB,YAAYA,EAAI,SAAS;AAAA,YACzB,iBAAiBA,EAAI,SAAS;AAAA,YAC9B,YAAYA,EAAI,OAAOgE,EAAc;AAAA,YACrC,gBAAgBC,EAAkB,UAC9B,CAAC0C,MAAM1C,EAAkB,QAASjE,EAAI,IAAI2G,CAAC,IAC3C;AAAA,YACJ,gBAAgBzC,EAAkB;AAAA,YAClC,GAAGnB,GAAI;AAAA,YACP,SAAS0D;AAAA;AAAA,YACT,eAAe,CAACP,MAAMnC,EAAoB,UAAU/D,EAAI,IAAIA,CAAG;AAAA,UAAA;AAIjE,iBAAOwG,GAAU,WACfA,EAAS,SAASvD,GAAOjD,GAAKuG,CAAiB,IAE/CK,gBAAAA,EAAAA,IAACC,IAAA,EAAyB,GAAG5D,GAAQ,GAAGF,GAAI,MAAM;AAAA,QAEtD;AAAA,MAAA;AAAA,IACF;AAAA,IAEF;AAAA,MACEb;AAAA,MACAqC;AAAA,MACA4B;AAAA,MACAnE;AAAA,MACAC;AAAA,MACAK;AAAA,IAAA;AAAA,EACF,GAGIwE,KAAkEtC;AAAA,IACtE,CAACuC,MAAY;AACX,MAAAzD,EAAqB0D,GAAiBD,GAAS7D,CAAY,CAAC;AAAA,IAC9D;AAAA,IACA,CAACI,CAAoB;AAAA,EAAA,GAGjB2D,KAA8DzC;AAAA,IAClE,CAACuC,MAAY;AACX,MAAAvD,IAAqBwD,GAAiBD,GAASxD,KAAc,CAAA,CAAE,CAAC;AAAA,IAClE;AAAA,IACA,CAACC,CAAkB;AAAA,EAAA,GAGf0D,KAAuB1C;AAAA,IAC3B,CAACuC,MAAiB;AAChB,MAAA3D,IAAc,CAAC+D,MAAQ;AACrB,cAAMC,IAAcL,aAAmB,WAAWA,EAAQI,CAAG,IAAIJ;AACjE,eAAA1D,KAAmB+D,CAAW,GACvBA;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAAChE,CAAW;AAAA,EAAA,GAGRiE,IAAQC,GAAc;AAAA,IAC1B,MAAMlD;AAAA,IACN,SAAAiC;AAAA,IACA,OAAO;AAAA,MACL,UAAAlD;AAAA,MACA,cAAAD;AAAA,MACA,cAAAf;AAAA,MACA,YAAAoB;AAAA,IAAA;AAAA,IAEF,sBAAsBuD;AAAA,IACtB,oBAAoBG;AAAA,IACpB,WAAW;AAAA,MACT,OAAOlH;AAAA,IAAA;AAAA,IAET,gBAAgB;AAAA,IAChB,oBAAoB;AAAA;AAAA,IACpB,kBAAkB,CAAC,CAACyD;AAAA,IACpB,UAAU,CAACxD,MAAQA,EAAI;AAAA,IACvB,uBAAuB;AAAA;AAAA,IACvB,kBAAkBkH;AAAA,IAClB,YAAY,CAAClH,MAAQA,EAAI;AAAA,IACzB,iBAAiBuH,GAAA;AAAA,IACjB,qBAAqBC,GAAA;AAAA,IACrB,qBAAqBC,GAAA;AAAA,IACrB,oBAAoB;AAAA;AAAA;AAAA,IAGpB,MAAMpD;AAAA,MACJ,OAAO;AAAA,QACL,cAAc,CAAC,CAACvC;AAAA,QAChB,WAAAF;AAAA,QACA,UAAAkB;AAAA,QACA,GAAGV;AAAA,MAAA;AAAA,MAEL,CAACN,GAAcF,GAAWkB,GAAUV,CAAI;AAAA,IAAA;AAAA,EAC1C,CACD;AAID,EAAAsF,GAAU,MAAM;AACd,IAAA9D,EAAS,UAAUyD;AAAA,EACrB,GAAG,CAACA,CAAK,CAAC;AAEV,QAAM,EAAE,MAAArG,EAAA,IAASqG,EAAM,YAAA,GAEjBM,KAAuBnD;AAAA,IAC3B,CAACE,GAAekD,GAAkB1B,MAA4C;AAC5E,UAAI,CAACtC,EAAS,QAAS;AACvB,YAAM5D,IAAMgB,EAAK4G,CAAQ;AACzB,UAAI,CAAC5H,KAAOA,EAAI,aAAa,OAAW;AAExC,MAAAkG,EAAE,eAAA,GACFA,EAAE,gBAAA;AAEF,YAAM2B,IAAc,OAAO,KAAK3E,CAAY,GAEtC4E,IAAmBD,EAAY,SAASnD,CAAK,IAAImD,IAAc,CAACnD,CAAK;AAE3E,UAAI,CAACmD,EAAY,SAASnD,CAAK,GAAG;AAEhC,cAAMqD,IAAmC,EAAE,CAACrD,CAAK,GAAG,GAAA;AACpD,QAAApB,IAAuByE,CAAa;AAAA,MACtC;AAEA,YAAMC,IAAYnF,EAAuB;AAAA,QAAQ,CAACoF,MAChDpI;AAAA,UACEoI,EAAQ/B,GAAU;AAAA,YAChB,OAAAxB;AAAA,YACA,UAAAkD;AAAA,YACA,KAAA5H;AAAA,YACA,cAAc8H;AAAA,YACd,YAAYA,EAAiB,SAASpD,CAAK;AAAA,UAAA,CAC5C;AAAA,QAAA;AAAA,MACH;AAGF,MAAIsD,EAAU,SAAS,KACrBnE,EAAmBqC,GAAU8B,CAAS;AAAA,IAE1C;AAAA,IACA,CAACnF,GAAwB7B,GAAMkC,GAAcI,GAAsBO,CAAkB;AAAA,EAAA,GAIjFqE,KAAoBvE,EAAuB,IAAI,GAE/CwE,IAAiBC,GAAe;AAAA,IACpC,OAAOpH,EAAK;AAAA,IACZ,cAAc,MAAMqB,KAAa;AAAA;AAAA,IACjC,kBAAkB,MAAM6F,GAAkB;AAAA;AAAA,IAE1C,gBAAgB7F,IACZ,MAAMA,IACN,OAAO,SAAW,OAAe,UAAU,UAAU,QAAQ,SAAS,MAAM,KAC5E,CAACgG,MAAYA,GAAS,sBAAA,EAAwB,SAC9C;AAAA,IACJ,UAAU;AAAA,EAAA,CACX,GAGKC,KAAoB9D;AAAA,IACxB,CAAC+D,MAA6B;AAC5B,MAAIA,KACFJ,EAAe,eAAeI,CAAI;AAAA,IAEtC;AAAA,IACA,CAACJ,CAAc;AAAA,EAAA,GAIXK,KAAehE;AAAA,IACnB,CAACc,MAAyC;AACxC,UAAI,CAAC/C,EAAgB;AAErB,YAAMkG,IAASnD,EAAM,eACf,EAAE,WAAAoD,GAAW,cAAAC,GAAc,cAAAC,EAAA,IAAiBH;AAKlD,MAFqBE,IAAeD,IAAYE,IAAe,OAE3C,CAAChH,KACnBW,EAAA;AAAA,IAEJ;AAAA,IACA,CAACA,GAAgBX,CAAS;AAAA,EAAA,GAGtBiH,KAAuB,CAAC3C,MAAwC;AAEpE,IAAIlE,KAAyB,CAAEkE,EAAE,OAAuB,QAAQ,IAAI,MAClEmB,EAAM,gBAAgB,EAAE,GACxB3D,EAAkB,UAAU;AAAA,EAEhC;AAEA,SACEoF,gBAAAA,EAAAA;AAAAA,IAACC;AAAAA,IAAA;AAAA,MACC,KAAKb;AAAA,MACL,UAAUM;AAAA,MACV,SAASK;AAAA,MACR,GAAG5F;AAAA,MACJ,WAAWyD,GAAKzD,EAAM,WAAW,EAAE,WAAArB,GAAW,YAAAoB,IAAY;AAAA,MAEzD,UAAA;AAAA,QAAA,CAACnB,2BACC,SAAA,EACC,UAAA+E,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,cACL,QAAQ,GAAGuB,GAAgB,aAAA,CAAc;AAAA;AAAA,YAAA;AAAA,YAG1C,UAAAA,GAAgB,gBAAA,EAAkB,IAAI,CAACa,MAAe;AACrD,oBAAMhJ,IAAMgB,EAAKgI,EAAW,KAAK;AACjC,qBACEpC,gBAAAA,EAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,cAAYoC,EAAW;AAAA,kBACvB,KAAKV;AAAA,kBAEL,IAAItI,EAAI;AAAA,kBACR,eAAe,CAACkG,MAAMyB,GAAqB3H,EAAI,IAAIgJ,EAAW,OAAO9C,CAAC;AAAA,kBACrE,GAAGnD,GAAI;AAAA,kBACR,OAAO;AAAA,oBACL,WAAW,cAAciG,EAAW,KAAK;AAAA;AAAA,oBACzC,GAAGjG,GAAI,KAAK;AAAA;AAAA,kBAAA;AAAA,kBAGb,UAAA/C,EAAI,gBAAA,EAAkB,IAAI,CAACiJ,MAExBrC,gBAAAA,EAAAA,IAAC,MAAA,EACE,UAAAsC,GAAWD,EAAK,OAAO,UAAU,MAAMA,EAAK,WAAA,CAAY,EAAA,GADlDA,EAAK,EAEd,CAEH;AAAA,gBAAA;AAAA,gBAfIjJ,EAAI;AAAA,cAAA;AAAA,YAkBf,CAAC;AAAA,UAAA;AAAA,QAAA,GAEL;AAAA,QAED,CAAC,CAAC6B,KAAS+E,gBAAAA,EAAAA,IAACuC,MAAiB,OAAAtH,EAAA,CAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGlD;"}
|
|
1
|
+
{"version":3,"file":"SimpleTable.es.js","sources":["../../../../../src/containers/SimpleTable/SimpleTable.tsx"],"sourcesContent":["import { FC, useMemo, useRef, MouseEvent as ReactMouseEvent, useCallback, useEffect } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport {\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getExpandedRowModel,\n ColumnDef,\n flexRender,\n Row,\n FilterFn,\n SortingFn,\n sortingFns,\n Table,\n RowData,\n OnChangeFn,\n RowSelectionState,\n functionalUpdate,\n} from '@tanstack/react-table'\nimport { useVirtualizer } from '@tanstack/react-virtual'\n\nimport clsx from 'clsx'\nimport useRowKeydown, { RowKeyboardEvent } from './hooks/useRowKeydown'\n\nimport { rankItem, compareItems, rankings } from '@tanstack/match-sorter-utils'\nimport { useSimpleTableContext } from './context/SimpleTableContext'\nimport { SimpleTableCellTemplate, SimpleTableCellTemplateProps } from './SimpleTableRowTemplate'\nimport { EmptyPlaceholder } from '@shared/components'\nimport { RowPinningState } from '@tanstack/react-table'\nimport {\n SimpleTableProps,\n SimpleTableRow,\n SimpleTableRowContextMenuBuilder,\n} from './SimpleTable.types'\nimport { useCreateContextMenu } from '../ContextMenu'\n\nconst toMenuItems = (items: ReturnType<SimpleTableRowContextMenuBuilder>) => {\n if (!items) return []\n return Array.isArray(items) ? items.filter(Boolean) : [items]\n}\n\n// Define a custom fuzzy filter function that will apply ranking info to rows (using match-sorter utils)\nconst fuzzyFilter: FilterFn<any> = (row, columnId, searchValue, addMeta) => {\n const cellValue = row.getValue(columnId)\n // convert non-string cell values to string\n let searchString =\n typeof cellValue === 'string'\n ? cellValue\n : Array.isArray(cellValue)\n ? cellValue.join(' ')\n : JSON.stringify(cellValue)\n\n // combine label and parents into a single string for searching if columnId is 'label'\n if (columnId === 'label') {\n searchString = [row.original.label, row.original.name, ...(row.original.parents || [])].join(\n ' ',\n )\n }\n\n // Rank the item with CONTAINS threshold to avoid overly permissive fuzzy matches\n // This ensures the search term must be a substring, not just scattered characters\n const itemRank = rankItem(searchString, searchValue, { threshold: rankings.CONTAINS })\n\n // Store the itemRank info\n addMeta({\n itemRank,\n })\n\n // Return if the item should be filtered in/out\n return itemRank.passed\n}\n\n// Define a custom fuzzy sort function that will sort by rank if the row has ranking information\nconst fuzzySort: SortingFn<any> = (rowA, rowB, columnId) => {\n let dir = 0\n\n // Only sort by rank if the column has ranking information\n if (rowA.columnFiltersMeta[columnId]) {\n dir = compareItems(\n rowA.columnFiltersMeta[columnId]?.itemRank!,\n rowB.columnFiltersMeta[columnId]?.itemRank!,\n )\n }\n\n // Provide an alphanumeric fallback for when the item ranks are equal\n return dir === 0 ? sortingFns.alphanumeric(rowA, rowB, columnId) : dir\n}\n\n// Helper function to get row range for shift-selection\n// Operates on the provided list of rows (e.g., filtered and sorted rows)\nfunction getRowRange<TData extends RowData>(\n rows: Array<Row<TData>>,\n idA: string,\n idB: string,\n): Array<Row<TData>> {\n const range: Array<Row<TData>> = []\n // If idA and idB are the same, or one is not found, handle appropriately\n if (idA === idB) {\n const singleRow = rows.find((row) => row.id === idA)\n return singleRow ? [singleRow] : []\n }\n\n let indexA = -1\n let indexB = -1\n\n for (let i = 0; i < rows.length; i++) {\n if (rows[i].id === idA) indexA = i\n if (rows[i].id === idB) indexB = i\n if (indexA !== -1 && indexB !== -1) break\n }\n\n if (indexA === -1 || indexB === -1) return [] // One or both IDs not found\n\n const start = Math.min(indexA, indexB)\n const end = Math.max(indexA, indexB)\n\n for (let i = start; i <= end; i++) {\n range.push(rows[i])\n }\n return range\n}\n\nconst SimpleTable: FC<SimpleTableProps> = ({\n data = [],\n isLoading,\n error,\n isExpandable,\n isMultiSelect = true,\n enableClickToDeselect = true,\n enableNonFolderIndent = true,\n forceUpdateTable,\n globalFilter,\n meta,\n rowHeight,\n imgRatio,\n onScrollBottom,\n onRename,\n renamingId,\n onSubmitRename,\n onCancelRename,\n onRowDoubleClick,\n rowContextMenuBuilders = [],\n children,\n pt,\n fitContent,\n ...props\n}) => {\n const {\n rowSelection,\n expanded,\n setExpanded,\n onExpandedChange,\n onRowSelectionChange,\n rowPinning,\n onRowPinningChange,\n } = useSimpleTableContext()\n const lastSelectedIdRef = useRef<string | null>(null)\n const tableRef = useRef<Table<SimpleTableRow> | null>(null)\n const [showRowContextMenu] = useCreateContextMenu()\n\n // Refs for values used inside the columns memo.\n // Assigning synchronously (not via useEffect) means the cell function always reads\n // the latest value at render time, while the columns memo itself has a minimal dep\n // array and stays as a stable reference — critical because flexRender calls\n // React.createElement with the cell function, so a new reference = remount = broken dblclick.\n const onRowDoubleClickRef = useRef(onRowDoubleClick)\n onRowDoubleClickRef.current = onRowDoubleClick\n const renamingIdRef = useRef(renamingId)\n renamingIdRef.current = renamingId\n const onSubmitRenameRef = useRef(onSubmitRename)\n onSubmitRenameRef.current = onSubmitRename\n const onCancelRenameRef = useRef(onCancelRename)\n onCancelRenameRef.current = onCancelRename\n const onRenameRef = useRef(onRename)\n onRenameRef.current = onRename\n\n // stable data reference\n const tableData = useMemo(() => {\n if (!isLoading) return data\n\n // show loading placeholders\n return Array.from({ length: 10 }, (_, i) => ({\n id: `placeholder-${i}`,\n name: `placeholder-${i}`,\n label: `placeholder-${i}`,\n icon: null,\n img: null,\n subRows: [],\n data: {\n id: `placeholder-${i}`,\n },\n }))\n }, [isLoading, data, forceUpdateTable])\n\n // Define the core selection logic using useCallback for stability\n const handleSelectionLogic = useCallback(\n (\n tableInstance: Table<SimpleTableRow>,\n rowId: string,\n isShift: boolean,\n isCtrlOrMeta: boolean,\n ) => {\n const currentId = rowId\n const allProcessableRows = tableInstance.getFilteredRowModel().flatRows\n const currentRow = allProcessableRows.find((r) => r.id === currentId)\n\n if (!currentRow) return\n\n // Prevent selection of disabled rows\n if (currentRow.original.isDisabled) return\n\n // If click-to-deselect is enabled and only one row is selected and it's the current row\n if (\n enableClickToDeselect &&\n !isShift &&\n !isCtrlOrMeta &&\n Object.keys(tableInstance.getState().rowSelection).length === 1 &&\n tableInstance.getState().rowSelection[currentId]\n ) {\n tableInstance.setRowSelection({})\n lastSelectedIdRef.current = null\n return\n }\n\n if (isMultiSelect && isShift && lastSelectedIdRef.current) {\n const lastId = lastSelectedIdRef.current\n const anchorRow = allProcessableRows.find((r) => r.id === lastId)\n\n if (!anchorRow) {\n tableInstance.setRowSelection({ [currentId]: true })\n } else {\n const rowsToToggle = getRowRange(allProcessableRows, currentId, lastId)\n const newSelection: RowSelectionState = {}\n rowsToToggle.forEach((r) => (newSelection[r.id] = true))\n tableInstance.setRowSelection(newSelection)\n }\n } else if (isMultiSelect && isCtrlOrMeta) {\n currentRow.toggleSelected()\n } else {\n // If it's already selected and it's the only one, don't update selection to avoid unnecessary re-renders\n const selection = tableInstance.getState().rowSelection\n if (!(Object.keys(selection).length === 1 && selection[currentId])) {\n tableInstance.setRowSelection({ [currentId]: true })\n }\n }\n lastSelectedIdRef.current = currentId\n },\n [isMultiSelect, enableClickToDeselect],\n )\n\n // Callback for useRowKeydown's handleRowSelect prop\n // Uses tableRef to access the table instance, avoiding direct dependency on 'table' variable at definition time\n const handleRowSelectForKeydown = useCallback(\n (\n event: RowKeyboardEvent, // Use the specific keyboard event type from the hook\n selectedRow: Row<SimpleTableRow>,\n ) => {\n if (!tableRef.current) {\n console.warn('tableRef not yet available in handleRowSelectForKeydown')\n return\n }\n\n // Extract modifier keys from the event\n const isShiftKey = event.shiftKey\n const isCtrlKey = event.ctrlKey || event.metaKey\n\n handleSelectionLogic(\n tableRef.current, // Pass the main table instance\n selectedRow.id,\n isShiftKey,\n isCtrlKey,\n )\n },\n [handleSelectionLogic], // Depends only on handleSelectionLogic\n )\n\n // Handle arrow key navigation\n const handleArrowNavigation = useCallback(\n (direction: 'up' | 'down', currentRow: Row<SimpleTableRow>, event: RowKeyboardEvent) => {\n if (!tableRef.current) return\n\n // Use the row model which respects expanded state, not filtered model\n const visibleRows = tableRef.current.getRowModel().rows\n const currentIndex = visibleRows.findIndex((r) => r.id === currentRow.id)\n\n if (currentIndex === -1) return\n\n let nextIndex = direction === 'down' ? currentIndex + 1 : currentIndex - 1\n\n // Check bounds\n if (nextIndex < 0 || nextIndex >= visibleRows.length) return\n\n // Skip disabled rows\n while (nextIndex >= 0 && nextIndex < visibleRows.length) {\n const nextRow = visibleRows[nextIndex]\n if (!nextRow.original.isDisabled) {\n // Found a valid row\n // Select the next row\n handleSelectionLogic(\n tableRef.current,\n nextRow.id,\n event.shiftKey,\n event.ctrlKey || event.metaKey,\n )\n\n // Focus the next row's cell. Scope to this table's container: row ids are\n // entity ids that can also exist in other SimpleTables on the page (slicer),\n // so a document-wide getElementById would steal focus to a duplicate.\n requestAnimationFrame(() => {\n const container = tableContainerRef.current\n const nextRowElement = container\n ? container.querySelector(`#${CSS.escape(nextRow.id)}`)\n : document.getElementById(nextRow.id)\n const nextCell = nextRowElement?.querySelector('[tabindex=\"0\"]') as HTMLElement\n if (nextCell) {\n nextCell.focus()\n nextCell.scrollIntoView({ block: 'nearest', behavior: 'smooth' })\n }\n })\n return\n }\n // Move to next row if current is disabled\n nextIndex = direction === 'down' ? nextIndex + 1 : nextIndex - 1\n }\n },\n [handleSelectionLogic],\n )\n\n // handleRenameForKeydown reads from onRenameRef so it has empty deps and is\n // permanently stable — keeping handleRowKeyDown and therefore columns stable.\n const handleRenameForKeydown = useCallback(\n (e: RowKeyboardEvent, row: Row<SimpleTableRow>) => {\n if (!row.original.isDisabled) onRenameRef.current?.(row.id, row)\n },\n [], // eslint-disable-line react-hooks/exhaustive-deps\n )\n\n const { handleRowKeyDown } = useRowKeydown<SimpleTableRow>({\n handleRowSelect: handleRowSelectForKeydown,\n handleArrowNavigation,\n handleRename: handleRenameForKeydown,\n })\n\n const columns = useMemo<ColumnDef<SimpleTableRow>[]>(\n () => [\n {\n accessorKey: 'label',\n header: undefined,\n filterFn: 'fuzzy',\n sortingFn: fuzzySort, //sort by fuzzy rank (falls back to alphanumeric)\n cell: ({ row, getValue, table: cellTableInstance }) => {\n const cellMeta = cellTableInstance.options.meta\n\n const handleCellClick = (event: ReactMouseEvent<HTMLElement, MouseEvent>) => {\n // Prevent row selection if clicking on an interactive element within the cell\n if (\n event.target instanceof HTMLInputElement ||\n event.target instanceof HTMLButtonElement ||\n event.target instanceof HTMLTextAreaElement ||\n event.target instanceof HTMLSelectElement ||\n event.target instanceof HTMLAnchorElement ||\n (event.target as HTMLElement).closest('button, a, input, textarea, select')\n ) {\n return\n }\n handleSelectionLogic(\n cellTableInstance, // Pass the cell's table instance\n row.id,\n event.shiftKey,\n event.ctrlKey || event.metaKey,\n )\n }\n\n const props: SimpleTableCellTemplateProps & {\n onClick?: (event: ReactMouseEvent<HTMLElement, MouseEvent>) => void\n onDoubleClick?: (event: ReactMouseEvent<HTMLElement, MouseEvent>) => void\n } = {\n className: clsx({\n selected: row.getIsSelected(),\n loading: cellMeta?.isLoading,\n disabled: row.original.isDisabled, // you can't select disabled rows\n inactive: row.original.inactive, // false: archived items but still selectable\n }),\n onKeyDown: (e) => {\n if (e.target instanceof HTMLInputElement) return\n // Corrected typo: handleRowKeydown -> handleRowKeyDown\n handleRowKeyDown(e, row)\n },\n depth: row.depth,\n tabIndex: 0,\n value: getValue<string>(),\n parents: row.original.parents,\n icon: row.original.icon || undefined,\n iconColor: row.original.iconColor,\n iconFilled: row.original.iconFilled,\n img: row.original.img,\n imgShape: row.original.imgShape,\n imgRatio: imgRatio,\n isRowExpandable: row.getCanExpand(),\n enableNonFolderIndent,\n isRowExpanded: row.getIsExpanded(),\n isTableExpandable: cellMeta?.isExpandable,\n onExpandClick: row.getToggleExpandedHandler(),\n startContent: row.original.startContent,\n endContent: row.original.endContent,\n isDisabled: row.original.isDisabled,\n disabledMessage: row.original.disabledMessage,\n isRenaming: row.id === renamingIdRef.current,\n onSubmitRename: onSubmitRenameRef.current\n ? (v) => onSubmitRenameRef.current!(row.id, v)\n : undefined,\n onCancelRename: onCancelRenameRef.current,\n ...pt?.cell,\n onClick: handleCellClick, // Added onClick handler\n onDoubleClick: (e) => onRowDoubleClickRef.current?.(row.id, row),\n }\n\n // Use children function if provided, otherwise default to SimpleTableCellTemplate\n return cellMeta?.children ? (\n cellMeta.children(props, row, cellTableInstance)\n ) : (\n <SimpleTableCellTemplate {...props} {...pt?.cell} />\n )\n },\n },\n ],\n [\n forceUpdateTable,\n handleSelectionLogic,\n handleRowKeyDown,\n enableClickToDeselect,\n enableNonFolderIndent,\n imgRatio,\n ],\n )\n\n const handleRowSelectionChangeCallback: OnChangeFn<RowSelectionState> = useCallback(\n (updater) => {\n onRowSelectionChange(functionalUpdate(updater, rowSelection))\n },\n [onRowSelectionChange],\n )\n\n const handleRowPinningChangeCallback: OnChangeFn<RowPinningState> = useCallback(\n (updater) => {\n onRowPinningChange?.(functionalUpdate(updater, rowPinning || {}))\n },\n [onRowPinningChange],\n )\n\n const handleExpandedChange = useCallback(\n (updater: any) => {\n setExpanded?.((old) => {\n const newExpanded = updater instanceof Function ? updater(old) : updater\n onExpandedChange?.(newExpanded)\n return newExpanded\n })\n },\n [setExpanded],\n )\n\n const table = useReactTable({\n data: tableData,\n columns,\n state: {\n expanded,\n rowSelection,\n globalFilter,\n rowPinning,\n },\n onRowSelectionChange: handleRowSelectionChangeCallback,\n onRowPinningChange: handleRowPinningChangeCallback,\n filterFns: {\n fuzzy: fuzzyFilter,\n },\n globalFilterFn: 'fuzzy',\n enableRowSelection: true, //enable row selection for all rows\n enableRowPinning: !!onRowPinningChange,\n getRowId: (row) => row.id,\n enableSubRowSelection: false, //disable sub row selection\n onExpandedChange: handleExpandedChange,\n getSubRows: (row) => row.subRows,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n filterFromLeafRows: true,\n // debugTable: true,\n // @ts-expect-error: updateData is not required\n meta: useMemo(\n () => ({\n isExpandable: !!isExpandable,\n isLoading: isLoading,\n children: children,\n ...meta,\n }),\n [isExpandable, isLoading, children, meta],\n ),\n })\n\n // Update tableRef whenever the table instance changes.\n // This ensures handleRowSelectForKeydown uses the current table instance.\n useEffect(() => {\n tableRef.current = table\n }, [table])\n\n const { rows } = table.getRowModel()\n\n const handleRowContextMenu = useCallback(\n (rowId: string, rowIndex: number, e: ReactMouseEvent<HTMLTableRowElement>) => {\n if (!tableRef.current) return\n const row = rows[rowIndex]\n if (!row || row.original === undefined) return\n\n e.preventDefault()\n e.stopPropagation()\n\n const selectedIds = Object.keys(rowSelection)\n\n const nextSelectedRows = selectedIds.includes(rowId) ? selectedIds : [rowId]\n\n if (!selectedIds.includes(rowId)) {\n // convert array to RowSelectionState object\n const nextSelection: RowSelectionState = { [rowId]: true }\n onRowSelectionChange?.(nextSelection)\n }\n\n const menuItems = rowContextMenuBuilders.flatMap((builder) =>\n toMenuItems(\n builder(e as any, {\n rowId,\n rowIndex,\n row,\n selectedRows: nextSelectedRows,\n isSelected: nextSelectedRows.includes(rowId),\n }),\n ),\n )\n\n if (menuItems.length > 0) {\n showRowContextMenu(e as any, menuItems)\n }\n },\n [rowContextMenuBuilders, rows, rowSelection, onRowSelectionChange, showRowContextMenu],\n )\n\n //The virtualizer needs to know the scrollable container element\n const tableContainerRef = useRef<HTMLDivElement>(null)\n\n const rowVirtualizer = useVirtualizer({\n count: rows.length,\n estimateSize: () => rowHeight || 34, //estimate row height for accurate scrollbar dragging\n getScrollElement: () => tableContainerRef.current,\n //measure dynamic row height, except in firefox because it measures table border height incorrectly\n measureElement: rowHeight\n ? () => rowHeight\n : typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1\n ? (element) => element?.getBoundingClientRect().height\n : undefined,\n overscan: 5,\n })\n\n // Memoize the ref callback to prevent infinite re-renders\n const measureElementRef = useCallback(\n (node: HTMLElement | null) => {\n if (node) {\n rowVirtualizer.measureElement(node)\n }\n },\n [rowVirtualizer],\n )\n\n // Handle scroll to bottom detection\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLDivElement>) => {\n if (!onScrollBottom) return\n\n const target = event.currentTarget\n const { scrollTop, scrollHeight, clientHeight } = target\n\n // Check if we're near the bottom (within 100px)\n const isNearBottom = scrollHeight - scrollTop - clientHeight < 100\n\n if (isNearBottom && !isLoading) {\n onScrollBottom()\n }\n },\n [onScrollBottom, isLoading],\n )\n\n const handleContainerClick = (e: React.MouseEvent<HTMLDivElement>) => {\n // if the click is outside of any row, clear selection\n if (enableClickToDeselect && !(e.target as HTMLElement).closest('tr')) {\n table.setRowSelection({})\n lastSelectedIdRef.current = null\n }\n }\n\n return (\n <Styled.TableContainer\n ref={tableContainerRef}\n onScroll={handleScroll}\n onClick={handleContainerClick}\n {...props}\n className={clsx(props.className, { isLoading, fitContent })}\n >\n {!error && (\n <table>\n <tbody\n style={{\n height: `${rowVirtualizer?.getTotalSize()}px`, //tells scrollbar how big the table is\n }}\n >\n {rowVirtualizer?.getVirtualItems().map((virtualRow) => {\n const row = rows[virtualRow.index] as Row<SimpleTableRow>\n return (\n <tr\n data-index={virtualRow.index} //needed for dynamic row height measurement\n ref={measureElementRef} //measure dynamic row height\n key={row.id}\n id={row.id}\n onContextMenu={(e) => handleRowContextMenu(row.id, virtualRow.index, e)}\n {...pt?.row}\n style={{\n transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll\n ...pt?.row?.style, // custom styles to be passed\n }}\n >\n {row.getVisibleCells().map((cell) => {\n return (\n <td key={cell.id}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n )}\n {!!error && <EmptyPlaceholder error={error} />}\n </Styled.TableContainer>\n )\n}\n\nexport default SimpleTable\n"],"names":["toMenuItems","items","fuzzyFilter","row","columnId","searchValue","addMeta","cellValue","searchString","itemRank","rankItem","rankings","fuzzySort","rowA","rowB","dir","compareItems","sortingFns","getRowRange","rows","idA","idB","range","singleRow","indexA","indexB","i","start","end","SimpleTable","data","isLoading","error","isExpandable","isMultiSelect","enableClickToDeselect","enableNonFolderIndent","forceUpdateTable","globalFilter","meta","rowHeight","imgRatio","onScrollBottom","onRename","renamingId","onSubmitRename","onCancelRename","onRowDoubleClick","rowContextMenuBuilders","children","pt","fitContent","props","rowSelection","expanded","setExpanded","onExpandedChange","onRowSelectionChange","rowPinning","onRowPinningChange","useSimpleTableContext","lastSelectedIdRef","useRef","tableRef","showRowContextMenu","useCreateContextMenu","onRowDoubleClickRef","renamingIdRef","onSubmitRenameRef","onCancelRenameRef","onRenameRef","tableData","useMemo","_","handleSelectionLogic","useCallback","tableInstance","rowId","isShift","isCtrlOrMeta","currentId","allProcessableRows","currentRow","r","lastId","rowsToToggle","newSelection","selection","handleRowSelectForKeydown","event","selectedRow","isShiftKey","isCtrlKey","handleArrowNavigation","direction","visibleRows","currentIndex","nextIndex","nextRow","container","tableContainerRef","nextCell","handleRenameForKeydown","e","handleRowKeyDown","useRowKeydown","columns","getValue","cellTableInstance","cellMeta","handleCellClick","clsx","v","jsx","SimpleTableCellTemplate","handleRowSelectionChangeCallback","updater","functionalUpdate","handleRowPinningChangeCallback","handleExpandedChange","old","newExpanded","table","useReactTable","getCoreRowModel","getFilteredRowModel","getExpandedRowModel","useEffect","handleRowContextMenu","rowIndex","selectedIds","nextSelectedRows","nextSelection","menuItems","builder","rowVirtualizer","useVirtualizer","element","measureElementRef","node","handleScroll","target","scrollTop","scrollHeight","clientHeight","handleContainerClick","jsxs","Styled.TableContainer","virtualRow","cell","flexRender","EmptyPlaceholder"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const
|
|
1
|
+
"use strict";const i=require("react");function y({handleRowSelect:s,handleArrowNavigation:p,handleRename:u}){return{handleRowKeyDown:i.useCallback((o,r)=>{if(["Enter"," "].includes(o.key))o.preventDefault(),o.stopPropagation(),s(o,r);else if(o.key==="ArrowDown"||o.key==="ArrowUp"){o.preventDefault(),o.stopPropagation();const a=o.key==="ArrowDown"?"down":"up";p?.(a,r,o)}else o.key.toLowerCase()==="r"&&!o.ctrlKey&&!o.metaKey&&(o.preventDefault(),o.stopPropagation(),u?.(o,r))},[s,p,u])}}module.exports=y;
|
|
2
2
|
//# sourceMappingURL=useRowKeydown.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRowKeydown.cjs.js","sources":["../../../../../../src/containers/SimpleTable/hooks/useRowKeydown.ts"],"sourcesContent":["import { KeyboardEvent, useCallback } from 'react'\nimport { Row } from '@tanstack/react-table'\n\n// More specific type for keyboard events on a row element\nexport type RowKeyboardEvent = KeyboardEvent<HTMLDivElement>\n\ninterface UseRowKeydownProps<T> {\n // Updated to use the more specific RowKeyboardEvent for clarity\n handleRowSelect: (event: RowKeyboardEvent, row: Row<T>) => void\n handleArrowNavigation?: (\n direction: 'up' | 'down',\n currentRow: Row<T>,\n event: RowKeyboardEvent,\n ) => void\n handleRename?: (event: RowKeyboardEvent, row: Row<T>) => void\n}\n\nfunction useRowKeydown<T>({\n handleRowSelect,\n handleArrowNavigation,\n handleRename,\n}: UseRowKeydownProps<T>) {\n const handleRowKeyDown = useCallback(\n (event: RowKeyboardEvent, row: Row<T>) => {\n if (['Enter', ' '].includes(event.key)) {\n // prevent default to prevent scrolling\n event.preventDefault()\n // select row\n handleRowSelect(event, row)\n } else if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n // prevent default to prevent scrolling\n event.preventDefault()\n // navigate and select\n const direction = event.key === 'ArrowDown' ? 'down' : 'up'\n handleArrowNavigation?.(direction, row, event)\n } else if (event.key.toLowerCase() === 'r' && !event.ctrlKey && !event.metaKey) {\n // prevent default and stop propagation to ensure the shortcut is handled correctly\n event.preventDefault()\n event.stopPropagation()\n handleRename?.(event, row)\n }\n },\n [handleRowSelect, handleArrowNavigation, handleRename],\n )\n\n return { handleRowKeyDown }\n}\n\nexport default useRowKeydown\n"],"names":["useRowKeydown","handleRowSelect","handleArrowNavigation","handleRename","useCallback","event","row","direction"],"mappings":"sCAiBA,SAASA,EAAiB,CACxB,gBAAAC,EACA,sBAAAC,EACA,aAAAC,CACF,EAA0B,
|
|
1
|
+
{"version":3,"file":"useRowKeydown.cjs.js","sources":["../../../../../../src/containers/SimpleTable/hooks/useRowKeydown.ts"],"sourcesContent":["import { KeyboardEvent, useCallback } from 'react'\nimport { Row } from '@tanstack/react-table'\n\n// More specific type for keyboard events on a row element\nexport type RowKeyboardEvent = KeyboardEvent<HTMLDivElement>\n\ninterface UseRowKeydownProps<T> {\n // Updated to use the more specific RowKeyboardEvent for clarity\n handleRowSelect: (event: RowKeyboardEvent, row: Row<T>) => void\n handleArrowNavigation?: (\n direction: 'up' | 'down',\n currentRow: Row<T>,\n event: RowKeyboardEvent,\n ) => void\n handleRename?: (event: RowKeyboardEvent, row: Row<T>) => void\n}\n\nfunction useRowKeydown<T>({\n handleRowSelect,\n handleArrowNavigation,\n handleRename,\n}: UseRowKeydownProps<T>) {\n const handleRowKeyDown = useCallback(\n (event: RowKeyboardEvent, row: Row<T>) => {\n if (['Enter', ' '].includes(event.key)) {\n // prevent default to prevent scrolling\n event.preventDefault()\n // don't leak the key to global (e.g. overview) shortcut handlers\n event.stopPropagation()\n // select row\n handleRowSelect(event, row)\n } else if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n // prevent default to prevent scrolling\n event.preventDefault()\n // don't leak the key to global (e.g. overview) shortcut handlers\n event.stopPropagation()\n // navigate and select\n const direction = event.key === 'ArrowDown' ? 'down' : 'up'\n handleArrowNavigation?.(direction, row, event)\n } else if (event.key.toLowerCase() === 'r' && !event.ctrlKey && !event.metaKey) {\n // prevent default and stop propagation to ensure the shortcut is handled correctly\n event.preventDefault()\n event.stopPropagation()\n handleRename?.(event, row)\n }\n },\n [handleRowSelect, handleArrowNavigation, handleRename],\n )\n\n return { handleRowKeyDown }\n}\n\nexport default useRowKeydown\n"],"names":["useRowKeydown","handleRowSelect","handleArrowNavigation","handleRename","useCallback","event","row","direction"],"mappings":"sCAiBA,SAASA,EAAiB,CACxB,gBAAAC,EACA,sBAAAC,EACA,aAAAC,CACF,EAA0B,CA4BxB,MAAO,CAAE,iBA3BgBC,EAAAA,YACvB,CAACC,EAAyBC,IAAgB,CACxC,GAAI,CAAC,QAAS,GAAG,EAAE,SAASD,EAAM,GAAG,EAEnCA,EAAM,eAAA,EAENA,EAAM,gBAAA,EAENJ,EAAgBI,EAAOC,CAAG,UACjBD,EAAM,MAAQ,aAAeA,EAAM,MAAQ,UAAW,CAE/DA,EAAM,eAAA,EAENA,EAAM,gBAAA,EAEN,MAAME,EAAYF,EAAM,MAAQ,YAAc,OAAS,KACvDH,IAAwBK,EAAWD,EAAKD,CAAK,CAC/C,MAAWA,EAAM,IAAI,YAAA,IAAkB,KAAO,CAACA,EAAM,SAAW,CAACA,EAAM,UAErEA,EAAM,eAAA,EACNA,EAAM,gBAAA,EACNF,IAAeE,EAAOC,CAAG,EAE7B,EACA,CAACL,EAAiBC,EAAuBC,CAAY,CAAA,CAG9C,CACX"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { useCallback as
|
|
2
|
-
function
|
|
3
|
-
handleRowSelect:
|
|
4
|
-
handleArrowNavigation:
|
|
5
|
-
handleRename:
|
|
1
|
+
import { useCallback as y } from "react";
|
|
2
|
+
function w({
|
|
3
|
+
handleRowSelect: p,
|
|
4
|
+
handleArrowNavigation: s,
|
|
5
|
+
handleRename: a
|
|
6
6
|
}) {
|
|
7
|
-
return { handleRowKeyDown:
|
|
7
|
+
return { handleRowKeyDown: y(
|
|
8
8
|
(o, r) => {
|
|
9
9
|
if (["Enter", " "].includes(o.key))
|
|
10
|
-
o.preventDefault(),
|
|
10
|
+
o.preventDefault(), o.stopPropagation(), p(o, r);
|
|
11
11
|
else if (o.key === "ArrowDown" || o.key === "ArrowUp") {
|
|
12
|
-
o.preventDefault();
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
} else o.key.toLowerCase() === "r" && !o.ctrlKey && !o.metaKey && (o.preventDefault(), o.stopPropagation(),
|
|
12
|
+
o.preventDefault(), o.stopPropagation();
|
|
13
|
+
const u = o.key === "ArrowDown" ? "down" : "up";
|
|
14
|
+
s?.(u, r, o);
|
|
15
|
+
} else o.key.toLowerCase() === "r" && !o.ctrlKey && !o.metaKey && (o.preventDefault(), o.stopPropagation(), a?.(o, r));
|
|
16
16
|
},
|
|
17
|
-
[
|
|
17
|
+
[p, s, a]
|
|
18
18
|
) };
|
|
19
19
|
}
|
|
20
20
|
export {
|
|
21
|
-
|
|
21
|
+
w as default
|
|
22
22
|
};
|
|
23
23
|
//# sourceMappingURL=useRowKeydown.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRowKeydown.es.js","sources":["../../../../../../src/containers/SimpleTable/hooks/useRowKeydown.ts"],"sourcesContent":["import { KeyboardEvent, useCallback } from 'react'\nimport { Row } from '@tanstack/react-table'\n\n// More specific type for keyboard events on a row element\nexport type RowKeyboardEvent = KeyboardEvent<HTMLDivElement>\n\ninterface UseRowKeydownProps<T> {\n // Updated to use the more specific RowKeyboardEvent for clarity\n handleRowSelect: (event: RowKeyboardEvent, row: Row<T>) => void\n handleArrowNavigation?: (\n direction: 'up' | 'down',\n currentRow: Row<T>,\n event: RowKeyboardEvent,\n ) => void\n handleRename?: (event: RowKeyboardEvent, row: Row<T>) => void\n}\n\nfunction useRowKeydown<T>({\n handleRowSelect,\n handleArrowNavigation,\n handleRename,\n}: UseRowKeydownProps<T>) {\n const handleRowKeyDown = useCallback(\n (event: RowKeyboardEvent, row: Row<T>) => {\n if (['Enter', ' '].includes(event.key)) {\n // prevent default to prevent scrolling\n event.preventDefault()\n // select row\n handleRowSelect(event, row)\n } else if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n // prevent default to prevent scrolling\n event.preventDefault()\n // navigate and select\n const direction = event.key === 'ArrowDown' ? 'down' : 'up'\n handleArrowNavigation?.(direction, row, event)\n } else if (event.key.toLowerCase() === 'r' && !event.ctrlKey && !event.metaKey) {\n // prevent default and stop propagation to ensure the shortcut is handled correctly\n event.preventDefault()\n event.stopPropagation()\n handleRename?.(event, row)\n }\n },\n [handleRowSelect, handleArrowNavigation, handleRename],\n )\n\n return { handleRowKeyDown }\n}\n\nexport default useRowKeydown\n"],"names":["useRowKeydown","handleRowSelect","handleArrowNavigation","handleRename","useCallback","event","row","direction"],"mappings":";AAiBA,SAASA,EAAiB;AAAA,EACxB,iBAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,cAAAC;AACF,GAA0B;
|
|
1
|
+
{"version":3,"file":"useRowKeydown.es.js","sources":["../../../../../../src/containers/SimpleTable/hooks/useRowKeydown.ts"],"sourcesContent":["import { KeyboardEvent, useCallback } from 'react'\nimport { Row } from '@tanstack/react-table'\n\n// More specific type for keyboard events on a row element\nexport type RowKeyboardEvent = KeyboardEvent<HTMLDivElement>\n\ninterface UseRowKeydownProps<T> {\n // Updated to use the more specific RowKeyboardEvent for clarity\n handleRowSelect: (event: RowKeyboardEvent, row: Row<T>) => void\n handleArrowNavigation?: (\n direction: 'up' | 'down',\n currentRow: Row<T>,\n event: RowKeyboardEvent,\n ) => void\n handleRename?: (event: RowKeyboardEvent, row: Row<T>) => void\n}\n\nfunction useRowKeydown<T>({\n handleRowSelect,\n handleArrowNavigation,\n handleRename,\n}: UseRowKeydownProps<T>) {\n const handleRowKeyDown = useCallback(\n (event: RowKeyboardEvent, row: Row<T>) => {\n if (['Enter', ' '].includes(event.key)) {\n // prevent default to prevent scrolling\n event.preventDefault()\n // don't leak the key to global (e.g. overview) shortcut handlers\n event.stopPropagation()\n // select row\n handleRowSelect(event, row)\n } else if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n // prevent default to prevent scrolling\n event.preventDefault()\n // don't leak the key to global (e.g. overview) shortcut handlers\n event.stopPropagation()\n // navigate and select\n const direction = event.key === 'ArrowDown' ? 'down' : 'up'\n handleArrowNavigation?.(direction, row, event)\n } else if (event.key.toLowerCase() === 'r' && !event.ctrlKey && !event.metaKey) {\n // prevent default and stop propagation to ensure the shortcut is handled correctly\n event.preventDefault()\n event.stopPropagation()\n handleRename?.(event, row)\n }\n },\n [handleRowSelect, handleArrowNavigation, handleRename],\n )\n\n return { handleRowKeyDown }\n}\n\nexport default useRowKeydown\n"],"names":["useRowKeydown","handleRowSelect","handleArrowNavigation","handleRename","useCallback","event","row","direction"],"mappings":";AAiBA,SAASA,EAAiB;AAAA,EACxB,iBAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,cAAAC;AACF,GAA0B;AA4BxB,SAAO,EAAE,kBA3BgBC;AAAA,IACvB,CAACC,GAAyBC,MAAgB;AACxC,UAAI,CAAC,SAAS,GAAG,EAAE,SAASD,EAAM,GAAG;AAEnC,QAAAA,EAAM,eAAA,GAENA,EAAM,gBAAA,GAENJ,EAAgBI,GAAOC,CAAG;AAAA,eACjBD,EAAM,QAAQ,eAAeA,EAAM,QAAQ,WAAW;AAE/D,QAAAA,EAAM,eAAA,GAENA,EAAM,gBAAA;AAEN,cAAME,IAAYF,EAAM,QAAQ,cAAc,SAAS;AACvD,QAAAH,IAAwBK,GAAWD,GAAKD,CAAK;AAAA,MAC/C,MAAA,CAAWA,EAAM,IAAI,YAAA,MAAkB,OAAO,CAACA,EAAM,WAAW,CAACA,EAAM,YAErEA,EAAM,eAAA,GACNA,EAAM,gBAAA,GACNF,IAAeE,GAAOC,CAAG;AAAA,IAE7B;AAAA,IACA,CAACL,GAAiBC,GAAuBC,CAAY;AAAA,EAAA,EAG9C;AACX;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const u=require("../../../../../_virtual/jsx-runtime.cjs.js"),c=require("react"),a=require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/react-table");require("@tanstack/react-virtual");const l=require("clsx");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");const p=require("@ynput/ayon-react-components");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContextInstance.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../components/InfoMessage/InfoMessage.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("../../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../ProjectTreeTable/widgets/LinksWidget.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("short-uuid");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../ProjectTreeTable/context/CellEditingContext.cjs.js");require("../../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../ProjectTreeTable/components/DeleteConfirmContent.cjs.js");require("../../ProjectTreeTable/context/ProjectDataContextInstance.cjs.js");require("../../ProjectTreeTable/context/ProjectTableContextInstance.cjs.js");require("../../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../ProjectTreeTable/components/SelectionCell.cjs.js");require("../../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../ProjectTreeTable/components/TableFooterRow.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("./Slicer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../context/SlicerContextInstance.cjs.js");require("./SlicerDropdownFallback.cjs.js");require("../hooks/useTableDataBySlice.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");const t=require("styled-components"),x=t.div``,d=t(p.InputText)`
|
|
1
|
+
"use strict";const u=require("../../../../../_virtual/jsx-runtime.cjs.js"),c=require("react"),a=require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/react-table");require("@tanstack/react-virtual");const l=require("clsx");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");const p=require("@ynput/ayon-react-components");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContextInstance.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../components/InfoMessage/InfoMessage.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("../../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../ProjectTreeTable/widgets/LinksWidget.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("short-uuid");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../ProjectTreeTable/context/CellEditingContext.cjs.js");require("../../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../ProjectTreeTable/components/DeleteConfirmContent.cjs.js");require("../../ProjectTreeTable/context/ProjectDataContextInstance.cjs.js");require("../../ProjectTreeTable/context/ProjectTableContextInstance.cjs.js");require("../../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../ProjectTreeTable/components/SelectionCell.cjs.js");require("../../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../ProjectTreeTable/components/TableFooterRow.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("./Slicer.cjs.js");require("../context/SlicerContextInstance.cjs.js");require("./SlicerDropdownFallback.cjs.js");require("../hooks/useTableDataBySlice.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");const t=require("styled-components"),x=t.div``,d=t(p.InputText)`
|
|
2
2
|
position: absolute;
|
|
3
3
|
inset: 4px;
|
|
4
4
|
top: 50%;
|
|
@@ -237,10 +237,6 @@ import "../../ProjectTreeTable/components/HeaderActionButton.es.js";
|
|
|
237
237
|
import "../../ProjectTreeTable/components/TableFooterRow.es.js";
|
|
238
238
|
import "../../EntityPickerDialog/EntityPickerDialog.es.js";
|
|
239
239
|
import "./Slicer.es.js";
|
|
240
|
-
import "../../Views/ViewsMenu/ViewsMenu.es.js";
|
|
241
|
-
import "../../Views/context/ViewsContextInstance.es.js";
|
|
242
|
-
import "../../Views/Views.styled.es.js";
|
|
243
|
-
import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
244
240
|
import "../context/SlicerContextInstance.es.js";
|
|
245
241
|
import "./SlicerDropdownFallback.es.js";
|
|
246
242
|
import "../hooks/useTableDataBySlice.es.js";
|
|
@@ -258,6 +254,10 @@ import "../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.
|
|
|
258
254
|
import "../../Actions/Actions.styled.es.js";
|
|
259
255
|
import "../../Actions/ActionsDropdown/ActionsDropdown.es.js";
|
|
260
256
|
import "../../Actions/ActionIcon.es.js";
|
|
257
|
+
import "../../Views/ViewsMenu/ViewsMenu.es.js";
|
|
258
|
+
import "../../Views/context/ViewsContextInstance.es.js";
|
|
259
|
+
import "../../Views/Views.styled.es.js";
|
|
260
|
+
import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
261
261
|
import "../../ListTable/ListTableRow.es.js";
|
|
262
262
|
import "../../ListTable/ListTable.styled.es.js";
|
|
263
263
|
import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("../../../../../_virtual/jsx-runtime.cjs.js"),t=require("react"),k=require("../../../hooks/useSessionStorage.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContextInstance.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const b=require("./SlicerContextInstance.cjs.js"),m=require("../hooks/useSlicerRemotes.cjs.js"),w=require("../hooks/useSlicerRowSelection.cjs.js"),I={progress:{fields:[{value:"hierarchy"},{value:"assignees"},{value:"status"},{value:"taskType"}]},overview:{fields:[{value:"hierarchy"},{value:"assignees"},{value:"status"},{value:"type"},{value:"taskType"},{value:"attributes"},{value:"entityList"}]},versions:{fields:[{value:"hierarchy"},{value:"assignees",label:"Task assignee"},{value:"status",label:"Version status"},{value:"author",label:"Version author"},{value:"productType"},{value:"taskType"},{value:"entityList"}]}},j=({children:n,page:a,projectName:f,viewSettings:E,isLoadingViews:S,updateViewSettings:d,...l})=>{const o=l.sliceType??E?.sliceType??"hierarchy",{rowSelection:i,setRowSelection:u,expanded:c,setExpanded:q}=w.useSlicerRowSelection({sliceType:o,page:a,projectName:f,...l}),[r,s]=k.useSessionStorage(`slicer-pinned-slice-${a}`,null),v=t.useCallback(e=>{u(e)},[u]),C=t.useCallback((e,p)=>{if(l.onSliceTypeChange)l.onSliceTypeChange(e,p);else{const R=()=>{};d({sliceType:e},R,R,{})}r&&e===r.sliceType?(u(r.rowSelection,e),q(r.expanded,e),s(null)):(console.log("Clearing current pinned slice as switching to a different slice type"),u({},e),q({},e)),p&&(console.log("Pinning current slice type and selection data",i),s({sliceType:o,rowSelection:i,expanded:c}))},[d,i,u,r,s,c,q]),g=t.useCallback(e=>{q(e)},[q]),{useExtraSlices:h,isLoadingExtraSlices:x,SlicerDropdown:y}=m.useSlicerRemotes(),P=t.useMemo(()=>({useExtraSlices:h,isLoadingExtraSlices:x,SlicerDropdown:y,sliceType:o,onSliceTypeChange:C,rowSelection:i,onRowSelectionChange:v,pinnedSlice:r,setPinnedSlice:s,expanded:c,onExpandedChange:g,isViewSyncPending:S}),[h,x,y,o,C,i,v,r,s,c,g,S]);return T.jsxRuntimeExports.jsx(b.SlicerContext.Provider,{value:P,children:n})},G=()=>{const n=t.useContext(b.SlicerContext);if(n===void 0)throw new Error("useSlicerContext must be used within a SlicerProvider");return n};exports.SLICER_PAGES_CONFIG=I;exports.SlicerProvider=j;exports.useSlicerContext=G;
|
|
2
2
|
//# sourceMappingURL=SlicerContext.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlicerContext.cjs.js","sources":["../../../../../../src/containers/Slicer/context/SlicerContext.tsx"],"sourcesContent":["import {\n useContext,\n ReactNode,\n ForwardRefExoticComponent,\n RefAttributes,\n useCallback,\n useMemo,\n} from 'react'\nimport { ExpandedState, RowSelectionState } from '@tanstack/react-table'\nimport { SliceType } from '@shared/containers/Slicer'\nimport { SimpleTableRow } from '@shared/containers/SimpleTable'\nimport { useSessionStorage } from '@shared/hooks'\nimport type { ProjectModel, Assignees, AttributeModel, ProductType } from '@shared/api'\nimport { SlicerDropdownFallbackProps } from '../components/SlicerDropdownFallback'\nimport { DropdownRef } from '@ynput/ayon-react-components'\nimport { PinnedSlice, SliceTypeField } from '../types'\nimport { useViewsContext, useViewUpdateHelper } from '@shared/containers/Views'\nimport { SlicerContext } from './SlicerContextInstance'\nimport { useSlicerRemotes } from '../hooks/useSlicerRemotes'\nimport { useSlicerRowSelection } from '../hooks/useSlicerRowSelection'\n\nexport const SLICER_PAGES_CONFIG: SlicerConfig = {\n progress: {\n fields: [\n { value: 'hierarchy' },\n { value: 'assignees' },\n { value: 'status' },\n { value: 'taskType' },\n ],\n },\n overview: {\n fields: [\n { value: 'hierarchy' },\n { value: 'assignees' },\n { value: 'status' },\n { value: 'type' },\n { value: 'taskType' },\n { value: 'attributes' },\n { value: 'entityList' },\n ],\n },\n versions: {\n fields: [\n { value: 'hierarchy' },\n { value: 'assignees', label: 'Task assignee' },\n { value: 'status', label: 'Version status' },\n { value: 'author', label: 'Version author' },\n { value: 'productType' },\n { value: 'taskType' },\n { value: 'entityList' },\n ],\n },\n}\n\nexport type OnSliceTypeChange = (sliceType: SliceType, pinCurrent?: boolean) => void\n\nexport type SlicerConfig = {\n [page: string]: {\n fields: SliceTypeField[]\n }\n}\n\ntype ExtraSlices = {\n formatStatuses: (project?: ProjectModel, scopes?: string[]) => SimpleTableRow[]\n formatTaskTypes: (project?: ProjectModel) => SimpleTableRow[]\n formatProductTypes: (productTypes: ProductType[]) => SimpleTableRow[]\n formatTypes: (project?: ProjectModel) => SimpleTableRow[]\n formatAssignees: (assignees: Assignees) => SimpleTableRow[]\n formatAttribute: (attribute: AttributeModel) => SimpleTableRow[]\n formatAuthors: (project?: ProjectModel) => SimpleTableRow[]\n}\n\nexport type UseExtraSlices = () => ExtraSlices\n\ntype OnRowSelectionChange = (selection: RowSelectionState) => void\n\nexport interface SlicerContextValue {\n rowSelection: RowSelectionState\n onRowSelectionChange: OnRowSelectionChange\n expanded: ExpandedState\n onExpandedChange: (expanded: ExpandedState) => void\n sliceType: SliceType\n onSliceTypeChange: OnSliceTypeChange\n isViewSyncPending: boolean\n pinnedSlice: PinnedSlice | null\n setPinnedSlice: React.Dispatch<React.SetStateAction<PinnedSlice | null>>\n useExtraSlices: UseExtraSlices\n isLoadingExtraSlices: boolean\n SlicerDropdown: ForwardRefExoticComponent<\n SlicerDropdownFallbackProps & RefAttributes<DropdownRef>\n >\n}\n\ninterface SlicerProviderProps {\n children: ReactNode\n rowSelection?: RowSelectionState\n setRowSelection?: React.Dispatch<React.SetStateAction<RowSelectionState>>\n expanded?: ExpandedState\n setExpanded?: React.Dispatch<React.SetStateAction<ExpandedState>>\n sliceType?: SliceType\n onSliceTypeChange?: OnSliceTypeChange\n page: string\n projectName: string\n}\n\nexport const SlicerProvider = ({ children, page, projectName, ...props }: SlicerProviderProps) => {\n const { viewSettings, isLoadingViews } = useViewsContext()\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // @ts-expect-error - sliceType can be on a view\n const sliceType = props.sliceType ?? viewSettings?.sliceType ?? 'hierarchy'\n\n const { rowSelection, setRowSelection, expanded, setExpanded } = useSlicerRowSelection({\n sliceType,\n page,\n projectName,\n ...props,\n })\n\n // this is used to store another slice type whilst the user is viewing a different slice type\n // mostly used for preserving the hierarchy selection when switching to another slice type\n const [pinnedSlice, setPinnedSlice] = useSessionStorage<PinnedSlice | null>(\n `slicer-pinned-slice-${page}`,\n null,\n )\n\n const onRowSelectionChange = useCallback<OnRowSelectionChange>(\n (selection) => {\n setRowSelection(selection) // updates either hierarchy or other selection based on slice type\n },\n [setRowSelection],\n )\n\n const onSliceTypeChange = useCallback<OnSliceTypeChange>(\n (newSliceType, pinCurrent) => {\n if (props.onSliceTypeChange) {\n props.onSliceTypeChange(newSliceType, pinCurrent)\n } else {\n const noOp = () => {}\n // update the view settings with the new slice type\n updateViewSettings({ sliceType: newSliceType }, noOp, noOp, {})\n }\n\n // remove current row selection as it is no longer relevant to the new slice type\n\n // if going to pinned slice type, restore the pinned slice selection and expanded state\n // and remove the pinned slice\n if (pinnedSlice && newSliceType === pinnedSlice.sliceType) {\n setRowSelection(pinnedSlice.rowSelection, newSliceType)\n setExpanded(pinnedSlice.expanded, newSliceType)\n setPinnedSlice(null)\n } else {\n // clear pinned slice if switching to a different slice type\n console.log('Clearing current pinned slice as switching to a different slice type')\n setRowSelection({}, newSliceType)\n setExpanded({}, newSliceType)\n }\n\n // if pinCurrent is true, store the current slice type and selection data in local storage\n if (pinCurrent) {\n console.log('Pinning current slice type and selection data', rowSelection)\n setPinnedSlice({\n sliceType,\n rowSelection,\n expanded,\n })\n }\n },\n [\n updateViewSettings,\n rowSelection,\n setRowSelection,\n pinnedSlice,\n setPinnedSlice,\n expanded,\n setExpanded,\n ],\n )\n\n const onExpandedChange = useCallback(\n (newExpanded: ExpandedState) => {\n setExpanded(newExpanded)\n },\n [setExpanded],\n )\n\n // extra slices are loaded from the powerpack remote module, with a fallback to default empty functions\n const { useExtraSlices, isLoadingExtraSlices, SlicerDropdown } = useSlicerRemotes()\n\n const value = useMemo(\n () => ({\n useExtraSlices,\n isLoadingExtraSlices,\n SlicerDropdown,\n // SLICE TYPE\n sliceType,\n onSliceTypeChange,\n // ROW SELECTION\n rowSelection,\n onRowSelectionChange,\n // PINNED SLICE\n pinnedSlice,\n setPinnedSlice,\n expanded,\n onExpandedChange,\n // loading state\n isViewSyncPending: isLoadingViews,\n }),\n [\n useExtraSlices,\n isLoadingExtraSlices,\n SlicerDropdown,\n sliceType,\n onSliceTypeChange,\n rowSelection,\n onRowSelectionChange,\n pinnedSlice,\n setPinnedSlice,\n expanded,\n onExpandedChange,\n isLoadingViews,\n ],\n )\n\n return <SlicerContext.Provider value={value}>{children}</SlicerContext.Provider>\n}\n\nexport const useSlicerContext = () => {\n const context = useContext(SlicerContext)\n if (context === undefined) {\n throw new Error('useSlicerContext must be used within a SlicerProvider')\n }\n return context\n}\n\nexport default SlicerContext\n"],"names":["SLICER_PAGES_CONFIG","SlicerProvider","children","page","projectName","props","viewSettings","isLoadingViews","useViewsContext","updateViewSettings","useViewUpdateHelper","sliceType","rowSelection","setRowSelection","expanded","setExpanded","useSlicerRowSelection","pinnedSlice","setPinnedSlice","useSessionStorage","onRowSelectionChange","useCallback","selection","onSliceTypeChange","newSliceType","pinCurrent","noOp","onExpandedChange","newExpanded","useExtraSlices","isLoadingExtraSlices","SlicerDropdown","useSlicerRemotes","value","useMemo","jsx","SlicerContext","useSlicerContext","context","useContext"],"mappings":"0wOAqBaA,EAAoC,CAC/C,SAAU,CACR,OAAQ,CACN,CAAE,MAAO,WAAA,EACT,CAAE,MAAO,WAAA,EACT,CAAE,MAAO,QAAA,EACT,CAAE,MAAO,UAAA,CAAW,CACtB,EAEF,SAAU,CACR,OAAQ,CACN,CAAE,MAAO,WAAA,EACT,CAAE,MAAO,WAAA,EACT,CAAE,MAAO,QAAA,EACT,CAAE,MAAO,MAAA,EACT,CAAE,MAAO,UAAA,EACT,CAAE,MAAO,YAAA,EACT,CAAE,MAAO,YAAA,CAAa,CACxB,EAEF,SAAU,CACR,OAAQ,CACN,CAAE,MAAO,WAAA,EACT,CAAE,MAAO,YAAa,MAAO,eAAA,EAC7B,CAAE,MAAO,SAAU,MAAO,gBAAA,EAC1B,CAAE,MAAO,SAAU,MAAO,gBAAA,EAC1B,CAAE,MAAO,aAAA,EACT,CAAE,MAAO,UAAA,EACT,CAAE,MAAO,YAAA,CAAa,CACxB,CAEJ,EAqDaC,EAAiB,CAAC,CAAE,SAAAC,EAAU,KAAAC,EAAM,YAAAC,EAAa,GAAGC,KAAiC,CAChG,KAAM,CAAE,aAAAC,EAAc,eAAAC,CAAA,EAAmBC,kBAAA,EAEnC,CAAE,mBAAAC,CAAA,EAAuBC,sBAAA,EAGzBC,EAAYN,EAAM,WAAaC,GAAc,WAAa,YAE1D,CAAE,aAAAM,EAAc,gBAAAC,EAAiB,SAAAC,EAAU,YAAAC,CAAA,EAAgBC,EAAAA,sBAAsB,CACrF,UAAAL,EACA,KAAAR,EACA,YAAAC,EACA,GAAGC,CAAA,CACJ,EAIK,CAACY,EAAaC,CAAc,EAAIC,EAAAA,kBACpC,uBAAuBhB,CAAI,GAC3B,IAAA,EAGIiB,EAAuBC,EAAAA,YAC1BC,GAAc,CACbT,EAAgBS,CAAS,CAC3B,EACA,CAACT,CAAe,CAAA,EAGZU,EAAoBF,EAAAA,YACxB,CAACG,EAAcC,IAAe,CAC5B,GAAIpB,EAAM,kBACRA,EAAM,kBAAkBmB,EAAcC,CAAU,MAC3C,CACL,MAAMC,EAAO,IAAM,CAAC,EAEpBjB,EAAmB,CAAE,UAAWe,CAAA,EAAgBE,EAAMA,EAAM,EAAE,CAChE,CAMIT,GAAeO,IAAiBP,EAAY,WAC9CJ,EAAgBI,EAAY,aAAcO,CAAY,EACtDT,EAAYE,EAAY,SAAUO,CAAY,EAC9CN,EAAe,IAAI,IAGnB,QAAQ,IAAI,sEAAsE,EAClFL,EAAgB,CAAA,EAAIW,CAAY,EAChCT,EAAY,CAAA,EAAIS,CAAY,GAI1BC,IACF,QAAQ,IAAI,gDAAiDb,CAAY,EACzEM,EAAe,CACb,UAAAP,EACA,aAAAC,EACA,SAAAE,CAAA,CACD,EAEL,EACA,CACEL,EACAG,EACAC,EACAI,EACAC,EACAJ,EACAC,CAAA,CACF,EAGIY,EAAmBN,EAAAA,YACtBO,GAA+B,CAC9Bb,EAAYa,CAAW,CACzB,EACA,CAACb,CAAW,CAAA,EAIR,CAAE,eAAAc,EAAgB,qBAAAC,EAAsB,eAAAC,CAAA,EAAmBC,EAAAA,iBAAA,EAE3DC,EAAQC,EAAAA,QACZ,KAAO,CACL,eAAAL,EACA,qBAAAC,EACA,eAAAC,EAEA,UAAApB,EACA,kBAAAY,EAEA,aAAAX,EACA,qBAAAQ,EAEA,YAAAH,EACA,eAAAC,EACA,SAAAJ,EACA,iBAAAa,EAEA,kBAAmBpB,CAAA,GAErB,CACEsB,EACAC,EACAC,EACApB,EACAY,EACAX,EACAQ,EACAH,EACAC,EACAJ,EACAa,EACApB,CAAA,CACF,EAGF,OAAO4B,EAAAA,kBAAAA,IAACC,EAAAA,cAAc,SAAd,CAAuB,MAAAH,EAAe,SAAA/B,CAAA,CAAS,CACzD,EAEamC,EAAmB,IAAM,CACpC,MAAMC,EAAUC,EAAAA,WAAWH,eAAa,EACxC,GAAIE,IAAY,OACd,MAAM,IAAI,MAAM,uDAAuD,EAEzE,OAAOA,CACT"}
|
|
1
|
+
{"version":3,"file":"SlicerContext.cjs.js","sources":["../../../../../../src/containers/Slicer/context/SlicerContext.tsx"],"sourcesContent":["import {\n useContext,\n ReactNode,\n ForwardRefExoticComponent,\n RefAttributes,\n useCallback,\n useMemo,\n} from 'react'\nimport { ExpandedState, RowSelectionState } from '@tanstack/react-table'\nimport { SliceType } from '@shared/containers/Slicer'\nimport { SimpleTableRow } from '@shared/containers/SimpleTable'\nimport { useSessionStorage } from '@shared/hooks'\nimport type { ProjectModel, Assignees, AttributeModel, ProductType } from '@shared/api'\nimport { SlicerDropdownFallbackProps } from '../components/SlicerDropdownFallback'\nimport { DropdownRef } from '@ynput/ayon-react-components'\nimport { PinnedSlice, SliceTypeField } from '../types'\nimport type { ViewSettings } from '@shared/containers/Views'\nimport type { UpdateViewSettingsFn } from '@shared/containers/Views/utils/viewUpdateHelper'\nimport { SlicerContext } from './SlicerContextInstance'\nimport { useSlicerRemotes } from '../hooks/useSlicerRemotes'\nimport { useSlicerRowSelection } from '../hooks/useSlicerRowSelection'\n\nexport const SLICER_PAGES_CONFIG: SlicerConfig = {\n progress: {\n fields: [\n { value: 'hierarchy' },\n { value: 'assignees' },\n { value: 'status' },\n { value: 'taskType' },\n ],\n },\n overview: {\n fields: [\n { value: 'hierarchy' },\n { value: 'assignees' },\n { value: 'status' },\n { value: 'type' },\n { value: 'taskType' },\n { value: 'attributes' },\n { value: 'entityList' },\n ],\n },\n versions: {\n fields: [\n { value: 'hierarchy' },\n { value: 'assignees', label: 'Task assignee' },\n { value: 'status', label: 'Version status' },\n { value: 'author', label: 'Version author' },\n { value: 'productType' },\n { value: 'taskType' },\n { value: 'entityList' },\n ],\n },\n}\n\nexport type OnSliceTypeChange = (sliceType: SliceType, pinCurrent?: boolean) => void\n\nexport type SlicerConfig = {\n [page: string]: {\n fields: SliceTypeField[]\n }\n}\n\ntype ExtraSlices = {\n formatStatuses: (project?: ProjectModel, scopes?: string[]) => SimpleTableRow[]\n formatTaskTypes: (project?: ProjectModel) => SimpleTableRow[]\n formatProductTypes: (productTypes: ProductType[]) => SimpleTableRow[]\n formatTypes: (project?: ProjectModel) => SimpleTableRow[]\n formatAssignees: (assignees: Assignees) => SimpleTableRow[]\n formatAttribute: (attribute: AttributeModel) => SimpleTableRow[]\n formatAuthors: (project?: ProjectModel) => SimpleTableRow[]\n}\n\nexport type UseExtraSlices = () => ExtraSlices\n\ntype OnRowSelectionChange = (selection: RowSelectionState) => void\n\nexport interface SlicerContextValue {\n rowSelection: RowSelectionState\n onRowSelectionChange: OnRowSelectionChange\n expanded: ExpandedState\n onExpandedChange: (expanded: ExpandedState) => void\n sliceType: SliceType\n onSliceTypeChange: OnSliceTypeChange\n isViewSyncPending: boolean\n pinnedSlice: PinnedSlice | null\n setPinnedSlice: React.Dispatch<React.SetStateAction<PinnedSlice | null>>\n useExtraSlices: UseExtraSlices\n isLoadingExtraSlices: boolean\n SlicerDropdown: ForwardRefExoticComponent<\n SlicerDropdownFallbackProps & RefAttributes<DropdownRef>\n >\n}\n\ninterface SlicerProviderProps {\n children: ReactNode\n rowSelection?: RowSelectionState\n setRowSelection?: React.Dispatch<React.SetStateAction<RowSelectionState>>\n expanded?: ExpandedState\n setExpanded?: React.Dispatch<React.SetStateAction<ExpandedState>>\n sliceType?: SliceType\n onSliceTypeChange?: OnSliceTypeChange\n page: string\n projectName: string\n viewSettings: ViewSettings | undefined\n isLoadingViews: boolean\n updateViewSettings: UpdateViewSettingsFn\n}\n\nexport const SlicerProvider = ({\n children,\n page,\n projectName,\n viewSettings,\n isLoadingViews,\n updateViewSettings,\n ...props\n}: SlicerProviderProps) => {\n // @ts-expect-error - sliceType can be on a view\n const sliceType = props.sliceType ?? viewSettings?.sliceType ?? 'hierarchy'\n\n const { rowSelection, setRowSelection, expanded, setExpanded } = useSlicerRowSelection({\n sliceType,\n page,\n projectName,\n ...props,\n })\n\n // this is used to store another slice type whilst the user is viewing a different slice type\n // mostly used for preserving the hierarchy selection when switching to another slice type\n const [pinnedSlice, setPinnedSlice] = useSessionStorage<PinnedSlice | null>(\n `slicer-pinned-slice-${page}`,\n null,\n )\n\n const onRowSelectionChange = useCallback<OnRowSelectionChange>(\n (selection) => {\n setRowSelection(selection) // updates either hierarchy or other selection based on slice type\n },\n [setRowSelection],\n )\n\n const onSliceTypeChange = useCallback<OnSliceTypeChange>(\n (newSliceType, pinCurrent) => {\n if (props.onSliceTypeChange) {\n props.onSliceTypeChange(newSliceType, pinCurrent)\n } else {\n const noOp = () => {}\n // update the view settings with the new slice type\n updateViewSettings({ sliceType: newSliceType }, noOp, noOp, {})\n }\n\n // remove current row selection as it is no longer relevant to the new slice type\n\n // if going to pinned slice type, restore the pinned slice selection and expanded state\n // and remove the pinned slice\n if (pinnedSlice && newSliceType === pinnedSlice.sliceType) {\n setRowSelection(pinnedSlice.rowSelection, newSliceType)\n setExpanded(pinnedSlice.expanded, newSliceType)\n setPinnedSlice(null)\n } else {\n // clear pinned slice if switching to a different slice type\n console.log('Clearing current pinned slice as switching to a different slice type')\n setRowSelection({}, newSliceType)\n setExpanded({}, newSliceType)\n }\n\n // if pinCurrent is true, store the current slice type and selection data in local storage\n if (pinCurrent) {\n console.log('Pinning current slice type and selection data', rowSelection)\n setPinnedSlice({\n sliceType,\n rowSelection,\n expanded,\n })\n }\n },\n [\n updateViewSettings,\n rowSelection,\n setRowSelection,\n pinnedSlice,\n setPinnedSlice,\n expanded,\n setExpanded,\n ],\n )\n\n const onExpandedChange = useCallback(\n (newExpanded: ExpandedState) => {\n setExpanded(newExpanded)\n },\n [setExpanded],\n )\n\n // extra slices are loaded from the powerpack remote module, with a fallback to default empty functions\n const { useExtraSlices, isLoadingExtraSlices, SlicerDropdown } = useSlicerRemotes()\n\n const value = useMemo(\n () => ({\n useExtraSlices,\n isLoadingExtraSlices,\n SlicerDropdown,\n // SLICE TYPE\n sliceType,\n onSliceTypeChange,\n // ROW SELECTION\n rowSelection,\n onRowSelectionChange,\n // PINNED SLICE\n pinnedSlice,\n setPinnedSlice,\n expanded,\n onExpandedChange,\n // loading state\n isViewSyncPending: isLoadingViews,\n }),\n [\n useExtraSlices,\n isLoadingExtraSlices,\n SlicerDropdown,\n sliceType,\n onSliceTypeChange,\n rowSelection,\n onRowSelectionChange,\n pinnedSlice,\n setPinnedSlice,\n expanded,\n onExpandedChange,\n isLoadingViews,\n ],\n )\n\n return <SlicerContext.Provider value={value}>{children}</SlicerContext.Provider>\n}\n\nexport const useSlicerContext = () => {\n const context = useContext(SlicerContext)\n if (context === undefined) {\n throw new Error('useSlicerContext must be used within a SlicerProvider')\n }\n return context\n}\n\nexport default SlicerContext\n"],"names":["SLICER_PAGES_CONFIG","SlicerProvider","children","page","projectName","viewSettings","isLoadingViews","updateViewSettings","props","sliceType","rowSelection","setRowSelection","expanded","setExpanded","useSlicerRowSelection","pinnedSlice","setPinnedSlice","useSessionStorage","onRowSelectionChange","useCallback","selection","onSliceTypeChange","newSliceType","pinCurrent","noOp","onExpandedChange","newExpanded","useExtraSlices","isLoadingExtraSlices","SlicerDropdown","useSlicerRemotes","value","useMemo","jsx","SlicerContext","useSlicerContext","context","useContext"],"mappings":"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"}
|