@ynput/ayon-frontend-shared 0.4.2 → 0.4.3
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/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +247 -243
- 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.cjs6.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- 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.es6.js +2 -2
- package/dist/_virtual/index.es8.js +2 -2
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +446 -445
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +20 -9
- package/dist/index.es.js.map +1 -1
- 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/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.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/error-codes/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/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/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +85 -28
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +129 -68
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +1 -1
- package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +36 -36
- package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
- package/dist/shared/src/components/Chips/Chips.cjs.js +12 -6
- package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
- package/dist/shared/src/components/Chips/Chips.es.js +69 -62
- package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +32 -12
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +33 -33
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +39 -8
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +32 -31
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +24 -18
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js +26 -25
- package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js +14 -2
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +125 -126
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +6 -0
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +14 -8
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +200 -178
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +14 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/constants.es.js +6 -3
- package/dist/shared/src/containers/ProjectTreeTable/constants.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +19 -19
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +5 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +100 -97
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js +9 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js +47 -31
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +28 -9
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +58 -39
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +53 -25
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +150 -103
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +9 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +66 -57
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +9 -8
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +20 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +86 -67
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.cjs.js +6 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.es.js +11 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.es.js.map +1 -0
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +67 -62
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +47 -46
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.es.js +1 -1
- package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.es.js +36 -33
- package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -1
- package/dist/types/api/generated/graphql.d.ts +71 -0
- package/dist/types/api/queries/activities/getActivities.d.ts +28 -0
- package/dist/types/api/queries/entities/getEntity.d.ts +14 -0
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +14 -0
- package/dist/types/api/queries/entities/updateEntity.d.ts +14 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +14 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +14 -0
- package/dist/types/api/queries/project/getProject.d.ts +14 -0
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +14 -0
- package/dist/types/api/queries/users/getUsers.d.ts +14 -0
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +28 -0
- package/dist/types/components/SubtasksManager/SubtasksManagerWrapper.d.ts +4 -1
- package/dist/types/containers/Feed/helpers/buildBackendFilter.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/constants.d.ts +3 -0
- package/dist/types/containers/ProjectTreeTable/widgets/SubtasksWidget.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/wrapMode.d.ts +2 -0
- package/dist/types/containers/Views/context/ViewsContext.d.ts +1 -0
- package/dist/types/util/buildHierarchicalTableRows.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTreeTable.styled.cjs.js","sources":["../../../../../src/containers/ProjectTreeTable/ProjectTreeTable.styled.ts"],"sourcesContent":["import styled from 'styled-components'\n\n// Create shadow mixins to make combinations work properly\nconst topShadow = `inset 0 1px 0 0 var(--md-sys-color-primary)`\nconst rightShadow = `inset -1px 0 0 0 var(--md-sys-color-primary)`\nconst bottomShadow = `inset 0 -1px 0 0 var(--md-sys-color-primary)`\nconst leftShadow = `inset 1px 0 0 0 var(--md-sys-color-primary)`\n\nconst getDefaultShadow = (isLastPinned: boolean) => {\n const defaultShadow = `inset 1px -1px 0 0 var(--md-sys-color-surface-container)`\n const defaultShadowLastPinned = `inset -2px -1px 0 0 var(--md-sys-color-surface-container), inset 1px 0 0 0 var(--md-sys-color-surface-container)`\n return isLastPinned ? defaultShadowLastPinned : defaultShadow\n}\n\n// Use the known string literal for DRAG_HANDLE_COLUMN_ID to avoid import complexities here\nconst DRAG_HANDLE_CLASS = 'drag-handle'\n\nexport const TR = styled.tr`\n display: flex;\n position: absolute;\n width: 100%;\n\n &:hover {\n // When the row (TR) is hovered...\n\n // Target the button inside the drag handle cell to make it visible at 50% opacity.\n // This uses a more specific selector by including 'td' to ensure it correctly targets the cell.\n td.${DRAG_HANDLE_CLASS} button {\n opacity: 0.5;\n visibility: visible;\n }\n\n // When the row (TR) is hovered AND the button inside drag handle cell is also hovered...\n // Make the button 100% opacity. This selector is more specific and will override the above.\n td.${DRAG_HANDLE_CLASS} button:hover {\n opacity: 1;\n }\n\n /* row selection hover */\n td:not(.selected) {\n background-color: var(--color-table-row-hover);\n }\n }\n\n &.group-row {\n td {\n /* group headers do not have vertical grid lines */\n box-shadow: inset 0px -1px 0 0 var(--md-sys-color-surface-container);\n }\n }\n`\n\nexport const TableCellContent = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n height: 100%;\n width: 100%;\n padding: 0px 8px;\n overflow: hidden;\n border-radius: var(--border-radius-m);\n user-select: none;\n padding-right: 0;\n\n &.bold {\n font-weight: 600;\n }\n\n &.loading {\n margin: 0px 5px;\n padding: 0 !important;\n width: calc(100% - 10px);\n height: calc(100% - 6px);\n margin-top: 3px;\n }\n\n &:focus-visible {\n outline: none;\n }\n\n .resizing & {\n cursor: col-resize !important;\n }\n`\n\nexport const ResizedHandler = styled.div`\n position: absolute;\n right: -1px;\n top: 0;\n bottom: 0;\n width: 6px;\n cursor: col-resize !important;\n background-color: var(--md-sys-color-surface-container-high);\n\n opacity: 0;\n\n &.resizing {\n background-color: var(--md-sys-color-primary);\n opacity: 1;\n cursor: col-resize !important;\n }\n`\n\nexport const ColumnHeader = styled.tr`\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const HeaderCell = styled.th`\n position: relative;\n background-color: var(--md-sys-color-surface-container-lowest);\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container);\n display: flex;\n align-items: center;\n min-height: fit-content;\n white-space: nowrap;\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-lowest-hover);\n .resize-handle {\n opacity: 1;\n }\n\n .actions {\n display: flex !important;\n background-color: var(--md-sys-color-surface-container-lowest-hover);\n }\n\n .actions .sort-button,\n .actions .header-menu {\n display: flex !important;\n }\n }\n\n /* Hide action buttons when resizing */\n &.resizing {\n .actions {\n display: none !important;\n }\n cursor: col-resize !important;\n\n * {\n cursor: col-resize !important;\n }\n }\n\n /* Styling for the last pinned left column */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* special styles for the left selection column */\n &.__row_selection__ {\n min-width: unset;\n width: 20px !important;\n\n .actions {\n display: none;\n }\n }\n &.draggable {\n cursor: grab;\n &:active {\n cursor: grabbing;\n }\n }\n`\n\nexport const HeaderButtons = styled.div<{ $isOpen: boolean }>`\n display: none;\n\n ${({ $isOpen }) =>\n $isOpen &&\n `\n display: flex !important;\n `}\n\n gap: var(--base-gap-small);\n align-items: center;\n\n position: absolute;\n z-index: 10;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n background-color: var(--md-sys-color-surface-container-lowest);\n padding-left: 4px;\n\n .resizing & {\n cursor: col-resize !important;\n }\n\n &:has(.sort-button.visible),\n &:has(.sort-button.selected),\n &:has(.pin-button.visible),\n &:has(.pin-button.selected) {\n display: flex !important;\n }\n\n .sort-button {\n display: none !important;\n }\n\n .sort-button.visible,\n .sort-button.selected {\n display: flex !important;\n }\n\n .pin-button.visible,\n .pin-button.selected {\n display: flex !important;\n }\n .pin-button {\n font-variation-settings: 'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 10;\n }\n\n .header-menu {\n display: none;\n }\n\n ${({ $isOpen }) =>\n $isOpen &&\n `\n .header-menu {\n display: flex !important;\n }\n `}\n\n .header-menu.open,\n .header-menu.active {\n display: flex !important;\n }\n\n .resizing & {\n .sort-button,\n .pin-button,\n .header-menu {\n display: none !important;\n }\n }\n`\n\ntype TableCellProps = {\n $isLastPinned?: boolean\n}\n\nexport const TD = styled.td<TableCellProps>`\n position: relative;\n box-shadow: ${getDefaultShadow(false)};\n background-color: var(--color-table-row);\n\n &.${DRAG_HANDLE_CLASS} {\n // Styles for the button inside the drag handle cell\n button {\n opacity: 0; // Default: hidden\n visibility: hidden;\n transition: opacity 0.2s ease, visibility 0.2s ease;\n // Base appearance styles (cursor, border, background, etc.)\n // are primarily handled by inline styles in RowDragHandleCellContent.tsx.\n // Add any necessary overrides or defaults here if needed.\n // For example, ensuring the button itself doesn't interfere with cell styling:\n background: transparent;\n border: none;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n }\n }\n\n /* Lighter background for expandable rows */\n &.expandable {\n background-color: var(--color-table-row-high);\n }\n\n &.selected-row {\n background-color: var(--color-table-selected-row);\n }\n\n /* show hover effect only if direct child div does NOT have .readonly and is not selected */\n &:not(:has(> div.readonly)) {\n cursor: pointer;\n &:hover {\n background-color: var(--color-table-hover);\n }\n\n &.selected {\n background-color: var(--color-table-selected);\n }\n }\n\n &.selected {\n background-color: var(--color-table-selected);\n position: relative;\n z-index: 1;\n }\n\n /* remove default focus style */\n &:focus-visible {\n outline: none;\n }\n\n /* Styling for the last pinned left column */\n /* extra border on the right */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* Shadow combinations - single side */\n &.shadow-top:not(.shadow-right):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right:not(.shadow-top):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom:not(.shadow-top):not(.shadow-right):not(.shadow-left) {\n box-shadow: ${bottomShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-left:not(.shadow-top):not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${leftShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Two sides */\n &.shadow-top.shadow-right:not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom:not(.shadow-right):not(.shadow-left) {\n box-shadow: ${topShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-left:not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom:not(.shadow-top):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-left:not(.shadow-top):not(.shadow-bottom) {\n box-shadow: ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom.shadow-left:not(.shadow-top):not(.shadow-right) {\n box-shadow: ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Three sides */\n &.shadow-top.shadow-right.shadow-bottom:not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-right.shadow-left:not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom.shadow-left:not(.shadow-right) {\n box-shadow: ${topShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom.shadow-left:not(.shadow-top) {\n box-shadow: ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* All four sides */\n &.shadow-top.shadow-right.shadow-bottom.shadow-left {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Focus styling */\n &.focused {\n position: relative;\n z-index: 2;\n }\n\n /* Use pseudo-element for focused outline to avoid box-shadow conflicts */\n &.focused::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid var(--md-sys-color-primary);\n pointer-events: none;\n }\n\n /* read only fields are dimmed down for bg and border */\n &:has(> div.readonly) {\n &:not(.multiple-selected) {\n &.focused {\n background-color: var(--color-table-readonly-focused);\n &::after {\n border-color: var(--color-table-readonly-focused);\n }\n }\n }\n\n /* when focused is readonly and multiple-selected */\n &.multiple-selected {\n &.focused::after {\n display: none;\n }\n }\n }\n\n /* if there is no cell widget element (no children) then the cell should not be selectable at all */\n &:not(:has(> div)) {\n /* pointer-events: none; */\n cursor: default;\n }\n\n &.editing {\n z-index: 10 !important;\n /* light border around the outside */\n &::before {\n content: '';\n position: absolute;\n inset: 2px;\n border: 2px solid var(--md-sys-color-surface-container-low);\n }\n }\n\n /* special styles for selection bar cells */\n &.__row_selection__ {\n width: 20px !important;\n min-width: unset;\n\n &.selected {\n background-color: var(--md-sys-color-primary-container) !important;\n box-shadow: none !important;\n /* reveal the check mark */\n [icon='check'] {\n display: block;\n }\n }\n }\n`\n\nexport const ColumnDividers = styled.div`\n position: absolute;\n inset: 0;\n pointer-events: none;\n\n div {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 1px;\n background-color: var(--md-sys-color-surface-container);\n }\n`\n\nexport const TableHeader = styled.thead`\n display: grid !important;\n position: sticky;\n top: 0;\n min-height: 34px;\n z-index: 10;\n background-color: var(--md-sys-color-surface-container-lowest);\n\n .resizing & {\n cursor: col-resize !important;\n }\n`\n\nexport const TableWrapper = styled.div`\n overflow: hidden;\n position: absolute;\n inset: 0;\n border-radius: var(--border-radius-m);\n\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const TableContainer = styled.div`\n position: relative;\n display: flex;\n\n height: 100%;\n width: 100%;\n overflow: auto;\n padding: 4px;\n padding-top: 0;\n\n &.isLoading {\n overflow: hidden;\n }\n\n /* Hide all header buttons when any column is being resized */\n &.resizing {\n .actions {\n display: none !important;\n }\n }\n\n table {\n height: fit-content;\n width: 100%;\n display: grid;\n }\n\n thead {\n display: none;\n }\n\n tbody {\n position: relative;\n display: grid;\n }\n\n td {\n height: 34px;\n padding: 1px 0px;\n width: 100%;\n }\n`\n\nexport const LinkColumnHeader = styled.div`\n display: flex;\n align-items: center;\n gap: 4px;\n .icon {\n font-size: 18px;\n color: var(--md-sys-color-outline);\n }\n`\n\nexport const AnimatedEmptyPlaceholder = styled.div`\n animation: fadeIn 20ms ease-in forwards;\n animation-delay: 300ms;\n opacity: 0;\n z-index: 100;\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n`\n\nexport const SummaryPowerFeature = styled.span`\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 0 8px;\n color: var(--md-sys-color-on-surface);\n white-space: nowrap;\n\n .icon {\n font-size: 18px;\n color: var(--md-sys-color-tertiary);\n }\n`\n\nexport const SoftErrorBanner = styled.div`\n position: absolute;\n bottom: 60px; // to go above the footer stats\n left: 8px;\n right: 8px;\n z-index: 100;\n pointer-events: none;\n\n .message {\n pointer-events: auto;\n box-shadow: var(--md-sys-shadow-level-2);\n padding: var(--padding-s);\n }\n`\n"],"names":["topShadow","rightShadow","bottomShadow","leftShadow","getDefaultShadow","isLastPinned","DRAG_HANDLE_CLASS","TR","styled","TableCellContent","ResizedHandler","ColumnHeader","HeaderCell","HeaderButtons","$isOpen","TD","$isLastPinned","ColumnDividers","TableHeader","TableWrapper","TableContainer","LinkColumnHeader","AnimatedEmptyPlaceholder","SoftErrorBanner"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProjectTreeTable.styled.cjs.js","sources":["../../../../../src/containers/ProjectTreeTable/ProjectTreeTable.styled.ts"],"sourcesContent":["import styled from 'styled-components'\n\n// Create shadow mixins to make combinations work properly\nconst topShadow = `inset 0 1px 0 0 var(--md-sys-color-primary)`\nconst rightShadow = `inset -1px 0 0 0 var(--md-sys-color-primary)`\nconst bottomShadow = `inset 0 -1px 0 0 var(--md-sys-color-primary)`\nconst leftShadow = `inset 1px 0 0 0 var(--md-sys-color-primary)`\n\nconst getDefaultShadow = (isLastPinned: boolean) => {\n const defaultShadow = `inset 1px -1px 0 0 var(--md-sys-color-surface-container)`\n const defaultShadowLastPinned = `inset -2px -1px 0 0 var(--md-sys-color-surface-container), inset 1px 0 0 0 var(--md-sys-color-surface-container)`\n return isLastPinned ? defaultShadowLastPinned : defaultShadow\n}\n\n// Use the known string literal for DRAG_HANDLE_COLUMN_ID to avoid import complexities here\nconst DRAG_HANDLE_CLASS = 'drag-handle'\n\nexport const TR = styled.tr`\n display: flex;\n position: absolute;\n width: 100%;\n\n &:hover {\n // When the row (TR) is hovered...\n\n // Target the button inside the drag handle cell to make it visible at 50% opacity.\n // This uses a more specific selector by including 'td' to ensure it correctly targets the cell.\n td.${DRAG_HANDLE_CLASS} button {\n opacity: 0.5;\n visibility: visible;\n }\n\n // When the row (TR) is hovered AND the button inside drag handle cell is also hovered...\n // Make the button 100% opacity. This selector is more specific and will override the above.\n td.${DRAG_HANDLE_CLASS} button:hover {\n opacity: 1;\n }\n\n /* row selection hover */\n td:not(.selected) {\n background-color: var(--color-table-row-hover);\n }\n }\n\n &.group-row {\n td {\n /* group headers do not have vertical grid lines */\n box-shadow: inset 0px -1px 0 0 var(--md-sys-color-surface-container);\n }\n }\n`\n\nexport const TableCellContent = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n height: 100%;\n width: 100%;\n padding: 0px 8px;\n overflow: hidden;\n border-radius: var(--border-radius-m);\n user-select: none;\n padding-right: 0;\n\n /* header cells have content-driven height, so size containment would collapse them */\n &:not(.header) {\n container-type: size;\n container-name: cell;\n }\n\n &.bold {\n font-weight: 600;\n }\n\n &.loading {\n margin: 0px 5px;\n padding: 0 !important;\n width: calc(100% - 10px);\n height: calc(100% - 6px);\n margin-top: 3px;\n }\n\n &:focus-visible {\n outline: none;\n }\n\n .resizing & {\n cursor: col-resize !important;\n }\n`\n\nexport const ResizedHandler = styled.div`\n position: absolute;\n right: -1px;\n top: 0;\n bottom: 0;\n width: 6px;\n cursor: col-resize !important;\n background-color: var(--md-sys-color-surface-container-high);\n\n opacity: 0;\n\n &.resizing {\n background-color: var(--md-sys-color-primary);\n opacity: 1;\n cursor: col-resize !important;\n }\n`\n\nexport const ColumnHeader = styled.tr`\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const HeaderCell = styled.th`\n position: relative;\n background-color: var(--md-sys-color-surface-container-lowest);\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container);\n display: flex;\n align-items: center;\n min-height: fit-content;\n white-space: nowrap;\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-lowest-hover);\n .resize-handle {\n opacity: 1;\n }\n\n .actions {\n display: flex !important;\n background-color: var(--md-sys-color-surface-container-lowest-hover);\n }\n\n .actions .sort-button,\n .actions .header-menu {\n display: flex !important;\n }\n }\n\n /* Hide action buttons when resizing */\n &.resizing {\n .actions {\n display: none !important;\n }\n cursor: col-resize !important;\n\n * {\n cursor: col-resize !important;\n }\n }\n\n /* Styling for the last pinned left column */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* special styles for the left selection column */\n &.__row_selection__ {\n min-width: unset;\n width: 20px !important;\n\n .actions {\n display: none;\n }\n }\n &.draggable {\n cursor: grab;\n &:active {\n cursor: grabbing;\n }\n }\n`\n\nexport const HeaderButtons = styled.div<{ $isOpen: boolean }>`\n display: none;\n\n ${({ $isOpen }) =>\n $isOpen &&\n `\n display: flex !important;\n `}\n\n gap: var(--base-gap-small);\n align-items: center;\n\n position: absolute;\n z-index: 10;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n background-color: var(--md-sys-color-surface-container-lowest);\n padding-left: 4px;\n\n .resizing & {\n cursor: col-resize !important;\n }\n\n &:has(.sort-button.visible),\n &:has(.sort-button.selected),\n &:has(.pin-button.visible),\n &:has(.pin-button.selected) {\n display: flex !important;\n }\n\n .sort-button {\n display: none !important;\n }\n\n .sort-button.visible,\n .sort-button.selected {\n display: flex !important;\n }\n\n .pin-button.visible,\n .pin-button.selected {\n display: flex !important;\n }\n .pin-button {\n font-variation-settings: 'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 10;\n }\n\n .header-menu {\n display: none;\n }\n\n ${({ $isOpen }) =>\n $isOpen &&\n `\n .header-menu {\n display: flex !important;\n }\n `}\n\n .header-menu.open,\n .header-menu.active {\n display: flex !important;\n }\n\n .resizing & {\n .sort-button,\n .pin-button,\n .header-menu {\n display: none !important;\n }\n }\n`\n\ntype TableCellProps = {\n $isLastPinned?: boolean\n}\n\nexport const TD = styled.td<TableCellProps>`\n position: relative;\n box-shadow: ${getDefaultShadow(false)};\n background-color: var(--color-table-row);\n\n &.${DRAG_HANDLE_CLASS} {\n // Styles for the button inside the drag handle cell\n button {\n opacity: 0; // Default: hidden\n visibility: hidden;\n transition: opacity 0.2s ease, visibility 0.2s ease;\n // Base appearance styles (cursor, border, background, etc.)\n // are primarily handled by inline styles in RowDragHandleCellContent.tsx.\n // Add any necessary overrides or defaults here if needed.\n // For example, ensuring the button itself doesn't interfere with cell styling:\n background: transparent;\n border: none;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n }\n }\n\n /* Lighter background for expandable rows */\n &.expandable {\n background-color: var(--color-table-row-high);\n }\n\n &.selected-row {\n background-color: var(--color-table-selected-row);\n }\n\n /* show hover effect only if direct child div does NOT have .readonly and is not selected */\n &:not(:has(> div.readonly)) {\n cursor: pointer;\n &:hover {\n background-color: var(--color-table-hover);\n }\n\n &.selected {\n background-color: var(--color-table-selected);\n }\n }\n\n &.selected {\n background-color: var(--color-table-selected);\n position: relative;\n z-index: 1;\n }\n\n /* remove default focus style */\n &:focus-visible {\n outline: none;\n }\n\n /* Styling for the last pinned left column */\n /* extra border on the right */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* Shadow combinations - single side */\n &.shadow-top:not(.shadow-right):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right:not(.shadow-top):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom:not(.shadow-top):not(.shadow-right):not(.shadow-left) {\n box-shadow: ${bottomShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-left:not(.shadow-top):not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${leftShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Two sides */\n &.shadow-top.shadow-right:not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom:not(.shadow-right):not(.shadow-left) {\n box-shadow: ${topShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-left:not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom:not(.shadow-top):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-left:not(.shadow-top):not(.shadow-bottom) {\n box-shadow: ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom.shadow-left:not(.shadow-top):not(.shadow-right) {\n box-shadow: ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Three sides */\n &.shadow-top.shadow-right.shadow-bottom:not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-right.shadow-left:not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom.shadow-left:not(.shadow-right) {\n box-shadow: ${topShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom.shadow-left:not(.shadow-top) {\n box-shadow: ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* All four sides */\n &.shadow-top.shadow-right.shadow-bottom.shadow-left {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Focus styling */\n &.focused {\n position: relative;\n z-index: 2;\n }\n\n /* Use pseudo-element for focused outline to avoid box-shadow conflicts */\n &.focused::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid var(--md-sys-color-primary);\n pointer-events: none;\n }\n\n /* read only fields are dimmed down for bg and border */\n &:has(> div.readonly) {\n &:not(.multiple-selected) {\n &.focused {\n background-color: var(--color-table-readonly-focused);\n &::after {\n border-color: var(--color-table-readonly-focused);\n }\n }\n }\n\n /* when focused is readonly and multiple-selected */\n &.multiple-selected {\n &.focused::after {\n display: none;\n }\n }\n }\n\n /* if there is no cell widget element (no children) then the cell should not be selectable at all */\n &:not(:has(> div)) {\n /* pointer-events: none; */\n cursor: default;\n }\n\n &.editing {\n z-index: 10 !important;\n /* light border around the outside */\n &::before {\n content: '';\n position: absolute;\n inset: 2px;\n border: 2px solid var(--md-sys-color-surface-container-low);\n }\n }\n\n /* special styles for selection bar cells */\n &.__row_selection__ {\n width: 20px !important;\n min-width: unset;\n\n &.selected {\n background-color: var(--md-sys-color-primary-container) !important;\n box-shadow: none !important;\n /* reveal the check mark */\n [icon='check'] {\n display: block;\n }\n }\n }\n`\n\nexport const ColumnDividers = styled.div`\n position: absolute;\n inset: 0;\n pointer-events: none;\n\n div {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 1px;\n background-color: var(--md-sys-color-surface-container);\n }\n`\n\nexport const TableHeader = styled.thead`\n display: grid !important;\n position: sticky;\n top: 0;\n min-height: 34px;\n z-index: 10;\n background-color: var(--md-sys-color-surface-container-lowest);\n\n .resizing & {\n cursor: col-resize !important;\n }\n`\n\nexport const TableWrapper = styled.div`\n overflow: hidden;\n position: absolute;\n inset: 0;\n border-radius: var(--border-radius-m);\n\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const TableContainer = styled.div`\n position: relative;\n display: flex;\n\n height: 100%;\n width: 100%;\n overflow: auto;\n padding: 4px;\n padding-top: 0;\n\n &.isLoading {\n overflow: hidden;\n }\n\n /* Hide all header buttons when any column is being resized */\n &.resizing {\n .actions {\n display: none !important;\n }\n }\n\n table {\n height: fit-content;\n width: 100%;\n display: grid;\n }\n\n thead {\n display: none;\n }\n\n tbody {\n position: relative;\n display: grid;\n }\n\n td {\n height: 34px;\n padding: 1px 0px;\n width: 100%;\n }\n`\n\nexport const LinkColumnHeader = styled.div`\n display: flex;\n align-items: center;\n gap: 4px;\n .icon {\n font-size: 18px;\n color: var(--md-sys-color-outline);\n }\n`\n\nexport const AnimatedEmptyPlaceholder = styled.div`\n animation: fadeIn 20ms ease-in forwards;\n animation-delay: 300ms;\n opacity: 0;\n z-index: 100;\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n`\n\nexport const SummaryPowerFeature = styled.span`\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 0 8px;\n color: var(--md-sys-color-on-surface);\n white-space: nowrap;\n\n .icon {\n font-size: 18px;\n color: var(--md-sys-color-tertiary);\n }\n`\n\nexport const SoftErrorBanner = styled.div`\n position: absolute;\n bottom: 60px; // to go above the footer stats\n left: 8px;\n right: 8px;\n z-index: 100;\n pointer-events: none;\n\n .message {\n pointer-events: auto;\n box-shadow: var(--md-sys-shadow-level-2);\n padding: var(--padding-s);\n }\n`\n"],"names":["topShadow","rightShadow","bottomShadow","leftShadow","getDefaultShadow","isLastPinned","DRAG_HANDLE_CLASS","TR","styled","TableCellContent","ResizedHandler","ColumnHeader","HeaderCell","HeaderButtons","$isOpen","TD","$isLastPinned","ColumnDividers","TableHeader","TableWrapper","TableContainer","LinkColumnHeader","AnimatedEmptyPlaceholder","SoftErrorBanner"],"mappings":"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"}
|
|
@@ -44,6 +44,12 @@ const a = "inset 0 1px 0 0 var(--md-sys-color-primary)", s = "inset -1px 0 0 0 v
|
|
|
44
44
|
user-select: none;
|
|
45
45
|
padding-right: 0;
|
|
46
46
|
|
|
47
|
+
/* header cells have content-driven height, so size containment would collapse them */
|
|
48
|
+
&:not(.header) {
|
|
49
|
+
container-type: size;
|
|
50
|
+
container-name: cell;
|
|
51
|
+
}
|
|
52
|
+
|
|
47
53
|
&.bold {
|
|
48
54
|
font-weight: 600;
|
|
49
55
|
}
|
|
@@ -140,7 +146,7 @@ const a = "inset 0 1px 0 0 var(--md-sys-color-primary)", s = "inset -1px 0 0 0 v
|
|
|
140
146
|
cursor: grabbing;
|
|
141
147
|
}
|
|
142
148
|
}
|
|
143
|
-
`,
|
|
149
|
+
`, m = t.div`
|
|
144
150
|
display: none;
|
|
145
151
|
|
|
146
152
|
${({ $isOpen: o }) => o && `
|
|
@@ -208,7 +214,7 @@ const a = "inset 0 1px 0 0 var(--md-sys-color-primary)", s = "inset -1px 0 0 0 v
|
|
|
208
214
|
display: none !important;
|
|
209
215
|
}
|
|
210
216
|
}
|
|
211
|
-
`,
|
|
217
|
+
`, f = t.td`
|
|
212
218
|
position: relative;
|
|
213
219
|
box-shadow: ${e(!1)};
|
|
214
220
|
background-color: var(--color-table-row);
|
|
@@ -428,7 +434,7 @@ const a = "inset 0 1px 0 0 var(--md-sys-color-primary)", s = "inset -1px 0 0 0 v
|
|
|
428
434
|
width: 1px;
|
|
429
435
|
background-color: var(--md-sys-color-surface-container);
|
|
430
436
|
}
|
|
431
|
-
`,
|
|
437
|
+
`, v = t.thead`
|
|
432
438
|
display: grid !important;
|
|
433
439
|
position: sticky;
|
|
434
440
|
top: 0;
|
|
@@ -439,7 +445,7 @@ const a = "inset 0 1px 0 0 var(--md-sys-color-primary)", s = "inset -1px 0 0 0 v
|
|
|
439
445
|
.resizing & {
|
|
440
446
|
cursor: col-resize !important;
|
|
441
447
|
}
|
|
442
|
-
`,
|
|
448
|
+
`, y = t.div`
|
|
443
449
|
overflow: hidden;
|
|
444
450
|
position: absolute;
|
|
445
451
|
inset: 0;
|
|
@@ -541,16 +547,16 @@ export {
|
|
|
541
547
|
k as AnimatedEmptyPlaceholder,
|
|
542
548
|
g as ColumnDividers,
|
|
543
549
|
u as ColumnHeader,
|
|
544
|
-
|
|
550
|
+
m as HeaderButtons,
|
|
545
551
|
w as HeaderCell,
|
|
546
552
|
$ as LinkColumnHeader,
|
|
547
553
|
b as ResizedHandler,
|
|
548
554
|
z as SoftErrorBanner,
|
|
549
|
-
|
|
555
|
+
f as TD,
|
|
550
556
|
h as TR,
|
|
551
557
|
p as TableCellContent,
|
|
552
558
|
x as TableContainer,
|
|
553
|
-
|
|
554
|
-
|
|
559
|
+
v as TableHeader,
|
|
560
|
+
y as TableWrapper
|
|
555
561
|
};
|
|
556
562
|
//# sourceMappingURL=ProjectTreeTable.styled.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTreeTable.styled.es.js","sources":["../../../../../src/containers/ProjectTreeTable/ProjectTreeTable.styled.ts"],"sourcesContent":["import styled from 'styled-components'\n\n// Create shadow mixins to make combinations work properly\nconst topShadow = `inset 0 1px 0 0 var(--md-sys-color-primary)`\nconst rightShadow = `inset -1px 0 0 0 var(--md-sys-color-primary)`\nconst bottomShadow = `inset 0 -1px 0 0 var(--md-sys-color-primary)`\nconst leftShadow = `inset 1px 0 0 0 var(--md-sys-color-primary)`\n\nconst getDefaultShadow = (isLastPinned: boolean) => {\n const defaultShadow = `inset 1px -1px 0 0 var(--md-sys-color-surface-container)`\n const defaultShadowLastPinned = `inset -2px -1px 0 0 var(--md-sys-color-surface-container), inset 1px 0 0 0 var(--md-sys-color-surface-container)`\n return isLastPinned ? defaultShadowLastPinned : defaultShadow\n}\n\n// Use the known string literal for DRAG_HANDLE_COLUMN_ID to avoid import complexities here\nconst DRAG_HANDLE_CLASS = 'drag-handle'\n\nexport const TR = styled.tr`\n display: flex;\n position: absolute;\n width: 100%;\n\n &:hover {\n // When the row (TR) is hovered...\n\n // Target the button inside the drag handle cell to make it visible at 50% opacity.\n // This uses a more specific selector by including 'td' to ensure it correctly targets the cell.\n td.${DRAG_HANDLE_CLASS} button {\n opacity: 0.5;\n visibility: visible;\n }\n\n // When the row (TR) is hovered AND the button inside drag handle cell is also hovered...\n // Make the button 100% opacity. This selector is more specific and will override the above.\n td.${DRAG_HANDLE_CLASS} button:hover {\n opacity: 1;\n }\n\n /* row selection hover */\n td:not(.selected) {\n background-color: var(--color-table-row-hover);\n }\n }\n\n &.group-row {\n td {\n /* group headers do not have vertical grid lines */\n box-shadow: inset 0px -1px 0 0 var(--md-sys-color-surface-container);\n }\n }\n`\n\nexport const TableCellContent = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n height: 100%;\n width: 100%;\n padding: 0px 8px;\n overflow: hidden;\n border-radius: var(--border-radius-m);\n user-select: none;\n padding-right: 0;\n\n &.bold {\n font-weight: 600;\n }\n\n &.loading {\n margin: 0px 5px;\n padding: 0 !important;\n width: calc(100% - 10px);\n height: calc(100% - 6px);\n margin-top: 3px;\n }\n\n &:focus-visible {\n outline: none;\n }\n\n .resizing & {\n cursor: col-resize !important;\n }\n`\n\nexport const ResizedHandler = styled.div`\n position: absolute;\n right: -1px;\n top: 0;\n bottom: 0;\n width: 6px;\n cursor: col-resize !important;\n background-color: var(--md-sys-color-surface-container-high);\n\n opacity: 0;\n\n &.resizing {\n background-color: var(--md-sys-color-primary);\n opacity: 1;\n cursor: col-resize !important;\n }\n`\n\nexport const ColumnHeader = styled.tr`\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const HeaderCell = styled.th`\n position: relative;\n background-color: var(--md-sys-color-surface-container-lowest);\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container);\n display: flex;\n align-items: center;\n min-height: fit-content;\n white-space: nowrap;\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-lowest-hover);\n .resize-handle {\n opacity: 1;\n }\n\n .actions {\n display: flex !important;\n background-color: var(--md-sys-color-surface-container-lowest-hover);\n }\n\n .actions .sort-button,\n .actions .header-menu {\n display: flex !important;\n }\n }\n\n /* Hide action buttons when resizing */\n &.resizing {\n .actions {\n display: none !important;\n }\n cursor: col-resize !important;\n\n * {\n cursor: col-resize !important;\n }\n }\n\n /* Styling for the last pinned left column */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* special styles for the left selection column */\n &.__row_selection__ {\n min-width: unset;\n width: 20px !important;\n\n .actions {\n display: none;\n }\n }\n &.draggable {\n cursor: grab;\n &:active {\n cursor: grabbing;\n }\n }\n`\n\nexport const HeaderButtons = styled.div<{ $isOpen: boolean }>`\n display: none;\n\n ${({ $isOpen }) =>\n $isOpen &&\n `\n display: flex !important;\n `}\n\n gap: var(--base-gap-small);\n align-items: center;\n\n position: absolute;\n z-index: 10;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n background-color: var(--md-sys-color-surface-container-lowest);\n padding-left: 4px;\n\n .resizing & {\n cursor: col-resize !important;\n }\n\n &:has(.sort-button.visible),\n &:has(.sort-button.selected),\n &:has(.pin-button.visible),\n &:has(.pin-button.selected) {\n display: flex !important;\n }\n\n .sort-button {\n display: none !important;\n }\n\n .sort-button.visible,\n .sort-button.selected {\n display: flex !important;\n }\n\n .pin-button.visible,\n .pin-button.selected {\n display: flex !important;\n }\n .pin-button {\n font-variation-settings: 'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 10;\n }\n\n .header-menu {\n display: none;\n }\n\n ${({ $isOpen }) =>\n $isOpen &&\n `\n .header-menu {\n display: flex !important;\n }\n `}\n\n .header-menu.open,\n .header-menu.active {\n display: flex !important;\n }\n\n .resizing & {\n .sort-button,\n .pin-button,\n .header-menu {\n display: none !important;\n }\n }\n`\n\ntype TableCellProps = {\n $isLastPinned?: boolean\n}\n\nexport const TD = styled.td<TableCellProps>`\n position: relative;\n box-shadow: ${getDefaultShadow(false)};\n background-color: var(--color-table-row);\n\n &.${DRAG_HANDLE_CLASS} {\n // Styles for the button inside the drag handle cell\n button {\n opacity: 0; // Default: hidden\n visibility: hidden;\n transition: opacity 0.2s ease, visibility 0.2s ease;\n // Base appearance styles (cursor, border, background, etc.)\n // are primarily handled by inline styles in RowDragHandleCellContent.tsx.\n // Add any necessary overrides or defaults here if needed.\n // For example, ensuring the button itself doesn't interfere with cell styling:\n background: transparent;\n border: none;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n }\n }\n\n /* Lighter background for expandable rows */\n &.expandable {\n background-color: var(--color-table-row-high);\n }\n\n &.selected-row {\n background-color: var(--color-table-selected-row);\n }\n\n /* show hover effect only if direct child div does NOT have .readonly and is not selected */\n &:not(:has(> div.readonly)) {\n cursor: pointer;\n &:hover {\n background-color: var(--color-table-hover);\n }\n\n &.selected {\n background-color: var(--color-table-selected);\n }\n }\n\n &.selected {\n background-color: var(--color-table-selected);\n position: relative;\n z-index: 1;\n }\n\n /* remove default focus style */\n &:focus-visible {\n outline: none;\n }\n\n /* Styling for the last pinned left column */\n /* extra border on the right */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* Shadow combinations - single side */\n &.shadow-top:not(.shadow-right):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right:not(.shadow-top):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom:not(.shadow-top):not(.shadow-right):not(.shadow-left) {\n box-shadow: ${bottomShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-left:not(.shadow-top):not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${leftShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Two sides */\n &.shadow-top.shadow-right:not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom:not(.shadow-right):not(.shadow-left) {\n box-shadow: ${topShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-left:not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom:not(.shadow-top):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-left:not(.shadow-top):not(.shadow-bottom) {\n box-shadow: ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom.shadow-left:not(.shadow-top):not(.shadow-right) {\n box-shadow: ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Three sides */\n &.shadow-top.shadow-right.shadow-bottom:not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-right.shadow-left:not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom.shadow-left:not(.shadow-right) {\n box-shadow: ${topShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom.shadow-left:not(.shadow-top) {\n box-shadow: ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* All four sides */\n &.shadow-top.shadow-right.shadow-bottom.shadow-left {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Focus styling */\n &.focused {\n position: relative;\n z-index: 2;\n }\n\n /* Use pseudo-element for focused outline to avoid box-shadow conflicts */\n &.focused::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid var(--md-sys-color-primary);\n pointer-events: none;\n }\n\n /* read only fields are dimmed down for bg and border */\n &:has(> div.readonly) {\n &:not(.multiple-selected) {\n &.focused {\n background-color: var(--color-table-readonly-focused);\n &::after {\n border-color: var(--color-table-readonly-focused);\n }\n }\n }\n\n /* when focused is readonly and multiple-selected */\n &.multiple-selected {\n &.focused::after {\n display: none;\n }\n }\n }\n\n /* if there is no cell widget element (no children) then the cell should not be selectable at all */\n &:not(:has(> div)) {\n /* pointer-events: none; */\n cursor: default;\n }\n\n &.editing {\n z-index: 10 !important;\n /* light border around the outside */\n &::before {\n content: '';\n position: absolute;\n inset: 2px;\n border: 2px solid var(--md-sys-color-surface-container-low);\n }\n }\n\n /* special styles for selection bar cells */\n &.__row_selection__ {\n width: 20px !important;\n min-width: unset;\n\n &.selected {\n background-color: var(--md-sys-color-primary-container) !important;\n box-shadow: none !important;\n /* reveal the check mark */\n [icon='check'] {\n display: block;\n }\n }\n }\n`\n\nexport const ColumnDividers = styled.div`\n position: absolute;\n inset: 0;\n pointer-events: none;\n\n div {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 1px;\n background-color: var(--md-sys-color-surface-container);\n }\n`\n\nexport const TableHeader = styled.thead`\n display: grid !important;\n position: sticky;\n top: 0;\n min-height: 34px;\n z-index: 10;\n background-color: var(--md-sys-color-surface-container-lowest);\n\n .resizing & {\n cursor: col-resize !important;\n }\n`\n\nexport const TableWrapper = styled.div`\n overflow: hidden;\n position: absolute;\n inset: 0;\n border-radius: var(--border-radius-m);\n\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const TableContainer = styled.div`\n position: relative;\n display: flex;\n\n height: 100%;\n width: 100%;\n overflow: auto;\n padding: 4px;\n padding-top: 0;\n\n &.isLoading {\n overflow: hidden;\n }\n\n /* Hide all header buttons when any column is being resized */\n &.resizing {\n .actions {\n display: none !important;\n }\n }\n\n table {\n height: fit-content;\n width: 100%;\n display: grid;\n }\n\n thead {\n display: none;\n }\n\n tbody {\n position: relative;\n display: grid;\n }\n\n td {\n height: 34px;\n padding: 1px 0px;\n width: 100%;\n }\n`\n\nexport const LinkColumnHeader = styled.div`\n display: flex;\n align-items: center;\n gap: 4px;\n .icon {\n font-size: 18px;\n color: var(--md-sys-color-outline);\n }\n`\n\nexport const AnimatedEmptyPlaceholder = styled.div`\n animation: fadeIn 20ms ease-in forwards;\n animation-delay: 300ms;\n opacity: 0;\n z-index: 100;\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n`\n\nexport const SummaryPowerFeature = styled.span`\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 0 8px;\n color: var(--md-sys-color-on-surface);\n white-space: nowrap;\n\n .icon {\n font-size: 18px;\n color: var(--md-sys-color-tertiary);\n }\n`\n\nexport const SoftErrorBanner = styled.div`\n position: absolute;\n bottom: 60px; // to go above the footer stats\n left: 8px;\n right: 8px;\n z-index: 100;\n pointer-events: none;\n\n .message {\n pointer-events: auto;\n box-shadow: var(--md-sys-shadow-level-2);\n padding: var(--padding-s);\n }\n`\n"],"names":["topShadow","rightShadow","bottomShadow","leftShadow","getDefaultShadow","isLastPinned","DRAG_HANDLE_CLASS","TR","styled","TableCellContent","ResizedHandler","ColumnHeader","HeaderCell","HeaderButtons","$isOpen","TD","$isLastPinned","ColumnDividers","TableHeader","TableWrapper","TableContainer","LinkColumnHeader","AnimatedEmptyPlaceholder","SoftErrorBanner"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProjectTreeTable.styled.es.js","sources":["../../../../../src/containers/ProjectTreeTable/ProjectTreeTable.styled.ts"],"sourcesContent":["import styled from 'styled-components'\n\n// Create shadow mixins to make combinations work properly\nconst topShadow = `inset 0 1px 0 0 var(--md-sys-color-primary)`\nconst rightShadow = `inset -1px 0 0 0 var(--md-sys-color-primary)`\nconst bottomShadow = `inset 0 -1px 0 0 var(--md-sys-color-primary)`\nconst leftShadow = `inset 1px 0 0 0 var(--md-sys-color-primary)`\n\nconst getDefaultShadow = (isLastPinned: boolean) => {\n const defaultShadow = `inset 1px -1px 0 0 var(--md-sys-color-surface-container)`\n const defaultShadowLastPinned = `inset -2px -1px 0 0 var(--md-sys-color-surface-container), inset 1px 0 0 0 var(--md-sys-color-surface-container)`\n return isLastPinned ? defaultShadowLastPinned : defaultShadow\n}\n\n// Use the known string literal for DRAG_HANDLE_COLUMN_ID to avoid import complexities here\nconst DRAG_HANDLE_CLASS = 'drag-handle'\n\nexport const TR = styled.tr`\n display: flex;\n position: absolute;\n width: 100%;\n\n &:hover {\n // When the row (TR) is hovered...\n\n // Target the button inside the drag handle cell to make it visible at 50% opacity.\n // This uses a more specific selector by including 'td' to ensure it correctly targets the cell.\n td.${DRAG_HANDLE_CLASS} button {\n opacity: 0.5;\n visibility: visible;\n }\n\n // When the row (TR) is hovered AND the button inside drag handle cell is also hovered...\n // Make the button 100% opacity. This selector is more specific and will override the above.\n td.${DRAG_HANDLE_CLASS} button:hover {\n opacity: 1;\n }\n\n /* row selection hover */\n td:not(.selected) {\n background-color: var(--color-table-row-hover);\n }\n }\n\n &.group-row {\n td {\n /* group headers do not have vertical grid lines */\n box-shadow: inset 0px -1px 0 0 var(--md-sys-color-surface-container);\n }\n }\n`\n\nexport const TableCellContent = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n height: 100%;\n width: 100%;\n padding: 0px 8px;\n overflow: hidden;\n border-radius: var(--border-radius-m);\n user-select: none;\n padding-right: 0;\n\n /* header cells have content-driven height, so size containment would collapse them */\n &:not(.header) {\n container-type: size;\n container-name: cell;\n }\n\n &.bold {\n font-weight: 600;\n }\n\n &.loading {\n margin: 0px 5px;\n padding: 0 !important;\n width: calc(100% - 10px);\n height: calc(100% - 6px);\n margin-top: 3px;\n }\n\n &:focus-visible {\n outline: none;\n }\n\n .resizing & {\n cursor: col-resize !important;\n }\n`\n\nexport const ResizedHandler = styled.div`\n position: absolute;\n right: -1px;\n top: 0;\n bottom: 0;\n width: 6px;\n cursor: col-resize !important;\n background-color: var(--md-sys-color-surface-container-high);\n\n opacity: 0;\n\n &.resizing {\n background-color: var(--md-sys-color-primary);\n opacity: 1;\n cursor: col-resize !important;\n }\n`\n\nexport const ColumnHeader = styled.tr`\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const HeaderCell = styled.th`\n position: relative;\n background-color: var(--md-sys-color-surface-container-lowest);\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container);\n display: flex;\n align-items: center;\n min-height: fit-content;\n white-space: nowrap;\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-lowest-hover);\n .resize-handle {\n opacity: 1;\n }\n\n .actions {\n display: flex !important;\n background-color: var(--md-sys-color-surface-container-lowest-hover);\n }\n\n .actions .sort-button,\n .actions .header-menu {\n display: flex !important;\n }\n }\n\n /* Hide action buttons when resizing */\n &.resizing {\n .actions {\n display: none !important;\n }\n cursor: col-resize !important;\n\n * {\n cursor: col-resize !important;\n }\n }\n\n /* Styling for the last pinned left column */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* special styles for the left selection column */\n &.__row_selection__ {\n min-width: unset;\n width: 20px !important;\n\n .actions {\n display: none;\n }\n }\n &.draggable {\n cursor: grab;\n &:active {\n cursor: grabbing;\n }\n }\n`\n\nexport const HeaderButtons = styled.div<{ $isOpen: boolean }>`\n display: none;\n\n ${({ $isOpen }) =>\n $isOpen &&\n `\n display: flex !important;\n `}\n\n gap: var(--base-gap-small);\n align-items: center;\n\n position: absolute;\n z-index: 10;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n background-color: var(--md-sys-color-surface-container-lowest);\n padding-left: 4px;\n\n .resizing & {\n cursor: col-resize !important;\n }\n\n &:has(.sort-button.visible),\n &:has(.sort-button.selected),\n &:has(.pin-button.visible),\n &:has(.pin-button.selected) {\n display: flex !important;\n }\n\n .sort-button {\n display: none !important;\n }\n\n .sort-button.visible,\n .sort-button.selected {\n display: flex !important;\n }\n\n .pin-button.visible,\n .pin-button.selected {\n display: flex !important;\n }\n .pin-button {\n font-variation-settings: 'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 10;\n }\n\n .header-menu {\n display: none;\n }\n\n ${({ $isOpen }) =>\n $isOpen &&\n `\n .header-menu {\n display: flex !important;\n }\n `}\n\n .header-menu.open,\n .header-menu.active {\n display: flex !important;\n }\n\n .resizing & {\n .sort-button,\n .pin-button,\n .header-menu {\n display: none !important;\n }\n }\n`\n\ntype TableCellProps = {\n $isLastPinned?: boolean\n}\n\nexport const TD = styled.td<TableCellProps>`\n position: relative;\n box-shadow: ${getDefaultShadow(false)};\n background-color: var(--color-table-row);\n\n &.${DRAG_HANDLE_CLASS} {\n // Styles for the button inside the drag handle cell\n button {\n opacity: 0; // Default: hidden\n visibility: hidden;\n transition: opacity 0.2s ease, visibility 0.2s ease;\n // Base appearance styles (cursor, border, background, etc.)\n // are primarily handled by inline styles in RowDragHandleCellContent.tsx.\n // Add any necessary overrides or defaults here if needed.\n // For example, ensuring the button itself doesn't interfere with cell styling:\n background: transparent;\n border: none;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n }\n }\n\n /* Lighter background for expandable rows */\n &.expandable {\n background-color: var(--color-table-row-high);\n }\n\n &.selected-row {\n background-color: var(--color-table-selected-row);\n }\n\n /* show hover effect only if direct child div does NOT have .readonly and is not selected */\n &:not(:has(> div.readonly)) {\n cursor: pointer;\n &:hover {\n background-color: var(--color-table-hover);\n }\n\n &.selected {\n background-color: var(--color-table-selected);\n }\n }\n\n &.selected {\n background-color: var(--color-table-selected);\n position: relative;\n z-index: 1;\n }\n\n /* remove default focus style */\n &:focus-visible {\n outline: none;\n }\n\n /* Styling for the last pinned left column */\n /* extra border on the right */\n &.last-pinned-left {\n box-shadow: inset 1px -1px 0 0 var(--md-sys-color-surface-container),\n inset -2px 0 0 0 var(--md-sys-color-surface-container);\n }\n\n /* Shadow combinations - single side */\n &.shadow-top:not(.shadow-right):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right:not(.shadow-top):not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom:not(.shadow-top):not(.shadow-right):not(.shadow-left) {\n box-shadow: ${bottomShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-left:not(.shadow-top):not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${leftShadow}, ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Two sides */\n &.shadow-top.shadow-right:not(.shadow-bottom):not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom:not(.shadow-right):not(.shadow-left) {\n box-shadow: ${topShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-left:not(.shadow-right):not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom:not(.shadow-top):not(.shadow-left) {\n box-shadow: ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-left:not(.shadow-top):not(.shadow-bottom) {\n box-shadow: ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-bottom.shadow-left:not(.shadow-top):not(.shadow-right) {\n box-shadow: ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Three sides */\n &.shadow-top.shadow-right.shadow-bottom:not(.shadow-left) {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-right.shadow-left:not(.shadow-bottom) {\n box-shadow: ${topShadow}, ${rightShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-top.shadow-bottom.shadow-left:not(.shadow-right) {\n box-shadow: ${topShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n &.shadow-right.shadow-bottom.shadow-left:not(.shadow-top) {\n box-shadow: ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* All four sides */\n &.shadow-top.shadow-right.shadow-bottom.shadow-left {\n box-shadow: ${topShadow}, ${rightShadow}, ${bottomShadow}, ${leftShadow},\n ${({ $isLastPinned }) => getDefaultShadow($isLastPinned || false)};\n }\n\n /* Focus styling */\n &.focused {\n position: relative;\n z-index: 2;\n }\n\n /* Use pseudo-element for focused outline to avoid box-shadow conflicts */\n &.focused::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid var(--md-sys-color-primary);\n pointer-events: none;\n }\n\n /* read only fields are dimmed down for bg and border */\n &:has(> div.readonly) {\n &:not(.multiple-selected) {\n &.focused {\n background-color: var(--color-table-readonly-focused);\n &::after {\n border-color: var(--color-table-readonly-focused);\n }\n }\n }\n\n /* when focused is readonly and multiple-selected */\n &.multiple-selected {\n &.focused::after {\n display: none;\n }\n }\n }\n\n /* if there is no cell widget element (no children) then the cell should not be selectable at all */\n &:not(:has(> div)) {\n /* pointer-events: none; */\n cursor: default;\n }\n\n &.editing {\n z-index: 10 !important;\n /* light border around the outside */\n &::before {\n content: '';\n position: absolute;\n inset: 2px;\n border: 2px solid var(--md-sys-color-surface-container-low);\n }\n }\n\n /* special styles for selection bar cells */\n &.__row_selection__ {\n width: 20px !important;\n min-width: unset;\n\n &.selected {\n background-color: var(--md-sys-color-primary-container) !important;\n box-shadow: none !important;\n /* reveal the check mark */\n [icon='check'] {\n display: block;\n }\n }\n }\n`\n\nexport const ColumnDividers = styled.div`\n position: absolute;\n inset: 0;\n pointer-events: none;\n\n div {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 1px;\n background-color: var(--md-sys-color-surface-container);\n }\n`\n\nexport const TableHeader = styled.thead`\n display: grid !important;\n position: sticky;\n top: 0;\n min-height: 34px;\n z-index: 10;\n background-color: var(--md-sys-color-surface-container-lowest);\n\n .resizing & {\n cursor: col-resize !important;\n }\n`\n\nexport const TableWrapper = styled.div`\n overflow: hidden;\n position: absolute;\n inset: 0;\n border-radius: var(--border-radius-m);\n\n background-color: var(--md-sys-color-surface-container-low);\n`\n\nexport const TableContainer = styled.div`\n position: relative;\n display: flex;\n\n height: 100%;\n width: 100%;\n overflow: auto;\n padding: 4px;\n padding-top: 0;\n\n &.isLoading {\n overflow: hidden;\n }\n\n /* Hide all header buttons when any column is being resized */\n &.resizing {\n .actions {\n display: none !important;\n }\n }\n\n table {\n height: fit-content;\n width: 100%;\n display: grid;\n }\n\n thead {\n display: none;\n }\n\n tbody {\n position: relative;\n display: grid;\n }\n\n td {\n height: 34px;\n padding: 1px 0px;\n width: 100%;\n }\n`\n\nexport const LinkColumnHeader = styled.div`\n display: flex;\n align-items: center;\n gap: 4px;\n .icon {\n font-size: 18px;\n color: var(--md-sys-color-outline);\n }\n`\n\nexport const AnimatedEmptyPlaceholder = styled.div`\n animation: fadeIn 20ms ease-in forwards;\n animation-delay: 300ms;\n opacity: 0;\n z-index: 100;\n\n @keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n`\n\nexport const SummaryPowerFeature = styled.span`\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 0 8px;\n color: var(--md-sys-color-on-surface);\n white-space: nowrap;\n\n .icon {\n font-size: 18px;\n color: var(--md-sys-color-tertiary);\n }\n`\n\nexport const SoftErrorBanner = styled.div`\n position: absolute;\n bottom: 60px; // to go above the footer stats\n left: 8px;\n right: 8px;\n z-index: 100;\n pointer-events: none;\n\n .message {\n pointer-events: auto;\n box-shadow: var(--md-sys-shadow-level-2);\n padding: var(--padding-s);\n }\n`\n"],"names":["topShadow","rightShadow","bottomShadow","leftShadow","getDefaultShadow","isLastPinned","DRAG_HANDLE_CLASS","TR","styled","TableCellContent","ResizedHandler","ColumnHeader","HeaderCell","HeaderButtons","$isOpen","TD","$isLastPinned","ColumnDividers","TableHeader","TableWrapper","TableContainer","LinkColumnHeader","AnimatedEmptyPlaceholder","SoftErrorBanner"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("../../../../_virtual/jsx-runtime.cjs.js"),z=require("@tanstack/react-table");require("./widgets/CollapsedWidget.cjs.js");require("./widgets/DateWidget.cjs.js");require("./widgets/EnumWidget.cjs.js");require("./widgets/EnumCellValue.cjs.js");require("./widgets/TextWidget.cjs.js");require("./widgets/MarkdownWidget.cjs.js");require("./widgets/BooleanWidget.cjs.js");const C=require("./widgets/CellWidget.cjs.js"),le=require("./widgets/EntityNameWidget.cjs.js"),U=require("./widgets/EntityWidget.cjs.js"),ue=require("./widgets/GroupHeaderWidget.cjs.js"),oe=require("./widgets/ThumbnailWidget.cjs.js");require("./widgets/LinksWidget.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../../components/DoneCheckbox/DoneCheckbox.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("../../components/LinksManager/CellEditingDialog.cjs.js");require("react");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("short-uuid");const $=require("./constants.cjs.js"),B=require("@ynput/ayon-react-components");require("../../components/SearchFilter/filterDates.cjs.js");require("date-fns");const m=require("./utils/columnIds.cjs.js"),D=require("./utils/cellUtils.cjs.js"),Z=require("../../util/getEntityTypeIcon.cjs.js"),H=require("./utils/restrictedEntity.cjs.js");require("../../context/ProjectContext.cjs.js");const f=require("./hooks/useBuildGroupByTableData.cjs.js"),de=require("./context/ColumnSettingsContext.cjs.js");require("./context/ProjectTableContextInstance.cjs.js");require("./widgets/EmptyWidget.cjs.js");require("./widgets/ErrorWidget.cjs.js");const ge=require("./widgets/MetaWidget.cjs.js"),G=require("./ProjectTreeTable.styled.cjs.js"),T=require("clsx"),pe=require("./components/SelectionCell.cjs.js"),ce=require("./components/RowSelectionHeader.cjs.js");require("react-toastify");const ye=require("lodash");require("uuid");require("../../util/pubsub.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("react-router-dom");const me=require("./context/CellEditingContext.cjs.js");require("./context/SelectionCellsContext.cjs.js");require("./context/ProjectTableQueriesContext.cjs.js");require("./context/ClipboardContext.cjs.js");require("./context/SelectedRowsContext.cjs.js");require("./context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("../ContextMenu/ContextMenuContext.cjs.js");require("../../context/DeleteEntitiesContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("./context/ProjectDataContextInstance.cjs.js");require("../../context/ProjectFoldersContextInstance.cjs.js");const be=require("./widgets/LoadMoreWidget.cjs.js"),Te=require("./types/columnConfig.cjs.js"),Q=n=>["folder","product"].includes(n),I=50,y={thumbnail:"Thumbnail",status:"Status",entityType:"Entity type",subType:"Type",productType:"Product type",assignees:"Assignees",folder_entity:"Folder",task_entity:"Task",author:"Author",version:"Version number",version_entity:"Version",product:"Product name",productBaseType:"Base type",taskType:"Task type",folderType:"Folder type",tags:"Tags",createdAt:"Created at",updatedAt:"Updated at",subtasks:"Subtasks",comments:"Latest comments"},h=(n,o=[])=>n==="subType"&&o.some(u=>["product","version"].includes(u))?"Product type":y[m.normalizeColumnId(n)]||n,j={thumbnail:{enabled:!1,label:y.thumbnail},name:{sortKey:"name",enabled:!0,label:"Name"},entityType:{enabled:!1,label:y.entityType},status:{sortKey:"status",sortDescFirst:!1,enabled:!0,label:y.status},assignees:{sortKey:"assignees",enabled:!0,label:y.assignees,scopes:["task"]},folder_entity:{sortKey:"folderName",sortDescFirst:!1,enabled:!0,label:y.folder_entity},task_entity:{sortKey:"taskName",enabled:!1,label:y.task_entity,scopes:["version","product"]},author:{sortKey:"author",enabled:!0,label:y.author,scopes:["version","product"]},version:{sortKey:"version",sortDescFirst:!0,enabled:!0,label:y.version,scopes:["version","product"]},version_entity:{sortKey:"version",enabled:!0,label:y.version_entity,scopes:["version","product"]},product:{sortKey:"product",enabled:!0,label:y.product,scopes:["version","product"]},productBaseType:{sortKey:"productBaseType",enabled:!0,label:y.productBaseType,scopes:["version","product"]},taskType:{sortKey:"taskType",sortDescFirst:!0,enabled:!0,label:y.taskType,scopes:["version","product"]},folderType:{sortKey:"folderType",enabled:!0,label:y.folderType,scopes:["version","product"]},productType:{sortKey:"productType",enabled:!0,label:y.productType,scopes:["version","product"]},tags:{sortKey:"tags",enabled:!0,label:y.tags},createdAt:{sortKey:"createdAt",enabled:!0,label:y.createdAt},updatedAt:{sortKey:"updatedAt",enabled:!0,label:y.updatedAt},subtasks:{enabled:!1,label:y.subtasks},comments:{enabled:!1,label:y.comments}},qe=(n,o=[])=>Object.entries(j).filter(([,u])=>u.enabled&&(!u.scopes||!n||u.scopes.some(g=>n.includes(g)))).map(([u,g])=>({id:u,label:o.find(E=>m.normalizeColumnId(E.value)===u)?.label||h(u,n)})),w=n=>j[m.normalizeColumnId(n)]?.enabled??!n.startsWith("link_"),fe=(n,o=!0,u)=>{if(!n)return;const g=m.normalizeColumnId(n);if(g==="name"&&!o)return"path";if(g==="subType"){if(u==="folder")return"folderType";if(u==="product"||u==="version")return"productType";if(u==="task")return"taskType"}return j[g]?.sortKey??g},v=n=>(o,u,...g)=>o.original.isLoading!==u.original.isLoading?o.original.isLoading?1:-1:n(o,u,...g),ee=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}),R=n=>(o,u,...g)=>{const E=n(o,u,...g);if(E!==0)return E;const L=o.original.label||o.original.name||"",S=u.original.label||u.original.name||"";return ee.compare(L,S)},A=(n,o)=>{const u=n.original.label||n.original.path||n.original.name||"",g=o.original.label||o.original.path||o.original.name||"";return ee.compare(u,g)},J=(n,o,u)=>{const g=D.getCellValue(n.original,u),E=D.getCellValue(o.original,u),L=Array.isArray(g)?g.length:g?String(g).length:0,S=Array.isArray(E)?E.length:E?String(E).length:0;return L-S},V=(n,o,u,g)=>{const E=D.getCellValue(n.original,u),L=D.getCellValue(o.original,u);if(g&&g.enum){const S=g.enum.findIndex(P=>P.value===E),F=g.enum.findIndex(P=>P.value===L);return S-F}else return g?.type==="datetime"?z.sortingFns.datetime(n,o,u):g?.type==="boolean"?(E===!0?1:0)-(L===!0?1:0):z.sortingFns.alphanumeric(n,o,u)},ie=(n,o)=>`${n.linkType.charAt(0).toUpperCase()+n.linkType.slice(1)} (${o})`,X=(n,o)=>`${n.name.replaceAll("_","").replaceAll("-","").replaceAll("|","_")}_${o}`,te=(n,o)=>`link_${X(n,o)}`,Ie=({scopes:n,attribs:o,links:u=[],includeLinks:g=!0,showHierarchy:E,isFlatFolderView:L,options:S,excluded:F,excludedSorting:P,extraColumns:Y,groupBy:K,nameLabel:ne="Entity"})=>{const b=[],c=e=>!F?.some(i=>m.normalizeColumnId(i)===m.normalizeColumnId(e)),x=e=>w(e)&&!P?.some(i=>m.normalizeColumnId(i)===m.normalizeColumnId(e));c($.ROW_SELECTION_COLUMN_ID)&&b.push({id:$.ROW_SELECTION_COLUMN_ID,enableResizing:!1,enableSorting:!1,enablePinning:!1,enableHiding:!1,header:()=>d.jsxRuntimeExports.jsx(ce,{}),cell:({row:e})=>e.original.entityType==="group"||e.original.metaType?null:d.jsxRuntimeExports.jsx(pe.SelectionCell,{}),size:20}),c("thumbnail")&&b.push({id:"thumbnail",header:h("thumbnail"),size:63,minSize:24,enableResizing:!0,enableSorting:!1,cell:({row:e,column:i,table:t})=>{if(e.original.entityType==="group"||e.original.metaType)return null;const r=t.options.meta;if(!r)return null;const a=D.getCellId(e.id,i.id);let s={entityId:e.original.entityId||e.id,entityType:e.original.entityType,thumbnailHash:e.original.thumbnailHash};return e.original.thumbnail&&(s=e.original.thumbnail),d.jsxRuntimeExports.jsx(oe.ThumbnailWidget,{id:a,entityId:s.entityId,entityType:s.entityType,thumbnailHash:s.thumbnailHash,icon:e.original.icon,projectName:r?.projectName,className:T("thumbnail",{loading:e.original.isLoading}),isPlayable:e.original.hasReviewables})}}),c("name")&&b.push({id:"name",accessorKey:"name",header:ne,minSize:I,sortingFn:v(A),enableSorting:K&&K.id!=="folder"?!1:x("name"),enableResizing:!0,enablePinning:!0,enableHiding:!(K&&K.id!=="folder"),cell:({row:e,column:i,table:t})=>{const{value:r,id:a,type:s}=q(e,i.id),l=t.options.meta,{isEditing:p}=me.useCellEditing(),{rowHeight:_=40}=de.useColumnSettingsContext(),N=D.getCellId(e.id,i.id);if(e.original.metaType)return d.jsxRuntimeExports.jsx(G.TableCellContent,{id:N,className:T("large","readonly",e.original.entityType),style:{paddingLeft:`calc(${e.depth*1}rem + 8px)`,pointerEvents:"none"},tabIndex:0,children:d.jsxRuntimeExports.jsx(ge.MetaWidget,{metaType:e.original.metaType,label:e.original.label})});if(e.original.entityType===f.NEXT_PAGE_ID&&e.original.group)return d.jsxRuntimeExports.jsx(be,{id:e.original.group.value,onLoadMore:W=>l?.loadMoreRows?.(W)});const O=e.getCanExpand()&&!!e.originalSubRows&&(Q(e.original.entityType)||!!e.original.group);return d.jsxRuntimeExports.jsxs(G.TableCellContent,{id:N,className:T("large",e.original.entityType,{loading:e.original.isLoading,hierarchy:E}),style:{paddingLeft:`calc(${e.depth*1}rem + ${O||!e.getCanExpand()?0:32}px + 8px)`},tabIndex:0,children:[e.original.group?d.jsxRuntimeExports.jsx(ue.GroupHeaderWidget,{id:e.id,label:e.original.group.label,name:e.original.name,icon:e.original.group.icon,img:e.original.group.img,color:e.original.group.color,count:e.original.group.count,percentage:e.original.group.percentage,isExpanded:e.getIsExpanded(),isEmpty:e.original.group.count===0,toggleExpanded:e.getToggleExpandedHandler()}):d.jsxRuntimeExports.jsx(le.EntityNameWidget,{id:e.id,label:e.original.label,name:e.original.name,path:!E&&!L?"/"+e.original.parents?.join("/"):void 0,entityType:e.original.entityType,subType:e.original.subType,isExpandable:O,isExpanded:e.getIsExpanded(),toggleExpandAll:()=>l?.toggleExpandAll?.([e.id]),toggleExpanded:e.getToggleExpandedHandler(),rowHeight:_,columnDisplayConfig:Te.getColumnDisplayConfig(l?.columnsConfig,"name")}),p(N)&&d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:a,className:T("name",{loading:e.original.isLoading}),columnId:i.id,value:r,valueData:{name:e.original.name,label:e.original.label,meta:l,entityRowId:a,columnId:i.id,hasVersions:!!e.original.hasVersions},entityType:s,attributeData:{type:"name"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:l?.readOnly?.includes(i.id)})]})}}),c("status")&&b.push({id:"status",accessorKey:"status",minSize:I,header:h("status"),sortingFn:v(R((e,i,t)=>V(e,i,t,{enum:S.status,type:"string"}))),sortDescFirst:j.status.sortDescFirst,enableSorting:x("status"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:t})=>{const{value:r,id:a,type:s}=q(e,i.id),l=t.options.meta;return["group",f.NEXT_PAGE_ID].includes(s)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:a,className:T("status",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"string"},options:l?.options?.status.filter(p=>p.scope?.includes(s)),isCollapsed:!!e.original.childOnlyMatch,onChange:p=>l?.updateEntities?.({field:i.id,value:p,type:s,rowId:a},{selection:l?.selection}),isReadOnly:l?.readOnly?.includes(i.id)||H.isEntityRestricted(s),pt:{enum:{pt:{template:{pt:{icon:{style:{fontVariationSettings:"'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20"}}}}}}}})}}),c("entityType")&&b.push({id:"entityType",accessorKey:"entityType",header:h("entityType"),minSize:20,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(R(z.sortingFns.alphanumeric)),cell:({row:e,column:i,table:t})=>{const{value:r,id:a,type:s}=q(e,i.id);if(["group",f.NEXT_PAGE_ID].includes(s)||e.original.metaType)return null;const l=D.getCellId(e.id,i.id);return d.jsxRuntimeExports.jsxs(G.TableCellContent,{id:l,className:T("entityType",H.READ_ONLY,s,{loading:e.original.isLoading}),tabIndex:0,children:[d.jsxRuntimeExports.jsx(B.Icon,{icon:Z.getEntityTypeIcon(s)})," ",ye.upperFirst(r)]})}}),c("subType")&&b.push({id:"subType",accessorKey:"subType",header:h("subType",n),minSize:I,enableSorting:x("subType"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortDescFirst:j.taskType.sortDescFirst,sortingFn:v(R((e,i,t)=>V(e,i,t,{enum:[...S.folderType,...S.taskType],type:"string"}))),cell:({row:e,column:i,table:t})=>{const{value:r,id:a,type:s}=q(e,i.id);if(["group",f.NEXT_PAGE_ID].includes(s)||e.original.metaType)return null;const l=s==="folder"?"folderType":"taskType",p=t.options.meta,_=s==="folder"&&e.original.hasVersions;return d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:a,className:T("subType",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"string"},options:s==="folder"?p?.options?.folderType:s==="task"?p?.options?.taskType:s==="product"||s==="version"?p?.options?.productType:[],isCollapsed:!!e.original.childOnlyMatch,onChange:N=>p?.updateEntities?.({field:l,value:N,type:s,rowId:e.id},{selection:p?.selection}),isReadOnly:p?.readOnly?.includes(i.id)||p?.readOnly?.includes(l)||_,tooltip:_?"Folder type cannot be edited when versions exist within the folder":void 0,pt:{enum:{pt:{template:{iconOnlyColor:!0}}}}})}}),c("assignees")&&b.push({id:"assignees",accessorKey:"assignees",header:h("assignees"),minSize:I,enableSorting:x("assignees"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(R(J)),cell:({row:e,column:i,table:t})=>{const r=t.options.meta,{value:a,id:s,type:l}=q(e,i.id);return["group",f.NEXT_PAGE_ID].includes(l)||e.original.metaType?null:l==="folder"?d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:T("assignees",{loading:e.original.isLoading}),columnId:i.id,value:"",isPlaceholder:!0}):d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:T("assignees",{loading:e.original.isLoading}),columnId:i.id,value:a,attributeData:{type:"list_of_strings"},options:r?.options?.assignee,isCollapsed:!!e.original.childOnlyMatch,onChange:p=>r?.updateEntities?.({field:i.id,value:p,type:l,rowId:e.id},{selection:r?.selection}),isReadOnly:r?.readOnly?.includes(i.id)||H.isEntityRestricted(l),pt:{enum:{multiSelectClose:a?.length===0,search:!0,multipleOverride:!1}}})}}),c(m.ENTITY_COLUMN_IDS.folder)&&b.push({id:m.ENTITY_COLUMN_IDS.folder,accessorKey:"folder",header:h(m.ENTITY_COLUMN_IDS.folder),minSize:I,sortDescFirst:j.folder_entity.sortDescFirst,sortingFn:v(A),enableSorting:x(m.ENTITY_COLUMN_IDS.folder),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:t})=>{const{value:r,id:a,type:s}=q(e,"folder");return["group",f.NEXT_PAGE_ID].includes(s)||e.original.metaType?null:d.jsxRuntimeExports.jsx(U.EntityWidget,{rowId:a,className:"folder",columnId:i.id,value:r,entityId:e.original.folderId,entityType:"folder",subType:e.original.folderType,isLoading:e.original.isLoading})}}),c(m.ENTITY_COLUMN_IDS.task)&&["version","product"].some(e=>n.includes(e))&&b.push({id:m.ENTITY_COLUMN_IDS.task,accessorKey:"taskLabel",header:h(m.ENTITY_COLUMN_IDS.task),minSize:I,enableSorting:x(m.ENTITY_COLUMN_IDS.task),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(A),cell:({row:e,column:i})=>{const{value:t,id:r,type:a}=q(e,"taskLabel");return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(U.EntityWidget,{rowId:r,className:"task_entity",columnId:i.id,value:t,entityId:e.original.taskId,entityType:"task",subType:e.original.taskType,isLoading:e.original.isLoading})}}),c("author")&&["version","product"].some(e=>n.includes(e))&&b.push({id:"author",accessorKey:"author",header:h("author"),minSize:I,enableSorting:x("author"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(A),cell:({row:e,column:i,table:t})=>{const r=t.options.meta,{value:a,id:s,type:l}=q(e,i.id);return["group",f.NEXT_PAGE_ID].includes(l)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:T("author",{loading:e.original.isLoading}),columnId:i.id,value:[a],attributeData:{type:"list_of_strings"},options:r?.options?.assignee,isReadOnly:!0,isInherited:l==="product"})}}),c(m.ENTITY_COLUMN_IDS.version)&&["version","product"].some(e=>n.includes(e))&&b.push({id:m.ENTITY_COLUMN_IDS.version,accessorKey:"versionName",header:h(m.ENTITY_COLUMN_IDS.version),minSize:I,enableSorting:x(m.ENTITY_COLUMN_IDS.version),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(A),cell:({row:e,column:i})=>{const{value:t,id:r,type:a}=q(e,"versionName");if(["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType)return null;let s=e.original.versionName||t;return e.original.entityType==="product"&&(s=`${e.original.versionName} (${e.original.versionsCount||0} versions)`),d.jsxRuntimeExports.jsx(U.EntityWidget,{rowId:r,className:"version-entity",columnId:i.id,value:s,entityId:e.original.versionEntityId||(a==="version"?e.original.entityId:null),entityType:"version",isLoading:e.original.isLoading})}}),c("version")&&["version","product"].some(e=>n.includes(e))&&b.push({id:"version",accessorKey:"version",header:h("version"),minSize:I,sortDescFirst:j.version.sortDescFirst,enableSorting:x("version"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(R(z.sortingFns.basic)),cell:({row:e,column:i})=>{const{value:t,id:r,type:a}=q(e,i.id);return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:r,className:T("version",{loading:e.original.isLoading}),columnId:i.id,value:t??"",attributeData:{type:"integer"},isReadOnly:!0})}}),c("product")&&["version","product"].some(e=>n.includes(e))&&b.push({id:"product",accessorKey:"product",header:h("product"),minSize:I,enableSorting:x("product"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(A),cell:({row:e,column:i})=>{const{value:t,id:r,type:a}=q(e,i.id);return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:r,className:T("product",{loading:e.original.isLoading}),columnId:i.id,value:t,attributeData:{type:"string"},isReadOnly:!0})}}),c("tags")&&b.push({id:"tags",accessorKey:"tags",header:h("tags"),minSize:I,enableSorting:x("tags"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(R(J)),cell:({row:e,column:i,table:t})=>{const r=t.options.meta,{value:a,id:s,type:l}=q(e,i.id);return["group",f.NEXT_PAGE_ID].includes(l)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:T("tags",{loading:e.original.isLoading}),columnId:i.id,value:a,attributeData:{type:"list_of_strings"},options:r?.options?.tag,isCollapsed:!!e.original.childOnlyMatch,onChange:p=>r?.updateEntities?.({field:i.id,value:p,type:l,rowId:e.id},{selection:r?.selection}),isReadOnly:r?.readOnly?.includes(i.id)||H.isEntityRestricted(l),enableCustomValues:!0})}}),c("createdAt")&&b.push({id:"createdAt",accessorKey:"createdAt",header:h("createdAt"),minSize:I,enableSorting:x("createdAt"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(R(z.sortingFns.datetime)),cell:({row:e,column:i})=>{const{value:t,id:r,type:a}=q(e,i.id);return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:r,className:T("createdAt",{loading:e.original.isLoading}),columnId:i.id,value:t,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0,pt:{date:{showTime:!0}}})}}),c("updatedAt")&&b.push({id:"updatedAt",accessorKey:"updatedAt",header:h("updatedAt"),minSize:I,enableSorting:x("updatedAt"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(R(z.sortingFns.datetime)),cell:({row:e,column:i})=>{const{value:t,id:r,type:a}=q(e,i.id);return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:r,className:T("updatedAt",{loading:e.original.isLoading}),columnId:i.id,value:t,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0,pt:{date:{showTime:!0}}})}}),c("subtasks")&&n.includes("task")&&b.push({id:"subtasks",accessorKey:"subtasks",header:h("subtasks"),minSize:I,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:t})=>{const r=t.options.meta,{value:a,id:s,type:l}=q(e,i.id);if(["group",f.NEXT_PAGE_ID].includes(l)||e.original.metaType)return null;if(l!=="task")return d.jsxRuntimeExports.jsx("div",{className:"readonly"});const p={taskId:f.parseGroupId(e.id)||e.original.entityId||e.original.id,subtasks:a||[]};return d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:T("subtasks",{loading:e.original.isLoading}),columnId:i.id,value:p.subtasks?.map(_=>_.label||_.name)||[],valueData:p,attributeData:{type:"subtasks"},isReadOnly:r?.readOnly?.includes(i.id)})}}),c("comments")&&n.some(e=>["task","version","product","folder"].includes(e))&&b.push({id:"comments",accessorKey:"latestComments",header:h("comments"),minSize:I,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i})=>{const{value:t,id:r,type:a}=q(e,"latestComments");return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:!e.original.isLoading&&!["task","version","product","folder"].includes(a)?d.jsxRuntimeExports.jsx("div",{className:"readonly"}):d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:r,className:T("comments",{loading:e.original.isLoading}),columnId:i.id,value:"",valueData:t||[],attributeData:{type:"comments"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0})}});const re=o.filter(e=>{if(e.scope&&!e.scope.some(t=>n.includes(t)))return!1;const i="attrib_"+e.name;return!(!c(i)||e.builtin&&!c("attrib"))}).map(e=>({id:"attrib_"+e.name,accessorKey:"attrib."+e.name,header:e.data.title||e.name,minSize:I,filterFn:"fuzzy",sortingFn:v(R((t,r,a)=>V(t,r,a,e.data))),enableSorting:x(e.name)&&x("attrib"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:t,column:r,table:a})=>{const s=a.options.meta,l=r.id.replace("attrib_",""),{value:p,id:_,type:N}=q(t,l,"attrib"),O=!t.original.ownAttrib?.includes(l);return["group",f.NEXT_PAGE_ID].includes(N)||t.original.metaType||!e.scope?.includes(N)&&p==null?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:_,className:T("attrib",{loading:t.original.isLoading}),columnId:r.id,value:p,attributeData:{type:e.data.type||"string",widget:e.data.widget},options:e.data.enum||[],midnightExclusiveFields:t.original.midnightExclusiveFields,isCollapsed:!!t.original.childOnlyMatch,isInherited:O,isReadOnly:e.readOnly||s?.readOnly?.some(k=>k===l||k==="attrib"&&e.builtin),onChange:k=>s?.updateEntities?.({field:l,value:k,type:N,isAttrib:!0,rowId:t.id},{selection:e.data.enum?.length?s?.selection:void 0})})}})),ae=g?u.filter(e=>!(!c(e.linkType)||!c("link")||!n.includes(e.inputType)&&!n.includes(e.outputType))).flatMap(e=>{const i=t=>({id:te(e,t),accessorKey:`links.${X(e,t)}`,header:()=>d.jsxRuntimeExports.jsxs(G.LinkColumnHeader,{children:[ie(e,t)," ",d.jsxRuntimeExports.jsx(B.Icon,{icon:Z.getEntityTypeIcon(t==="in"?e.inputType:e.outputType)})]}),minSize:I,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:r,column:a,table:s})=>{const l=a.id.replace("link_",""),{id:p,value:_}=q(r,l,"links"),N=_?.map(se=>se.label),O=r.original.entityId||r.original.id,W=!!s.options.meta?.loadingLinksEntityIds?.has(O),k={links:_,direction:t,entityId:O,entityType:r.original.entityType,link:{label:e.linkType,linkType:e.name,targetEntityType:t==="in"?e.inputType:e.outputType}};return d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:p,className:T("links",{loading:r.original.isLoading}),columnId:a.id,value:N,valueData:k,folderId:r.original.folderId,attributeData:{type:"links"},isLinksLoading:W})}});return[i("in"),i("out")]}):[],M=[...b,...re,...ae];return Y&&Y.forEach(({column:e,position:i=-1})=>{i>=0&&i<M.length?M.splice(i,0,e):M.push(e)}),M},q=(n,o,u)=>({value:u?n.original[u]?.[o]:n.original[o],id:n.id,type:n.original.entityType});exports.COLUMN_LABELS=y;exports.COLUMN_MIN_SIZE=I;exports.COLUMN_SORT_CONFIG=j;exports.default=Ie;exports.getColumnLabel=h;exports.getColumnSortKey=fe;exports.getLinkColumnId=te;exports.getLinkKey=X;exports.getLinkLabel=ie;exports.getSortableColumnOptions=qe;exports.getValueIdType=q;exports.isColumnSortable=w;exports.isEntityExpandable=Q;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("../../../../_virtual/jsx-runtime.cjs.js"),z=require("@tanstack/react-table");require("./widgets/CollapsedWidget.cjs.js");require("./widgets/DateWidget.cjs.js");require("./widgets/EnumWidget.cjs.js");require("./widgets/EnumCellValue.cjs.js");require("./widgets/TextWidget.cjs.js");require("./widgets/MarkdownWidget.cjs.js");require("./widgets/BooleanWidget.cjs.js");const C=require("./widgets/CellWidget.cjs.js"),le=require("./widgets/EntityNameWidget.cjs.js"),U=require("./widgets/EntityWidget.cjs.js"),ue=require("./widgets/GroupHeaderWidget.cjs.js"),oe=require("./widgets/ThumbnailWidget.cjs.js");require("./widgets/LinksWidget.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../../components/DoneCheckbox/DoneCheckbox.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("../../context/RemoteModulesContext.cjs.js");require("react");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");const de=require("lodash");require("react-toastify");const $=require("../../util/getEntityTypeIcon.cjs.js");require("uuid");const B=require("./constants.cjs.js");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/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContextInstance.cjs.js");require("../../context/EntityUpdatesContextInstance.cjs.js");require("react-redux");require("../Views/ViewsMenu/ViewsMenu.cjs.js");const Z=require("@ynput/ayon-react-components");require("../Views/context/ViewsContextInstance.cjs.js");require("../../context/DeleteEntitiesContext.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("short-uuid");require("../../components/SearchFilter/filterDates.cjs.js");require("date-fns");const m=require("./utils/columnIds.cjs.js"),D=require("./utils/cellUtils.cjs.js"),H=require("./utils/restrictedEntity.cjs.js"),f=require("./hooks/useBuildGroupByTableData.cjs.js"),ge=require("./context/ColumnSettingsContext.cjs.js");require("./context/ProjectTableContextInstance.cjs.js");require("./widgets/EmptyWidget.cjs.js");require("./widgets/ErrorWidget.cjs.js");const ce=require("./widgets/MetaWidget.cjs.js"),G=require("./ProjectTreeTable.styled.cjs.js"),q=require("clsx"),pe=require("./components/SelectionCell.cjs.js"),ye=require("./components/RowSelectionHeader.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("react-router-dom");const me=require("./context/CellEditingContext.cjs.js");require("./context/SelectionCellsContext.cjs.js");require("./context/ProjectTableQueriesContext.cjs.js");require("./context/ClipboardContext.cjs.js");require("./context/SelectedRowsContext.cjs.js");require("./context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("../ContextMenu/ContextMenuContext.cjs.js");require("./context/ProjectDataContextInstance.cjs.js");const be=require("./widgets/LoadMoreWidget.cjs.js"),qe=require("./types/columnConfig.cjs.js"),Q=t=>["folder","product"].includes(t),I=50,y={thumbnail:"Thumbnail",status:"Status",entityType:"Entity type",subType:"Type",productType:"Product type",assignees:"Assignees",folder_entity:"Folder",task_entity:"Task",author:"Author",version:"Version number",version_entity:"Version",product:"Product name",productBaseType:"Base type",taskType:"Task type",folderType:"Folder type",tags:"Tags",createdAt:"Created at",updatedAt:"Updated at",subtasks:"Subtasks",comments:"Latest comments"},h=(t,l=[])=>t==="subType"&&l.some(o=>["product","version"].includes(o))?"Product type":y[m.normalizeColumnId(t)]||t,j={thumbnail:{enabled:!1,label:y.thumbnail},name:{sortKey:"name",enabled:!0,label:"Name"},entityType:{enabled:!1,label:y.entityType},status:{sortKey:"status",sortDescFirst:!1,enabled:!0,label:y.status},assignees:{sortKey:"assignees",enabled:!0,label:y.assignees,scopes:["task"]},folder_entity:{sortKey:"folderName",sortDescFirst:!1,enabled:!0,label:y.folder_entity},task_entity:{sortKey:"taskName",enabled:!1,label:y.task_entity,scopes:["version","product"]},author:{sortKey:"author",enabled:!0,label:y.author,scopes:["version","product"]},version:{sortKey:"version",sortDescFirst:!0,enabled:!0,label:y.version,scopes:["version","product"]},version_entity:{sortKey:"version",enabled:!0,label:y.version_entity,scopes:["version","product"]},product:{sortKey:"product",enabled:!0,label:y.product,scopes:["version","product"]},productBaseType:{sortKey:"productBaseType",enabled:!0,label:y.productBaseType,scopes:["version","product"]},taskType:{sortKey:"taskType",sortDescFirst:!0,enabled:!0,label:y.taskType,scopes:["version","product"]},folderType:{sortKey:"folderType",enabled:!0,label:y.folderType,scopes:["version","product"]},productType:{sortKey:"productType",enabled:!0,label:y.productType,scopes:["version","product"]},tags:{sortKey:"tags",enabled:!0,label:y.tags},createdAt:{sortKey:"createdAt",enabled:!0,label:y.createdAt},updatedAt:{sortKey:"updatedAt",enabled:!0,label:y.updatedAt},subtasks:{enabled:!1,label:y.subtasks},comments:{enabled:!1,label:y.comments}},Te=t=>t.includes("version")?"Version / Product":t.map(l=>l.charAt(0).toUpperCase()+l.slice(1)).join(" / "),fe=(t,l=[])=>Object.entries(j).filter(([,o])=>o.enabled&&(!o.scopes||!t||o.scopes.some(g=>t.includes(g)))).map(([o,g])=>({id:o,label:l.find(E=>m.normalizeColumnId(E.value)===o)?.label||h(o,t)})),w=t=>j[m.normalizeColumnId(t)]?.enabled??!t.startsWith("link_"),Ie=(t,l=!0,o)=>{if(!t)return;const g=m.normalizeColumnId(t);if(g==="name"&&!l)return"path";if(g==="subType"){if(o==="folder")return"folderType";if(o==="product"||o==="version")return"productType";if(o==="task")return"taskType"}return j[g]?.sortKey??g},v=t=>(l,o,...g)=>l.original.isLoading!==o.original.isLoading?l.original.isLoading?1:-1:t(l,o,...g),ee=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}),L=t=>(l,o,...g)=>{const E=t(l,o,...g);if(E!==0)return E;const R=l.original.label||l.original.name||"",S=o.original.label||o.original.name||"";return ee.compare(R,S)},A=(t,l)=>{const o=t.original.label||t.original.path||t.original.name||"",g=l.original.label||l.original.path||l.original.name||"";return ee.compare(o,g)},J=(t,l,o)=>{const g=D.getCellValue(t.original,o),E=D.getCellValue(l.original,o),R=Array.isArray(g)?g.length:g?String(g).length:0,S=Array.isArray(E)?E.length:E?String(E).length:0;return R-S},V=(t,l,o,g)=>{const E=D.getCellValue(t.original,o),R=D.getCellValue(l.original,o);if(g&&g.enum){const S=g.enum.findIndex(P=>P.value===E),F=g.enum.findIndex(P=>P.value===R);return S-F}else return g?.type==="datetime"?z.sortingFns.datetime(t,l,o):g?.type==="boolean"?(E===!0?1:0)-(R===!0?1:0):z.sortingFns.alphanumeric(t,l,o)},ie=(t,l)=>`${t.linkType.charAt(0).toUpperCase()+t.linkType.slice(1)} (${l})`,X=(t,l)=>`${t.name.replaceAll("_","").replaceAll("-","").replaceAll("|","_")}_${l}`,te=(t,l)=>`link_${X(t,l)}`,he=({scopes:t,attribs:l,links:o=[],includeLinks:g=!0,showHierarchy:E,isFlatFolderView:R,options:S,excluded:F,excludedSorting:P,extraColumns:Y,groupBy:K,nameLabel:ne="Entity"})=>{const b=[],p=e=>!F?.some(i=>m.normalizeColumnId(i)===m.normalizeColumnId(e)),x=e=>w(e)&&!P?.some(i=>m.normalizeColumnId(i)===m.normalizeColumnId(e));p(B.ROW_SELECTION_COLUMN_ID)&&b.push({id:B.ROW_SELECTION_COLUMN_ID,enableResizing:!1,enableSorting:!1,enablePinning:!1,enableHiding:!1,header:()=>d.jsxRuntimeExports.jsx(ye,{}),cell:({row:e})=>e.original.entityType==="group"||e.original.metaType?null:d.jsxRuntimeExports.jsx(pe.SelectionCell,{}),size:20}),p("thumbnail")&&b.push({id:"thumbnail",header:h("thumbnail"),size:63,minSize:24,enableResizing:!0,enableSorting:!1,cell:({row:e,column:i,table:n})=>{if(e.original.entityType==="group"||e.original.metaType)return null;const r=n.options.meta;if(!r)return null;const a=D.getCellId(e.id,i.id);let s={entityId:e.original.entityId||e.id,entityType:e.original.entityType,thumbnailHash:e.original.thumbnailHash};return e.original.thumbnail&&(s=e.original.thumbnail),d.jsxRuntimeExports.jsx(oe.ThumbnailWidget,{id:a,entityId:s.entityId,entityType:s.entityType,thumbnailHash:s.thumbnailHash,icon:e.original.icon,projectName:r?.projectName,className:q("thumbnail",{loading:e.original.isLoading}),isPlayable:e.original.hasReviewables})}}),p("name")&&b.push({id:"name",accessorKey:"name",header:ne,minSize:I,sortingFn:v(A),enableSorting:K&&K.id!=="folder"?!1:x("name"),enableResizing:!0,enablePinning:!0,enableHiding:!(K&&K.id!=="folder"),cell:({row:e,column:i,table:n})=>{const{value:r,id:a,type:s}=T(e,i.id),u=n.options.meta,{isEditing:c}=me.useCellEditing(),{rowHeight:_=40}=ge.useColumnSettingsContext(),N=D.getCellId(e.id,i.id);if(e.original.metaType)return d.jsxRuntimeExports.jsx(G.TableCellContent,{id:N,className:q("large","readonly",e.original.entityType),style:{paddingLeft:`calc(${e.depth*1}rem + 8px)`,pointerEvents:"none"},tabIndex:0,children:d.jsxRuntimeExports.jsx(ce.MetaWidget,{metaType:e.original.metaType,label:e.original.label})});if(e.original.entityType===f.NEXT_PAGE_ID&&e.original.group)return d.jsxRuntimeExports.jsx(be,{id:e.original.group.value,onLoadMore:W=>u?.loadMoreRows?.(W)});const O=e.getCanExpand()&&!!e.originalSubRows&&(Q(e.original.entityType)||!!e.original.group);return d.jsxRuntimeExports.jsxs(G.TableCellContent,{id:N,className:q("large",e.original.entityType,{loading:e.original.isLoading,hierarchy:E}),style:{paddingLeft:`calc(${e.depth*1}rem + ${O||!e.getCanExpand()?0:32}px + 8px)`},tabIndex:0,children:[e.original.group?d.jsxRuntimeExports.jsx(ue.GroupHeaderWidget,{id:e.id,label:e.original.group.label,name:e.original.name,icon:e.original.group.icon,img:e.original.group.img,color:e.original.group.color,count:e.original.group.count,percentage:e.original.group.percentage,isExpanded:e.getIsExpanded(),isEmpty:e.original.group.count===0,toggleExpanded:e.getToggleExpandedHandler()}):d.jsxRuntimeExports.jsx(le.EntityNameWidget,{id:e.id,label:e.original.label,name:e.original.name,path:!E&&!R?"/"+e.original.parents?.join("/"):void 0,entityType:e.original.entityType,subType:e.original.subType,isExpandable:O,isExpanded:e.getIsExpanded(),toggleExpandAll:()=>u?.toggleExpandAll?.([e.id]),toggleExpanded:e.getToggleExpandedHandler(),rowHeight:_,columnDisplayConfig:qe.getColumnDisplayConfig(u?.columnsConfig,"name")}),c(N)&&d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:a,className:q("name",{loading:e.original.isLoading}),columnId:i.id,value:r,valueData:{name:e.original.name,label:e.original.label,meta:u,entityRowId:a,columnId:i.id,hasVersions:!!e.original.hasVersions},entityType:s,attributeData:{type:"name"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:u?.readOnly?.includes(i.id)})]})}}),p("status")&&b.push({id:"status",accessorKey:"status",minSize:I,header:h("status"),sortingFn:v(L((e,i,n)=>V(e,i,n,{enum:S.status,type:"string"}))),sortDescFirst:j.status.sortDescFirst,enableSorting:x("status"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:n})=>{const{value:r,id:a,type:s}=T(e,i.id),u=n.options.meta;return["group",f.NEXT_PAGE_ID].includes(s)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:a,className:q("status",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"string"},options:u?.options?.status.filter(c=>c.scope?.includes(s)),isCollapsed:!!e.original.childOnlyMatch,onChange:c=>u?.updateEntities?.({field:i.id,value:c,type:s,rowId:a},{selection:u?.selection}),isReadOnly:u?.readOnly?.includes(i.id)||H.isEntityRestricted(s),pt:{enum:{pt:{template:{pt:{icon:{style:{fontVariationSettings:"'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20"}}}}}}}})}}),p("entityType")&&b.push({id:"entityType",accessorKey:"entityType",header:h("entityType"),minSize:20,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(L(z.sortingFns.alphanumeric)),cell:({row:e,column:i,table:n})=>{const{value:r,id:a,type:s}=T(e,i.id);if(["group",f.NEXT_PAGE_ID].includes(s)||e.original.metaType)return null;const u=D.getCellId(e.id,i.id);return d.jsxRuntimeExports.jsxs(G.TableCellContent,{id:u,className:q("entityType",H.READ_ONLY,s,{loading:e.original.isLoading}),tabIndex:0,children:[d.jsxRuntimeExports.jsx(Z.Icon,{icon:$.getEntityTypeIcon(s)})," ",de.upperFirst(r)]})}}),p("subType")&&b.push({id:"subType",accessorKey:"subType",header:h("subType",t),minSize:I,enableSorting:x("subType"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortDescFirst:j.taskType.sortDescFirst,sortingFn:v(L((e,i,n)=>V(e,i,n,{enum:[...S.folderType,...S.taskType],type:"string"}))),cell:({row:e,column:i,table:n})=>{const{value:r,id:a,type:s}=T(e,i.id);if(["group",f.NEXT_PAGE_ID].includes(s)||e.original.metaType)return null;const u=s==="folder"?"folderType":"taskType",c=n.options.meta,_=s==="folder"&&e.original.hasVersions;return d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:a,className:q("subType",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"string"},options:s==="folder"?c?.options?.folderType:s==="task"?c?.options?.taskType:s==="product"||s==="version"?c?.options?.productType:[],isCollapsed:!!e.original.childOnlyMatch,onChange:N=>c?.updateEntities?.({field:u,value:N,type:s,rowId:e.id},{selection:c?.selection}),isReadOnly:c?.readOnly?.includes(i.id)||c?.readOnly?.includes(u)||_,tooltip:_?"Folder type cannot be edited when versions exist within the folder":void 0,pt:{enum:{pt:{template:{iconOnlyColor:!0}}}}})}}),p("assignees")&&b.push({id:"assignees",accessorKey:"assignees",header:h("assignees"),minSize:I,enableSorting:x("assignees"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(L(J)),cell:({row:e,column:i,table:n})=>{const r=n.options.meta,{value:a,id:s,type:u}=T(e,i.id);return["group",f.NEXT_PAGE_ID].includes(u)||e.original.metaType?null:u==="folder"?d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:q("assignees",{loading:e.original.isLoading}),columnId:i.id,value:"",isPlaceholder:!0}):d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:q("assignees",{loading:e.original.isLoading}),columnId:i.id,value:a,attributeData:{type:"list_of_strings"},options:r?.options?.assignee,isCollapsed:!!e.original.childOnlyMatch,onChange:c=>r?.updateEntities?.({field:i.id,value:c,type:u,rowId:e.id},{selection:r?.selection}),isReadOnly:r?.readOnly?.includes(i.id)||H.isEntityRestricted(u),pt:{enum:{multiSelectClose:a?.length===0,search:!0,multipleOverride:!1}}})}}),p(m.ENTITY_COLUMN_IDS.folder)&&b.push({id:m.ENTITY_COLUMN_IDS.folder,accessorKey:"folder",header:h(m.ENTITY_COLUMN_IDS.folder),minSize:I,sortDescFirst:j.folder_entity.sortDescFirst,sortingFn:v(A),enableSorting:x(m.ENTITY_COLUMN_IDS.folder),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:n})=>{const{value:r,id:a,type:s}=T(e,"folder");return["group",f.NEXT_PAGE_ID].includes(s)||e.original.metaType?null:d.jsxRuntimeExports.jsx(U.EntityWidget,{rowId:a,className:"folder",columnId:i.id,value:r,entityId:e.original.folderId,entityType:"folder",subType:e.original.folderType,isLoading:e.original.isLoading})}}),p(m.ENTITY_COLUMN_IDS.task)&&["version","product"].some(e=>t.includes(e))&&b.push({id:m.ENTITY_COLUMN_IDS.task,accessorKey:"taskLabel",header:h(m.ENTITY_COLUMN_IDS.task),minSize:I,enableSorting:x(m.ENTITY_COLUMN_IDS.task),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(A),cell:({row:e,column:i})=>{const{value:n,id:r,type:a}=T(e,"taskLabel");return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(U.EntityWidget,{rowId:r,className:"task_entity",columnId:i.id,value:n,entityId:e.original.taskId,entityType:"task",subType:e.original.taskType,isLoading:e.original.isLoading})}}),p("author")&&["version","product"].some(e=>t.includes(e))&&b.push({id:"author",accessorKey:"author",header:h("author"),minSize:I,enableSorting:x("author"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(A),cell:({row:e,column:i,table:n})=>{const r=n.options.meta,{value:a,id:s,type:u}=T(e,i.id);return["group",f.NEXT_PAGE_ID].includes(u)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:q("author",{loading:e.original.isLoading}),columnId:i.id,value:[a],attributeData:{type:"list_of_strings"},options:r?.options?.assignee,isReadOnly:!0,isInherited:u==="product"})}}),p(m.ENTITY_COLUMN_IDS.version)&&["version","product"].some(e=>t.includes(e))&&b.push({id:m.ENTITY_COLUMN_IDS.version,accessorKey:"versionName",header:h(m.ENTITY_COLUMN_IDS.version),minSize:I,enableSorting:x(m.ENTITY_COLUMN_IDS.version),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(A),cell:({row:e,column:i})=>{const{value:n,id:r,type:a}=T(e,"versionName");if(["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType)return null;let s=e.original.versionName||n;return e.original.entityType==="product"&&(s=`${e.original.versionName} (${e.original.versionsCount||0} versions)`),d.jsxRuntimeExports.jsx(U.EntityWidget,{rowId:r,className:"version-entity",columnId:i.id,value:s,entityId:e.original.versionEntityId||(a==="version"?e.original.entityId:null),entityType:"version",isLoading:e.original.isLoading})}}),p("version")&&["version","product"].some(e=>t.includes(e))&&b.push({id:"version",accessorKey:"version",header:h("version"),minSize:I,sortDescFirst:j.version.sortDescFirst,enableSorting:x("version"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(L(z.sortingFns.basic)),cell:({row:e,column:i})=>{const{value:n,id:r,type:a}=T(e,i.id);return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:r,className:q("version",{loading:e.original.isLoading}),columnId:i.id,value:n??"",attributeData:{type:"integer"},isReadOnly:!0})}}),p("product")&&["version","product"].some(e=>t.includes(e))&&b.push({id:"product",accessorKey:"product",header:h("product"),minSize:I,enableSorting:x("product"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(A),cell:({row:e,column:i})=>{const{value:n,id:r,type:a}=T(e,i.id);return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:r,className:q("product",{loading:e.original.isLoading}),columnId:i.id,value:n,attributeData:{type:"string"},isReadOnly:!0})}}),p("tags")&&b.push({id:"tags",accessorKey:"tags",header:h("tags"),minSize:I,enableSorting:x("tags"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(L(J)),cell:({row:e,column:i,table:n})=>{const r=n.options.meta,{value:a,id:s,type:u}=T(e,i.id);return["group",f.NEXT_PAGE_ID].includes(u)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:q("tags",{loading:e.original.isLoading}),columnId:i.id,value:a,attributeData:{type:"list_of_strings"},options:r?.options?.tag,isCollapsed:!!e.original.childOnlyMatch,onChange:c=>r?.updateEntities?.({field:i.id,value:c,type:u,rowId:e.id},{selection:r?.selection}),isReadOnly:r?.readOnly?.includes(i.id)||H.isEntityRestricted(u),enableCustomValues:!0})}}),p("createdAt")&&b.push({id:"createdAt",accessorKey:"createdAt",header:h("createdAt"),minSize:I,enableSorting:x("createdAt"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(L(z.sortingFns.datetime)),cell:({row:e,column:i})=>{const{value:n,id:r,type:a}=T(e,i.id);return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:r,className:q("createdAt",{loading:e.original.isLoading}),columnId:i.id,value:n,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0,pt:{date:{showTime:!0}}})}}),p("updatedAt")&&b.push({id:"updatedAt",accessorKey:"updatedAt",header:h("updatedAt"),minSize:I,enableSorting:x("updatedAt"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(L(z.sortingFns.datetime)),cell:({row:e,column:i})=>{const{value:n,id:r,type:a}=T(e,i.id);return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:r,className:q("updatedAt",{loading:e.original.isLoading}),columnId:i.id,value:n,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0,pt:{date:{showTime:!0}}})}}),p("subtasks")&&t.includes("task")&&b.push({id:"subtasks",accessorKey:"subtasks",header:h("subtasks"),minSize:I,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:n})=>{const r=n.options.meta,{value:a,id:s,type:u}=T(e,i.id);if(["group",f.NEXT_PAGE_ID].includes(u)||e.original.metaType)return null;if(u!=="task")return d.jsxRuntimeExports.jsx("div",{className:"readonly"});const c={taskId:f.parseGroupId(e.id)||e.original.entityId||e.original.id,folderId:e.original.folderId??void 0,subtasks:a||[]};return d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:q("subtasks",{loading:e.original.isLoading}),columnId:i.id,value:c.subtasks?.map(_=>_.label||_.name)||[],valueData:c,attributeData:{type:"subtasks"},isReadOnly:r?.readOnly?.includes(i.id)})}}),p("comments")&&t.some(e=>["task","version","product","folder"].includes(e))&&b.push({id:"comments",accessorKey:"latestComments",header:h("comments"),minSize:I,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i})=>{const{value:n,id:r,type:a}=T(e,"latestComments");return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:!e.original.isLoading&&!["task","version","product","folder"].includes(a)?d.jsxRuntimeExports.jsx("div",{className:"readonly"}):d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:r,className:q("comments",{loading:e.original.isLoading}),columnId:i.id,value:"",valueData:n||[],attributeData:{type:"comments"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0})}});const re=l.filter(e=>{if(e.scope&&!e.scope.some(n=>t.includes(n)))return!1;const i="attrib_"+e.name;return!(!p(i)||e.builtin&&!p("attrib"))}).map(e=>({id:"attrib_"+e.name,accessorKey:"attrib."+e.name,header:e.data.title||e.name,minSize:I,filterFn:"fuzzy",sortingFn:v(L((n,r,a)=>V(n,r,a,e.data))),enableSorting:x(e.name)&&x("attrib"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:n,column:r,table:a})=>{const s=a.options.meta,u=r.id.replace("attrib_",""),{value:c,id:_,type:N}=T(n,u,"attrib"),O=!n.original.ownAttrib?.includes(u);return["group",f.NEXT_PAGE_ID].includes(N)||n.original.metaType||!e.scope?.includes(N)&&c==null?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:_,className:q("attrib",{loading:n.original.isLoading}),columnId:r.id,value:c,attributeData:{type:e.data.type||"string",widget:e.data.widget},options:e.data.enum||[],midnightExclusiveFields:n.original.midnightExclusiveFields,isCollapsed:!!n.original.childOnlyMatch,isInherited:O,isReadOnly:e.readOnly||s?.readOnly?.some(k=>k===u||k==="attrib"&&e.builtin),onChange:k=>s?.updateEntities?.({field:u,value:k,type:N,isAttrib:!0,rowId:n.id},{selection:e.data.enum?.length?s?.selection:void 0})})}})),ae=g?o.filter(e=>!(!p(e.linkType)||!p("link")||!t.includes(e.inputType)&&!t.includes(e.outputType))).flatMap(e=>{const i=n=>({id:te(e,n),accessorKey:`links.${X(e,n)}`,header:()=>d.jsxRuntimeExports.jsxs(G.LinkColumnHeader,{children:[ie(e,n)," ",d.jsxRuntimeExports.jsx(Z.Icon,{icon:$.getEntityTypeIcon(n==="in"?e.inputType:e.outputType)})]}),minSize:I,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:r,column:a,table:s})=>{const u=a.id.replace("link_",""),{id:c,value:_}=T(r,u,"links"),N=_?.map(se=>se.label),O=r.original.entityId||r.original.id,W=!!s.options.meta?.loadingLinksEntityIds?.has(O),k={links:_,direction:n,entityId:O,entityType:r.original.entityType,link:{label:e.linkType,linkType:e.name,targetEntityType:n==="in"?e.inputType:e.outputType}};return d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:c,className:q("links",{loading:r.original.isLoading}),columnId:a.id,value:N,valueData:k,folderId:r.original.folderId,attributeData:{type:"links"},isLinksLoading:W})}});return[i("in"),i("out")]}):[],M=[...b,...re,...ae];return Y&&Y.forEach(({column:e,position:i=-1})=>{i>=0&&i<M.length?M.splice(i,0,e):M.push(e)}),M},T=(t,l,o)=>({value:o?t.original[o]?.[l]:t.original[l],id:t.id,type:t.original.entityType});exports.COLUMN_LABELS=y;exports.COLUMN_MIN_SIZE=I;exports.COLUMN_SORT_CONFIG=j;exports.default=he;exports.getColumnLabel=h;exports.getColumnSortKey=Ie;exports.getLinkColumnId=te;exports.getLinkKey=X;exports.getLinkLabel=ie;exports.getNameColumnLabel=Te;exports.getSortableColumnOptions=fe;exports.getValueIdType=T;exports.isColumnSortable=w;exports.isEntityExpandable=Q;
|
|
2
2
|
//# sourceMappingURL=buildTreeTableColumns.cjs.js.map
|