diff --git a/src/app.tsx b/src/app.tsx
index 63f7cf8b..27982742 100644
--- a/src/app.tsx
+++ b/src/app.tsx
@@ -17,16 +17,17 @@
* along with Cockpit; If not, see .
*/
-import cockpit from "cockpit";
-import { superuser } from "superuser";
import React, { useContext, useEffect, useMemo, useState } from "react";
+
+import { Page, PageSection } from "@patternfly/react-core/dist/esm/components/Page";
+import { Sidebar, SidebarPanel, SidebarContent } from "@patternfly/react-core/dist/esm/components/Sidebar";
import {
- Page, PageSection,
- Sidebar, SidebarPanel, SidebarContent,
AlertGroup, Alert, AlertVariant, AlertActionCloseButton
-} from "@patternfly/react-core";
+} from "@patternfly/react-core/dist/esm/components/Alert";
import { ExclamationCircleIcon } from "@patternfly/react-icons";
+import cockpit from "cockpit";
+import { superuser } from "superuser";
import { WithDialogs } from "dialogs.jsx";
import { EmptyStatePanel } from "cockpit-components-empty-state.jsx";
import { FilesBreadcrumbs } from "./files-breadcrumbs";
diff --git a/src/dialogs/mkdir.tsx b/src/dialogs/mkdir.tsx
index 4e4e69c6..48640a86 100644
--- a/src/dialogs/mkdir.tsx
+++ b/src/dialogs/mkdir.tsx
@@ -1,11 +1,11 @@
import React, { useState } from 'react';
-import {
- Button,
- Form, FormGroup,
- FormSelect, FormSelectOption,
- Modal, ModalVariant,
- Stack, TextInput,
-} from '@patternfly/react-core';
+
+import { Button } from "@patternfly/react-core/dist/esm/components/Button";
+import { Form, FormGroup } from "@patternfly/react-core/dist/esm/components/Form";
+import { FormSelect, FormSelectOption } from "@patternfly/react-core/dist/esm/components/FormSelect";
+import { Modal, ModalVariant } from "@patternfly/react-core/dist/esm/components/Modal";
+import { Stack } from "@patternfly/react-core/dist/esm/layouts/Stack";
+import { TextInput } from "@patternfly/react-core/dist/esm/components/TextInput";
import cockpit from 'cockpit';
import { useDialogs } from 'dialogs';
diff --git a/src/fileActions.jsx b/src/fileActions.jsx
index 31fbdd4f..3e2ed550 100644
--- a/src/fileActions.jsx
+++ b/src/fileActions.jsx
@@ -17,19 +17,15 @@
* along with Cockpit; If not, see .
*/
-import cockpit from "cockpit";
import React, { useState } from "react";
-import {
- Button,
- Form, FormGroup,
- FormSection,
- FormSelect,
- FormSelectOption,
- Modal, ModalVariant,
- Stack,
- TextInput,
-} from "@patternfly/react-core";
+import { Button } from "@patternfly/react-core/dist/esm/components/Button";
+import { Form, FormGroup, FormSection } from "@patternfly/react-core/dist/esm/components/Form";
+import { FormSelect, FormSelectOption } from "@patternfly/react-core/dist/esm/components/FormSelect";
+import { Modal, ModalVariant } from "@patternfly/react-core/dist/esm/components/Modal";
+import { Stack } from "@patternfly/react-core/dist/esm/layouts/Stack";
+import { TextInput } from "@patternfly/react-core/dist/esm/components/TextInput";
+import cockpit from "cockpit";
import { useDialogs } from "dialogs.jsx";
import { InlineNotification } from "cockpit-components-inline-notification";
import { FormHelper } from 'cockpit-components-form-helper.jsx';
diff --git a/src/files-breadcrumbs.tsx b/src/files-breadcrumbs.tsx
index 440866cc..dfa1fe89 100644
--- a/src/files-breadcrumbs.tsx
+++ b/src/files-breadcrumbs.tsx
@@ -16,11 +16,15 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Cockpit; If not, see .
*/
-import cockpit from "cockpit";
import React from "react";
+
import { CheckIcon, HddIcon, PencilAltIcon, TimesIcon } from "@patternfly/react-icons";
+import { Button } from "@patternfly/react-core/dist/esm/components/Button";
+import { Flex, FlexItem } from "@patternfly/react-core/dist/esm/layouts/Flex";
+import { PageBreadcrumb } from "@patternfly/react-core/dist/esm/components/Page";
+import { TextInput } from "@patternfly/react-core/dist/esm/components/TextInput";
-import { Button, Flex, FlexItem, PageBreadcrumb, TextInput } from "@patternfly/react-core";
+import cockpit from "cockpit";
import { SettingsDropdown } from "./settings-dropdown.jsx";
diff --git a/src/files-card-body.jsx b/src/files-card-body.jsx
index ce0146c7..03cc5cfc 100644
--- a/src/files-card-body.jsx
+++ b/src/files-card-body.jsx
@@ -18,13 +18,10 @@
*/
import React, { useCallback, useEffect, useMemo, useState, useRef } from "react";
-import {
- Flex,
- Spinner,
- MenuItem,
- MenuList,
- Divider,
-} from "@patternfly/react-core";
+import { Divider } from "@patternfly/react-core/dist/esm/components/Divider";
+import { Flex } from "@patternfly/react-core/dist/esm/layouts/Flex";
+import { Spinner } from "@patternfly/react-core/dist/esm/components/Spinner";
+import { MenuItem, MenuList } from "@patternfly/react-core/dist/esm/components/Menu";
import { Table, Thead, Tr, Th, Tbody, Td } from '@patternfly/react-table';
import cockpit from "cockpit";
diff --git a/src/files-folder-view.tsx b/src/files-folder-view.tsx
index 507dff57..e95ab01f 100644
--- a/src/files-folder-view.tsx
+++ b/src/files-folder-view.tsx
@@ -18,7 +18,8 @@
*/
import React, { useState } from "react";
-import { Card } from "@patternfly/react-core";
+
+import { Card } from '@patternfly/react-core/dist/esm/components/Card';
import { FolderFileInfo } from "./app";
import { FilesCardBody } from "./files-card-body.jsx";
diff --git a/src/header.tsx b/src/header.tsx
index af4f0691..bae91f14 100644
--- a/src/header.tsx
+++ b/src/header.tsx
@@ -20,21 +20,13 @@
import cockpit from "cockpit";
import React, { useState } from "react";
-import {
- CardHeader,
- CardTitle,
- Divider,
- Flex,
- MenuToggle,
- MenuToggleAction,
- SearchInput,
- Select,
- SelectList,
- SelectOption,
- Text,
- TextContent,
- TextVariants
-} from "@patternfly/react-core";
+import { CardHeader, CardTitle } from "@patternfly/react-core/dist/esm/components/Card";
+import { Divider } from "@patternfly/react-core/dist/esm/components/Divider";
+import { Flex } from "@patternfly/react-core/dist/esm/layouts/Flex";
+import { MenuToggle, MenuToggleAction } from "@patternfly/react-core/dist/esm/components/MenuToggle";
+import { SearchInput } from "@patternfly/react-core/dist/esm/components/SearchInput";
+import { Select, SelectList, SelectOption } from "@patternfly/react-core/dist/esm/components/Select";
+import { Text, TextContent, TextVariants } from "@patternfly/react-core/dist/esm/components/Text";
import { SortByDirection } from '@patternfly/react-table';
import { GripVerticalIcon, ListIcon } from "@patternfly/react-icons";
diff --git a/src/settings-dropdown.jsx b/src/settings-dropdown.jsx
index 456c6583..cc6b2aae 100644
--- a/src/settings-dropdown.jsx
+++ b/src/settings-dropdown.jsx
@@ -16,20 +16,14 @@
* You should have received a copy of the GNU Lesser General Public License
* along with Cockpit; If not, see .
*/
-import cockpit from "cockpit";
import React, { useState } from "react";
import { CheckIcon, EllipsisVIcon } from "@patternfly/react-icons";
+import { Dropdown, DropdownItem, DropdownList } from "@patternfly/react-core/dist/esm/components/Dropdown";
+import { Flex, FlexItem } from "@patternfly/react-core/dist/esm/layouts/Flex";
+import { Icon } from "@patternfly/react-core/dist/esm/components/Icon";
+import { MenuToggle } from "@patternfly/react-core/dist/esm/components/MenuToggle";
-import {
- Dropdown,
- DropdownItem,
- DropdownList,
- Flex,
- FlexItem,
- Icon,
- MenuToggle
-} from "@patternfly/react-core";
-
+import cockpit from "cockpit";
const _ = cockpit.gettext;
export const SettingsDropdown = ({ showHidden, setShowHidden }) => {
diff --git a/src/sidebar.jsx b/src/sidebar.jsx
index 1fa2ad5a..326d7951 100644
--- a/src/sidebar.jsx
+++ b/src/sidebar.jsx
@@ -17,27 +17,21 @@
* along with Cockpit; If not, see .
*/
-import cockpit from "cockpit";
-
import React, { useState, useEffect } from "react";
+import { Button } from "@patternfly/react-core/dist/esm/components/Button";
+import { Card, CardBody, CardHeader, CardTitle } from "@patternfly/react-core/dist/esm/components/Card";
import {
- Button,
- Card,
- CardBody,
- CardHeader,
- CardTitle,
DescriptionList,
DescriptionListDescription,
DescriptionListGroup,
- DescriptionListTerm,
- Divider,
- DropdownItem,
- Text,
- TextContent,
- TextVariants,
-} from "@patternfly/react-core";
+ DescriptionListTerm
+} from "@patternfly/react-core/dist/esm/components/DescriptionList";
+import { Divider } from "@patternfly/react-core/dist/esm/components/Divider";
+import { DropdownItem } from "@patternfly/react-core/dist/esm/components/Dropdown";
+import { Text, TextContent, TextVariants } from "@patternfly/react-core/dist/esm/components/Text";
+import cockpit from "cockpit";
import * as timeformat from "timeformat";
import { useDialogs } from "dialogs.jsx";
import { KebabDropdown } from "cockpit-components-dropdown";
diff --git a/src/upload-button.tsx b/src/upload-button.tsx
index fba5b4cc..86e544af 100644
--- a/src/upload-button.tsx
+++ b/src/upload-button.tsx
@@ -17,24 +17,19 @@
* along with Cockpit; If not, see .
*/
-import cockpit from "cockpit";
import React, { useState, useRef } from "react";
-import {
- AlertVariant,
- Button,
- Checkbox,
- Divider,
- Modal,
- ModalVariant,
- Popover,
- PopoverPosition,
- Progress,
- Flex,
- FlexItem,
-} from "@patternfly/react-core";
+import { AlertVariant } from "@patternfly/react-core/dist/esm/components/Alert";
+import { Button } from "@patternfly/react-core/dist/esm/components/Button";
+import { Checkbox } from "@patternfly/react-core/dist/esm/components/Checkbox";
+import { Divider } from "@patternfly/react-core/dist/esm/components/Divider";
+import { Flex, FlexItem } from "@patternfly/react-core/dist/esm/layouts/Flex";
+import { Modal, ModalVariant } from "@patternfly/react-core/dist/esm/components/Modal";
+import { Popover, PopoverPosition } from "@patternfly/react-core/dist/esm/components/Popover";
+import { Progress } from "@patternfly/react-core/dist/esm/components/Progress";
import { TrashIcon } from "@patternfly/react-icons";
+import cockpit from "cockpit";
import { upload } from "cockpit-upload-helper";
import { fmt_to_fragments } from "utils.jsx";
import { useDialogs } from "dialogs.jsx";