chore(ws): enforce component specific imports (#475)

Signed-off-by: paulovmr <832830+paulovmr@users.noreply.github.com>
This commit is contained in:
Paulo Rego 2025-07-21 16:26:58 -03:00 committed by Bhakti Narvekar
parent 3218768df0
commit 296f63f3ca
72 changed files with 394 additions and 346 deletions

View File

@ -208,6 +208,28 @@ module.exports = {
name: 'react-router', name: 'react-router',
message: 'Use react-router-dom instead.', message: 'Use react-router-dom instead.',
}, },
{
name: '@patternfly/react-core',
message:
'Use specific component imports: @patternfly/react-core/dist/esm/components/ComponentName',
},
{
name: '@patternfly/react-table',
message:
'Use specific component imports: @patternfly/react-table/dist/esm/components/ComponentName',
},
{
name: '@patternfly/react-icons',
message: 'Use specific icon imports: @patternfly/react-icons/dist/esm/icons/IconName',
},
{
name: 'date-fns',
message: 'Use specific function imports: date-fns/functionName',
},
{
name: 'lodash',
message: 'Use specific function imports: lodash/functionName',
},
], ],
}, },
], ],

View File

@ -2,20 +2,19 @@ import React, { useEffect } from 'react';
import '@patternfly/patternfly/patternfly-addons.css'; import '@patternfly/patternfly/patternfly-addons.css';
import '@patternfly/react-core/dist/styles/base.css'; import '@patternfly/react-core/dist/styles/base.css';
import './app.css'; import './app.css';
import { Brand } from '@patternfly/react-core/dist/esm/components/Brand';
import { Flex } from '@patternfly/react-core/dist/esm/layouts/Flex';
import { import {
Brand,
Flex,
Masthead, Masthead,
MastheadBrand, MastheadBrand,
MastheadContent, MastheadContent,
MastheadLogo, MastheadLogo,
MastheadMain, MastheadMain,
MastheadToggle, MastheadToggle,
Page, } from '@patternfly/react-core/dist/esm/components/Masthead';
PageToggleButton, import { Page, PageToggleButton } from '@patternfly/react-core/dist/esm/components/Page';
Title, import { Title } from '@patternfly/react-core/dist/esm/components/Title';
} from '@patternfly/react-core'; import { BarsIcon } from '@patternfly/react-icons/dist/esm/icons/bars-icon';
import { BarsIcon } from '@patternfly/react-icons';
import ErrorBoundary from '~/app/error/ErrorBoundary'; import ErrorBoundary from '~/app/error/ErrorBoundary';
import NamespaceSelector from '~/shared/components/NamespaceSelector'; import NamespaceSelector from '~/shared/components/NamespaceSelector';
import logoDarkTheme from '~/images/logo-dark-theme.svg'; import logoDarkTheme from '~/images/logo-dark-theme.svg';

View File

@ -1,5 +1,6 @@
import React from 'react'; import React from 'react';
import { Bullseye, Spinner } from '@patternfly/react-core'; import { Bullseye } from '@patternfly/react-core/dist/esm/layouts/Bullseye';
import { Spinner } from '@patternfly/react-core/dist/esm/components/Spinner';
import { useNotebookAPI } from './hooks/useNotebookAPI'; import { useNotebookAPI } from './hooks/useNotebookAPI';
interface EnsureAPIAvailabilityProps { interface EnsureAPIAvailabilityProps {

View File

@ -1,14 +1,13 @@
import React, { useState } from 'react'; import React, { useState } from 'react';
import { NavLink } from 'react-router-dom'; import { NavLink } from 'react-router-dom';
import { Brand } from '@patternfly/react-core/dist/esm/components/Brand';
import { import {
Brand,
Nav, Nav,
NavExpandable, NavExpandable,
NavItem, NavItem,
NavList, NavList,
PageSidebar, } from '@patternfly/react-core/dist/esm/components/Nav';
PageSidebarBody, import { PageSidebar, PageSidebarBody } from '@patternfly/react-core/dist/esm/components/Page';
} from '@patternfly/react-core';
import { useTypedLocation } from '~/app/routerHelper'; import { useTypedLocation } from '~/app/routerHelper';
import { useNavData, isNavDataGroup, NavDataHref, NavDataGroup } from './AppRoutes'; import { useNavData, isNavDataGroup, NavDataHref, NavDataGroup } from './AppRoutes';
import { isMUITheme, LOGO_LIGHT } from './const'; import { isMUITheme, LOGO_LIGHT } from './const';

View File

@ -1,5 +1,6 @@
import * as React from 'react'; import * as React from 'react';
import { Alert, Bullseye } from '@patternfly/react-core'; import { Alert } from '@patternfly/react-core/dist/esm/components/Alert';
import { Bullseye } from '@patternfly/react-core/dist/esm/layouts/Bullseye';
interface LoadErrorProps { interface LoadErrorProps {
error: Error; error: Error;

View File

@ -1,5 +1,6 @@
import * as React from 'react'; import * as React from 'react';
import { Bullseye, Spinner } from '@patternfly/react-core'; import { Bullseye } from '@patternfly/react-core/dist/esm/layouts/Bullseye';
import { Spinner } from '@patternfly/react-core/dist/esm/components/Spinner';
// TODO: simple LoadingSpinner component -- we should improve this later // TODO: simple LoadingSpinner component -- we should improve this later

View File

@ -1,5 +1,9 @@
import React from 'react'; import React from 'react';
import { SearchInput, SearchInputProps, TextInput } from '@patternfly/react-core'; import {
SearchInput,
SearchInputProps,
} from '@patternfly/react-core/dist/esm/components/SearchInput';
import { TextInput } from '@patternfly/react-core/dist/esm/components/TextInput';
import FormFieldset from 'app/components/FormFieldset'; import FormFieldset from 'app/components/FormFieldset';
import { isMUITheme } from 'app/const'; import { isMUITheme } from 'app/const';

View File

@ -1,5 +1,6 @@
import React from 'react'; import React from 'react';
import { Alert, List, ListItem } from '@patternfly/react-core'; import { Alert } from '@patternfly/react-core/dist/esm/components/Alert';
import { List, ListItem } from '@patternfly/react-core/dist/esm/components/List';
import { ValidationError } from '~/shared/api/backendApiTypes'; import { ValidationError } from '~/shared/api/backendApiTypes';
import { ErrorEnvelopeException } from '~/shared/api/apiUtils'; import { ErrorEnvelopeException } from '~/shared/api/apiUtils';

View File

@ -1,17 +1,19 @@
import React, { useCallback, useImperativeHandle, useMemo, useRef, useState } from 'react'; import React, { useCallback, useImperativeHandle, useMemo, useRef, useState } from 'react';
import { PageSection } from '@patternfly/react-core/dist/esm/components/Page';
import { import {
PageSection,
TimestampTooltipVariant, TimestampTooltipVariant,
Timestamp, Timestamp,
Label, } from '@patternfly/react-core/dist/esm/components/Timestamp';
import { Label } from '@patternfly/react-core/dist/esm/components/Label';
import {
PaginationVariant, PaginationVariant,
Pagination, Pagination,
Content, } from '@patternfly/react-core/dist/esm/components/Pagination';
Tooltip, import { Content } from '@patternfly/react-core/dist/esm/components/Content';
Bullseye, import { Tooltip } from '@patternfly/react-core/dist/esm/components/Tooltip';
Button, import { Bullseye } from '@patternfly/react-core/dist/esm/layouts/Bullseye';
Icon, import { Button } from '@patternfly/react-core/dist/esm/components/Button';
} from '@patternfly/react-core'; import { Icon } from '@patternfly/react-core/dist/esm/components/Icon';
import { import {
Table, Table,
Thead, Thead,
@ -22,14 +24,12 @@ import {
ThProps, ThProps,
ActionsColumn, ActionsColumn,
IActions, IActions,
} from '@patternfly/react-table'; } from '@patternfly/react-table/dist/esm/components/Table';
import { import { InfoCircleIcon } from '@patternfly/react-icons/dist/esm/icons/info-circle-icon';
InfoCircleIcon, import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/esm/icons/exclamation-triangle-icon';
ExclamationTriangleIcon, import { TimesCircleIcon } from '@patternfly/react-icons/dist/esm/icons/times-circle-icon';
TimesCircleIcon, import { QuestionCircleIcon } from '@patternfly/react-icons/dist/esm/icons/question-circle-icon';
QuestionCircleIcon, import { formatDistanceToNow } from 'date-fns/formatDistanceToNow';
} from '@patternfly/react-icons';
import { formatDistanceToNow } from 'date-fns';
import { Workspace, WorkspaceState } from '~/shared/api/backendApiTypes'; import { Workspace, WorkspaceState } from '~/shared/api/backendApiTypes';
import { import {
DataFieldKey, DataFieldKey,

View File

@ -1,5 +1,9 @@
import React, { useCallback, useContext, useEffect, useMemo, useState } from 'react'; import React, { useCallback, useContext, useEffect, useMemo, useState } from 'react';
import { Drawer, DrawerContent, DrawerContentBody } from '@patternfly/react-core'; import {
Drawer,
DrawerContent,
DrawerContentBody,
} from '@patternfly/react-core/dist/esm/components/Drawer';
import { useNamespaceContext } from '~/app/context/NamespaceContextProvider'; import { useNamespaceContext } from '~/app/context/NamespaceContextProvider';
import { useNotebookAPI } from '~/app/hooks/useNotebookAPI'; import { useNotebookAPI } from '~/app/hooks/useNotebookAPI';
import { WorkspaceDetails } from '~/app/pages/Workspaces/Details/WorkspaceDetails'; import { WorkspaceDetails } from '~/app/pages/Workspaces/Details/WorkspaceDetails';

View File

@ -1,7 +1,9 @@
import React from 'react'; import React from 'react';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import { Button, Split, SplitItem, Title } from '@patternfly/react-core'; import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { TimesIcon } from '@patternfly/react-icons'; import { Split, SplitItem } from '@patternfly/react-core/dist/esm/layouts/Split';
import { Title } from '@patternfly/react-core/dist/esm/components/Title';
import { TimesIcon } from '@patternfly/react-icons/dist/esm/icons/times-icon';
import { AppRoutePaths } from '~/app/routes'; import { AppRoutePaths } from '~/app/routes';
import ErrorDetails from '~/app/error/ErrorDetails'; import ErrorDetails from '~/app/error/ErrorDetails';
import UpdateState from '~/app/error/UpdateState'; import UpdateState from '~/app/error/UpdateState';

View File

@ -2,12 +2,14 @@ import React from 'react';
import { import {
ClipboardCopy, ClipboardCopy,
ClipboardCopyVariant, ClipboardCopyVariant,
} from '@patternfly/react-core/dist/esm/components/ClipboardCopy';
import {
DescriptionList, DescriptionList,
DescriptionListDescription, DescriptionListDescription,
DescriptionListGroup, DescriptionListGroup,
DescriptionListTerm, DescriptionListTerm,
Title, } from '@patternfly/react-core/dist/esm/components/DescriptionList';
} from '@patternfly/react-core'; import { Title } from '@patternfly/react-core/dist/esm/components/Title';
type ErrorDetailsProps = { type ErrorDetailsProps = {
title: string; title: string;

View File

@ -1,14 +1,14 @@
import React from 'react'; import React from 'react';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { import {
Button,
EmptyState, EmptyState,
EmptyStateActions,
EmptyStateBody, EmptyStateBody,
EmptyStateFooter,
EmptyStateVariant, EmptyStateVariant,
PageSection, EmptyStateActions,
} from '@patternfly/react-core'; EmptyStateFooter,
import { PathMissingIcon } from '@patternfly/react-icons'; } from '@patternfly/react-core/dist/esm/components/EmptyState';
import { PageSection } from '@patternfly/react-core/dist/esm/components/Page';
import { PathMissingIcon } from '@patternfly/react-icons/dist/esm/icons/path-missing-icon';
type Props = { type Props = {
onClose: () => void; onClose: () => void;

View File

@ -1,5 +1,5 @@
import { useCallback } from 'react'; import { useCallback } from 'react';
import { IActions } from '@patternfly/react-table'; import { IActions } from '@patternfly/react-table/dist/esm/components/Table';
import { Workspace } from '~/shared/api/backendApiTypes'; import { Workspace } from '~/shared/api/backendApiTypes';
import { useWorkspaceActionsContext, WorkspaceAction } from '~/app/context/WorkspaceActionsContext'; import { useWorkspaceActionsContext, WorkspaceAction } from '~/app/context/WorkspaceActionsContext';

View File

@ -1,13 +1,13 @@
import React from 'react'; import React from 'react';
import { CubesIcon } from '@patternfly/react-icons'; import { CubesIcon } from '@patternfly/react-icons/dist/esm/icons/cubes-icon';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { import {
Button,
EmptyState, EmptyState,
EmptyStateBody, EmptyStateBody,
EmptyStateFooter,
EmptyStateVariant, EmptyStateVariant,
PageSection, EmptyStateFooter,
} from '@patternfly/react-core'; } from '@patternfly/react-core/dist/esm/components/EmptyState';
import { PageSection } from '@patternfly/react-core/dist/esm/components/Page';
const Debug: React.FunctionComponent = () => ( const Debug: React.FunctionComponent = () => (
<PageSection> <PageSection>

View File

@ -1,15 +1,16 @@
/* eslint-disable @typescript-eslint/no-unused-expressions */ /* eslint-disable @typescript-eslint/no-unused-expressions */
import React, { useRef } from 'react'; import React, { useRef } from 'react';
import { Table, Thead, Tr, Th, Tbody, Td } from '@patternfly/react-table'; import { Table, Thead, Tr, Th, Tbody, Td } from '@patternfly/react-table/dist/esm/components/Table';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { import {
Button,
FormFieldGroupExpandable, FormFieldGroupExpandable,
FormFieldGroupHeader, FormFieldGroupHeader,
TextInput, } from '@patternfly/react-core/dist/esm/components/Form';
} from '@patternfly/react-core'; import { TextInput } from '@patternfly/react-core/dist/esm/components/TextInput';
import inlineEditStyles from '@patternfly/react-styles/css/components/InlineEdit/inline-edit'; import inlineEditStyles from '@patternfly/react-styles/css/components/InlineEdit/inline-edit';
import { css } from '@patternfly/react-styles'; import { css } from '@patternfly/react-styles';
import { PlusCircleIcon, TrashAltIcon } from '@patternfly/react-icons'; import { PlusCircleIcon } from '@patternfly/react-icons/dist/esm/icons/plus-circle-icon';
import { TrashAltIcon } from '@patternfly/react-icons/dist/esm/icons/trash-alt-icon';
import { WorkspaceOptionLabel } from '~/shared/api/backendApiTypes'; import { WorkspaceOptionLabel } from '~/shared/api/backendApiTypes';
interface EditableRowInterface { interface EditableRowInterface {

View File

@ -1,19 +1,12 @@
import React, { useCallback, useEffect, useMemo, useState } from 'react'; import React, { useCallback, useEffect, useMemo, useState } from 'react';
import { import { Button } from '@patternfly/react-core/dist/esm/components/Button';
Button, import { Content, ContentVariants } from '@patternfly/react-core/dist/esm/components/Content';
Content, import { Flex, FlexItem } from '@patternfly/react-core/dist/esm/layouts/Flex';
ContentVariants, import { PageGroup, PageSection } from '@patternfly/react-core/dist/esm/components/Page';
EmptyState, import { Stack, StackItem } from '@patternfly/react-core/dist/esm/layouts/Stack';
EmptyStateBody,
Flex,
FlexItem,
PageGroup,
PageSection,
Stack,
StackItem,
} from '@patternfly/react-core';
import { t_global_spacer_sm as SmallPadding } from '@patternfly/react-tokens'; import { t_global_spacer_sm as SmallPadding } from '@patternfly/react-tokens';
import { ExclamationCircleIcon } from '@patternfly/react-icons'; import { ExclamationCircleIcon } from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
import { EmptyState, EmptyStateBody } from '@patternfly/react-core/dist/esm/components/EmptyState';
import { ValidationErrorAlert } from '~/app/components/ValidationErrorAlert'; import { ValidationErrorAlert } from '~/app/components/ValidationErrorAlert';
import useWorkspaceKindByName from '~/app/hooks/useWorkspaceKindByName'; import useWorkspaceKindByName from '~/app/hooks/useWorkspaceKindByName';
import { WorkspaceKind, ValidationError } from '~/shared/api/backendApiTypes'; import { WorkspaceKind, ValidationError } from '~/shared/api/backendApiTypes';

View File

@ -1,17 +1,16 @@
import React, { useMemo, useState } from 'react'; import React, { useMemo, useState } from 'react';
import { Table, Thead, Tr, Td, Tbody, Th } from '@patternfly/react-table'; import { Table, Thead, Tr, Td, Tbody, Th } from '@patternfly/react-table/dist/esm/components/Table';
import { getUniqueId } from '@patternfly/react-core/helpers';
import { Label } from '@patternfly/react-core/dist/esm/components/Label';
import { MenuToggle } from '@patternfly/react-core/dist/esm/components/MenuToggle';
import { PageSection } from '@patternfly/react-core/dist/esm/components/Page';
import { import {
Dropdown,
DropdownItem,
getUniqueId,
Label,
MenuToggle,
PageSection,
Pagination, Pagination,
PaginationVariant, PaginationVariant,
Radio, } from '@patternfly/react-core/dist/esm/components/Pagination';
} from '@patternfly/react-core'; import { Radio } from '@patternfly/react-core/dist/esm/components/Radio';
import { EllipsisVIcon } from '@patternfly/react-icons'; import { Dropdown, DropdownItem } from '@patternfly/react-core/dist/esm/components/Dropdown';
import { EllipsisVIcon } from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
import { WorkspaceKindImageConfigValue } from '~/app/types'; import { WorkspaceKindImageConfigValue } from '~/app/types';
import { WorkspacePodConfigValue } from '~/shared/api/backendApiTypes'; import { WorkspacePodConfigValue } from '~/shared/api/backendApiTypes';

View File

@ -2,13 +2,12 @@ import React, { useCallback, useState } from 'react';
import yaml, { YAMLException } from 'js-yaml'; import yaml, { YAMLException } from 'js-yaml';
import { import {
FileUpload, FileUpload,
DropEvent,
FileUploadHelperText,
HelperText,
HelperTextItem,
Content,
DropzoneErrorCode, DropzoneErrorCode,
} from '@patternfly/react-core'; FileUploadHelperText,
} from '@patternfly/react-core/dist/esm/components/FileUpload';
import { DropEvent } from '@patternfly/react-core/dist/esm/helpers/typeUtils';
import { HelperText, HelperTextItem } from '@patternfly/react-core/dist/esm/components/HelperText';
import { Content } from '@patternfly/react-core/dist/esm/components/Content';
import { isValidWorkspaceKindYaml } from '~/app/pages/WorkspaceKinds/Form/helpers'; import { isValidWorkspaceKindYaml } from '~/app/pages/WorkspaceKinds/Form/helpers';
import { ValidationStatus } from '~/app/pages/WorkspaceKinds/Form/WorkspaceKindForm'; import { ValidationStatus } from '~/app/pages/WorkspaceKinds/Form/WorkspaceKindForm';

View File

@ -1,22 +1,24 @@
import React, { useCallback, useState } from 'react'; import React, { useCallback, useState } from 'react';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { Content } from '@patternfly/react-core/dist/esm/components/Content';
import { import {
Button,
Content,
Modal, Modal,
ModalHeader, ModalHeader,
ModalFooter, ModalFooter,
ModalVariant, ModalVariant,
EmptyState, } from '@patternfly/react-core/dist/esm/components/Modal';
import {
EmptyStateFooter, EmptyStateFooter,
EmptyStateActions, EmptyStateActions,
EmptyState,
EmptyStateBody, EmptyStateBody,
ExpandableSection, } from '@patternfly/react-core/dist/esm/components/EmptyState';
} from '@patternfly/react-core'; import { ExpandableSection } from '@patternfly/react-core/dist/esm/components/ExpandableSection';
import { PlusCircleIcon, CubesIcon } from '@patternfly/react-icons'; import { PlusCircleIcon } from '@patternfly/react-icons/dist/esm/icons/plus-circle-icon';
import { CubesIcon } from '@patternfly/react-icons/dist/esm/icons/cubes-icon';
import { WorkspaceKindImageConfigData, WorkspaceKindImageConfigValue } from '~/app/types'; import { WorkspaceKindImageConfigData, WorkspaceKindImageConfigValue } from '~/app/types';
import { emptyImage } from '~/app/pages/WorkspaceKinds/Form/helpers'; import { emptyImage } from '~/app/pages/WorkspaceKinds/Form/helpers';
import { WorkspaceKindFormPaginatedTable } from '~/app/pages/WorkspaceKinds/Form/WorkspaceKindFormPaginatedTable'; import { WorkspaceKindFormPaginatedTable } from '~/app/pages/WorkspaceKinds/Form/WorkspaceKindFormPaginatedTable';
import { WorkspaceKindFormImageModal } from './WorkspaceKindFormImageModal'; import { WorkspaceKindFormImageModal } from './WorkspaceKindFormImageModal';
interface WorkspaceKindFormImageProps { interface WorkspaceKindFormImageProps {

View File

@ -4,15 +4,16 @@ import {
ModalHeader, ModalHeader,
ModalBody, ModalBody,
ModalFooter, ModalFooter,
Button, } from '@patternfly/react-core/dist/esm/components/Modal';
Form, import { Button } from '@patternfly/react-core/dist/esm/components/Button';
FormGroup, import { Form, FormGroup } from '@patternfly/react-core/dist/esm/components/Form';
TextInput, import { TextInput } from '@patternfly/react-core/dist/esm/components/TextInput';
import {
FormSelect, FormSelect,
FormSelectOption, FormSelectOption,
Switch, } from '@patternfly/react-core/dist/esm/components/FormSelect';
HelperText, import { Switch } from '@patternfly/react-core/dist/esm/components/Switch';
} from '@patternfly/react-core'; import { HelperText } from '@patternfly/react-core/dist/esm/components/HelperText';
import { WorkspaceKindImageConfigValue, ImagePullPolicy } from '~/app/types'; import { WorkspaceKindImageConfigValue, ImagePullPolicy } from '~/app/types';
import { EditableLabels } from '~/app/pages/WorkspaceKinds/Form/EditableLabels'; import { EditableLabels } from '~/app/pages/WorkspaceKinds/Form/EditableLabels';
import { emptyImage } from '~/app/pages/WorkspaceKinds/Form/helpers'; import { emptyImage } from '~/app/pages/WorkspaceKinds/Form/helpers';

View File

@ -1,12 +1,11 @@
import React from 'react'; import React from 'react';
import { import {
FormGroup,
FormFieldGroupExpandable, FormFieldGroupExpandable,
FormFieldGroupHeader, FormFieldGroupHeader,
FormGroup, } from '@patternfly/react-core/dist/esm/components/Form';
Grid, import { Grid, GridItem } from '@patternfly/react-core/dist/esm/layouts/Grid';
GridItem, import { TextInput } from '@patternfly/react-core/dist/esm/components/TextInput';
TextInput,
} from '@patternfly/react-core';
import { WorkspaceKindImagePort } from '~/app/types'; import { WorkspaceKindImagePort } from '~/app/types';
interface WorkspaceKindFormImagePortProps { interface WorkspaceKindFormImagePortProps {

View File

@ -1,12 +1,14 @@
import React from 'react'; import React from 'react';
import { import {
FormGroup,
FormFieldGroupExpandable, FormFieldGroupExpandable,
FormFieldGroupHeader, FormFieldGroupHeader,
FormGroup, } from '@patternfly/react-core/dist/esm/components/Form';
import {
FormSelect, FormSelect,
FormSelectOption, FormSelectOption,
TextInput, } from '@patternfly/react-core/dist/esm/components/FormSelect';
} from '@patternfly/react-core'; import { TextInput } from '@patternfly/react-core/dist/esm/components/TextInput';
import { import {
WorkspaceOptionRedirect, WorkspaceOptionRedirect,
WorkspaceRedirectMessageLevel, WorkspaceRedirectMessageLevel,

View File

@ -2,10 +2,9 @@ import React, { useState, useEffect, useCallback, useMemo, useRef } from 'react'
import { import {
FormSelect, FormSelect,
FormSelectOption, FormSelectOption,
NumberInput, } from '@patternfly/react-core/dist/esm/components/FormSelect';
Split, import { NumberInput } from '@patternfly/react-core/dist/esm/components/NumberInput';
SplitItem, import { Split, SplitItem } from '@patternfly/react-core/dist/esm/layouts/Split';
} from '@patternfly/react-core';
import { import {
CPU_UNITS, CPU_UNITS,
MEMORY_UNITS_FOR_SELECTION, MEMORY_UNITS_FOR_SELECTION,

View File

@ -1,18 +1,21 @@
import React, { useCallback, useState } from 'react'; import React, { useCallback, useState } from 'react';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { Content } from '@patternfly/react-core/dist/esm/components/Content';
import { import {
Button,
Content,
Modal, Modal,
ModalHeader, ModalHeader,
ModalFooter, ModalFooter,
ModalVariant, ModalVariant,
} from '@patternfly/react-core/dist/esm/components/Modal';
import {
EmptyState, EmptyState,
EmptyStateBody,
EmptyStateFooter, EmptyStateFooter,
EmptyStateActions, EmptyStateActions,
ExpandableSection, } from '@patternfly/react-core/dist/esm/components/EmptyState';
EmptyStateBody, import { ExpandableSection } from '@patternfly/react-core/dist/esm/components/ExpandableSection';
} from '@patternfly/react-core'; import { PlusCircleIcon } from '@patternfly/react-icons/dist/esm/icons/plus-circle-icon';
import { PlusCircleIcon, CubesIcon } from '@patternfly/react-icons'; import { CubesIcon } from '@patternfly/react-icons/dist/esm/icons/cubes-icon';
import { emptyPodConfig } from '~/app/pages/WorkspaceKinds/Form/helpers'; import { emptyPodConfig } from '~/app/pages/WorkspaceKinds/Form/helpers';
import { WorkspaceKindPodConfigValue, WorkspaceKindPodConfigData } from '~/app/types'; import { WorkspaceKindPodConfigValue, WorkspaceKindPodConfigData } from '~/app/types';
import { WorkspaceKindFormPaginatedTable } from '~/app/pages/WorkspaceKinds/Form/WorkspaceKindFormPaginatedTable'; import { WorkspaceKindFormPaginatedTable } from '~/app/pages/WorkspaceKinds/Form/WorkspaceKindFormPaginatedTable';

View File

@ -4,13 +4,12 @@ import {
ModalHeader, ModalHeader,
ModalBody, ModalBody,
ModalFooter, ModalFooter,
Button, } from '@patternfly/react-core/dist/esm/components/Modal';
Form, import { Button } from '@patternfly/react-core/dist/esm/components/Button';
FormGroup, import { Form, FormGroup } from '@patternfly/react-core/dist/esm/components/Form';
TextInput, import { TextInput } from '@patternfly/react-core/dist/esm/components/TextInput';
Switch, import { Switch } from '@patternfly/react-core/dist/esm/components/Switch';
HelperText, import { HelperText } from '@patternfly/react-core/dist/esm/components/HelperText';
} from '@patternfly/react-core';
import { WorkspaceKindPodConfigValue } from '~/app/types'; import { WorkspaceKindPodConfigValue } from '~/app/types';
import { WorkspaceOptionLabel } from '~/shared/api/backendApiTypes'; import { WorkspaceOptionLabel } from '~/shared/api/backendApiTypes';
import { EditableLabels } from '~/app/pages/WorkspaceKinds/Form/EditableLabels'; import { EditableLabels } from '~/app/pages/WorkspaceKinds/Form/EditableLabels';

View File

@ -1,17 +1,16 @@
import React, { useCallback, useEffect, useState, useMemo } from 'react'; import React, { useCallback, useEffect, useState, useMemo } from 'react';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { Grid, GridItem } from '@patternfly/react-core/dist/esm/layouts/Grid';
import { Title } from '@patternfly/react-core/dist/esm/components/Title';
import { import {
Button,
Grid,
GridItem,
Title,
FormFieldGroupExpandable, FormFieldGroupExpandable,
FormFieldGroupHeader, FormFieldGroupHeader,
TextInput, } from '@patternfly/react-core/dist/esm/components/Form';
Checkbox, import { TextInput } from '@patternfly/react-core/dist/esm/components/TextInput';
HelperText, import { Checkbox } from '@patternfly/react-core/dist/esm/components/Checkbox';
HelperTextItem, import { HelperText, HelperTextItem } from '@patternfly/react-core/dist/esm/components/HelperText';
} from '@patternfly/react-core'; import { PlusCircleIcon } from '@patternfly/react-icons/dist/esm/icons/plus-circle-icon';
import { PlusCircleIcon, TrashAltIcon } from '@patternfly/react-icons'; import { TrashAltIcon } from '@patternfly/react-icons/dist/esm/icons/trash-alt-icon';
import { generateUniqueId } from '~/app/pages/WorkspaceKinds/Form/helpers'; import { generateUniqueId } from '~/app/pages/WorkspaceKinds/Form/helpers';
import { isMemoryLimitLarger } from '~/shared/utilities/valueUnits'; import { isMemoryLimitLarger } from '~/shared/utilities/valueUnits';
import { ResourceInputWrapper } from './ResourceInputWrapper'; import { ResourceInputWrapper } from './ResourceInputWrapper';

View File

@ -1,14 +1,13 @@
import React, { useCallback, useState } from 'react';
import { import {
ExpandableSection,
Form, Form,
FormFieldGroup, FormFieldGroup,
FormFieldGroupHeader, FormFieldGroupHeader,
FormGroup, FormGroup,
HelperText, } from '@patternfly/react-core/dist/esm/components/Form';
HelperTextItem, import { ExpandableSection } from '@patternfly/react-core/dist/esm/components/ExpandableSection';
Switch, import { HelperText, HelperTextItem } from '@patternfly/react-core/dist/esm/components/HelperText';
} from '@patternfly/react-core'; import { Switch } from '@patternfly/react-core/dist/esm/components/Switch';
import React, { useCallback, useState } from 'react';
import { WorkspaceKindPodTemplateData } from '~/app/types'; import { WorkspaceKindPodTemplateData } from '~/app/types';
import { EditableLabels } from '~/app/pages/WorkspaceKinds/Form/EditableLabels'; import { EditableLabels } from '~/app/pages/WorkspaceKinds/Form/EditableLabels';
import { WorkspacePodVolumeMount } from '~/shared/api/backendApiTypes'; import { WorkspacePodVolumeMount } from '~/shared/api/backendApiTypes';

View File

@ -1,13 +1,10 @@
import React, { useState } from 'react'; import React, { useState } from 'react';
import { import { Content } from '@patternfly/react-core/dist/esm/components/Content';
Content, import { ExpandableSection } from '@patternfly/react-core/dist/esm/components/ExpandableSection';
ExpandableSection, import { Form, FormGroup } from '@patternfly/react-core/dist/esm/components/Form';
Form, import { HelperText } from '@patternfly/react-core/dist/esm/components/HelperText';
FormGroup, import { Switch } from '@patternfly/react-core/dist/esm/components/Switch';
HelperText, import { TextInput } from '@patternfly/react-core/dist/esm/components/TextInput';
Switch,
TextInput,
} from '@patternfly/react-core';
import { WorkspaceKindProperties } from '~/app/types'; import { WorkspaceKindProperties } from '~/app/types';
interface WorkspaceKindFormPropertiesProps { interface WorkspaceKindFormPropertiesProps {

View File

@ -3,25 +3,29 @@ import {
Drawer, Drawer,
DrawerContent, DrawerContent,
DrawerContentBody, DrawerContentBody,
PageSection, } from '@patternfly/react-core/dist/esm/components/Drawer';
Content, import { PageSection } from '@patternfly/react-core/dist/esm/components/Page';
Tooltip, import { Content } from '@patternfly/react-core/dist/esm/components/Content';
Label, import { Tooltip } from '@patternfly/react-core/dist/esm/components/Tooltip';
import { Label } from '@patternfly/react-core/dist/esm/components/Label';
import {
Toolbar, Toolbar,
ToolbarContent, ToolbarContent,
ToolbarItem, ToolbarItem,
ToolbarGroup,
ToolbarFilter,
ToolbarToggleGroup,
} from '@patternfly/react-core/dist/esm/components/Toolbar';
import {
Menu, Menu,
MenuContent, MenuContent,
MenuList, MenuList,
MenuItem, MenuItem,
MenuToggle, } from '@patternfly/react-core/dist/esm/components/Menu';
Popper, import { MenuToggle } from '@patternfly/react-core/dist/esm/components/MenuToggle';
ToolbarGroup, import { Popper } from '@patternfly/react-core/helpers';
ToolbarFilter, import { Bullseye } from '@patternfly/react-core/dist/esm/layouts/Bullseye';
ToolbarToggleGroup, import { Button } from '@patternfly/react-core/dist/esm/components/Button';
Bullseye,
Button,
} from '@patternfly/react-core';
import { import {
Table, Table,
Thead, Thead,
@ -32,8 +36,8 @@ import {
ThProps, ThProps,
ActionsColumn, ActionsColumn,
IActions, IActions,
} from '@patternfly/react-table'; } from '@patternfly/react-table/dist/esm/components/Table';
import { FilterIcon } from '@patternfly/react-icons'; import { FilterIcon } from '@patternfly/react-icons/dist/esm/icons/filter-icon';
import { WorkspaceKind } from '~/shared/api/backendApiTypes'; import { WorkspaceKind } from '~/shared/api/backendApiTypes';
import useWorkspaceKinds from '~/app/hooks/useWorkspaceKinds'; import useWorkspaceKinds from '~/app/hooks/useWorkspaceKinds';
import { useWorkspaceCountPerKind } from '~/app/hooks/useWorkspaceCountPerKind'; import { useWorkspaceCountPerKind } from '~/app/hooks/useWorkspaceCountPerKind';

View File

@ -3,15 +3,17 @@ import {
DrawerActions, DrawerActions,
DrawerCloseButton, DrawerCloseButton,
DrawerHead, DrawerHead,
DrawerPanelBody,
DrawerPanelContent, DrawerPanelContent,
DrawerPanelBody,
} from '@patternfly/react-core/dist/esm/components/Drawer';
import {
Tabs, Tabs,
Tab, Tab,
TabTitleText, TabTitleText,
Title,
TabContentBody, TabContentBody,
TabContent, TabContent,
} from '@patternfly/react-core'; } from '@patternfly/react-core/dist/esm/components/Tabs';
import { Title } from '@patternfly/react-core/dist/esm/components/Title';
import { WorkspaceKind } from '~/shared/api/backendApiTypes'; import { WorkspaceKind } from '~/shared/api/backendApiTypes';
import { WorkspaceCountPerKind } from '~/app/hooks/useWorkspaceCountPerKind'; import { WorkspaceCountPerKind } from '~/app/hooks/useWorkspaceCountPerKind';
import { WorkspaceKindDetailsNamespaces } from '~/app/pages/WorkspaceKinds/details/WorkspaceKindDetailsNamespaces'; import { WorkspaceKindDetailsNamespaces } from '~/app/pages/WorkspaceKinds/details/WorkspaceKindDetailsNamespaces';

View File

@ -4,8 +4,8 @@ import {
DescriptionListTerm, DescriptionListTerm,
DescriptionListGroup, DescriptionListGroup,
DescriptionListDescription, DescriptionListDescription,
Divider, } from '@patternfly/react-core/dist/esm/components/DescriptionList';
} from '@patternfly/react-core'; import { Divider } from '@patternfly/react-core/dist/esm/components/Divider';
import { WorkspaceKind } from '~/shared/api/backendApiTypes'; import { WorkspaceKind } from '~/shared/api/backendApiTypes';
import ImageFallback from '~/shared/components/ImageFallback'; import ImageFallback from '~/shared/components/ImageFallback';
import WithValidImage from '~/shared/components/WithValidImage'; import WithValidImage from '~/shared/components/WithValidImage';

View File

@ -1,6 +1,11 @@
import React, { useMemo, useState } from 'react'; import React, { useMemo, useState } from 'react';
import { Table, Thead, Tr, Td, Tbody, Th } from '@patternfly/react-table'; import { Table, Thead, Tr, Td, Tbody, Th } from '@patternfly/react-table/dist/esm/components/Table';
import { Button, Content, Pagination, PaginationVariant } from '@patternfly/react-core'; import {
Pagination,
PaginationVariant,
} from '@patternfly/react-core/dist/esm/components/Pagination';
import { Content } from '@patternfly/react-core/dist/esm/components/Content';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { useTypedNavigate } from '~/app/routerHelper'; import { useTypedNavigate } from '~/app/routerHelper';
import { RouteStateMap } from '~/app/routes'; import { RouteStateMap } from '~/app/routes';

View File

@ -1,13 +1,9 @@
import React, { useCallback, useRef, useState } from 'react'; import React, { useCallback, useRef, useState } from 'react';
import { import { Button } from '@patternfly/react-core/dist/esm/components/Button';
Button, import { Content, ContentVariants } from '@patternfly/react-core/dist/esm/components/Content';
Content, import { PageSection } from '@patternfly/react-core/dist/esm/components/Page';
ContentVariants, import { Stack, StackItem } from '@patternfly/react-core/dist/esm/layouts/Stack';
PageSection, import { ArrowLeftIcon } from '@patternfly/react-icons/dist/esm/icons/arrow-left-icon';
Stack,
StackItem,
} from '@patternfly/react-core';
import { ArrowLeftIcon } from '@patternfly/react-icons';
import { useTypedLocation, useTypedNavigate, useTypedParams } from '~/app/routerHelper'; import { useTypedLocation, useTypedNavigate, useTypedParams } from '~/app/routerHelper';
import WorkspaceTable, { import WorkspaceTable, {
WorkspaceTableFilteredColumn, WorkspaceTableFilteredColumn,

View File

@ -1,20 +1,17 @@
import React, { useMemo } from 'react'; import React, { useMemo } from 'react';
import { Bullseye } from '@patternfly/react-core/dist/esm/layouts/Bullseye';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { import {
Bullseye,
Button,
Card, Card,
CardBody, CardBody,
CardExpandableContent,
CardHeader, CardHeader,
CardTitle, CardTitle,
Content, CardExpandableContent,
ContentVariants, } from '@patternfly/react-core/dist/esm/components/Card';
Divider, import { Content, ContentVariants } from '@patternfly/react-core/dist/esm/components/Content';
Flex, import { Divider } from '@patternfly/react-core/dist/esm/components/Divider';
FlexItem, import { Flex, FlexItem } from '@patternfly/react-core/dist/esm/layouts/Flex';
Stack, import { Stack, StackItem } from '@patternfly/react-core/dist/esm/layouts/Stack';
StackItem,
} from '@patternfly/react-core';
import { import {
t_global_spacer_md as MediumPadding, t_global_spacer_md as MediumPadding,
t_global_font_size_4xl as LargeFontSize, t_global_font_size_4xl as LargeFontSize,

View File

@ -2,18 +2,19 @@ import React from 'react';
import { import {
ClipboardCopy, ClipboardCopy,
ClipboardCopyVariant, ClipboardCopyVariant,
Content, } from '@patternfly/react-core/dist/esm/components/ClipboardCopy';
import { Content } from '@patternfly/react-core/dist/esm/components/Content';
import {
DescriptionList, DescriptionList,
DescriptionListGroup, DescriptionListGroup,
DescriptionListTerm, DescriptionListTerm,
DescriptionListDescription, DescriptionListDescription,
Flex, } from '@patternfly/react-core/dist/esm/components/DescriptionList';
FlexItem, import { Flex, FlexItem } from '@patternfly/react-core/dist/esm/layouts/Flex';
List, import { List, ListItem } from '@patternfly/react-core/dist/esm/components/List';
ListItem, import { Tooltip } from '@patternfly/react-core/dist/esm/components/Tooltip';
Tooltip, import { DatabaseIcon } from '@patternfly/react-icons/dist/esm/icons/database-icon';
} from '@patternfly/react-core'; import { LockedIcon } from '@patternfly/react-icons/dist/esm/icons/locked-icon';
import { DatabaseIcon, LockedIcon } from '@patternfly/react-icons';
import { Workspace } from '~/shared/api/backendApiTypes'; import { Workspace } from '~/shared/api/backendApiTypes';
interface DataVolumesListProps { interface DataVolumesListProps {

View File

@ -3,15 +3,17 @@ import {
DrawerActions, DrawerActions,
DrawerCloseButton, DrawerCloseButton,
DrawerHead, DrawerHead,
DrawerPanelBody,
DrawerPanelContent, DrawerPanelContent,
DrawerPanelBody,
} from '@patternfly/react-core/dist/esm/components/Drawer';
import {
Tabs, Tabs,
Tab, Tab,
TabTitleText, TabTitleText,
Title,
TabContentBody, TabContentBody,
TabContent, TabContent,
} from '@patternfly/react-core'; } from '@patternfly/react-core/dist/esm/components/Tabs';
import { Title } from '@patternfly/react-core/dist/esm/components/Title';
import { Workspace } from '~/shared/api/backendApiTypes'; import { Workspace } from '~/shared/api/backendApiTypes';
import { WorkspaceDetailsOverview } from '~/app/pages/Workspaces/Details/WorkspaceDetailsOverview'; import { WorkspaceDetailsOverview } from '~/app/pages/Workspaces/Details/WorkspaceDetailsOverview';
import { WorkspaceDetailsActions } from '~/app/pages/Workspaces/Details/WorkspaceDetailsActions'; import { WorkspaceDetailsActions } from '~/app/pages/Workspaces/Details/WorkspaceDetailsActions';

View File

@ -1,12 +1,11 @@
import React, { useState } from 'react'; import React, { useState } from 'react';
import { import {
Dropdown, Dropdown,
DropdownList,
MenuToggle,
DropdownItem, DropdownItem,
Flex, DropdownList,
FlexItem, } from '@patternfly/react-core/dist/esm/components/Dropdown';
} from '@patternfly/react-core'; import { MenuToggle } from '@patternfly/react-core/dist/esm/components/MenuToggle';
import { Flex, FlexItem } from '@patternfly/react-core/dist/esm/layouts/Flex';
interface WorkspaceDetailsActionsProps { interface WorkspaceDetailsActionsProps {
// TODO: Uncomment when edit action is fully supported // TODO: Uncomment when edit action is fully supported

View File

@ -1,12 +1,12 @@
import React from 'react'; import React from 'react';
import { format } from 'date-fns'; import { format } from 'date-fns/format';
import { import {
DescriptionList, DescriptionList,
DescriptionListTerm, DescriptionListTerm,
DescriptionListGroup, DescriptionListGroup,
DescriptionListDescription, DescriptionListDescription,
Divider, } from '@patternfly/react-core/dist/esm/components/DescriptionList';
} from '@patternfly/react-core'; import { Divider } from '@patternfly/react-core/dist/esm/components/Divider';
import { Workspace } from '~/shared/api/backendApiTypes'; import { Workspace } from '~/shared/api/backendApiTypes';
const DATE_FORMAT = 'PPpp'; const DATE_FORMAT = 'PPpp';

View File

@ -4,8 +4,8 @@ import {
DescriptionListTerm, DescriptionListTerm,
DescriptionListGroup, DescriptionListGroup,
DescriptionListDescription, DescriptionListDescription,
Divider, } from '@patternfly/react-core/dist/esm/components/DescriptionList';
} from '@patternfly/react-core'; import { Divider } from '@patternfly/react-core/dist/esm/components/Divider';
import { Workspace } from '~/shared/api/backendApiTypes'; import { Workspace } from '~/shared/api/backendApiTypes';
type WorkspaceDetailsOverviewProps = { type WorkspaceDetailsOverviewProps = {

View File

@ -1,5 +1,5 @@
import React from 'react'; import React from 'react';
import { Tr, Td, ExpandableRowContent } from '@patternfly/react-table'; import { Tr, Td, ExpandableRowContent } from '@patternfly/react-table/dist/esm/components/Table';
import { Workspace } from '~/shared/api/backendApiTypes'; import { Workspace } from '~/shared/api/backendApiTypes';
import { WorkspaceTableColumnKeys } from '~/app/components/WorkspaceTable'; import { WorkspaceTableColumnKeys } from '~/app/components/WorkspaceTable';
import { WorkspaceStorage } from './WorkspaceStorage'; import { WorkspaceStorage } from './WorkspaceStorage';

View File

@ -1,23 +1,24 @@
import React, { useCallback, useEffect, useMemo, useState } from 'react'; import React, { useCallback, useEffect, useMemo, useState } from 'react';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { Content } from '@patternfly/react-core/dist/esm/components/Content';
import { Flex, FlexItem } from '@patternfly/react-core/dist/esm/layouts/Flex';
import { PageSection } from '@patternfly/react-core/dist/esm/components/Page';
import { import {
Button,
Content,
Drawer,
DrawerContent,
DrawerContentBody,
DrawerPanelContent,
DrawerHead,
DrawerActions,
DrawerCloseButton,
DrawerPanelBody,
Flex,
FlexItem,
PageSection,
ProgressStep, ProgressStep,
ProgressStepper, ProgressStepper,
Stack, } from '@patternfly/react-core/dist/esm/components/ProgressStepper';
Title, import { Stack } from '@patternfly/react-core/dist/esm/layouts/Stack';
} from '@patternfly/react-core'; import {
Drawer,
DrawerActions,
DrawerCloseButton,
DrawerContent,
DrawerContentBody,
DrawerHead,
DrawerPanelBody,
DrawerPanelContent,
} from '@patternfly/react-core/dist/esm/components/Drawer';
import { Title } from '@patternfly/react-core/dist/esm/components/Title';
import useGenericObjectState from '~/app/hooks/useGenericObjectState'; import useGenericObjectState from '~/app/hooks/useGenericObjectState';
import { useNotebookAPI } from '~/app/hooks/useNotebookAPI'; import { useNotebookAPI } from '~/app/hooks/useNotebookAPI';
import { WorkspaceFormImageSelection } from '~/app/pages/Workspaces/Form/image/WorkspaceFormImageSelection'; import { WorkspaceFormImageSelection } from '~/app/pages/Workspaces/Form/image/WorkspaceFormImageSelection';

View File

@ -7,8 +7,8 @@ import {
DrawerHead, DrawerHead,
DrawerActions, DrawerActions,
DrawerCloseButton, DrawerCloseButton,
Title, } from '@patternfly/react-core/dist/esm/components/Drawer';
} from '@patternfly/react-core'; import { Title } from '@patternfly/react-core/dist/esm/components/Title';
interface WorkspaceFormDrawerProps { interface WorkspaceFormDrawerProps {
children: React.ReactNode; children: React.ReactNode;

View File

@ -4,8 +4,8 @@ import {
DescriptionListTerm, DescriptionListTerm,
DescriptionListGroup, DescriptionListGroup,
DescriptionListDescription, DescriptionListDescription,
Title, } from '@patternfly/react-core/dist/esm/components/DescriptionList';
} from '@patternfly/react-core'; import { Title } from '@patternfly/react-core/dist/esm/components/Title';
import { WorkspacePodConfigValue } from '~/shared/api/backendApiTypes'; import { WorkspacePodConfigValue } from '~/shared/api/backendApiTypes';
import { formatLabelKey } from '~/shared/utilities/WorkspaceUtils'; import { formatLabelKey } from '~/shared/utilities/WorkspaceUtils';

View File

@ -1,14 +1,13 @@
import React, { useCallback, useMemo, useRef, useState } from 'react'; import React, { useCallback, useMemo, useRef, useState } from 'react';
import { import {
CardTitle, CardTitle,
Gallery,
PageSection,
Toolbar,
ToolbarContent,
Card, Card,
CardHeader, CardHeader,
CardBody, CardBody,
} from '@patternfly/react-core'; } from '@patternfly/react-core/dist/esm/components/Card';
import { Gallery } from '@patternfly/react-core/dist/esm/layouts/Gallery';
import { PageSection } from '@patternfly/react-core/dist/esm/components/Page';
import { Toolbar, ToolbarContent } from '@patternfly/react-core/dist/esm/components/Toolbar';
import Filter, { FilteredColumn, FilterRef } from '~/shared/components/Filter'; import Filter, { FilteredColumn, FilterRef } from '~/shared/components/Filter';
import { WorkspaceImageConfigValue } from '~/shared/api/backendApiTypes'; import { WorkspaceImageConfigValue } from '~/shared/api/backendApiTypes';
import CustomEmptyState from '~/shared/components/CustomEmptyState'; import CustomEmptyState from '~/shared/components/CustomEmptyState';

View File

@ -1,5 +1,6 @@
import React, { useMemo, useState } from 'react'; import React, { useMemo, useState } from 'react';
import { Content, Split, SplitItem } from '@patternfly/react-core'; import { Content } from '@patternfly/react-core/dist/esm/components/Content';
import { Split, SplitItem } from '@patternfly/react-core/dist/esm/layouts/Split';
import { WorkspaceFormImageList } from '~/app/pages/Workspaces/Form/image/WorkspaceFormImageList'; import { WorkspaceFormImageList } from '~/app/pages/Workspaces/Form/image/WorkspaceFormImageList';
import { FilterByLabels } from '~/app/pages/Workspaces/Form/labelFilter/FilterByLabels'; import { FilterByLabels } from '~/app/pages/Workspaces/Form/labelFilter/FilterByLabels';
import { WorkspaceImageConfigValue } from '~/shared/api/backendApiTypes'; import { WorkspaceImageConfigValue } from '~/shared/api/backendApiTypes';

View File

@ -1,5 +1,5 @@
import React from 'react'; import React from 'react';
import { Title } from '@patternfly/react-core'; import { Title } from '@patternfly/react-core/dist/esm/components/Title';
import { WorkspaceKind } from '~/shared/api/backendApiTypes'; import { WorkspaceKind } from '~/shared/api/backendApiTypes';
type WorkspaceFormKindDetailsProps = { type WorkspaceFormKindDetailsProps = {

View File

@ -2,13 +2,12 @@ import React, { useCallback, useMemo, useRef, useState } from 'react';
import { import {
CardBody, CardBody,
CardTitle, CardTitle,
Gallery,
PageSection,
Toolbar,
ToolbarContent,
Card, Card,
CardHeader, CardHeader,
} from '@patternfly/react-core'; } from '@patternfly/react-core/dist/esm/components/Card';
import { Gallery } from '@patternfly/react-core/dist/esm/layouts/Gallery';
import { PageSection } from '@patternfly/react-core/dist/esm/components/Page';
import { Toolbar, ToolbarContent } from '@patternfly/react-core/dist/esm/components/Toolbar';
import { WorkspaceKind } from '~/shared/api/backendApiTypes'; import { WorkspaceKind } from '~/shared/api/backendApiTypes';
import Filter, { FilteredColumn, FilterRef } from '~/shared/components/Filter'; import Filter, { FilteredColumn, FilterRef } from '~/shared/components/Filter';
import CustomEmptyState from '~/shared/components/CustomEmptyState'; import CustomEmptyState from '~/shared/components/CustomEmptyState';

View File

@ -1,5 +1,5 @@
import React from 'react'; import React from 'react';
import { Content } from '@patternfly/react-core'; import { Content } from '@patternfly/react-core/dist/esm/components/Content';
import { WorkspaceKind } from '~/shared/api/backendApiTypes'; import { WorkspaceKind } from '~/shared/api/backendApiTypes';
import useWorkspaceKinds from '~/app/hooks/useWorkspaceKinds'; import useWorkspaceKinds from '~/app/hooks/useWorkspaceKinds';
import { WorkspaceFormKindList } from '~/app/pages/Workspaces/Form/kind/WorkspaceFormKindList'; import { WorkspaceFormKindList } from '~/app/pages/Workspaces/Form/kind/WorkspaceFormKindList';

View File

@ -4,9 +4,9 @@ import {
DescriptionListTerm, DescriptionListTerm,
DescriptionListGroup, DescriptionListGroup,
DescriptionListDescription, DescriptionListDescription,
Title, } from '@patternfly/react-core/dist/esm/components/DescriptionList';
Divider, import { Title } from '@patternfly/react-core/dist/esm/components/Title';
} from '@patternfly/react-core'; import { Divider } from '@patternfly/react-core/dist/esm/components/Divider';
import { WorkspacePodConfigValue } from '~/shared/api/backendApiTypes'; import { WorkspacePodConfigValue } from '~/shared/api/backendApiTypes';
import { formatLabelKey } from '~/shared/utilities/WorkspaceUtils'; import { formatLabelKey } from '~/shared/utilities/WorkspaceUtils';

View File

@ -1,14 +1,13 @@
import React, { useCallback, useMemo, useRef, useState } from 'react'; import React, { useCallback, useMemo, useRef, useState } from 'react';
import { import {
CardTitle, CardTitle,
Gallery,
PageSection,
Toolbar,
ToolbarContent,
Card, Card,
CardHeader, CardHeader,
CardBody, CardBody,
} from '@patternfly/react-core'; } from '@patternfly/react-core/dist/esm/components/Card';
import { Gallery } from '@patternfly/react-core/dist/esm/layouts/Gallery';
import { PageSection } from '@patternfly/react-core/dist/esm/components/Page';
import { Toolbar, ToolbarContent } from '@patternfly/react-core/dist/esm/components/Toolbar';
import { WorkspacePodConfigValue } from '~/shared/api/backendApiTypes'; import { WorkspacePodConfigValue } from '~/shared/api/backendApiTypes';
import Filter, { FilteredColumn, FilterRef } from '~/shared/components/Filter'; import Filter, { FilteredColumn, FilterRef } from '~/shared/components/Filter';
import CustomEmptyState from '~/shared/components/CustomEmptyState'; import CustomEmptyState from '~/shared/components/CustomEmptyState';

View File

@ -1,5 +1,6 @@
import React, { useMemo, useState } from 'react'; import React, { useMemo, useState } from 'react';
import { Content, Split, SplitItem } from '@patternfly/react-core'; import { Content } from '@patternfly/react-core/dist/esm/components/Content';
import { Split, SplitItem } from '@patternfly/react-core/dist/esm/layouts/Split';
import { WorkspaceFormPodConfigList } from '~/app/pages/Workspaces/Form/podConfig/WorkspaceFormPodConfigList'; import { WorkspaceFormPodConfigList } from '~/app/pages/Workspaces/Form/podConfig/WorkspaceFormPodConfigList';
import { FilterByLabels } from '~/app/pages/Workspaces/Form/labelFilter/FilterByLabels'; import { FilterByLabels } from '~/app/pages/Workspaces/Form/labelFilter/FilterByLabels';
import { WorkspacePodConfigValue } from '~/shared/api/backendApiTypes'; import { WorkspacePodConfigValue } from '~/shared/api/backendApiTypes';

View File

@ -1,23 +1,29 @@
import React, { useCallback, useState } from 'react'; import React, { useCallback, useState } from 'react';
import { EllipsisVIcon, PlusCircleIcon } from '@patternfly/react-icons'; import { EllipsisVIcon } from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
import { Table, Thead, Tbody, Tr, Th, Td, TableVariant } from '@patternfly/react-table'; import {
Table,
Thead,
Tbody,
Tr,
Th,
Td,
TableVariant,
} from '@patternfly/react-table/dist/esm/components/Table';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { import {
Button,
Modal, Modal,
ModalVariant,
TextInput,
Dropdown,
DropdownItem,
MenuToggle,
ModalBody, ModalBody,
ModalFooter, ModalFooter,
Form,
FormGroup,
ModalHeader, ModalHeader,
ValidatedOptions, ModalVariant,
HelperText, } from '@patternfly/react-core/dist/esm/components/Modal';
HelperTextItem, import { ValidatedOptions } from '@patternfly/react-core/helpers';
} from '@patternfly/react-core'; import { TextInput } from '@patternfly/react-core/dist/esm/components/TextInput';
import { Dropdown, DropdownItem } from '@patternfly/react-core/dist/esm/components/Dropdown';
import { MenuToggle } from '@patternfly/react-core/dist/esm/components/MenuToggle';
import { Form, FormGroup } from '@patternfly/react-core/dist/esm/components/Form';
import { HelperText, HelperTextItem } from '@patternfly/react-core/dist/esm/components/HelperText';
import { PlusCircleIcon } from '@patternfly/react-icons/dist/esm/icons/plus-circle-icon';
import { WorkspacePodSecretMount } from '~/shared/api/backendApiTypes'; import { WorkspacePodSecretMount } from '~/shared/api/backendApiTypes';
interface WorkspaceFormPropertiesSecretsProps { interface WorkspaceFormPropertiesSecretsProps {

View File

@ -1,15 +1,11 @@
import React, { useMemo, useState } from 'react'; import React, { useMemo, useState } from 'react';
import { import { Checkbox } from '@patternfly/react-core/dist/esm/components/Checkbox';
Checkbox, import { Content } from '@patternfly/react-core/dist/esm/components/Content';
Content, import { Divider } from '@patternfly/react-core/dist/esm/components/Divider';
Divider, import { ExpandableSection } from '@patternfly/react-core/dist/esm/components/ExpandableSection';
ExpandableSection, import { Form, FormGroup } from '@patternfly/react-core/dist/esm/components/Form';
Form, import { Split, SplitItem } from '@patternfly/react-core/dist/esm/layouts/Split';
FormGroup, import { TextInput } from '@patternfly/react-core/dist/esm/components/TextInput';
Split,
SplitItem,
TextInput,
} from '@patternfly/react-core';
import { WorkspaceFormImageDetails } from '~/app/pages/Workspaces/Form/image/WorkspaceFormImageDetails'; import { WorkspaceFormImageDetails } from '~/app/pages/Workspaces/Form/image/WorkspaceFormImageDetails';
import { WorkspaceFormPropertiesVolumes } from '~/app/pages/Workspaces/Form/properties/WorkspaceFormPropertiesVolumes'; import { WorkspaceFormPropertiesVolumes } from '~/app/pages/Workspaces/Form/properties/WorkspaceFormPropertiesVolumes';
import { WorkspaceFormProperties } from '~/app/types'; import { WorkspaceFormProperties } from '~/app/types';

View File

@ -1,21 +1,28 @@
import React, { useCallback, useState } from 'react'; import React, { useCallback, useState } from 'react';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { Dropdown, DropdownItem } from '@patternfly/react-core/dist/esm/components/Dropdown';
import { Form, FormGroup } from '@patternfly/react-core/dist/esm/components/Form';
import { MenuToggle } from '@patternfly/react-core/dist/esm/components/MenuToggle';
import { import {
Button,
Dropdown,
DropdownItem,
Form,
FormGroup,
MenuToggle,
Modal, Modal,
ModalBody, ModalBody,
ModalFooter, ModalFooter,
ModalHeader, ModalHeader,
ModalVariant, ModalVariant,
Switch, } from '@patternfly/react-core/dist/esm/components/Modal';
TextInput, import { Switch } from '@patternfly/react-core/dist/esm/components/Switch';
} from '@patternfly/react-core'; import { TextInput } from '@patternfly/react-core/dist/esm/components/TextInput';
import { EllipsisVIcon, PlusCircleIcon } from '@patternfly/react-icons'; import { EllipsisVIcon } from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
import { Table, TableVariant, Tbody, Td, Th, Thead, Tr } from '@patternfly/react-table'; import {
Table,
TableVariant,
Tbody,
Td,
Th,
Thead,
Tr,
} from '@patternfly/react-table/dist/esm/components/Table';
import { PlusCircleIcon } from '@patternfly/react-icons/dist/esm/icons/plus-circle-icon';
import { WorkspacePodVolumeMount } from '~/shared/api/backendApiTypes'; import { WorkspacePodVolumeMount } from '~/shared/api/backendApiTypes';
interface WorkspaceFormPropertiesVolumesProps { interface WorkspaceFormPropertiesVolumesProps {

View File

@ -4,7 +4,7 @@ import {
DescriptionListTerm, DescriptionListTerm,
DescriptionListGroup, DescriptionListGroup,
DescriptionListDescription, DescriptionListDescription,
} from '@patternfly/react-core'; } from '@patternfly/react-core/dist/esm/components/DescriptionList';
import { Workspace } from '~/shared/api/backendApiTypes'; import { Workspace } from '~/shared/api/backendApiTypes';
import { formatResourceFromWorkspace } from '~/shared/utilities/WorkspaceUtils'; import { formatResourceFromWorkspace } from '~/shared/utilities/WorkspaceUtils';

View File

@ -3,10 +3,12 @@ import {
Dropdown, Dropdown,
DropdownItem, DropdownItem,
DropdownList, DropdownList,
} from '@patternfly/react-core/dist/esm/components/Dropdown';
import {
MenuToggle, MenuToggle,
MenuToggleElement, MenuToggleElement,
MenuToggleAction, MenuToggleAction,
} from '@patternfly/react-core'; } from '@patternfly/react-core/dist/esm/components/MenuToggle';
import { Workspace, WorkspaceState } from '~/shared/api/backendApiTypes'; import { Workspace, WorkspaceState } from '~/shared/api/backendApiTypes';
type WorkspaceConnectActionProps = { type WorkspaceConnectActionProps = {

View File

@ -3,10 +3,9 @@ import {
DescriptionList, DescriptionList,
DescriptionListTerm, DescriptionListTerm,
DescriptionListDescription, DescriptionListDescription,
ListItem,
List,
DescriptionListGroup, DescriptionListGroup,
} from '@patternfly/react-core'; } from '@patternfly/react-core/dist/esm/components/DescriptionList';
import { ListItem, List } from '@patternfly/react-core/dist/esm/components/List';
import { Workspace } from '~/shared/api/backendApiTypes'; import { Workspace } from '~/shared/api/backendApiTypes';
import { extractPackageLabels, formatLabelKey } from '~/shared/utilities/WorkspaceUtils'; import { extractPackageLabels, formatLabelKey } from '~/shared/utilities/WorkspaceUtils';

View File

@ -4,7 +4,7 @@ import {
DescriptionListTerm, DescriptionListTerm,
DescriptionListGroup, DescriptionListGroup,
DescriptionListDescription, DescriptionListDescription,
} from '@patternfly/react-core'; } from '@patternfly/react-core/dist/esm/components/DescriptionList';
import { Workspace } from '~/shared/api/backendApiTypes'; import { Workspace } from '~/shared/api/backendApiTypes';
import { DataVolumesList } from '~/app/pages/Workspaces/DataVolumesList'; import { DataVolumesList } from '~/app/pages/Workspaces/DataVolumesList';

View File

@ -1,5 +1,7 @@
import * as React from 'react'; import * as React from 'react';
import { Content, ContentVariants, PageSection, Stack, StackItem } from '@patternfly/react-core'; import { Content, ContentVariants } from '@patternfly/react-core/dist/esm/components/Content';
import { PageSection } from '@patternfly/react-core/dist/esm/components/Page';
import { Stack, StackItem } from '@patternfly/react-core/dist/esm/layouts/Stack';
import WorkspaceTable from '~/app/components/WorkspaceTable'; import WorkspaceTable from '~/app/components/WorkspaceTable';
import { useNamespaceContext } from '~/app/context/NamespaceContextProvider'; import { useNamespaceContext } from '~/app/context/NamespaceContextProvider';
import { useWorkspacesByNamespace } from '~/app/hooks/useWorkspaces'; import { useWorkspacesByNamespace } from '~/app/hooks/useWorkspaces';

View File

@ -1,10 +1,11 @@
import React, { useEffect, useState } from 'react'; import React, { useEffect, useState } from 'react';
import { ExpandableSection, Icon, Tab, Tabs, TabTitleText, Content } from '@patternfly/react-core'; import { ExpandableSection } from '@patternfly/react-core/dist/esm/components/ExpandableSection';
import { import { Icon } from '@patternfly/react-core/dist/esm/components/Icon';
ExclamationCircleIcon, import { Tab, Tabs, TabTitleText } from '@patternfly/react-core/dist/esm/components/Tabs';
ExclamationTriangleIcon, import { Content } from '@patternfly/react-core/dist/esm/components/Content';
InfoCircleIcon, import { ExclamationCircleIcon } from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
} from '@patternfly/react-icons'; import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/esm/icons/exclamation-triangle-icon';
import { InfoCircleIcon } from '@patternfly/react-icons/dist/esm/icons/info-circle-icon';
import useWorkspaceKindByName from '~/app/hooks/useWorkspaceKindByName'; import useWorkspaceKindByName from '~/app/hooks/useWorkspaceKindByName';
import { WorkspaceKind } from '~/shared/api/backendApiTypes'; import { WorkspaceKind } from '~/shared/api/backendApiTypes';

View File

@ -1,13 +1,13 @@
import React from 'react'; import React from 'react';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { Content } from '@patternfly/react-core/dist/esm/components/Content';
import { import {
Button,
Content,
Modal, Modal,
ModalBody, ModalBody,
ModalFooter, ModalFooter,
ModalHeader, ModalHeader,
TabTitleText, } from '@patternfly/react-core/dist/esm/components/Modal';
} from '@patternfly/react-core'; import { TabTitleText } from '@patternfly/react-core/dist/esm/components/Tabs';
import { Workspace } from '~/shared/api/backendApiTypes'; import { Workspace } from '~/shared/api/backendApiTypes';
import { WorkspaceRedirectInformationView } from '~/app/pages/Workspaces/workspaceActions/WorkspaceRedirectInformationView'; import { WorkspaceRedirectInformationView } from '~/app/pages/Workspaces/workspaceActions/WorkspaceRedirectInformationView';

View File

@ -1,12 +1,12 @@
import React, { useCallback, useState } from 'react'; import React, { useCallback, useState } from 'react';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { import {
Button,
Modal, Modal,
ModalBody, ModalBody,
ModalFooter, ModalFooter,
ModalHeader, ModalHeader,
TabTitleText, } from '@patternfly/react-core/dist/esm/components/Modal';
} from '@patternfly/react-core'; import { TabTitleText } from '@patternfly/react-core/dist/esm/components/Tabs';
import { WorkspaceRedirectInformationView } from '~/app/pages/Workspaces/workspaceActions/WorkspaceRedirectInformationView'; import { WorkspaceRedirectInformationView } from '~/app/pages/Workspaces/workspaceActions/WorkspaceRedirectInformationView';
import { Workspace, WorkspacePauseState } from '~/shared/api/backendApiTypes'; import { Workspace, WorkspacePauseState } from '~/shared/api/backendApiTypes';
import { ActionButton } from '~/shared/components/ActionButton'; import { ActionButton } from '~/shared/components/ActionButton';

View File

@ -1,13 +1,13 @@
import React, { useCallback, useState } from 'react'; import React, { useCallback, useState } from 'react';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { Content } from '@patternfly/react-core/dist/esm/components/Content';
import { import {
Button,
Content,
Modal, Modal,
ModalBody, ModalBody,
ModalFooter, ModalFooter,
ModalHeader, ModalHeader,
TabTitleText, } from '@patternfly/react-core/dist/esm/components/Modal';
} from '@patternfly/react-core'; import { TabTitleText } from '@patternfly/react-core/dist/esm/components/Tabs';
import { WorkspaceRedirectInformationView } from '~/app/pages/Workspaces/workspaceActions/WorkspaceRedirectInformationView'; import { WorkspaceRedirectInformationView } from '~/app/pages/Workspaces/workspaceActions/WorkspaceRedirectInformationView';
import { Workspace, WorkspacePauseState } from '~/shared/api/backendApiTypes'; import { Workspace, WorkspacePauseState } from '~/shared/api/backendApiTypes';
import { ActionButton } from '~/shared/components/ActionButton'; import { ActionButton } from '~/shared/components/ActionButton';

View File

@ -1,12 +1,12 @@
import React from 'react'; import React from 'react';
import { ExclamationTriangleIcon } from '@patternfly/react-icons'; import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/esm/icons/exclamation-triangle-icon';
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { import {
Button,
EmptyState, EmptyState,
EmptyStateBody, EmptyStateBody,
EmptyStateFooter, EmptyStateFooter,
PageSection, } from '@patternfly/react-core/dist/esm/components/EmptyState';
} from '@patternfly/react-core'; import { PageSection } from '@patternfly/react-core/dist/esm/components/Page';
import { useTypedNavigate } from '~/app/routerHelper'; import { useTypedNavigate } from '~/app/routerHelper';
const NotFound: React.FunctionComponent = () => { const NotFound: React.FunctionComponent = () => {

View File

@ -1,5 +1,5 @@
import React, { useCallback, useState } from 'react'; import React, { useCallback, useState } from 'react';
import { Button } from '@patternfly/react-core'; import { Button } from '@patternfly/react-core/dist/esm/components/Button';
type ActionButtonProps = { type ActionButtonProps = {
action: string; action: string;

View File

@ -4,9 +4,9 @@ import {
EmptyStateBody, EmptyStateBody,
EmptyStateFooter, EmptyStateFooter,
EmptyStateActions, EmptyStateActions,
Button, } from '@patternfly/react-core/dist/esm/components/EmptyState';
} from '@patternfly/react-core'; import { Button } from '@patternfly/react-core/dist/esm/components/Button';
import { SearchIcon } from '@patternfly/react-icons'; import { SearchIcon } from '@patternfly/react-icons/dist/esm/icons/search-icon';
interface CustomEmptyStateProps { interface CustomEmptyStateProps {
onClearFilters: () => void; onClearFilters: () => void;

View File

@ -5,14 +5,12 @@ import {
ModalFooter, ModalFooter,
ModalHeader, ModalHeader,
ModalVariant, ModalVariant,
Button, } from '@patternfly/react-core/dist/esm/components/Modal';
TextInput, import { Button } from '@patternfly/react-core/dist/esm/components/Button';
Stack, import { TextInput } from '@patternfly/react-core/dist/esm/components/TextInput';
StackItem, import { Stack, StackItem } from '@patternfly/react-core/dist/esm/layouts/Stack';
FlexItem, import { FlexItem } from '@patternfly/react-core/dist/esm/layouts/Flex';
HelperText, import { HelperText, HelperTextItem } from '@patternfly/react-core/dist/esm/components/HelperText';
HelperTextItem,
} from '@patternfly/react-core';
import { default as ExclamationCircleIcon } from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon'; import { default as ExclamationCircleIcon } from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
import { ActionButton } from '~/shared/components/ActionButton'; import { ActionButton } from '~/shared/components/ActionButton';

View File

@ -11,17 +11,21 @@ import {
MenuContent, MenuContent,
MenuItem, MenuItem,
MenuList, MenuList,
} from '@patternfly/react-core/dist/esm/components/Menu';
import {
MenuToggle, MenuToggle,
MenuToggleElement, MenuToggleElement,
Popper, } from '@patternfly/react-core/dist/esm/components/MenuToggle';
import { Popper } from '@patternfly/react-core/helpers';
import {
Toolbar, Toolbar,
ToolbarContent, ToolbarContent,
ToolbarFilter,
ToolbarGroup, ToolbarGroup,
ToolbarItem, ToolbarItem,
ToolbarFilter,
ToolbarToggleGroup, ToolbarToggleGroup,
} from '@patternfly/react-core'; } from '@patternfly/react-core/dist/esm/components/Toolbar';
import { FilterIcon } from '@patternfly/react-icons'; import { FilterIcon } from '@patternfly/react-icons/dist/esm/icons/filter-icon';
import ThemeAwareSearchInput from '~/app/components/ThemeAwareSearchInput'; import ThemeAwareSearchInput from '~/app/components/ThemeAwareSearchInput';
export interface FilterProps { export interface FilterProps {

View File

@ -1,6 +1,8 @@
import React from 'react'; import React from 'react';
import { ExclamationCircleIcon } from '@patternfly/react-icons'; import { ExclamationCircleIcon } from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
import { Content, ContentVariants, Flex, FlexItem, Tooltip } from '@patternfly/react-core'; import { Content, ContentVariants } from '@patternfly/react-core/dist/esm/components/Content';
import { Flex, FlexItem } from '@patternfly/react-core/dist/esm/layouts/Flex';
import { Tooltip } from '@patternfly/react-core/dist/esm/components/Tooltip';
type ImageFallbackProps = { type ImageFallbackProps = {
extended?: boolean; extended?: boolean;

View File

@ -2,18 +2,15 @@ import React, { FC, useEffect, useMemo, useState } from 'react';
import { import {
Dropdown, Dropdown,
DropdownItem, DropdownItem,
MenuToggle,
DropdownList, DropdownList,
DropdownProps, DropdownProps,
MenuSearch, } from '@patternfly/react-core/dist/esm/components/Dropdown';
MenuSearchInput, import { MenuToggle } from '@patternfly/react-core/dist/esm/components/MenuToggle';
InputGroup, import { MenuSearch, MenuSearchInput } from '@patternfly/react-core/dist/esm/components/Menu';
InputGroupItem, import { InputGroup, InputGroupItem } from '@patternfly/react-core/dist/esm/components/InputGroup';
SearchInput, import { SearchInput } from '@patternfly/react-core/dist/esm/components/SearchInput';
Button, import { Button, ButtonVariant } from '@patternfly/react-core/dist/esm/components/Button';
ButtonVariant, import { Divider } from '@patternfly/react-core/dist/esm/components/Divider';
Divider,
} from '@patternfly/react-core';
import { SearchIcon } from '@patternfly/react-icons/dist/esm/icons/search-icon'; import { SearchIcon } from '@patternfly/react-icons/dist/esm/icons/search-icon';
import { useNamespaceContext } from '~/app/context/NamespaceContextProvider'; import { useNamespaceContext } from '~/app/context/NamespaceContextProvider';

View File

@ -1,5 +1,5 @@
import React, { useEffect, useState } from 'react'; import React, { useEffect, useState } from 'react';
import { Skeleton, SkeletonProps } from '@patternfly/react-core'; import { Skeleton, SkeletonProps } from '@patternfly/react-core/dist/esm/components/Skeleton';
type WithValidImageProps = { type WithValidImageProps = {
imageSrc: string | undefined | null; imageSrc: string | undefined | null;